X-Git-Url: http://git.roojs.org/?p=roojs1;a=blobdiff_plain;f=Roo%2FTemplate.js;h=4f8e30281afe8a961bae09bb01001ee20415f749;hp=b415e80e55e36d60046be21b52104a7911999f63;hb=0b69a11b1055a6d3a3fd0719bdd58b5a235de0e4;hpb=376df4906bc88a5bc987be0e17ae624bd63b2dac diff --git a/Roo/Template.js b/Roo/Template.js index b415e80e55..4f8e30281a 100644 --- a/Roo/Template.js +++ b/Roo/Template.js @@ -25,7 +25,9 @@ var t = new Roo.Template({ }); t.append('some-element', {id: 'myid', cls: 'myclass', name: 'foo', value: 'bar'}); -* For more information see this blog post with examples: DomHelper - Create Elements using DOM, HTML fragments and Templates. +* For more information see this blog post with examples: +* DomHelper + - Create Elements using DOM, HTML fragments and Templates. * @constructor * @param {Object} cfg - Configuration object. */ @@ -44,13 +46,16 @@ Roo.Template = function(cfg){ // bc this.html = cfg; } - + if (this.url) { + this.load(); + } }; Roo.Template.prototype = { /** - * @cfg {String} url The Url to load the template from. + * @cfg {String} url The Url to load the template from. beware if you are loading from a url, the data may not be ready if you use it instantly.. + * it should be fixed so that template is observable... */ url : false, /** @@ -63,13 +68,9 @@ Roo.Template.prototype = { * @return {String} The HTML fragment */ applyTemplate : function(values){ + //Roo.log(["applyTemplate", values]); try { - _t= this; - if (this.url) { - this.afterLoad = function () { _t.applyTemplate(values); }; - this.load(); - return; - } + if(this.compiled){ return this.compiled(values); } @@ -108,19 +109,18 @@ Roo.Template.prototype = { }, loading : false, - - afterLoad : false, - + load : function () { if (this.loading) { return; } + var _t = this; this.loading = true; this.compiled = false; - var _t = this; + var cx = new Roo.data.Connection(); cx.request({ url : this.url, @@ -128,10 +128,11 @@ Roo.Template.prototype = { success : function (response) { _t.loading = false; _t.html = response.responseText; - _t.afterLoad && _t.afterLoad(); - }, + _t.url = false; + _t.compile(); + }, failure : function(response) { - Roo.log("Template failed to load from " + url); + Roo.log("Template failed to load from " + _t.url); _t.loading = false; } });