{"version":3,"sources":["webpack:///./src/views/ParticipantIdentification/ParticipantIdentification.scss?8e5b","webpack:///./src/components/inputs/base/InputBase.ts","webpack:///./src/views/ParticipantIdentification/ParticipantIdentification.vue?6453","webpack:///./src/services/participant.service.ts","webpack:///./src/views/ParticipantIdentification/ParticipantIdentification.ts","webpack:///./src/views/ParticipantIdentification/ParticipantIdentification.ts?cdbd","webpack:///./src/views/ParticipantIdentification/ParticipantIdentification.vue"],"names":["InputBase","randomId","Math","floor","random","toString","inputType","value","oldValue","required","default","deep","render","_vm","this","_h","$createElement","_c","_self","attrs","_v","_s","$t","on","$event","preventDefault","login","model","callback","$$v","participantId","expression","isAuth","_e","openDossier","hideModal","slot","oldDossier","openedDossierId","newDossier","staticClass","openDossierFromModal","staticRenderFns","partId","requestData","method","url","data","post","then","response","store","dispatch","setItem","localItemKeys","dossierId","VTooltip","use","loginHelp","errorMessage","showModal","undefined","$store","state","isAuthenticated","Number","itemExists","openedDossier","getItem","clearData","$router","push","name","params","screening","$route","String","catch","error","message","openNew","components","InputMaskedText","InputNumber","ModalTemplate","component"],"mappings":"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","file":"js/chunk-dcf8c352.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!./ParticipantIdentification.scss?vue&type=style&index=0&id=e0997e5c&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!./ParticipantIdentification.scss?vue&type=style&index=0&id=e0997e5c&scoped=true&lang=scss&\"","import { Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { WatchOptions } from 'vue';\r\n\r\nexport default abstract class InputBase 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() public min?: 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?: T;\r\n protected randomId: string = Math.floor(Math.random() * Math.floor(100000000)).toString();\r\n protected inputType: string = 'text';\r\n\r\n @Watch('value', { deep: true } as WatchOptions)\r\n protected onValueChanged(value: T, oldValue: T) {\r\n // tslint:disable-line:no-empty\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":\"login\"}},[_c('h1',[_vm._v(_vm._s(_vm.$t('loginPage.identify')))]),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('InputNumber',{attrs:{\"label\":_vm.$t('loginPage.referenceNumber'),\"name\":\"referenceNumber\",\"placeholder\":\"ex: 123456789\",\"required\":true},model:{value:(_vm.participantId),callback:function ($$v) {_vm.participantId=$$v},expression:\"participantId\"}}),(!_vm.isAuth())?_c('button',{attrs:{\"name\":\"btn-login\",\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t('buttons.login')))]):_vm._e(),(_vm.isAuth())?_c('button',{attrs:{\"name\":\"btn-open-dossier\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.openDossier()}}},[_vm._v(_vm._s(_vm.$t('buttons.openDossier')))]):_vm._e()],1)]),_c('transition',{attrs:{\"name\":\"modal\"}},[(_vm.showModal)?_c('ModalTemplate',{on:{\"close\":_vm.hideModal}},[_c('h2',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_vm._v(_vm._s(_vm.$t('loginPage.modal.warning')))]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('loginPage.modal.twoDossiersProblem', { oldDossier: _vm.openedDossierId, newDossier: _vm.participantId, }))+\" \")]),_c('p',[_vm._v(_vm._s(_vm.$t('loginPage.modal.doYouWantToContinue', { newDossier: _vm.participantId })))])]),_c('div',{staticClass:\"bottom-buttons\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('button',{staticClass:\"reversed\",on:{\"click\":function($event){return _vm.hideModal()}}},[_vm._v(_vm._s(_vm.$t('buttons.cancel')))]),_c('div',{staticClass:\"bottom-buttons__prev-next\"},[_c('button',{staticClass:\"black\",on:{\"click\":function($event){return _vm.openDossierFromModal(false)}}},[_vm._v(_vm._s(_vm.$t('buttons.no')))]),_c('button',{on:{\"click\":function($event){return _vm.openDossierFromModal(true)}}},[_vm._v(_vm._s(_vm.$t('buttons.yes')))])])])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ApiService from '@/services/api.service';\r\nimport store from '@/store';\r\nimport { PUBLIC_ROOT_API } from '@/config/app.config';\r\nimport LocalStoreService from '@/utils/local.store';\r\n\r\nexport default class ParticipantService {\r\n\r\n /**\r\n * Open a participant dossier\r\n * @param partId The participant ID\r\n */\r\n public static async openDossier(partId: number) {\r\n const requestData = {\r\n method: 'post',\r\n url: `${PUBLIC_ROOT_API}/equest/participants/open`,\r\n data: {\r\n partId,\r\n },\r\n };\r\n\r\n await ApiService.post(requestData.url, requestData.data)\r\n // tslint:disable-next-line: no-empty\r\n .then((response: any) => {\r\n store.dispatch('setIsDossierOpened', true);\r\n LocalStoreService.setItem(LocalStoreService.localItemKeys.dossierId, partId.toString());\r\n if (response.data === true) {\r\n store.dispatch('setShowContentFromEquestAtHome', true);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Vue } from 'vue-property-decorator';\r\nimport ParticipantService from '@/services/participant.service';\r\nimport AuthenticationError from '@/exceptions/authentication.error';\r\nimport InputMaskedText from '@/components/inputs/InputMaskedText/InputMaskedText.vue';\r\nimport InputNumber from '@/components/inputs/InputNumber/InputNumber.vue';\r\nimport ModalTemplate from '@/components/ModalTemplate/ModalTemplate.vue';\r\nimport UserService from '@/services/user.service';\r\nimport LocalStoreService from '@/utils/local.store';\r\n// tslint:disable-next-line: no-var-requires\r\nconst VTooltip = require('v-tooltip');\r\nVue.use(VTooltip);\r\n\r\n@Component({\r\n components: {\r\n InputMaskedText,\r\n InputNumber,\r\n ModalTemplate,\r\n },\r\n})\r\nexport default class ParticipantIdentification extends Vue {\r\n // Properties\r\n public loginHelp: string = '';\r\n public errorMessage: string = '';\r\n private participantId?: number = 0;\r\n private showModal: boolean = false;\r\n private openedDossierId?: number = 0;\r\n\r\n // Lifecycle hook\r\n public mounted() {\r\n this.participantId = undefined;\r\n this.loginHelp = 'pages.loginHelp';\r\n }\r\n\r\n // Methods\r\n public isAuth(): boolean {\r\n return this.$store.state.isAuthenticated;\r\n }\r\n\r\n /**\r\n * Opens a participant dossier\r\n */\r\n protected async openDossier() {\r\n const partId = Number(this.participantId!);\r\n this.errorMessage = '';\r\n\r\n // Check if we already have a dossier opened\r\n if (LocalStoreService.itemExists(LocalStoreService.localItemKeys.dossierId)) {\r\n const openedDossier = LocalStoreService.getItem(LocalStoreService.localItemKeys.dossierId);\r\n // Check that the opened dossier is different from the one we want to open\r\n if (Number(openedDossier) !== partId) {\r\n // Show alert modal and stop here\r\n this.openedDossierId = Number(openedDossier);\r\n this.showModal = true;\r\n return;\r\n }\r\n }\r\n\r\n // make sure to clear any pro data before opening a dossier\r\n // (in case it was not completly cleared in Confirmation step)\r\n UserService.clearData();\r\n await ParticipantService.openDossier(partId)\r\n .then(() => {\r\n this.$router.push({\r\n name: 'overview',\r\n params: {\r\n screening: this.$route.params.screening,\r\n partId: String(partId),\r\n },\r\n });\r\n })\r\n .catch((error: AuthenticationError) => {\r\n this.errorMessage = error.message;\r\n });\r\n }\r\n\r\n /**\r\n * Open dossier depending on modal response from user and adapt frontend accordingly.\r\n * @param {boolean} openNew If true, opens the new dossier (the one in the form).\r\n * If false, opens the old opened dossier (the one in localstorage).\r\n */\r\n protected async openDossierFromModal(openNew: boolean) {\r\n this.showModal = false;\r\n\r\n if (!openNew) {\r\n this.participantId = Number(LocalStoreService.getItem(LocalStoreService.localItemKeys.dossierId));\r\n return;\r\n }\r\n\r\n // We only replace the value of dossier here.\r\n // If we remove it from local storage, after successfully opening\r\n // a new dossier, it won't create it again.\r\n LocalStoreService.setItem(LocalStoreService.localItemKeys.dossierId, this.participantId!.toString());\r\n UserService.clearData();\r\n await this.openDossier();\r\n }\r\n\r\n protected hideModal() {\r\n this.showModal = false;\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!./ParticipantIdentification.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!./ParticipantIdentification.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ParticipantIdentification.vue?vue&type=template&id=e0997e5c&scoped=true&\"\nimport script from \"./ParticipantIdentification.ts?vue&type=script&lang=ts&\"\nexport * from \"./ParticipantIdentification.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ParticipantIdentification.scss?vue&type=style&index=0&id=e0997e5c&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 \"e0997e5c\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}