{"version":3,"file":"js/UpdateNameRequest.2fff5fcd.js","mappings":"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","sources":["webpack://marriage-officials/./src/views/UpdateNameRequest/updateNameRequest.html","webpack://marriage-officials/./src/views/UpdateNameRequest/components/PersonalInfo/personalInfo.html","webpack://marriage-officials/./src/views/UpdateNameRequest/components/PersonalInfo/personalInfo.ts","webpack://marriage-officials/./src/views/UpdateNameRequest/components/RequestReview/styles.module.scss","webpack://marriage-officials/./src/views/UpdateNameRequest/components/RequestReview/requestReview.ts","webpack://marriage-officials/./src/views/UpdateNameRequest/components/Request/request.ts","webpack://marriage-officials/./src/views/UpdateNameRequest/updateNameRequest.ts","webpack://marriage-officials/./src/views/UpdateNameRequest/components/RequestReview/requestReview.html","webpack://marriage-officials/./src/views/UpdateNameRequest/components/Request/request.html"],"sourcesContent":["\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n","import {\r\n Component, Prop, Vue, Watch,\r\n} from 'vue-property-decorator';\r\nimport WithRender from './personalInfo.html';\r\nimport { mixins } from 'vue-class-component';\r\n// Components\r\nimport CancelRequestBtn from '@/components/CancelRequestBtn/cancelRequestBtn';\r\n// Services\r\nimport { testIds } from '@/services/testAutomation';\r\nimport {\r\n deepEqual, formattedDate, isEmptyObject, valueWithDefault,\r\n} from '@/utils/global';\r\n// Models\r\nimport {\r\n NamePersonalInformationModel,\r\n} from '@/models/request';\r\nimport { AttachmentFieldFile, AttachmentFieldValue } from '@/models/files';\r\nimport { AttachmentTypeIds } from '@/services/staticLookups';\r\nimport { isRequiredAttachment } from '@/services/formValidators';\r\nimport AttachmentsMixin from '@/mixins/attachments';\r\n\r\n@WithRender\r\n@Component({\r\n components: {\r\n CancelRequestBtn,\r\n },\r\n})\r\nexport default class PersonalInfo extends mixins(AttachmentsMixin) {\r\n @Prop({ default: () => ({} as NamePersonalInformationModel) })\r\n public payload!: NamePersonalInformationModel;\r\n\r\n @Prop({ default: () => ({} as AttachmentFieldFile) })\r\n public requsestPersonalPhoto!: AttachmentFieldFile;\r\n\r\n public attachmentTypeIds = AttachmentTypeIds;\r\n public acceptedExtentions = 'jpeg,jpg,pdf,png';\r\n public isFormValid = false;\r\n public testIds = testIds.personalInfo;\r\n public validateBasicInfo = false;\r\n public formValues: NamePersonalInformationModel = {\r\n // ? From Profile\r\n name: '',\r\n socialId: '',\r\n birthDate: '',\r\n birthDateHijri: '',\r\n idExpirationDate: '',\r\n // ? User specific\r\n attachment: {} as AttachmentFieldFile,\r\n };\r\n\r\n public formValidators = {\r\n updateNameNotification: [isRequiredAttachment],\r\n }\r\n\r\n public get attachmentValue() {\r\n if (isEmptyObject(this.formValues.attachment)) {\r\n return [];\r\n }\r\n\r\n return [this.formValues.attachment];\r\n }\r\n\r\n @Watch('payload', { deep: true })\r\n public updateFormValues() {\r\n const shouldUpdate = !deepEqual(this.payload, this.formValues);\r\n\r\n if (shouldUpdate) {\r\n this.formValues = this.payload;\r\n }\r\n }\r\n\r\n mounted() {\r\n this.updateFormValues();\r\n }\r\n\r\n public onSelectFile({ value }: AttachmentFieldValue) {\r\n const enhancedValue = value[0] || {};\r\n\r\n this.formValues = {\r\n ...this.formValues,\r\n attachment: enhancedValue as AttachmentFieldFile,\r\n };\r\n }\r\n\r\n public moveForward(next: () => void) {\r\n if (this.isFormValid) {\r\n this.$emit('update', this.formValues);\r\n next();\r\n } else {\r\n (this.$refs.form as Vue & { validate: () => void }).validate();\r\n\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n }\r\n }\r\n\r\n public onNavigateToRequests() {\r\n this.$router.push('/');\r\n }\r\n\r\n public defaults(value: string) {\r\n return valueWithDefault(value, this.$t('unAvailable') as string);\r\n }\r\n\r\n public formattedDate(date: string) {\r\n return formattedDate(date);\r\n }\r\n}\r\n","// extracted by mini-css-extract-plugin\nexport default {\"readAgreement\":\"nYK3p7EQqj0WTq2U3vpl\"};","import { Inject } from 'vue-di-container';\r\nimport {\r\n Component, Prop, Vue,\r\n} from 'vue-property-decorator';\r\nimport WithRender from './requestReview.html';\r\n// Components\r\nimport CancelRequestBtn from '@/components/CancelRequestBtn/cancelRequestBtn';\r\n// styles\r\nimport styles from './styles.module.scss';\r\n// Services\r\nimport LookupsService from '@/services/lookups';\r\nimport { testIds } from '@/services/testAutomation';\r\n// Models\r\nimport { NamePersonalInformationModel } from '@/models/request';\r\nimport { formattedDate, isEmptyObject, valueWithDefault } from '@/utils/global';\r\nimport { isRequired } from '@/services/formValidators';\r\n\r\n@WithRender\r\n@Component({\r\n components: {\r\n CancelRequestBtn,\r\n },\r\n diProvide: [\r\n LookupsService,\r\n ],\r\n inject: ['goTo'],\r\n})\r\nexport default class RequestReview extends Vue {\r\n @Inject(LookupsService) public lookupsService!: LookupsService;\r\n\r\n @Prop({ default: () => ({} as NamePersonalInformationModel) })\r\n public requestPayload!: NamePersonalInformationModel;\r\n\r\n @Prop({ default: false })\r\n public isLoading!: boolean;\r\n\r\n public styles = styles;\r\n public testIds = testIds.requestPreview;\r\n\r\n public isFormValid = false;\r\n public readAgreement = false;\r\n public readAgreementValidator = [isRequired];\r\n\r\n public get isEditMode(): boolean {\r\n const { params } = this.$route;\r\n const requestId = params.id || '';\r\n\r\n return Boolean(requestId);\r\n }\r\n\r\n public get attachmentValue() {\r\n if (isEmptyObject(this.requestPayload.attachment)) {\r\n return [];\r\n }\r\n\r\n return [this.requestPayload.attachment];\r\n }\r\n\r\n public defaults(value: string) {\r\n return valueWithDefault(value, this.$t('unAvailable') as string);\r\n }\r\n\r\n public formattedDate(date: string) {\r\n return formattedDate(date);\r\n }\r\n\r\n public onNavigateToRequests() {\r\n this.$router.push('/');\r\n }\r\n\r\n public onSubmit() {\r\n if (this.isFormValid) {\r\n this.$emit('submit');\r\n } else {\r\n (this.$refs.form as Vue & { validate: () => void }).validate();\r\n }\r\n }\r\n}\r\n","import { Inject } from 'vue-di-container';\r\nimport {\r\n Component, Prop, Vue, Watch,\r\n} from 'vue-property-decorator';\r\nimport moment from 'moment-hijri';\r\n\r\nimport WithRender from './request.html';\r\n// components\r\nimport RequestLoader from '@/components/RequestLoader/requestLoader';\r\nimport PersonalInfo from '../PersonalInfo/personalInfo';\r\nimport RequestReview from '../RequestReview/requestReview';\r\nimport RequestStatus from '@/components/RequestStatus/requestStatus';\r\nimport RequestSuccess from '@/components/RequestSuccess/requestSuccess';\r\n// Services\r\nimport RequestsApiService from '@/services/requests';\r\nimport UserService from '@/services/user';\r\nimport TelemetryService from '@/services/TelemetryService';\r\nimport { failedEvent, successfullEvent } from '@/utils/telemetry';\r\n// Models\r\nimport { UserModel } from '@/models/user';\r\nimport { UpdateRequestDetailsDataModel } from '@/models/request-details';\r\nimport {\r\n BaseRequestFormValues, SubmitUpdateNameRequestMethodModel, UpdateNameRequestPayloadModel,\r\n} from '@/models/request';\r\nimport { AttachmentTypeIds, RequestStatuses } from '@/services/staticLookups';\r\nimport { getStepperHeaderMeta } from '@/views/Shared/Request/utils';\r\nimport { StepperHeaderMeta } from '@/models/stepper';\r\nimport { holidayConfigs, isEmptyObject } from '@/utils/global';\r\nimport { HolidayConfigs } from '@/models/holidayConfigs';\r\nimport { AttachmentFieldFile } from '@/models/files';\r\n\r\nmoment.locale('en');\r\n\r\n@WithRender\r\n@Component({\r\n components: {\r\n PersonalInfo,\r\n RequestStatus,\r\n RequestReview,\r\n RequestLoader,\r\n RequestSuccess,\r\n },\r\n diProvide: [\r\n UserService,\r\n RequestsApiService,\r\n TelemetryService,\r\n ],\r\n})\r\n\r\nexport default class UpdateLicenseRequest extends Vue {\r\n @Inject(UserService) public userService!: UserService;\r\n @Inject(RequestsApiService) public requestsApiService!: RequestsApiService;\r\n @Inject(TelemetryService) public telemetryService!: TelemetryService;\r\n\r\n @Prop({ default: () => ({} as UserModel) })\r\n public user!: UserModel;\r\n\r\n @Prop({ default: true })\r\n public isFetchingUserInfo!: boolean;\r\n\r\n @Prop({ default: true })\r\n public isSubmitting!: boolean;\r\n\r\n @Prop({ default: '' })\r\n public succededRequestNumber!: string;\r\n\r\n @Prop({ default: 0 })\r\n public requestTypeId!: number;\r\n\r\n @Prop({ default: false })\r\n public isSucceded!: boolean;\r\n\r\n public holidayConfigs: HolidayConfigs = holidayConfigs();\r\n public isNewRequest = true;\r\n public isEditMode = false;\r\n public isFetchingRequestDetails = false;\r\n public attachmentTypeIds = AttachmentTypeIds;\r\n public requestPayload = {\r\n id: '',\r\n requestNumber: 0,\r\n name: '',\r\n socialId: '',\r\n birthDate: '',\r\n birthDateHijri: '',\r\n attachment: {} as AttachmentFieldFile,\r\n idExpirationDate: '',\r\n } as UpdateNameRequestPayloadModel;\r\n\r\n public get isLoading(): boolean {\r\n return this.isFetchingRequestDetails || this.isFetchingUserInfo;\r\n }\r\n\r\n public get isPreviewMode(): boolean {\r\n return !this.isEditMode && !this.isNewRequest;\r\n }\r\n\r\n public get stepperHeaderMeta(): StepperHeaderMeta {\r\n const { path } = this.$route;\r\n\r\n return getStepperHeaderMeta(path);\r\n }\r\n\r\n public get pageTitle() {\r\n const { newText, editText, previewText } = this.stepperHeaderMeta;\r\n\r\n if (this.isNewRequest) {\r\n return newText;\r\n }\r\n\r\n if (this.isEditMode) {\r\n return editText;\r\n }\r\n\r\n return previewText;\r\n }\r\n\r\n public get showStepperHeader() {\r\n return this.isNewRequest || this.isEditMode;\r\n }\r\n\r\n public get readOnlyMode() {\r\n return this.isPreviewMode;\r\n }\r\n\r\n public get steps() {\r\n return [\r\n {\r\n slotName: 'personalInfo',\r\n title: this.$t('personalInfo'),\r\n },\r\n {\r\n slotName: 'requestReview',\r\n title: this.$t('requestReview'),\r\n },\r\n ];\r\n };\r\n\r\n public get profileData() {\r\n if (!isEmptyObject(this.user)) {\r\n const {\r\n givenName, username: socialId, birthDate, birthDateHijri, idExpiryDate,\r\n } = this.user;\r\n\r\n return {\r\n name: givenName,\r\n socialId,\r\n birthDate: moment(birthDate, 'DDMMYYYY').format('YYYY/MM/DD'),\r\n birthDateHijri,\r\n idExpirationDate: moment(idExpiryDate, 'DDMMYYYY').format('YYYY/MM/DD'),\r\n };\r\n }\r\n }\r\n\r\n @Watch('user', { deep: true })\r\n public updateWithProfileData() {\r\n this.requestPayload = {\r\n ...this.requestPayload,\r\n ...this.profileData,\r\n };\r\n }\r\n\r\n async mounted() {\r\n const { params } = this.$route;\r\n const requestId = params.id || '';\r\n\r\n if (requestId) {\r\n this.fetchRequestDetails(requestId);\r\n }\r\n }\r\n\r\n public async fetchRequestDetails(requestId: string) {\r\n this.isFetchingRequestDetails = true;\r\n\r\n const {\r\n isSuccess, data,\r\n } = await this.requestsApiService.getUpdateNameRequestDetails(requestId);\r\n\r\n if (isSuccess) {\r\n const licenseRequestStatusId = data.requestStatus.id;\r\n\r\n this.isEditMode = licenseRequestStatusId === RequestStatuses.returnToComplete;\r\n this.pushSuccessfullTelemetryEvent(this.$t('telemetry.fetchRequestDetails') as string);\r\n\r\n this.isNewRequest = false;\r\n\r\n this.updateRequestPayload(data);\r\n } else {\r\n this.pushFailureTelemetryEvent(this.$t('telemetry.fetchRequestDetails') as string);\r\n\r\n this.$nToaster.error({ message: this.$t('serverErrors.NOT_FOUND').toString() });\r\n }\r\n\r\n this.isFetchingRequestDetails = false;\r\n }\r\n\r\n public updateRequestPayload(data: UpdateRequestDetailsDataModel) {\r\n const {\r\n id,\r\n requestNumber,\r\n name,\r\n socialId,\r\n birthDate,\r\n attachment,\r\n } = data;\r\n\r\n this.requestPayload = {\r\n ...this.requestPayload,\r\n id,\r\n requestNumber,\r\n name,\r\n socialId,\r\n birthDate,\r\n attachment,\r\n };\r\n }\r\n\r\n public onUpdateRequestFormValues(formValues: BaseRequestFormValues) {\r\n this.requestPayload = {\r\n ...this.requestPayload,\r\n ...formValues,\r\n };\r\n }\r\n\r\n public async onSubmitRequest() {\r\n this.$emit('submit', {\r\n payload: this.requestPayload,\r\n isEditMode: this.isEditMode,\r\n } as SubmitUpdateNameRequestMethodModel);\r\n }\r\n\r\n private pushSuccessfullTelemetryEvent(eventName: string) {\r\n this.telemetryService.trackEvent({\r\n ...successfullEvent,\r\n serviceType: 'Transaction',\r\n eventName,\r\n userInfo: this.user,\r\n });\r\n }\r\n\r\n private pushFailureTelemetryEvent(eventName: string) {\r\n this.telemetryService.trackEvent({\r\n ...failedEvent,\r\n eventName,\r\n serviceType: 'Transaction',\r\n userInfo: this.user,\r\n });\r\n }\r\n}\r\n","import { Inject } from 'vue-di-container';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\nimport WithRender from './updateNameRequest.html';\r\n// components\r\nimport UpdateNameRequest from './components/Request/request';\r\n// Services\r\nimport RequestsApiService from '@/services/requests';\r\nimport UserService from '@/services/user';\r\nimport TelemetryService from '@/services/TelemetryService';\r\nimport { failedEvent, successfullEvent } from '@/utils/telemetry';\r\n// Models\r\nimport { UserModel } from '@/models/user';\r\nimport { SubmitUpdateNameRequestMethodModel } from '@/models/request';\r\nimport { HandledServerErrorsStatuses, RequestTypesIds } from '@/services/staticLookups';\r\n\r\n@WithRender\r\n@Component({\r\n components: {\r\n UpdateNameRequest,\r\n },\r\n diProvide: [\r\n UserService,\r\n RequestsApiService,\r\n TelemetryService,\r\n ],\r\n})\r\n\r\nexport default class UpdateName extends Vue {\r\n @Inject(UserService) public userService!: UserService;\r\n @Inject(RequestsApiService) public requestsApiService!: RequestsApiService;\r\n @Inject(TelemetryService) public telemetryService!: TelemetryService;\r\n\r\n public isSubmitting = false;\r\n public isFetchingUserInfo = true;\r\n public user: UserModel = {} as UserModel;\r\n\r\n public succededRequestNumber = 0;\r\n public requestTypeId = RequestTypesIds.updateNameRequest;\r\n public isSucceded = false;\r\n\r\n async mounted() {\r\n this.user = await this.userService.getUser();\r\n\r\n this.isFetchingUserInfo = false;\r\n }\r\n\r\n public async onSubmitRequest({ isEditMode, payload }: SubmitUpdateNameRequestMethodModel) {\r\n this.isSubmitting = true;\r\n\r\n const {\r\n errors, isSuccess, httpCode, data,\r\n } = await this.requestsApiService.updateNameRequest(payload);\r\n\r\n if (isSuccess) {\r\n this.succededRequestNumber = data;\r\n this.isSucceded = true;\r\n\r\n this.$nToaster.success({\r\n message: this.$t(isEditMode ? 'updateNameRequestEdittedSuccessfully' : 'updateNameRequestSubmittedSuccessfully') as string,\r\n });\r\n\r\n this.pushSuccessfullTelemetryEvent(this.$t('telemetry.submitUpdateNameRequest') as string);\r\n } else {\r\n if (!HandledServerErrorsStatuses.includes(httpCode) && errors.length) {\r\n this.$nToaster.error({ message: errors[0] });\r\n }\r\n\r\n this.pushFailureTelemetryEvent(this.$t('telemetry.submitUpdateNameRequest') as string);\r\n }\r\n\r\n this.isSubmitting = false;\r\n }\r\n\r\n private pushSuccessfullTelemetryEvent(eventName: string) {\r\n this.telemetryService.trackEvent({\r\n ...successfullEvent,\r\n eventName,\r\n userInfo: this.user,\r\n });\r\n }\r\n\r\n private pushFailureTelemetryEvent(eventName: string) {\r\n this.telemetryService.trackEvent({\r\n ...failedEvent,\r\n eventName,\r\n userInfo: this.user,\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n","
\r\n \r\n \r\n
\r\n"],"names":["PersonalInfo","mixins","AttachmentsMixin","constructor","args","_defineProperty","AttachmentTypeIds","testIds","personalInfo","name","socialId","birthDate","birthDateHijri","idExpirationDate","attachment","updateNameNotification","isRequiredAttachment","attachmentValue","isEmptyObject","this","formValues","updateFormValues","shouldUpdate","deepEqual","payload","mounted","onSelectFile","value","enhancedValue","moveForward","next","isFormValid","$emit","$refs","form","validate","window","scrollTo","top","behavior","onNavigateToRequests","$router","push","defaults","valueWithDefault","$t","formattedDate","date","__decorate","Prop","default","Watch","deep","WithRender","Component","components","CancelRequestBtn","RequestReview","Vue","styles","requestPreview","isRequired","isEditMode","params","$route","requestId","id","Boolean","requestPayload","onSubmit","Inject","LookupsService","diProvide","inject","moment","UpdateLicenseRequest","holidayConfigs","requestNumber","isLoading","isFetchingRequestDetails","isFetchingUserInfo","isPreviewMode","isNewRequest","stepperHeaderMeta","path","getStepperHeaderMeta","pageTitle","newText","editText","previewText","showStepperHeader","readOnlyMode","steps","slotName","title","profileData","user","givenName","username","idExpiryDate","format","updateWithProfileData","fetchRequestDetails","isSuccess","data","requestsApiService","getUpdateNameRequestDetails","licenseRequestStatusId","requestStatus","RequestStatuses","returnToComplete","pushSuccessfullTelemetryEvent","updateRequestPayload","pushFailureTelemetryEvent","$nToaster","error","message","toString","onUpdateRequestFormValues","onSubmitRequest","eventName","telemetryService","trackEvent","successfullEvent","serviceType","userInfo","failedEvent","UserService","RequestsApiService","TelemetryService","RequestStatus","RequestLoader","RequestSuccess","UpdateName","RequestTypesIds","updateNameRequest","userService","getUser","isSubmitting","errors","httpCode","succededRequestNumber","isSucceded","success","HandledServerErrorsStatuses","includes","length","UpdateNameRequest"],"sourceRoot":""}