X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=resources%2Froo.builder.js;h=784617187096f9495d6e212e296877b331633636;hb=6c76210cc5db515e551aa856798376ee5c38b91c;hp=2f4ef8baf254cb0e8a252881294c82a029ddc62f;hpb=78d8ad50dd683b02d4542f17b788f82fd665c763;p=app.Builder.js
diff --git a/resources/roo.builder.js b/resources/roo.builder.js
index 2f4ef8baf..784617187 100644
--- a/resources/roo.builder.js
+++ b/resources/roo.builder.js
@@ -4,11 +4,6 @@
// IPC: - via alert("IPC:{method}:{data}
-Roo.XComponent.on("buildcomplete", function() {
-
- Builder.saveHTML.defer(100, Builder);
-} );
-
var MODULE = { isBuilder : true };
// BC
var _this = MODULE;
@@ -40,12 +35,12 @@ Builder = {
traverseDOMTree : function(cb, currentElement, depth) {
- if (!currentElement) {
+ if (!currentElement ) {
return;
}
- console.log(currentElement);
- if (currentElement.className.match(/roo-dynamic/)) {
+ //console.log(currentElement);
+ if (currentElement.className && currentElement.className.match(/roo-dynamic/)) {
return;
}
@@ -59,6 +54,9 @@ Builder = {
return;
}
+ if (nodeName.match(/^#/)) { // comments?
+ return;
+ }
@@ -67,8 +65,13 @@ Builder = {
return;
}
if (nodeName != 'BODY') {
-
-
+ //Roo.log(currentElement);
+ if (currentElement.hasAttribute('flexy:include')) {
+
+
+ cb( '');
+ return;
+ }
var i = 0;
// Prints the node tagName, such as , , etc
@@ -95,9 +98,7 @@ Builder = {
} else {
tagName = false;
}
- if (currentElement.hasAttribute('flexy:include')) {
- cb( tagName ? ""+tagName+">" : '');
- }
+
// Traverse the tree
i = 0;
@@ -283,7 +284,7 @@ Builder = {
}
id = ''+ id;
var bid = id.length ? 'builder-' + id : '';
- console.log('{ "hover-node" : "' + bid + '"}');
+ //console.log('{ "hover-node" : "' + bid + '"}');
this.lastID = id;
},
clearBootstrap : function()
@@ -313,6 +314,9 @@ Builder = {
applyFlexy: function(tree)
{
+ if (!tree.el) {
+ return;
+ }
if (typeof(tree['flexy:foreach']) != 'undefined') {
//Roo.log("add flexy:foreach");
tree.el.attr('flexy:foreach', tree['flexy:foreach']);
@@ -331,11 +335,27 @@ Builder = {
tree.el.attr('flexy:include', tree['flexy:include']);
}
- if (!tree.items || !tree.items.length) { return; }
+ if (typeof(tree['flexy:ignore']) != 'undefined') {
+ //Roo.log("add flexy:if");
+ tree.el.attr('flexy:ignore', tree['flexy:ignore']);
+ }
+
+ tree.el.attr('xtype', tree['|xns'] + '.' + tree['xtype']);
+ //Roo.log(tree);
+ //Roo.log("Add xtype")
+
- for (var i = 0; i < tree.items.length; i++){
- this.applyFlexy(tree.items[i]);
+
+ if (tree.items && tree.items.length > 0) {
+ //Roo.log(tree);
+ for (var i = 0; i < tree.items.length; i++){
+ this.applyFlexy(tree.items[i]);
+ }
+ }
+ if (typeof(tree.menu) == 'object') {
+ this.applyFlexy(tree.menu);
}
+
}
@@ -346,4 +366,6 @@ Roo.XComponent.on('buildcomplete', function() {
Roo.log("xcomponent built!");
var m = Roo.XComponent.modules;
Builder.applyFlexy(m[m.length-1].el);
+
+ Builder.saveHTML.defer(100, Builder);
});
\ No newline at end of file