123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*
- Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
- Available via Academic Free License >= 2.1 OR the modified BSD license.
- see: http://dojotoolkit.org/license for details
- */
- if(!dojo._hasResource["dojox.form.manager._DisplayMixin"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
- dojo._hasResource["dojox.form.manager._DisplayMixin"] = true;
- dojo.provide("dojox.form.manager._DisplayMixin");
- dojo.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 dojo.style(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){
- dojo.style(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
- }
- });
- }
|