import { JSONPath as jsonpath } from "jsonpath-plus"; import useTranslation from "next-translate/useTranslation"; import { useRouter } from "next/router"; import { connect } from "react-redux"; import xpath from "xpath"; import { getPickListLabel, getRadioLabel, bytesToSize, getDocumentTypeFromFilename, getThumbnailIconByExtension, } from "../../components/utils"; import fieldLookup from "../../data/crmfieldlookuptranslations.json"; import { setCurrentSection, setFormComplete, } from "../../store/appealType/action"; let BuildCheckRow = (props) => { let { t } = useTranslation(); const router = useRouter(); const { locale } = router; const { formXML, whichSection, sectionCount, onSubmit, updateCurrentSection, setCurrentSection, mandatoryFieldsData, } = props; const parser = new DOMParser(); var doc = parser.parseFromString(props.formXML, "text/xml"); var rowXML = xpath.select( "/form/tabs/tab[" + whichSection + "]/columns//sections/section/rows/row", doc ); function formatDate(dateObj) { var m = new Date(dateObj); var dateString; dateObj != null ? (dateString = ("0" + m.getDate()).slice(-2) + "/" + ("0" + (m.getMonth() + 1)).slice(-2) + "/" + m.getFullYear()) : (dateString = ""); return dateString; } 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; }; function isObjectAndNotEmpty(value) { return ( value !== null && typeof value === "object" && Object.keys(value).length > 0 ); } return ( <> {Object.keys(rowXML).map((key, index) => { var doc = parser.parseFromString( rowXML[key].outerHTML, "text/xml" ); if (_.isEmpty(rowXML[key].innerHTML)) { (""); } else { var rows = xpath.select("//label/@description", doc); var fieldtype = xpath.select("//@classid", doc); var datafieldname = xpath.select("//@datafieldname", doc); const isRequiredField = jsonpath( "$..value[?(@.LogicalName=='" + datafieldname[0].value + "')]", mandatoryFieldsData ); var documentTypeCode = xpath.select( "//@ishareDocumentCode", doc ); // if (datafieldname[0].value.indexOf("fileUpload") > 0) { // isRequiredField.push({ // "LogicalName": datafieldname[0].value, // "RequiredLevel": { // "Value": "Recommended", // "CanBeChanged": true, // "ManagedPropertyLogicalName": // "canmodifyrequirementlevelsettings", // }, // "MetadataId": // "32a7e6fc-4283-eb11-aac0-00224800be9c", // }); // } //console.log( // datafieldname[0].value.indexOf("fileUpload") > 0, // isRequiredField, // props.props.form["appealForm"].values[ // datafieldname[0].value // ] // ); // if ( // typeof props.props.form["appealForm"].values[ // datafieldname[0].value // ] != "undefined" // ) { return (