Project

General

Profile

Statistics
| Revision:

root / trunk / web / dojo / dijit / Declaration.js @ 13

History | View | Annotate | Download (1.63 KB)

1 9 andrej.cim
/*
2
        Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
3
        Available via Academic Free License >= 2.1 OR the modified BSD license.
4
        see: http://dojotoolkit.org/license for details
5
*/
6
7
8
if(!dojo._hasResource["dijit.Declaration"]){
9
dojo._hasResource["dijit.Declaration"]=true;
10
dojo.provide("dijit.Declaration");
11
dojo.require("dijit._Widget");
12
dojo.require("dijit._Templated");
13
dojo.declare("dijit.Declaration",dijit._Widget,{_noScript:true,widgetClass:"",defaults:null,mixins:[],buildRendering:function(){
14
var _1=this.srcNodeRef.parentNode.removeChild(this.srcNodeRef),_2=dojo.query("> script[type^='dojo/method'][event]",_1).orphan(),_3=dojo.query("> script[type^='dojo/method']",_1).orphan(),_4=dojo.query("> script[type^='dojo/connect']",_1).orphan(),_5=_1.nodeName;
15
var _6=this.defaults||{};
16
dojo.forEach(_2,function(s){
17
var _7=s.getAttribute("event"),_8=dojo.parser._functionFromScript(s);
18
_6[_7]=_8;
19
});
20
this.mixins=this.mixins.length?dojo.map(this.mixins,function(_9){
21
return dojo.getObject(_9);
22
}):[dijit._Widget,dijit._Templated];
23
_6.widgetsInTemplate=true;
24
_6._skipNodeCache=true;
25
_6.templateString="<"+_5+" class='"+_1.className+"' dojoAttachPoint='"+(_1.getAttribute("dojoAttachPoint")||"")+"' dojoAttachEvent='"+(_1.getAttribute("dojoAttachEvent")||"")+"' >"+_1.innerHTML.replace(/\%7B/g,"{").replace(/\%7D/g,"}")+"</"+_5+">";
26
dojo.query("[dojoType]",_1).forEach(function(_a){
27
_a.removeAttribute("dojoType");
28
});
29
var wc=dojo.declare(this.widgetClass,this.mixins,_6);
30
var _b=_4.concat(_3);
31
dojo.forEach(_b,function(s){
32
var _c=s.getAttribute("event")||"postscript",_d=dojo.parser._functionFromScript(s);
33
dojo.connect(wc.prototype,_c,_d);
34
});
35
}});
36
}