sync
[app.Builder.js] / resources / roo.builder.js
index aca0521..7206398 100644 (file)
@@ -4,8 +4,6 @@
 // IPC: - via alert("IPC:{method}:{data}
 
 
-Roo.XComponent.on("buildcomplete", Builder.saveHTML);
-
 var MODULE = { isBuilder : true };
 // BC
 var _this = MODULE;
@@ -41,7 +39,7 @@ Builder  = {
                 
                 return;
             }
-           console.log(currentElement);
+            console.log(currentElement);
             if (currentElement.className.match(/roo-dynamic/)) {
                 return;
             }
@@ -92,6 +90,10 @@ Builder  = {
             } else {
                 tagName = false;
             }
+            if (currentElement.hasAttribute('flexy:include')) {
+                cb( tagName ? "</"+tagName+">" : '');
+            }
+            
             // Traverse the tree
             i = 0;
             var currentElementChild = currentElement.childNodes.item(i);
@@ -319,7 +321,12 @@ Builder  = {
             tree.el.attr('xtype', tree['xtype-bootstrap']);
         }
         
+        if (typeof(tree['flexy:include']) != 'undefined') {
+            //Roo.log("add flexy:if");
+            tree.el.attr('flexy:include', tree['flexy:include']);
+        }
         
+        tree.el.attr('xtype', tree['|xns'] + '.' +  tree['xtype']);
         if (!tree.items || !tree.items.length) { return; }
         
         for (var i = 0; i < tree.items.length; i++){
@@ -333,6 +340,8 @@ Builder  = {
 Roo.onReady(function() { Builder.clearBootstrap(); });
 Roo.XComponent.on('buildcomplete', function() {
     Roo.log("xcomponent built!");
+    var m = Roo.XComponent.modules;
+    Builder.applyFlexy(m[m.length-1].el);
     
-    Builder.applyFlexy(Roo.XComponent.modules[0].el);
+       Builder.saveHTML.defer(100, Builder);
 });
\ No newline at end of file