{"version":3,"sources":["webpack:///./src/components/calendar/CalendarBoxMobile.vue?cddd","webpack:///./src/components/calendar/CalendarBoxMobile.vue?21d2","webpack:///./src/views/CalendarMobile.vue?25e5","webpack:///./src/components/calendar/CalendarBoxMobile.vue?1fb0","webpack:///./src/components/calendar/CalendarBoxMobile.vue","webpack:///./src/components/calendar/CalendarBoxMobile.vue?c8c7","webpack:///./src/components/calendar/CalendarBoxMobile.vue?af42","webpack:///./src/views/CalendarMobile.vue","webpack:///./src/views/CalendarMobile.vue?467b","webpack:///./src/views/CalendarMobile.vue?d253"],"names":["render","_vm","this","_h","$createElement","_c","_self","key","sensitiveKey","staticRenderFns","staticClass","directives","name","rawName","value","expression","modifiers","arg","ref","on","$event","dragging","attrs","config","cell","slot","staticStyle","_v","_s","$t","search","rows","filterFn","onFiltered","_e","leftEdgeDay","rightEdgeDay","w","menu","months","loading","draggedReservation","$vuetify","theme","dark","undefined","style","_l","row","id","class","top","offset","position","length","toggleExpand","propertyLoadingIndicator","ut","calculateOffsets","boxDayStartIdx","boxDayStart","boxDayEnd","allowedToModifyCalendarAvailability","selection","openQuantityEditor","scopedSlots","_u","fn","day","tenantUsesAvailabilityBlockerCalculations","isBlockedOnDay","availabilityOnDay","isOwner","currentSettings","showRatePlans","allowedToModifyCalendar","ratePlanShown","ratePlans","rp","expandRatePlan","shortenName","shortenPaxLos","isDerived","openPriceEditor","isBlocked","$n","price","maximumFractionDigits","ratePlanFieldsShown","field","height","h","textResourceShort","selectableInputPrice","isEqual","Object","assign","utid","rpid","openInputPriceEditor","type","dayFieldValue","OBRatePlanShown","obrp","openRestrictionEditor","u","showUnitStatus","statusId","stopPropagation","openUnitStatusEditor","shortName","mobileSelection","openNewReservationModal","allowedToModifyReservations","reservationDragover","reservationDrop","allReservations","res","maxReservationsInDay","tooltip","openExistingReservation","reservationDrag","reservationDragend","arrivalDate","proxy","calendarReload","showComponent","reservationModalOpen","selectedAvailabilities","reservationRestrictions","reservationId","scrollId","renderReservationModalMobile","tooltipKey","tootipPosition","x","y","ratePlanName","ComponentRenderOverlay","ReservationModalMobile","LEFT_W","_cell","hl","_config","preload","centerOffset","l","t","local","debounce","handleVerticalScroll","trailing","maxWait","handleHorizontalScroll","reg","p","test","unitTypes","some","positionX","positionY","item","event","clientX","clientY","setTimeout","claims","tenantUsesInputPrice","sid","tid","settings","settingsList","find","userId","currentUserId","tenantId","numOfDays","rowHeight","defaultSettings","settingsOpen","val","open","close","listRatePlansIds","showListRatePlans","filter","isDefault","includes","ratePlanId","ratePlan","showOBRatePlans","parentId","expanded","showRatePlanFields","isRestriction","showInputPrice","editor","from","to","topLeft","hasOBRules","hasDerived","parentRatePlanId","tenantUserId","maintenanceAssignedToTenantUserId","accomodationUnitTypeId","accomodationUnitId","toJSDate","plus","days","arrival","Date","UTC","getFullYear","getMonth","getDate","departure","period","push","numberOfUnits","numberOfAdults","numberOfChildren","childrenAges","resId","e","originalDraggedReservation","draggedUnitTypeId","preventDefault","unitRemovedFrom","flatMap","units","removeReservation","addReservation","originalUnitId","requestModel","fromUnitId","toUnitId","originalForCatch","dragged","axios","put","then","$store","dispatch","color","message","timeout","localize","data","fetchAviailabilityAndReservations","fromISO","departureDate","propertyIds","tenantUsesLazyLoadedCalendar","displayedRows","map","catch","finally","left","right","setEdgeDays","diff","filteredProperties","reduce","rAcc","r","reduceHeight","width","fullBox","Math","max","floor","window","daysToDisplay","ceil","firstDateMonth","secondDateMonth","month","screenWidthDiff","innerWidth","language","setLocale","monthShort","setMonths","fresh","initialNavTo","toISODate","internalCurrentDay","navTo","_day","startOf","minus","resetAviailabilityAndReservations","scrollEverything","setBounds","goTo","currentDay","$nextTick","fetchHierarchy","toggleAllRatePlans","autoExpandRatePlans","goToDay","calendarNeedsRefresh","addEventListener","handleArrowKeys","removeEventListener","$refs","scrollLeft","scrollCalendar","debouncedHorizontalScroll","debouncedVerticalScroll","scrollTop","loadTreshold","loadLeft","loadRight","lDiffDays","loadingLeft","repeatLoadLeft","scrollBy","loadingRight","repeatLoadRight","calendar","clientWidth","clientHeight","cellw","scroll","toReturn","forEach","mergeOnRendered","availabilitiesAndReservations","availabilities","reservations","old","ids","toRemove","removeAvailabilities","showUnits","allowedToReadRatePlans","showRestrictions","a","propertyId","blockedDatesCalculations","loadingAvailabilityForPropertyIds","baseHeight","calculateOverbooking","globalFilter","words","split","short","toUpperCase","pax","los","showPAXSuffixInRatePlanName","minPersons","maxPersons","showLOSSuffixInRatePlanName","maxStay","minStay","join","options","scrollTo","immediate","deep","components","RightDrawer","CalendarSettingsForm","CalendarBoxRow","BoxTimeTrack","BoxDayTrack","Search","ReservationTrackBox","CalendarEditor","RequireRole","dragscroll","component","VFadeTransition","VOverlay","VProgressCircular","VSpacer","VTooltip","Resize","Scroll","showDatePicker","CalendarBoxMobile","mixins","GlobalFilterSensitiveMixin","beforeRouteEnter","next","vm","that","beforeRouteLeave"],"mappings":"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","file":"js/CalendarMobile.7feb12f8.js","sourcesContent":["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!./CalendarBoxMobile.vue?vue&type=style&index=1&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!./CalendarBoxMobile.vue?vue&type=style&index=0&id=6336ff90&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('CalendarBoxMobile',{key:_vm.sensitiveKey})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"calendar__wrapper\"},[_c('div',{directives:[{name:\"scroll\",rawName:\"v-scroll.self\",value:(_vm.dateTrackScrolled),expression:\"dateTrackScrolled\",modifiers:{\"self\":true}},{name:\"dragscroll\",rawName:\"v-dragscroll:nochilddrag.x\",arg:\"nochilddrag\",modifiers:{\"x\":true}}],ref:\"date-track\",staticClass:\"date-track__container\",on:{\"dragscrollstart\":function($event){_vm.dragging = true},\"dragscrollend\":function($event){_vm.dragging = false}}},[_c('CalendarBoxRow',{staticClass:\"calendar__header\",attrs:{\"cell\":_vm.config.cell,\"isMobile\":true}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"search-background\"},[(_vm.showSearch)?_c('div',{staticClass:\"d-flex flex-column fill-height\",staticStyle:{\"visibility\":\"hidden\"}},[_c('v-spacer'),_c('div',{staticClass:\"de-emphasize px-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Calendar.Search.Description\"))+\" \")]),_c('v-spacer'),_c('Search',{attrs:{\"value\":_vm.search,\"list\":this.rows,\"filter\":_vm.filterFn},on:{\"update:value\":function($event){_vm.search=$event},\"filtered\":_vm.onFiltered}})],1):_vm._e()])]),_c('template',{slot:\"track\"},[_c('BoxTimeTrack',{attrs:{\"start\":_vm.leftEdgeDay,\"end\":_vm.rightEdgeDay,\"dayW\":_vm.config.cell.w,\"dragging\":_vm.dragging,\"isMobile\":true},on:{\"menu\":function($event){_vm.menu = !_vm.menu}}})],1)],2)],1),_c('div',{directives:[{name:\"scroll\",rawName:\"v-scroll.self.stop\",value:(_vm.calendarScrolled),expression:\"calendarScrolled\",modifiers:{\"self\":true,\"stop\":true}}],ref:\"calendar-outer\",staticClass:\"calendar__container--outer\"},[_c('div',{directives:[{name:\"resize\",rawName:\"v-resize.quiet\",value:(_vm.resized),expression:\"resized\",modifiers:{\"quiet\":true}}],ref:\"calendar-container\",staticClass:\"calendar__container\",on:{\"months\":_vm.months}},[_c('v-fade-transition',[(_vm.loading || (_vm.draggedReservation && _vm.draggedReservation.loading))?_c('v-overlay',{attrs:{\"color\":_vm.$vuetify.theme.dark ? 'white' : undefined}},[_c('v-progress-circular',{attrs:{\"color\":\"primary\",\"size\":\"64\",\"indeterminate\":\"\"}})],1):_vm._e()],1),_c('div',{staticClass:\"calendar__rows-wrapper\",style:(_vm.fullBoxStyle)},[_c('transition-group',{attrs:{\"name\":\"fade-slow\",\"tag\":\"div\"}},_vm._l((_vm.displayedRows),function(row){return _c('CalendarBoxRow',{key:row.id,class:{\n 'primary lighten-2': !_vm.$vuetify.theme.dark,\n },style:({ top: row.offset + 'px', position: 'absolute' }),attrs:{\"hideHeader\":_vm.rows.length <= 1,\"item\":row,\"cell\":_vm.config.cell,\"isNameRow\":true,\"isMobile\":true,\"isProperty\":true}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"calendar__left--button upercase--text font-weight-bold property__row white--text\",on:{\"click\":function($event){return _vm.toggleExpand(row)}}},[_c('i',{staticClass:\"fa fa-fw fa-hotel mr-1\"}),_c('text-highlight',{attrs:{\"queries\":_vm.search}},[_vm._v(_vm._s(row.name))]),_c('v-spacer'),(_vm.propertyLoadingIndicator(row.id))?_c('v-progress-circular',{attrs:{\"color\":\"white\",\"size\":\"18\",\"width\":\"3\",\"indeterminate\":\"\"}}):_vm._e()],1)]),_vm._l((row.unitTypes),function(ut){return _c('CalendarBoxRow',{key:ut.id,attrs:{\"item\":ut,\"cell\":_vm.config.cell,\"isNameRow\":true,\"isMobile\":true}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"calendar__left--button unitType primary--text\",on:{\"click\":function($event){return _vm.toggleExpand(ut)}}},[_c('div',{staticClass:\"v-btn v-btn--flat v-btn--round v-btn--icon v-size--x-small unit-type__icon\"},[_c('i',{staticClass:\"fa fa-fw fa-bed font-size: 14px\",staticStyle:{\"font-size\":\"12px\"}})]),_c('text-highlight',{attrs:{\"queries\":_vm.search}},[_vm._v(_vm._s(ut.name))])],1)]),_c('CalendarBoxRow',{attrs:{\"cell\":_vm.config.cell,\"isMobile\":true},on:{\"expanded\":_vm.calculateOffsets}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"calendar__left--button primary--text only-on-hover--trigger\"},[_c('text-highlight',{attrs:{\"queries\":_vm.search}},[_vm._v(\"Av.\")])],1)]),_c('template',{slot:\"track\"},[_c('BoxDayTrack',{staticClass:\"primary--text\",attrs:{\"startIdx\":_vm.boxDayStartIdx,\"from\":_vm.boxDayStart,\"to\":_vm.boxDayEnd,\"cell\":_vm.config.cell,\"isMobile\":true,\"selectable\":_vm.allowedToModifyCalendarAvailability,\"selection\":_vm.selection.row === ut ? _vm.selection.selection : null},on:{\"update:selection\":function($event){_vm.selection = { row: ut, selection: $event }},\"single\":function($event){return _vm.openQuantityEditor(ut, $event)},\"selected\":function($event){return _vm.openQuantityEditor(ut, $event)}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var day = ref.day;\nreturn [_c('div',{staticClass:\"day-track--center\",class:{\n 'blocked-availability':\n _vm.tenantUsesAvailabilityBlockerCalculations &&\n ut.isBlockedOnDay(day),\n }},[_vm._v(\" \"+_vm._s(ut.availabilityOnDay(day, _vm.isOwner))+\" \")])]}}],null,true)})],1)],2),(\n _vm.currentSettings.showRatePlans && _vm.allowedToModifyCalendar\n )?_c('div',_vm._l((_vm.ratePlanShown(ut.ratePlans)),function(rp){return _c('CalendarBoxRow',{key:rp.id,attrs:{\"item\":rp,\"cell\":_vm.config.cell,\"isMobile\":true},on:{\"expanded\":_vm.calculateOffsets}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"calendar__left--button only-on-hover--trigger text--lighten-1 padding-sides-1\",class:{\n 'black--text text--lighten-1': !_vm.$vuetify.theme.dark,\n 'white--text': _vm.$vuetify.theme.dark,\n },staticStyle:{\"height\":\"100%\"},on:{\"click\":function($event){return _vm.expandRatePlan(rp)}}},[_c('span',{staticClass:\"font-8 d-flex flex-column align-center flex-grow-1\"},[_c('div',[_vm._v(_vm._s(_vm.shortenName(rp.name)))]),_c('div',[_vm._v(_vm._s(_vm.shortenPaxLos(rp)))])])])]),_c('template',{slot:\"track\"},[_c('BoxDayTrack',{attrs:{\"startIdx\":_vm.boxDayStartIdx,\"from\":_vm.boxDayStart,\"to\":_vm.boxDayEnd,\"cell\":_vm.config.cell,\"isMobile\":true,\"selectable\":!rp.isDerived,\"selection\":_vm.selection.row === rp ? _vm.selection.selection : null},on:{\"update:selection\":function($event){_vm.selection = { row: rp, selection: $event }},\"single\":function($event){return _vm.openPriceEditor(ut, rp, $event)},\"selected\":function($event){return _vm.openPriceEditor(ut, rp, $event)}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var day = ref.day;\nreturn [_c('div',{staticClass:\"day-track--center day-track--center-sm\",class:{\n 'blocked-availability':\n _vm.tenantUsesAvailabilityBlockerCalculations &&\n rp.availabilityOnDay(day)\n ? rp.availabilityOnDay(day).isBlocked\n : false,\n }},[_vm._v(\" \"+_vm._s(rp.availabilityOnDay(day) ? _vm.$n(rp.availabilityOnDay(day).price, { maximumFractionDigits: 0, }) : \"\")+\" \")])]}}],null,true)})],1),_c('div',_vm._l((_vm.ratePlanFieldsShown()),function(field){return _c('CalendarBoxRow',{key:field.key,attrs:{\"cell\":_vm.config.cell,\"isMobile\":true}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"rate__name\",style:({ height: _vm.config.cell.h + 'px' })},[_c('span',[_vm._v(_vm._s(_vm.$t(field.textResourceShort)))])])]),_c('template',{slot:\"track\"},[_c('BoxDayTrack',{attrs:{\"startIdx\":_vm.boxDayStartIdx,\"from\":_vm.boxDayStart,\"to\":_vm.boxDayEnd,\"cell\":_vm.config.cell,\"isMobile\":true,\"selectable\":_vm.selectableInputPrice(field.key, rp.isDerived) &&\n _vm.allowedToModifyCalendar,\"selection\":_vm.isEqual(_vm.selection.row, Object.assign({}, field,\n {utid: ut.id,\n rpid: rp.id}))\n ? _vm.selection.selection\n : null},on:{\"update:selection\":function($event){_vm.selection = {\n row: Object.assign({}, field, {utid: ut.id, rpid: rp.id}),\n selection: $event,\n }},\"single\":function($event){return _vm.openInputPriceEditor(ut, rp, field, $event)},\"selected\":function($event){return _vm.openInputPriceEditor(ut, rp, field, $event)}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var day = ref.day;\nreturn [_c('div',{staticClass:\"day-track--center day-track--center-sm\"},[(\n field.type === 'boolean' &&\n _vm.dayFieldValue(rp, day, field)\n )?_c('i',{staticClass:\"fal fa-check\"}):(field.type === 'number')?_c('span',[_vm._v(_vm._s(_vm.$n(_vm.dayFieldValue(rp, day, field), { maximumFractionDigits: 0, })))]):_vm._e()])]}}],null,true)})],1)],2)}),1),_c('div',_vm._l((_vm.OBRatePlanShown(ut.ratePlans, rp)),function(obrp){return _c('CalendarBoxRow',{key:obrp.id,attrs:{\"item\":obrp,\"cell\":_vm.config.cell,\"isMobile\":true}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"calendar__left--button only-on-hover--trigger text--lighten-1 padding-sides-1\",class:{\n 'black--text text--lighten-1':\n !_vm.$vuetify.theme.dark,\n 'white--text': _vm.$vuetify.theme.dark,\n },staticStyle:{\"height\":\"100%\"}},[_c('span',{staticClass:\"font-8 d-flex flex-column align-center flex-grow-1\"},[_c('div',[_vm._v(_vm._s(_vm.shortenName(obrp.name)))]),_c('div',[_vm._v(_vm._s(_vm.shortenPaxLos(obrp)))])])])]),_c('template',{slot:\"track\"},[_c('BoxDayTrack',{attrs:{\"startIdx\":_vm.boxDayStartIdx,\"from\":_vm.boxDayStart,\"to\":_vm.boxDayEnd,\"cell\":_vm.config.cell,\"isMobile\":true,\"selectable\":!obrp.isDerived,\"selection\":_vm.selection.row === obrp\n ? _vm.selection.selection\n : null},on:{\"update:selection\":function($event){_vm.selection = { row: obrp, selection: $event }},\"single\":function($event){return _vm.openPriceEditor(ut, obrp, $event)},\"selected\":function($event){return _vm.openPriceEditor(ut, obrp, $event)}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var day = ref.day;\nreturn [_c('div',{staticClass:\"day-track--center day-track--center-sm\"},[_vm._v(\" \"+_vm._s(obrp.availabilityOnDay(day) ? _vm.$n(obrp.availabilityOnDay(day).price, { maximumFractionDigits: 0, }) : \"\")+\" \")])]}}],null,true)})],1)],2)}),1),(_vm.currentSettings.showRestrictions)?_c('div',_vm._l((_vm.ratePlanRestrictionFieldsShown),function(field){return _c('CalendarBoxRow',{key:field.key,attrs:{\"cell\":_vm.config.cell,\"isMobile\":true}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"rate__name\",style:({ height: _vm.config.cell.h + 'px' })},[_c('span',[_vm._v(_vm._s(_vm.$t(field.textResourceShort)))])])]),_c('template',{slot:\"track\"},[_c('BoxDayTrack',{attrs:{\"startIdx\":_vm.boxDayStartIdx,\"from\":_vm.boxDayStart,\"to\":_vm.boxDayEnd,\"cell\":_vm.config.cell,\"isMobile\":true,\"selectable\":true,\"selection\":_vm.isEqual(_vm.selection.row, Object.assign({}, field,\n {utid: ut.id,\n rpid: rp.id}))\n ? _vm.selection.selection\n : null},on:{\"update:selection\":function($event){_vm.selection = {\n row: Object.assign({}, field, {utid: ut.id, rpid: rp.id}),\n selection: $event,\n }},\"single\":function($event){return _vm.openRestrictionEditor(ut, rp, field, $event)},\"selected\":function($event){return _vm.openRestrictionEditor(ut, rp, field, $event)}},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var day = ref.day;\nreturn [_c('div',{staticClass:\"day-track--center day-track--center-sm\"},[(\n field.type === 'boolean' &&\n _vm.dayFieldValue(rp, day, field)\n )?_c('i',{staticClass:\"fal fa-check\"}):(field.type === 'number')?_c('span',[_vm._v(_vm._s(_vm.dayFieldValue(rp, day, field)))]):_vm._e()])]}}],null,true)})],1)],2)}),1):_vm._e()],2)}),1):_vm._e(),(_vm.currentSettings.showUnits)?_c('div',_vm._l((ut.units),function(u){return _c('CalendarBoxRow',{key:u.id,style:({ height: u.height + 'px' }),attrs:{\"item\":u,\"cell\":{ h: u.height },\"isMobile\":true}},[_c('template',{slot:\"left\"},[_c('div',{staticClass:\"unit__name\",class:[\n _vm.showUnitStatus\n ? u.statusId == 2\n ? 'unit__name--orange-text'\n : u.statusId == 3\n ? 'unit__name--red-text'\n : 'unit__name--green-text'\n : 'unit__name--green-text' ],style:({ height: u.height + 'px' }),on:{\"click\":function($event){$event.stopPropagation();return _vm.openUnitStatusEditor(ut, u, $event)}}},[_c('span',[_vm._v(_vm._s(u.shortName))])])]),_c('template',{slot:\"track\"},[_c('BoxDayTrack',{attrs:{\"startIdx\":_vm.boxDayStartIdx,\"from\":_vm.boxDayStart,\"to\":_vm.boxDayEnd,\"isForReservations\":true,\"cell\":{ w: _vm.config.cell.w, h: u.height },\"isMobile\":true,\"selectable\":true,\"selection\":_vm.selection.row === u ? _vm.selection.selection : null,\"mobileSelection\":_vm.mobileSelection.row === u\n ? _vm.mobileSelection.selection\n : null},on:{\"update:selection\":function($event){_vm.selection = { row: u, selection: $event }},\"update:mobileSelection\":function($event){_vm.mobileSelection = { row: u, selection: $event }},\"single\":function($event){return _vm.openNewReservationModal(ut, u, $event)},\"selected\":function($event){return _vm.openNewReservationModal(ut, u, $event)},\"dragover\":function($event){_vm.allowedToModifyReservations &&\n _vm.reservationDragover(u, $event)},\"drop\":function($event){_vm.allowedToModifyReservations &&\n _vm.reservationDrop(u, $event)}},scopedSlots:_vm._u([{key:\"overlay\",fn:function(){return _vm._l((u.allReservations()),function(res){return _c('ReservationTrackBox',{key:res.id,staticClass:\"cursor-pointer\",attrs:{\"trackStart\":_vm.boxDayStart,\"trackStartIdx\":_vm.boxDayStartIdx,\"reservation\":res,\"cellWidth\":_vm.config.cell.w,\"cellHeight\":u.height,\"numberOfReservations\":u.maxReservationsInDay,\"isMobile\":true},on:{\"update:tooltip\":function($event){_vm.tooltip = $event},\"click\":function($event){return _vm.openExistingReservation($event)},\"drag\":function($event){return _vm.reservationDrag(ut, $event)},\"dragend\":function($event){_vm.allowedToModifyReservations &&\n _vm.reservationDragend()}}},[_vm._v(_vm._s(res.arrivalDate))])})},proxy:true}],null,true)})],1)],2)}),1):_vm._e()],2)})],2)}),1)],1),_c('RequireRole',{attrs:{\"policy\":\"MODIFY_CALENDAR_AVAILABILITY\"}},[_c('CalendarEditor',{ref:\"editor\",attrs:{\"isMobile\":true},on:{\"closed\":function($event){_vm.selection = { row: null, selection: null }},\"calendarReload\":_vm.calendarReload}})],1),_c('RequireRole',{attrs:{\"policy\":\"MODIFY_RESERVATIONS\"}},[(_vm.renderReservationModalMobile)?_c('ComponentRenderOverlay',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var showComponent = ref.showComponent;\nreturn [(showComponent)?_c('ReservationModalMobile',{attrs:{\"open\":_vm.reservationModalOpen,\"availabilities\":_vm.selectedAvailabilities,\"restrictions\":_vm.reservationRestrictions,\"reservationId\":_vm.reservationId,\"scrollId\":_vm.scrollId,\"fromCalendar\":true},on:{\"update:open\":function($event){_vm.reservationModalOpen=$event},\"closed\":function($event){_vm.mobileSelection.selection = null;\n _vm.renderReservationModalMobile = false;},\"ready\":function($event){_vm.reservationModalOpen = true},\"calendarReload\":_vm.calendarReload}}):_vm._e()]}}],null,false,3987687516)}):_vm._e()],1),_c('v-tooltip',{key:'tt' + _vm.tooltipKey,attrs:{\"value\":!!_vm.tooltip,\"position-x\":_vm.tootipPosition.x,\"position-y\":_vm.tootipPosition.y,\"bottom\":\"\"},on:{\"click\":function($event){_vm.tooltip = null}}},[(!!_vm.tooltip)?_c('div',[_c('div',[_vm._v(\"Name: \"+_vm._s(_vm.tooltip.ratePlanName))])]):_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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Vue, Watch, Ref } from \"vue-property-decorator\";\nimport RightDrawer from \"@/components/misc/RightDrawer.vue\";\nimport {\n CalendarPropertyView,\n CalendarBoxConfig,\n CalendarWindow,\n CalendarUnitTypeView,\n ratePlanFields,\n CalendarRatePlanAccomodationUnitTypeView,\n CalendarUnitView,\n CalendarExpandableRow,\n} from \"./CalendarTypes\";\nimport CalendarBoxRow from \"./CalendarBoxRow.vue\";\nimport CalendarSettingsForm from \"./CalendarSettingsForm.vue\";\nimport BoxTimeTrack from \"./BoxTimeTrack.vue\";\nimport BoxDayTrack, { SelectedEvent } from \"./BoxDayTrack.vue\";\nimport ReservationTrackBox from \"./ReservationTrackBox.vue\";\nimport CalendarEditor from \"./CalendarEditor.vue\";\nimport Search from \"./Search.vue\";\nimport { dragscroll } from \"vue-dragscroll\";\nimport { DateTime } from \"luxon\";\nimport _ from \"lodash\";\nimport { Action, Getter } from \"vuex-class\";\nimport { GlobalFilterProperty } from \"@/store/modules/globalFilters\";\nimport { SelectedAvailability } from \"@/shared/models/availability\";\nconst ComponentRenderOverlay = () =>\n import(\"@/components/misc/ComponentRenderOverlay.vue\");\nconst ReservationModalMobile = () =>\n import(\"@/components/reservation-form/ReservationModalMobile.vue\");\nimport { SearchRestrictionsModel } from \"@/components/reservation-form/types\";\nimport {\n CalendarNumOfDays,\n CalendarRowHeight,\n CalendarSettings,\n} from \"@/store/modules/calendar\";\nimport { Notification } from \"@/store/modules/notifications\";\nimport { JwtClaims } from \"@/store/modules/auth\";\nimport { policyChecker } from \"@/shared/roles\";\nimport RequireRole from \"@/components/misc/RequireRole.vue\";\n\nconst LEFT_W = 48;\n\nconst _cell = {\n w: 48,\n h: 32,\n hl: 32,\n};\n\nconst _config: CalendarBoxConfig = {\n cell: _cell,\n preload: 10,\n centerOffset: 3,\n};\n\n@Component({\n components: {\n RightDrawer,\n CalendarSettingsForm,\n CalendarBoxRow,\n BoxTimeTrack,\n BoxDayTrack,\n Search,\n ReservationTrackBox,\n CalendarEditor,\n ReservationModalMobile,\n RequireRole,\n ComponentRenderOverlay,\n },\n directives: {\n dragscroll,\n },\n})\nexport default class CalendarBoxMobile extends Vue {\n menu = false;\n dragging = false;\n renderReservationModalMobile = false;\n\n tooltip: any = null;\n get tooltipKey() {\n return this.tooltip?.reservationId ?? 1;\n }\n get tootipPosition() {\n return { x: this.tooltip?.positionX ?? 0, y: this.tooltip?.positionY ?? 0 };\n }\n\n showTooltip(item: any, event: MouseEvent) {\n this.tooltip = {\n ratePlanName: item.name,\n positionX: event.clientX,\n positionY: event.clientY,\n };\n setTimeout(() => {\n this.tooltip = null;\n }, 2000);\n }\n\n @Getter(\"calendar/settings\") settingsList?: CalendarSettings[];\n @Getter(\"auth/claims\") claims?: JwtClaims;\n @Getter(\"language/language\") language?: string;\n @Getter(\"appParams/tenantUsesInputPrice\") tenantUsesInputPrice?: boolean;\n @Getter(\"appParams/tenantUsesLazyLoadedCalendar\")\n tenantUsesLazyLoadedCalendar?: boolean;\n @Getter(\"appParams/tenantUsesAvailabilityBlockerCalculations\")\n tenantUsesAvailabilityBlockerCalculations?: boolean;\n\n @Getter(\"appParams/showPAXSuffixInRatePlanName\")\n showPAXSuffixInRatePlanName?: boolean;\n @Getter(\"appParams/showLOSSuffixInRatePlanName\")\n showLOSSuffixInRatePlanName?: boolean;\n\n get allowedToModifyCalendar() {\n return policyChecker(\"MODIFY_CALENDAR\")(this.claims);\n }\n\n get allowedToModifyReservations() {\n return policyChecker(\"MODIFY_RESERVATIONS\")(this.claims);\n }\n\n get allowedToModifyCalendarAvailability() {\n return policyChecker(\"MODIFY_CALENDAR_AVAILABILITY\")(this.claims);\n }\n\n get allowedToReadRatePlans() {\n return policyChecker(\"READ_CALENDAR_RATEPLANS\")(this.claims);\n }\n\n get showUnitStatus() {\n return policyChecker(\"UNIT_STATUS\")(this.claims);\n }\n\n selectableInputPrice(field: string, isDerived: boolean) {\n return this.tenantUsesInputPrice && field === \"inputPrice\" && !isDerived;\n }\n\n get currentUserId() {\n return this.claims ? +this.claims.sid : 0;\n }\n\n get tenantId() {\n return this.claims ? +this.claims.tid : 0;\n }\n\n get currentSettings() {\n const settings = this.settingsList?.find(\n (x) => x.userId == this.currentUserId && x.tenantId == this.tenantId\n );\n if (settings) {\n settings.numOfDays = \"two-weeks\";\n settings.rowHeight = \"small\";\n return settings;\n } else {\n const defaultSettings = this.settingsList?.find((x) => x.userId == 0);\n if (defaultSettings) {\n defaultSettings.numOfDays = \"two-weeks\";\n defaultSettings.rowHeight = \"small\";\n }\n return defaultSettings;\n }\n }\n get numOfDays(): CalendarNumOfDays {\n return this.currentSettings?.numOfDays ?? \"two-weeks\";\n }\n get rowHeight(): CalendarRowHeight {\n return this.currentSettings?.rowHeight ?? \"small\";\n }\n @Getter(\"calendar/settingsOpen\") settingsOpen?: boolean;\n @Action(\"calendar/openSettings\") open?: () => void;\n @Action(\"calendar/closeSettings\") close?: () => void;\n get internalSettingsOpen() {\n return this.settingsOpen ?? false;\n }\n set internalSettingsOpen(val: boolean) {\n if (val) {\n if (this.open) this.open();\n } else {\n if (this.close) this.close();\n }\n }\n\n config = _config;\n\n search = \"\";\n\n selection: { row: any; selection: [DateTime, DateTime] | null } = {\n row: null,\n selection: null,\n };\n\n mobileSelection: { row: any; selection: DateTime | null } = {\n row: null,\n selection: null,\n };\n\n isEqual = _.isEqual;\n\n ratePlanShown(ratePlans: any[]) {\n const listRatePlansIds = this.currentSettings?.showListRatePlans ?? [];\n return ratePlans.filter((x) => {\n return x.isDefault && listRatePlansIds.includes(x.ratePlanId);\n });\n }\n\n OBRatePlanShown(ratePlans: any[], ratePlan: any) {\n const listRatePlansIds = this.currentSettings?.showListRatePlans ?? [];\n return ratePlans.filter((x) => {\n return (\n !x.isDefault &&\n this.currentSettings?.showOBRatePlans &&\n ratePlan.id === x.parentId &&\n listRatePlansIds.includes(ratePlan.ratePlanId) &&\n ratePlan.expanded\n );\n });\n }\n\n ratePlanFields = ratePlanFields;\n get ratePlanRestrictionFieldsShown() {\n return ratePlanFields.filter(\n (x) =>\n this.currentSettings?.showRatePlanFields.some((y) => y === x.key) &&\n x.isRestriction === true\n );\n }\n\n ratePlanFieldsShown() {\n return ratePlanFields.filter(\n (x) =>\n this.currentSettings?.showRatePlanFields.some((y) => y === x.key) &&\n x.isRestriction === false &&\n this.showInputPrice(x.key)\n );\n }\n\n showInputPrice(key: string) {\n if (key === \"inputPrice\") {\n if (this.tenantUsesInputPrice) {\n return true;\n } else {\n return false;\n }\n }\n\n return true;\n }\n\n @Ref(\"editor\") editor?: CalendarEditor;\n\n openQuantityEditor(ut: CalendarUnitTypeView, event: SelectedEvent) {\n if (!this.editor) return;\n this.selection = {\n row: ut,\n selection: [event.from, event.to],\n };\n this.editor.open(\n ut,\n null,\n null,\n null,\n \"quantity\",\n event.from,\n event.to,\n { x: event.topLeft.x, y: event.topLeft.y + 32 },\n ut.availabilityOnDay(event.from),\n null,\n false,\n false\n );\n }\n openPriceEditor(\n ut: CalendarUnitTypeView,\n rp: CalendarRatePlanAccomodationUnitTypeView,\n event: SelectedEvent\n ) {\n if (!this.editor) return;\n this.selection = {\n row: rp,\n selection: [event.from, event.to],\n };\n const hasOBRules = ut.ratePlans.some(\n (x) => x.parentId === rp.id && !x.isDefault\n );\n const hasDerived =\n ut.ratePlans.some(\n (x) => x.parentId === rp.id && x.isDerived && x.isDefault\n ) ||\n (!rp.isDefault &&\n !rp.isDerived &&\n ut.ratePlans.some(\n (x) =>\n x.parentRatePlanId === rp.ratePlanId && x.isDerived && !x.isDefault\n ));\n this.editor.open(\n ut,\n null,\n rp,\n null,\n \"price\",\n event.from,\n event.to,\n { x: event.topLeft.x, y: event.topLeft.y + 32 },\n rp.availabilityOnDay(event.from)?.price ?? 0,\n null,\n hasOBRules,\n hasDerived\n );\n }\n openRestrictionEditor(\n ut: CalendarUnitTypeView,\n rp: CalendarRatePlanAccomodationUnitTypeView,\n field: { key: string; type: \"number\" | \"boolean\"; textResource: string },\n event: SelectedEvent\n ) {\n if (!this.editor) return;\n const availabilityOnDay = rp.availabilityOnDay(event.from);\n this.selection = {\n row: { ...field, utid: ut.id, rpid: rp.id },\n selection: [event.from, event.to],\n };\n const hasOBRules = ut.ratePlans.some(\n (x) => x.parentId === rp.id && !x.isDefault\n );\n const hasDerived =\n ut.ratePlans.some(\n (x) => x.parentId === rp.id && x.isDerived && x.isDefault\n ) ||\n (!rp.isDefault &&\n !rp.isDerived &&\n ut.ratePlans.some(\n (x) =>\n x.parentRatePlanId === rp.ratePlanId && x.isDerived && !x.isDefault\n ));\n this.editor.open(\n ut,\n null,\n rp,\n field,\n field.type === \"number\" ? \"numberRestriction\" : \"booleanRestriction\",\n event.from,\n event.to,\n { x: event.topLeft.x, y: event.topLeft.y + 32 },\n // prettier-ignore\n availabilityOnDay\n ? availabilityOnDay[field.key]\n : field.type === \"number\" ? 0 : false,\n null,\n hasOBRules,\n hasDerived\n );\n }\n openInputPriceEditor(\n ut: CalendarUnitTypeView,\n rp: CalendarRatePlanAccomodationUnitTypeView,\n field: { key: string; type: \"number\" | \"boolean\"; textResource: string },\n event: SelectedEvent\n ) {\n if (!this.editor) return;\n const availabilityOnDay = rp.availabilityOnDay(event.from);\n this.selection = {\n row: { ...field, utid: ut.id, rpid: rp.id },\n selection: [event.from, event.to],\n };\n const hasOBRules = ut.ratePlans.some(\n (x) => x.parentId === rp.id && !x.isDefault\n );\n const hasDerived =\n ut.ratePlans.some(\n (x) => x.parentId === rp.id && x.isDerived && x.isDefault\n ) ||\n (!rp.isDefault &&\n !rp.isDerived &&\n ut.ratePlans.some(\n (x) =>\n x.parentRatePlanId === rp.ratePlanId && x.isDerived && !x.isDefault\n ));\n this.editor.open(\n ut,\n null,\n rp,\n field,\n \"inputPrice\",\n event.from,\n event.to,\n { x: event.topLeft.x, y: event.topLeft.y + 32 },\n // prettier-ignore\n availabilityOnDay\n ? availabilityOnDay[field.key]\n : field.type === \"number\" ? 0 : false,\n null,\n hasOBRules,\n hasDerived\n );\n }\n\n openUnitStatusEditor(\n ut: CalendarUnitTypeView,\n u: CalendarUnitView,\n event: PointerEvent\n ) {\n if (!this.editor) return;\n\n this.editor.open(\n ut,\n u,\n null,\n null,\n \"unitStatus\",\n DateTime.local(),\n DateTime.local(),\n { x: event.x, y: event.y },\n // prettier-ignore\n {statusId: u.statusId, tenantUserId: u.maintenanceAssignedToTenantUserId},\n null,\n false,\n false\n );\n }\n\n reservationModalOpen = false;\n selectedAvailabilities = [] as SelectedAvailability[] | null;\n reservationRestrictions: SearchRestrictionsModel | null = null;\n reservationId: number | null = null;\n scrollId: string | null = null;\n openNewReservationModal(\n ut: CalendarUnitTypeView,\n u: CalendarUnitView,\n event: SelectedEvent\n ) {\n if (this.reservationModalOpen === false) {\n this.reservationId = null;\n this.scrollId = null;\n\n this.selectedAvailabilities = [\n {\n accomodationUnitTypeId: ut.id,\n accomodationUnitId: u.id,\n },\n ];\n this.selection = {\n row: null,\n selection: null,\n };\n\n const from = event.from.toJSDate();\n const to = event.to.plus({ days: 1 }).toJSDate();\n const arrival = new Date(\n Date.UTC(from.getFullYear(), from.getMonth(), from.getDate())\n );\n const departure = new Date(\n Date.UTC(to.getFullYear(), to.getMonth(), to.getDate())\n );\n const period = [];\n period.push(arrival, departure);\n\n this.reservationRestrictions = {\n period: period,\n numberOfUnits: 1,\n numberOfAdults: 0,\n numberOfChildren: 0,\n childrenAges: [],\n };\n\n this.renderReservationModalMobile = true;\n }\n }\n\n openExistingReservation(event: any) {\n this.selectedAvailabilities = null;\n this.reservationRestrictions = null;\n\n if (!this.allowedToModifyReservations) {\n return;\n }\n\n this.reservationId = event.resId;\n this.scrollId = event.scrollId;\n this.renderReservationModalMobile = true;\n }\n\n originalDraggedReservation: any = null;\n draggedReservation: any = null;\n draggedUnitTypeId = 0;\n reservationDrag(ut: CalendarUnitTypeView, e: any) {\n this.tooltip = null;\n\n if (!this.allowedToModifyReservations) {\n return;\n }\n\n this.originalDraggedReservation = { ...e };\n this.draggedReservation = { ...e };\n this.draggedUnitTypeId = ut.id;\n }\n reservationDragover(u: CalendarUnitView, e: DragEvent) {\n e.preventDefault();\n\n if (u.id !== this.draggedReservation.accomodationUnitId) {\n if (\n this.draggedReservation.accomodationUnitId !==\n this.originalDraggedReservation.accomodationUnitId\n ) {\n const unitRemovedFrom = this.rows\n ?.flatMap((x) => x.unitTypes)\n .flatMap((x) => x.units)\n .find((x) => x.id === this.draggedReservation.accomodationUnitId);\n unitRemovedFrom?.removeReservation(this.draggedReservation);\n }\n\n if (u.id !== this.originalDraggedReservation.accomodationUnitId) {\n u.addReservation(this.draggedReservation);\n }\n\n this.calculateOffsets();\n }\n }\n reservationDrop(u: CalendarUnitView, e: DragEvent) {\n e.preventDefault();\n\n if (u.id !== this.originalDraggedReservation.accomodationUnitId) {\n const originalUnitId = this.originalDraggedReservation.accomodationUnitId;\n\n const unitRemovedFrom = this.rows\n ?.flatMap((x) => x.unitTypes)\n .flatMap((x) => x.units)\n .find(\n (x) => x.id === this.originalDraggedReservation.accomodationUnitId\n );\n unitRemovedFrom?.removeReservation(this.originalDraggedReservation);\n\n this.calculateOffsets();\n\n const requestModel = {\n id: this.originalDraggedReservation.id,\n fromUnitId: originalUnitId,\n toUnitId: u.id,\n };\n\n const originalForCatch = this.originalDraggedReservation;\n const dragged = this.draggedReservation;\n\n dragged.loading = true;\n this.axios\n .put(\"calendar/changeUnit\", requestModel)\n .then((res) => {\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.SaveSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n dragged.id = res.data;\n\n this.fetchAviailabilityAndReservations &&\n this.fetchAviailabilityAndReservations({\n from: DateTime.fromISO(dragged.arrivalDate),\n to: DateTime.fromISO(dragged.departureDate),\n propertyIds: this.tenantUsesLazyLoadedCalendar\n ? this.displayedRows.map((x) => x.id)\n : [],\n });\n })\n .catch(() => {\n unitRemovedFrom?.addReservation(originalForCatch);\n u.removeReservation(dragged);\n })\n .finally(() => {\n dragged.loading = false;\n });\n }\n }\n reservationDragend() {\n if (\n this.draggedReservation.accomodationUnitId !==\n this.originalDraggedReservation.accomodationUnitId\n ) {\n const unitRemovedFrom = this.rows\n ?.flatMap((x) => x.unitTypes)\n .flatMap((x) => x.units)\n .find((x) => x.id === this.draggedReservation.accomodationUnitId);\n unitRemovedFrom?.removeReservation(this.draggedReservation);\n }\n\n this.originalDraggedReservation = null;\n this.draggedReservation = null;\n this.draggedUnitTypeId = 0;\n }\n\n window: CalendarWindow = {\n w: 0,\n h: 0,\n l: this.config.preload * this.config.cell.w,\n t: 0,\n };\n\n leftEdgeDay = DateTime.local();\n rightEdgeDay = this.leftEdgeDay;\n\n get edgeDays() {\n return {\n left: this.leftEdgeDay,\n right: this.rightEdgeDay,\n };\n }\n @Action(\"calendar/setEdgeDays\") setEdgeDays?: (payload: {\n left: DateTime;\n right: DateTime;\n }) => Promise;\n @Watch(\"edgeDays\", { immediate: true })\n edgeDaysWatch() {\n if (this.setEdgeDays) {\n this.setEdgeDays({ left: this.leftEdgeDay, right: this.rightEdgeDay });\n }\n }\n\n get fullBox() {\n return {\n w:\n this.rightEdgeDay.diff(this.leftEdgeDay, \"days\").days *\n this.config.cell.w +\n LEFT_W,\n h: this.filteredProperties.reduce((rAcc, r) => rAcc + r.height, 0),\n };\n }\n get fullBoxStyle() {\n let reduceHeight = 0;\n if (this.filteredProperties.length === 1) {\n reduceHeight = 34;\n }\n return {\n width: this.fullBox.w + \"px\",\n height: this.fullBox.h - reduceHeight + \"px\",\n };\n }\n\n get boxDayStartIdx() {\n return Math.max(\n Math.floor(this.window.l / this.config.cell.w) - this.config.preload,\n 0\n );\n }\n get boxDayStart() {\n return this.leftEdgeDay.plus({ days: this.boxDayStartIdx });\n }\n get boxDayEnd() {\n const daysToDisplay =\n Math.ceil((this.window.w - LEFT_W) / this.config.cell.w) +\n 1 +\n this.config.preload * 2;\n const res = this.boxDayStart.plus({ days: daysToDisplay });\n return this.rightEdgeDay < res ? this.rightEdgeDay : res;\n }\n\n get months() {\n let firstDateMonth;\n let secondDateMonth;\n let month;\n\n const screenWidthDiff = Math.floor(\n (window.innerWidth - 48) / this.config.cell.w\n );\n\n if (this.numOfDays === \"two-weeks\" && this.language) {\n //minus 1 for the extra space on the left\n //plus 8 because the screen actually doesnt show 14 days\n firstDateMonth = this.leftEdgeDay\n .plus({\n days: this.boxDayStartIdx + this.config.preload - 1,\n })\n .setLocale(this.language).monthShort;\n secondDateMonth = this.leftEdgeDay\n .plus({\n days: this.boxDayStartIdx + this.config.preload + screenWidthDiff,\n })\n .setLocale(this.language).monthShort;\n\n if (firstDateMonth === secondDateMonth) {\n month = firstDateMonth;\n if (this.setMonths) {\n this.setMonths(month);\n }\n return month;\n } else {\n month = firstDateMonth + \"/\" + secondDateMonth;\n if (this.setMonths) {\n this.setMonths(month);\n }\n return month;\n }\n }\n\n return \"\";\n }\n\n @Getter(\"calendar/isLoading\") loading?: boolean;\n @Getter(\"calendar/propertiesWithBlockedDatesCalculationInProgress\")\n blockedDatesCalculations?: number[];\n @Getter(\"calendar/loadingAvailabilityAndReservationsForPropertyIds\")\n loadingAvailabilityForPropertyIds?: number[];\n @Getter(\"calendar/properties\") rows?: CalendarPropertyView[];\n @Getter(\"globalFilters/inited\") inited?: boolean;\n\n @Getter(\"calendar/currentDay\") currentDay?: DateTime;\n @Action(\"calendar/goToDay\") goToDay?: (payload: DateTime) => void;\n @Action(\"calendar/setMonths\") setMonths?: (payload: string) => void;\n @Watch(\"currentDay\")\n currentDayChanged(fresh: DateTime) {\n if (\n this.initialNavTo ||\n fresh.toISODate() !== this.internalCurrentDay?.toISODate()\n ) {\n this.navTo(fresh);\n }\n }\n\n initialNavTo = true;\n internalCurrentDay?: DateTime;\n\n navTo(day: DateTime | string) {\n this.initialNavTo = false;\n\n const _day = day instanceof DateTime ? day : DateTime.fromISO(day);\n this.internalCurrentDay = _day;\n\n const left = _day\n .startOf(\"day\")\n .minus({ days: this.config.preload + this.config.centerOffset });\n const right = left.plus({\n days:\n Math.ceil((this.window.w - LEFT_W) / this.config.cell.w) +\n this.config.preload * 2,\n });\n\n this.resetAviailabilityAndReservations &&\n this.resetAviailabilityAndReservations();\n this.fetchAviailabilityAndReservations &&\n this.fetchAviailabilityAndReservations({\n from: left,\n to: right,\n propertyIds: this.tenantUsesLazyLoadedCalendar\n ? this.displayedRows.map((x) => x.id)\n : [],\n }).then(() => {\n this.leftEdgeDay = left;\n this.rightEdgeDay = right;\n\n this.window.l = this.config.preload * this.config.cell.w;\n this.scrollEverything({ left: this.window.l });\n\n this.calculateOffsets();\n });\n }\n\n mounted() {\n this.setBounds();\n\n const goTo =\n this.currentDay?.toISODate() === DateTime.local().toISODate()\n ? DateTime.local()\n : this.currentDay ?? DateTime.local();\n\n this.leftEdgeDay = goTo\n .startOf(\"day\")\n .minus({ days: this.config.preload + this.config.centerOffset });\n this.rightEdgeDay = this.leftEdgeDay.plus({\n days:\n Math.ceil((this.window.w - LEFT_W) / this.config.cell.w) +\n this.config.preload * 2,\n });\n this.$nextTick(() => this.scrollEverything({ left: this.window.l }));\n\n this.fetchHierarchy &&\n this.fetchHierarchy({ config: this.config }).then(() => {\n this.filteredProperties = this.rows ?? [];\n\n this.toggleAllRatePlans(\n this.currentSettings?.autoExpandRatePlans ?? false\n );\n\n this.goToDay && this.goToDay(goTo);\n });\n\n if (this.calendarNeedsRefresh) {\n //when component is being mounted - we don't need to refresh calendar again\n this.$store.dispatch(\"calendar/setCalendarNeedsRefresh\", false);\n }\n\n window.addEventListener(\"keydown\", this.handleArrowKeys);\n }\n\n destroyed() {\n window.removeEventListener(\"keydown\", this.handleArrowKeys);\n\n this.resetAviailabilityAndReservations &&\n this.resetAviailabilityAndReservations();\n }\n\n touchStartX: number | null = null;\n touchStartY: number | null = null;\n scrollLeftStart: number | null = null;\n\n toggleExpand(item: CalendarExpandableRow) {\n item.expanded = !item.expanded;\n this.calculateOffsets();\n }\n\n resized() {\n this.setBounds();\n }\n\n dateTrackScrolled() {\n if (this.editor && this.editor.menu) {\n this.editor.close();\n }\n\n const left = (this.$refs[\"date-track\"] as Element).scrollLeft;\n this.scrollCalendar({ left: left });\n\n this.debouncedHorizontalScroll();\n }\n\n calendarScrolled() {\n if (this.editor && this.editor.menu) {\n this.editor.close();\n }\n\n this.debouncedVerticalScroll();\n }\n\n handleVerticalScroll() {\n this.window.t = (this.$refs[\"calendar-outer\"] as Element).scrollTop;\n }\n debouncedVerticalScroll = _.debounce(this.handleVerticalScroll, 200, {\n trailing: true,\n maxWait: 1000,\n });\n\n handleHorizontalScroll() {\n if (this.$refs[\"date-track\"]) {\n this.window.l = (this.$refs[\"date-track\"] as Element).scrollLeft;\n const loadTreshold = 120;\n if (this.window.l <= loadTreshold) {\n this.loadLeft();\n } else if (\n this.fullBox.w - this.window.l - this.window.w <=\n loadTreshold\n ) {\n this.loadRight();\n }\n\n if (this.goToDay) {\n const lDiffDays = Math.floor(this.window.l / this.config.cell.w);\n this.internalCurrentDay = this.leftEdgeDay.plus({\n days: lDiffDays + 3,\n });\n if (\n this.internalCurrentDay.toISODate() !== this.currentDay?.toISODate()\n ) {\n this.goToDay(this.internalCurrentDay);\n }\n }\n this.calculateOffsets();\n }\n }\n debouncedHorizontalScroll = _.debounce(this.handleHorizontalScroll, 200, {\n trailing: true,\n maxWait: 2000,\n });\n\n loadingLeft = false;\n repeatLoadLeft = false;\n loadLeft() {\n if (this.loading) {\n return;\n }\n if (this.loadingLeft) {\n this.repeatLoadLeft = true;\n return;\n }\n\n this.leftEdgeDay = this.leftEdgeDay.minus({ days: this.config.preload });\n const scrollBy = this.config.cell.w * this.config.preload;\n this.scrollBy(scrollBy);\n this.window.l += scrollBy;\n\n this.fetchAviailabilityAndReservations &&\n this.fetchAviailabilityAndReservations({\n from: this.leftEdgeDay,\n to: this.leftEdgeDay.plus({ days: this.config.preload - 1 }),\n propertyIds: this.tenantUsesLazyLoadedCalendar\n ? this.displayedRows.map((x) => x.id)\n : [],\n }).then(() => {\n this.loadingLeft = false;\n if (this.repeatLoadLeft) {\n this.repeatLoadLeft = false;\n this.loadLeft();\n }\n });\n }\n\n loadingRight = false;\n repeatLoadRight = false;\n loadRight() {\n if (this.loading) {\n return;\n }\n if (this.loadingRight) {\n this.repeatLoadRight = true;\n return;\n }\n\n this.rightEdgeDay = this.rightEdgeDay.plus({ days: this.config.preload });\n this.fetchAviailabilityAndReservations &&\n this.fetchAviailabilityAndReservations({\n from: this.rightEdgeDay.minus({ days: this.config.preload - 1 }),\n to: this.rightEdgeDay,\n propertyIds: this.tenantUsesLazyLoadedCalendar\n ? this.displayedRows.map((x) => x.id)\n : [],\n }).then(() => {\n this.loadingRight = false;\n if (this.repeatLoadRight) {\n this.repeatLoadRight = false;\n this.loadRight();\n }\n });\n }\n\n setBounds() {\n const calendar = this.$refs[\"calendar-outer\"] as Element;\n this.window.w = calendar.clientWidth;\n this.window.h = calendar.clientHeight;\n\n let cellw = 48;\n switch (this.currentSettings?.numOfDays) {\n case \"week\":\n cellw = Math.max(48, Math.ceil((this.window.w - LEFT_W) / 7));\n break;\n case \"two-weeks\":\n cellw = Math.max(48, Math.ceil((this.window.w - LEFT_W) / 14));\n break;\n case \"month\":\n cellw = Math.max(48, Math.ceil((this.window.w - LEFT_W) / 31));\n break;\n }\n\n if (this.config.cell.w !== cellw) {\n const scroll = Math.floor((this.window.l / this.config.cell.w) * cellw);\n this.scrollEverything({ left: scroll });\n this.config.cell = { ...this.config.cell, w: cellw };\n }\n }\n\n @Getter(\"calendar/availabilitiesAndReservations\")\n availabilitiesAndReservations?: {\n availabilities: any[];\n reservations: any[];\n };\n @Action(\"calendar/removeAvailabilitiesForProperties\")\n removeAvailabilities?: (propertyIds: number[]) => void;\n\n filteredProperties: CalendarPropertyView[] = [];\n get displayedRows(): CalendarPropertyView[] {\n if (this.filteredProperties.length === 0) return [];\n\n const toReturn = this.filteredProperties.filter(\n (p) =>\n !(\n p.offset + p.height <= this.window.t ||\n p.offset >= this.window.t + this.window.h\n )\n );\n\n toReturn.forEach((x) =>\n x.mergeOnRendered(\n this.availabilitiesAndReservations?.availabilities ?? [],\n this.availabilitiesAndReservations?.reservations ?? []\n )\n );\n\n return toReturn;\n }\n\n // query availabilities as properties are rendered for lazy loaded calendar\n @Watch(\"displayedRows\")\n displayedRowsWatch(\n fresh: CalendarPropertyView[],\n old: CalendarPropertyView[]\n ) {\n if (this.tenantUsesLazyLoadedCalendar) {\n if (!_.isEqual(fresh, old)) {\n const ids = fresh\n .filter((x) => !old.some((y) => x.id == y.id))\n .map((x) => x.id);\n if (ids.length > 0) {\n this.fetchAviailabilityAndReservations &&\n this.fetchAviailabilityAndReservations({\n from: this.leftEdgeDay,\n to: this.rightEdgeDay,\n propertyIds: ids,\n });\n }\n\n const toRemove = old\n .filter((x) => !fresh.some((y) => x.id == y.id))\n .map((x) => x.id);\n if (this.removeAvailabilities && toRemove.length > 0) {\n this.removeAvailabilities(toRemove);\n }\n }\n }\n this.$nextTick(() => this.calculateOffsets());\n }\n\n calculateOffsets() {\n let offset = 0;\n for (const r of this.filteredProperties) {\n r.height = r.h(\n this.filteredProperties.length,\n this.config.cell,\n true,\n this.currentSettings?.showUnits ?? false,\n (this.currentSettings?.showRatePlans ?? true) &&\n this.allowedToModifyCalendar,\n this.currentSettings?.showOBRatePlans ?? false,\n this.currentSettings\n ? (this.currentSettings.showRatePlanFields.includes(\"inputPrice\") &&\n this.tenantUsesInputPrice) ??\n false\n : false,\n !this.allowedToReadRatePlans\n ? []\n : this.currentSettings?.showRestrictions\n ? this.currentSettings.showRatePlanFields\n : [],\n this.currentSettings?.showListRatePlans\n ? this.currentSettings.showListRatePlans\n : []\n );\n r.offset = offset;\n offset += r.height;\n }\n }\n\n expandRatePlan(rp: CalendarRatePlanAccomodationUnitTypeView) {\n rp.expanded = !rp.expanded;\n this.calculateOffsets();\n }\n\n toggleAllRatePlans(value: boolean) {\n this.rows?.forEach((x) =>\n x.unitTypes.forEach((e) =>\n e.ratePlans.forEach((rp) => (rp.expanded = value))\n )\n );\n }\n\n filterFn = (reg: RegExp) => (p: CalendarPropertyView) =>\n reg.test(p.name) || p.unitTypes.some((ut) => reg.test(ut.name));\n onFiltered(e: CalendarPropertyView[]) {\n this.filteredProperties = e;\n this.calculateOffsets();\n }\n\n handleArrowKeys(e: KeyboardEvent) {\n if (\"ArrowLeft\" === e.key) {\n this.scrollBy(-8);\n } else if (\"ArrowRight\" === e.key) {\n this.scrollBy(8);\n }\n }\n\n dayFieldValue(\n rp: CalendarRatePlanAccomodationUnitTypeView,\n day: DateTime,\n field: { key: string }\n ) {\n const a = rp.availabilityOnDay(day);\n return a && a[field.key] ? a[field.key] : null;\n }\n\n propertyLoadingIndicator(propertyId: number) {\n return (\n (this.blockedDatesCalculations?.some((x) => x === propertyId) ?? false) ||\n (this.loadingAvailabilityForPropertyIds?.some((x) => x === propertyId) ??\n false)\n );\n }\n\n @Watch(\"numOfDays\")\n numOfDaysChanged() {\n this.setBounds();\n }\n @Watch(\"rowHeight\", { immediate: true })\n rowHeightChanged() {\n let hl = 56;\n switch (this.rowHeight) {\n case \"small\":\n hl = 32;\n break;\n case \"standard\":\n hl = 56;\n break;\n case \"big\":\n hl = 96;\n break;\n }\n\n if (hl !== this.config.cell.hl) {\n this.config.cell = { ...this.config.cell, hl };\n }\n\n if (this.rows) {\n const units = this.rows\n .flatMap((x) => x.unitTypes)\n .flatMap((x) => x.units);\n units.forEach((x) => {\n x.baseHeight = this.config.cell.hl;\n x.calculateOverbooking();\n });\n }\n }\n @Watch(\"currentSettings\", { deep: true })\n settingsChanged(fresh: CalendarSettings, old: CalendarSettings) {\n if (fresh.autoExpandRatePlans != old.autoExpandRatePlans) {\n this.toggleAllRatePlans(fresh.autoExpandRatePlans);\n }\n\n this.$nextTick(() => this.calculateOffsets());\n }\n\n @Getter(\"globalFilters/filteredProperties\")\n globalFilter?: GlobalFilterProperty[];\n get showSearch() {\n return (this.globalFilter?.length ?? 0) > 1;\n }\n\n // getRatePlanFullName(rp: CalendarRatePlanAccomodationUnitTypeView) {\n // let paxSuffix = \"\";\n // let losSuffix = \"\";\n // // const currencySuffix = ` (${rp.currencyCode})`;\n\n // if (this.showPAXSuffixInRatePlanName) {\n // paxSuffix =\n // rp.minPersons === rp.maxPersons\n // ? `, ${rp.minPersons}pax`\n // : `, ${rp.minPersons}-${rp.maxPersons}pax`;\n // }\n\n // if (this.showLOSSuffixInRatePlanName) {\n // losSuffix =\n // rp.maxStay === 0\n // ? `, ${rp.minStay}+LOS`\n // : rp.minStay === rp.maxStay\n // ? `, ${rp.minStay}LOS`\n // : `, ${rp.minStay}-${rp.maxStay}LOS`;\n // }\n\n // return rp.name + paxSuffix + losSuffix; // + currencySuffix;\n // }\n\n shortenName(name: string) {\n if (name.length < 4) {\n return name;\n }\n const words = name.split(\" \");\n let short = \"\";\n words.map((x) => (short += x[0]));\n return short.toUpperCase();\n }\n\n shortenPaxLos(rp: CalendarRatePlanAccomodationUnitTypeView) {\n let pax = \"\";\n let los = \"\";\n\n if (this.showPAXSuffixInRatePlanName) {\n pax =\n rp.minPersons === rp.maxPersons\n ? `${rp.minPersons}`\n : `${rp.minPersons}-${rp.maxPersons}`;\n }\n\n if (this.showLOSSuffixInRatePlanName) {\n los =\n rp.maxStay === 0\n ? `${rp.minStay}`\n : rp.minStay === rp.maxStay\n ? `${rp.minStay}`\n : `${rp.minStay}-${rp.maxStay}`;\n }\n\n return [pax, los].filter((x) => !!x).join(\"/\");\n }\n\n scrollEverything(options: { top?: number; left?: number }) {\n (this.$refs[\"date-track\"] as Element)?.scrollTo({ ...options });\n (this.$refs[\"calendar-container\"] as Element)?.scrollTo({ ...options });\n }\n\n scrollCalendar(options: { top?: number; left?: number }) {\n (this.$refs[\"calendar-container\"] as Element)?.scrollTo({ ...options });\n }\n\n scrollBy(value: number) {\n (this.$refs[\"date-track\"] as Element)?.scrollBy({ left: value });\n (this.$refs[\"calendar-container\"] as Element)?.scrollBy({ left: value });\n }\n\n @Action(\"calendar/fetchHierarchy\") fetchHierarchy?: (payload: {\n config: CalendarBoxConfig;\n accomodationUnitTypeIds?: number[];\n }) => Promise;\n @Action(\"calendar/resetAviailabilityAndReservations\")\n resetAviailabilityAndReservations?: () => void;\n @Action(\"calendar/fetchAviailabilityAndReservations\")\n fetchAviailabilityAndReservations?: (payload: {\n from: DateTime;\n to: DateTime;\n propertyIds: number[];\n }) => Promise;\n\n calendarReload(event: { from: DateTime; to: DateTime }) {\n this.fetchAviailabilityAndReservations &&\n this.fetchAviailabilityAndReservations({\n from: event.from,\n to: event.to,\n propertyIds: this.tenantUsesLazyLoadedCalendar\n ? this.displayedRows.map((x) => x.id)\n : [],\n });\n }\n\n @Getter(\"calendar/calendarNeedsRefresh\")\n calendarNeedsRefresh?: boolean;\n\n //when user opens calendar and click '+' on bottom navigation to create new reservation\n //the components won't be in parent-child relation\n //so ReservationModalMobile can't directly comunicate with CalendarBoxMobile\n //so it will change the state of 'calendarNeedsRefresh' in store instead\n //to trigger this watcher and refresh the calendar when new reservation is created\n @Watch(\"calendarNeedsRefresh\")\n calendarRefreshChanged(fresh: boolean, old: boolean) {\n if (fresh && !old) {\n this.$store.dispatch(\"calendar/setCalendarNeedsRefresh\", false);\n this.fetchAviailabilityAndReservations &&\n this.fetchAviailabilityAndReservations({\n from: this.leftEdgeDay,\n to: this.rightEdgeDay,\n propertyIds: this.tenantUsesLazyLoadedCalendar\n ? this.displayedRows.map((x) => x.id)\n : [],\n });\n }\n }\n\n get isOwner() {\n return policyChecker(\"IS_OWNER_ROLE\")(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!./CalendarBoxMobile.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!./CalendarBoxMobile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CalendarBoxMobile.vue?vue&type=template&id=6336ff90&scoped=true&\"\nimport script from \"./CalendarBoxMobile.vue?vue&type=script&lang=ts&\"\nexport * from \"./CalendarBoxMobile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CalendarBoxMobile.vue?vue&type=style&index=0&id=6336ff90&scoped=true&lang=scss&\"\nimport style1 from \"./CalendarBoxMobile.vue?vue&type=style&index=1&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 \"6336ff90\",\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 { VFadeTransition } from 'vuetify/lib/components/transitions';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VFadeTransition,VOverlay,VProgressCircular,VSpacer,VTooltip})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Resize from 'vuetify/lib/directives/resize'\nimport Scroll from 'vuetify/lib/directives/scroll'\ninstallDirectives(component, {Resize,Scroll})\n","\n\n\n\n\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\nimport CalendarBoxMobile from \"@/components/calendar/CalendarBoxMobile.vue\";\nimport GlobalFilterSensitiveMixin from \"@/mixins/GlobalFilterSensitiveMixin\";\nimport { NavigationGuardNext, Route } from \"node_modules/vue-router/types/router\";\n\n@Component({\n components: { CalendarBoxMobile },\n mixins: [GlobalFilterSensitiveMixin],\n beforeRouteEnter(to: Route, from: Route, next: NavigationGuardNext) {\n next((vm: Vue) => {\n const that = vm as CalendarMobile;\n that.showDatePicker = false;\n });\n },\n beforeRouteLeave(to: Route, from: Route, next: NavigationGuardNext) {\n if(!this.$refs.showDatePicker)\n {\n this.$store.dispatch(\"setShowDatePicker\", true);\n }\n next();\n },\n})\nexport default class CalendarMobile extends Vue {\n showDatePicker = false;\n\n @Watch(\"showDatePicker\", { immediate: true })\n showDatePickerChanged(fresh: boolean) {\n this.showDatePicker = fresh;\n this.$store.dispatch(\"setShowDatePicker\", fresh);\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!./CalendarMobile.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!./CalendarMobile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CalendarMobile.vue?vue&type=template&id=1d3e4642&scoped=true&\"\nimport script from \"./CalendarMobile.vue?vue&type=script&lang=ts&\"\nexport * from \"./CalendarMobile.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 \"1d3e4642\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}