define([
"dojo/_base/config",
"dojo/_base/declare",
"dojo/_base/lang",
"dojo/dom-attr",
"dojo/dom-class",
"dojo/dom-construct",
"dojo/dom-style",
"dojo/on",
"dojo/Evented",
"dijit/_Widget"
], function(config, declare, lang, domAttr, domClass,
domConstruct, domStyle, on, Evented, Widget){
/* widget definition */
});
define([
"dojo/_base/config",
"dojo/_base/declare",
"dojo/_base/kernel",
"dojo/_base/lang",
"dojo/dom-attr",
"dojo/dom-class",
"dojo/dom-construct",
"dojo/dom-style",
"dojo/on",
"dojo/Evented",
"dijit/_Widget"
], function(config, declare, kernel, lang, domAttr, domClass,
domConstruct, domStyle, on, Evented, Widget){
return declare("evf/ComplexWidget", [Widget, Evented], {
kernel: kernel,
dojoConfig: config,
lang: lang,
domAttr: domAttr,
domClass: domClass,
domConstruct: domConstruct,
domStyle: domStyle,
dojoOn: on,
listen: function(target, type, listener, dontFix) {
var hndl =
on(target, type, this.hitch(listener), dontFix);
this.own(hndl);
return hndl;
},
hitch: function(fn) {
return lang.hitch(this, fn);
}
});
});
define([
"dojo/_base/declare",
"evf/CustomWidget"
], function(declare, ComplexWidget){
return declare("myApp/MyWidget", [ComplexWidget], {
postCreate: function(){
this.inherited(arguments);
this.domClass.add(this.domNode, 'MyWidgetCssClass');
}
});
});
The result is easy access to commonly used modules without having to write a lot of boilerplate code.
No comments:
Post a Comment