try and get ctrl-enter to add a clear all
[roojs1] / Roo / DomTemplate.js
index fc944ee..3ffe060 100644 (file)
@@ -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;
@@ -111,7 +123,7 @@ Roo.extend(Roo.DomTemplate, Roo.Template, {
         
         // create a top level template from the snippet..
         
-        Roo.log(div.innerHTML);
+        //Roo.log(div.innerHTML);
         
         var tpl = {
             uid : 'master',
@@ -265,10 +277,13 @@ Roo.extend(Roo.DomTemplate, Roo.Template, {
         var sep = Roo.isGecko ? "+\n" : ",\n";
         
         var undef = function(str) {
-            Roo.log("Property not found :"  + str);
+            Roo.debug && Roo.log("Property not found :"  + str);
             return '';
         };
           
+        //Roo.log(tpl.body);
+        
+        
         
         var fn = function(m, lbrace, name, format, args)
         {
@@ -318,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+"'";
@@ -369,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) {
@@ -435,7 +450,7 @@ Roo.extend(Roo.DomTemplate, Roo.Template, {
 
  });
 
-Roo.XTemplate.from = function(el){
+Roo.DomTemplate.from = function(el){
     el = Roo.getDom(el);
-    return new Roo.XTemplate(el.value || el.innerHTML);
+    return new Roo.Domtemplate(el.value || el.innerHTML);
 };
\ No newline at end of file