if(!dojo._hasResource["dijit.Declaration"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. dojo._hasResource["dijit.Declaration"] = true; dojo.provide("dijit.Declaration"); dojo.require("dijit._Widget"); dojo.require("dijit._Templated"); dojo.declare( "dijit.Declaration", dijit._Widget, { // summary: // The Declaration widget allows a user to declare new widget // classes directly from a snippet of markup. _noScript: true, widgetClass: "", replaceVars: true, defaults: null, mixins: [], buildRendering: function(){ var src = this.srcNodeRef.parentNode.removeChild(this.srcNodeRef); var preambles = dojo.query("> script[type='dojo/method'][event='preamble']", src).orphan(); var scripts = dojo.query("> script[type^='dojo/']", src).orphan(); var srcType = src.nodeName; var propList = this.defaults||{}; // map array of strings like [ "dijit.form.Button" ] to array of mixin objects // (note that dojo.map(this.mixins, dojo.getObject) doesn't work because it passes // a bogus third argument to getObject(), confusing it) this.mixins = this.mixins.length ? dojo.map(this.mixins, function(name){ return dojo.getObject(name); } ) : [ dijit._Widget, dijit._Templated ]; if(preambles.length){ // we only support one preamble. So be it. propList.preamble = dojo.parser._functionFromScript(preambles[0]); } var parsedScripts = dojo.map(scripts, function(s){ var evt = s.getAttribute("event")||"postscript"; return { event: evt, func: dojo.parser._functionFromScript(s) }; }); // do the connects for each