Files
pedwfrontend/components/newappeal/buildcheckrow.js
T

114 lines
4.0 KiB
JavaScript

import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import xpath from "xpath";
import BuildCheckField from "./buildCheckfield";
import { useSelector, shallowEqual, connect } from "react-redux";
import {
setCaseReference,
setCurrentSection,
setFormComplete,
} from "../../store/appealType/action";
let BuildCheckRow = (props) => {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const {
formXML,
whichSection,
sectionCount,
onSubmit,
updateCurrentSection,
} = 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
);
return (
<>
{Object.keys(rowXML).map((key, index) => {
var doc = parser.parseFromString(
rowXML[key].outerHTML,
"text/xml"
);
var rows = xpath.select("//label/@description", doc);
var fieldtype = xpath.select("//@classid", doc);
var datafieldname = xpath.select("//@datafieldname", doc);
console.log(props.form);
return (
<div className="govuk-summary-list__row" key={key}>
<dt className="govuk-summary-list__key">
{rows[0].value}
</dt>
<dd className="govuk-summary-list__value">
{fieldtype[0].value ==
"{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}"
? props.props.form["appealForm"].values[
datafieldname[0].value
] != null
? props.props.form["appealForm"].values[
datafieldname[0].value
].getDate() +
"/" +
(props.props.form["appealForm"].values[
datafieldname[0].value
].getMonth() +
1) +
"/" +
props.props.form["appealForm"].values[
datafieldname[0].value
].getFullYear()
: ""
: props.props.form["appealForm"].values[
datafieldname[0].value
]}
</dd>
<dd className="govuk-summary-list__actions">
<a
className="govuk-link"
href="#"
onClick={() => {
updateCurrentSection(whichSection);
}}
>
Change
<span className="govuk-visually-hidden">
{" "}
name
</span>
</a>
</dd>
</div>
);
})}
</>
);
};
const mapDispatchToProps = (dispatch) => {
return {
updateCurrentSection: (whichSection) => {
dispatch(setCurrentSection(whichSection));
dispatch(setFormComplete("true"));
},
};
};
const mapStateToProps = (state) => ({
count: state.count,
});
export default connect(mapStateToProps, mapDispatchToProps)(BuildCheckRow);