1
2
3
4
5
6
7
8
9
10
11
| //>>built
| define(["dojo/_base/lang","../_base","dojo/_base/array","dojo/_base/connect"],function(h,k,m,l){var g=h.getObject("tag.loader",!0,k);g.BlockNode=h.extend(function(b,a){this.name=b;this.nodelist=a},{"super":function(){if(this.parent){var b=this.parent.nodelist.dummyRender(this.context,null,!0);"string"==typeof b&&(b=new String(b));b.safe=!0;return b}return""},render:function(b,a){var c=this.name,d=this.nodelist;a.blocks&&(c=a.blocks[c])&&(d=c.nodelist,c.used=!0);this.rendered=d;this.context=b=b.push();
| this.parent=null;d!=this.nodelist&&(this.parent=this);b.block=this;if(a.getParent)var e=a.getParent(),f=l.connect(a,"onSetParent",function(b,c,d){c&&d&&a.setParent(e)});a=d.render(b,a,this);f&&l.disconnect(f);b=b.pop();return a},unrender:function(b,a){return this.rendered.unrender(b,a)},clone:function(b){return new this.constructor(this.name,this.nodelist.clone(b))},toString:function(){return"dojox.dtl.tag.loader.BlockNode"}});g.ExtendsNode=h.extend(function(b,a,c,d,e){this.getTemplate=b;this.nodelist=
| a;this.shared=c;this.parent=d;this.key=e},{parents:{},getParent:function(b){var a=this.parent;if(!a){var c,a=this.parent=b.get(this.key,!1);if(!a)throw Error("extends tag used a variable that did not resolve");"object"==typeof a&&(b=a.url||a.templatePath,a.shared&&(this.shared=!0),b?a=this.parent=b.toString():a.templateString?(c=a.templateString,a=this.parent=" "):a=this.parent=this.parent.toString());a&&0===a.indexOf("shared:")&&(this.shared=!0,a=this.parent=a.substring(7,a.length))}if(!a)throw Error("Invalid template name in 'extends' tag.");
| if(a.render)return a;if(this.parents[a])return this.parents[a];this.parent=this.getTemplate(c||dojox.dtl.text.getTemplateString(a));this.shared&&(this.parents[a]=this.parent);return this.parent},render:function(b,a){var c=this.getParent(b);c.blocks=c.blocks||{};a.blocks=a.blocks||{};for(var d=0,e;e=this.nodelist.contents[d];d++)if(e instanceof dojox.dtl.tag.loader.BlockNode){var f=c.blocks[e.name];f&&f.nodelist!=e.nodelist&&(a=f.nodelist.unrender(b,a));c.blocks[e.name]=a.blocks[e.name]={shared:this.shared,
| nodelist:e.nodelist,used:!1}}this.rendered=c;return c.nodelist.render(b,a,this)},unrender:function(b,a){return this.rendered.unrender(b,a,this)},toString:function(){return"dojox.dtl.block.ExtendsNode"}});g.IncludeNode=h.extend(function(b,a,c,d,e){this._path=b;this.path=(this.constant=a)?b:new k._Filter(b);this.getTemplate=c;this.text=d;this.parsed=5==arguments.length?e:!0},{_cache:[{},{}],render:function(b,a){var c=(this.constant?this.path:this.path.resolve(b)).toString(),d=Number(this.parsed),e=
| !1;c!=this.last&&(e=!0,this.last&&(a=this.unrender(b,a)),this.last=c);var f=this._cache[d];if(d)return f[c]||(f[c]=k.text._resolveTemplateArg(c,!0)),e&&(this.rendered=this.getTemplate(f[c]).nodelist),this.rendered.render(b,a,this);if(this.text instanceof k._TextNode)return e&&(this.rendered=this.text,this.rendered.set(k.text._resolveTemplateArg(c,!0))),this.rendered.render(b,a);if(!f[c]){b=[];d=document.createElement("div");d.innerHTML=k.text._resolveTemplateArg(c,!0);for(var g=d.childNodes;g.length;){var h=
| d.removeChild(g[0]);b.push(h)}f[c]=b}if(e)for(this.nodelist=[],e=0;b=f[c][e];e++)this.nodelist.push(b.cloneNode(!0));for(e=0;c=this.nodelist[e];e++)a=a.concat(c);return a},unrender:function(b,a){this.rendered&&(a=this.rendered.unrender(b,a));if(this.nodelist){b=0;for(var c;c=this.nodelist[b];b++)a=a.remove(c)}return a},clone:function(b){return new this.constructor(this._path,this.constant,this.getTemplate,this.text.clone(b),this.parsed)}});h.mixin(g,{block:function(b,a){a=a.contents.split()[1];b._blocks=
| b._blocks||{};b._blocks[a]=b._blocks[a]||[];b._blocks[a].push(a);var c=b.parse(["endblock","endblock "+a]).rtrim();b.next_token();return new dojox.dtl.tag.loader.BlockNode(a,c)},extends_:function(b,a){var c=a.contents.split();a=!1;var d=null,e=null;'"'==c[1].charAt(0)||"'"==c[1].charAt(0)?d=c[1].substring(1,c[1].length-1):e=c[1];d&&0==d.indexOf("shared:")&&(a=!0,d=d.substring(7,d.length));c=b.parse();return new dojox.dtl.tag.loader.ExtendsNode(b.getTemplate,c,a,d,e)},include:function(b,a){a=a.contents.split();
| if(2!=a.length)throw Error(a[0]+" tag takes one argument: the name of the template to be included");a=a[1];var c=!1;'"'!=a.charAt(0)&&"'"!=a.slice(-1)||a.charAt(0)!=a.slice(-1)||(a=a.slice(1,-1),c=!0);return new g.IncludeNode(a,c,b.getTemplate,b.create_text_node())},ssi:function(b,a){var c=a.contents.split(),d=!1;if(3==c.length&&(d="parsed"==c.pop(),!d))throw Error("Second (optional) argument to ssi tag must be 'parsed'");b=g.include(b,new k.Token(a.token_type,c.join(" ")));b.parsed=d;return b}});
| return g});
|
|