//>>built define(["dojo/_base/declare","dojo/_base/lang","dojo/date/locale","./_ConditionExpr"],function(b,d,f,c){var g=b("dojox.grid.enhanced.plugins.filter.BooleanExpr",c._DataExpr,{_name:"bool",_convertData:function(a){return!!a}}),h=b("dojox.grid.enhanced.plugins.filter.StringExpr",c._DataExpr,{_name:"string",_convertData:function(a){return String(a)}}),k=b("dojox.grid.enhanced.plugins.filter.NumberExpr",c._DataExpr,{_name:"number",_convertDataToExpr:function(a){return parseFloat(a)}}),e=b("dojox.grid.enhanced.plugins.filter.DateExpr", c._DataExpr,{_name:"date",_convertData:function(a){if(a instanceof Date)return a;if("number"==typeof a)return new Date(a);var b=f.parse(String(a),d.mixin({selector:this._name},this._convertArgs));if(!b)throw Error("Datetime parse failed: "+a);return b},toObject:function(){if(this._value instanceof Date){var a=this._value;this._value=this._value.valueOf();var b=this.inherited(arguments);this._value=a;return b}return this.inherited(arguments)}});b=b("dojox.grid.enhanced.plugins.filter.TimeExpr",e,{_name:"time"}); return d.mixin({BooleanExpr:g,StringExpr:h,NumberExpr:k,DateExpr:e,TimeExpr:b},c)});