webui-aria2/js/libs/dojox/form/manager/_ClassMixin.js.uncompressed.js
2012-05-01 19:52:07 +08:00

74 lines
2.2 KiB
JavaScript

//>>built
define("dojox/form/manager/_ClassMixin", [
"dojo/_base/lang",
"dojo/_base/kernel",
"dojo/dom-class",
"./_Mixin",
"dojo/_base/declare"
], function(lang, dojo, domClass, _Mixin, declare){
var fm = lang.getObject("dojox.form.manager", true),
aa = fm.actionAdapter,
ia = fm.inspectorAdapter;
return declare("dojox.form.manager._ClassMixin", null, {
// summary:
// Form manager's mixin for testing/assigning/removing
// classes of controlled elements.
// description:
// This mixin provides unified way to check/add/remove a class
// of controlled elements.
// It should be used together with dojox.form.manager.Mixin.
gatherClassState: function(className, names){
// summary:
// Gather the presence of a certain class in all controlled elements.
// className: String:
// The class name to test for.
// names: Object?:
// If it is an array, it is a list of names to be processed.
// If it is an object, dictionary keys are names to be processed.
// If it is omitted, all known form elements are to be processed.
var result = this.inspect(ia(function(name, node){
return domClass.contains(node, className);
}), names);
return result; // Object
},
addClass: function(className, names){
// summary:
// Add a class to nodes according to the supplied set of names
// className: String:
// Class name to add.
// names: Object?:
// If it is an array, it is a list of names to be processed.
// If it is an object, dictionary keys are names to be processed.
// If it is omitted, all known form elements are to be processed.
this.inspect(aa(function(name, node){
domClass.add(node, className);
}), names);
return this; // self
},
removeClass: function(className, names){
// summary:
// Remove a class from nodes according to the supplied set of names
// className: String:
// Class name to remove.
// names: Object?:
// If it is an array, it is a list of names to be processed.
// If it is an object, dictionary keys are names to be processed.
// If it is omitted, all known form elements are to be processed.
this.inspect(aa(function(name, node){
domClass.remove(node, className);
}), names);
return this; // self
}
});
});