UNPKG

kwikid-components-react

Version:

KwikID's Component Library in React

1,033 lines (1,021 loc) 63.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setFullScreenImageViewer = exports.replaceAll = exports.regexSubstring = exports.regexMatcher = exports.isExtraInfo = exports.isExcludeExtraInfo = exports.isDocType = exports.getStepItemLabel = exports.getRedactedNo = exports.getRawDataToShow = exports.getQnaObj = exports.getQnaArray = exports.getGroupedQnaObj = exports.getFormattedSmallCardFieldData = exports.getFacematchArray = exports.getDkycFormData = exports.getData = exports.getBasicInfo = exports.getAgentlessUserInfoSummary = exports.getAgentUserInfoSummary = exports.formatCardFieldData = exports.formDataArray = exports.extraFields = exports.defUserSummary = void 0; var _kwikidToolkit = require("kwikid-toolkit"); var _lodash = require("lodash"); var _Summary = require("./Summary.constants"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Below are the interfaces used in the functions // // // // -----------SESSION FUNCTIONS START---------------- // Session Actions const setFullScreenImageViewer = function (isShow) { let isRedactable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; let imageType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; let successCallback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : () => {}; return { type: _Summary.sessionsConstants.SHOW_FULL_SCREEN_IMAGE, isShow, isRedactable, imageType, successCallback }; }; // Session Helpers exports.setFullScreenImageViewer = setFullScreenImageViewer; const getRawDataToShow = (extraDetail, og_raw_data, raw_title) => { let rawtitle = ""; const rawfieldList = {}; if (typeof extraDetail.showRawData === "boolean") { Object.keys(og_raw_data).forEach(keys => { rawfieldList[keys] = og_raw_data[keys]; }); rawtitle = raw_title; } else if (typeof extraDetail.showRawData === "object") { const parsed_raw_data = _objectSpread({}, og_raw_data); Object.keys(og_raw_data).forEach(item => { try { parsed_raw_data[item] = JSON.parse(og_raw_data[item]); } catch (e) { parsed_raw_data[item] = og_raw_data[item]; } }); rawtitle = extraDetail.showRawData.title; extraDetail.showRawData.fields.forEach(f_item => { let val = ""; if (typeof f_item.path === "string") { try { val = (0, _kwikidToolkit.getObjectValueFromPath)(parsed_raw_data, f_item.path); } catch (error) {} } else if (Array.isArray(f_item.path)) { f_item.path.forEach(i_path => { let temp_val; try { temp_val = (0, _kwikidToolkit.getObjectValueFromPath)(parsed_raw_data, i_path); } catch (error) {} if (temp_val) val = val ? "".concat(val, " ").concat(temp_val) : temp_val; }); } rawfieldList[f_item.title] = val; }); } return { rawtitle, rawfieldList }; }; exports.getRawDataToShow = getRawDataToShow; const regexMatcher = (string, pattern) => { let isMatched = false; const regexObj = new RegExp(pattern); isMatched = regexObj.test(string); return isMatched; }; exports.regexMatcher = regexMatcher; const regexSubstring = (string, pattern) => { const regexObj = new RegExp(pattern, "g"); const finalStr = string.match(regexObj); return finalStr && finalStr.length > 0 ? finalStr[0] : ""; }; exports.regexSubstring = regexSubstring; const replaceAll = (str, from, to) => { return str.replace(new RegExp(from, "g"), to); }; // -----------SESSION FUNCTIONS END---------------- // TODO: Shift this function in the toolkit exports.replaceAll = replaceAll; const fixImageFormat = image => { var _image, _image2, _image3; image = (_image = image) === null || _image === void 0 ? void 0 : _image.toString(); if ((_image2 = image) !== null && _image2 !== void 0 && _image2.startsWith("http")) {} else if (!((_image3 = image) !== null && _image3 !== void 0 && _image3.startsWith("data:image"))) { image = "data:image/png;base64,".concat(image); } return image; }; const getStepInfoDocTypeFormat = docType => { if (docType === "Aadhaar XML") { return _Summary.docTypeObj.AADHAAR_XML; } if (docType === "Pan Card") { return _Summary.docTypeObj.PAN_CARD; } if (docType === "Aadhaar Card") { return _Summary.docTypeObj.AADHAAR_CARD; } if (docType === "CAMERA_CAPTURE") { return _Summary.docTypeObj.CAMERA_CAPTURE; } if (docType === "CAMERA_RECORD") { return _Summary.docTypeObj.CAMERA_RECORD; } if (docType === "Custom Document") { return _Summary.docTypeObj.CUSTOM_DOCUMENT; } if (docType === "PASSPORT") { return _Summary.docTypeObj.PASSPORT; } if (docType === "AADHAAR_CARD_FRONT") { return _Summary.docTypeObj.AADHAAR_CARD_FRONT; } if (docType === "AADHAAR_CARD_BACK") { return _Summary.docTypeObj.AADHAAR_CARD_BACK; } if (docType === "locate_branch") { return _Summary.docTypeObj.LOCATE_BRANCH; } if (docType === "Files") { return _Summary.docTypeObj.FILES; } if (docType === "address_match") { return _Summary.docTypeObj.ADDRESS_MATCH; } return _Summary.docTypeObj.NOT_TO_BE_PROCESSED_DOCUMENT; }; const getJsonPath = (data, element) => { if (!element) return; let info; if (typeof element === "string") { info = (0, _kwikidToolkit.getObjectValueFromPath)(data, element); } else { let finalPath = element.default_value_path; const checkCondition = details => { const taretValTemp = (0, _kwikidToolkit.getObjectValueFromPath)(data, details.key); return taretValTemp && details.val.includes(taretValTemp); }; let isBreakLoopTemp = false; element.dynamic.forEach(dynamicElement => { if (!isBreakLoopTemp) { if (checkCondition(dynamicElement.condition)) { finalPath = dynamicElement.value_path; isBreakLoopTemp = true; } } }); info = (0, _kwikidToolkit.getObjectValueFromPath)(data, finalPath); } return info; }; const getStepRedux = function (data, step) { let steps_detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; if (steps_detail) { let curr_redux = {}; Object.keys(data).forEach(redux_item => { if (data[redux_item].association === steps_detail.association) curr_redux = data[redux_item]; }); return curr_redux; } return data["step_".concat(step)]; }; const getValue = (info, data, index) => { if (typeof info === "string") { let path_val; path_val = (0, _kwikidToolkit.getObjectValueFromPath)(data[data.user.summaryCards[index].reducer], info); return path_val; } if (Array.isArray(info)) { let val = ""; info.forEach(e => { var _path_val; let path_val; path_val = (0, _kwikidToolkit.getObjectValueFromPath)(data[data.user.summaryCards[index].reducer], e); if (((_path_val = path_val) === null || _path_val === void 0 ? void 0 : _path_val.length) > 0) val += "".concat(path_val, " "); }); return val.trim(); } return info; }; const formatAadhaarXMLData = data => { const formattedData = data.reduce((result, item) => { const key = item.key.toLowerCase().replace(/ /g, "_"); result[key] = item === null || item === void 0 ? void 0 : item.value; return result; }, {}); return formattedData; }; const formatAadhaarXMLExtendedData = data => { const genderMapping = { M: "Male", F: "Female" }; const formattedData = [{ title: "", info: fixImageFormat(data.user_photo) }, { title: "Name", info: data.name }, { title: "Date of Birth", info: data.date_of_birth }, { title: "Gender", info: genderMapping[data.gender] || data.gender }, { title: "Care Of", info: data.careof }, { title: "Address", info: [data.house, data.street, data.landmark, data.location, data.sub_district, data.state, data.country, data.pin_code].filter(info => info !== "").join(", ") }].filter(item => (0, _kwikidToolkit.isNotEmptyValue)(item.info)); return formattedData; }; const pushPanInArray = (arrayName, step, title, image, firstTitle, firstTitlePath) => { var _step$ocr, _step$ocr2, _step$ocr3; const fields = [{ title: "".concat(firstTitle), info: firstTitlePath }, { title: "Name", info: step === null || step === void 0 ? void 0 : (_step$ocr = step.ocr) === null || _step$ocr === void 0 ? void 0 : _step$ocr.name }, { title: "Date of Birth", info: step === null || step === void 0 ? void 0 : (_step$ocr2 = step.ocr) === null || _step$ocr2 === void 0 ? void 0 : _step$ocr2.dob }, { title: "Father's Name", info: step === null || step === void 0 ? void 0 : (_step$ocr3 = step.ocr) === null || _step$ocr3 === void 0 ? void 0 : _step$ocr3.fathers_name }]; pushIntoArray({ arrayName, stepTitle: title, imageUrl: image, stepFields: fields }); }; const pushAadhaarInArray = (arrayName, step, title, image, firstTitle, firstTitlePath) => { if (step.images) { var _step$ocr4, _step$ocr5, _step$ocr6; const fields = [{ title: firstTitle, info: firstTitlePath }, { title: "Name", info: step === null || step === void 0 ? void 0 : (_step$ocr4 = step.ocr) === null || _step$ocr4 === void 0 ? void 0 : _step$ocr4.name }, { title: "Date of Birth", info: step === null || step === void 0 ? void 0 : (_step$ocr5 = step.ocr) === null || _step$ocr5 === void 0 ? void 0 : _step$ocr5.dob }, { title: "Gender", info: step === null || step === void 0 ? void 0 : (_step$ocr6 = step.ocr) === null || _step$ocr6 === void 0 ? void 0 : _step$ocr6.gender }]; pushIntoArray({ arrayName, stepTitle: title, imageUrl: image, stepFields: fields }); } }; const pushPassportInArray = (arrayName, step, title, image) => { var _step$ocr7, _step$ocr8, _step$ocr9, _step$ocr0, _step$ocr1, _step$ocr10, _step$ocr11, _step$ocr12, _step$ocr13; const fields = [{ title: "Name", info: step === null || step === void 0 ? void 0 : (_step$ocr7 = step.ocr) === null || _step$ocr7 === void 0 ? void 0 : _step$ocr7.name }, { title: "Surname", info: step === null || step === void 0 ? void 0 : (_step$ocr8 = step.ocr) === null || _step$ocr8 === void 0 ? void 0 : _step$ocr8.surname }, { title: "Passport Number", info: step === null || step === void 0 ? void 0 : (_step$ocr9 = step.ocr) === null || _step$ocr9 === void 0 ? void 0 : _step$ocr9.passport_number }, { title: "Nationality", info: step === null || step === void 0 ? void 0 : (_step$ocr0 = step.ocr) === null || _step$ocr0 === void 0 ? void 0 : _step$ocr0.nationality }, { title: "Date of Birth", info: step === null || step === void 0 ? void 0 : (_step$ocr1 = step.ocr) === null || _step$ocr1 === void 0 ? void 0 : _step$ocr1.DOB }, { title: "Place of Birth", info: step === null || step === void 0 ? void 0 : (_step$ocr10 = step.ocr) === null || _step$ocr10 === void 0 ? void 0 : _step$ocr10.place_of_birth }, { title: "Date of Issue", info: step === null || step === void 0 ? void 0 : (_step$ocr11 = step.ocr) === null || _step$ocr11 === void 0 ? void 0 : _step$ocr11.date_of_issue }, { title: "Date of Expiry", info: step === null || step === void 0 ? void 0 : (_step$ocr12 = step.ocr) === null || _step$ocr12 === void 0 ? void 0 : _step$ocr12.date_of_expiry }, { title: "Gender", info: step === null || step === void 0 ? void 0 : (_step$ocr13 = step.ocr) === null || _step$ocr13 === void 0 ? void 0 : _step$ocr13.sex }]; pushIntoArray({ arrayName, stepTitle: title, imageUrl: image, stepFields: fields }); }; const pushIntoArray = options => { const { arrayName, stepTitle, stepFields = [], imageUrl = "", videoUrl = "", smallImageData = undefined, commentsData = undefined, nsdlResponseData = undefined, verifyTitle = "", isVerifiedCheck = false, extraFieldData = {} } = options; arrayName.push({ title: stepTitle, fields: stepFields, image: imageUrl, video: videoUrl, smallImage: smallImageData, comments: commentsData, nsdlResponse: nsdlResponseData, verifyTitle, isVerified: isVerifiedCheck, extraData: extraFieldData }); }; const getAadhaarXmlData = (step, cardArray, title) => { let formattedAadhaarXMLData; if (Array.isArray(step.aadhaar_xml_data)) { const formatXMLData = formatAadhaarXMLData(step.aadhaar_xml_data); formattedAadhaarXMLData = formatAadhaarXMLExtendedData(formatXMLData); } else { formattedAadhaarXMLData = formatAadhaarXMLExtendedData(step.aadhaar_xml_data); } pushIntoArray({ arrayName: cardArray, stepTitle: title, stepFields: formattedAadhaarXMLData }); }; const getCustomDocumentData = (step, cardArray, title, image) => { const fields = step === null || step === void 0 ? void 0 : step.ocr.map(m => { return { title: m.key, info: m.value }; }); pushIntoArray({ arrayName: cardArray, stepTitle: title, imageUrl: image, stepFields: fields }); }; const getCameraRecordData = (step, cardArray, title) => { var _step$step_data; const videoUrl = step === null || step === void 0 ? void 0 : (_step$step_data = step.step_data) === null || _step$step_data === void 0 ? void 0 : _step$step_data.video_url; pushIntoArray({ arrayName: cardArray, stepTitle: title, videoUrl }); }; const getAadhaarCardData = (step, stepInfoSide, cardArray, title, redactedImage) => { if (stepInfoSide === "Front") { var _step$ocr14; pushAadhaarInArray(cardArray, step, title, redactedImage, "Aadhaar Number", step === null || step === void 0 ? void 0 : (_step$ocr14 = step.ocr) === null || _step$ocr14 === void 0 ? void 0 : _step$ocr14.aadhaar_number); } else if (stepInfoSide === "Back") { var _step$ocr15; pushIntoArray({ arrayName: cardArray, stepTitle: title, imageUrl: redactedImage, stepFields: [{ title: "Address", info: step === null || step === void 0 ? void 0 : (_step$ocr15 = step.ocr) === null || _step$ocr15 === void 0 ? void 0 : _step$ocr15.address }] }); } }; const getCameraCaptureData = (step, stepInfoDocumentType, cardArray, title, image, redactedImage) => { var _step$ocr16, _step$ocr17, _step$ocr18; switch (getStepInfoDocTypeFormat(stepInfoDocumentType)) { case _Summary.docTypeObj.PAN_CARD: pushPanInArray(cardArray, step, title, image, "PA Number", step === null || step === void 0 ? void 0 : (_step$ocr16 = step.ocr) === null || _step$ocr16 === void 0 ? void 0 : _step$ocr16.pa_number); break; case _Summary.docTypeObj.PASSPORT: pushPassportInArray(cardArray, step, title, image); break; case _Summary.docTypeObj.AADHAAR_CARD_FRONT: pushAadhaarInArray(cardArray, step, title, redactedImage, "Aadhaar Number", step === null || step === void 0 ? void 0 : (_step$ocr17 = step.ocr) === null || _step$ocr17 === void 0 ? void 0 : _step$ocr17.aadhaar_number); break; case _Summary.docTypeObj.AADHAAR_CARD_BACK: pushIntoArray({ arrayName: cardArray, stepTitle: title, imageUrl: redactedImage, stepFields: [{ title: "Address", info: step === null || step === void 0 ? void 0 : (_step$ocr18 = step.ocr) === null || _step$ocr18 === void 0 ? void 0 : _step$ocr18.address }] }); break; default: pushIntoArray({ arrayName: cardArray, stepTitle: title, imageUrl: image }); break; } }; const getReduxLocateBranchData = (summaryDataStepRedux, cardArray) => { const { selectedBranch, doc_title } = summaryDataStepRedux; if (selectedBranch) { const locateBranchTitle = (0, _kwikidToolkit.isNotEmptyValue)(doc_title) && doc_title; const toLowerCase = str => (0, _lodash.startCase)(str.toLowerCase()); const locateBranchFields = [{ title: "Address Line 1", info: "".concat(toLowerCase(selectedBranch["Address 2"]), ", ").concat(toLowerCase(selectedBranch["Address 1"])) }, { title: "Address Line 2", info: "".concat(toLowerCase(selectedBranch["Subdistrict Name"]), ", ").concat(toLowerCase(selectedBranch["District Name"])) }, { title: "Address Line 3", info: "".concat(toLowerCase(selectedBranch["State Name"])) }]; pushIntoArray({ arrayName: cardArray, stepTitle: locateBranchTitle, stepFields: locateBranchFields }); } }; const getReduxAddressMatchData = (reduxSummaryData, cardArray) => { if (reduxSummaryData !== null && reduxSummaryData !== void 0 && reduxSummaryData.addressMatchReducer) { var _step_page_config$sou, _step_page_config$sou2, _source1$address, _source1$latitude, _source1$longitude, _step_page_config$sou3, _step_page_config$sou4, _source2$address, _source2$latitude, _source2$longitude, _ref, _result$label, _step_page_config$ste; const { step_page_config, source1, source2, result, agent_feedback } = reduxSummaryData === null || reduxSummaryData === void 0 ? void 0 : reduxSummaryData.addressMatchReducer; const fields = [{ title: (_step_page_config$sou = (_step_page_config$sou2 = step_page_config.source1) === null || _step_page_config$sou2 === void 0 ? void 0 : _step_page_config$sou2.label) !== null && _step_page_config$sou !== void 0 ? _step_page_config$sou : "Address Source 1", type: "heading" }, { title: "Address", info: (_source1$address = source1 === null || source1 === void 0 ? void 0 : source1.address) !== null && _source1$address !== void 0 ? _source1$address : "" }, { title: "Latitude", info: (_source1$latitude = source1 === null || source1 === void 0 ? void 0 : source1.latitude) !== null && _source1$latitude !== void 0 ? _source1$latitude : "" }, { title: "Longitude", info: (_source1$longitude = source1 === null || source1 === void 0 ? void 0 : source1.longitude) !== null && _source1$longitude !== void 0 ? _source1$longitude : "" }, { title: (_step_page_config$sou3 = (_step_page_config$sou4 = step_page_config.source2) === null || _step_page_config$sou4 === void 0 ? void 0 : _step_page_config$sou4.label) !== null && _step_page_config$sou3 !== void 0 ? _step_page_config$sou3 : "Address Source 2", type: "heading" }, { title: "Address", info: (_source2$address = source2 === null || source2 === void 0 ? void 0 : source2.address) !== null && _source2$address !== void 0 ? _source2$address : "" }, { title: "Latitude", info: (_source2$latitude = source2 === null || source2 === void 0 ? void 0 : source2.latitude) !== null && _source2$latitude !== void 0 ? _source2$latitude : "" }, { title: "Longitude", info: (_source2$longitude = source2 === null || source2 === void 0 ? void 0 : source2.longitude) !== null && _source2$longitude !== void 0 ? _source2$longitude : "" }, { title: "Results & Feedback", type: "heading" }, { title: "Distance", info: (_ref = "".concat(result === null || result === void 0 ? void 0 : result.distance, " m")) !== null && _ref !== void 0 ? _ref : "" }, { title: "Match Threshold", info: (_result$label = result === null || result === void 0 ? void 0 : result.label) !== null && _result$label !== void 0 ? _result$label : "" }, { title: "Agent Feedback", info: agent_feedback !== null && agent_feedback !== void 0 ? agent_feedback : "" }]; pushIntoArray({ arrayName: cardArray, stepTitle: (_step_page_config$ste = step_page_config === null || step_page_config === void 0 ? void 0 : step_page_config.step_title) !== null && _step_page_config$ste !== void 0 ? _step_page_config$ste : "Address Match", stepFields: fields }); } }; const getSecondDocStepData = (summaryDataStepRedux, pageDetails, cardArray) => { const imageKey = pageDetails.title && "".concat(pageDetails.title.toLowerCase(), "Image"); const fields = []; if (pageDetails !== null && pageDetails !== void 0 && pageDetails.isOcr) { pageDetails.ocrFields.forEach(ocrField => { const field = summaryDataStepRedux.ocrData.filter(field => field.key === ocrField.title); fields.push(field[0]); }); } const secondDocTitle = "".concat(summaryDataStepRedux.doc_type, " ").concat(pageDetails.title); const secondDocImage = summaryDataStepRedux[imageKey] ? summaryDataStepRedux[imageKey] : pageDetails.defaultImg; pushIntoArray({ arrayName: cardArray, stepTitle: secondDocTitle, stepFields: fields, imageUrl: secondDocImage }); }; const getExtrasDataFromStepRedux = (summaryDataStepRedux, extra, extraData, cardArray) => { let rawTitle = "raw_".concat(extra.title.toLowerCase()); if (!summaryDataStepRedux[rawTitle] && rawTitle.includes("xml")) { rawTitle = "raw_xml"; } if (extra.showRawData && summaryDataStepRedux[rawTitle]) { const og_raw_data = summaryDataStepRedux[rawTitle]; const finalData = getRawDataToShow(extra, og_raw_data, rawTitle); extraData = { title: (0, _lodash.startCase)(replaceAll(finalData.rawtitle, "_", " ")), data: finalData.rawfieldList }; const last_card_item = cardArray.pop(); last_card_item.extraData = extraData; cardArray.push(last_card_item); } let verificationKey = extra.reduxKey || "is".concat(replaceAll(extra.title, " ", ""), "Verified"); verificationKey = replaceAll(verificationKey, "/", ""); const last_card_item = cardArray.pop(); if (extra !== null && extra !== void 0 && extra.isVerification) { last_card_item.isVerified = summaryDataStepRedux[verificationKey]; last_card_item.verifyTitle = extra === null || extra === void 0 ? void 0 : extra.title; } else { var _summaryDataStepRedux; last_card_item.fields = [...last_card_item.fields, { title: extra.title, info: (_summaryDataStepRedux = summaryDataStepRedux[verificationKey]) === null || _summaryDataStepRedux === void 0 ? void 0 : _summaryDataStepRedux.toString(), isHighlight: true }]; } cardArray.push(last_card_item); }; const getSummaryCardsData = (reduxSummaryData, cardArray, element, index) => { if (element.dynamic) { const sequenceKey = Object.fromEntries(Object.keys(element.dynamic.map_keys).map(key => [key, (0, _kwikidToolkit.getObjectValueFromPath)(element, element.dynamic.map_keys[key])])); const all_match = Object.keys(element.dynamic.for).every(key => element.dynamic.for[key].includes(sequenceKey[key])); if (element.dynamic.is_inverse ? !all_match : !all_match) return; } const csIndex_temp = index; const path_val = (0, _kwikidToolkit.getObjectValueFromPath)(reduxSummaryData[reduxSummaryData.user.summaryCards[csIndex_temp].reducer], element.image.path); const temp = { title: element.title, image: (path_val === null || path_val === void 0 ? void 0 : path_val.length) > 0 ? "".concat(element.image.type === "base64" ? "data:image/jpeg;base64," : "").concat(path_val) : element.image.default, fields: element.fields.map(field => ({ title: field.title, info: getValue(field.info, reduxSummaryData, csIndex_temp) })) }; const allInfoCheck = temp.fields.every(item => (0, _kwikidToolkit.isNotEmptyValue)(item.info)); if (temp.image !== element.image.default && allInfoCheck) { cardArray.push(temp); } }; const getReduxDynamicStepData = (reduxSummaryData, summaryDataStepRedux, adminSettingData, cardArray, step, index) => { var _summaryDataStepRedux2; let fields = []; const isVerified = false; const verifyTitle = ""; const extraData = {}; const comments = (_summaryDataStepRedux2 = summaryDataStepRedux === null || summaryDataStepRedux === void 0 ? void 0 : summaryDataStepRedux.comments) !== null && _summaryDataStepRedux2 !== void 0 ? _summaryDataStepRedux2 : undefined; const rawNSDL = adminSettingData !== null && adminSettingData !== void 0 && adminSettingData.showNSDLResponse ? summaryDataStepRedux === null || summaryDataStepRedux === void 0 ? void 0 : summaryDataStepRedux.raw_nsdl : undefined; const nsdlResponse = rawNSDL ? JSON.parse(rawNSDL.response_data) : undefined; const getPageDetails = (pageDetails, pageIndex) => { const isDefaultKey = "is".concat(pageDetails.title.charAt(0).toUpperCase()).concat(pageDetails.title.slice(1), "ImageDefault"); const isDefault = summaryDataStepRedux[isDefaultKey]; const pageField = pageDetails !== null && pageDetails !== void 0 && pageDetails.isOcr || pageDetails !== null && pageDetails !== void 0 && pageDetails.isInfoCard ? pageDetails.ocrFields.map(ocrField => { const key = ocrField.key ? ocrField.key : ocrField.title; const field = summaryDataStepRedux.ocrData.filter(field => field.key === key)[0]; if (!field.info && (field.defaultValue || field.dynamic_value_path)) { var _ref2, _field$dynamic_value_; field.info = getJsonPath(reduxSummaryData.user, (_ref2 = (_field$dynamic_value_ = field.dynamic_value_path) !== null && _field$dynamic_value_ !== void 0 ? _field$dynamic_value_ : field.value_path) !== null && _ref2 !== void 0 ? _ref2 : field.defaultValue); } if ((0, _kwikidToolkit.isNotEmptyValue)(field === null || field === void 0 ? void 0 : field.isRedact) && field.isRedact) { field.info = getRedactedNo(field.info); } return field; }) : []; fields = pageField; if (pageDetails !== null && pageDetails !== void 0 && pageDetails.isCapture && (!(pageDetails !== null && pageDetails !== void 0 && pageDetails.isOptional && isDefault) || comments && (0, _kwikidToolkit.isEmptyValue)(pageIndex))) { var _summaryDataStepRedux3, _summaryDataStepRedux4, _summaryDataStepRedux5; const imageKey = "".concat(pageDetails === null || pageDetails === void 0 ? void 0 : pageDetails.title.toLowerCase(), "Image"); const dynamicStepImage = (_summaryDataStepRedux3 = summaryDataStepRedux[imageKey]) !== null && _summaryDataStepRedux3 !== void 0 ? _summaryDataStepRedux3 : pageDetails.defaultImg; const dynamicStepTitle = summaryDataStepRedux.doc_type === pageDetails.title ? pageDetails.title : (_summaryDataStepRedux4 = summaryDataStepRedux.doc_title) !== null && _summaryDataStepRedux4 !== void 0 ? _summaryDataStepRedux4 : "".concat(summaryDataStepRedux.doc_type, " ").concat(pageDetails.title); const dynamicStepSmallImage = (_summaryDataStepRedux5 = summaryDataStepRedux.xmlFaceImage) !== null && _summaryDataStepRedux5 !== void 0 ? _summaryDataStepRedux5 : undefined; const dynamicStepComments = (0, _kwikidToolkit.isEmptyValue)(pageIndex) ? comments : undefined; // let resultImage = // "https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/AGENT/VideoKYCAPIs-260820-0447.pdf"; pushIntoArray({ arrayName: cardArray, stepTitle: dynamicStepTitle, stepFields: fields, imageUrl: dynamicStepImage, smallImageData: dynamicStepSmallImage, commentsData: dynamicStepComments, nsdlResponseData: nsdlResponse === null || nsdlResponse === void 0 ? void 0 : nsdlResponse.NSDLResponse, verifyTitle, isVerifiedCheck: isVerified, extraFieldData: extraData }); } else if (!(pageDetails !== null && pageDetails !== void 0 && pageDetails.isCapture) && !(step !== null && step !== void 0 && step.isSecondDoc)) { var _summaryDataStepRedux6, _summaryDataStepRedux7; let preLoadImage; if ((0, _kwikidToolkit.isNotEmptyValue)(pageDetails === null || pageDetails === void 0 ? void 0 : pageDetails.preLoad)) { /* To check if aadhaar xml image is already in doc, then refresh facematch. */ preLoadImage = (0, _kwikidToolkit.getObjectValueFromPath)(reduxSummaryData.user, pageDetails === null || pageDetails === void 0 ? void 0 : pageDetails.preLoad); preLoadImage = (0, _kwikidToolkit.isNotEmptyValue)(preLoadImage) ? !preLoadImage.includes("data:image/jpeg;base64,") ? "data:image/jpeg;base64,".concat(preLoadImage) : preLoadImage : undefined; } const notSecondDocTitle = (_summaryDataStepRedux6 = summaryDataStepRedux.doc_title) !== null && _summaryDataStepRedux6 !== void 0 ? _summaryDataStepRedux6 : summaryDataStepRedux.doc_type; const notSecondDocSmallImage = (_summaryDataStepRedux7 = summaryDataStepRedux.xmlFaceImage) !== null && _summaryDataStepRedux7 !== void 0 ? _summaryDataStepRedux7 : undefined; const notSecondDocComments = pageIndex === 0 ? comments : undefined; pushIntoArray({ arrayName: cardArray, stepTitle: notSecondDocTitle, stepFields: fields, imageUrl: preLoadImage, smallImageData: notSecondDocSmallImage, extraFieldData: extraData, commentsData: notSecondDocComments }); } }; if (step !== null && step !== void 0 && step.isSecondDoc) { getStepRedux(reduxSummaryData, index + 1, step).secondDocData.pages.forEach(pageDetails => { if (!(pageDetails !== null && pageDetails !== void 0 && pageDetails.isCapture)) { return; } getSecondDocStepData(summaryDataStepRedux, pageDetails, cardArray); }); } if ((0, _kwikidToolkit.isEmptyArray)(summaryDataStepRedux === null || summaryDataStepRedux === void 0 ? void 0 : summaryDataStepRedux.pages)) { return; } summaryDataStepRedux.pages.forEach((pageDetails, pageIndex) => { getPageDetails(pageDetails, pageIndex); fields = []; }); if ((0, _kwikidToolkit.isNotEmptyValue)(summaryDataStepRedux === null || summaryDataStepRedux === void 0 ? void 0 : summaryDataStepRedux.extras) && Array.isArray(cardArray)) { summaryDataStepRedux.extras.forEach(extra => { getExtrasDataFromStepRedux(summaryDataStepRedux, extra, extraData, cardArray); }); } }; const getData = function (summary_data) { let adminSettingData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; let cardArray = []; if (Array.isArray(summary_data === null || summary_data === void 0 ? void 0 : summary_data.fields)) { // For FormData const formFields = []; const formTitle = summary_data !== null && summary_data !== void 0 && summary_data.title ? summary_data.title : ""; summary_data.fields.forEach(field => { if (!(0, _kwikidToolkit.isObject)(field.info)) { formFields.push({ title: field.title, info: field.info }); } else { var _field$info$; formFields.push({ title: field.title, info: (_field$info$ = field.info[0]) === null || _field$info$ === void 0 ? void 0 : _field$info$.file_url // For the PDF files to be shown under the nested object }); } }, pushIntoArray({ arrayName: cardArray, stepTitle: formTitle, stepFields: formFields })); } else if ((0, _kwikidToolkit.isNotEmptyValue)(summary_data === null || summary_data === void 0 ? void 0 : summary_data.item)) { // For ExtraData const extraDataTitle = summary_data !== null && summary_data !== void 0 && summary_data.title ? summary_data.title : ""; const extraDataFields = summary_data === null || summary_data === void 0 ? void 0 : summary_data.item.map(item => ({ title: item.key, info: item.value })); pushIntoArray({ arrayName: cardArray, stepTitle: extraDataTitle, stepFields: extraDataFields }); } else if ((0, _kwikidToolkit.isNotEmptyValue)(summary_data === null || summary_data === void 0 ? void 0 : summary_data.redux)) { var _summary_data$redux, _summary_data$redux$s, _summary_data$redux2, _summary_data$redux2$; const summaryDataReduxStepList = (_summary_data$redux = summary_data.redux) === null || _summary_data$redux === void 0 ? void 0 : (_summary_data$redux$s = _summary_data$redux.steps) === null || _summary_data$redux$s === void 0 ? void 0 : _summary_data$redux$s.step_list; if (Array.isArray(summaryDataReduxStepList)) summaryDataReduxStepList.forEach((step, index) => { var _step$file; const summaryDataStepRedux = getStepRedux(summary_data.redux, index + 1); const title = step === null || step === void 0 ? void 0 : step.doc_title; const image = step === null || step === void 0 ? void 0 : (_step$file = step.file) === null || _step$file === void 0 ? void 0 : _step$file.url; if ((0, _kwikidToolkit.isNotEmptyValue)(step === null || step === void 0 ? void 0 : step.doc_type)) { switch (getStepInfoDocTypeFormat(step === null || step === void 0 ? void 0 : step.doc_type)) { case _Summary.docTypeObj.LOCATE_BRANCH: getReduxLocateBranchData(summaryDataStepRedux, cardArray); break; case _Summary.docTypeObj.FILES: pushIntoArray({ arrayName: cardArray, stepTitle: title, imageUrl: image }); break; case _Summary.docTypeObj.ADDRESS_MATCH: getReduxAddressMatchData(summary_data.redux, cardArray); break; default: break; } } else if ((0, _kwikidToolkit.isNotEmptyValue)(step === null || step === void 0 ? void 0 : step.isDynamic)) { getReduxDynamicStepData(summary_data.redux, summaryDataStepRedux, adminSettingData, cardArray, step, index); } }); if ((0, _kwikidToolkit.isNotEmptyValue)(summary_data === null || summary_data === void 0 ? void 0 : (_summary_data$redux2 = summary_data.redux) === null || _summary_data$redux2 === void 0 ? void 0 : (_summary_data$redux2$ = _summary_data$redux2.user) === null || _summary_data$redux2$ === void 0 ? void 0 : _summary_data$redux2$.summaryCards)) { summary_data.redux.user.summaryCards.forEach((element, index) => { getSummaryCardsData(summary_data.redux, cardArray, element, index); }); } } else if ((0, _kwikidToolkit.isNotEmptyValue)(summary_data === null || summary_data === void 0 ? void 0 : summary_data.data)) { summary_data.data.forEach(step => { var _step$step_info, _step$step_info2, _step$step_info3, _step$step_info4, _step$images, _step$images2, _step$ocr19; if ((0, _kwikidToolkit.isEmptyValue)(step)) { return; } const stepInfoDocType = step === null || step === void 0 ? void 0 : (_step$step_info = step.step_info) === null || _step$step_info === void 0 ? void 0 : _step$step_info.doc_type; const stepInfoDocumentType = step === null || step === void 0 ? void 0 : (_step$step_info2 = step.step_info) === null || _step$step_info2 === void 0 ? void 0 : _step$step_info2.documentType; const stepInfoSide = step === null || step === void 0 ? void 0 : (_step$step_info3 = step.step_info) === null || _step$step_info3 === void 0 ? void 0 : _step$step_info3.side; const stepInfoLabel = step === null || step === void 0 ? void 0 : (_step$step_info4 = step.step_info) === null || _step$step_info4 === void 0 ? void 0 : _step$step_info4.label; const image = step === null || step === void 0 ? void 0 : (_step$images = step.images) === null || _step$images === void 0 ? void 0 : _step$images.url_original; const redactedImage = step === null || step === void 0 ? void 0 : (_step$images2 = step.images) === null || _step$images2 === void 0 ? void 0 : _step$images2.url_redact; let title = stepInfoLabel !== null && stepInfoLabel !== void 0 ? stepInfoLabel : stepInfoDocType.split("_").join(" "); if (stepInfoSide) { title = "".concat(title, " ").concat(stepInfoSide); } if ((0, _kwikidToolkit.isEmptyValue)(stepInfoDocType)) {} else { switch (getStepInfoDocTypeFormat(stepInfoDocType)) { case _Summary.docTypeObj.NOT_TO_BE_PROCESSED_DOCUMENT: break; case _Summary.docTypeObj.AADHAAR_XML: getAadhaarXmlData(step, cardArray, title); break; case _Summary.docTypeObj.PAN_CARD: pushPanInArray(cardArray, step, title, image, "PA Number", step === null || step === void 0 ? void 0 : (_step$ocr19 = step.ocr) === null || _step$ocr19 === void 0 ? void 0 : _step$ocr19.pa_number); break; case _Summary.docTypeObj.AADHAAR_CARD: getAadhaarCardData(step, stepInfoSide, cardArray, title, redactedImage); break; case _Summary.docTypeObj.CUSTOM_DOCUMENT: getCustomDocumentData(step, cardArray, title, image); break; case _Summary.docTypeObj.CAMERA_RECORD: getCameraRecordData(step, cardArray, title); break; case _Summary.docTypeObj.CAMERA_CAPTURE: getCameraCaptureData(step, stepInfoDocumentType, cardArray, title, image, redactedImage); break; default: pushIntoArray({ arrayName: cardArray, stepTitle: title, imageUrl: image }); break; } } }); } cardArray = cardArray.map(item => { var _item$title, _item$title$split, _item$title$split$map; return _objectSpread(_objectSpread({}, item), {}, { title: item === null || item === void 0 ? void 0 : (_item$title = item.title) === null || _item$title === void 0 ? void 0 : (_item$title$split = _item$title.split("_")) === null || _item$title$split === void 0 ? void 0 : (_item$title$split$map = _item$title$split.map(word => word.toUpperCase())) === null || _item$title$split$map === void 0 ? void 0 : _item$title$split$map.join(" ") }); }); return cardArray; }; // --------------------------------------------------------------QnA HELPER FUNCTIONS exports.getData = getData; const getQnaObj = qnaArray => { let groupedQnaArray = []; if (qnaArray && qnaArray.length > 0) { const groupedQnaObj = (0, _lodash.groupBy)(qnaArray, qna => (0, _kwikidToolkit.isNotEmptyValue)(qna.doc_title) ? qna.doc_title : "Questions"); groupedQnaArray = Object.entries(groupedQnaObj).map(_ref3 => { var _value$filter; let [key, value] = _ref3; let answeredQstns = 0; answeredQstns = (_value$filter = value.filter(qna => qna.selected)) === null || _value$filter === void 0 ? void 0 : _value$filter.length; return { doc_title: key, data: value, answeredQstns }; }); } return groupedQnaArray; }; exports.getQnaObj = getQnaObj; const getGroupedQnaObj = groupedQnaArray => { return groupedQnaArray.filter(groupedQna => { return groupedQna && groupedQna.doc_title && groupedQna.data && groupedQna.data.length > 0 && groupedQna.answeredQstns > 0; }); }; exports.getGroupedQnaObj = getGroupedQnaObj; const getQnaArray = summary_data => { let qnaArray = []; if ((0, _kwikidToolkit.isNotEmptyValue)(summary_data === null || summary_data === void 0 ? void 0 : summary_data.data)) { summary_data.data.forEach(step => { var _step$step_info5; if (step !== null && (step === null || step === void 0 ? void 0 : (_step$step_info5 = step.step_info) === null || _step$step_info5 === void 0 ? void 0 : _step$step_info5.doc_type) === "Questions") { step.qnaData.forEach(q => { qnaArray.push({ question: q.question, selected: q.answer }); }); } }); } else if (summary_data !== null && summary_data !== void 0 && summary_data.redux) { var _summary_data$redux3, _summary_data$redux3$; const summaryDataReduxStepList = (_summary_data$redux3 = summary_data.redux) === null || _summary_data$redux3 === void 0 ? void 0 : (_summary_data$redux3$ = _summary_data$redux3.steps) === null || _summary_data$redux3$ === void 0 ? void 0 : _summary_data$redux3$.step_list; if ((0, _kwikidToolkit.isEmptyValue)(summaryDataReduxStepList)) { return; } summaryDataReduxStepList.filter(step => (step === null || step === void 0 ? void 0 : step.doc_type) === "Questions").forEach(item => { const qnaStepPosition = summaryDataReduxStepList.indexOf(item); if (summary_data.redux.qnaStep["QnAdata_".concat(qnaStepPosition)]) qnaArray = qnaArray.concat(summary_data.redux.qnaStep["QnAdata_".concat(qnaStepPosition)]); if (summary_data.redux.qnaStep.QnAdata) qnaArray = qnaArray.concat(summary_data.redux.qnaStep.QnAdata); }); } return qnaArray; }; // --------------------------------------------------------------ExtraUserInfo HELPER FUNCTIONS exports.getQnaArray = getQnaArray; const isExtraInfo = data => { var _data$user; /* Following code is to check wether extraBasicInfo is to be hidden in summary page in jsx*/ if (data !== null && data !== void 0 && (_data$user = data.user) !== null && _data$user !== void 0 && _data$user.extraBasicInfo) { var _data$user2; const extraBasicInfo = data === null || data === void 0 ? void 0 : (_data$user2 = data.user) === null || _data$user2 === void 0 ? void 0 : _data$user2.extraBasicInfo.filter(item => !item.hideCondition || !isExcludeExtraInfo(item, data.user)); return extraBasicInfo && extraBasicInfo.length > 0; } return false; }; exports.isExtraInfo = isExtraInfo; const validateDropItem = (data, validationDetail) => { if (!validationDetail) return true; let isValidated = true; validationDetail.forEach(validationItem => { let current_val = (0, _kwikidToolkit.getObjectValueFromPath)(data, validationItem === null || validationItem === void 0 ? void 0 : validationItem.valPath); switch (validationItem === null || validationItem === void 0 ? void 0 : validationItem.validationType) { case "shouldNotEqualTo": if (!current_val && validationItem !== null && validationItem !== void 0 && validationItem.defaultPath) { current_val = (0, _kwikidToolkit.getObjectValueFromPath)(data, validationItem.defaultPath); } isValidated = isValidated && !validationItem.data.includes(current_val); break; case "shouldNotInBetween": validationItem.data.forEach(dataItem => { const lowerBoundary = dataItem.split("-")[0]; const upperBoundary = dataItem.split("-")[1]; isValidated = isValidated && (parseInt(current_val) < parseInt(lowerBoundary) || parseInt(current_val) > parseInt(upperBoundary)); }); break; case "shouldBeLessThen": validationItem.data.forEach(dataItem => { isValidated = isValidated && parseInt(current_val) < parseInt(dataItem); }); break; default: break; } }); return isValidated; }; const isExcludeExtraInfo = (data, item) => { if (item !== null && item !== void 0 && item.hideCondition) { var _item$hideCondition; if (Array.isArray(item.hideCondition)) { const isHideTemp = validateDropItem(data, item.hideCondition); return isHideTemp; } const req_value = item.hideCondition.val; const current_value = getJsonPath(data, (_item$hideCondition = item.hideCondition) === null || _item$hideCondition === void 0 ? void 0 : _item$hideCondition.key); if (typeof req_value === "string") { return current_value && current_value === req_value; } if (Array.isArray(req_value)) { return current_value && current_value.includes(req_value); } } return false; }; exports.isExcludeExtraInfo = isExcludeExtraInfo; const concateAllArreyElement = (data, item) => { let concatedValue = ""; item.value_array.forEach(path => { const value = getJsonPath(data, path); if (value) concatedValue += "".concat(value === null || value === void 0 ? void 0 : value.toString(), " "); }); return concatedValue; }; const checkPreFillCondition = (data, preFillCondi) => { let isAllConditionPassed; let isTargetResetted = false; switch (preFillCondi.conditionType) { case "and": isAllConditionPassed = true; break; case "or": isAllConditionPassed = false; break; default: break; } preFillCondi.conditionList.forEach(item => { let currentValPath; currentValPath = (0, _kwikidToolkit.getObjectValueFromPath)(data, item.path); const targetField = (0, _kwikidToolkit.getObjectValueFromPath)(data, item.path.split(".mapped_val")[0]); isTargetResetted = isTargetResetted || targetField.isResettedVal; if (!currentValPath && item.defaultPath) currentValPath = (0, _kwikidToolkit.getObjectValueFromPath)(data, item.defaultPath); switch (preFillCondi.conditionType) { case "and": isAllConditionPassed = isAllConditionPassed && item.val.includes(currentValPath); break; case "or": isAllConditionPassed = isAllConditionPassed || item.val.includes(currentValPath); break; default: break; } }); return isAllConditionPassed && !isTargetResetted; }; const whetherToShow = (data, item) => { /* Function: to check for depedent field in this item and if it matches "for" "on" key Purpose: to filter out the extra field depending upon conditions from the view */ if (item.dependent) { var _item$dependent$for; const current_value = getJsonPath(data, item.dependent.on); return (current_value === null || current_value === void 0 ? void 0 : current_value.toString()) === ((_item$dependent$for = item.dependent.for) === null || _item$dependent$for === void 0 ? void 0 : _item$dependent$for.toString()); } return true; }; const getMappedValue = (value, value_map) => { const mappedData = value_map.filter(element => { switch (element.type) { case "regex": return regexMatcher(value, element.value); default: return element.value === value; } }); if (mappedData.length > 0) return mappedData[0].replaceWith; return value; }; const getValueFromInnerArray = (data, item) => { var _selectedItem; const resultArray = []; const valueArray = getJsonPath(data, item.dynamic_value_path ? item.dynamic_value_path : item.value_path); let selectedItem; if (item.dynamic_value_path) { if (Array.isArray(valueArray)) { selectedItem = valueArray === null || valueArray === void 0 ? void 0 : valueArray.filter(ele => ele[item.inner.select.key] === item.inner.select.value); } else selectedItem = [valueArray]; } else selectedItem = valueArray === null || valueArray === void 0 ? void 0 : valueArray.filter(ele => ele[item.inner.select.key] === item.inner.select.value); if (((_selectedItem = selectedItem) === null || _selectedItem === void 0 ? void 0 : _selectedItem.length) > 0) { for (const ele in selectedItem[0]) { if (item.inner.printInner.includes(ele)) if (!item.inner.isHideEmptyTag || item.inner.isHideEmptyTag && selectedItem[0][ele] !== "") { resultArray.push({ title: ele, info: selectedItem[0][ele].replace("null", "").replace(",,", ",") }); } } } // Check if result arr has single element, then send just the value other wise full array to map // Also if result Array is empty then send empty aaray if (resultArray.length < 1 || resultArray.length > 1) return resultArray; return resultArray[0].info; }; const extraFields = (data, extraBasicInfo) => { let extraBasic = extraBasicInfo; extraBasic = extraBasic.filter(item => whetherToShow(data, item)); return extraBasic.map(extraItem => { var _extraItem$title; let value; if (!extraItem.info) { var _extraItem$editDetail; if (extraItem.type === "image") { var _getJsonPath; const image = (_getJsonPath = getJsonPath(data, extraItem.value_path)) === null || _getJsonPath === void 0 ? void 0 : _getJsonPath.toString(); if (!image) value = "https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/AGENT/assets/man.png";else value = "data:image/jpeg;base64,".concat(image); } else if (extraItem !== null && extraItem !== void 0 && extraItem.isEditable && (extraItem === null || extraItem === void 0 ? void 0 : (_extraItem$editDetail = extraItem.editDetails) === null || _extraItem$editDetail === void 0 ? void 0 : _extraItem$editDetail.type) === "preFillText") { let preFillVal; extraItem.editDetails.preFillConditions.every(preFillCondi => { if (checkPreFillCondition(data, preFillCondi)) { preFillVal = (0, _kwikidToolkit.getObjectValueFromPath)(data, preFillCondi.valPath); if (!preFillVal && preFillCondi.defaultPath) preFillVal = (0, _kwikidToolkit.getObjectValueFromPath)(data, preFillCondi.defaultPath); return false; } return true; }); value = preFillVal || getJsonPath(data, extraItem.dynamic_value_path ? extraItem.dynamic_value_path : extraItem.value_path);