summaryrefslogtreecommitdiff
path: root/js/dojo-1.7.2/dojox/form/manager/_DisplayMixin.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/dojo-1.7.2/dojox/form/manager/_DisplayMixin.js')
-rw-r--r--js/dojo-1.7.2/dojox/form/manager/_DisplayMixin.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/js/dojo-1.7.2/dojox/form/manager/_DisplayMixin.js b/js/dojo-1.7.2/dojox/form/manager/_DisplayMixin.js
new file mode 100644
index 0000000..ae54494
--- /dev/null
+++ b/js/dojo-1.7.2/dojox/form/manager/_DisplayMixin.js
@@ -0,0 +1,66 @@
+//>>built
+define("dojox/form/manager/_DisplayMixin", [
+ "dojo/_base/kernel",
+ "dojo/dom-style",
+ "dojo/_base/declare"
+], function(dojo, domStyle, declare){
+return declare("dojox.form.manager._DisplayMixin", null, {
+ // summary:
+ // Form manager's mixin for controlling show/hide state of
+ // controlled elements (defined by dojoAttachPoint attributes).
+ // description:
+ // This mixin provides unified show/hide functionality for
+ // controlled elements (indicated by dojoAttachPoint attribute).
+ // Essentially it provides a way to change "style.display"
+ // parameter of controlled nodes.
+ // It should be used together with dojox.form.manager.Mixin.
+
+ gatherDisplayState: function(names){
+ // summary:
+ // Gather display state of all attached elements and return as a dictionary.
+ // 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 attach point nodes are to be processed.
+
+ var result = this.inspectAttachedPoints(function(name, node){
+ return domStyle.get(node, "display") != "none";
+ }, names);
+
+ return result; // Object
+ },
+
+ show: function(state, defaultState){
+ // summary:
+ // Show attached nodes according to the supplied state object.
+ // state: Object?:
+ // Optional. If a name-value dictionary, the value is true
+ // to show and false to hide. If an array, all names in the
+ // array will be set to defaultState. If omitted, all form
+ // elements will be set to defaultState.
+ // defaultState: Boolean?:
+ // The default state (true, if omitted).
+
+ if(arguments.length < 2){
+ defaultState = true;
+ }
+
+ this.inspectAttachedPoints(function(name, node, value){
+ domStyle.set(node, "display", value ? "" : "none");
+ }, state, defaultState);
+
+ return this; // self
+ },
+
+ hide: function(state){
+ // summary:
+ // Hide attached nodes according to the supplied state object.
+ // state: Object?:
+ // Optional. If a name-value dictionary, the value is true
+ // to show and false to hide. If an array, all names in the
+ // array will be hidden. If omitted, all form elements
+ // will be hidden.
+ return this.show(state, false); // self
+ }
+});
+});