Roo/Template.js
[roojs1] / Roo / Template.js
index 73f962b..bbf3ce1 100644 (file)
@@ -49,6 +49,10 @@ Roo.Template = function(cfg){
 };
 Roo.Template.prototype = {
     
+    /**
+     * @cfg {String} url  The Url to load the template from.
+     */
+    url : false,
     /**
      * @cfg {String} html  The HTML fragment or an array of fragments to join("") or multiple arguments to join("")
      */
@@ -60,7 +64,12 @@ Roo.Template.prototype = {
      */
     applyTemplate : function(values){
         try {
-            
+            _t= this;
+            if (this.url) {
+                this.afterLoad = function () { _t.applyTemplate(values); };
+                this.load();
+                return;
+            }
             if(this.compiled){
                 return this.compiled(values);
             }
@@ -100,17 +109,31 @@ Roo.Template.prototype = {
     
     loading : false,
     
-    load : function (url, success)
+    afterLoad : false,
+    
+    load : function ()
     {
+         
         if (this.loading) {
             return;
         }
-        var cx = new Roo.data.Connection({
-            url : url,
+        var _t = this;
+        
+        this.loading = true;
+        this.compiled = false;
+        
+        var cx = new Roo.data.Connection();
+        cx.request({
+            url : this.url,
             method : 'GET',
-            success : success,
-            failure : function() {
-                Roo.log("Template failed to load from " + url);  
+            success : function (response) {
+                _t.loading = false;
+                _t.html = response.responseText;
+                _t.afterLoad && _t.afterLoad();
+            },
+            failure : function(response) {
+                Roo.log("Template failed to load from " + url);
+                _t.loading = false;
             }
         });
     },