summaryrefslogtreecommitdiff
path: root/js/dojo/dojox/dtl/DomInline.js
blob: 2250c814613eec17292517002ace25716bfe8508 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//>>built
define("dojox/dtl/DomInline", [
	"dojo/_base/lang",
	"./dom",
	"./_base",
	"dijit/_WidgetBase"
], function(lang,ddd,dd,Widget){
	/*=====
		dd = dojox.dtl;
		Widget = dijit._WidgetBase;
	=====*/ 
	dd.DomInline = lang.extend(function(args, node){
		this.create(args, node);
	},
	Widget.prototype,
	{
		context: null,
		render: function(/*dojox.dtl.Context?*/ context){
			this.context = context || this.context;
			this.postMixInProperties();
			var root = this.template.render(this.context).getRootNode();
			if(root != this.containerNode){
				this.containerNode.parentNode.replaceChild(root, this.containerNode);
				this.containerNode = root;
			}
		},
		declaredClass: "dojox.dtl.Inline",
		buildRendering: function(){
			var div = this.domNode = document.createElement("div");
			this.containerNode = div.appendChild(document.createElement("div"));
			var node = this.srcNodeRef;
			if(node.parentNode){
				node.parentNode.replaceChild(div, node);
			}

			this.template = new dojox.dtl.DomTemplate(lang.trim(node.text), true);
			this.render();
		},
		postMixInProperties: function(){
			this.context = (this.context.get === dojox.dtl._Context.prototype.get) ? this.context : new dojox.dtl.Context(this.context);
		}
	});
	return dojox.dtl.DomInline;
});