{"version":3,"file":"app-ce8e9156.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","questionIds_1","getQuestionIds","length","model","questionsAndResponses","groups","map","group","questions","question","includes","questionId","hasError","_a","insurers","forEach","i","obj","guid","currentResponse","gridResponses","validateGridResponses","_b","occupationQuestionsAndResponses","questionsWithErrors","_c","mandatoryQuestionValidationErrors","questionIds_2","disabledByQuestionFlowFlag","_d","insurerRiskQuestionValidationErrors","questionIds","modelInsurer","find","x","entityInsurerId","_e","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":""}