//>>built
define("dojox/form/_SelectStackMixin",["dojo/_base/lang","dojo/_base/array","dijit/_base/manager","dojo/_base/connect","dojo/_base/declare"],function(_1,_2,_3,_4,_5){return _5("dojox.form._SelectStackMixin",null,{stackId:"",stackPrefix:"",_paneIdFromOption:function(_6){return (this.stackPrefix||"")+_6;},_optionValFromPane:function(id){var sp=this.stackPrefix;if(sp&&id.indexOf(sp)===0){return id.substring(sp.length);}return id;},_togglePane:function(_7,_8){if(_7._shown!=undefined&&_7._shown==_8){return;}var _9=_2.filter(_7.getDescendants(),"return item.name;");if(!_8){_a={};_2.forEach(_9,function(w){_a[w.id]=w.disabled;w.set("disabled",true);});_7._savedStates=_a;}else{var _a=_7._savedStates||{};_2.forEach(_9,function(w){var _b=_a[w.id];if(_b==undefined){_b=false;}w.set("disabled",_b);});delete _7._savedStates;}_7._shown=_8;},_connectTitle:function(_c,_d){var fx=_1.hitch(this,function(_e){this.updateOption({value:_d,label:_e});});if(_c._setTitleAttr){this.connect(_c,"_setTitleAttr",fx);}else{this.connect(_c,"attr",function(_f,val){if(_f=="title"&&arguments.length>1){fx(val);}});}},onAddChild:function(_10,_11){if(!this._panes[_10.id]){this._panes[_10.id]=_10;var v=this._optionValFromPane(_10.id);this.addOption({value:v,label:_10.title});this._connectTitle(_10,v);}if(!_10.onShow||!_10.onHide||_10._shown==undefined){_10.onShow=_1.hitch(this,"_togglePane",_10,true);_10.onHide=_1.hitch(this,"_togglePane",_10,false);_10.onHide();}},_setValueAttr:function(v){if("_savedValue" in this){return;}this.inherited(arguments);},attr:function(_12,_13){if(_12=="value"&&arguments.length==2&&"_savedValue" in this){this._savedValue=_13;}return this.inherited(arguments);},onRemoveChild:function(_14){if(this._panes[_14.id]){delete this._panes[_14.id];this.removeOption(this._optionValFromPane(_14.id));}},onSelectChild:function(_15){this._setValueAttr(this._optionValFromPane(_15.id));},onStartup:function(_16){var _17=_16.selected;this.addOption(_2.filter(_2.map(_16.children,function(c){var v=this._optionValFromPane(c.id);this._connectTitle(c,v);var _18=null;if(!this._panes[c.id]){this._panes[c.id]=c;_18={value:v,label:c.title};}if(!c.onShow||!c.onHide||c._shown==undefined){c.onShow=_1.hitch(this,"_togglePane",c,true);c.onHide=_1.hitch(this,"_togglePane",c,false);c.onHide();}if("_savedValue" in this&&v===this._savedValue){_17=c;}return _18;},this),function(i){return i;}));var _19=this;var fx=function(){delete _19._savedValue;_19.onSelectChild(_17);if(!_17._shown){_19._togglePane(_17,true);}};if(_17!==_16.selected){var _1a=_3.byId(this.stackId);var c=this.connect(_1a,"_showChild",function(sel){this.disconnect(c);fx();});}else{fx();}},postMixInProperties:function(){this._savedValue=this.value;this.inherited(arguments);this.connect(this,"onChange","_handleSelfOnChange");},postCreate:function(){this.inherited(arguments);this._panes={};this._subscriptions=[_4.subscribe(this.stackId+"-startup",this,"onStartup"),_4.subscribe(this.stackId+"-addChild",this,"onAddChild"),_4.subscribe(this.stackId+"-removeChild",this,"onRemoveChild"),_4.subscribe(this.stackId+"-selectChild",this,"onSelectChild")];var _1b=_3.byId(this.stackId);if(_1b&&_1b._started){this.onStartup({children:_1b.getChildren(),selected:_1b.selectedChildWidget});}},destroy:function(){_2.forEach(this._subscriptions,_4.unsubscribe);delete this._panes;this.inherited("destroy",arguments);},_handleSelfOnChange:function(val){var _1c=this._panes[this._paneIdFromOption(val)];if(_1c){var s=_3.byId(this.stackId);if(_1c==s.selectedChildWidget){s._transition(_1c);}else{s.selectChild(_1c);}}}});});