X-Git-Url: http://git.roojs.org/?p=app.Builder.js;a=blobdiff_plain;f=resources%2Froo.builder.js;h=a53f114afc92243b84185d2071d73cab282743a8;hp=a8c4f753d9907666c984612baaebef480012ef12;hb=HEAD;hpb=01b1c8c736b95e51e010809e97e1ff16968223c3 diff --git a/resources/roo.builder.js b/resources/roo.builder.js index a8c4f753d..a53f114af 100644 --- a/resources/roo.builder.js +++ b/resources/roo.builder.js @@ -78,15 +78,17 @@ Builder = { if (tagName) { var attr = []; for(i = 0; i < currentElement.attributes.length;i++) { - var aname = currentElement.attributes.item(i).name; - if (aname=='id') { + var attre = currentElement.attributes.item(i); + var aname = attre.name; + var aval = attre.value || ''; + if (aname=='id' && aval.match(/^roo\-/)) { // only roo -elements hide.. aname= 'xbuilderid'; } - // skip - if (currentElement.attributes.item(i).value == 'builderel') { + // skip -- component created by the builder? + if (aval == 'builderel') { return; } - attr.push(aname + '="' + currentElement.attributes.item(i).value + '"' ); + attr.push(aname + '="' + aval + '"' ); //?? escaping attributes? } @@ -314,6 +316,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']); @@ -337,18 +342,22 @@ Builder = { tree.el.attr('flexy:ignore', tree['flexy:ignore']); } - //Roo.log("Add xtype") tree.el.attr('xtype', tree['|xns'] + '.' + tree['xtype']); - if (!tree.items || !tree.items.length) { return; } //Roo.log(tree); - for (var i = 0; i < tree.items.length; i++){ - this.applyFlexy(tree.items[i]); + //Roo.log("Add xtype") + + + + 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) != 'undefined') { + if (typeof(tree.menu) == 'object') { this.applyFlexy(tree.menu); } - }