\n
All records for today
\n
\n
\n {{rotaData.title}}\n \n
\n {{roleInfo.designator ? `${roleInfo.designator.toUpperCase()}:` : ''}} {{roleInfo.text}}\n * ({{processedData.holiday.type}} {{processedData.holiday.details}})\n
\n
\n
\n
\n \n\n
\n
\n \n {{btnText.designator}}\n \n {{btnText.role}} {{btnText.status ? `/ ${btnText.status}` : ''}}\n \n \n
\n
\n \n {{btnText.clinic}}\n \n
\n
\n \n
\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarActionBtn.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarActionBtn.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CalendarActionBtn.vue?vue&type=template&id=d7850bd2&\"\nimport script from \"./CalendarActionBtn.vue?vue&type=script&lang=js&\"\nexport * from \"./CalendarActionBtn.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CalendarActionBtn.vue?vue&type=style&index=0&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 null,\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 { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VIcon,VTooltip})\n","import locale from '@/locale/index'\nexport const getDayName = (dateStr) => {\n const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n return days[new Date(dateStr).getDay()]\n}\n\nexport const getMonthName = (dateStr) => {\n try {\n const monthNumber = new Date(dateStr).getMonth()\n return locale.months[monthNumber]\n } catch (e) {\n console.log(e)\n return ''\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"white elevation-4 pt-0\",attrs:{\"fluid\":\"\"}},[_c('main-app-bar',{attrs:{\"title\":_vm.$router.currentRoute.meta.title}}),_c('div',[_c('div',{staticClass:\"pt-3\"},[_c('v-sheet',{attrs:{\"height\":\"64\"}},[_c('v-toolbar',{staticClass:\"px-0\",attrs:{\"flat\":\"\",\"color\":\"white\"}},[_c('v-autocomplete',{staticClass:\"font-weight-regular mr-5\",staticStyle:{\"max-width\":\"250px\"},attrs:{\"items\":_vm.employees,\"loading\":_vm.employeeDataLoading,\"disabled\":_vm.isLoading,\"item-text\":\"fullName\",\"item-value\":\"id\",\"dense\":\"\",\"solo\":\"\",\"lighten-1\":\"\",\"hide-details\":\"\",\"placeholder\":\"Employee\",\"label\":\"Choose Employee\",\"height\":\"30px\"},on:{\"change\":_vm.employeeChangeHandler},model:{value:(_vm.currentEmployee),callback:function ($$v) {_vm.currentEmployee=$$v},expression:\"currentEmployee\"}}),_c('div',{staticClass:\"d-flex align-center\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"small\":\"\",\"disabled\":!_vm.showCalendar || _vm.isLoading,\"color\":\"primary\"},on:{\"click\":function($event){return _vm.calendarNav('prev')}}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-left\")])],1),_c('span',{staticClass:\"mx-4 font-weight-bold\"},[_vm._v(_vm._s(_vm.monthTitle))]),_c('v-btn',{staticClass:\"mr-5\",attrs:{\"fab\":\"\",\"small\":\"\",\"disabled\":!_vm.showCalendar || _vm.isLoading,\"color\":\"primary\"},on:{\"click\":function($event){return _vm.calendarNav('next')}}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1),_c('role-colors-legend',{attrs:{\"roles\":_vm.$store.getters.getPersonalRotaRoles}})],1)],1),_c('v-row',{staticClass:\"fill-height px-4\"},[_c('v-col',{staticStyle:{\"position\":\"relative\"},attrs:{\"cols\":\"12\"}},[_c('v-sheet',{attrs:{\"height\":\"1240\"}},[(_vm.showCalendar)?_c('v-calendar',{ref:\"calendar\",attrs:{\"weekdays\":\"1, 2, 3, 4, 5, 6, 0\",\"type\":\"month\",\"color\":\"primary\"},on:{\"change\":_vm.calendarChangeHandler},scopedSlots:_vm._u([{key:\"day\",fn:function(ref){\nvar date = ref.date;\nvar week = ref.week;\nreturn [(_vm.convertedData[date])?_c('v-card',{staticClass:\"caption mt-2\",staticStyle:{\"width\":\"100%\"},attrs:{\"elevation\":\"0\",\"flat\":\"\"},nativeOn:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_vm._l((_vm.convertedData[date][0]),function(clinicData){return _c('div',{key:clinicData.id,staticClass:\"rota-clinic-wrap\",attrs:{\"test\":clinicData.id}},_vm._l((clinicData.rotaDayData),function(item,index){return _c('calendar-action-btn',{key:item.designator + item.roleId + item.employeeId + index,attrs:{\"isSelected\":item.selected,\"data\":item,\"designator\":item.designator,\"tooltipInfo\":_vm.convertedData[date][0].concat( _vm.convertedData[date][1]),\"week\":week},on:{\"click:rota\":function($event){return _vm.rotaCLickHandler($event)}}})}),1)}),(_vm.convertedData[date][1].length)?_c('div',[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"ml-2\",attrs:{\"color\":\"primary\",\"x-small\":\"\"}},on),[_vm._v(\" More \")])]}}],null,true)},[_c('div',{staticClass:\"white\",staticStyle:{\"width\":\"125px\"}},_vm._l((_vm.convertedData[date][1]),function(clinicData){return _c('div',{key:clinicData.id,staticClass:\"rota-clinic-wrap mx-0\",attrs:{\"test\":clinicData.id}},_vm._l((clinicData.rotaDayData),function(item,index){return _c('calendar-action-btn',{key:item.designator + item.roleId + item.employeeId + index,attrs:{\"isSelected\":item.selected,\"data\":item,\"designator\":item.designator,\"tooltipInfo\":_vm.convertedData[date][0].concat( _vm.convertedData[date][1]),\"week\":week},on:{\"click:rota\":function($event){return _vm.rotaCLickHandler($event)},\"contextmenu\":function($event){return _vm.contextMenuHandler($event, week)}}})}),1)}),0)])],1):_vm._e()],2):_vm._e()]}}],null,false,649432520),model:{value:(_vm.start),callback:function ($$v) {_vm.start=$$v},expression:\"start\"}}):_c('div',{staticClass:\"mt-10\"},[_c('h2',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.calendarInfoMsg))])])],1),(!_vm.isRotaLoadingError)?_c('overlay-preloader',{attrs:{\"loading\":_vm.isLoading,\"absolute\":true}}):_vm._e()],1)],1),_c('v-menu',{staticStyle:{\"transform\":\"translateX(-50%)\"},attrs:{\"position-x\":_vm.contextMenuX,\"position-y\":_vm.contextMenuY,\"absolute\":\"\"},model:{value:(_vm.contextMenuModel),callback:function ($$v) {_vm.contextMenuModel=$$v},expression:\"contextMenuModel\"}},[_c('v-list',{attrs:{\"dense\":\"\"}},_vm._l((_vm.items),function(item,index){return _c('v-list-item',{key:index,attrs:{\"link\":\"\"},on:{\"click\":function($event){return _vm.menuItemClickHandler(item.action)}}},[_c('v-list-item-title',[_vm._v(_vm._s(item.title))])],1)}),1)],1)],1),_c('rota-transfer-form',{attrs:{\"selected-items\":_vm.selectedItems,\"unSelectItem\":_vm.unSelectItem,\"clearSelectedList\":_vm.clearSelectedList,\"transferAction\":_vm.reassignPersonalRota},on:{\"successSubmit\":function($event){return _vm.successSubmit($event)}}}),_c('add-rota-record',{attrs:{\"selected-items\":_vm.selectedItems,\"unSelectItem\":_vm.unSelectItem,\"clearSelectedList\":_vm.clearSelectedList,\"transferAction\":_vm.reassignPersonalRota},on:{\"successSubmit\":function($event){return _vm.successSubmit($event)}}}),(_vm.isPermissionForRotaNotes)?_c('rota-note',{attrs:{\"selected-items\":_vm.selectedItems,\"transferAction\":_vm.updateUserRotaNote},on:{\"successSubmit\":_vm.onNoteSuccess}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","
\n \n \n \n \n
\n
\n \n \n \n \n mdi-chevron-left\n \n {{monthTitle}}\n \n mdi-chevron-right\n \n
\n \n \n \n
\n \n \n \n \n \n \n \n
\n \n
\n \n \n More\n \n \n \n \n
\n \n \n \n \n
{{calendarInfoMsg}}
\n \n \n \n \n \n
\n \n \n {{item.title}}\n \n \n \n
\n
\n \n
\n \n
\n
\n \n\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalRota.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonalRota.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PersonalRota.vue?vue&type=template&id=8c1c1ad8&scoped=true&\"\nimport script from \"./PersonalRota.vue?vue&type=script&lang=js&\"\nexport * from \"./PersonalRota.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PersonalRota.vue?vue&type=style&index=0&id=8c1c1ad8&lang=scss&scoped=true&\"\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 \"8c1c1ad8\",\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 { VCalendar } from 'vuetify/lib/components/VCalendar';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAutocomplete,VBtn,VCalendar,VCard,VCol,VContainer,VIcon,VList,VListItem,VListItemTitle,VMenu,VRow,VSheet,VToolbar})\n","// Components\nimport VInput from '../../components/VInput'; // Mixins\n\nimport Rippleable from '../rippleable';\nimport Comparable from '../comparable'; // Utilities\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(VInput, Rippleable, Comparable).extend({\n name: 'selectable',\n model: {\n prop: 'inputValue',\n event: 'change'\n },\n props: {\n id: String,\n inputValue: null,\n falseValue: null,\n trueValue: null,\n multiple: {\n type: Boolean,\n default: null\n },\n label: String\n },\n\n data() {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue\n };\n },\n\n computed: {\n computedColor() {\n if (!this.isActive) return undefined;\n if (this.color) return this.color;\n if (this.isDark && !this.appIsDark) return 'white';\n return 'primary';\n },\n\n isMultiple() {\n return this.multiple === true || this.multiple === null && Array.isArray(this.internalValue);\n },\n\n isActive() {\n const value = this.value;\n const input = this.internalValue;\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false;\n return input.some(item => this.valueComparator(item, value));\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value ? this.valueComparator(value, input) : Boolean(input);\n }\n\n return this.valueComparator(input, this.trueValue);\n },\n\n isDirty() {\n return this.isActive;\n },\n\n rippleState() {\n return !this.disabled && !this.validationState ? 'primary' : this.validationState;\n }\n\n },\n watch: {\n inputValue(val) {\n this.lazyValue = val;\n this.hasColor = val;\n }\n\n },\n methods: {\n genLabel() {\n const label = VInput.options.methods.genLabel.call(this);\n if (!label) return label;\n label.data.on = {\n click: e => {\n // Prevent label from\n // causing the input\n // to focus\n e.preventDefault();\n this.onChange();\n }\n };\n return label;\n },\n\n genInput(type, attrs) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown\n },\n ref: 'input'\n });\n },\n\n onBlur() {\n this.isFocused = false;\n },\n\n onChange() {\n if (this.isDisabled) return;\n const value = this.value;\n let input = this.internalValue;\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = [];\n }\n\n const length = input.length;\n input = input.filter(item => !this.valueComparator(item, value));\n\n if (input.length === length) {\n input.push(value);\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue;\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value;\n } else {\n input = !input;\n }\n\n this.validate(true, input);\n this.internalValue = input;\n this.hasColor = input;\n },\n\n onFocus() {\n this.isFocused = true;\n },\n\n /** @abstract */\n onKeydown(e) {}\n\n }\n});\n//# sourceMappingURL=index.js.map"],"sourceRoot":""}