import { JSONPath as jsonpath } from "jsonpath-plus"; import useTranslation from "next-translate/useTranslation"; import Link from "next/link"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import { connect } from "react-redux"; import { formValueSelector } from "redux-form"; import xpath from "xpath"; import fieldLookup from "../../data/crmfieldlookuptranslations.json"; import { setCurrentSection, setFormComplete, } from "../../store/appealType/action"; import BuildCheckRow from "./buildcheckrow"; import { generateAppealPDF, sendCaseCompleteMessage } from "../../actions"; import { bytesToSize, getThumbnailIconByExtension } from "../utils"; let BuildCheckSection = (props) => { useEffect(() => { setFormComplete(); }, []); let { t } = useTranslation(); const router = useRouter(); const { locale } = router; const { formXML, sectionCount, onSubmit, handleSubmit, formTitle, setCurrentSection, updateCurrentSection, mandatoryFieldsData, } = props; const parser = new DOMParser(); var doc = parser.parseFromString(props.formXML, "text/xml"); var titles = xpath.select( "//form/tabs/tab[*]/labels/label/@description", doc ); var rowXML = xpath.select( "/form/tabs/tab[*]/columns//sections/section/rows/row", doc ); var titleList = xpath.select( "//form/tabs/tab[*]/labels/label/@description", doc ); const handleParam = (setValue) => (e) => setValue(e.target.value); const basicSearch = (event) => { event.preventDefault(); console.log(query); // /searchresults }; const onHandleSubmit = (values) => { //alert(1); //updateCaseProgress(values); // setCurrentSection(9999); alert(1); }; let buildAppealFilesArray = []; //console.log("attached docs: - ", buildAppealFilesArray); // let filesUploadObj = Object.keys(props.props.form.appealForm.values) // .filter(function (k) { // return k.indexOf("pinswg_fileUpload") == 0; // }) // .reduce(function (newData, k) { // newData[k] = props.props.form.appealForm.values[k]; // return newData; // }, {}); // for (let key in filesUploadObj) { // for (let j in filesUploadObj[key]) { // typeof filesUploadObj[key][j].name != "undefined" && // buildAppealFilesArray.push({ // "name": filesUploadObj[key][j].name, // "size": filesUploadObj[key][j].size, // }); // } // } buildAppealFilesArray = props.props.form.appealForm.values.filesList; buildAppealFilesArray.filter(function (item, idx) { return item.name; }); console.log(buildAppealFilesArray); let pdfObj = props.props.form.appealForm.values; Object.assign(pdfObj, { "containerID": props.props.accountDetails.containerID, "casefolderID": props.appealType.caseReference.ticketnumber, }); const [confirmSections, setConfirmSections] = useState(false); const [finaliseAppealProcess, setFinaliseAppealProcess] = useState(false); const FieldsTranslations = (label) => { const router = useRouter(); const { locale } = router; const { appealtypes } = router.query; let formObj = jsonpath("$['" + appealtypes + "']", fieldLookup); let labelTrans = router.locale == "cy" ? jsonpath('$..[?(@.value=="' + label + '")].value_cy', formObj) : label; return labelTrans; }; const finaliseAppeal = async () => { setFinaliseAppealProcess(true); console.log("finalising appeal:"); await generateAppealPDF( pdfObj, props.props.accountDetails.containerID, props.appealType.caseReference.ticketnumber, router.query.appealtypes, pdfObj.filesList // props.appealType.fileList ) .then((data) => { console.log("have generated pdf:", data); sendCaseCompleteMessage( props.props.accountDetails.containerID, props.appealType.caseReference.ticketnumber ); }) .then(() => { console.log("have sent complete message :"); setCurrentSection(9999); }); }; return (
Currenly uploading files and finalising your appeal submission
Please wait
{t( "newappeal:new-appeal-check-confirm-paragraph-one" )}
{t( "newappeal:new-appeal-check-confirm-paragraph-two" )}{" "} {t( "newappeal:new-appeal-check-confirm-paragraph-two-link" )}