//>>built
define("dojox/wire/ml/Action",["dijit","dojo","dojox","dojo/require!dijit/_Widget,dijit/_Container,dojox/wire/Wire,dojox/wire/ml/util"],function(_1,_2,_3){_2.provide("dojox.wire.ml.Action");_2.require("dijit._Widget");_2.require("dijit._Container");_2.require("dojox.wire.Wire");_2.require("dojox.wire.ml.util");_2.declare("dojox.wire.ml.Action",[_1._Widget,_1._Container],{trigger:"",triggerEvent:"",triggerTopic:"",postCreate:function(){this._connect();},_connect:function(){if(this.triggerEvent){if(this.trigger){var _4=_3.wire.ml._getValue(this.trigger);if(_4){if(!_4[this.triggerEvent]){_4[this.triggerEvent]=function(){};}this._triggerHandle=_2.connect(_4,this.triggerEvent,this,"run");}}else{var _5=this.triggerEvent.toLowerCase();if(_5=="onload"){var _6=this;_2.addOnLoad(function(){_6._run.apply(_6,arguments);});}}}else{if(this.triggerTopic){this._triggerHandle=_2.subscribe(this.triggerTopic,this,"run");}}},_disconnect:function(){if(this._triggerHandle){if(this.triggerTopic){_2.unsubscribe(this.triggerTopic,this._triggerHandle);}else{_2.disconnect(this._triggerHandle);}}},run:function(){var _7=this.getChildren();for(var i in _7){var _8=_7[i];if(_8 instanceof _3.wire.ml.ActionFilter){if(!_8.filter.apply(_8,arguments)){return;}}}this._run.apply(this,arguments);},_run:function(){var _9=this.getChildren();for(var i in _9){var _a=_9[i];if(_a instanceof _3.wire.ml.Action){_a.run.apply(_a,arguments);}}},uninitialize:function(){this._disconnect();return true;}});_2.declare("dojox.wire.ml.ActionFilter",_1._Widget,{required:"",requiredValue:"",type:"",message:"",error:"",filter:function(){if(this.required===""){return true;}else{var _b=_3.wire.ml._getValue(this.required,arguments);if(this.requiredValue===""){if(_b){return true;}}else{var _c=this.requiredValue;if(this.type!==""){var _d=this.type.toLowerCase();if(_d==="boolean"){if(_c.toLowerCase()==="false"){_c=false;}else{_c=true;}}else{if(_d==="number"){_c=parseInt(_c,10);}}}if(_b===_c){return true;}}}if(this.message){if(this.error){_3.wire.ml._setValue(this.error,this.message);}else{alert(this.message);}}return false;}});});