import _ from "lodash"; import useTranslation from "next-translate/useTranslation"; import { useRouter } from "next/router"; import xpath from "xpath"; import BuildField from "./buildfield"; export default function BuildRow(props) { let { t } = useTranslation(); const router = useRouter(); const { locale } = router; const { rowXML, whichSection, sectionCount, onSubmit, mandatoryFieldsData, setUploadCount, uploadCount, setFileCount, completedUploadFilesCount, setCompletedUploadFilesCount, } = props; const parser = new DOMParser(); 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 validation = xpath.select("//@validation", doc); var maxFieldLength = xpath.select("//@maxFieldLength", doc); var maxSubField = xpath.select("//@maxsubfield", doc); var datafieldname = xpath.select("//@datafieldname", doc); var datafieldcontent = xpath.select( "//@datafieldcontent", doc ); var parentField = xpath.select("//@parentField", doc); var parentFieldShowOnValue = xpath.select( "//@parentFieldShowOnValue", doc ); var requiredDocumentValue = xpath.select( "//@requiredDocumentValue", doc ); var requiredDocumentLabel = xpath.select( "//@requiredDocumentLabel", doc ); var documentTypeCode = xpath.select( "//@ishareDocumentCode", doc ); var hint = xpath.select("//label/@hint", doc); var dateStart = xpath.select("//@dateStart", doc); var dateEnd = xpath.select("//@dateEnd", doc); hint = !_.isEmpty(hint) && hint[0].value; validation = !_.isEmpty(validation) ? validation[0].value : []; maxFieldLength = !_.isEmpty(maxFieldLength) && maxFieldLength[0].value; maxSubField = !_.isEmpty(maxSubField) && maxSubField[0].value; parentField = !_.isEmpty(parentField) && parentField[0].value; parentFieldShowOnValue = !_.isEmpty(parentFieldShowOnValue) && parentFieldShowOnValue[0].value; datafieldcontent = !_.isEmpty(datafieldcontent) && datafieldcontent[0].value; requiredDocumentValue = !_.isEmpty(requiredDocumentValue) && requiredDocumentValue[0].value; requiredDocumentLabel = !_.isEmpty(requiredDocumentLabel) && requiredDocumentLabel[0].value; documentTypeCode = !_.isEmpty(documentTypeCode) && documentTypeCode[0].value; dateStart = !_.isEmpty(dateStart) && dateStart[0].value; dateEnd = !_.isEmpty(dateEnd) && dateEnd[0].value; //const isRequiredField = jsonpath( // "$..value[?(@.LogicalName=='" + // datafieldname[0].value + // "')]", // mandatoryFieldsData // ); //console.log("build row datafieldname[0]", datafieldname[0]); if (datafieldname[0].value == "pinswg_fileUpload") { return ( ); } else { //console.log( // datafieldname[0].value, // isRequiredField[0].RequiredLevel.Value // ); // if (typeof isRequiredField[0] != "undefined") { // if ( // isRequiredField[0].RequiredLevel.Value != "None" // ) { //console.log(datafieldname[0].value, validation); return ( ); // } else { // return null; // } // } else { // return null; // } } } })}
); }