{"version":3,"sources":["webpack:///./src/components/misc/ChangePassDialog.vue?8a80","webpack:///./src/components/misc/ChangePassDialog.vue","webpack:///./src/components/misc/ChangePassDialog.vue?130e","webpack:///./src/components/misc/ChangePassDialog.vue?ec8e","webpack:///./src/shared/sharedFunctionsForGlobalFilter.ts","webpack:///./src/components/misc/UserMenu.vue?3819","webpack:///./src/components/misc/UserMenuContent.vue?7313","webpack:///./src/components/misc/UserMenuContent.vue","webpack:///./src/components/misc/UserMenuContent.vue?2c23","webpack:///./src/components/misc/UserMenuContent.vue?35e7","webpack:///./src/components/misc/UserMenuActivator.vue?5717","webpack:///./src/components/misc/UserMenuActivator.vue","webpack:///./src/components/misc/UserMenuActivator.vue?8eca","webpack:///./src/components/misc/UserMenuActivator.vue?b5cd","webpack:///./src/components/misc/UserMenu.vue","webpack:///./src/components/misc/UserMenu.vue?8a74","webpack:///./src/components/misc/UserMenu.vue?19de","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///./src/components/misc/UserMenu.vue?8f07","webpack:///./src/components/misc/UserMenuActivator.vue?1d05","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///./src/components/misc/Notifications.vue?42e0","webpack:///./src/components/misc/UserMenuContent.vue?03df","webpack:///./src/components/advanced-search/AvailabilitySearchGlobal.vue?d292","webpack:///./src/components/advanced-search/AvailabilitySearchGlobal.vue","webpack:///./src/components/advanced-search/AvailabilitySearchGlobal.vue?5bd6","webpack:///./src/components/advanced-search/AvailabilitySearchGlobal.vue?dc0d","webpack:///./src/components/advanced-search/AvailabilitySearchGlobal.vue?79b0","webpack:///./src/components/misc/Notifications.vue?8b24","webpack:///./src/components/misc/Notifications.vue","webpack:///./src/components/misc/Notifications.vue?fa3f","webpack:///./src/components/misc/Notifications.vue?3b81","webpack:///../../../src/components/VMain/VMain.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","model","value","callback","$$v","internalOpen","expression","ref","on","$event","preventDefault","submit","apply","arguments","formModel","_v","_s","$t","required","showPasswordOld","$set","slot","showPassword1","passwordsMustMatch","newPassword","showPassword2","repeatedPassword","loading","staticRenderFns","oldPassword","form","resetValidation","x","axios","post","then","$store","dispatch","color","message","timeout","finally","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VDialog","VForm","VIcon","VSpacer","VTextField","mobileDesktopSharedFunctionsGlobalFilter","vm","items","selectedOnly","showDeletedProperties","selected","filters","getters","filter","e","some","s","propertyId","i","status","nameFilter","name","toLowerCase","includes","addressFilter","address","ownerFilter","ownerName","propertyTypeFilter","length","propertyType","postalCodeFilter","postalCodeAndCity","loadCount","initialSelected","get","res","currentCount","data","appliedFilter","slice","cloneDeep","applyFilter","ids","map","param","propertiesIds","commit","utid","localStorage","setItem","JSON","stringify","localize","selectAll","event","concat","getOccupancies","occupancy","endpoint","params","$skip","$top","$count","date","result","sum","total","occupiedQuantity","totalQuantity","getCount","additionalFilters","count","scopedSlots","_u","key","fn","open","isMobile","buttonDisabled","claims","initials","computedAvatarColor","availableTenants","currentTenantId","isAllowedToModifyReservations","nonOwnerBusinessUnits","isOwnerRole","activeBusinessUnitId","availableCashRegistersForCurrentBusinessUnit","activeCashRegisterId","tenantChange","businessUnitChange","cashRegisterChange","toggleTheme","$emit","signout","staticClass","_e","class","stopPropagation","availableBusinessUnits","currentBusinessUnitId","showCashRegisters","availableCashRegisters","currentCashRegisterId","installPwa","deferredPrompt","prompt","components","LangPicker","VAutocomplete","VDivider","VList","VListItem","VListItemAction","VListItemContent","VListItemIcon","VListItemTitle","VSelect","isMaintenanceTeam","_g","_b","tname","VAvatar","VSkeletonLoader","refreshBusinessUnits","setBusinessUnitFromStorageWrapper","activeBusinessUnit","selectOnlyAvailableUnitOrOpenSelectionDialog","refreshCashRegisters","setCashRegisterFromStorageWrapper","activeCashRegister","selectFirstActiveCashRegister","match","shift","pop","toUpperCase","hash","charCodeAt","h","tid","sid","changingTenant","tenantId","$router","push","path","catch","err","console","error","id","ownerCustomerId","businessUnitId","currentUserId","businessUnit","find","userId","setActiveBusinessUnit","cashRegisterId","cashRegister","setActiveCashRegister","removeActiveCashRegister","setBusinessUnitFromStorage","setCashRegisterFromStorage","router","UserMenuContent","UserMenuActivator","VMenu","directives","Scroll","props","scrollTarget","scrollThreshold","String","Number","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","target","computed","canScroll","window","computedScrollThreshold","watch","mounted","document","methods","onScroll","Math","thresholdMet","baseMixins","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","type","default","applicationProperty","classes","collapse","app","computedContentHeight","height","min","dense","max","difference","iteration","offset","computedFontSize","increment","computedLeft","$vuetify","application","computedMarginTop","computedOpacity","opacity","parseFloat","computedOriginalHeight","parseInt","computedRight","computedTransform","bottom","hideShadow","isCollapsed","isProminent","styles","fontSize","marginTop","transform","left","right","val","created","genBackground","style","updateApplication","computedHeight","arg","searchFormModel","updateRestrictions","period","resetResultsAndSearch","resetResultsAndForm","searched","isGlobalSearch","xs","breakpoint","xsOnly","selectedAvailabilities","restrictions","confirmSelectionLabel","globalOpenFilter","updateOptions","confirmSelection","updateFilter","viewType","calendarUnitTypeIds","isOpen","calendarHighlightPeriod","numberOfUnits","numberOfAdults","numberOfChildren","numberOfBedrooms","numberOfBathrooms","childAges","includeSpecialOffers","accomodationUnitTypeId","from","Date","to","childrenAges","options","page","search","propertyTypes","categories","amenities","resetResults","propertyName","cityId","dateRangeDates","includeOnlyWholeProperties","ignoreRestrictions","ignoreUnitTypeCount","fromPrice","toPrice","distanceToBeach","distanceToCityCenter","requestModel","arrivalDate","departureDate","propertyTypeIdsJoined","join","categoryIdsJoined","amenityIdsJoined","itemsPerPage","response","item","rates","ratesJSON","parse","rate","selectedAmount","GetCountInArray","numberOfAvailableUnits","fresh","immediate","AvailabilitySearchResults","AvailabilitySearchResultsMobile","CalendarBox","AvailabilitySearchForm","VContainer","_l","idx","actions","submessage","$index","fun","closeNotification","text","action","VAlert","VSlideYReverseTransition","tag","paddingTop","top","paddingRight","paddingBottom","footer","paddingLeft","$slots"],"mappings":"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","file":"js/_DefaultLayout~_MobileLayout.0467221e.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"480\"},model:{value:(_vm.internalOpen),callback:function ($$v) {_vm.internalOpen=$$v},expression:\"internalOpen\"}},[_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}},model:{value:(_vm.formModel),callback:function ($$v) {_vm.formModel=$$v},expression:\"formModel\"}},[_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t('Change password')))]),_c('v-card-text',[_c('v-text-field',{attrs:{\"rules\":[_vm.required],\"label\":_vm.$t('Old password') + '*',\"type\":_vm.showPasswordOld ? 'text' : 'password',\"tabindex\":\"1\",\"outlined\":\"\",\"color\":\"#2790e5\",\"autofocus\":\"\"},model:{value:(_vm.model.oldPassword),callback:function ($$v) {_vm.$set(_vm.model, \"oldPassword\", $$v)},expression:\"model.oldPassword\"}},[_c('template',{slot:\"append\"},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"tabindex\":\"-1\"},on:{\"click\":function($event){_vm.showPasswordOld = !_vm.showPasswordOld}}},[(_vm.showPasswordOld)?_c('v-icon',[_vm._v(\"fa-eye-slash\")]):_c('v-icon',[_vm._v(\"fa-eye\")])],1)],1)],2),_c('v-text-field',{attrs:{\"rules\":[_vm.required],\"label\":_vm.$t('New password') + '*',\"type\":_vm.showPassword1 ? 'text' : 'password',\"tabindex\":\"1\",\"outlined\":\"\",\"color\":\"#2790e5\"},model:{value:(_vm.model.newPassword),callback:function ($$v) {_vm.$set(_vm.model, \"newPassword\", $$v)},expression:\"model.newPassword\"}},[_c('template',{slot:\"append\"},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"tabindex\":\"-1\"},on:{\"click\":function($event){_vm.showPassword1 = !_vm.showPassword1}}},[(_vm.showPassword1)?_c('v-icon',[_vm._v(\"fa-eye-slash\")]):_c('v-icon',[_vm._v(\"fa-eye\")])],1)],1)],2),_c('v-text-field',{attrs:{\"rules\":[\n _vm.passwordsMustMatch(_vm.model.newPassword),\n _vm.required ],\"label\":_vm.$t('Password confirm') + '*',\"type\":_vm.showPassword2 ? 'text' : 'password',\"tabindex\":\"2\",\"outlined\":\"\",\"color\":\"#2790e5\"},model:{value:(_vm.repeatedPassword),callback:function ($$v) {_vm.repeatedPassword=$$v},expression:\"repeatedPassword\"}},[_c('template',{slot:\"append\"},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"tabindex\":\"-1\"},on:{\"click\":function($event){_vm.showPassword2 = !_vm.showPassword2}}},[(_vm.showPassword2)?_c('v-icon',[_vm._v(\"fa-eye-slash\")]):_c('v-icon',[_vm._v(\"fa-eye\")])],1)],1)],2)],1),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\",\"type\":\"submit\",\"disabled\":!_vm.formModel || _vm.loading,\"loading\":_vm.loading}},[_vm._v(_vm._s(_vm.$t('Save')))]),_c('v-spacer'),_c('v-btn',{on:{\"click\":function($event){_vm.internalOpen=false}}},[_vm._v(_vm._s(_vm.$t('Cancel')))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, PropSync, Ref, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class ChangePassDialog extends Vue {\n @PropSync('open') internalOpen?: boolean;\n \n @Ref('form') form?: {\n resetValidation: () => void;\n validate: () => boolean;\n };\n\n @Watch('$route') \n routeChanged() {\n this.internalOpen = false;\n }\n\n @Watch('open') \n onOpenChanged() {\n this.form?.resetValidation();\n this.model = {\n oldPassword: '',\n newPassword: ''\n };\n this.repeatedPassword = '';\n }\n\n required(value: string) {\n return value ? true : this.$t(\"Validation.Required\")\n }\n passwordsMustMatch(x: string) {\n return (value: string) =>\n value === x ? true : this.$t(\"Validation.PasswordsMustMatch\")\n }\n\n formModel=false;\n loading = false;\n\n repeatedPassword = \"\";\n showPasswordOld = false;\n showPassword1 = false;\n showPassword2 = false;\n\n model = {\n oldPassword: '',\n newPassword: ''\n }\n\n async submit() {\n this.loading = true;\n this.axios\n .post(`/auth/changePassword`, this.model)\n .then(() => {\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: this.$t(\"ChangePassword.SaveSuccess\"),\n timeout: 5000,\n });\n this.internalOpen = false;\n })\n .finally(() => this.loading = false);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePassDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePassDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChangePassDialog.vue?vue&type=template&id=0a8b4c3e&scoped=true&\"\nimport script from \"./ChangePassDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChangePassDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a8b4c3e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VForm,VIcon,VSpacer,VTextField})\n","import { GlobalFilterProperty } from \"@/store/modules/globalFilters\";\nimport _ from \"lodash\";\nimport { ListModel } from \"./models/listModel\";\n\nexport type Filters = {\n nameFilter: string;\n addressFilter: string;\n postalCodeFilter: string;\n ownerFilter: string;\n propertyTypeFilter: string[];\n};\n\nexport function mobileDesktopSharedFunctionsGlobalFilter(vm: Vue) { \n \n return {\n items(\n selectedOnly: boolean,\n showDeletedProperties: boolean,\n selected: GlobalFilterProperty[],\n filters: Filters,\n ): GlobalFilterProperty[] {\n\n let items = vm.$store.getters[\n \"globalFilters/properties\"\n ] as GlobalFilterProperty[];\n \n if (selectedOnly) {\n items = items.filter((e) =>\n selected.some((s) => e.propertyId == s.propertyId)\n );\n }\n\n if(!showDeletedProperties) {\n items = items.filter((i) => i.status === true)\n }\n \n return items\n .filter(e => !filters.nameFilter || e.name.toLowerCase().includes(filters.nameFilter.toLowerCase()))\n .filter(e => !filters.addressFilter || e.address.toLowerCase().includes(filters.addressFilter.toLowerCase()))\n .filter(e => !filters.ownerFilter || e.ownerName.toLowerCase().includes(filters.ownerFilter.toLowerCase()))\n .filter(e => !filters.propertyTypeFilter || filters.propertyTypeFilter.length == 0 || filters.propertyTypeFilter.includes(e.propertyType))\n .filter(e => !filters.postalCodeFilter || e.postalCodeAndCity.toLowerCase().includes(filters.postalCodeFilter.toLowerCase()));\n },\n\n loadCount: async () => {\n let selected: GlobalFilterProperty[] = [];\n let initialSelected: GlobalFilterProperty[] = [];\n let showDeletedProperties = false;\n await vm.axios\n .get>(\"/globalFilters/GetPropertiesForGlobalFilterCount\")\n .then(async (res) => {\n const currentCount = vm.$store.getters[\"globalFilters/properties\"]\n .length;\n if (currentCount !== res.data) {\n await vm.$store.dispatch(\"globalFilters/refreshFilter\");\n } else {\n const appliedFilter = vm.$store.getters[\n \"globalFilters/filteredProperties\"\n ];\n\n showDeletedProperties = vm.$store.getters[\n \"globalFilters/showDeletedProperties\"\n ];\n \n selected = appliedFilter.slice();\n initialSelected = _.cloneDeep(selected);\n \n }\n });\n return {\n selected: selected,\n initialSelected: initialSelected,\n showDeletedProperties: showDeletedProperties\n }\n },\n\n applyFilter: async (selected: GlobalFilterProperty[], showDeletedProperties: boolean) => {\n const ids = selected.map((e) => e.propertyId);\n const param = { propertiesIds: ids, showDeletedProperties: showDeletedProperties };\n\n await vm.axios.post(\"/globalFilters/SetGlobalPropertiesFilter\", param)\n .then(() => {\n vm.$store.commit(\"globalFilters/setFilter\", selected);\n vm.$store.commit(\"globalFilters/setShowDeletedProperties\", showDeletedProperties);\n \n const utid = vm.$store.getters[\"auth/claims\"]?.utid;\n localStorage.setItem(`pms.utid_${utid}_gfilter`, JSON.stringify(param));\n \n vm.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Global filter applied\",\n timeout: 5000,\n localize: true,\n });\n\n });\n },\n\n selectAll(event: boolean, items: GlobalFilterProperty[], selected: GlobalFilterProperty[]) {\n if (event) {\n // add currently filtered items to selected list if not already selected\n selected = selected.concat(\n items.filter(\n (e) => !selected.some((s) => s.propertyId == e.propertyId)\n )\n );\n } else {\n // remove currently filtered items from selected list\n selected = selected.filter(\n (s) => !items.some((e) => e.propertyId == s.propertyId)\n );\n }\n\n return selected;\n },\n\n getOccupancies: async (occupancy: any) => {\n const res = await vm.axios.get>(occupancy.endpoint, {\n params: {\n $skip: 0,\n $top: 10000,\n $count: true,\n filter: occupancy.filter.filter,\n date: occupancy.filter.date,\n },\n });\n \n if (res.data.result.length) {\n \n let sum = 0;\n let total = 0;\n for (const occupancy of res.data.result) {\n sum += occupancy.occupiedQuantity;\n total += occupancy.totalQuantity;\n }\n \n return total === 0\n ? 0\n : sum / total;\n } else {\n return 0;\n }\n },\n\n getCount: async (endpoint: string, filter?: any) => {\n const additionalFilters = filter ?? {};\n const res = await vm.axios.get>(endpoint, {\n params: {\n $skip: 0,\n $top: 0,\n $count: true,\n ...additionalFilters,\n },\n });\n \n return res.data.count ?? 0;\n }\n };\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isMobile)?_c('v-dialog',{attrs:{\"persistent\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('UserMenuActivator',{attrs:{\"on\":on,\"attrs\":attrs,\"open\":_vm.open,\"isMobile\":_vm.isMobile,\"buttonDisabled\":_vm.buttonDisabled,\"claims\":_vm.claims,\"initials\":_vm.initials,\"computedAvatarColor\":_vm.computedAvatarColor}})]}}],null,false,3928304695),model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},[_c('UserMenuContent',{attrs:{\"isMobile\":_vm.isMobile,\"availableTenants\":_vm.availableTenants,\"currentTenantId\":_vm.currentTenantId,\"isAllowedToModifyReservations\":_vm.isAllowedToModifyReservations,\"availableBusinessUnits\":_vm.nonOwnerBusinessUnits,\"isOwnerRole\":_vm.isOwnerRole,\"currentBusinessUnitId\":_vm.activeBusinessUnitId,\"availableCashRegisters\":_vm.availableCashRegistersForCurrentBusinessUnit,\"currentCashRegisterId\":_vm.activeCashRegisterId},on:{\"close\":function($event){_vm.open = false},\"tenantChange\":function($event){return _vm.tenantChange($event)},\"businessUnitChange\":function($event){return _vm.businessUnitChange($event)},\"cashRegisterChange\":function($event){return _vm.cashRegisterChange($event)},\"toggleTheme\":_vm.toggleTheme,\"change-password\":function($event){return _vm.$emit('change-password')},\"signout\":_vm.signout}})],1):_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('UserMenuActivator',{attrs:{\"on\":on,\"attrs\":attrs,\"open\":_vm.open,\"isMobile\":_vm.isMobile,\"buttonDisabled\":_vm.buttonDisabled,\"claims\":_vm.claims,\"initials\":_vm.initials,\"computedAvatarColor\":_vm.computedAvatarColor}})]}}]),model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},[_c('UserMenuContent',{attrs:{\"isMobile\":_vm.isMobile,\"availableTenants\":_vm.availableTenants,\"currentTenantId\":_vm.currentTenantId,\"isAllowedToModifyReservations\":_vm.isAllowedToModifyReservations,\"isOwnerRole\":_vm.isOwnerRole,\"availableBusinessUnits\":_vm.nonOwnerBusinessUnits,\"currentBusinessUnitId\":_vm.activeBusinessUnitId,\"availableCashRegisters\":_vm.availableCashRegistersForCurrentBusinessUnit,\"currentCashRegisterId\":_vm.activeCashRegisterId},on:{\"close\":function($event){_vm.open = false},\"tenantChange\":function($event){return _vm.tenantChange($event)},\"businessUnitChange\":function($event){return _vm.businessUnitChange($event)},\"cashRegisterChange\":function($event){return _vm.cashRegisterChange($event)},\"toggleTheme\":_vm.toggleTheme,\"change-password\":function($event){return _vm.$emit('change-password')},\"signout\":_vm.signout}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-list',[(_vm.isMobile)?_c('div',{staticClass:\"mobile-close-button-wrapper\"},[_c('v-btn',{staticClass:\"mobile-close-button\",attrs:{\"icon\":\"\",\"small\":\"\",\"depressed\":\"\",\"ripple\":false},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-icon',[_vm._v(\"fal fa-times\")])],1)],1):_vm._e(),_c('v-list',{class:{ 'first-item' : _vm.isMobile }},[_c('v-list-item',[_c('v-autocomplete',{attrs:{\"items\":_vm.availableTenants,\"item-text\":\"name\",\"item-value\":\"id\",\"value\":_vm.currentTenantId,\"label\":_vm.$t('Tenant')},on:{\"change\":function($event){return _vm.$emit('tenantChange', $event)},\"keyup\":function($event){$event.stopPropagation();},\"keydown\":function($event){$event.stopPropagation();}}})],1)],1),_c('v-divider'),(!_vm.isMobile && !_vm.isOwnerRole && _vm.isAllowedToModifyReservations)?_c('v-list',[_c('v-list-item',[_c('v-select',{attrs:{\"items\":_vm.availableBusinessUnits,\"item-text\":\"name\",\"item-value\":\"id\",\"value\":_vm.currentBusinessUnitId,\"label\":_vm.$t('Business unit')},on:{\"change\":function($event){return _vm.$emit('businessUnitChange', $event)}}})],1)],1):_vm._e(),(!_vm.isMobile && !_vm.isOwnerRole && _vm.showCashRegisters && _vm.isAllowedToModifyReservations)?_c('v-list',[_c('v-list-item',[_c('v-select',{attrs:{\"label\":_vm.$t('CashiersReport.CashRegister'),\"items\":_vm.availableCashRegisters,\"item-text\":\"name\",\"item-value\":\"id\",\"value\":_vm.currentCashRegisterId},on:{\"change\":function($event){return _vm.$emit('cashRegisterChange', $event)}}})],1)],1):_vm._e(),_c('v-divider'),_c('v-list',[_c('v-list-item',[_c('LangPicker')],1),_c('v-list-item',{attrs:{\"link\":\"\"},on:{\"click\":function($event){return _vm.$emit('toggleTheme')}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"fal fa-adjust\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('Change theme')))])],1)],1),_c('v-list-item',{attrs:{\"link\":\"\"},on:{\"click\":function($event){return _vm.$emit('change-password')}}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"fal fa-key\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('Change password')))])],1)],1),(_vm.pwaInstallable)?_c('v-list-item',{attrs:{\"link\":\"\"},on:{\"click\":_vm.installPwa}},[_c('v-list-item-action',[_c('v-icon',[_vm._v(\"fal fa-phone-laptop\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('PWA.Install')))])],1)],1):_vm._e()],1),_c('v-divider'),_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){return _vm.$emit('signout')}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"fal fa-power-off\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('Sign out')))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { BusinessUnit } from \"@/shared/models/businessUnit\";\nimport { JwtClaims } from \"@/store/modules/auth\";\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport { Getter } from \"vuex-class\";\nimport LangPicker from \"./LangPicker.vue\";\nimport { BeforeInstallPromptEvent } from \"vue-pwa-install\"\nimport { CashRegisterModel } from \"@/shared/models/cashRegister\";\n\n@Component({\n components: {\n LangPicker\n }\n})\nexport default class UserMenuContent extends Vue {\n @Prop() isMobile?: boolean;\n @Prop() availableTenants?: JwtClaims;\n @Prop() currentTenantId?: boolean;\n @Prop() isAllowedToModifyReservations?: boolean;\n @Prop() isOwnerRole?: boolean;\n @Prop() availableBusinessUnits?: BusinessUnit[];\n @Prop() currentBusinessUnitId?: number;\n @Prop() availableCashRegisters?: CashRegisterModel[];\n @Prop() currentCashRegisterId?: number;\n @Getter('pwaInstallEvent') deferredPrompt: BeforeInstallPromptEvent|null|undefined;\n @Getter('canInstallPWA') pwaInstallable!: true;\n @Getter(\"appParams/cashRegisterFeatureFlag\")\n showCashRegisters?: boolean;\n\n installPwa() {\n this.deferredPrompt?.prompt();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenuContent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenuContent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserMenuContent.vue?vue&type=template&id=7bf22494&scoped=true&\"\nimport script from \"./UserMenuContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserMenuContent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserMenuContent.vue?vue&type=style&index=0&id=7bf22494&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7bf22494\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VAutocomplete,VBtn,VDivider,VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemIcon,VListItemTitle,VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isMobile)?_c('v-btn',_vm._g(_vm._b({staticClass:\"user-menu__trigger\",attrs:{\"text\":\"\",\"disabled\":_vm.buttonDisabled,\"ripple\":false},model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},'v-btn',_vm.attrs,false),_vm.on),[_c('div',{staticClass:\"user-menu__trigger_text-content\"},[_c('v-skeleton-loader',{staticClass:\"ma-1 hidden-sm-and-down user-menu__trigger_name\",attrs:{\"loading\":_vm.buttonDisabled,\"boilerplate\":false,\"width\":\"128\",\"type\":\"text\"}},[_vm._v(_vm._s(_vm.claims.name))]),_c('v-skeleton-loader',{staticClass:\"mr-1 ml-1 hidden-sm-and-down user-menu__trigger_tenant\",attrs:{\"loading\":_vm.buttonDisabled,\"boilerplate\":false,\"width\":\"96\",\"type\":\"text\"}},[_vm._v(_vm._s(_vm.claims.tname))])],1),_c('v-skeleton-loader',{attrs:{\"loading\":_vm.buttonDisabled,\"boilerplate\":false,\"type\":\"avatar\"}},[_c('v-avatar',{attrs:{\"left\":\"\",\"color\":_vm.computedAvatarColor,\"size\":\"42\"}},[_c('span',{staticClass:\"white--text\"},[_vm._v(_vm._s(_vm.initials))])])],1)],1):(!_vm.isMaintenanceTeam)?_c('v-btn',_vm._g(_vm._b({attrs:{\"disabled\":_vm.buttonDisabled,\"ripple\":false},model:{value:(_vm.open),callback:function ($$v) {_vm.open=$$v},expression:\"open\"}},'v-btn',_vm.attrs,false),_vm.on),[_c('v-icon',[_vm._v(\"fal fa-fw fa-ellipsis-v\")])],1):_c('v-icon',_vm._g({attrs:{\"right\":\"\"}},_vm.on),[_vm._v(\"fal fa-fw fa-ellipsis-v \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { userIsPartOfMaintenanceTeam } from \"@/shared/roles\";\nimport { JwtClaims } from \"@/store/modules/auth\";\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport LangPicker from \"./LangPicker.vue\";\n\n@Component({\n components: {\n LangPicker,\n },\n})\nexport default class UserMenu extends Vue {\n @Prop() on!: boolean;\n @Prop() attrs: any;\n @Prop() open!: boolean;\n @Prop() isMobile?: boolean;\n @Prop() buttonDisabled?: boolean;\n @Prop() claims?: JwtClaims;\n @Prop() initials?: string;\n @Prop() computedAvatarColor?: string;\n\n get isMaintenanceTeam() {\n return userIsPartOfMaintenanceTeam()(this.claims);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenuActivator.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenuActivator.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserMenuActivator.vue?vue&type=template&id=6269e8dd&scoped=true&\"\nimport script from \"./UserMenuActivator.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserMenuActivator.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserMenuActivator.vue?vue&type=style&index=0&id=6269e8dd&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6269e8dd\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VAvatar,VBtn,VIcon,VSkeletonLoader})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport { Getter, Action } from \"vuex-class\";\nimport { JwtClaims } from \"@/store/modules/auth\";\nimport LangPicker from \"./LangPicker.vue\";\nimport router from \"@/router\";\nimport { BusinessUnit } from \"@/shared/models/businessUnit\";\nimport { BusinessUnitStorage } from \"@/store/modules/businessUnit\";\nimport { policyChecker } from \"@/shared/roles\";\nimport UserMenuContent from \"@/components/misc/UserMenuContent.vue\";\nimport UserMenuActivator from \"@/components/misc/UserMenuActivator.vue\";\nimport { CashRegisterModel } from \"@/shared/models/cashRegister\";\n\n@Component({\n components: {\n LangPicker,\n UserMenuContent,\n UserMenuActivator,\n },\n})\nexport default class UserMenu extends Vue {\n @Getter(\"auth/claims\") claims?: JwtClaims;\n @Getter(\"auth/availableTenants\") availableTenants?: JwtClaims;\n\n // Business unit administration\n @Getter(\"businessUnit/availableBusinessUnits\")\n availableBusinessUnits?: BusinessUnit[];\n @Getter(\"businessUnit/businessUnitStorage\")\n businessUnitStorage?: BusinessUnitStorage[];\n @Getter(\"businessUnit/activeBusinessUnit\") activeBusinessUnit?: BusinessUnit;\n @Action(\"businessUnit/refreshBusinessUnits\")\n refreshBusinessUnits?: () => void;\n @Action(\"businessUnit/setBusinessUnit\") setActiveBusinessUnit?: (\n payload: any\n ) => void;\n @Action(\"businessUnit/setBusinessUnitFromStorage\")\n setBusinessUnitFromStorage?: (payload: any) => void;\n\n //Cash register administration\n @Getter(\"cashRegister/availableCashRegisters\")\n availableCashRegisters?: CashRegisterModel[];\n @Getter(\"cashRegister/activeCashRegister\") activeCashRegister?: CashRegisterModel;\n @Action(\"cashRegister/refreshCashRegisters\")\n refreshCashRegisters?: () => void;\n @Action(\"cashRegister/setActiveCashRegister\") setActiveCashRegister?: (\n payload: any\n ) => void;\n @Action(\"cashRegister/removeActiveCashRegister\") removeActiveCashRegister?: () => void;\n @Action(\"cashRegister/setCashRegisterFromStorage\")\n setCashRegisterFromStorage?: (payload: any) => void;\n @Action(\"cashRegister/reset\") resetCashRegister?: () => void;\n\n @Prop() isMobile?: boolean;\n\n @Action(\"toggleTheme\") toggleTheme?: () => void;\n\n get isAllowedToModifyReservations() {\n return policyChecker(\"MODIFY_RESERVATIONS\")(this.claims);\n }\n\n get isOwnerRole() {\n return policyChecker(\"IS_OWNER_ROLE\")(this.claims);\n }\n\n async mounted() {\n // Business units\n if (\n (this.availableBusinessUnits?.length ?? 0) === 0 &&\n this.refreshBusinessUnits\n ) {\n await this.refreshBusinessUnits();\n }\n\n if (!this.activeBusinessUnitId) {\n await this.setBusinessUnitFromStorageWrapper();\n\n if (!this.activeBusinessUnit && this.isAllowedToModifyReservations) {\n await this.selectOnlyAvailableUnitOrOpenSelectionDialog();\n }\n }\n \n // Cash registers\n if (\n (this.availableCashRegisters?.length ?? 0) === 0 &&\n this.refreshCashRegisters\n ) {\n await this.refreshCashRegisters();\n }\n\n if (!this.activeCashRegisterId) {\n await this.setCashRegisterFromStorageWrapper();\n\n if (!this.activeCashRegister) {\n await this.selectFirstActiveCashRegister();\n }\n }\n }\n\n get initials() {\n const initials = this.claims?.name.match(/\\b\\w/g) || [];\n return ((initials.shift() || \"\") + (initials.pop() || \"\")).toUpperCase();\n }\n\n get computedAvatarColor() {\n if (!this.claims?.name) {\n return \"red\";\n }\n\n let hash = 0;\n for (let i = 0; i < this.claims?.name.length; i++) {\n hash = this.claims?.name.charCodeAt(i) + ((hash << 5) - hash);\n }\n\n const h = hash % 360;\n return `hsl(${h}, 50%, 50%)`;\n }\n\n get currentTenantId() {\n return this.claims ? +this.claims.tid : null;\n }\n\n get currentUserId() {\n return this.claims ? +this.claims.sid : null;\n }\n\n get buttonDisabled() {\n return this.changingTenant || !this.claims;\n }\n\n open = false;\n\n changingTenant = false;\n async tenantChange(tenantId: number) {\n try {\n this.changingTenant = true;\n this.open = false;\n this.$store.commit(\"appParams/reset\");\n this.$store.commit(\"calendar/reset\");\n this.$store.commit(\"contingent/reset\");\n this.$store.commit(\"codebooks/reset\");\n this.$store.commit(\"documents/reset\");\n this.$store.commit(\"globalFilters/reset\");\n this.$store.commit(\"reports/reset\");\n this.$store.commit(\"cashRegister/reset\");\n\n await this.$store.dispatch(\"auth/refreshToTenant\", { tenantId });\n await this.$store.dispatch(\"financial/refreshModel\");\n\n await this.$router.push({ path: \"/dashboard\" }).catch((err) => {\n //ignore vuex err regarding navigating to the page they are already on\n if (err.name != \"NavigationDuplicated\") {\n console.error(err);\n }\n });\n\n // Business units\n if (this.refreshBusinessUnits) {\n await this.refreshBusinessUnits();\n }\n await this.setBusinessUnitFromStorageWrapper();\n if (!this.activeBusinessUnit && this.isAllowedToModifyReservations) {\n await this.selectOnlyAvailableUnitOrOpenSelectionDialog();\n }\n\n // Cash registers \n if (this.refreshCashRegisters) {\n await this.refreshCashRegisters();\n }\n await this.setCashRegisterFromStorageWrapper();\n if (!this.activeCashRegister) {\n await this.selectFirstActiveCashRegister();\n }\n } finally {\n this.changingTenant = false;\n }\n }\n\n get activeBusinessUnitId() {\n return this.activeBusinessUnit?.id ?? null;\n }\n\n get nonOwnerBusinessUnits() {\n return this.availableBusinessUnits?.filter((x) => !x.ownerCustomerId) ?? [];\n }\n\n async businessUnitChange(businessUnitId: number | undefined) { \n if (\n businessUnitId &&\n this.currentUserId &&\n this.currentTenantId &&\n this.availableBusinessUnits &&\n this.isAllowedToModifyReservations\n ) {\n const businessUnit = this.availableBusinessUnits?.find(\n (x) => x.id == businessUnitId\n );\n const tenantId = this.currentTenantId;\n const userId = this.currentUserId;\n if (this.setActiveBusinessUnit) {\n this.setActiveBusinessUnit({ businessUnit, tenantId, userId });\n }\n \n this.selectFirstActiveCashRegister();\n }\n }\n\n get activeCashRegisterId() { \n if(this.availableCashRegistersForCurrentBusinessUnit && \n this.activeCashRegister?.id != null && \n this.activeCashRegister?.id != 0 && \n this.availableCashRegistersForCurrentBusinessUnit.some(x => x.id === this.activeCashRegister?.id)){\n return this.activeCashRegister.id\n }\n else if(this.availableCashRegistersForCurrentBusinessUnit && \n this.availableCashRegistersForCurrentBusinessUnit.length > 0 && \n this.activeCashRegister?.id != 0 && \n (this.activeCashRegister?.id == null || !this.availableCashRegisters?.some(x => x.id === this.activeCashRegister?.id))){\n this.selectFirstActiveCashRegister()\n\n return this.availableCashRegistersForCurrentBusinessUnit[0].id\n }\n\n return null;\n }\n\n get availableCashRegistersForCurrentBusinessUnit() {\n return this.availableCashRegisters?.filter((x) => x.businessUnitId === this.activeBusinessUnitId) ?? [];\n }\n\n async cashRegisterChange(cashRegisterId: number | undefined) {\n if (\n cashRegisterId &&\n this.currentUserId &&\n this.currentTenantId &&\n this.availableCashRegisters\n ) {\n const cashRegister = this.availableCashRegisters?.find(\n (x) => x.id == cashRegisterId\n );\n const tenantId = this.currentTenantId;\n const userId = this.currentUserId;\n if (this.setActiveCashRegister) {\n this.setActiveCashRegister({ cashRegister, tenantId, userId });\n }\n }\n }\n\n async selectOnlyAvailableUnitOrOpenSelectionDialog() {\n if (this.nonOwnerBusinessUnits.length === 1) {\n const businessUnit = this.nonOwnerBusinessUnits[0];\n const tenantId = this.currentTenantId;\n const userId = this.currentUserId;\n\n if (this.setActiveBusinessUnit) {\n await this.setActiveBusinessUnit({\n businessUnit,\n tenantId,\n userId,\n });\n }\n } else {\n this.$emit(\"open-businessUnitModal\");\n }\n }\n\n async selectFirstActiveCashRegister() {\n if (this.availableCashRegistersForCurrentBusinessUnit && this.availableCashRegistersForCurrentBusinessUnit.length > 0) {\n const cashRegister = this.availableCashRegistersForCurrentBusinessUnit[0];\n const tenantId = this.currentTenantId;\n const userId = this.currentUserId;\n\n if (this.setActiveCashRegister) {\n await this.setActiveCashRegister({\n cashRegister,\n tenantId,\n userId,\n });\n }\n }\n else{\n if(this.removeActiveCashRegister){\n // Remove active cash register when switching to a business unit that doesn't have cash registers to avoid leftover data from previous business unit.\n this.removeActiveCashRegister();\n } \n }\n }\n\n async setBusinessUnitFromStorageWrapper() {\n if (this.setBusinessUnitFromStorage) {\n const tenantId = this.currentTenantId;\n const userId = this.currentUserId;\n await this.setBusinessUnitFromStorage({ tenantId, userId });\n }\n }\n \n async setCashRegisterFromStorageWrapper() {\n if (this.setCashRegisterFromStorage) {\n const tenantId = this.currentTenantId;\n const userId = this.currentUserId;\n await this.setCashRegisterFromStorage({ tenantId, userId });\n }\n }\n\n async signout(): Promise {\n await this.$store.dispatch(\"businessUnit/clearBusinessUnits\");\n await this.$store.dispatch(\"auth/signout\");\n await router.push({ name: \"Signin\" });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserMenu.vue?vue&type=template&id=a5f73d34&scoped=true&\"\nimport script from \"./UserMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserMenu.vue?vue&type=style&index=0&id=a5f73d34&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a5f73d34\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VDialog,VMenu})\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=style&index=0&id=a5f73d34&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenuActivator.vue?vue&type=style&index=0&id=6269e8dd&scoped=true&lang=scss&\"","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsey, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const height = this.computedOriginalHeight\n\n const min = this.dense ? 48 : 56\n const max = height\n const difference = max - min\n const iteration = difference / this.computedScrollThreshold\n const offset = this.currentScroll * iteration\n\n return Math.max(min, max - offset)\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const max = this.dense ? 96 : 128\n const difference = max - this.computedContentHeight\n const increment = 0.00347\n\n // 1.5rem to a minimum of 1.25rem\n return Number((1.50 - difference * increment).toFixed(2))\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n const opacity = Math.max(\n (this.computedScrollThreshold - this.currentScroll) / this.computedScrollThreshold,\n 0\n )\n\n return Number(parseFloat(opacity).toFixed(2))\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=style&index=0&id=341a3f6e&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenuContent.vue?vue&type=style&index=0&id=7bf22494&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-wrapper d-flex custom-gutters\"},[(!_vm.isMobile)?_c('div',{staticClass:\"flex-grow-1 filters\"},[_c('v-card',{staticClass:\"d-flex flex-column\",attrs:{\"height\":\"100%\"}},[_c('v-container',{staticClass:\"filters-container\"},[_c('AvailabilitySearchForm',{attrs:{\"search-model\":_vm.searchFormModel},on:{\"update:searchModel\":function($event){_vm.searchFormModel=$event},\"update:search-model\":function($event){_vm.searchFormModel=$event},\"update-restrictions\":_vm.updateRestrictions}})],1),_c('v-card-actions',{staticClass:\"d-flex\"},[_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.searchFormModel.period.length != 2},on:{\"click\":function($event){return _vm.resetResultsAndSearch()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Search\"))+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.resetResultsAndForm()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Reset\"))+\" \")])],1)],1)],1):_vm._e(),(!_vm.isMobile)?_c('div',{staticClass:\"flex-grow-1 results-container\"},[(\n _vm.searched && (_vm.viewType === 'table' || _vm.calendarUnitTypeIds.length === 0)\n )?_c('AvailabilitySearchResults',{staticClass:\"results\",class:{ xs: _vm.$vuetify.breakpoint.xsOnly },attrs:{\"items\":_vm.items,\"loading\":_vm.loading,\"selectedAvailabilities\":_vm.selectedAvailabilities,\"confirmSelectionLabel\":_vm.confirmSelectionLabel},on:{\"update:selectedAvailabilities\":function($event){_vm.selectedAvailabilities=$event},\"update:selected-availabilities\":function($event){_vm.selectedAvailabilities=$event},\"paginationChange\":function($event){return _vm.updateOptions($event)},\"confirmSelection\":_vm.confirmSelection}}):_vm._e(),(\n _vm.isOpen &&\n _vm.searched &&\n _vm.calendarUnitTypeIds.length > 0 &&\n _vm.viewType === 'calendar'\n )?_c('CalendarBox',{attrs:{\"accomodationUnitTypeIds\":_vm.calendarUnitTypeIds,\"highlightPeriod\":_vm.calendarHighlightPeriod}}):_vm._e()],1):_c('div',{staticClass:\"flex-grow-1\"},[(_vm.searched || _vm.isGlobalSearch)?_c('AvailabilitySearchResultsMobile',{staticClass:\"results\",class:{ xs: _vm.$vuetify.breakpoint.xsOnly },attrs:{\"items\":_vm.items,\"loading\":_vm.loading,\"selectedAvailabilities\":_vm.selectedAvailabilities,\"searchRestrictions\":_vm.restrictions,\"confirmSelectionLabel\":_vm.confirmSelectionLabel,\"isGlobalSearch\":_vm.isGlobalSearch,\"openFilter\":_vm.globalOpenFilter},on:{\"update:selectedAvailabilities\":function($event){_vm.selectedAvailabilities=$event},\"update:selected-availabilities\":function($event){_vm.selectedAvailabilities=$event},\"paginationChange\":function($event){return _vm.updateOptions($event)},\"confirmSelection\":_vm.confirmSelection,\"filterUpdated\":function($event){return _vm.updateFilter($event)},\"update:openFilter\":function($event){_vm.globalOpenFilter=$event},\"update:open-filter\":function($event){_vm.globalOpenFilter=$event}}}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, PropSync, Vue, Watch } from \"vue-property-decorator\";\nimport { Getter } from \"vuex-class\";\nimport AvailabilitySearchResults from \"./AvailabilitySearchResults.vue\";\nimport AvailabilitySearchResultsMobile from \"./AvailabilitySearchResultsMobile.vue\";\n\nimport { ListModel } from \"@/shared/models/listModel\";\nimport { DataOptions } from \"vuetify\";\nimport {\n AvailabilitySearchResult,\n SelectedAvailability,\n} from \"@/shared/models/availability\";\nimport { SearchRestrictionsModel } from \"../reservation-form/types\";\nimport AvailabilitySearchForm, {\n AvailabilitySearchFormModel,\n} from \"./components/AvailabilitySearchForm.vue\";\nimport CalendarBox from \"@/components/calendar/CalendarBox.vue\";\nimport * as _ from \"lodash\";\n\n@Component({\n components: {\n AvailabilitySearchResults,\n AvailabilitySearchResultsMobile,\n CalendarBox,\n AvailabilitySearchForm,\n },\n})\nexport default class AvailabilitySearchGlobal extends Vue {\n open = true;\n @Getter(\"language/language\") language?: string;\n\n searchFormModel: AvailabilitySearchFormModel = {\n period: [],\n numberOfUnits: 1,\n numberOfAdults: 2,\n numberOfChildren: 0,\n numberOfBedrooms: 0,\n numberOfBathrooms: 0,\n childAges: [],\n includeSpecialOffers: true,\n };\n\n @PropSync(\"openFilter\") globalOpenFilter?: boolean;\n @Prop() confirmSelectionLabel?: string;\n @Prop() isMobile?: boolean;\n @Prop() isOpen?: boolean;\n @Prop({ default: false }) isGlobalSearch?: boolean;\n\n get calendarUnitTypeIds() {\n return this.items.result.map((x) => x.accomodationUnitTypeId);\n }\n\n get calendarHighlightPeriod() {\n if (\n !this.searchFormModel.period ||\n this.searchFormModel.period.length < 2\n ) {\n return undefined;\n }\n\n return this.searchFormModel.period;\n }\n\n @Prop({ default: \"table\" }) viewType?: \"table\" | \"calendar\";\n @Watch(\"viewType\")\n viewTypeWatch() {\n this.resetResultsAndSearch();\n }\n\n restrictions: SearchRestrictionsModel | null = null;\n updateRestrictions() {\n const period = [];\n if (this.searchFormModel.period.length === 2) {\n const from = new Date(this.searchFormModel.period[0]);\n const to = new Date(this.searchFormModel.period[1]);\n period.push(from, to);\n }\n\n this.restrictions = {\n period: period,\n numberOfUnits: this.searchFormModel.numberOfUnits,\n numberOfAdults: this.searchFormModel.numberOfAdults,\n numberOfChildren: this.searchFormModel.numberOfChildren,\n numberOfBedrooms: this.searchFormModel.numberOfBedrooms,\n numberOfBathrooms: this.searchFormModel.numberOfBathrooms,\n childrenAges: this.searchFormModel.childAges,\n } as SearchRestrictionsModel;\n }\n\n @Watch(\"restrictions\")\n restrictionsChanged() {\n this.$emit(\"update:restrictions\", _.cloneDeep(this.restrictions));\n }\n\n selectedAvailabilities: SelectedAvailability[] = [];\n @Watch(\"selectedAvailabilities\")\n selectedAvailabilitiesChanged() {\n this.$emit(\"update:selection\", _.cloneDeep(this.selectedAvailabilities));\n }\n\n items: ListModel = {\n result: [],\n count: 0,\n };\n\n options!: DataOptions;\n updateOptions(value: DataOptions) {\n this.options = value;\n if (this.options.page > 1) {\n this.search();\n }\n }\n loading = false;\n\n resetResults() {\n this.selectedAvailabilities = [];\n this.items = {\n result: [],\n count: 0,\n };\n\n this.searched = false;\n\n this.$emit(\"update:reset\");\n }\n\n resetResultsAndForm() {\n this.searchFormModel = {\n period: [],\n numberOfUnits: 1,\n numberOfAdults: 2,\n numberOfChildren: 0,\n numberOfBedrooms: 0,\n numberOfBathrooms: 0,\n childAges: [],\n propertyTypes: [],\n categories: [],\n amenities: [],\n includeSpecialOffers: true,\n };\n\n this.resetResults();\n }\n\n resetResultsAndSearch() {\n if (this.options) {\n this.options.page = 1;\n }\n this.resetResults();\n\n this.search();\n }\n\n updateFilter(filters: any) {\n this.searchFormModel.propertyName = filters.nameFilter;\n this.searchFormModel.cityId = filters.cityId;\n\n if (this.isGlobalSearch) {\n this.searchFormModel.period = filters.dateRangeDates;\n this.searchFormModel.includeOnlyWholeProperties =\n filters.includeOnlyWholeProperties;\n this.searchFormModel.ignoreRestrictions = filters.ignoreRestrictions;\n this.searchFormModel.ignoreUnitTypeCount = filters.ignoreUnitTypeCount;\n this.searchFormModel.includeSpecialOffers = filters.includeSpecialOffers;\n this.searchFormModel.numberOfUnits = filters.numberOfUnits;\n this.searchFormModel.numberOfAdults = filters.numberOfAdults;\n this.searchFormModel.numberOfChildren = filters.numberOfChildren;\n this.searchFormModel.numberOfBedrooms = filters.numberOfBedrooms;\n this.searchFormModel.numberOfBathrooms = filters.numberOfBathrooms;\n this.searchFormModel.fromPrice = filters.fromPrice;\n this.searchFormModel.toPrice = filters.toPrice;\n this.searchFormModel.distanceToBeach = filters.distanceToBeach;\n this.searchFormModel.distanceToCityCenter = filters.distanceToCityCenter;\n this.searchFormModel.propertyTypes = filters.propertyTypes;\n this.searchFormModel.categories = filters.categories;\n this.searchFormModel.amenities = filters.amenities;\n }\n\n this.resetResultsAndSearch();\n }\n\n searched = false;\n\n search() {\n if (this.searchFormModel.period.length != 2) {\n return;\n }\n\n if (!this.searchFormModel.numberOfAdults) {\n this.searchFormModel.numberOfAdults = 2;\n }\n\n const requestModel = {\n arrivalDate: new Date(this.searchFormModel.period[0]),\n departureDate: new Date(this.searchFormModel.period[1]),\n propertyTypeIdsJoined: this.searchFormModel.propertyTypes?.join(\",\"),\n categoryIdsJoined: this.searchFormModel.categories?.join(\",\"),\n amenityIdsJoined: this.searchFormModel.amenities?.join(\",\"),\n ...this.searchFormModel,\n };\n\n this.updateRestrictions();\n\n this.open = false;\n this.loading = true;\n this.searched = true;\n\n this.$emit(\"update:searched\");\n\n Vue.axios\n .get>(\n \"AdvancedSearch/FindAvailability\",\n {\n params: {\n ...requestModel,\n $top:\n this.options &&\n this.options.itemsPerPage != -1 &&\n this.viewType === \"table\"\n ? this.options.itemsPerPage\n : null,\n $skip:\n this.options &&\n this.options.itemsPerPage != -1 &&\n this.viewType === \"table\"\n ? (this.options.page - 1) * this.options.itemsPerPage\n : 0,\n $count: true,\n },\n }\n )\n .then((response) => {\n this.items = response.data;\n\n // parse ratesJSON to rates array\n for (const item of this.items.result) {\n // TODO: (borna, paxlos refactor) sort results maybe?\n item.rates = item.ratesJSON ? JSON.parse(item.ratesJSON) : [];\n for (const rate of item.rates) {\n const selectedAmount = SelectedAvailability.GetCountInArray(\n this.selectedAvailabilities,\n item,\n rate\n );\n item.numberOfAvailableUnits =\n item.numberOfAvailableUnits - selectedAmount;\n }\n }\n })\n .finally(() => {\n this.loading = false;\n this.$emit(\"update:scrollToTop\");\n });\n }\n\n confirmSelection() {\n this.$emit(\"confirmSelection\", _.cloneDeep(this.selectedAvailabilities));\n this.selectedAvailabilities = [];\n }\n\n @Watch(\"isOpen\", { immediate: true })\n isOpenChanged(fresh: boolean) {\n // reset to defaults when opening\n if (fresh) {\n this.resetResultsAndForm();\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailabilitySearchGlobal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailabilitySearchGlobal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AvailabilitySearchGlobal.vue?vue&type=template&id=ea04e7d4&scoped=true&\"\nimport script from \"./AvailabilitySearchGlobal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AvailabilitySearchGlobal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AvailabilitySearchGlobal.vue?vue&type=style&index=0&id=ea04e7d4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ea04e7d4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VContainer,VSpacer})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvailabilitySearchGlobal.vue?vue&type=style&index=0&id=ea04e7d4&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"notification-container\"},[_c('v-slide-y-reverse-transition',{attrs:{\"group\":\"\",\"origin\":\"bottom center 0\"}},_vm._l((_vm.allNotificationMessages),function(item){return _c('v-alert',{key:item.idx,staticClass:\"alert\",attrs:{\"dark\":\"\",\"dismissible\":item.actions ? false : true,\"color\":item.color}},[_c('div',{staticClass:\"content\"},[_c('span',[_vm._v(\" \"+_vm._s(item.localize ? _vm.$t(item.message) : item.message)+\" \"),_vm._l((item.submessages),function(submessage,$index){return _c('div',{key:$index,staticClass:\"hanging-indent\"},[_vm._v(\" \"+_vm._s(item.localize ? _vm.$t(submessage) : submessage)+\" \")])})],2),_c('v-spacer'),(item.actions && item.actions.length === 1)?_c('v-btn',{on:{\"click\":function($event){item.actions[0].fun() && _vm.closeNotification(item)}}},[_vm._v(\" \"+_vm._s(item.actions[0].text)+\" \")]):_vm._e()],1),(item.actions && item.actions.length > 1)?_c('div',{staticClass:\"actions\"},_vm._l((item.actions),function(action,idx){return _c('v-btn',{key:idx,staticClass:\"mt-2\",on:{\"click\":function($event){action.fun() && _vm.closeNotification(item)}}},[_vm._v(\" \"+_vm._s(action.text)+\" \")])}),1):_vm._e()])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Notification } from \"@/store/modules/notifications\";\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { Getter, Action } from \"vuex-class\";\n\n@Component\nexport default class Notifications extends Vue {\n @Getter(\"allNotificationMessages\")\n allNotificationMessages?: Notification[];\n\n @Action(\"closeNotification\") closeNotification?: (x: Notification) => void;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Notifications.vue?vue&type=template&id=341a3f6e&scoped=true&\"\nimport script from \"./Notifications.vue?vue&type=script&lang=ts&\"\nexport * from \"./Notifications.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Notifications.vue?vue&type=style&index=0&id=341a3f6e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"341a3f6e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VSlideYReverseTransition } from 'vuetify/lib/components/transitions';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBtn,VSlideYReverseTransition,VSpacer})\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n"],"sourceRoot":""}