{"version":3,"sources":["webpack:///./src/views/QuestInsurance/QuestInsurance.scss?bc3e","webpack:///./src/services/insurance.service.ts","webpack:///./src/components/inputs/base/AutoComplete/AutoComplete.ts","webpack:///./src/components/inputs/InsuranceAutoComplete/InsuranceAutoComplete.ts","webpack:///./src/components/inputs/InsuranceAutoComplete/InsuranceAutoComplete.vue","webpack:///./src/components/inputs/InsuranceAutoComplete/InsuranceAutoComplete.ts?0967","webpack:///./src/views/QuestIdentity/QuestIdentity.scss?9dab","webpack:///./src/components/inputs/InputTextarea/InputTextarea.vue?ddea","webpack:///./src/components/inputs/InputTextarea/InputTextarea.ts","webpack:///./src/components/inputs/InputTextarea/InputTextarea.ts?1cb7","webpack:///./src/components/inputs/InputTextarea/InputTextarea.vue","webpack:///./src/views/QuestQuestions/QuestQuestions.vue?0e67","webpack:///./src/views/QuestQuestions/QuestQuestions.ts","webpack:///./src/views/QuestQuestions/QuestQuestions.ts?4624","webpack:///./src/views/QuestQuestions/QuestQuestions.vue","webpack:///./src/components/QuestionnaireIdentity/QuestionnaireIdentity.scss?43f9","webpack:///./src/views/QuestDoctor/QuestDoctor.vue?5b03","webpack:///./src/views/QuestDoctor/QuestDoctor.ts","webpack:///./src/views/QuestDoctor/QuestDoctor.ts?8be1","webpack:///./src/views/QuestDoctor/QuestDoctor.vue","webpack:///./src/views/QuestQuestions/QuestQuestions.scss?6894","webpack:///./src/components/inputs/InputEmail/InputEmail.vue?35a7","webpack:///./src/components/inputs/InputEmail/InputEmail.ts","webpack:///./src/components/inputs/InputEmail/InputEmail.ts?3a30","webpack:///./src/components/inputs/InputEmail/InputEmail.vue","webpack:///./src/views/QuestDoctor/QuestDoctor.scss?15ee","webpack:///./src/views/QuestRecap/QuestRecap.vue?c4e8","webpack:///./src/views/QuestRecap/QuestRecap.ts","webpack:///./src/views/QuestRecap/QuestRecap.ts?83cb","webpack:///./src/views/QuestRecap/QuestRecap.vue","webpack:///./src/services/questionnaire.service.ts","webpack:///./src/services/doctor.service.ts","webpack:///./src/components/inputs/DoctorAutoComplete/DoctorAutoComplete.ts","webpack:///./src/components/inputs/DoctorAutoComplete/DoctorAutoComplete.vue","webpack:///./src/components/inputs/DoctorAutoComplete/DoctorAutoComplete.ts?1295","webpack:///./src/views/QuestRecap/QuestRecap.scss?ae31","webpack:///./src/components/RenounceButton/RenounceButton.vue?5b90","webpack:///./src/components/RenounceButton/RenounceButton.ts","webpack:///./src/components/RenounceButton/RenounceButton.ts?bac4","webpack:///./src/components/RenounceButton/RenounceButton.vue","webpack:///./src/views/QuestAddress/QuestAddress.scss?de1d","webpack:///./src/components/QuestionnaireIdentity/QuestionnaireIdentity.vue?e376","webpack:///./src/components/QuestionnaireIdentity/QuestionnaireIdentity.ts","webpack:///./src/components/QuestionnaireIdentity/QuestionnaireIdentity.ts?7b12","webpack:///./src/components/QuestionnaireIdentity/QuestionnaireIdentity.vue","webpack:///./src/views/QuestAddress/QuestAddress.vue?dcdc","webpack:///./src/views/QuestAddress/QuestAddress.ts","webpack:///./src/views/QuestAddress/QuestAddress.ts?8288","webpack:///./src/views/QuestAddress/QuestAddress.vue","webpack:///./src/views/QuestIdentity/QuestIdentity.vue?0984","webpack:///./src/views/QuestIdentity/QuestIdentity.ts","webpack:///./src/views/QuestIdentity/QuestIdentity.ts?618a","webpack:///./src/views/QuestIdentity/QuestIdentity.vue","webpack:///./src/assets/icons/edit.svg","webpack:///./src/views/QuestInsurance/QuestInsurance.vue?00aa","webpack:///./src/views/QuestInsurance/QuestInsurance.ts","webpack:///./src/views/QuestInsurance/QuestInsurance.ts?0d81","webpack:///./src/views/QuestInsurance/QuestInsurance.vue"],"names":["get","then","response","data","items","isOpen","results","search","isLoading","arrowCounter","activedescendant","value","this","name","id","filterResults","undefined","filter","item","toString","toLowerCase","indexOf","result","Value","convertValue","$emit","evt","length","setActiveDescendant","getId","index","i","oldValue","document","addEventListener","handleClickOutside","removeEventListener","required","default","deep","insurances","errorMessage","error","find","x","insName","$el","contains","target","loadInsurances","personId","fetchInsurances","res","map","catch","status","$i18n","t","message","render","staticRenderFns","component","_vm","_h","$createElement","_c","_self","staticClass","class","label","attrs","randomId","_v","_s","$t","_e","readonly","disabled","placeholder","maxlength","domProps","on","$event","Math","floor","random","questionnaire","isRecap","questions","isValidated","preventDefault","onSubmit","onLastMammoUpdate","model","callback","$$v","$set","expression","onHormonalTreatmentUpdate","onHormonalTreatmentSinceValidityCheck","onHormonalTreatmentBeforeNotSinceValidityCheck","onHormonalTreatmentBeforeDurationValidityCheck","onFamilyCancerUpdate","onBreastSymptomsUpdate","onBreastOperationsUpdate","answerChoices","updating","hormonalTreatmentSinceValidity","hormonalTreatmentBeforeNotSinceValidity","hormonalTreatmentBeforeDurationValidity","partId","Number","$route","params","fetchQuestionnaire","QuestQuestion","$store","commit","flagLastMammo","Yes","today","Date","minDate","birthdate","getFullYear","getMonth","getDate","lastMammoDate","flagHormonalTreatment","No","flagHormonalTreatmentBefore","BeforeHT_NoSince","event","isLastMammoDateValid","isHormonalTreatmentSinceValid","isHormonalTreatmentBeforeNotSinceValid","isHormonalTreatmentBeforeDurationValid","updateQuestionnaire","submitter","getters","allPartsValid","$router","push","screening","String","lastMammo","Object","assign","toDto","hormonalTreatment","validity","familyCancer","breastSymptoms","breastOperations","components","LastMammoPart","HormonalTreatmentPart","FamilyCancerPart","BreastSymptomsPart","BreastOperationsPart","StepStatus","RenounceButton","doctor","errors","_l","el","key","noDoctorInList","onNoDoctorInList","directives","rawName","noDoctorOtherInList","onNoDoctorOtherInList","doctorDefault","doctorId","doctorName","doctorAddress","doctorAddressId","noDoctorDefault","state","doctorLastname","doctorOther","doctorOtherLastname","checked","quest","questClone","JSON","parse","stringify","doctorFirstname","doctorLocality","doctorPhone","doctorOtherFirstname","doctorOtherAddress","doctorOtherLocality","doctorOtherPhone","fields","keys","forEach","e","questionnaireValidationErrors","obj","errorFields","instanceFields","includes","DoctorAutoComplete","LocalityAutoComplete","InputText","InputTel","InputCheckbox","inputType","InputBase","onQuit","selectChoices","confirm","InputSelect","InputRadioButton","QuestIdentity","QuestAddress","QuestDoctor","QuestInsurance","QuestQuestions","QuestionnaireService","part","post","signature","requestData","url","consentDate","endpoint","docId","doctorList","noDoctorEntry","i18n","concat","doctors","loadDoctors","formatSearchLabel","fetchDoctors","AutoComplete","renounce","dispatch","onConfirmChange","onCancel","type","_k","keyCode","updatedValue","InputDate","address","localityNotInList","onLocalityNotInList","isPhoneRequired","isMobilePhoneRequired","isProfPhoneRequired","localityDefault","locId","locZipCode","locName","locality","localityManual","addressExists","mobilePhone","professionalPhone","phone","InputEmail","InputTextarea","isIdentityValidated","hideModal","slot","logout","showModal","entries","clearData","QuestionnaireIdentity","ModalTemplate","module","exports","insurance","mask","handleFormValidation","avsError","isMaskValid","avsNumber","startsWith","InsuranceAutoComplete","InputMaskedText"],"mappings":"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","file":"js/chunk-77720b98.js","sourcesContent":["import mod 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!./QuestInsurance.scss?vue&type=style&index=0&id=f298c95a&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/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!./QuestInsurance.scss?vue&type=style&index=0&id=f298c95a&scoped=true&lang=scss&\"","import ApiService from './api.service';\r\nimport { InsuranceDTO } from '../models/InsuranceDTO';\r\n\r\nexport default class InsuranceService {\r\n /**\r\n * Get insurances\r\n *\r\n * @returns {InsuranceDTO[]} a list of InsuranceDTO object\r\n * @throws ApiError\r\n */\r\n public static async fetchInsurances(): Promise {\r\n return await ApiService.get(`${process.env.VUE_APP_PUBLIC_ROOT_API}/insurances`)\r\n .then((response: any) => {\r\n return response.data as InsuranceDTO[];\r\n });\r\n }\r\n}\r\n","import { Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { WatchOptions } from 'vue';\r\nimport { ThingDTO } from '@/models/ThingDTO';\r\n\r\nexport default abstract class AutoComplete extends Vue {\r\n @Prop() public value?: T;\r\n @Prop({ required: true }) public name?: string;\r\n @Prop() public label?: string;\r\n @Prop() public placeholder?: 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 public items: ThingDTO[] = [];\r\n public isOpen: boolean = false;\r\n public results: ThingDTO[] = [];\r\n public search: ThingDTO = {} as ThingDTO;\r\n public isLoading: boolean = false;\r\n public arrowCounter: number = 0;\r\n public activedescendant: string = '';\r\n protected Value: T|undefined;\r\n\r\n public abstract convertValue(): T;\r\n public abstract handleClickOutside(evt: any): void;\r\n\r\n protected onChange(value: string) {\r\n this.search.name = value;\r\n this.search.id = -99;\r\n this.filterResults();\r\n this.isOpen = true;\r\n }\r\n\r\n protected filterResults(): void {\r\n if(this.search.name !== undefined && this.search.name !== null){\r\n this.results = this.items.filter((item) => item.name.toString().toLowerCase().indexOf(this.search.name.toLowerCase()) > -1);\r\n }\r\n }\r\n\r\n /**\r\n * Set Value to the selected element from the autocomplete\r\n */\r\n protected setResult(result: any): void {\r\n this.search = result;\r\n this.isOpen = false;\r\n this.Value = this.convertValue();\r\n this.$emit('input', this.Value);\r\n }\r\n\r\n protected onArrowDown(evt: any): void {\r\n if (this.isOpen) {\r\n if (this.arrowCounter < this.results.length) {\r\n this.arrowCounter = this.arrowCounter + 1;\r\n this.setActiveDescendant();\r\n }\r\n }\r\n }\r\n\r\n protected onArrowUp(): void {\r\n if (this.isOpen) {\r\n if (this.arrowCounter > 0) {\r\n this.arrowCounter = this.arrowCounter - 1;\r\n this.setActiveDescendant();\r\n }\r\n }\r\n }\r\n\r\n protected onEnter(): void {\r\n if (this.results.length > 0 && this.arrowCounter >= 0) {\r\n this.search = this.results[this.arrowCounter];\r\n this.arrowCounter = -1;\r\n this.isOpen = false;\r\n this.Value = this.convertValue();\r\n this.$emit('input', this.Value);\r\n } else {\r\n this.search = {} as ThingDTO;\r\n this.arrowCounter = -1;\r\n this.isOpen = false;\r\n this.Value = undefined;\r\n this.$emit('input', this.Value);\r\n }\r\n }\r\n\r\n protected setActiveDescendant(): void {\r\n this.activedescendant = this.getId(this.arrowCounter);\r\n }\r\n\r\n protected getId(index: number): string {\r\n return `result-item-${index}`;\r\n }\r\n\r\n protected isSelected(i: number): boolean {\r\n return i === this.arrowCounter;\r\n }\r\n\r\n @Watch('items', { deep: true } as WatchOptions)\r\n protected onItemsChanged(value: [], oldValue: []) {\r\n // actually compare them\r\n if (!oldValue || value && value.length !== oldValue.length) {\r\n this.results = value;\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n protected mounted() {\r\n document.addEventListener('click', this.handleClickOutside);\r\n }\r\n\r\n protected destroyed() {\r\n document.removeEventListener('click', this.handleClickOutside);\r\n }\r\n}\r\n","import { Component, Watch } from 'vue-property-decorator';\r\nimport InsuranceService from '@/services/insurance.service';\r\nimport { InsuranceDTO } from '@/models/InsuranceDTO';\r\nimport { ThingDTO } from '@/models/ThingDTO';\r\nimport AutoComplete from '@/components/inputs/base/AutoComplete/AutoComplete';\r\nimport { WatchOptions } from 'vue';\r\nimport ApiError from '@/exceptions/api.error';\r\n\r\n@Component\r\nexport default class InsuranceAutoComplete extends AutoComplete {\r\n public insurances: InsuranceDTO[] = [];\r\n public errorMessage: string = '';\r\n public error: boolean = false;\r\n\r\n public convertValue(): InsuranceDTO {\r\n return this.insurances.find((x) => x.insName === this.search.name) as InsuranceDTO;\r\n }\r\n\r\n public handleClickOutside(evt: any): void {\r\n if (!this.$el.contains(evt.target)) {\r\n this.isOpen = false;\r\n this.arrowCounter = -1;\r\n if (this.search && this.search.id === -99) {\r\n this.$emit('input', undefined);\r\n this.search.name = '';\r\n }\r\n }\r\n }\r\n\r\n protected onChange(value: string): void {\r\n super.onChange(value);\r\n }\r\n\r\n protected filterResults(): void {\r\n super.filterResults();\r\n }\r\n\r\n protected isSelected(i: number): boolean {\r\n return super.isSelected(i);\r\n }\r\n\r\n protected getId(index: number): string {\r\n return super.getId(index);\r\n }\r\n\r\n protected mounted() {\r\n this.loadInsurances();\r\n super.mounted();\r\n\r\n if (this.value) {\r\n this.search = {\r\n id: this.value.personId,\r\n name: this.value.insName,\r\n } as ThingDTO;\r\n }\r\n }\r\n\r\n protected loadInsurances(): void {\r\n InsuranceService.fetchInsurances()\r\n .then((res: InsuranceDTO[]) => {\r\n this.insurances = res.map((x) => x as InsuranceDTO);\r\n this.items = this.insurances.map((x: InsuranceDTO) => {\r\n return { name: x.insName, id: x.personId } as ThingDTO;\r\n });\r\n })\r\n .catch((error: ApiError) => {\r\n this.error = true;\r\n switch (error.status) {\r\n case (500):\r\n this.errorMessage = this.$i18n.t('errorMgs.serverError').toString();\r\n break;\r\n case (401):\r\n this.errorMessage = this.$i18n.t('errorMgs.sessionExpiration').toString();\r\n break;\r\n default:\r\n this.errorMessage = error.message;\r\n }\r\n });\r\n }\r\n\r\n @Watch('value', { deep: true } as WatchOptions)\r\n protected onValueChanged(value: InsuranceDTO, oldValue: InsuranceDTO) {\r\n if (oldValue !== value && value !== undefined && value !== null) {\r\n this.search = {\r\n id: value.personId,\r\n name: value.insName,\r\n } as ThingDTO;\r\n }\r\n\r\n if (value === null || value === undefined) {\r\n this.search = {} as ThingDTO;\r\n }\r\n }\r\n}\r\n","var render, staticRenderFns\nimport script from \"./InsuranceAutoComplete.ts?vue&type=script&lang=ts&\"\nexport * from \"./InsuranceAutoComplete.ts?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 null,\n null\n \n)\n\nexport default component.exports","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/eslint-loader/index.js??ref--13-0!./InsuranceAutoComplete.ts?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/eslint-loader/index.js??ref--13-0!./InsuranceAutoComplete.ts?vue&type=script&lang=ts&\"","import mod 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!./QuestIdentity.scss?vue&type=style&index=0&id=e478f322&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/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!./QuestIdentity.scss?vue&type=style&index=0&id=e478f322&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"input-base input-textarea\",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',{attrs:{\"name\":_vm.name}},[_vm._v(_vm._s(_vm.value))]):_vm._e(),(!_vm.readonly)?_c('textarea',{attrs:{\"name\":_vm.name,\"id\":_vm.randomId,\"required\":_vm.required,\"disabled\":_vm.disabled,\"placeholder\":_vm.placeholder,\"maxlength\":_vm.maxlength},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}):_vm._e(),_c('span',{staticClass:\"validity\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class InputTextarea extends Vue {\r\n @Prop({ required: true }) public name?: string;\r\n @Prop() public label?: string;\r\n @Prop() public placeholder?: 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 maxlength!: number;\r\n protected randomId: string = Math.floor(Math.random() * Math.floor(100000000)).toString();\r\n}\r\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/eslint-loader/index.js??ref--13-0!./InputTextarea.ts?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/eslint-loader/index.js??ref--13-0!./InputTextarea.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InputTextarea.vue?vue&type=template&id=3ac1234e&\"\nimport script from \"./InputTextarea.ts?vue&type=script&lang=ts&\"\nexport * from \"./InputTextarea.ts?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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.questionnaire.questions)?_c('div',{staticClass:\"regular-wrapper\",attrs:{\"id\":\"quest-questions\"}},[(!_vm.isRecap)?_c('h1',[_vm._v(\"3. \"+_vm._s(_vm.$t('pages.healthQuestionnaire'))+\" \"),_c('StepStatus',{attrs:{\"is-valid\":_vm.questionnaire.questions.isValidated}})],1):_vm._e(),(_vm.isRecap)?_c('h2',[_vm._v(\"3. \"+_vm._s(_vm.$t('pages.healthQuestionnaire')))]):_vm._e(),(!_vm.error)?_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('LastMammoPart',{attrs:{\"readonly\":_vm.isRecap},on:{\"input\":_vm.onLastMammoUpdate},model:{value:(_vm.questions.lastMammo),callback:function ($$v) {_vm.$set(_vm.questions, \"lastMammo\", $$v)},expression:\"questions.lastMammo\"}}),_c('HormonalTreatmentPart',{attrs:{\"readonly\":_vm.isRecap},on:{\"input\":_vm.onHormonalTreatmentUpdate,\"hormonal-treatment-since-validity\":_vm.onHormonalTreatmentSinceValidityCheck,\"hormonal-treatment-before-not-since-validity\":_vm.onHormonalTreatmentBeforeNotSinceValidityCheck,\"hormonal-treatment-before-duration-validity\":_vm.onHormonalTreatmentBeforeDurationValidityCheck},model:{value:(_vm.questions.hormonalTreatment),callback:function ($$v) {_vm.$set(_vm.questions, \"hormonalTreatment\", $$v)},expression:\"questions.hormonalTreatment\"}}),_c('FamilyCancerPart',{attrs:{\"readonly\":_vm.isRecap},on:{\"input\":_vm.onFamilyCancerUpdate},model:{value:(_vm.questions.familyCancer),callback:function ($$v) {_vm.$set(_vm.questions, \"familyCancer\", $$v)},expression:\"questions.familyCancer\"}}),_c('BreastSymptomsPart',{attrs:{\"readonly\":_vm.isRecap},on:{\"input\":_vm.onBreastSymptomsUpdate},model:{value:(_vm.questions.breastSymptoms),callback:function ($$v) {_vm.$set(_vm.questions, \"breastSymptoms\", $$v)},expression:\"questions.breastSymptoms\"}}),_c('BreastOperationsPart',{attrs:{\"readonly\":_vm.isRecap},on:{\"input\":_vm.onBreastOperationsUpdate},model:{value:(_vm.questions.breastOperations),callback:function ($$v) {_vm.$set(_vm.questions, \"breastOperations\", $$v)},expression:\"questions.breastOperations\"}}),(!_vm.isRecap)?_c('div',{staticClass:\"bottom-buttons\"},[_c('RenounceButton'),_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('button',{staticClass:\"button-prev\",attrs:{\"id\":\"btn-save-and-quit\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.saveAndQuit')))]),_c('button',{staticClass:\"button-next\",attrs:{\"id\":\"btn-continue\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.continue')))])])],1):_vm._e()],1):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport QuestionnaireService from '@/services/questionnaire.service';\r\nimport { QuestionnaireDTO } from '@/models/QuestionnaireDTO';\r\nimport { AnswerChoices } from '@/models/VariousEnum';\r\nimport LastMammoPart from '@/components/Questionnaire/Health/LastMammoPart/LastMammoPart.vue';\r\nimport HormonalTreatmentPart from '@/components/Questionnaire/Health/HormonalTreatmentPart/HormonalTreatmentPart.vue';\r\nimport FamilyCancerPart from '@/components/Questionnaire/Health/FamilyCancerPart/FamilyCancerPart.vue';\r\nimport BreastSymptomsPart from '@/components/Questionnaire/Health/BreastSymptomsPart/BreastSymptomsPart.vue';\r\nimport BreastOperationsPart from '@/components/Questionnaire/Health/BreastOperationsPart/BreastOperationsPart.vue';\r\nimport { QuestQuestion } from '@/models/QuestQuestion';\r\nimport StepStatus from '@/components/StepStatus/StepStatus.vue';\r\nimport RenounceButton from '@/components/RenounceButton/RenounceButton.vue';\r\n\r\n@Component({\r\n components: {\r\n LastMammoPart,\r\n HormonalTreatmentPart,\r\n FamilyCancerPart,\r\n BreastSymptomsPart,\r\n BreastOperationsPart,\r\n StepStatus,\r\n RenounceButton,\r\n },\r\n})\r\nexport default class QuestQuestions extends Vue {\r\n @Prop({ required: false, default: false }) public isRecap!: boolean;\r\n public partId: number | undefined;\r\n public questionnaire: QuestionnaireDTO = {} as QuestionnaireDTO;\r\n public questions: QuestQuestion = {} as QuestQuestion;\r\n public answerChoices: any = AnswerChoices;\r\n public updating?: boolean = false;\r\n public errorMessage: string = '';\r\n public error: boolean = false;\r\n\r\n private hormonalTreatmentSinceValidity: boolean = true;\r\n private hormonalTreatmentBeforeNotSinceValidity: boolean = true;\r\n private hormonalTreatmentBeforeDurationValidity: boolean = true;\r\n\r\n protected mounted() {\r\n this.partId = Number(this.$route.params.partId);\r\n this.fetchQuestionnaire(this.partId);\r\n }\r\n\r\n /**\r\n * Fetch the questionnaire data with the service\r\n * @param partId The participant ID\r\n */\r\n protected fetchQuestionnaire(partId: number) {\r\n QuestionnaireService.fetchQuestionnaire(partId, 'questions')\r\n .then((response) => {\r\n this.questionnaire = response as QuestionnaireDTO;\r\n this.questions = new QuestQuestion(this.questionnaire.questions);\r\n this.$store.commit('setQuestionnaireQuestions', response.questions)\r\n });\r\n }\r\n\r\n protected isLastMammoDateValid(): boolean {\r\n if (this.questionnaire.questions.flagLastMammo === AnswerChoices.Yes) {\r\n var today = new Date();\r\n var minDate = this.questionnaire.birthdate !== null ? this.questionnaire.birthdate : new Date(today.getFullYear() - 100, today.getMonth(), today.getDate());\r\n var lastMammoDate = this.questionnaire.questions.lastMammoDate;\r\n if (lastMammoDate !== null && minDate !== null && (lastMammoDate > today || lastMammoDate < minDate)) {\r\n return false;\r\n } else if (lastMammoDate !== null && lastMammoDate <= today) {\r\n return true;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n protected isHormonalTreatmentSinceValid(): boolean {\r\n if (this.questionnaire.questions.flagHormonalTreatment === AnswerChoices.Yes) {\r\n return this.hormonalTreatmentSinceValidity;\r\n }\r\n return true;\r\n }\r\n\r\n protected isHormonalTreatmentBeforeNotSinceValid(): boolean {\r\n if (this.questionnaire.questions.flagHormonalTreatment === AnswerChoices.No &&\r\n this.questionnaire.questions.flagHormonalTreatmentBefore === AnswerChoices.BeforeHT_NoSince) {\r\n return this.hormonalTreatmentBeforeNotSinceValidity;\r\n }\r\n return true;\r\n }\r\n\r\n protected isHormonalTreatmentBeforeDurationValid(): boolean {\r\n if (this.questionnaire.questions.flagHormonalTreatment === AnswerChoices.No &&\r\n this.questionnaire.questions.flagHormonalTreatmentBefore === AnswerChoices.BeforeHT_NoSince) {\r\n return this.hormonalTreatmentBeforeDurationValidity;\r\n }\r\n return true;\r\n }\r\n\r\n protected async onSubmit(event: any) {\r\n if (!(\r\n this.isLastMammoDateValid() &&\r\n this.isHormonalTreatmentSinceValid() &&\r\n this.isHormonalTreatmentBeforeNotSinceValid() &&\r\n this.isHormonalTreatmentBeforeDurationValid())) {\r\n return;\r\n }\r\n\r\n await QuestionnaireService.updateQuestionnaire(this.questionnaire, 'questions')\r\n .then(() => {\r\n this.questionnaire.questions.isValidated = true;\r\n this.$store.commit('setQuestionnaireQuestions', this.questionnaire.questions);\r\n if (event.submitter.id === 'btn-continue') {\r\n if (this.$store.getters.allPartsValid) {\r\n this.$router.push({\r\n name: 'recap',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n } else {\r\n // Redirect to part 2\r\n this.$router.push({\r\n name: 'address',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n }\r\n } else {\r\n this.$router.push({\r\n name: 'overview',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected onLastMammoUpdate(): void {\r\n if (this.questions.lastMammo) {\r\n Object.assign(this.questionnaire.questions, this.questions.lastMammo.toDto());\r\n }\r\n }\r\n\r\n protected onHormonalTreatmentUpdate(): void {\r\n if (this.questions.hormonalTreatment) {\r\n Object.assign(this.questionnaire.questions, this.questions.hormonalTreatment.toDto());\r\n }\r\n }\r\n\r\n /**\r\n * Set the hormonalTreatmentSinceValidity based on the received event value\r\n * @param validity The validity of the input\r\n */\r\n protected onHormonalTreatmentSinceValidityCheck(validity: boolean): void {\r\n this.hormonalTreatmentSinceValidity = validity;\r\n }\r\n\r\n /**\r\n * Set the hormonalTreatmentBeforeNotSinceValidity based on the received event value\r\n * @param validity The validity of the input\r\n */\r\n protected onHormonalTreatmentBeforeNotSinceValidityCheck(validity: boolean): void {\r\n this.hormonalTreatmentBeforeNotSinceValidity = validity;\r\n }\r\n\r\n /**\r\n * Set the hormonalTreatmentBeforeDurationValidity based on the received event value\r\n * @param validity The validity of the input\r\n */\r\n protected onHormonalTreatmentBeforeDurationValidityCheck(validity: boolean): void {\r\n this.hormonalTreatmentBeforeDurationValidity = validity;\r\n }\r\n\r\n protected onFamilyCancerUpdate(): void {\r\n if (this.questions.familyCancer) {\r\n Object.assign(this.questionnaire.questions, this.questions.familyCancer.toDto());\r\n }\r\n }\r\n\r\n protected onBreastSymptomsUpdate(): void {\r\n if (this.questions.breastSymptoms) {\r\n Object.assign(this.questionnaire.questions, this.questions.breastSymptoms.toDto());\r\n }\r\n }\r\n\r\n protected onBreastOperationsUpdate(): void {\r\n if (this.questions.breastOperations) {\r\n Object.assign(this.questionnaire.questions, this.questions.breastOperations.toDto());\r\n }\r\n }\r\n}\r\n\r\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/eslint-loader/index.js??ref--13-0!./QuestQuestions.ts?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/eslint-loader/index.js??ref--13-0!./QuestQuestions.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuestQuestions.vue?vue&type=template&id=2dc43812&scoped=true&\"\nimport script from \"./QuestQuestions.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuestQuestions.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./QuestQuestions.scss?vue&type=style&index=0&id=2dc43812&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 \"2dc43812\",\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/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!./QuestionnaireIdentity.scss?vue&type=style&index=0&id=500e6e8f&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/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!./QuestionnaireIdentity.scss?vue&type=style&index=0&id=500e6e8f&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.questionnaire.doctor)?_c('div',{staticClass:\"regular-wrapper\",attrs:{\"id\":\"quest-doctor\"}},[(!_vm.isRecap)?_c('div',[_c('h1',[_vm._v(\"2. \"+_vm._s(_vm.$t('pages.adminQuestionnaire')))]),_c('h2',[_vm._v(\"2.3. \"+_vm._s(_vm.$t('pages.doctor'))+\" (3/3) \"),_c('StepStatus',{attrs:{\"is-valid\":_vm.questionnaire.doctor.isValidated}})],1)]):_vm._e(),(_vm.isRecap)?_c('div',[_c('h3',[_vm._v(\"2.3. \"+_vm._s(_vm.$t('pages.doctor')))])]):_vm._e(),(!_vm.isRecap)?_c('div',{staticClass:\"exclusion-label info-label\"},[_c('p',[_vm._v(_vm._s(_vm.$t('questionnaire.doctor.doctorInfo')))])]):_vm._e(),_c('transition',{attrs:{\"name\":\"pop\"}},[(_vm.errors.length > 0)?_c('div',{staticClass:\"error exclusion-label validation-error\"},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMgs.pleaseCheckData')))]),_c('ul',_vm._l((_vm.errors),function(el,index){return _c('li',{key:index},[_vm._v(_vm._s(_vm.$t((\"validators.doctor.\" + (el[0].errorMessage)))))])}),0)]):_vm._e()]),(!_vm.error)?_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('DoctorAutoComplete',{class:[ _vm.isRecap ? '' : 'small-mb'],attrs:{\"label\":_vm.$t('questionnaire.doctor.doctor'),\"name\":\"doctor\",\"required\":!_vm.noDoctorInList,\"disabled\":_vm.noDoctorInList,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctor),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctor\", $$v)},expression:\"questionnaire.doctor.doctor\"}}),_c('InputCheckbox',{attrs:{\"value\":_vm.noDoctorInList,\"label\":_vm.$t('questionnaire.doctor.noDoctorInList'),\"name\":\"noDoctorInList\",\"required\":false,\"readonly\":_vm.isRecap},on:{\"input\":_vm.onNoDoctorInList}}),(_vm.noDoctorInList)?_c('fieldset',{staticClass:\"quest-doctor-manual\"},[_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorLastname'),\"name\":\"doctorLastname\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorLastname),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorLastname\", $$v)},expression:\"questionnaire.doctor.doctorLastname\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorFirstname'),\"name\":\"doctorFirstname\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorFirstname),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorFirstname\", $$v)},expression:\"questionnaire.doctor.doctorFirstname\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorAddress'),\"name\":\"doctorAddress\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorAddress),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorAddress\", $$v)},expression:\"questionnaire.doctor.doctorAddress\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorLocality'),\"name\":\"doctorLocality\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorLocality),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorLocality\", $$v)},expression:\"questionnaire.doctor.doctorLocality\"}}),_c('InputTel',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorPhone'),\"defaultCountry\":\"CH\",\"name\":\"doctorPhone\",\"mode\":\"international\",\"dynamicPlaceholder\":false,\"placeholder\":\"\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorPhone),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorPhone\", $$v)},expression:\"questionnaire.doctor.doctorPhone\"}})],1):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!!_vm.questionnaire.doctor.doctor),expression:\"!!questionnaire.doctor.doctor\"}]},[_c('DoctorAutoComplete',{class:[ _vm.isRecap ? '' : 'small-mb'],attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorOther'),\"name\":\"doctorOther\",\"disabled\":_vm.noDoctorOtherInList,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorOther),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorOther\", $$v)},expression:\"questionnaire.doctor.doctorOther\"}}),_c('InputCheckbox',{attrs:{\"value\":_vm.noDoctorOtherInList,\"label\":_vm.$t('questionnaire.doctor.noDoctorInList'),\"name\":\"noDoctorOtherInList\",\"readonly\":_vm.isRecap,\"required\":false},on:{\"input\":_vm.onNoDoctorOtherInList}}),(_vm.noDoctorOtherInList)?_c('fieldset',{staticClass:\"quest-doctor-manual\"},[_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorLastname'),\"name\":\"doctorOtherLastname\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorOtherLastname),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorOtherLastname\", $$v)},expression:\"questionnaire.doctor.doctorOtherLastname\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorFirstname'),\"name\":\"doctorOtherFirstname\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorOtherFirstname),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorOtherFirstname\", $$v)},expression:\"questionnaire.doctor.doctorOtherFirstname\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorAddress'),\"name\":\"doctorOtherAddress\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorOtherAddress),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorOtherAddress\", $$v)},expression:\"questionnaire.doctor.doctorOtherAddress\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorLocality'),\"name\":\"doctorOtherLocality\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorOtherLocality),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorOtherLocality\", $$v)},expression:\"questionnaire.doctor.doctorOtherLocality\"}}),_c('InputTel',{attrs:{\"label\":_vm.$t('questionnaire.doctor.doctorPhone'),\"defaultCountry\":\"CH\",\"name\":\"doctorOtherPhone\",\"mode\":\"international\",\"dynamicPlaceholder\":false,\"placeholder\":\"\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.doctor.doctorOtherPhone),callback:function ($$v) {_vm.$set(_vm.questionnaire.doctor, \"doctorOtherPhone\", $$v)},expression:\"questionnaire.doctor.doctorOtherPhone\"}})],1):_vm._e()],1),(!_vm.isRecap)?_c('div',{staticClass:\"bottom-buttons\"},[_c('RenounceButton'),_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('button',{staticClass:\"button-prev\",attrs:{\"id\":\"btn-save-and-quit\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.saveAndQuit')))]),_c('button',{staticClass:\"button-next\",attrs:{\"id\":\"btn-continue\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.continue')))])])],1):_vm._e()],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport QuestionnaireService from '@/services/questionnaire.service';\r\nimport { QuestionnaireDTO } from '@/models/QuestionnaireDTO';\r\nimport DoctorAutoComplete from '@/components/inputs/DoctorAutoComplete/DoctorAutoComplete.vue';\r\nimport LocalityAutoComplete from '@/components/inputs/LocalityAutoComplete/LocalityAutoComplete.vue';\r\nimport InputText from '@/components/inputs/InputText/InputText.vue';\r\nimport InputTel from '@/components/inputs/InputTel/InputTel.vue';\r\nimport InputCheckbox from '@/components/inputs/InputCheckbox/InputCheckbox.vue';\r\nimport { DoctorDTO } from '@/models/DoctorDTO';\r\nimport StepStatus from '@/components/StepStatus/StepStatus.vue';\r\nimport RenounceButton from '@/components/RenounceButton/RenounceButton.vue';\r\n\r\n@Component({\r\n components: {\r\n DoctorAutoComplete,\r\n LocalityAutoComplete,\r\n InputText,\r\n InputTel,\r\n InputCheckbox,\r\n StepStatus,\r\n RenounceButton,\r\n },\r\n})\r\nexport default class QuestDoctor extends Vue {\r\n @Prop({ required: false, default: false }) public isRecap!: boolean;\r\n public partId: number | undefined;\r\n public questionnaire: QuestionnaireDTO = {} as QuestionnaireDTO;\r\n public errorMessage: string = '';\r\n public error: boolean = false;\r\n public noDoctorInList: boolean = false;\r\n public noDoctorOtherInList: boolean = false;\r\n public doctorDefault:DoctorDTO = {\r\n doctorId: -10,\r\n doctorName: this.$i18n.t('questionnaire.doctor.other'),\r\n doctorAddress: '',\r\n doctorAddressId: -10\r\n } as DoctorDTO\r\n public noDoctorDefault:DoctorDTO = {\r\n doctorId: -1,\r\n doctorName: this.$i18n.t('questionnaire.doctor.noDoctor'),\r\n doctorAddress: '',\r\n doctorAddressId: -1\r\n } as DoctorDTO\r\n\r\n /**\r\n * Get an array of all the property names from the questionnaire data in lowercase\r\n */\r\n get instanceFields(): string[] {\r\n if (this.$store.state.questionnaire.doctor) {\r\n let fields: string[] = [];\r\n Object.keys(this.questionnaire.doctor).forEach(e => fields.push(e.toLowerCase()));\r\n return fields;\r\n }\r\n return [];\r\n }\r\n \r\n /**\r\n * Get the errors returned by the API corresponding to the questionnaire data properties\r\n */\r\n get errors(): string[] {\r\n if (this.$store.state.questionnaireValidationErrors) {\r\n const obj = this.$store.state.questionnaireValidationErrors;\r\n let errorFields: string[] = [];\r\n Object.keys(obj).forEach((e) => {\r\n if (this.instanceFields.includes(e.toLowerCase())) {\r\n errorFields.push(obj[e].errors);\r\n }\r\n });\r\n return errorFields;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n protected mounted() {\r\n this.partId = Number(this.$route.params.partId);\r\n // this.fetchQuestionnaire(this.partId);\r\n this.questionnaire = this.$store.state.questionnaire;\r\n\r\n // Set the value when doctor not in list\r\n if (this.questionnaire.doctor.doctor === null || \r\n (this.questionnaire.doctor.doctor !== null && this.questionnaire.doctor.doctor.doctorId === -10)) {\r\n if (this.questionnaire.doctor.doctorLastname) {\r\n this.onNoDoctorInList(true);\r\n }\r\n }\r\n\r\n if (this.questionnaire.doctor.doctorOther === null ||\r\n (this.questionnaire.doctor.doctorOther !== null && this.questionnaire.doctor.doctorOther.doctorId === -10)) {\r\n if (this.questionnaire.doctor.doctorOtherLastname) {\r\n this.onNoDoctorOtherInList(true);\r\n }\r\n }\r\n\r\n // Check questionnaire status : if this part is valid, and we have no doctor -> select \"No Doctor\"\r\n if (this.questionnaire.doctor.isValidated && !this.noDoctorInList) {\r\n if (this.questionnaire.doctor.doctor === null || \r\n (this.questionnaire.doctor.doctor !== null && this.questionnaire.doctor.doctor.doctorId === -1)) {\r\n this.questionnaire.doctor.doctor = this.noDoctorDefault;\r\n }\r\n }\r\n\r\n if (this.questionnaire.doctor.isValidated && !this.noDoctorOtherInList) {\r\n if (this.questionnaire.doctor.doctorOther === null ||\r\n (this.questionnaire.doctor.doctorOther !== null && this.questionnaire.doctor.doctorOther.doctorId === -1)) {\r\n this.questionnaire.doctor.doctorOther = this.noDoctorDefault;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Fetch the questionnaire data with the service\r\n * @param partId The participant ID\r\n */\r\n protected fetchQuestionnaire(partId: number) {\r\n QuestionnaireService.fetchQuestionnaire(partId, 'doctor')\r\n .then((response) => {\r\n this.questionnaire = response as QuestionnaireDTO;\r\n this.$store.commit('setQuestionnaireDoctor', response.doctor);\r\n\r\n if (this.questionnaire.doctor.doctorLastname && !this.questionnaire.doctor.doctor) {\r\n this.noDoctorInList = true;\r\n }\r\n if (this.questionnaire.doctor.doctorOtherLastname && !this.questionnaire.doctor.doctorOther) {\r\n this.noDoctorOtherInList = true;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * If checked, clears the doctor data\r\n * @param checked True if the checkbox is checked, false otherwise\r\n */\r\n protected onNoDoctorInList(checked: boolean) {\r\n this.noDoctorInList = checked;\r\n\r\n // reinitialize data about the doctor\r\n this.questionnaire.doctor.doctor = checked ? this.doctorDefault : null;\r\n }\r\n\r\n /**\r\n * If checked, clears the other doctor data\r\n * @param checked True if the checkbox is checked, false otherwise\r\n */\r\n protected onNoDoctorOtherInList(checked: boolean) {\r\n this.noDoctorOtherInList = checked;\r\n\r\n // reinitialize data about the doctor\r\n this.questionnaire.doctor.doctorOther = checked ? this.doctorDefault : null;\r\n }\r\n\r\n protected toDto(quest: QuestionnaireDTO): QuestionnaireDTO {\r\n let questClone = JSON.parse(JSON.stringify(quest));\r\n\r\n // A doctor was chosen in the dropdown, so clear manual data of the doctor\r\n if (!this.noDoctorInList && quest.doctor.doctor !== null) {\r\n questClone.doctor.doctorFirstname = null;\r\n questClone.doctor.doctorLastname = null;\r\n questClone.doctor.doctorAddress = null;\r\n questClone.doctor.doctorLocality = null;\r\n questClone.doctor.doctorPhone = null;\r\n\r\n // In case \"No doctor\" was chosen, clear the doctor object\r\n if (quest.doctor.doctor.doctorId < 0) {\r\n questClone.doctor.doctor = null;\r\n }\r\n }\r\n\r\n if (!this.noDoctorOtherInList && quest.doctor.doctorOther !== null) {\r\n questClone.doctor.doctorOtherFirstname = null;\r\n questClone.doctor.doctorOtherLastname = null;\r\n questClone.doctor.doctorOtherAddress = null;\r\n questClone.doctor.doctorOtherLocality = null;\r\n questClone.doctor.doctorOtherPhone = null;\r\n\r\n // In case \"No doctor\" was chosen, clear the doctor object\r\n if (quest.doctor.doctorOther.doctorId < 0) {\r\n questClone.doctor.doctorOther = null;\r\n }\r\n }\r\n\r\n // \"Doctor not in list was checked\" so clear the doctor object\r\n if (this.noDoctorInList) {\r\n questClone.doctor.doctor = null;\r\n }\r\n\r\n if (this.noDoctorOtherInList) {\r\n questClone.doctor.doctorOther = null;\r\n }\r\n\r\n return questClone;\r\n }\r\n\r\n protected async onSubmit(event: any) {\r\n const quest = this.toDto(this.questionnaire);\r\n await QuestionnaireService.updateQuestionnaire(quest, 'doctor')\r\n .then(() => {\r\n this.questionnaire.doctor.isValidated = true;\r\n this.$store.commit('setQuestionnaireDoctor', this.questionnaire.doctor);\r\n if (event.submitter.id === 'btn-continue') {\r\n this.$router.push({\r\n name: 'questions',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n } else {\r\n this.$router.push({\r\n name: 'overview',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\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/eslint-loader/index.js??ref--13-0!./QuestDoctor.ts?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/eslint-loader/index.js??ref--13-0!./QuestDoctor.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuestDoctor.vue?vue&type=template&id=061c139e&scoped=true&\"\nimport script from \"./QuestDoctor.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuestDoctor.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./QuestDoctor.scss?vue&type=style&index=0&id=061c139e&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 \"061c139e\",\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/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!./QuestQuestions.scss?vue&type=style&index=0&id=2dc43812&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/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!./QuestQuestions.scss?vue&type=style&index=0&id=2dc43812&scoped=true&lang=scss&\"","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.name}},[_vm._v(_vm._s(_vm.$t(_vm.label)))]):_vm._e(),_c('div',[(_vm.readonly)?_c('span',{attrs:{\"name\":_vm.name}},[_vm._v(_vm._s(_vm.value))]):_vm._e(),(!_vm.readonly)?_c('input',{attrs:{\"type\":_vm.inputType,\"name\":_vm.name,\"required\":_vm.required,\"disabled\":_vm.disabled,\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}):_vm._e(),_c('span',{staticClass:\"validity\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Utilisé pour la page recap, mais TODO:\r\n// Crée une erreur: missing required prop \"option\"\r\nimport { Component } from 'vue-property-decorator';\r\nimport InputBase from '@/components/inputs/base/InputBase';\r\n\r\n@Component\r\nexport default class InputEmail extends InputBase {\r\n protected mounted() {\r\n this.inputType = 'email';\r\n }\r\n}\r\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/eslint-loader/index.js??ref--13-0!./InputEmail.ts?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/eslint-loader/index.js??ref--13-0!./InputEmail.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InputEmail.vue?vue&type=template&id=756deccd&\"\nimport script from \"./InputEmail.ts?vue&type=script&lang=ts&\"\nexport * from \"./InputEmail.ts?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 null,\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/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!./QuestDoctor.scss?vue&type=style&index=0&id=061c139e&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/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!./QuestDoctor.scss?vue&type=style&index=0&id=061c139e&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"regular-wrapper\",attrs:{\"id\":\"quest-doctor\"}},[_c('h1',[_vm._v(\"4. \"+_vm._s(_vm.$t('pages.recap')))]),_c('QuestIdentity',{attrs:{\"is-recap\":_vm.readonly}}),_c('QuestAddress',{attrs:{\"is-recap\":_vm.readonly}}),_c('QuestInsurance',{attrs:{\"is-recap\":_vm.readonly}}),_c('QuestDoctor',{attrs:{\"is-recap\":_vm.readonly}}),_c('QuestQuestions',{attrs:{\"is-recap\":_vm.readonly}}),_c('div',{staticClass:\"bottom-buttons\"},[_c('RenounceButton'),_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('button',{staticClass:\"button-prev\",attrs:{\"id\":\"btn-save-and-quit\",\"type\":\"button\"},on:{\"click\":_vm.onQuit}},[_vm._v(_vm._s(_vm.$t('buttons.saveAndQuit')))]),_c('button',{staticClass:\"button-next\",attrs:{\"id\":\"btn-continue\",\"type\":\"button\"},on:{\"click\":_vm.onSubmit}},[_vm._v(_vm._s(_vm.$t('buttons.sendForm')))])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\nimport InputSelect from '@/components/inputs/InputSelect/InputSelect.vue';\r\nimport InputText from '@/components/inputs/InputText/InputText.vue';\r\nimport InputRadioButton from '@/components/inputs/InputRadioButton/InputRadioButton.vue';\r\nimport { AnswerChoices } from '@/models/VariousEnum';\r\nimport { QuestQuestion } from '@/models/QuestQuestion';\r\nimport { SelectOptionDTO } from '@/models/SelectOptionDTO';\r\nimport { QuestionnaireDTO } from '@/models/QuestionnaireDTO';\r\nimport QuestionnaireService from '@/services/questionnaire.service';\r\nimport QuestIdentity from '@/views/QuestIdentity/QuestIdentity.vue';\r\nimport QuestAddress from '@/views/QuestAddress/QuestAddress.vue';\r\nimport QuestDoctor from '@/views/QuestDoctor/QuestDoctor.vue';\r\nimport QuestInsurance from '@/views/QuestInsurance/QuestInsurance.vue';\r\nimport QuestQuestions from '@/views/QuestQuestions/QuestQuestions.vue';\r\nimport RenounceButton from '@/components/RenounceButton/RenounceButton.vue';\r\n\r\n@Component({\r\n components: {\r\n InputSelect,\r\n InputText,\r\n InputRadioButton,\r\n QuestIdentity,\r\n QuestAddress,\r\n QuestDoctor,\r\n QuestInsurance,\r\n QuestQuestions,\r\n RenounceButton,\r\n },\r\n})\r\nexport default class QuestRecap extends Vue {\r\n public partId: number | undefined;\r\n public questionnaire: QuestionnaireDTO = {} as QuestionnaireDTO;\r\n public questions: QuestQuestion = {} as QuestQuestion;\r\n public readonly: boolean = true;\r\n public answerChoices: any = AnswerChoices;\r\n public selectChoices: SelectOptionDTO[] = [];\r\n public updating?: boolean = false;\r\n public errorMessage: string = '';\r\n public error: boolean = false;\r\n\r\n protected mounted() {\r\n this.partId = Number(this.$route.params.partId);\r\n // this.fetchQuestionnaire(this.partId);\r\n this.questionnaire = this.$store.state.questionnaire;\r\n }\r\n\r\n /**\r\n * Fetch the questionnaire data with the service\r\n * @param partId The participant ID\r\n */\r\n protected fetchQuestionnaire(partId: number) {\r\n QuestionnaireService.fetchQuestionnaire(partId, null)\r\n .then((response) => {\r\n this.questionnaire = response as QuestionnaireDTO;\r\n this.$store.commit('setQuestionnaire', response)\r\n this.questions = new QuestQuestion(this.questionnaire.questions);\r\n this.$store.commit('setQuestionnaireQuestions', response.questions)\r\n });\r\n }\r\n\r\n protected onSubmit() {\r\n QuestionnaireService.confirm(this.partId!)\r\n .then(() => {\r\n this.$router.push({\r\n name: 'confirmation',\r\n params: {\r\n screening: this.$route.params.screening,\r\n },\r\n });\r\n });\r\n }\r\n\r\n protected onQuit() {\r\n this.$router.push({\r\n name: 'overview',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n }\r\n}\r\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/eslint-loader/index.js??ref--13-0!./QuestRecap.ts?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/eslint-loader/index.js??ref--13-0!./QuestRecap.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuestRecap.vue?vue&type=template&id=f2964fb2&scoped=true&\"\nimport script from \"./QuestRecap.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuestRecap.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./QuestRecap.scss?vue&type=style&index=0&id=f2964fb2&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 \"f2964fb2\",\n null\n \n)\n\nexport default component.exports","import ApiService from '@/services/api.service';\r\nimport { PUBLIC_ROOT_API } from '@/config/app.config';\r\nimport { QuestionnaireDTO } from '@/models/QuestionnaireDTO';\r\nimport store from '@/store';\r\n\r\nexport default class QuestionnaireService {\r\n\r\n /**\r\n * Update Questionnaire\r\n * @param {QuestionnaireDTO} questionnaire The Questionnaire DTO object\r\n */\r\n public static async updateQuestionnaire(questionnaire: QuestionnaireDTO, part: string) {\r\n await ApiService.post(`${PUBLIC_ROOT_API}/equest/questionnaires/${part}`,\r\n questionnaire)\r\n // tslint:disable-next-line: no-empty\r\n .then((response: any) => { \r\n store.commit('setQuestionnaireValidationErrors', {});\r\n });\r\n }\r\n\r\n /**\r\n * Consent\r\n * @param {string} partId The participant Id\r\n * @param {string} signature The signature\r\n * @param {QuestionnaireDTO} questionnaire The questionnaire\r\n * \r\n * @returns {Date} The date when the accepted consent and signature\r\n */\r\n public static async consent(partId: number, signature: string, questionnaire: QuestionnaireDTO): Promise {\r\n const requestData = {\r\n url: `${PUBLIC_ROOT_API}/equest/questionnaires/${partId}/consent`,\r\n data: {\r\n value: signature,\r\n questionnaire: questionnaire,\r\n },\r\n };\r\n\r\n return await ApiService.post(requestData.url, requestData.data)\r\n .then((response: any) => {\r\n store.commit('setQuestionnaireValidationErrors', {});\r\n return response.data.consentDate as Date;\r\n });\r\n }\r\n\r\n /**\r\n * Confirm Questionnaire (and send it to the queue)\r\n * @param {string} partId The participant Id\r\n */\r\n public static async confirm(partId: number) {\r\n await ApiService.post(`${PUBLIC_ROOT_API}/equest/questionnaires/${partId}/confirm`, {})\r\n // tslint:disable-next-line: no-empty\r\n .then((response: any) => { });\r\n }\r\n\r\n\r\n\r\n /**\r\n * Fetch the questionnaire data\r\n * @param {string} partId The participant Id\r\n * @param {string|null} part The part of the questionnaire to fetch (optional).\r\n * Choice between: identity|insurance|address|doctor|questions.\r\n * If part is null, the whole quetionnaire will be fetched.\r\n * @returns {QuestionnaireDTO} A DTO object representing the participant\r\n */\r\n public static async fetchQuestionnaire(partId: number, part: string|null) {\r\n let endpoint = `${PUBLIC_ROOT_API}/equest/questionnaires/${partId}`;\r\n if (part != null) {\r\n endpoint = `${endpoint}/${part}`;\r\n }\r\n return await ApiService.get(endpoint)\r\n .then((response: any) => {\r\n return response.data as QuestionnaireDTO;\r\n });\r\n }\r\n}\r\n","import ApiService from './api.service';\r\nimport { DoctorDTO } from '@/models/DoctorDTO';\r\nimport i18n from '@/plugins/i18n';\r\n\r\nexport default class DoctorService {\r\n /**\r\n * Get a DoctorDTO object corresponding to the provided doctor ID\r\n * @param {number} docId The doctor ID\r\n * @returns {DoctorDTO} a DoctorDTO object\r\n */\r\n public static async getDoctor(docId: number): Promise {\r\n return await ApiService.get(`${process.env.VUE_APP_PUBLIC_ROOT_API}/doctors/${docId}`)\r\n .then((response: any) => {\r\n return response.data as DoctorDTO;\r\n });\r\n }\r\n\r\n /**\r\n * Get doctors\r\n *\r\n * @returns {DoctorDTO[]} a list of LocalityDTO object\r\n */\r\n public static async fetchDoctors(): Promise {\r\n return await ApiService.get(`${process.env.VUE_APP_PUBLIC_ROOT_API}/doctors`)\r\n .then((response: any) => {\r\n let doctorList: DoctorDTO[] = [];\r\n const noDoctorEntry = {\r\n doctorId: -1,\r\n doctorName: i18n.t('questionnaire.doctor.noDoctor'),\r\n doctorAddress: '',\r\n doctorAddressId: -1\r\n } as DoctorDTO;\r\n\r\n doctorList.push(noDoctorEntry);\r\n\r\n return doctorList.concat(response.data);\r\n });\r\n }\r\n}\r\n","import { Component, Watch } from 'vue-property-decorator';\r\nimport DoctorService from '@/services/doctor.service';\r\nimport { DoctorDTO } from '@/models/DoctorDTO';\r\nimport { ThingDTO } from '@/models/ThingDTO';\r\nimport AutoComplete from '@/components/inputs/base/AutoComplete/AutoComplete.vue';\r\nimport { WatchOptions } from 'vue';\r\n\r\n@Component\r\nexport default class DoctorAutoComplete extends AutoComplete {\r\n public doctors: DoctorDTO[] = [];\r\n public errorMessage: string = '';\r\n public error: boolean = false;\r\n\r\n public convertValue(): DoctorDTO {\r\n return this.doctors.find((x) => x.doctorId === this.search.id) as DoctorDTO;\r\n }\r\n\r\n public handleClickOutside(evt: any): void {\r\n if (!this.$el.contains(evt.target)) {\r\n this.isOpen = false;\r\n this.arrowCounter = -1;\r\n if (this.search && this.search.id === -99) {\r\n this.$emit('input', undefined);\r\n this.search.name = '';\r\n }\r\n }\r\n }\r\n\r\n protected formatSearchLabel(value: DoctorDTO) {\r\n if (value.doctorAddress) {\r\n return `${value.doctorName} - ${value.doctorAddress}`;\r\n } else {\r\n return value.doctorName;\r\n }\r\n }\r\n\r\n protected onChange(value: string): void {\r\n super.onChange(value);\r\n }\r\n\r\n protected filterResults(): void {\r\n super.filterResults();\r\n }\r\n\r\n protected isSelected(i: number): boolean {\r\n return super.isSelected(i);\r\n }\r\n\r\n protected getId(index: number): string {\r\n return super.getId(index);\r\n }\r\n\r\n protected mounted() {\r\n this.loadDoctors();\r\n super.mounted();\r\n\r\n if (this.value) {\r\n this.search = {\r\n id: this.value.doctorId,\r\n name: this.formatSearchLabel(this.value),\r\n } as ThingDTO;\r\n }\r\n }\r\n\r\n protected loadDoctors(): void {\r\n DoctorService.fetchDoctors()\r\n .then((res: DoctorDTO[]) => {\r\n this.doctors = res.map((x) => x as DoctorDTO);\r\n this.items = this.doctors.map((x: DoctorDTO) => {\r\n return { name: this.formatSearchLabel(x), id: x.doctorId } as ThingDTO;\r\n });\r\n });\r\n }\r\n\r\n @Watch('value', { deep: true } as WatchOptions)\r\n protected onValueChanged(value: DoctorDTO, oldValue: DoctorDTO) {\r\n if (oldValue !== value && value !== undefined && value !== null) {\r\n this.search = {\r\n id: value.doctorId,\r\n name: this.formatSearchLabel(value),\r\n } as ThingDTO;\r\n }\r\n\r\n if (value === null || value === undefined) {\r\n this.search = {} as ThingDTO;\r\n }\r\n }\r\n}\r\n","var render, staticRenderFns\nimport script from \"./DoctorAutoComplete.ts?vue&type=script&lang=ts&\"\nexport * from \"./DoctorAutoComplete.ts?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 null,\n null\n \n)\n\nexport default component.exports","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/eslint-loader/index.js??ref--13-0!./DoctorAutoComplete.ts?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/eslint-loader/index.js??ref--13-0!./DoctorAutoComplete.ts?vue&type=script&lang=ts&\"","import mod 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!./QuestRecap.scss?vue&type=style&index=0&id=f2964fb2&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/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!./QuestRecap.scss?vue&type=style&index=0&id=f2964fb2&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"button-renounce reversed\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.renounce}},[_vm._v(_vm._s(_vm.$t('buttons.giveUp')))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class RenounceButton extends Vue {\r\n /**\r\n * Redirect the user to the alternative questionnaire\r\n */\r\n protected renounce(): void {\r\n this.$emit('giveUpClicked');\r\n this.$store.dispatch('setGiveUpClicked', true);\r\n }\r\n}\r\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/eslint-loader/index.js??ref--13-0!./RenounceButton.ts?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/eslint-loader/index.js??ref--13-0!./RenounceButton.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RenounceButton.vue?vue&type=template&id=5f1566a8&\"\nimport script from \"./RenounceButton.ts?vue&type=script&lang=ts&\"\nexport * from \"./RenounceButton.ts?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 null,\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/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!./QuestAddress.scss?vue&type=style&index=0&id=68637d8e&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/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!./QuestAddress.scss?vue&type=style&index=0&id=68637d8e&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"questionnaireIdentity\"}},[(_vm.error)?_c('p',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e(),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onConfirmChange($event)}}},[_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.firstName'),\"name\":\"firstName\",\"readonly\":!_vm.updating,\"required\":true},model:{value:(_vm.questionnaire.firstname),callback:function ($$v) {_vm.$set(_vm.questionnaire, \"firstname\", $$v)},expression:\"questionnaire.firstname\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.lastName'),\"name\":\"lastName\",\"readonly\":!_vm.updating,\"required\":true},model:{value:(_vm.questionnaire.lastname),callback:function ($$v) {_vm.$set(_vm.questionnaire, \"lastname\", $$v)},expression:\"questionnaire.lastname\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.maidenName'),\"name\":\"maidenName\",\"readonly\":!_vm.updating},model:{value:(_vm.questionnaire.maidenname),callback:function ($$v) {_vm.$set(_vm.questionnaire, \"maidenname\", $$v)},expression:\"questionnaire.maidenname\"}}),_c('InputDate',{attrs:{\"label\":_vm.$t('questionnaire.birthDate'),\"name\":\"birthDate\",\"readonly\":!_vm.updating,\"required\":true},model:{value:(_vm.questionnaire.birthdate),callback:function ($$v) {_vm.$set(_vm.questionnaire, \"birthdate\", $$v)},expression:\"questionnaire.birthdate\"}}),(_vm.updating)?_c('div',{staticClass:\"editing-actions\"},[_c('button',{staticClass:\"reversed\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.onCancel}},[_vm._v(_vm._s(_vm.$t('buttons.cancel')))]),_c('button',{attrs:{\"type\":\"submit\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onConfirmChange($event)}}},[_vm._v(_vm._s(_vm.$t('buttons.confirm')))])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport InputText from '@/components/inputs/InputText/InputText.vue';\r\nimport InputDate from '@/components/inputs/InputDate/InputDate.vue';\r\nimport { WatchOptions } from 'vue';\r\nimport { QuestionnaireDTO } from '@/models/QuestionnaireDTO';\r\n\r\n@Component({\r\n components: {\r\n InputText,\r\n InputDate,\r\n },\r\n})\r\nexport default class QuestionnaireIdentity extends Vue {\r\n @Prop() public value!: QuestionnaireDTO;\r\n @Prop({ default: false }) public updating?: boolean;\r\n public error: boolean = false;\r\n private errorMessage?: string = undefined;\r\n private questionnaire: QuestionnaireDTO = {} as QuestionnaireDTO;\r\n\r\n public onConfirmChange() {\r\n const updatedValue = JSON.parse(JSON.stringify(this.questionnaire));\r\n this.$emit('input', updatedValue);\r\n this.$emit('updating', false);\r\n }\r\n\r\n public onCancel() {\r\n this.questionnaire = JSON.parse(JSON.stringify(this.value));\r\n this.error = false;\r\n this.$emit('updating', false);\r\n }\r\n\r\n @Watch('value', { deep: true } as WatchOptions)\r\n protected onValueChanged(value: QuestionnaireDTO, oldValue: QuestionnaireDTO) {\r\n if (oldValue !== value) {\r\n this.questionnaire = JSON.parse(JSON.stringify(this.value));\r\n }\r\n }\r\n}\r\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/eslint-loader/index.js??ref--13-0!./QuestionnaireIdentity.ts?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/eslint-loader/index.js??ref--13-0!./QuestionnaireIdentity.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuestionnaireIdentity.vue?vue&type=template&id=500e6e8f&scoped=true&\"\nimport script from \"./QuestionnaireIdentity.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuestionnaireIdentity.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./QuestionnaireIdentity.scss?vue&type=style&index=0&id=500e6e8f&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 \"500e6e8f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.questionnaire.address)?_c('div',{staticClass:\"regular-wrapper\",attrs:{\"id\":\"quest-address\"}},[(!_vm.isRecap)?_c('div',[_c('h1',[_vm._v(\"2. \"+_vm._s(_vm.$t('pages.adminQuestionnaire')))]),_c('h2',[_vm._v(\"2.1. \"+_vm._s(_vm.$t('pages.addressAndContact'))+\" (1/3) \"),_c('StepStatus',{attrs:{\"is-valid\":_vm.questionnaire.address.isValidated}})],1)]):_vm._e(),(_vm.isRecap)?_c('div',[_c('h2',[_vm._v(\"2. \"+_vm._s(_vm.$t('pages.adminQuestionnaire')))]),_c('h3',[_vm._v(\"2.1. \"+_vm._s(_vm.$t('pages.addressAndContact')))])]):_vm._e(),_c('transition',{attrs:{\"name\":\"pop\"}},[(_vm.errors.length > 0)?_c('div',{staticClass:\"error exclusion-label validation-error\"},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMgs.pleaseCheckData')))]),_c('ul',_vm._l((_vm.errors),function(el,index){return _c('li',{key:index},[_vm._v(_vm._s(_vm.$t((\"validators.address.\" + (el[0].errorMessage)))))])}),0)]):_vm._e()]),(!_vm.error)?_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.address.addressLine1'),\"name\":\"mainAddressLine1\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.addressLine1),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"addressLine1\", $$v)},expression:\"questionnaire.address.addressLine1\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.address.addressLine2'),\"name\":\"mainAddressLine2\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.addressLine2),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"addressLine2\", $$v)},expression:\"questionnaire.address.addressLine2\"}}),_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.address.addressLine3'),\"name\":\"mainAddressLine3\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.addressLine3),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"addressLine3\", $$v)},expression:\"questionnaire.address.addressLine3\"}}),_c('LocalityAutoComplete',{class:[ _vm.isRecap ? '' : 'small-mb'],attrs:{\"label\":_vm.$t('questionnaire.address.locality'),\"name\":\"locality\",\"required\":!_vm.localityNotInList,\"disabled\":_vm.localityNotInList,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.locality),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"locality\", $$v)},expression:\"questionnaire.address.locality\"}}),_c('InputCheckbox',{attrs:{\"value\":_vm.localityNotInList,\"label\":_vm.$t('questionnaire.address.localityNotInList'),\"name\":\"localityNotInList\",\"required\":false,\"readonly\":_vm.isRecap},on:{\"input\":_vm.onLocalityNotInList}}),(_vm.localityNotInList)?_c('fieldset',{staticClass:\"quest-locality-manual\"},[_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.address.localityManual'),\"name\":\"localityManual\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.localityManual),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"localityManual\", $$v)},expression:\"questionnaire.address.localityManual\"}})],1):_vm._e(),_c('fieldset',{staticClass:\"quest-phones\"},[_c('legend',[_vm._v(_vm._s(_vm.$t('questionnaire.address.phones')))]),_c('InputTel',{attrs:{\"label\":_vm.$t('questionnaire.address.phone'),\"defaultCountry\":\"CH\",\"name\":\"private-phone\",\"required\":_vm.isPhoneRequired,\"mode\":\"international\",\"dynamicPlaceholder\":false,\"placeholder\":\"\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.phone),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"phone\", $$v)},expression:\"questionnaire.address.phone\"}}),_c('InputTel',{attrs:{\"label\":_vm.$t('questionnaire.address.mobilePhone'),\"defaultCountry\":\"CH\",\"name\":\"mobile-phone\",\"required\":_vm.isMobilePhoneRequired,\"mode\":\"international\",\"dynamicPlaceholder\":false,\"placeholder\":\"\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.mobilePhone),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"mobilePhone\", $$v)},expression:\"questionnaire.address.mobilePhone\"}}),_c('InputTel',{attrs:{\"label\":_vm.$t('questionnaire.address.professionalPhone'),\"defaultCountry\":\"CH\",\"name\":\"prof-phone\",\"required\":_vm.isProfPhoneRequired,\"mode\":\"international\",\"dynamicPlaceholder\":false,\"placeholder\":\"\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.professionalPhone),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"professionalPhone\", $$v)},expression:\"questionnaire.address.professionalPhone\"}})],1),_c('InputEmail',{attrs:{\"label\":_vm.$t('questionnaire.address.email'),\"name\":\"email\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.email),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"email\", $$v)},expression:\"questionnaire.address.email\"}}),_c('InputTextarea',{attrs:{\"label\":_vm.$t('questionnaire.address.comment'),\"name\":\"comment\",\"maxlength\":\"500\",\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.address.publicComment),callback:function ($$v) {_vm.$set(_vm.questionnaire.address, \"publicComment\", $$v)},expression:\"questionnaire.address.publicComment\"}}),(!_vm.isRecap)?_c('div',{staticClass:\"bottom-buttons\"},[_c('RenounceButton'),_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('button',{staticClass:\"button-prev\",attrs:{\"id\":\"btn-save-and-quit\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.saveAndQuit')))]),_c('button',{staticClass:\"button-next\",attrs:{\"id\":\"btn-continue\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.continue')))])])],1):_vm._e()],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { QuestionnaireDTO } from '@/models/QuestionnaireDTO';\r\nimport { LocalityDTO } from '@/models/LocalityDTO';\r\nimport QuestionnaireService from '@/services/questionnaire.service';\r\nimport LocalityAutoComplete from '@/components/inputs/LocalityAutoComplete/LocalityAutoComplete.vue';\r\nimport InputText from '@/components/inputs/InputText/InputText.vue';\r\nimport InputTel from '@/components/inputs/InputTel/InputTel.vue';\r\nimport InputEmail from '@/components/inputs/InputEmail/InputEmail.vue';\r\nimport InputCheckbox from '@/components/inputs/InputCheckbox/InputCheckbox.vue';\r\nimport InputTextarea from '@/components/inputs/InputTextarea/InputTextarea.vue';\r\nimport StepStatus from '@/components/StepStatus/StepStatus.vue';\r\nimport RenounceButton from '@/components/RenounceButton/RenounceButton.vue';\r\n\r\n@Component({\r\n components: {\r\n LocalityAutoComplete,\r\n InputText,\r\n InputTel,\r\n InputEmail,\r\n InputTextarea,\r\n StepStatus,\r\n RenounceButton,\r\n InputCheckbox,\r\n },\r\n})\r\nexport default class QuestAddress extends Vue {\r\n @Prop({ required: false, default: false }) public isRecap!: boolean;\r\n public partId: number | undefined;\r\n public questionnaire: QuestionnaireDTO = {} as QuestionnaireDTO;\r\n public updating?: boolean = false;\r\n public errorMessage: string = '';\r\n public error: boolean = false;\r\n public localityNotInList: boolean = false;\r\n public localityDefault: LocalityDTO = {\r\n locId: -10,\r\n locZipCode: '',\r\n locName: this.$i18n.t('questionnaire.address.localityOther'),\r\n } as LocalityDTO\r\n \r\n /**\r\n * Get an array of all the property names from the questionnaire data in lowercase\r\n */\r\n get instanceFields(): string[] {\r\n if (this.addressExists) {\r\n let fields: string[] = [];\r\n Object.keys(this.questionnaire.address).forEach(e => fields.push(e.toLowerCase()));\r\n return fields;\r\n }\r\n return [];\r\n }\r\n \r\n /**\r\n * Get the errors returned by the API corresponding to the questionnaire data properties\r\n */\r\n get errors(): string[] {\r\n if (this.$store.state.questionnaireValidationErrors) {\r\n const obj = this.$store.state.questionnaireValidationErrors;\r\n let errorFields: string[] = [];\r\n Object.keys(obj).forEach((e) => {\r\n if (this.instanceFields.includes(e.toLowerCase())) {\r\n errorFields.push(obj[e].errors);\r\n }\r\n });\r\n return errorFields;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n protected mounted() {\r\n this.partId = Number(this.$route.params.partId);\r\n // this.fetchQuestionnaire(this.partId);\r\n this.questionnaire = this.$store.state.questionnaire;\r\n if (!this.questionnaire.address.locality && this.questionnaire.address.localityManual ||\r\n (this.questionnaire.address.locality !== null && this.questionnaire.address.locality?.locId === -10)) {\r\n this.onLocalityNotInList(true);\r\n }\r\n }\r\n\r\n /**\r\n * Fetch the questionnaire data with the service\r\n * @param partId The participant ID\r\n */\r\n protected fetchQuestionnaire(partId: number) {\r\n QuestionnaireService.fetchQuestionnaire(partId, 'address')\r\n .then((response) => {\r\n this.questionnaire = response as QuestionnaireDTO;\r\n this.$store.commit('setQuestionnaireAddress', response.address)\r\n });\r\n }\r\n\r\n protected async onSubmit(event: any) {\r\n const quest = this.toDto(this.questionnaire);\r\n await QuestionnaireService.updateQuestionnaire(quest, 'address')\r\n .then(() => {\r\n this.questionnaire.address.isValidated = true;\r\n this.$store.commit('setQuestionnaireAddress', this.questionnaire.address);\r\n if (event.submitter.id === 'btn-continue') {\r\n this.$router.push({\r\n name: 'insurance',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n } else {\r\n this.$router.push({\r\n name: 'overview',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected toDto(quest: QuestionnaireDTO): QuestionnaireDTO {\r\n let questClone = JSON.parse(JSON.stringify(quest));\r\n\r\n // A locality was chosen in the dropdown, so clear manual data of the locality\r\n if (!this.localityNotInList && quest.address.locality !== null) {\r\n questClone.address.localityManual = null;\r\n\r\n if (questClone.address.locality.locId < 0) {\r\n questClone.address.locality = null;\r\n }\r\n }\r\n\r\n // \"locality not in list was checked\" so clear the locality object\r\n if (this.localityNotInList) {\r\n questClone.address.locality = null;\r\n }\r\n\r\n return questClone;\r\n }\r\n\r\n get addressExists() {\r\n return !!this.$store.state.questionnaire.address;\r\n }\r\n\r\n get isPhoneRequired() {\r\n if (!this.addressExists) {\r\n return false;\r\n }\r\n return !this.$store.state.questionnaire.address.mobilePhone && \r\n !this.$store.state.questionnaire.address.professionalPhone;\r\n }\r\n\r\n get isMobilePhoneRequired() {\r\n if (!this.addressExists) {\r\n return false;\r\n }\r\n return !this.$store.state.questionnaire.address.phone && \r\n !this.$store.state.questionnaire.address.professionalPhone;\r\n }\r\n\r\n get isProfPhoneRequired() {\r\n if (!this.addressExists) {\r\n return false;\r\n }\r\n return !this.$store.state.questionnaire.address.mobilePhone && \r\n !this.$store.state.questionnaire.address.phone;\r\n }\r\n\r\n /**\r\n * If checked, clears the other locality data\r\n * @param checked True if the checkbox is checked, false otherwise\r\n */\r\n protected onLocalityNotInList(checked: boolean) {\r\n this.localityNotInList = checked;\r\n\r\n // reinitialize data about the locality\r\n this.questionnaire.address.locality = checked ? this.localityDefault : null;\r\n }\r\n}\r\n\r\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/eslint-loader/index.js??ref--13-0!./QuestAddress.ts?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/eslint-loader/index.js??ref--13-0!./QuestAddress.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuestAddress.vue?vue&type=template&id=68637d8e&scoped=true&\"\nimport script from \"./QuestAddress.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuestAddress.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./QuestAddress.scss?vue&type=style&index=0&id=68637d8e&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 \"68637d8e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"regular-wrapper\",attrs:{\"id\":\"quest-identity\"}},[(!_vm.isRecap)?_c('div',[_c('h1',[_vm._v(\"1. \"+_vm._s(_vm.$t('pages.identityConsentSignature')))]),_c('h2',[_vm._v(\"1.1. \"+_vm._s(_vm.$t('pages.identityConfirmation'))+\" (1/2) \"),_c('StepStatus',{attrs:{\"is-valid\":_vm.questionnaire.isIdentityValidated}})],1)]):_vm._e(),(_vm.isRecap)?_c('div',[_c('h2',[_vm._v(\"1. \"+_vm._s(_vm.$t('pages.identityConfirmation')))])]):_vm._e(),_c('transition',{attrs:{\"name\":\"pop\"}},[(_vm.errors.length > 0)?_c('div',{staticClass:\"error exclusion-label validation-error\"},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMgs.pleaseCheckData')))]),_c('ul',_vm._l((_vm.errors),function(el,index){return _c('li',{key:index},[_vm._v(_vm._s(_vm.$t((\"validators.identity.\" + (el[0].errorMessage)))))])}),0)]):_vm._e()]),(!_vm.isRecap)?_c('div',{staticClass:\"section-title\"},[_c('p',[_c('strong',[_vm._v(_vm._s(_vm.$t('questionnaire.adminData')))])]),(!_vm.error)?_c('div',{staticClass:\"modify\"},[_c('img',{attrs:{\"src\":require(\"@/assets/icons/edit.svg\"),\"alt\":\"\",\"aria-hidden\":\"true\"}}),_c('input',{attrs:{\"type\":\"button\",\"value\":_vm.$t('buttons.modify')},on:{\"click\":function($event){_vm.updating = !_vm.updating}}})]):_vm._e()]):_vm._e(),(!_vm.isRecap)?_c('div',{staticClass:\"exclusion-label info-label\"},[_c('p',[_vm._v(_vm._s(_vm.$t('questionnaire.confirmIdentity')))])]):_vm._e(),(_vm.error)?_c('p',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errorMessage))]):_vm._e(),(!_vm.error)?_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[(_vm.questionnaire)?_c('div',[_c('QuestionnaireIdentity',{attrs:{\"id\":\"questionnaireIdent\",\"updating\":_vm.updating},on:{\"updating\":function($event){_vm.updating = $event}},model:{value:(_vm.questionnaire),callback:function ($$v) {_vm.questionnaire=$$v},expression:\"questionnaire\"}})],1):_vm._e(),_c('transition',{attrs:{\"name\":\"modal\"}},[(_vm.showModal)?_c('ModalTemplate',{on:{\"close\":function($event){return _vm.hideModal()}}},[_c('h2',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(_vm._s(_vm.$t('pages.modalIdentity.finish')))]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('p',[_vm._v(_vm._s(_vm.$t('pages.modalIdentity.areYouSure')))]),_c('p',[_vm._v(_vm._s(_vm.$t('pages.modalIdentity.giveBackIfYes')))])]),_c('div',{staticClass:\"bottom-buttons\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('button',{staticClass:\"reversed\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideModal()}}},[_vm._v(_vm._s(_vm.$t('buttons.back')))]),_c('button',{attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.logout()}}},[_vm._v(_vm._s(_vm.$t('buttons.notMe')))])])])]):_vm._e()],1),(!_vm.isRecap)?_c('div',{staticClass:\"bottom-buttons\"},[_c('RenounceButton'),_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('button',{staticClass:\"reversed\",attrs:{\"id\":\"btn-not-me\",\"type\":\"button\"},on:{\"click\":function($event){_vm.showModal = true}}},[_vm._v(_vm._s(_vm.$t('buttons.notMe')))]),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.updating),expression:\"!updating\"}],staticClass:\"button-next\",attrs:{\"id\":\"btn-continue\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.confirmIdentity')))])])],1):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport QuestionnaireService from '@/services/questionnaire.service';\r\nimport { QuestionnaireDTO } from '@/models/QuestionnaireDTO';\r\nimport QuestionnaireIdentity from '@/components/QuestionnaireIdentity/QuestionnaireIdentity.vue';\r\nimport ModalTemplate from '@/components/ModalTemplate/ModalTemplate.vue';\r\nimport UserService from '@/services/user.service';\r\nimport StepStatus from '@/components/StepStatus/StepStatus.vue';\r\nimport RenounceButton from '@/components/RenounceButton/RenounceButton.vue';\r\n\r\n@Component({\r\n components: {\r\n QuestionnaireIdentity,\r\n ModalTemplate,\r\n StepStatus,\r\n RenounceButton,\r\n },\r\n})\r\nexport default class QuestIdentity extends Vue {\r\n @Prop({ required: false, default: false }) public isRecap!: boolean;\r\n public partId: number | undefined;\r\n public questionnaire: QuestionnaireDTO = {} as QuestionnaireDTO;\r\n public updating?: boolean = false;\r\n public errorMessage: string = '';\r\n public error: boolean = false;\r\n public showModal: boolean = false;\r\n\r\n /**\r\n * Get an array of all the property names from the questionnaire data in lowercase\r\n */\r\n get instanceFields(): string[] {\r\n if (this.$store.state.questionnaire) {\r\n let fields: string[] = [];\r\n Object.keys(this.questionnaire).forEach(e => fields.push(e.toLowerCase()));\r\n return fields;\r\n }\r\n return [];\r\n }\r\n \r\n /**\r\n * Get the errors returned by the API corresponding to the questionnaire data properties\r\n */\r\n get errors(): string[] {\r\n if (this.$store.state.questionnaireValidationErrors) {\r\n const obj = this.$store.state.questionnaireValidationErrors;\r\n let errorFields: string[] = [];\r\n Object.keys(obj).forEach((e) => {\r\n if (this.instanceFields.includes(e.toLowerCase())) {\r\n errorFields.push(obj[e].errors);\r\n }\r\n });\r\n return errorFields;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n protected mounted() {\r\n this.partId = Number(this.$route.params.partId);\r\n // Get the consents from API or store\r\n if (Object.entries(this.$store.state.questionnaire).length === 0) {\r\n this.fetchQuestionnaire(this.partId);\r\n } else {\r\n this.questionnaire = this.$store.state.questionnaire;\r\n }\r\n }\r\n\r\n /**\r\n * Fetch the questionnaire data with the service\r\n * @param partId The participant ID\r\n */\r\n protected fetchQuestionnaire(partId: number) {\r\n QuestionnaireService.fetchQuestionnaire(partId, '')\r\n .then((response) => {\r\n this.questionnaire = response as QuestionnaireDTO;\r\n });\r\n }\r\n\r\n protected async onSubmit(event: any) {\r\n await QuestionnaireService.updateQuestionnaire(this.questionnaire, 'identity')\r\n .then(() => {\r\n this.questionnaire.isIdentityValidated = true;\r\n this.$store.commit('setQuestionnaire', this.questionnaire);\r\n if (event.submitter.id === 'btn-continue') {\r\n this.$router.push({\r\n name: 'consent',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected hideModal() {\r\n this.showModal = false;\r\n }\r\n\r\n protected logout() {\r\n this.hideModal();\r\n UserService.clearData();\r\n // Empty all data relative to the previous dossier that was closed\r\n this.$store.commit('resetDossierState');\r\n this.$router.push({\r\n name: 'participant',\r\n params: {\r\n screening: this.$route.params.screening,\r\n },\r\n });\r\n }\r\n}\r\n\r\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/eslint-loader/index.js??ref--13-0!./QuestIdentity.ts?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/eslint-loader/index.js??ref--13-0!./QuestIdentity.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuestIdentity.vue?vue&type=template&id=e478f322&scoped=true&\"\nimport script from \"./QuestIdentity.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuestIdentity.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./QuestIdentity.scss?vue&type=style&index=0&id=e478f322&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 \"e478f322\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/edit.svg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.questionnaire.insurance)?_c('div',{staticClass:\"regular-wrapper\",attrs:{\"id\":\"quest-insurance\"}},[(!_vm.isRecap)?_c('div',[_c('h1',[_vm._v(\"2. \"+_vm._s(_vm.$t('pages.adminQuestionnaire')))]),_c('h2',[_vm._v(\"2.2. \"+_vm._s(_vm.$t('pages.insurance'))+\" (2/3) \"),_c('StepStatus',{attrs:{\"is-valid\":_vm.questionnaire.insurance.isValidated}})],1)]):_vm._e(),(_vm.isRecap)?_c('div',[_c('h3',[_vm._v(\"2.2. \"+_vm._s(_vm.$t('pages.insurance')))])]):_vm._e(),_c('transition',{attrs:{\"name\":\"pop\"}},[(_vm.errors.length > 0)?_c('div',{staticClass:\"error exclusion-label validation-error\"},[_c('p',[_vm._v(_vm._s(_vm.$t('errorMgs.pleaseCheckData')))]),_c('ul',_vm._l((_vm.errors),function(el,index){return _c('li',{key:index},[_vm._v(_vm._s(_vm.$t((\"validators.insurance.\" + (el[0].errorMessage)))))])}),0)]):_vm._e()]),(!_vm.error)?_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('InsuranceAutoComplete',{attrs:{\"label\":_vm.$t('questionnaire.insurance.insuranceName'),\"name\":\"insurance\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.insurance.insurance),callback:function ($$v) {_vm.$set(_vm.questionnaire.insurance, \"insurance\", $$v)},expression:\"questionnaire.insurance.insurance\"}}),_c('fieldset',{staticClass:\"quest-insurances\"},[_c('InputText',{attrs:{\"label\":_vm.$t('questionnaire.insurance.insuranceNumber'),\"name\":\"insuranceNumber\",\"required\":true,\"readonly\":_vm.isRecap},model:{value:(_vm.questionnaire.insurance.insuranceNumber),callback:function ($$v) {_vm.$set(_vm.questionnaire.insurance, \"insuranceNumber\", $$v)},expression:\"questionnaire.insurance.insuranceNumber\"}}),_c('InputMaskedText',{attrs:{\"label\":_vm.$t('questionnaire.insurance.avsNumber'),\"mask-config\":{ mask: '999.9999.9999.99', placeholder: '756.____.____.__', },\"name\":\"avsNumber\",\"placeholder\":\"756.0000.0000.00\",\"initial-value\":\"756\",\"required\":false,\"readonly\":_vm.isRecap},on:{\"input-masked-is-valid\":_vm.handleFormValidation},model:{value:(_vm.questionnaire.insurance.avsNumber),callback:function ($$v) {_vm.$set(_vm.questionnaire.insurance, \"avsNumber\", $$v)},expression:\"questionnaire.insurance.avsNumber\"}}),(_vm.avsError)?_c('p',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.$t('errorMgs.avsNumberNotValid')))]):_vm._e()],1),(!_vm.isRecap)?_c('div',{staticClass:\"bottom-buttons\"},[_c('RenounceButton'),_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('button',{staticClass:\"button-prev\",attrs:{\"id\":\"btn-save-and-quit\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.saveAndQuit')))]),_c('button',{staticClass:\"button-next\",attrs:{\"id\":\"btn-continue\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.continue')))])])],1):_vm._e()],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport QuestionnaireService from '@/services/questionnaire.service';\r\nimport { QuestionnaireDTO } from '@/models/QuestionnaireDTO';\r\nimport InsuranceAutoComplete from '@/components/inputs/InsuranceAutoComplete/InsuranceAutoComplete.vue';\r\nimport InputText from '@/components/inputs/InputText/InputText.vue';\r\nimport InputCheckbox from '@/components/inputs/InputCheckbox/InputCheckbox.vue';\r\nimport InputMaskedText from '@/components/inputs/InputMaskedText/InputMaskedText.vue';\r\nimport StepStatus from '@/components/StepStatus/StepStatus.vue';\r\nimport RenounceButton from '@/components/RenounceButton/RenounceButton.vue';\r\n\r\n@Component({\r\n components: {\r\n InsuranceAutoComplete,\r\n InputText,\r\n InputCheckbox,\r\n InputMaskedText,\r\n StepStatus,\r\n RenounceButton,\r\n },\r\n})\r\nexport default class QuestInsurance extends Vue {\r\n @Prop({ required: false, default: false }) public isRecap!: boolean;\r\n public partId: number | undefined;\r\n public questionnaire: QuestionnaireDTO = {} as QuestionnaireDTO;\r\n public updating?: boolean = false;\r\n public errorMessage: string = '';\r\n public error: boolean = false;\r\n public avsError: boolean = false;\r\n\r\n /**\r\n * Get an array of all the property names from the questionnaire data in lowercase\r\n */\r\n get instanceFields(): string[] {\r\n if (this.$store.state.questionnaire.insurance) {\r\n let fields: string[] = [];\r\n Object.keys(this.questionnaire.insurance).forEach(e => fields.push(e.toLowerCase()));\r\n return fields;\r\n }\r\n return [];\r\n }\r\n \r\n /**\r\n * Get the errors returned by the API corresponding to the questionnaire data properties\r\n */\r\n get errors(): string[] {\r\n if (this.$store.state.questionnaireValidationErrors) {\r\n const obj = this.$store.state.questionnaireValidationErrors;\r\n let errorFields: string[] = [];\r\n Object.keys(obj).forEach((e) => {\r\n if (this.instanceFields.includes(e.toLowerCase())) {\r\n errorFields.push(obj[e].errors);\r\n }\r\n });\r\n return errorFields;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n protected mounted() {\r\n this.partId = Number(this.$route.params.partId);\r\n // this.fetchQuestionnaire(this.partId);\r\n this.questionnaire = this.$store.state.questionnaire;\r\n }\r\n\r\n /**\r\n * Fetch the questionnaire data with the service\r\n * @param partId The participant ID\r\n */\r\n protected fetchQuestionnaire(partId: number) {\r\n QuestionnaireService.fetchQuestionnaire(partId, 'insurance')\r\n .then((response) => {\r\n this.questionnaire = response as QuestionnaireDTO;\r\n this.$store.commit('setQuestionnaireInsurance', response.insurance)\r\n });\r\n }\r\n\r\n /**\r\n * Handles the validity of the AVS field\r\n * @param isMaskValid True is the field is valid (match the mask config).\r\n */\r\n protected handleFormValidation(isMaskValid: boolean): void {\r\n if (isMaskValid && !!this.questionnaire.insurance.avsNumber && !this.questionnaire.insurance.avsNumber.startsWith('756')) {\r\n this.avsError = true;\r\n return;\r\n }\r\n\r\n this.avsError = !isMaskValid && !!this.questionnaire.insurance.avsNumber;\r\n }\r\n\r\n protected async onSubmit(event: any) {\r\n await QuestionnaireService.updateQuestionnaire(this.questionnaire, 'insurance')\r\n .then(() => {\r\n this.questionnaire.insurance.isValidated = true;\r\n this.$store.commit('setQuestionnaireInsurance', this.questionnaire.insurance);\r\n if (event.submitter.id === 'btn-continue') {\r\n this.$router.push({\r\n name: 'doctor',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n } else {\r\n this.$router.push({\r\n name: 'overview',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(this.partId),\r\n },\r\n });\r\n }\r\n \r\n });\r\n }\r\n}\r\n\r\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/eslint-loader/index.js??ref--13-0!./QuestInsurance.ts?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/eslint-loader/index.js??ref--13-0!./QuestInsurance.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QuestInsurance.vue?vue&type=template&id=f298c95a&scoped=true&\"\nimport script from \"./QuestInsurance.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuestInsurance.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./QuestInsurance.scss?vue&type=style&index=0&id=f298c95a&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 \"f298c95a\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}