// All material copyright ESRI, All Rights Reserved, unless otherwise specified.
// See http://@sbaseurl@/jsapi/jsapi/esri/copyright.txt and http://www.arcgis.com/apps/webappbuilder/copyright.txt for details.

//>>built
require({cache:{"url:jimu/dijit/_filter/DateIsInValueProvider.html":'\x3cdiv\x3e\r\n\t\x3cselect data-dojo-type\x3d"dijit/form/Select" data-dojo-attach-point\x3d"dateTypeSelect" class\x3d"date-type-select restrict-select-width" data-dojo-attach-event\x3d"change:_onDateTypeSelectChanged"\x3e\r\n\t\x3c/select\x3e\r\n\x3c/div\x3e'}});
define("dojo/Evented dojo/_base/html dojo/_base/lang dojo/_base/declare dijit/_WidgetsInTemplateMixin dojo/text!./DateIsInValueProvider.html ./ValueProvider jimu/filterUtils jimu/utils dijit/form/Select dijit/form/DateTextBox".split(" "),function(f,g,h,k,l,m,n,p,e){return k([n,l,f],{templateString:m,postMixInProperties:function(){this.inherited(arguments);this.nls=window.jimuNls.filterBuilder},virtualDates:null,postCreate:function(){this.inherited(arguments);g.addClass(this.domNode,"jimu-date-is-in-value-provider");
this.dateTypeSelect.addOption({value:"",label:"\x26nbsp;"});return["thisWeek","thisMonth","thisQuarter","thisYear"].forEach(h.hitch(this,function(a){this.dateTypeSelect.addOption({value:a,label:this.nls[a]})}))},getDijits:function(){return[this.dateTypeSelect]},_setValueObject:function(a,b,c,q){if(this.isDefined(b[c])){var d={value:null,virtualDate:""};d.value=b[c];d.virtualDate=b[q];a.setValueObject(d)}},setValueObject:function(a){this.dateTypeSelect.set("value",a.virtualDate)},getValueObject:function(){return this.isValidValue()?
this.tryGetValueObject():null},tryGetValueObject:function(){if(this.isInvalidValue())return null;var a={isValid:!0,type:this.partObj.valueObj.type,value:null,virtualDate:this.dateTypeSelect.get("value")},b=this.dateTypeSelect.get("value"),c=p.getRealDateByVirtualDate(b);a.virtualDate=b;c&&(a.value1=e.getDateTimeStr(c[0]),a.value2=e.getDateTimeStr(c[1]));return a},setRequired:function(a){this.dateTypeSelect.set("required",a)},getStatus:function(){return this.dateTypeSelect.get("value")?1:0},_onDateTypeSelectChanged:function(){this.emit("change")}})});