123456789101112131415161718192021222324252627282930313233343536373839404142 |
- define("dojox/dtl/render/dom", [
- "dojo/_base/lang",
- "dojo/dom",
- "../Context",
- "../dom",
- "../_base"
- ], function(lang,dom,ddc,dddom,dd){
- /*=====
- dd = dojox.dtl;
- =====*/
- lang.getObject("dojox.dtl.render.dom", true);
- dd.render.dom.Render = function(/*DOMNode?*/ attachPoint, /*dojox.dtl.DomTemplate?*/ tpl){
- this._tpl = tpl;
- this.domNode = dom.byId(attachPoint);
- }
- lang.extend(dd.render.dom.Render, {
- setAttachPoint: function(/*Node*/ node){
- this.domNode = node;
- },
- render: function(/*Object*/ context, /*dojox.dtl.DomTemplate?*/ tpl, /*dojox.dtl.DomBuffer?*/ buffer){
- if(!this.domNode){
- throw new Error("You cannot use the Render object without specifying where you want to render it");
- }
- this._tpl = tpl = tpl || this._tpl;
- buffer = buffer || tpl.getBuffer();
- context = context || new ddc();
- var frag = tpl.render(context, buffer).getParent();
- if(!frag){
- throw new Error("Rendered template does not have a root node");
- }
- if(this.domNode !== frag){
- this.domNode.parentNode.replaceChild(frag, this.domNode);
- this.domNode = frag;
- }
- }
- });
- return dojox.dtl.render.dom;
- });
|