{"version":3,"sources":["Pages/Shared/_CalendarSearchFilters.js"],"names":["legendTemplate","hasActionPermissions","onlyShowActivitiesWithOpenRegistration","isMultiTier","initNewActivityModal","$","select2","hasClass","isMultiDepartment","on","departmentId","this","val","get","placeId","trigger","hide","focus","validate","resetForm","extendValidationSettings","rules","Title","required","minlength","maxlength","StartDate","date","Department","messages","jQuery","validator","format","errorContainer","errorLabelContainer","initSharedHandlebars","Handlebars","registerHelper","exp","options","fn","inverse","compile","html","getDataFromFilterControls","start","end","removeDefaults","data","getStartDate","getEndDate","tiers","getSelectedTiers","departments","getSelectedDepartments","geographicAreas","getSelectedGeographicAreas","places","getSelectedPlaces","volunteerCategories","getCommaSepString","activityCategories","ageGroups","siteVisitTypes","interests","showSiteVisits","is","showActivities","showFalse","showShifts","onlyShowActivitiesWithOpenAssignments","onlyShowActivitiesWithNoAssignments","onlyShowShiftsWithOpenSlots","onlyShowRegisteredActivities","length","onlyShowVolunteerSchedule","isAdminCalendar","value","toString","initDepartment","parsedUrl","params","split","initFilters","moment","add","undefined","prop","stringToBool","each","$this","parents","addClass","removeClass","initValidation","startDateFilter","endDateFilter","greaterThanOrEqual","initEvents","click","clearAdvancedFilters","applyAdvancedFilters","document","e","loadCalendarDepartmentFilters","join","uri","window","location","indexOf","substring","departmentIds","done","url","build","path","getJSON","selectedCategories","selectedSiteVisitTypes","empty","ActivityCategories","SiteVisitTypes","hasQueryParams","defaultStartDate","endDate","setDefaultListPageFilters","initTierDepartmentPicker","initGeographicAreaPlaceFilter","parse","URL","initResultsView","change","attr","parent","removeAttr"],"mappings":"AAEA,IAAIA,eACAC,qBACAC,wCAAyC,EACzCC,aAAc,EAgFlB,SAASC,uBACLC,EAAE,2BAA2BC,UAEzBD,EAAE,gCAAgCE,SAAS,YAC3CF,EAAE,gCAAgCC,UAGlCE,mBACAH,EAAE,oBAAoBI,GAAG,SAAU,eAAe,WAC9C,IAAIC,EAAeL,EAAEM,MAAMC,OAEtBP,EAAE,2BAA2BO,OAASF,GACvCL,EAAEQ,IAAI,qCAAuCH,GAAc,SAAUI,GAC7DA,GACAT,EAAE,2BAA2BO,IAAIE,GAASC,QAAQ,gBAOtEV,EAAE,oBAAoBI,GAAG,kBAAkB,WACvCJ,EAAE,qBAAqBW,OAEvBX,EAAE,2BAA2BY,WAGjCZ,EAAE,oBAAoBI,GAAG,mBAAmB,WACxCJ,EAAE,2BAA2BO,IAAI,IACjCP,EAAE,+BAA+BO,IAAI,IACrCP,EAAE,2BAA2BO,IAAI,IAAIG,QAAQ,UAEzCP,mBACFH,EAAE,gCAAgCO,IAAI,IAAIG,QAAQ,UAGpDV,EAAE,oBAAoBa,WAAWC,eAGrCd,EAAE,oBAAoBa,SAASE,yBAAyB,CACpDC,MAAO,CACHC,MAAO,CACHC,UAAU,EACVC,UAAW,EACXC,UAAW,KAEfC,UAAW,CACPH,UAAU,EACVI,MAAM,GAEVC,WAAY,CACRL,SAAU,wBAGlBM,SAAU,CACNP,MAAO,CACHC,SAAU,qBACVC,UAAWM,OAAOC,UAAUC,OAAO,0CACnCP,UAAWK,OAAOC,UAAUC,OAAO,4CAEvCN,UAAW,CACPH,SAAU,0BACVI,KAAM,oCAEVC,WAAY,CACRL,SAAU,4BAGlBU,eAAgB,8BAChBC,oBAAqB,2BAI7B,SAASC,uBACLC,WAAWC,eAAe,aAAa,SAAUC,EAAKC,GAClD,OAAID,EACOC,EAAQC,GAAG7B,MAEf4B,EAAQE,QAAQ9B,SAG3BX,eAAiBoC,WAAWM,QAAQrC,EAAE,mBAAmBsC,QAG7D,SAASC,0BAA0BC,EAAOC,EAAKC,GAC3C,IAAIC,EAAO,CACPH,MAAOI,aAAaJ,GACpBC,IAAKI,WAAWJ,GAChBK,MAAOC,mBACPC,YAAaC,yBACbC,gBAAiBC,6BACjBC,OAAQC,oBACRC,oBAAqBC,kBAAkB,4BACvCC,mBAAoBD,kBAAkB,mBACtCE,UAAWF,kBAAkB,mBAC7BG,eAAgBH,kBAAkB,wBAClCI,UAAWJ,kBAAkB,mBAC7BK,iBAAiB5D,EAAE,mBAAyB,QAAIA,EAAE,mBAAmB6D,GAAG,YACxEC,gBAAiB9D,EAAE,mBAAyB,QAAI+D,UAAU/D,EAAEA,EAAE,mBAAmB,IAAI6D,GAAG,aACxFG,aAAahE,EAAE,eAAqB,QAAIA,EAAE,eAAe6D,GAAG,YAC5DhE,uCAAwCA,uCACxCoE,sCAAuCjE,EAAE,0CAA0C6D,GAAG,YACtFK,sCAAsClE,EAAE,wCAA8C,QAAIA,EAAE,wCAAwC6D,GAAG,YACvIM,8BAA8BnE,EAAE,gCAAsC,QAAIA,EAAE,gCAAgC6D,GAAG,YAC/GO,+BAA+BpE,EAAE,0CAA0C6D,GAAG,cAAe7D,EAAE,iCAAiCqE,SAASrE,EAAE,iCAAiC6D,GAAG,YAC/KS,4BAA4BtE,EAAE,0CAA0C6D,GAAG,cAAe7D,EAAE,8BAA8BqE,SAASrE,EAAE,8BAA8B6D,GAAG,YACtKU,gBAAiBA,iBAarB,OAVI7B,WACOC,EAAK4B,uBACL5B,EAAKH,aACLG,EAAKF,KAEgB,IAAxBE,EAAKmB,uBACEnB,EAAKmB,gBAIbnB,EAIX,SAASoB,UAAUS,GACf,OAAc,IAAVA,EACOA,EAAMC,WAGND,EAIf,SAASE,eAAeC,GAChBJ,gBACApE,kBAAoBH,EAAE,6BAA6BqE,OAAS,EAG5DlE,kBAAoBH,EAAE,8BAA8BqE,OAAS,GAI5DE,iBAAmBI,EAAUC,SAC1BD,EAAUC,OAAO5B,aACjBhD,EAAE,qBAAqBO,IAAIoE,EAAUC,OAAO5B,YAAY6B,MAAM,MAAMnE,QAAQ,UAG5EiE,EAAUC,OAAOxB,QACjBpD,EAAE,gBAAgBO,IAAIoE,EAAUC,OAAOxB,OAAOyB,MAAM,MAAMnE,QAAQ,WAK9E,SAASoE,YAAYH,GACbA,EAAUC,SACND,EAAUC,OAAOpC,QACjBxC,EAAE,oBAAoBO,IAAIwE,OAAOJ,EAAUC,OAAOpC,OAAOb,OAAO,eAEhE3B,EAAE,kBAAkBO,IAAIwE,OAAOJ,EAAUC,OAAOpC,OAAOwC,IAAI,EAAG,UAAUrD,OAAO,gBAG/EgD,EAAUC,OAAOnC,KACjBzC,EAAE,kBAAkBO,IAAIwE,OAAOJ,EAAUC,OAAOnC,KAAKd,OAAO,eAG5DgD,EAAUC,OAAOtB,qBACjBtD,EAAE,4BAA4BO,IAAIoE,EAAUC,OAAOtB,oBAAoBuB,MAAM,MAAMnE,QAAQ,UAG3FiE,EAAUC,OAAOpB,oBACjBxD,EAAE,mBAAmBO,IAAIoE,EAAUC,OAAOpB,mBAAmBqB,MAAM,MAAMnE,QAAQ,UAGjFiE,EAAUC,OAAOjB,WACjB3D,EAAE,mBAAmBO,IAAIoE,EAAUC,OAAOjB,UAAUkB,MAAM,MAAMnE,QAAQ,UAGxEiE,EAAUC,OAAOnB,WACjBzD,EAAE,mBAAmBO,IAAIoE,EAAUC,OAAOnB,UAAUoB,MAAM,MAAMnE,QAAQ,UAGxEiE,EAAUC,OAAOlB,gBACjB1D,EAAE,wBAAwBO,IAAIoE,EAAUC,OAAOlB,eAAemB,MAAM,MAAMnE,QAAQ,UAGlFiE,EAAUC,cAC8BK,IAApCN,EAAUC,OAAOd,iBACjBa,EAAUC,OAAOd,gBAAiB,GAGtC9D,EAAE,mBAAmBkF,KAAK,UAAWC,aAAaR,EAAUC,OAAOd,iBACnE9D,EAAE,mBAAmBkF,KAAK,UAAWC,aAAaR,EAAUC,OAAOhB,iBACnE5D,EAAE,eAAekF,KAAK,UAAWC,aAAaR,EAAUC,OAAOZ,aAC/DnE,uCAAyCsF,aAAaR,EAAUC,OAAO/E,wCACvEG,EAAE,0CAA0CkF,KAAK,UAAWC,aAAaR,EAAUC,OAAOX,wCAC1FjE,EAAE,wCAAwCkF,KAAK,UAAWC,aAAaR,EAAUC,OAAOV,sCACxFlE,EAAE,gCAAgCkF,KAAK,UAAWC,aAAaR,EAAUC,OAAOT,8BAChFnE,EAAE,iCAAiCkF,KAAK,UAAWC,aAAaR,EAAUC,OAAOR,+BACjFpE,EAAE,8BAA8BkF,KAAK,UAAWC,aAAaR,EAAUC,OAAON,4BAE9EtE,EAAE,+BAA+BoF,MAAK,WAClCC,MAAQrF,EAAEM,MACN+E,MAAMxB,GAAG,YACTwB,MAAMC,QAAQ,QAAQC,SAAS,UAG/BF,MAAMC,QAAQ,QAAQE,YAAY,eAOtD,SAASC,iBACLzF,EAAE,eAAea,SAASE,yBAAyB,CAC/CC,MAAO,CACH0E,gBAAiB,CACbpE,MAAM,GAEVqE,cAAe,CACXrE,MAAM,EACNsE,mBAAoB,qBAG5BpE,SAAU,CACNkE,gBAAiB,CACbpE,KAAM,oCAEVqE,cAAe,CACXrE,KAAM,iCACNsE,mBAAoB,6DAMpC,SAASC,aACL7F,EAAE,yBAAyB8F,MAAMC,sBACjC/F,EAAE,yBAAyB8F,MAAME,sBAE7B7F,oBACIoE,gBACAvE,EAAEiG,UAAU7F,GAAG,kDAAkD,SAAU8F,GACvEC,8BAA8BD,EAAElD,YAAYoD,WAIhDpG,EAAEiG,UAAU7F,GAAG,SAAU,qBAAqB,SAAU8F,GACpDC,8BAA8BlD,8BAM9C,SAAS8C,uBACL,IAAIM,EAAMC,OAAOC,SAAS9B,WACtB4B,EAAIG,QAAQ,KAAO,EACnBF,OAAOC,SAAWF,EAAII,UAAU,EAAGJ,EAAIG,QAAQ,MAAQ,cAGvDF,OAAOC,SAAWF,EAAM,cAIhC,SAASF,8BAA8BO,EAAeC,GAClD,IAAIC,EAAM5G,EAAE4G,IAAIC,MAAM,CAClBC,KAAM,sCACNlC,OAAQ,CACJ8B,cAAeA,EACfnC,gBAAiBA,mBAIzBvE,EAAE+G,QAAQH,GAAK,SAAUjE,GACrB,IAAIqE,EAAqBhH,EAAE,mBAAmBO,MAC1C0G,EAAyBjH,EAAE,wBAAwBO,MAEvDP,EAAE,mBAAmBkH,QAAQjH,QAAQ,CAAE0C,KAAMA,EAAKwE,qBAAsBzG,QAAQ,UAChFV,EAAE,wBAAwBkH,QAAQjH,QAAQ,CAAE0C,KAAMA,EAAKyE,iBAAkB1G,QAAQ,UAEjFV,EAAE,mBAAmBO,IAAIyG,GAAoBtG,QAAQ,UACrDV,EAAE,wBAAwBO,IAAI0G,GAAwBvG,QAAQ,UAE1DiG,GACAA,OAKZ,SAASU,eAAe1E,GACpB,SACMxC,mBAAqBwC,EAAKK,aACxBL,EAAKG,OACN9C,EAAE,oBAAoBO,QAAU+G,kBAC/B3E,EAAK4E,SACL5E,EAAKW,qBACLX,EAAKO,iBACLP,EAAKa,oBACLb,EAAKS,QACLT,EAAKgB,WACLhB,EAAKc,WACLd,EAAKe,gBACLf,EAAKiB,gBACLjB,EAAKqB,aACmB,IAAxBrB,EAAKmB,gBACLnB,EAAKwB,6BACLxB,EAAKyB,8BACLzB,EAAK2B,2BA/XiB,mBAAvB,mBACPvB,iBAAmB,WACf,OAAO,OAIyB,mBAA7B,yBACPE,uBAAyB,WACrB,OAAOM,kBAAkB,uBAIW,mBAAjC,6BACPJ,2BAA6B,WACzB,OAAO,OAIoB,mBAAxB,oBACPE,kBAAoB,WAChB,OAAOE,kBAAkB,kBAKjCvD,GAAE,WACEyF,iBACA3D,uBAEA9B,EAAE,YAAYC,UAEVsE,kBACAvE,EAAEiG,UAAU7F,GAAG,QAAS,sBAAsB,WAC1C,IAAIuC,EAAOJ,0BAA0B,KAAM,MAAM,GACjDiF,0BAA0BxH,EAAEM,MAAOqC,MAGvC8E,2BACAC,iCAGJ,IAAI/C,EAAY3E,EAAE4G,IAAIe,MAAM1B,SAAS2B,KAErClD,eAAeC,GAEfwB,8BAA8BlD,0BAC1B,WACI4C,aACAf,YAAYH,GACZkD,qBAGRjI,qBAAuBI,EAAE,mBAAmBqE,OAAS,GAAKrE,EAAE,oBAAoBqE,OAAS,EAErFE,iBAAmB3E,sBACnBG,uBAGJC,EAAE,0CAA0C8H,QAAO,WACjC9H,EAAEM,MAAMuD,GAAG,aAGrB7D,EAAE,iCAAiC+H,KAAK,YAAY,GACpD/H,EAAE,iCAAiCgI,SAASzC,SAAS,YAErDvF,EAAE,8BAA8B+H,KAAK,YAAY,GACjD/H,EAAE,8BAA8BgI,SAASzC,SAAS,cAElDvF,EAAE,iCAAiCiI,WAAW,YAC9CjI,EAAE,iCAAiCgI,SAASxC,YAAY,YAExDxF,EAAE,8BAA8BiI,WAAW,YAC3CjI,EAAE,8BAA8BgI,SAASxC,YAAY","file":"_CalendarSearchFilters.min.js","sourcesContent":["//Functionality shared between /home/Calendar, /admin/Calendar, /home/CalendarList, /admin/CalendarList\n\nvar legendTemplate;\nvar hasActionPermissions;\nvar onlyShowActivitiesWithOpenRegistration = false; //param that does not have a corresponding control\nvar isMultiTier = false;\n\n//#region Public & Volunteer Calendar\nif (typeof (getSelectedTiers) !== 'function') {\n getSelectedTiers = function () {\n return null;\n }\n}\n\nif (typeof (getSelectedDepartments) !== 'function') {\n getSelectedDepartments = function () {\n return getCommaSepString('#departmentFilter');\n }\n}\n\nif (typeof (getSelectedGeographicAreas) !== 'function') {\n getSelectedGeographicAreas = function () {\n return null;\n }\n}\n\nif (typeof (getSelectedPlaces) !== 'function') {\n getSelectedPlaces = function () {\n return getCommaSepString('#placeFilter');\n }\n}\n//#endregion Public & Volunteer Calendar\n\n$(function () {\n initValidation();\n initSharedHandlebars();\n\n $('.select2').select2();\n\n if (isAdminCalendar) {\n $(document).on('click', '#setDefaultFilters', function () {\n var data = getDataFromFilterControls(null, null, true);\n setDefaultListPageFilters($(this), data);\n });\n\n initTierDepartmentPicker();\n initGeographicAreaPlaceFilter();\n }\n\n var parsedUrl = $.url.parse(document.URL);\n\n initDepartment(parsedUrl);\n\n loadCalendarDepartmentFilters(getSelectedDepartments(),\n function () {\n initEvents();\n initFilters(parsedUrl);\n initResultsView();\n });\n\n hasActionPermissions = $('#newActivityBtn').length > 0 || $('#newSiteVisitBtn').length > 0;\n\n if (isAdminCalendar && hasActionPermissions) {\n initNewActivityModal();\n }\n\n $('#onlyShowActivitiesWithOpenAssignments').change(function () {\n var checked = $(this).is(':checked');\n\n if (checked) {\n $('#onlyShowRegisteredActivities').attr('disabled', true);\n $('#onlyShowRegisteredActivities').parent().addClass('disabled');\n\n $('#onlyShowVolunteerSchedule').attr('disabled', true);\n $('#onlyShowVolunteerSchedule').parent().addClass('disabled');\n } else {\n $('#onlyShowRegisteredActivities').removeAttr('disabled');\n $('#onlyShowRegisteredActivities').parent().removeClass('disabled');\n\n $('#onlyShowVolunteerSchedule').removeAttr('disabled');\n $('#onlyShowVolunteerSchedule').parent().removeClass('disabled');\n }\n });\n});\n\nfunction initNewActivityModal() {\n $('#newActivityForm #Place').select2();\n\n if ($('#newActivityForm #Department').hasClass('select2')) {\n $('#newActivityForm #Department').select2();\n }\n\n if (isMultiDepartment) {\n $('#newActivityEdit').on('change', '#Department', function () {\n var departmentId = $(this).val();\n\n if (!$('#newActivityEdit #Place').val() && departmentId) {\n $.get('/api/Admin/DefaultDepartmentPlace/' + departmentId, function (placeId) {\n if (placeId) {\n $('#newActivityEdit #Place').val(placeId).trigger('change');\n }\n });\n }\n });\n }\n\n $('#newActivityEdit').on(\"shown.bs.modal\", function () {\n $('#newEventDropdown').hide();\n\n $('#newActivityForm #Title').focus();\n });\n\n $('#newActivityEdit').on(\"hidden.bs.modal\", function () {\n $('#newActivityForm #Title').val('');\n $('#newActivityForm #StartDate').val('');\n $('#newActivityForm #Place').val('').trigger('change');\n\n if (isMultiDepartment) {\n $('#newActivityForm #Department').val('').trigger('change');\n }\n\n $(\"#newActivityForm\").validate().resetForm();\n });\n\n $('#newActivityForm').validate(extendValidationSettings({\n rules: {\n Title: {\n required: true,\n minlength: 2,\n maxlength: 100\n },\n StartDate: {\n required: true,\n date: true\n },\n Department: {\n required: '#Department.select2'\n }\n },\n messages: {\n Title: {\n required: 'Title is required.',\n minlength: jQuery.validator.format('Title must be at least {0} characters.'),\n maxlength: jQuery.validator.format('Title must be less than {0} characters.')\n },\n StartDate: {\n required: 'Start Date is required.',\n date: 'Start Date must be a valid date.'\n },\n Department: {\n required: 'Department is required.'\n }\n },\n errorContainer: '#newActivityErrorMessageBox',\n errorLabelContainer: '#newActivityErrorList'\n }));\n}\n\nfunction initSharedHandlebars() {\n Handlebars.registerHelper('ifNotNull', function (exp, options) {\n if (exp) {\n return options.fn(this);\n }\n return options.inverse(this);\n });\n\n legendTemplate = Handlebars.compile($(\"#legendTemplate\").html());\n}\n\nfunction getDataFromFilterControls(start, end, removeDefaults) {\n var data = {\n start: getStartDate(start),\n end: getEndDate(end),\n tiers: getSelectedTiers(),\n departments: getSelectedDepartments(),\n geographicAreas: getSelectedGeographicAreas(),\n places: getSelectedPlaces(),\n volunteerCategories: getCommaSepString('#volunteerCategoryFilter'),\n activityCategories: getCommaSepString('#categoryFilter'),\n ageGroups: getCommaSepString('#ageGroupFilter'),\n siteVisitTypes: getCommaSepString('#siteVisitTypeFilter'),\n interests: getCommaSepString('#interestFilter'),\n showSiteVisits: ($('#showSiteVisits').length) ? $('#showSiteVisits').is(':checked') : false,\n showActivities: ($('#showActivities').length) ? showFalse($($('#showActivities')[0]).is(':checked')) : true,\n showShifts: ($('#showShifts').length) ? $('#showShifts').is(':checked') : false,\n onlyShowActivitiesWithOpenRegistration: onlyShowActivitiesWithOpenRegistration,\n onlyShowActivitiesWithOpenAssignments: $('#onlyShowActivitiesWithOpenAssignments').is(':checked'),\n onlyShowActivitiesWithNoAssignments: ($('#onlyShowActivitiesWithNOAssignments').length) ? $('#onlyShowActivitiesWithNOAssignments').is(':checked') : false,\n onlyShowShiftsWithOpenSlots: ($('#onlyShowShiftsWithOpenSlots').length) ? $('#onlyShowShiftsWithOpenSlots').is(':checked') : false,\n onlyShowRegisteredActivities: !$('#onlyShowActivitiesWithOpenAssignments').is(':checked') && $('#onlyShowRegisteredActivities').length ? $('#onlyShowRegisteredActivities').is(':checked') : false,\n onlyShowVolunteerSchedule: !$('#onlyShowActivitiesWithOpenAssignments').is(':checked') && $('#onlyShowVolunteerSchedule').length ? $('#onlyShowVolunteerSchedule').is(':checked') : false,\n isAdminCalendar: isAdminCalendar\n };\n\n if (removeDefaults) {\n delete data.isAdminCalendar;\n delete data.start;\n delete data.end;\n\n if (data.showActivities === true) {\n delete data.showActivities;\n }\n }\n\n return data;\n}\n\n//changes false boolean to string so it will not be filtered out by $.param()\nfunction showFalse(value) {\n if (value === false) {\n return value.toString();\n }\n else {\n return value;\n }\n}\n\nfunction initDepartment(parsedUrl) {\n if (isAdminCalendar) {\n isMultiDepartment = $('#tierDepartments > option').length > 1;\n }\n else {\n isMultiDepartment = $('#departmentFilter > option').length > 1;\n }\n\n //departments/places are pre-populated by view-component for admin calendar\n if (!isAdminCalendar && parsedUrl.params) {\n if (parsedUrl.params.departments) {\n $('#departmentFilter').val(parsedUrl.params.departments.split(',')).trigger('change');\n }\n\n if (parsedUrl.params.places) {\n $('#placeFilter').val(parsedUrl.params.places.split(',')).trigger('change');\n }\n }\n}\n\nfunction initFilters(parsedUrl) {\n if (parsedUrl.params) {\n if (parsedUrl.params.start) {\n $('#startDateFilter').val(moment(parsedUrl.params.start).format('MM/DD/YYYY'));\n\n $('#endDateFilter').val(moment(parsedUrl.params.start).add(2, 'months').format('MM/DD/YYYY'));\n }\n\n if (parsedUrl.params.end) {\n $('#endDateFilter').val(moment(parsedUrl.params.end).format('MM/DD/YYYY'));\n }\n\n if (parsedUrl.params.volunteerCategories) {\n $('#volunteerCategoryFilter').val(parsedUrl.params.volunteerCategories.split(',')).trigger('change');\n }\n\n if (parsedUrl.params.activityCategories) {\n $('#categoryFilter').val(parsedUrl.params.activityCategories.split(',')).trigger('change');\n }\n\n if (parsedUrl.params.interests) {\n $('#interestFilter').val(parsedUrl.params.interests.split(',')).trigger('change');\n }\n\n if (parsedUrl.params.ageGroups) {\n $('#ageGroupFilter').val(parsedUrl.params.ageGroups.split(',')).trigger('change');\n }\n\n if (parsedUrl.params.siteVisitTypes) {\n $('#siteVisitTypeFilter').val(parsedUrl.params.siteVisitTypes.split(',')).trigger('change');\n }\n\n if (parsedUrl.params) {\n if (parsedUrl.params.showActivities === undefined) {\n parsedUrl.params.showActivities = true;\n }\n\n $('#showActivities').prop('checked', stringToBool(parsedUrl.params.showActivities));\n $('#showSiteVisits').prop('checked', stringToBool(parsedUrl.params.showSiteVisits));\n $('#showShifts').prop('checked', stringToBool(parsedUrl.params.showShifts));\n onlyShowActivitiesWithOpenRegistration = stringToBool(parsedUrl.params.onlyShowActivitiesWithOpenRegistration);\n $('#onlyShowActivitiesWithOpenAssignments').prop('checked', stringToBool(parsedUrl.params.onlyShowActivitiesWithOpenAssignments));\n $('#onlyShowActivitiesWithNOAssignments').prop('checked', stringToBool(parsedUrl.params.onlyShowActivitiesWithNoAssignments));\n $('#onlyShowShiftsWithOpenSlots').prop('checked', stringToBool(parsedUrl.params.onlyShowShiftsWithOpenSlots));\n $('#onlyShowRegisteredActivities').prop('checked', stringToBool(parsedUrl.params.onlyShowRegisteredActivities));\n $('#onlyShowVolunteerSchedule').prop('checked', stringToBool(parsedUrl.params.onlyShowVolunteerSchedule));\n\n $('.btn input[type=\"checkbox\"]').each(function () {\n $this = $(this);\n if ($this.is(':checked')) {\n $this.parents('.btn').addClass('active');\n }\n else {\n $this.parents('.btn').removeClass('active');\n }\n });\n }\n }\n}\n\nfunction initValidation() {\n $('#filterForm').validate(extendValidationSettings({\n rules: {\n startDateFilter: {\n date: true\n },\n endDateFilter: {\n date: true,\n greaterThanOrEqual: '#startDateFilter'\n }\n },\n messages: {\n startDateFilter: {\n date: 'Start Date must be a valid date.'\n },\n endDateFilter: {\n date: 'End Date must be a valid date.',\n greaterThanOrEqual: 'End Date must be greater than or equal to Start Date.'\n }\n }\n }));\n}\n\nfunction initEvents() {\n $('#clearAdvancedFilters').click(clearAdvancedFilters);\n $('#applyAdvancedFilters').click(applyAdvancedFilters);\n\n if (isMultiDepartment) {\n if (isAdminCalendar) {\n $(document).on(\"departmentsChanged availableDepartmentsChanged\", function (e) {\n loadCalendarDepartmentFilters(e.departments.join());\n });\n }\n else {\n $(document).on(\"change\", '#departmentFilter', function (e) {\n loadCalendarDepartmentFilters(getSelectedDepartments());\n });\n }\n }\n}\n\nfunction clearAdvancedFilters() {\n var uri = window.location.toString();\n if (uri.indexOf(\"?\") > 0) {\n window.location = uri.substring(0, uri.indexOf(\"?\")) + \"?clear=true\";\n }\n else {\n window.location = uri + \"?clear=true\";\n }\n}\n\nfunction loadCalendarDepartmentFilters(departmentIds, done) {\n var url = $.url.build({\n path: '/api/Home/CalendarDepartmentFilters',\n params: {\n departmentIds: departmentIds,\n isAdminCalendar: isAdminCalendar\n }\n });\n\n $.getJSON(url, function (data) {\n var selectedCategories = $('#categoryFilter').val();\n var selectedSiteVisitTypes = $('#siteVisitTypeFilter').val();\n\n $('#categoryFilter').empty().select2({ data: data.ActivityCategories }).trigger('change');\n $('#siteVisitTypeFilter').empty().select2({ data: data.SiteVisitTypes }).trigger('change');\n\n $('#categoryFilter').val(selectedCategories).trigger('change');\n $('#siteVisitTypeFilter').val(selectedSiteVisitTypes).trigger('change');\n\n if (done) {\n done();\n }\n });\n}\n\nfunction hasQueryParams(data) {\n return !(\n !(isMultiDepartment && data.departments)\n && !data.tiers\n && $(\"#startDateFilter\").val() === defaultStartDate\n && !data.endDate\n && !data.volunteerCategories\n && !data.geographicAreas\n && !data.activityCategories\n && !data.places\n && !data.interests\n && !data.ageGroups\n && !data.siteVisitTypes\n && !data.showSiteVisits\n && !data.showShifts\n && !data.showActivities === false\n && !data.onlyShowShiftsWithOpenSlots\n && !data.onlyShowRegisteredActivities\n && !data.onlyShowVolunteerSchedule);\n}\n"]}