{"version":3,"file":"app-7e2b94b6.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/routes/app-adviser/client/wizard/functions.ts"],"sourcesContent":["export function handleQceIssues(response, context) {\r\n context.mandatoryGridErrors = false;\r\n context.mandatoryGridErrorDetail = [];\r\n\r\n if (Array.isArray(response)) {\r\n const questionIds = getQuestionIds(response);\r\n\r\n if (questionIds.length) {\r\n // Risk Questions\r\n context.model.questionsAndResponses.groups = context.model.questionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n if (questionIds.includes(question.questionId)) {\r\n question.hasError = true;\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n\r\n // Insurer Risk Questions\r\n context.model.insurers?.forEach(i => {\r\n i.questionsAndResponses.groups = i.questionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n question.hasError = question.hasError || false;\r\n\r\n if (questionIds.includes(question.questionId)) {\r\n question.hasError = true;\r\n\r\n response.forEach(obj => {\r\n if (obj && obj.guid && obj.guid !== '00000000-0000-0000-0000-000000000000') {\r\n if (question.currentResponse && question.currentResponse.gridResponses) {\r\n question.currentResponse.gridResponses = context.validateGridResponses(obj, group, question);\r\n }\r\n }\r\n\r\n return obj;\r\n });\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n\r\n });\r\n\r\n // Insurer Risk Occupation Questions\r\n context.model.insurers?.forEach(i => {\r\n if(i.occupationQuestionsAndResponses?.groups){\r\n i.occupationQuestionsAndResponses.groups = i.occupationQuestionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n if (questionIds.includes(question.questionId)) {\r\n question.hasError = true;\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n }\r\n });\r\n }\r\n\r\n response.map(obj => {\r\n if (obj && obj.guid && obj.guid !== '00000000-0000-0000-0000-000000000000') {\r\n context.model.questionsAndResponses.groups = context.model.questionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n question.hasError = question.hasError || false;\r\n\r\n // Does the question guid match?\r\n if (question.guid === obj.guid) {\r\n question.hasError = true;\r\n } else {\r\n // If the question has a current response and guid\r\n if (question.currentResponse && question.currentResponse.guid === obj.guid) {\r\n question.hasError = true;\r\n context.questionsWithErrors(obj, group, question);\r\n }\r\n\r\n if (question.currentResponse && question.currentResponse.gridResponses) {\r\n question.currentResponse.gridResponses = context.validateGridResponses(obj, group, question);\r\n }\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n\r\n // Insurer Risk Questions\r\n context.model.insurers.forEach(i => {\r\n i.questionsAndResponses.groups = i.questionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n if (obj && obj.guid && obj.guid !== '00000000-0000-0000-0000-000000000000') {\r\n question.hasError = question.hasError || false;\r\n\r\n // Does the question guid match?\r\n if (question.guid === obj.guid) {\r\n question.hasError = true;\r\n } else {\r\n // If the question has a current response and guid\r\n if (question.currentResponse && question.currentResponse.guid === obj.guid) {\r\n question.hasError = true;\r\n context.questionsWithErrors(obj, group, question);\r\n }\r\n\r\n if (question.currentResponse && question.currentResponse.gridResponses) {\r\n question.currentResponse.gridResponses = context.validateGridResponses(obj, group, question);\r\n }\r\n }\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n\r\n });\r\n\r\n // Insurer Risk Occupation Questions\r\n context.model.insurers.forEach(i => {\r\n if(i.occupationQuestionsAndResponses?.groups){\r\n i.occupationQuestionsAndResponses.groups = i.occupationQuestionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n if (obj && obj.guid && obj.guid !== '00000000-0000-0000-0000-000000000000') {\r\n question.hasError = question.hasError || false;\r\n\r\n // Does the question guid match?\r\n if (question.guid === obj.guid) {\r\n question.hasError = true;\r\n } else {\r\n // If the question has a current response and guid\r\n if (question.currentResponse && question.currentResponse.guid === obj.guid) {\r\n question.hasError = true;\r\n context.questionsWithErrors(obj, group, question);\r\n }\r\n }\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n\r\n // Continue or Back click. Check for Mandatory Risk, Insurer Risk and Insurer Risk Occupation Questions\r\n\r\n if (response?.mandatoryQuestionValidationErrors?.length) {\r\n const questionIds = getQuestionIds(response.mandatoryQuestionValidationErrors);\r\n\r\n if (questionIds) {\r\n context.model.questionsAndResponses.groups = context.model.questionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n if (questionIds.includes(question.questionId) && !question.disabledByQuestionFlowFlag) {\r\n question.hasError = true;\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n }\r\n }\r\n\r\n if (response?.insurerRiskQuestionValidationErrors?.length) {\r\n\r\n response.insurerRiskQuestionValidationErrors.forEach(i => {\r\n\r\n const questionIds = getQuestionIds(i.mandatoryQuestionValidationErrors);\r\n const modelInsurer = context.model.insurers.find(x=>x.entityInsurerId === i.entityInsurerId);\r\n\r\n modelInsurer.questionsAndResponses.groups = modelInsurer.questionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n if (questionIds.includes(question.questionId) && !question.disabledByQuestionFlowFlag) {\r\n question.hasError = true;\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n });\r\n }\r\n\r\n if (response?.insurerRiskOccupationQuestionValidationErrors?.length) {\r\n\r\n response.insurerRiskOccupationQuestionValidationErrors.forEach(i => {\r\n\r\n const questionIds = getQuestionIds(i.mandatoryQuestionValidationErrors);\r\n const modelInsurer = context.model.insurers.find(x=>x.entityInsurerId === i.entityInsurerId);\r\n\r\n modelInsurer.occupationQuestionsAndResponses.groups = modelInsurer.occupationQuestionsAndResponses.groups.map(group => {\r\n if (group.questions) {\r\n group.questions = group.questions.map(question => {\r\n if (questionIds.includes(question.questionId) && !question.disabledByQuestionFlowFlag) {\r\n question.hasError = true;\r\n }\r\n\r\n return question;\r\n });\r\n }\r\n return group;\r\n });\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport function getQuestionIds(errors): number[] {\r\n return errors.reduce((result, value) => {\r\n if (value.errors) {\r\n value.errors.reduce((result2, value2) => {\r\n if (value2.errorKey.includes('ERR_') && value2.placeHolderVals) {\r\n value2.placeHolderVals.reduce((result3, value3) => {\r\n const { varName, val } = value3;\r\n\r\n if (varName === 'QuestionId') {\r\n result.push(parseInt(val));\r\n }\r\n }, []);\r\n }\r\n }, []);\r\n }\r\n\r\n return result;\r\n }, []);\r\n}\r\n\r\nexport function validateQce(model){\r\n const validatedModel = {\r\n questionsAndResponses: null,\r\n insurers: null\r\n };\r\n\r\n // Validate Questions\r\n validatedModel.questionsAndResponses = model.questionsAndResponses?.groups.map(group => {\r\n //@ts-ignore\r\n group.groupHasErrors = false;\r\n group.questions = group?.questions.map(question => {\r\n\r\n // check YYYY displayType\r\n if(question.displayTypeId === 100000001 && question.currentResponse.responseValue?.includes('y')){\r\n question.hasError = true;\r\n //@ts-ignore\r\n group.groupHasErrors = true\r\n }\r\n\r\n if(!question.readOnlyFlag && !question.disabledByQuestionFlowFlag && question.mandatoryOnQuoteFlag && !question.currentResponse.responsePresent){\r\n question.hasError = true;\r\n //@ts-ignore\r\n group.groupHasErrors = true\r\n }\r\n return question;\r\n });\r\n return group;\r\n });\r\n\r\n // Validate Insurer Questions\r\n validatedModel.insurers = model.insurers?.map(insurer => {\r\n return insurer.questionsAndResponses.groups.map(group => {\r\n //@ts-ignore\r\n group.groupHasErrors = false;\r\n group.questions = group?.questions.map(question => {\r\n\r\n // check YYYY displayType\r\n if(question.displayTypeId === 100000001 && question.currentResponse.responseValue?.includes('y')){\r\n question.hasError = true;\r\n //@ts-ignore\r\n group.groupHasErrors = true\r\n }\r\n\r\n if(!question.readOnlyFlag && !question.disabledByQuestionFlowFlag && question.mandatoryOnQuoteFlag && !question.currentResponse.responsePresent){\r\n question.hasError = true;\r\n //@ts-ignore\r\n group.groupHasErrors = true\r\n }\r\n return question;\r\n });\r\n return group;\r\n });\r\n });\r\n\r\n if( validatedModel.questionsAndResponses?.some(group => group.groupHasErrors) ||\r\n validatedModel.insurers?.some(insurer => insurer.some(group => group.groupHasErrors))){\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function validateQceGridResponses(model){\r\n const validatedModel = {\r\n questionsAndResponses: null,\r\n insurers: null\r\n };\r\n\r\n // Validate Question Response Grids\r\n validatedModel.questionsAndResponses = model.questionsAndResponses?.groups.map(group => {\r\n //@ts-ignore\r\n group.groupHasErrors = false;\r\n group.questions = group?.questions.map(question => {\r\n // check grid responses - this only applies to the Claims Experience displayType\r\n if( question.displayTypeId == 610000010 &&\r\n question.currentResponse.responsePresent &&\r\n question.currentResponse.gridResponses &&\r\n question.currentResponse.gridResponses.length &&\r\n question.questionAttributes.length ){\r\n\r\n const checkDetail = question.questionAttributes.find(x=>x.attributeName === 'Capture Free Text Details')?.attributeValue === 'Yes';\r\n const checkAmount = question.questionAttributes.find(x=>x.attributeName === 'Capture Amount of Claim')?.attributeValue === 'Yes';\r\n const checkStatus = question.questionAttributes.find(x=>x.attributeName === 'Capture Claims Status')?.attributeValue === 'Yes';\r\n const checkCorrectiveAction = question.questionAttributes.find(x=>x.attributeName === 'Capture Corrective Action')?.attributeValue === 'Yes';\r\n\r\n question.currentResponse.gridResponses.forEach(gridResponse => {\r\n if(!gridResponse.ClaimDate || !gridResponse.ClaimDetail && checkDetail || !gridResponse.ClaimAmount && checkAmount || !gridResponse.ClaimStatus && checkStatus || !gridResponse.CorrectiveAction && checkCorrectiveAction){\r\n gridResponse.hasError = true;\r\n //@ts-ignore\r\n group.groupHasErrors = true;\r\n }else{\r\n gridResponse.hasError = false;\r\n }\r\n });\r\n }\r\n\r\n return question;\r\n });\r\n return group;\r\n });\r\n\r\n // Validate Insurer Question Response Grids\r\n validatedModel.insurers = model.insurers?.map(insurer => {\r\n return insurer.questionsAndResponses.groups.map(group => {\r\n //@ts-ignore\r\n group.groupHasErrors = false;\r\n group.questions = group?.questions.map(question => {\r\n // check grid responses\r\n if(question.currentResponse.responsePresent && question.currentResponse.gridResponses && question.currentResponse.gridResponses.length){\r\n\r\n const checkDetail = question.questionAttributes.find(x=>x.attributeName === 'Capture Free Text Details').attributeValue === 'Yes' ? true : false;\r\n const checkAmount = question.questionAttributes.find(x=>x.attributeName === 'Capture Amount of Claim').attributeValue === 'Yes' ? true : false;\r\n const checkStatus = question.questionAttributes.find(x=>x.attributeName === 'Capture Claims Status').attributeValue === 'Yes' ? true : false;\r\n const checkCorrectiveAction = question.questionAttributes.find(x=>x.attributeName === 'Capture Corrective Action').attributeValue === 'Yes' ? true : false;\r\n\r\n question.currentResponse.gridResponses.forEach(gridResponse => {\r\n if(!gridResponse.ClaimDate || !gridResponse.ClaimDetail && checkDetail || !gridResponse.ClaimAmount && checkAmount || !gridResponse.ClaimStatus && checkStatus || !gridResponse.CorrectiveAction && checkCorrectiveAction){\r\n gridResponse.hasError = true;\r\n //@ts-ignore\r\n group.groupHasErrors = true;\r\n }else{\r\n gridResponse.hasError = false;\r\n }\r\n });\r\n }\r\n\r\n return question;\r\n });\r\n return group;\r\n });\r\n });\r\n\r\n if( validatedModel.questionsAndResponses?.some(group => group.groupHasErrors) ||\r\n validatedModel.insurers?.some(insurer => insurer.some(group => group.groupHasErrors))){\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function qceDefaultAnswersPresentAndNotSaved(model){\r\n\r\n if(model.questionsAndResponses?.groups.some(group => group?.questions.some(question => question.currentResponse.id === null && question.currentResponse.responsePresent ))){\r\n return true;\r\n }\r\n\r\n model.insurers?.forEach(insurer => {\r\n if(insurer.questionsAndResponses.groups.forEach(group => group?.questions.forEach(question => question.currentResponse.id === null && question.currentResponse.responsePresent ))){\r\n return true;\r\n }\r\n });\r\n\r\n model.insurers?.forEach(insurer => {\r\n if(insurer.occupationQuestionsAndResponses?.groups.forEach(group => group?.questions.forEach(question => question.currentResponse.id === null && question.currentResponse.responsePresent ))){\r\n return true;\r\n }\r\n });\r\n\r\n return false;\r\n}\r\n"],"names":["handleQceIssues","response","context","mandatoryGridErrors","mandatoryGridErrorDetail","Array","isArray","getQuestionIds","length","model","questionsAndResponses","groups","map","group","questions","question","includes","questionId","hasError","insurers","forEach","i","obj","guid","currentResponse","gridResponses","validateGridResponses","occupationQuestionsAndResponses","questionsWithErrors","mandatoryQuestionValidationErrors","disabledByQuestionFlowFlag","insurerRiskQuestionValidationErrors","questionIds","modelInsurer","find","x","entityInsurerId","insurerRiskOccupationQuestionValidationErrors","errors","reduce","result","value","result2","value2","errorKey","placeHolderVals","result3","value3","varName","val","push","parseInt","validateQce","validatedModel","groupHasErrors","displayTypeId","responseValue","readOnlyFlag","mandatoryOnQuoteFlag","responsePresent","insurer","some","qceDefaultAnswersPresentAndNotSaved","id"],"sourceRoot":""}