-
- {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);
- 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);
+ return (
+
+ );
+ })}
);
}
diff --git a/components/newappeal/buildsection.js b/components/newappeal/buildsection.js
index 5d7f4e12..0002d5dd 100644
--- a/components/newappeal/buildsection.js
+++ b/components/newappeal/buildsection.js
@@ -1,10 +1,11 @@
import Link from "next/link";
+import _, { has } from "lodash";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { useState, useEffect } from "react";
import xpath from "xpath";
import BuildRow from "./buildrow";
-import { reduxForm, formValueSelector } from "redux-form";
+import { reduxForm, formValueSelector, getFormSubmitErrors } from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import {
setCaseReference,
@@ -56,12 +57,73 @@ let BuildSection = (props) => {
const onHandleSubmit = (values) => {
setCurrentSection(currentSection + 1);
- setCaseReference(router.query.refno);
};
- // const initialValues = {
- // email: router.query.refno,
- // };
+ const [hasErrors, setHasErrors] = useState("");
+
+ const getErrors = () => {
+ let errorsobj = props.props.form["appealForm"];
+ setHasErrors(errorsobj.hasOwnProperty("syncErrors"));
+ window.scrollTo(0, 0);
+ };
+
+ let errorsobj = {};
+ const ShowErrorHeader = (props) => {
+ errorsobj = props.props.appealForm.syncErrors;
+ errorsobj = _.keys(errorsobj);
+
+ const getErrorLabel = (whichField) => {
+ var doc = parser.parseFromString(props.formXML, "text/xml");
+ var errorFieldLabel = xpath.select(
+ "//*[control/@id='" + whichField + "']//@description",
+ doc
+ );
+
+ return errorFieldLabel[0].value;
+ };
+
+ const ShowErrors = () => {
+ let errorList = [];
+ for (let i = 0; i < errorsobj.length; ++i) {
+ //get label from error key - search rowxml for id = errorobj
+
+ errorList.push(
+
+
+ {" "}
+ {getErrorLabel(errorsobj[i])}
+
+
+ );
+ }
+
+ return errorList;
+ };
+
+ return !_.isEmpty(errorsobj) ? (
+
+
+ The following fields have a problem :
+
+
+
+ ) : (
+ ""
+ );
+ };
return (
@@ -70,6 +132,16 @@ let BuildSection = (props) => {
{titles[0].value}{" "}
@@ -144,14 +152,17 @@ let Home = (props) => {
export const getServerSideProps = wrapper.getServerSideProps(
(store) =>
async ({ query, req, res }) => {
- console.log("the query", query);
+ //console.log("the query", query);
store.dispatch(setAppealTypeID(query.appealtypes));
const appealTypeData = await getAppealsTypes();
const formdata = (await getFormData(query.appealtypes)) || null;
+ const caseReference = createCase("asasa", "asasa");
+
let xmlStr = formdata;
xmlStr = formdata.value[0].formxml;
xmlStr = xmlStr.replace(/\\"/g, "");
+ store.dispatch(setCaseReference(caseReference));
store.dispatch(setForm(xmlStr));
store.dispatch(setAppealType(appealTypeData));
}
diff --git a/pages/newappeal/index.js b/pages/newappeal/index.js
index c39cf5be..2c517816 100644
--- a/pages/newappeal/index.js
+++ b/pages/newappeal/index.js
@@ -49,22 +49,26 @@ const Home = (props) => {
+
+
+
+
+
+
-
-
-
-
-
-
-
New Appeal
-
+ New Appeal
+
+
-
-
+
diff --git a/pages/newappeal/selectappeal.js b/pages/newappeal/selectappeal.js
index 1a77503d..3f6c4590 100644
--- a/pages/newappeal/selectappeal.js
+++ b/pages/newappeal/selectappeal.js
@@ -68,45 +68,49 @@ const Home = (props) => {
+
+
+
+
+
+
-
-
-
-
-
+
New Appeal
-
New Appeal
-
-
+ Continue
+
+
+
-
-
+