X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FDomTemplate.js;h=3ffe06071494d9b7b4b7d78fc4e2adccc61c2b14;hb=dc5d9380aff25134bf025953bdafe40b580337ff;hp=5fcef7de878e2d47a7c738594e08e216e3b308b4;hpb=96bd11d2745c7e4b6f399856d2bc0e6f37d2f7aa;p=roojs1 diff --git a/Roo/DomTemplate.js b/Roo/DomTemplate.js index 5fcef7de87..3ffe060714 100644 --- a/Roo/DomTemplate.js +++ b/Roo/DomTemplate.js @@ -38,9 +38,9 @@ Roo.DomTemplate = function() { Roo.DomTemplate.superclass.constructor.apply(this, arguments); - if (this.html) { + if (this.html) { this.compile(); - } + } }; @@ -71,7 +71,7 @@ Roo.extend(Roo.DomTemplate, Roo.Template, { * x.t:(test,tesT) * */ - re : /(\{|\%7B)([\w-\.]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\}|\%7D)/g, + re : /(\{|\%7B)([\w-\.]+)(?:\:([\w\.]*)(?:\(([^)]*?)?\))?)?(\}|\%7D)/g, //re : /\{([\w-\.]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g, iterChild : function (node, method) { @@ -99,9 +99,21 @@ Roo.extend(Roo.DomTemplate, Roo.Template, { var s = this.html; // covert the html into DOM... + var doc = false; + var div =false; + try { + doc = document.implementation.createHTMLDocument(""); + doc.documentElement.innerHTML = this.html ; + div = doc.documentElement; + } catch (e) { + // old IE... - nasty -- it causes all sorts of issues.. with + // images getting pulled from server.. + div = document.createElement('div'); + div.innerHTML = this.html; + } + //doc.documentElement.innerHTML = htmlBody + - var div = document.createElement('div'); - div.innerHTML = this.html ; this.tpls = []; var _t = this; @@ -321,7 +333,7 @@ Roo.extend(Roo.DomTemplate, Roo.Template, { return "'"+ sep + udef_st + format + name + args + "))"+sep+"'"; } - if (args.length) { + if (args && args.length) { // called with xxyx.yuu:(test,test) // change to () return "'"+ sep + udef_st + name + '(' + args + "))"+sep+"'"; @@ -344,7 +356,6 @@ Roo.extend(Roo.DomTemplate, Roo.Template, { body = body.join(''); } - Roo.debug && Roo.log(body.replace(/\\n/,'\n')); /** eval:var:tpl eval:var:fm eval:var:useF eval:var:undef */ @@ -373,7 +384,7 @@ Roo.extend(Roo.DomTemplate, Roo.Template, { try { if(t.ifCall && !t.ifCall.call(this, values, parent)){ - Roo.log('if call on ' + t.value + ' return false'); + Roo.debug && Roo.log('if call on ' + t.value + ' return false'); return ''; } } catch(e) {