{"version":3,"sources":["webpack:///./src/components/inputs/InputSelect/InputSelect.scss?f328","webpack:///./src/components/AvailableAppointments/AvailableAppointments.scss?ad7b","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./src/components/inputs/InputSelect/InputSelect.vue?d264","webpack:///./src/components/inputs/InputSelect/InputSelect.ts","webpack:///./src/components/inputs/InputSelect/InputSelect.ts?dab5","webpack:///./src/components/inputs/InputSelect/InputSelect.vue","webpack:///./src/views/AppointmentSelection/AppointmentSelection.scss?9799","webpack:///./src/views/AppointmentSelection/AppointmentSelection.vue?3c53","webpack:///./src/components/AvailableAppointments/AvailableAppointments.vue?bd68","webpack:///./src/services/center.service.ts","webpack:///./src/components/AvailableAppointments/AvailableAppointments.ts","webpack:///./src/components/AvailableAppointments/AvailableAppointments.ts?00db","webpack:///./src/components/AvailableAppointments/AvailableAppointments.vue","webpack:///./src/views/AppointmentSelection/AppointmentSelection.ts","webpack:///./src/views/AppointmentSelection/AppointmentSelection.ts?6226","webpack:///./src/views/AppointmentSelection/AppointmentSelection.vue"],"names":["$export","$find","KEY","forced","Array","P","F","find","callbackfn","this","arguments","length","undefined","render","_vm","_h","$createElement","_c","_self","staticClass","class","required","label","attrs","randomId","_v","_s","$t","_e","text","readonly","directives","name","rawName","value","expression","on","$event","$$selectedVal","prototype","filter","call","target","options","o","selected","map","val","_value","multiple","$emit","_l","opt","key","domProps","staticRenderFns","Math","floor","random","toString","setText","selectedOption","x","oldValue","default","deep","component","onEventSelected","showNextButton","next","centerSelected","personId","onSelectChange","referenceDate","formatCenterDate","startDate","onIncrementDateClick","maxDate","onDateInput","EventsAvailable","event","slotId","isEventSelected","onEventClick","formatSlotStartTime","start","loading","get","then","data","centerId","catch","err","response","status","message","dates","date","format","McsisConstants","DefaultDateFormat","SlotTimeFormat","isValid","EmptyString","newDate","add","SubstractDaysParameter","selectedValue","$store","dispatch","setCenterSelected","centerAvailable","center","Number","generateDates","app","getters","appointment","getCenterById","appDate","appEndDate","end","rooId","commit","setAppointment","SwissDateFormat","setDataLoading","fetchCenterAvailable","generateOptions","GetMaxGeneratedSlotDate","res","ecId","setCenterWithAvailabilities","partId","GetFirstSlot","rdvLong","GetSlotsByCenterId","forEach","companyName","push","dataLoading","centerWithAvailabilities","isRdvLong","components","InputSelect","InputDate","InformationBlock","showPrevButton","useTRMGenderChoice","useLongAppointment","$router","params","$route","AvailableAppointments"],"mappings":"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","file":"js/chunk-32a8bc2c.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.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!./InputSelect.scss?vue&type=style&index=0&id=dcc0d6a6&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.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!./InputSelect.scss?vue&type=style&index=0&id=dcc0d6a6&scoped=true&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.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!./AvailableAppointments.scss?vue&type=style&index=0&id=5de6f1c6&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.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!./AvailableAppointments.scss?vue&type=style&index=0&id=5de6f1c6&scoped=true&lang=scss&\"","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"input-base\",class:[ _vm.required === false ? '' : 'input-required']},[(_vm.label && _vm.label.length > 0)?_c('label',{attrs:{\"for\":_vm.randomId}},[_vm._v(_vm._s(_vm.$t(_vm.label)))]):_vm._e(),_c('div',[(_vm.readonly)?_c('span',[_vm._v(_vm._s(_vm.text))]):_vm._e(),(!_vm.readonly)?_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected),expression:\"selected\"}],attrs:{\"id\":_vm.randomId,\"name\":_vm.name},on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selected=$event.target.multiple ? $$selectedVal : $$selectedVal[0]},function($event){return _vm.$emit('change', $event.target.value)}]}},[_c('option',{attrs:{\"disabled\":\"\",\"value\":\"\"}},[_vm._v(_vm._s(_vm.$t('input.selectOption')))]),_vm._l((_vm.options),function(opt){return _c('option',{key:opt.value,domProps:{\"value\":opt.value}},[_vm._v(_vm._s(opt.text))])})],2):_vm._e(),_c('span',{staticClass:\"validity\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Watch } from 'vue-property-decorator';\r\nimport Vue, { WatchOptions } from 'vue';\r\nimport { SelectOptionDTO } from '@/models/SelectOptionDTO';\r\n\r\n@Component\r\nexport default class InputSelect extends Vue {\r\n @Prop({ required: true }) public name?: string;\r\n @Prop() public label?: string;\r\n @Prop({ default: false }) public required?: boolean;\r\n @Prop({ default: false }) public disabled?: boolean;\r\n @Prop({ default: false }) public readonly?: boolean;\r\n @Prop() public value?: string;\r\n @Prop({ required: true }) public options?: SelectOptionDTO[];\r\n protected randomId: string = Math.floor(Math.random() * Math.floor(100000000)).toString();\r\n private selected?: string = '';\r\n private text: string = '';\r\n\r\n protected mounted() {\r\n // this.inputType = 'select';\r\n if (this.value !== undefined) {\r\n this.selected = this.value;\r\n this.setText();\r\n }\r\n }\r\n\r\n protected setText() {\r\n const selectedOption = (this.options as SelectOptionDTO[]).find((x: SelectOptionDTO) => x.value === this.selected);\r\n if (selectedOption) {\r\n this.text = selectedOption.text;\r\n } else {\r\n this.text = '';\r\n }\r\n }\r\n\r\n @Watch('value', { deep: true } as WatchOptions)\r\n protected onValueChanged(value: string, oldValue: string) {\r\n if (oldValue !== value && value !== undefined) {\r\n this.selected = this.value;\r\n this.setText();\r\n }\r\n }\r\n}\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./InputSelect.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!./InputSelect.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InputSelect.vue?vue&type=template&id=dcc0d6a6&scoped=true&\"\nimport script from \"./InputSelect.ts?vue&type=script&lang=ts&\"\nexport * from \"./InputSelect.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./InputSelect.scss?vue&type=style&index=0&id=dcc0d6a6&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 \"dcc0d6a6\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.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!./AppointmentSelection.scss?vue&type=style&index=0&id=12cac4bf&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.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!./AppointmentSelection.scss?vue&type=style&index=0&id=12cac4bf&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"fullpage-wrapper\",attrs:{\"id\":\"appointmentSelectionPage\"}},[_c('h1',[_vm._v(_vm._s(_vm.$t('page.appointmentSelection.pageTitle')))]),_c('AvailableAppointments',{on:{\"eventSelected\":_vm.onEventSelected}}),_c('div',{staticClass:\"bottom-buttons\"},[_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('router-link',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPrevButton),expression:\"showPrevButton\"}],staticClass:\"button button-prev\",attrs:{\"to\":{ name: 'appointment-details' }}},[_vm._v(_vm._s(_vm.$t('buttons.back')))]),_c('button',{staticClass:\"button-next\",attrs:{\"disabled\":!_vm.showNextButton},on:{\"click\":_vm.next}},[_vm._v(_vm._s(_vm.$t('buttons.next'))+\"\\n \")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.options.length > 0)?_c('div',[_c('div',[_c('InputSelect',{key:_vm.options.value,attrs:{\"options\":_vm.options,\"value\":_vm.centerSelected.personId,\"name\":\"center\",\"label\":_vm.$t('page.appointmentSelection.centerSelection')},on:{\"change\":_vm.onSelectChange}})],1),(_vm.centerSelected.personId != null)?_c('div',[_c('div',{staticClass:\"input-base\"},[_c('label',{attrs:{\"for\":\"referenceDate\"}},[_vm._v(_vm._s(_vm.$t('comp.availableAppointment.selectedDate')))]),_c('div',{staticClass:\"date-selector\"},[(_vm.referenceDate > _vm.formatCenterDate(_vm.centerSelected.startDate))?_c('button',{staticClass:\"target button-icon\",attrs:{\"type\":\"button\"},domProps:{\"textContent\":_vm._s('<<')},on:{\"click\":function($event){return _vm.onIncrementDateClick(-1)}}}):_vm._e(),_c('InputDate',{attrs:{\"value\":_vm.referenceDate,\"name\":\"referenceDate\",\"placeholder\":\"01.01.1960\",\"id\":\"referenceDate\",\"min\":_vm.centerSelected.startDate,\"max\":_vm.maxDate,\"typeable\":false},on:{\"input\":function($event){return _vm.onDateInput($event)}}}),_c('button',{staticClass:\"target button-icon\",attrs:{\"type\":\"button\"},domProps:{\"textContent\":_vm._s('>>')},on:{\"click\":function($event){return _vm.onIncrementDateClick(1)}}})],1)]),_c('div',[(_vm.EventsAvailable.length === 0)?_c('div',[_vm._v(_vm._s(_vm.$t('comp.availableAppointment.noFreeRdv')))]):_c('div',[_vm._v(_vm._s(_vm.$t('comp.availableAppointment.freeRdv')))]),_c('div',{staticClass:\"free-slots-list\"},_vm._l((_vm.EventsAvailable),function(event){return _c('div',{key:event.slotId,staticClass:\"free-slot\"},[(_vm.isEventSelected(event))?_c('button',{staticClass:\"eventSelected\",on:{\"click\":function($event){return _vm.onEventClick(event)}}},[_vm._v(_vm._s(_vm.formatSlotStartTime(event.start))+\" \")]):_c('button',{on:{\"click\":function($event){return _vm.onEventClick(event)}}},[_vm._v(_vm._s(_vm.formatSlotStartTime(event.start)))])])}),0)])]):_vm._e()]):(!_vm.loading)?_c('div',[_c('InformationBlock',{attrs:{\"is-html\":true,\"content-key\":\"comp.noSlotAvailable.center\"}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ApiService from './api.service';\r\nimport ApiError from '../exceptions/api.error';\r\nimport { ConfigItemDTO } from '@/models/ConfigItemDTO';\r\nimport { AxiosResponse } from 'axios';\r\nimport { CenterDTO, CenterAvailableDTO } from '@/models/CenterDTO';\r\nimport { PUBLIC_ROOT_API } from '@/config/app.config';\r\n\r\nexport default class CenterService {\r\n\r\n public static async fetchCenters(): Promise> {\r\n return await ApiService.get('/Center/get-all')\r\n .then((value: AxiosResponse) => {\r\n return value.data as AxiosResponse;\r\n });\r\n }\r\n\r\n public static async getCenterById(centerId: number): Promise {\r\n return await ApiService.get(`rdv/Center/get-center-by-id/${centerId}`)\r\n .then((value: AxiosResponse) => {\r\n\r\n return value.data as CenterDTO;\r\n }).catch\r\n ((err) => {\r\n ApiService.get(`rdv/Center/test`);\r\n\r\n throw new ApiError(err.response.status, err.response.data.message);\r\n\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { CenterAvailableDTO, CenterDTO } from '@/models/CenterDTO';\r\nimport { EventDTO } from '@/models/EventDTO';\r\nimport { SelectOptionDTO } from '@/models/SelectOptionDTO';\r\nimport AppointmentService from '@/services/appointment.service';\r\nimport { ActionTypes, GetterTypes } from '@/store-vuex/types';\r\nimport moment from 'moment-timezone';\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport InputDate from '../inputs/InputDate/InputDate';\r\nimport InputSelect from '../inputs/InputSelect/InputSelect';\r\nimport CenterService from '@/services/center.service';\r\nimport { AppointmentDTO } from '@/models/AppointmentDTO';\r\nimport InformationBlock from '../InformationBlock/InformationBlock';\r\nimport { McsisConstants } from '@/models/constants/McsisConstants';\r\n\r\n@Component({\r\n components: {\r\n InputSelect,\r\n InputDate,\r\n InformationBlock,\r\n },\r\n})\r\nexport default class AvailableAppointments extends Vue {\r\n public EventsAvailable: EventDTO[] = [];\r\n public referenceDate: string = '';\r\n public options: SelectOptionDTO[] = [];\r\n public dates: string[] = [];\r\n public maxDate: string = '';\r\n\r\n /**\r\n * Gets the data loading state of the application\r\n * @returns {boolean} True if the data is loading, otherwise false\r\n */\r\n public get loading(): boolean {\r\n return this.$store.getters[GetterTypes.dataLoading];\r\n }\r\n\r\n /**\r\n * Function called in the .vue file in order to format the selected center start date\r\n *\r\n * @param date The startDate field value\r\n * @returns The formatted date withtout time\r\n */\r\n public formatCenterDate(date: string): string {\r\n return moment(date).format(McsisConstants.DefaultDateFormat);\r\n }\r\n\r\n /**\r\n * Function called in the .vue file in order to format the slot start time\r\n *\r\n * @param date The eventStart field value\r\n * @returns The formatted time HH:mm\r\n */\r\n public formatSlotStartTime(date: string): string {\r\n return moment(date).format(McsisConstants.SlotTimeFormat);\r\n }\r\n\r\n /**\r\n * Function called when a text is entered in the input field of the datepicker component\r\n *\r\n * @param value The string date filled in\r\n */\r\n public onDateInput(value: string): void {\r\n const date = moment(value);\r\n this.referenceDate = date.isValid()\r\n ? date.format(McsisConstants.DefaultDateFormat)\r\n : McsisConstants.EmptyString;\r\n }\r\n\r\n /**\r\n * Function called when the selected date is incremented from the calendar\r\n *\r\n * @param value The increment to add in days\r\n */\r\n public onIncrementDateClick(value: number) {\r\n const newDate = moment(this.referenceDate)\r\n .add(value, McsisConstants.SubstractDaysParameter)\r\n .format(McsisConstants.DefaultDateFormat);\r\n\r\n this.referenceDate = newDate < this.centerSelected.startDate\r\n ? this.centerSelected.startDate\r\n : newDate > this.maxDate\r\n ? this.maxDate\r\n : newDate;\r\n }\r\n\r\n /**\r\n * Function called when the selected center changes\r\n *\r\n * @param selectedValue The new selected center\r\n */\r\n public onSelectChange(selectedValue: string) {\r\n // change value of center selected in the store\r\n this.$store.dispatch(ActionTypes.setCenterSelected, this.centerAvailable.find(\r\n (center: CenterAvailableDTO) => center.personId === Number(selectedValue)));\r\n this.referenceDate = moment(this.centerSelected.startDate).format(McsisConstants.DefaultDateFormat);\r\n\r\n this.generateDates();\r\n }\r\n\r\n /**\r\n * Function called when an available slot time is selected\r\n *\r\n * @param event The EventDTO instance for the selected slot time\r\n */\r\n public async onEventClick(event: EventDTO) {\r\n const app = this.$store.getters[GetterTypes.appointment];\r\n const center = await CenterService.getCenterById(Number(this.centerSelected.personId));\r\n\r\n app.appDate = moment(event.start).format();\r\n app.appEndDate = moment(event.end).format();\r\n app.slotId = event.slotId;\r\n app.rooId = event.rooId;\r\n app.center = center as CenterDTO;\r\n\r\n this.$store.commit(ActionTypes.setAppointment, app);\r\n this.$emit('eventSelected');\r\n\r\n this.generateDates();\r\n }\r\n\r\n /**\r\n * Function called to know the CSS style to apply to the button for the slot times when clicked\r\n *\r\n * @param event The selected EventDTO instance\r\n *\r\n * @returns true if selected, otherwise false\r\n */\r\n public isEventSelected(event: EventDTO): boolean {\r\n // true if all\r\n return this.appointment.center != null &&\r\n event.centerId === this.appointment.center.personId &&\r\n this.appointment.appDate != null &&\r\n moment(event.start).format(McsisConstants.SwissDateFormat) ===\r\n moment(this.appointment.appDate).format(McsisConstants.SwissDateFormat) &&\r\n moment(event.start).format(McsisConstants.SlotTimeFormat) ===\r\n moment(this.appointment.appDate).format(McsisConstants.SlotTimeFormat);\r\n }\r\n\r\n /**\r\n * Gets the centers with availabilities\r\n *\r\n * @returns {CenterAvailableDTO[]} The centers with availabilities\r\n */\r\n public get centerAvailable() {\r\n return this.$store.getters[GetterTypes.centerWithAvailabilities];\r\n }\r\n\r\n /**\r\n * Gets the selected center\r\n *\r\n * @returns {CenterAvailableDTO} The selected center\r\n */\r\n public get centerSelected(): CenterAvailableDTO {\r\n return this.$store.getters[GetterTypes.centerSelected];\r\n }\r\n\r\n /**\r\n * Updates the available slots when the selected center changes\r\n */\r\n @Watch('referenceDate')\r\n protected onCenterSelectedChanged() {\r\n if (this.centerSelected.personId !== undefined) {\r\n this.generateDates();\r\n }\r\n }\r\n\r\n /**\r\n * Initializes the component data\r\n */\r\n protected async mounted() {\r\n this.$store.dispatch(ActionTypes.setDataLoading, true);\r\n await this.fetchCenterAvailable();\r\n this.generateOptions();\r\n await AppointmentService.GetMaxGeneratedSlotDate()\r\n .then((res: Date) => {\r\n this.maxDate = moment(res).format(McsisConstants.DefaultDateFormat);\r\n });\r\n\r\n if (this.appointment.center != null) {\r\n const ecId = this.appointment.center.personId;\r\n if (this.centerAvailable.find((center: CenterAvailableDTO) =>\r\n center.personId === Number(ecId)) !== undefined) {\r\n this.$store.dispatch(ActionTypes.setCenterSelected, this.centerAvailable.find(\r\n (center: CenterAvailableDTO) => center.personId === Number(ecId)),\r\n );\r\n }\r\n }\r\n\r\n if (this.appointment.appDate != null && moment(this.appointment.appDate) > moment()) {\r\n this.referenceDate = moment(this.appointment.appDate).format(McsisConstants.DefaultDateFormat);\r\n } else if (this.centerSelected.personId !== undefined) {\r\n this.referenceDate = moment(this.centerSelected.startDate).format(McsisConstants.DefaultDateFormat);\r\n } else {\r\n this.referenceDate = moment().format(McsisConstants.DefaultDateFormat);\r\n }\r\n\r\n this.$store.dispatch(ActionTypes.setDataLoading, false);\r\n }\r\n\r\n /**\r\n * @brief Get center list\r\n */\r\n protected async fetchCenterAvailable() {\r\n this.$store.dispatch(ActionTypes.setCenterWithAvailabilities, []);\r\n if (this.appointment.partId) {\r\n await AppointmentService.GetFirstSlot(this.rdvLong, this.appointment.partId)\r\n .then((res: any) => {\r\n this.$store.dispatch(ActionTypes.setCenterWithAvailabilities, res as CenterAvailableDTO[]);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * @brief fetch free slots\r\n */\r\n protected async generateDates() {\r\n if (this.centerSelected != null && this.referenceDate < this.formatCenterDate(this.centerSelected.startDate)) {\r\n this.EventsAvailable = [];\r\n } else if (this.appointment.partId) {\r\n await AppointmentService.GetSlotsByCenterId(\r\n this.centerSelected.personId,\r\n this.appointment.partId,\r\n this.referenceDate,\r\n this.rdvLong)\r\n .then((res: EventDTO[]) => {\r\n this.EventsAvailable = res;\r\n })\r\n .catch( () => {\r\n this.EventsAvailable = [];\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Gets true if the appointment is a long one, otherwise false\r\n */\r\n private get rdvLong(): boolean {\r\n return this.$store.getters[GetterTypes.isRdvLong];\r\n }\r\n\r\n /**\r\n * Gets the current AppointmentDTO instance\r\n *\r\n * @returns {AppointmentDTO} The current AppointmentDTO instance\r\n */\r\n private get appointment(): AppointmentDTO {\r\n return this.$store.getters[GetterTypes.appointment];\r\n }\r\n\r\n /**\r\n * Generates the list of values for the center dropdown list with availabilities\r\n */\r\n private generateOptions() {\r\n let text = '';\r\n this.centerAvailable.forEach((center: CenterAvailableDTO) => {\r\n text = center.companyName + ' ('\r\n + this.$t('page.appointmentSelection.nextAvailability')\r\n + moment(center.startDate).format(McsisConstants.SwissDateFormat) + ')';\r\n\r\n this.options.push({value: center.personId.toString(), text} as SelectOptionDTO);\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./AvailableAppointments.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./AvailableAppointments.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AvailableAppointments.vue?vue&type=template&id=5de6f1c6&scoped=true&\"\nimport script from \"./AvailableAppointments.ts?vue&type=script&lang=ts&\"\nexport * from \"./AvailableAppointments.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AvailableAppointments.scss?vue&type=style&index=0&id=5de6f1c6&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 \"5de6f1c6\",\n null\n \n)\n\nexport default component.exports","import { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport { GetterTypes } from '@/store-vuex/types';\r\nimport AvailableAppointments from '@/components/AvailableAppointments/AvailableAppointments';\r\nimport { AppointmentDTO } from '@/models/AppointmentDTO';\r\n\r\n/**\r\n * Component showing a datepicker with arrows and the available list of appointments\r\n */\r\n@Component({\r\n components: {\r\n AvailableAppointments,\r\n },\r\n})\r\nexport default class AppointmentSelection extends Vue {\r\n public showPrevButton: boolean = true;\r\n public showNextButton: boolean = false;\r\n\r\n /**\r\n * Gets the current AppointmentDTO instance\r\n *\r\n * @returns {AppointmentDTO} The current AppointmentDTO instance\r\n */\r\n public get appointment(): AppointmentDTO { return this.$store.getters[GetterTypes.appointment]; }\r\n\r\n /**\r\n * Gets true if the current TRM gender has to used otherwise false\r\n *\r\n * @returns {boolean} true or false\r\n */\r\n public get useTRMGenderChoice(): boolean {\r\n return this.$store.getters[GetterTypes.useTRMGenderChoice];\r\n }\r\n\r\n /**\r\n * Gets true if long term appointments have to be used otherwise false\r\n *\r\n * @returns {boolean} true or false\r\n */\r\n public get useLongAppointment(): boolean {\r\n return this.$store.getters[GetterTypes.useLongAppointment];\r\n }\r\n\r\n /**\r\n * Function called when a date is selected\r\n */\r\n public onEventSelected(): void {\r\n this.showNextButton = true;\r\n }\r\n\r\n /**\r\n * Initializes the component data\r\n */\r\n protected async mounted() {\r\n if (!this.useTRMGenderChoice && !this.useLongAppointment) {\r\n this.showPrevButton = false;\r\n }\r\n\r\n this.showNextButton = this.appointment.appDate != null && this.appointment.center != null;\r\n }\r\n\r\n /**\r\n * Function called when the next button is clicked\r\n */\r\n protected next() {\r\n if (this.appointment.slotId !== 0) {\r\n this.$router.push({\r\n name: 'recap',\r\n params: this.$route.params,\r\n });\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./AppointmentSelection.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./AppointmentSelection.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppointmentSelection.vue?vue&type=template&id=12cac4bf&scoped=true&\"\nimport script from \"./AppointmentSelection.ts?vue&type=script&lang=ts&\"\nexport * from \"./AppointmentSelection.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./AppointmentSelection.scss?vue&type=style&index=0&id=12cac4bf&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 \"12cac4bf\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}