when click change linik values persisted

This commit is contained in:
2024-10-21 15:39:28 +01:00
parent 02d1bb313f
commit dc71d16a1f
9 changed files with 199 additions and 101 deletions
+4 -4
View File
@@ -501,10 +501,10 @@ export const deleteBlobCase = async (containerName, blobName) => {
}
//containerClient.deleteBlob(blobName);
console.log(`deleted blob ${blobName}`);
for await (const blob of containerClient.listBlobsFlat()) {
console.log(" ------ :", blob.name);
}
// console.log(`deleted blob ${blobName}`);
// for await (const blob of containerClient.listBlobsFlat()) {
// console.log(" ------ :", blob.name);
// }
return { "deleted": blobName };
};
@@ -6,9 +6,9 @@ import React, { useMemo, useState } from "react";
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import Dropzone from "react-dropzone";
import "react-quill/dist/quill.snow.css";
import "react-quill-new/dist/quill.snow.css";
import { Field } from "redux-form";
const ReactQuill = dynamic(() => import("react-quill"), { ssr: false });
const ReactQuill = dynamic(() => import("react-quill-new"), { ssr: false });
import {
addDays,
+2 -2
View File
@@ -24,8 +24,8 @@ import {
subMonths,
subYears,
} from "date-fns";
import "react-quill/dist/quill.snow.css";
const ReactQuill = dynamic(() => import("react-quill"), { ssr: false });
import "react-quill-new/dist/quill.snow.css";
const ReactQuill = dynamic(() => import("react-quill-new"), { ssr: false });
const RenderTextfield = ({
id,
@@ -26,20 +26,31 @@ const AwaitingSubmissionFromBlob = (props) => {
const { locale } = router;
const { setCurrentView } = props;
function sortByISODate(arr, dateKey) {
return arr.sort((a, b) => new Date(b[dateKey]) - new Date(a[dateKey]));
}
function sortByField(arr, field, ascending = true) {
return arr.sort((a, b) => {
if (a[field] < b[field]) return ascending ? -1 : 1;
if (a[field] > b[field]) return ascending ? 1 : -1;
return 0; // Equal
});
}
function filterByExistingFieldValue(arr, filterArr, field) {
const filterValues = filterArr.map((item) => item[field]);
return arr.filter((item) => !filterValues.includes(item[field]));
}
let topthreeRowArr = [];
let showTopThreeArr = props.awaitingSubmissionFromBlob.value;
let showTopThreeArrDets = props.awaitingSubmissionFromBlob.case;
Object.keys(showTopThreeArrDets).map((key, index) => {
let createdDate = showTopThreeArrDets[key].createdon;
showTopThreeArr[key].createdDate = createdDate;
});
showTopThreeArr = sortByField(showTopThreeArr, "pinswg_name");
showTopThreeArrDets = sortByField(showTopThreeArrDets, "ticketnumber");
showTopThreeArr.sort(function compare(a, b) {
var dateA = new Date(a.createdDate);
var dateB = new Date(b.createdDate);
return dateB - dateA;
});
showTopThreeArr = sortByISODate(showTopThreeArr, "createdDate");
showTopThreeArrDets = sortByISODate(showTopThreeArrDets, "createdon");
const raisedDate = (datePart) => {
var dateObj = new Date(datePart);
+8 -5
View File
@@ -23,6 +23,7 @@ let BuildCheckRow = (props) => {
sectionCount,
onSubmit,
updateCurrentSection,
setCurrentSection,
mandatoryFieldsData,
} = props;
@@ -161,20 +162,19 @@ let BuildCheckRow = (props) => {
)
: fieldtype[0].value ==
"{16D63FD6-119B-4353-BDCA-18358721C3FE}"
? (console.log(
? console.log(
props.props.form[
"appealForm"
].values[
datafieldname[0].value
]
),
(<div>sdfsd eeefsdfs</div>))
)
: fieldtype[0].value ==
"{0273EDBD-AC1D-40d3-9FB2-095C621B552D}"
? props.props.form[
"appealForm"
].values[
datafieldname[0].value
datafieldname[0].value[0]
].map((tenant, index) => {
return (
<div
@@ -211,7 +211,7 @@ let BuildCheckRow = (props) => {
className="govuk-link"
href="#"
onClick={() => {
updateCurrentSection(
setCurrentSection(
whichSection
);
}}
@@ -248,6 +248,9 @@ let BuildCheckRow = (props) => {
const mapDispatchToProps = (dispatch) => {
return {
setCurrentSection: (currentSection) => {
dispatch(setCurrentSection(currentSection));
},
updateCurrentSection: (whichSection) => {
dispatch(setCurrentSection(whichSection));
dispatch(setFormComplete("true"));
+53 -30
View File
@@ -4,7 +4,7 @@ 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 { formValueSelector, Field, reduxForm } from "redux-form";
import xpath from "xpath";
import fieldLookup from "../../data/crmfieldlookuptranslations.json";
import {
@@ -55,11 +55,11 @@ let BuildCheckSection = (props) => {
const handleParam = (setValue) => (e) => setValue(e.target.value);
const basicSearch = (event) => {
event.preventDefault();
console.log(query);
// /searchresults
};
// const basicSearch = (event) => {
// event.preventDefault();
// //console.log(query);
// // /searchresults
// };
const onHandleSubmit = (values) => {
//alert(1);
@@ -71,32 +71,37 @@ let BuildCheckSection = (props) => {
let buildAppealFilesArray = [];
//console.log("attached docs: - ", buildAppealFilesArray);
buildAppealFilesArray = props.props.form.appealForm.values.filesList || [];
// 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;
// }, {});
let filesUploadObj = props.appealType.fileList.value[0];
// 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;
for (let key in filesUploadObj) {
typeof filesUploadObj[key].name != "undefined" &&
buildAppealFilesArray.push({
"name": filesUploadObj[key].name,
"size": filesUploadObj[key].contentLength,
});
}
buildAppealFilesArray.filter(function (item, idx) {
return item.name;
});
console.log(buildAppealFilesArray);
//console.log(buildAppealFilesArray);
function removeDuplicates(arr, key) {
const seen = new Set();
return arr.filter((item) => {
const value = item[key];
if (seen.has(value)) {
return false; // Duplicate found
} else {
seen.add(value); // Add value to the set
return true; // Keep the item
}
});
}
buildAppealFilesArray = removeDuplicates(buildAppealFilesArray, "name");
let pdfObj = props.props.form.appealForm.values;
@@ -124,7 +129,7 @@ let BuildCheckSection = (props) => {
const finaliseAppeal = async () => {
setFinaliseAppealProcess(true);
console.log("finalising appeal:");
//console.log("finalising appeal:");
await generateAppealPDF(
pdfObj,
props.props.accountDetails.containerID,
@@ -141,7 +146,7 @@ let BuildCheckSection = (props) => {
);
})
.then(() => {
console.log("have sent complete message :");
//console.log("have sent complete message :");
setCurrentSection(9999);
});
};
@@ -208,7 +213,7 @@ let BuildCheckSection = (props) => {
className="govuk-link"
href="#"
onClick={() => {
updateCurrentSection(
setCurrentSection(
sectionCount
);
}}
@@ -300,6 +305,15 @@ let BuildCheckSection = (props) => {
>
{t("newappeal:submit-appeal-button")}
</a>
<a
className="govuk-link"
href="#"
onClick={() =>
setCurrentSection(sectionCount - 1)
}
>
{t("common:back-link")}
</a>
</div>
</>
)}
@@ -338,4 +352,13 @@ const mapDispatchToProps = (dispatch) => {
const selector = formValueSelector("appealForm"); // <-- same as form name
export default connect(mapStateToProps, mapDispatchToProps)(BuildCheckSection);
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "appealForm",
destroyOnUnmount: false,
enableReinitialize: true, // this is needed!!
})(BuildCheckSection)
);
+47
View File
@@ -126,6 +126,53 @@ const BuildProgress = (props) => {
</div>
</li>
))}
{/* <li
className={
"app-step-nav__step js-step app-step-nav__step--active"
}
>
<div
className="app-step-nav__header js-toggle-panel "
data-position={10}
>
<h3 className="app-step-nav__title ">
<span className="app-step-nav__circle app-step-nav__circle--number">
<span className="app-step-nav__circle-inner">
<span className="app-step-nav__circle-background">
<span className="app-step-nav__circle-step-label govuk-visually-hidden">
Step
</span>{" "}
{progObj.length + 1}
<span
className="app-step-nav__circle-step-colon govuk-visually-hidden"
aria-hidden="true"
>
:
</span>
</span>
</span>
</span>
<span className="js-step-title">
<a
href="#"
onClick={() => {
gotoSection(progObj.length + 1);
}}
className="app-step-nav__button app-step-nav__button--title js-step-title-button"
aria-expanded="false"
aria-controls={
"step-panel-confirmation"
}
>
<span className="js-step-title-text govuk-!-font-size-16">
Confirmation
</span>
</a>
</span>
</h3>
</div>
</li> */}
</ol>
</div>
</nav>
+61 -47
View File
@@ -99,10 +99,10 @@ let BuildSection = (props) => {
//console.log(fileListObj);
console.log(
"\n////////////////////////\n upload files:",
props.props.accountDetails.containerID
);
// console.log(
// "\n////////////////////////\n upload files:",
// props.props.accountDetails.containerID
// );
var dataObj = values;
@@ -130,7 +130,7 @@ let BuildSection = (props) => {
let incidentId = props.appealType.caseReference.incidentid;
let updateBody = values || {};
let buildAppealFilesArray = [];
console.log("attached docs: - ", buildAppealFilesArray);
//console.log("attached docs: - ", buildAppealFilesArray);
let filesUploadObj = Object.keys(values)
.filter(function (k) {
@@ -141,7 +141,7 @@ let BuildSection = (props) => {
return newData;
}, {});
console.log(filesUploadObj);
//console.log(filesUploadObj);
for (let key in filesUploadObj) {
for (let j in filesUploadObj[key]) {
@@ -167,14 +167,14 @@ let BuildSection = (props) => {
setSavingStatus(useSaveStatus);
uploadAppealFiles(values);
console.log(
"\n////////////////////////\n appeal pdf payload",
values,
props.props.accountDetails.containerID,
props.appealType.caseReference.ticketnumber,
props.appealType,
"\n////////////////////////\n"
);
// console.log(
// "\n////////////////////////\n appeal pdf payload",
// values,
// props.props.accountDetails.containerID,
// props.appealType.caseReference.ticketnumber,
// props.appealType,
// "\n////////////////////////\n"
// );
// let pdfObj = values;
@@ -251,22 +251,22 @@ let BuildSection = (props) => {
"linkExpiry": 10 * 60,
};
console.log(
"/////////////////////////////////",
"returnLink:",
props.props.url +
(router.locale != "en" ? "/cy/fymhorth/" : "/myportal/") +
appTypeCollection.UrlName +
"?lpa=" +
props.appealType.appealLPA +
"&apt=" +
appTypeCollection.appealTypeID +
"&casereference=" +
props.appealType.caseReference.ticketnumber +
"&inid=" +
props.appealType.caseReference.incidentid,
"/////////////////////////////////"
);
// console.log(
// "/////////////////////////////////",
// "returnLink:",
// props.props.url +
// (router.locale != "en" ? "/cy/fymhorth/" : "/myportal/") +
// appTypeCollection.UrlName +
// "?lpa=" +
// props.appealType.appealLPA +
// "&apt=" +
// appTypeCollection.appealTypeID +
// "&casereference=" +
// props.appealType.caseReference.ticketnumber +
// "&inid=" +
// props.appealType.caseReference.incidentid,
// "/////////////////////////////////"
// );
sendSavedEmail == true &&
sendEmail(
@@ -297,7 +297,7 @@ let BuildSection = (props) => {
return newData;
}, {});
console.log(filesUploadObj);
//console.log(filesUploadObj);
for (let key in filesUploadObj) {
for (let j in filesUploadObj[key]) {
@@ -308,13 +308,13 @@ let BuildSection = (props) => {
}
}
console.log(buildAppealFilesArray);
//console.log(buildAppealFilesArray);
setFilesForAppeal(buildAppealFilesArray);
// Object.assign(values, { "filesList": buildAppealFilesArray });
delete valuesObj["_pinswg_appellant_value"];
console.log("has errors:", props.invalid);
//console.log("has errors:", props.invalid);
props.invalid == false && updateCaseProgress(valuesObj, false, false);
setCurrentSection(currentSection + 1);
@@ -467,16 +467,16 @@ let BuildSection = (props) => {
props.props.form[props.form]
.values || {};
console.log(
"valuesobj:",
valuesObj
);
// console.log(
// "valuesobj:",
// valuesObj
// );
delete valuesObj[
"_pinswg_appellant_value"
];
console.log("on save:", valuesObj);
// console.log("on save:", valuesObj);
updateCaseProgress(
valuesObj,
true,
@@ -487,6 +487,13 @@ let BuildSection = (props) => {
{t("common:save-exit-button")}
</button>
)}
{/* <span
onClick={() =>
setCurrentSection(sectionCount + 1)
}
>
goto check
</span> */}
</>
) : (
""
@@ -622,15 +629,22 @@ let BuildSection = (props) => {
);
};
const mapStateToProps = (state) => {
return {
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
initialValues: state.appealType.caseReference.caseDetails,
//form: state.form,
};
const mapStateToProps = (state, ownProps) => {
return ownProps.props.hasOwnProperty("initialValues")
? {
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
initialValues: state.appealType.caseReference.caseDetails,
}
: {
search: state.search,
searchResultsObj: state.searchResultsObj,
formData: state.formData,
appealType: state.appealType,
//form: state.form,
};
};
const mapDispatchToProps = (dispatch) => {
+2 -2
View File
@@ -75,7 +75,7 @@
"react-leaflet": "^4.2.1",
"react-pdf": "^7.6.0",
"react-pdf-html": "^1.1.18",
"react-quill": "^2.0.0",
"react-quill-new": "^3.3.3",
"react-redux": "^7.2.6",
"redux": "^4.2.1",
"redux-form": "^8.3.10",
@@ -97,4 +97,4 @@
"eslint-plugin-jsdoc": "^48.2.3",
"prisma": "^5.0.0"
}
}
}