fix for new appeal and reps updates

This commit is contained in:
2024-12-04 19:30:18 +00:00
parent 47c2c68ed0
commit b668f323fe
15 changed files with 951 additions and 854 deletions
+10 -62
View File
@@ -178,22 +178,7 @@ const RenderRadio = ({
...custom
}) => {
let { t } = useTranslation();
const required = (value) => {
// Check for the required field
if (!value) {
errors = "This field is required";
}
// Check for emojis using a regular expression
const emojiRegex =
/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}\u{2300}-\u{23FF}\u{2B50}\u{1F004}-\u{1F0CF}\u{1F0A0}-\u{1F0A5}\u{1F170}-\u{1F251}]/gu;
if (emojiRegex.test(value)) {
errors = "Emojis are not allowed";
}
return errors;
};
const required = (value) => (value ? undefined : "Required");
return (
<>
<div
@@ -316,24 +301,7 @@ function Radiofield(props) {
} = props;
const router = useRouter();
const required = (value) => {
let errors = {};
// Check for the required field
if (!value) {
errors = "This field is required";
}
// Check for emojis using a regular expression
const emojiRegex =
/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}\u{2300}-\u{23FF}\u{2B50}\u{1F004}-\u{1F0CF}\u{1F0A0}-\u{1F0A5}\u{1F170}-\u{1F251}]/gu;
if (emojiRegex.test(value)) {
errors = "Emojis are not allowed";
}
return errors;
};
const required = (value) => (value ? undefined : "Required");
//console.log(props.options);
const fieldOptions = props.options
@@ -417,24 +385,7 @@ const RenderCheckBox = ({
...custom
}) => {
let { t } = useTranslation();
const required = (value) => {
let errors = {};
// Check for the required field
if (!value) {
errors = "This field is required";
}
// Check for emojis using a regular expression
const emojiRegex =
/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}\u{2300}-\u{23FF}\u{2B50}\u{1F004}-\u{1F0CF}\u{1F0A0}-\u{1F0A5}\u{1F170}-\u{1F251}]/gu;
if (emojiRegex.test(value)) {
errors = "Emojis are not allowed";
}
return errors;
};
const required = (value) => (value ? undefined : "Required");
return (
<>
@@ -504,13 +455,10 @@ let AboutYou = (props) => {
const contactPref =
router.locale == "cy" ? ["Ebost", "Post"] : ["Email", "Post"];
const required = (value) => {
let errors = {};
const required = (value) => (value ? undefined : "Is required");
// Check for the required field
if (!value) {
errors = "This field is required";
}
const emojicheck = (value) => {
let errors;
// Check for emojis using a regular expression
const emojiRegex =
@@ -592,7 +540,7 @@ let AboutYou = (props) => {
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-20"
validate={[required]}
validate={[required, emojicheck]}
label={t("newappeal:about-you-on-behalf-label")}
maxFieldLength="200"
/>
@@ -630,7 +578,7 @@ let AboutYou = (props) => {
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-20"
validate={[required]}
validate={[required, emojicheck]}
label={t(
"newappeal:about-you-appellant-contact-details-firstname-label"
)}
@@ -642,7 +590,7 @@ let AboutYou = (props) => {
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-20"
validate={[required]}
validate={[required, emojicheck]}
label={t(
"newappeal:about-you-appellant-contact-details-lastname-label"
)}
@@ -654,7 +602,7 @@ let AboutYou = (props) => {
component={RenderMultiline}
type="textarea"
className="govuk-textarea govuk-input--width-20"
validate={[required]}
validate={[required, emojicheck]}
label={t(
"newappeal:about-you-appellant-contact-details-address-label"
)}
+127 -18
View File
@@ -3,7 +3,13 @@ import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import { connect } from "react-redux";
import xpath from "xpath";
import { getPickListLabel, getRadioLabel } from "../../components/utils";
import {
getPickListLabel,
getRadioLabel,
bytesToSize,
getDocumentTypeFromFilename,
getThumbnailIconByExtension,
} from "../../components/utils";
import fieldLookup from "../../data/crmfieldlookuptranslations.json";
import {
@@ -66,6 +72,14 @@ let BuildCheckRow = (props) => {
return labelTrans;
};
function isObjectAndNotEmpty(value) {
return (
value !== null &&
typeof value === "object" &&
Object.keys(value).length > 0
);
}
return (
<>
{Object.keys(rowXML).map((key, index) => {
@@ -86,6 +100,11 @@ let BuildCheckRow = (props) => {
mandatoryFieldsData
);
var documentTypeCode = xpath.select(
"//@ishareDocumentCode",
doc
);
// if (datafieldname[0].value.indexOf("fileUpload") > 0) {
// isRequiredField.push({
// "LogicalName": datafieldname[0].value,
@@ -113,10 +132,6 @@ let BuildCheckRow = (props) => {
datafieldname[0].value
] != "undefined"
) {
// if (typeof isRequiredField[0] != "undefined") {
// if (
// isRequiredField[0].RequiredLevel.Value != "None"
// ) {
return (
<div className="govuk-summary-list__row" key={key}>
<dt className="govuk-summary-list__key">
@@ -174,10 +189,112 @@ let BuildCheckRow = (props) => {
)
) : fieldtype[0].value ==
"{16D63FD6-119B-4353-BDCA-18358721C3FE}" ? (
console.log(
props.props.form["appealForm"]
.values[datafieldname[0].value]
)
<>
{props.filesArray.map((blob, i) => (
<div key={i}>
{getDocumentTypeFromFilename(
blob.name
) ===
documentTypeCode[0]
.value && (
<div
style={{
display: "flex",
alignItems:
"flex-start",
}}
className="govuk-!-margin-bottom-2"
>
<img
style={{
minWidth:
"50",
width: "50",
}}
src={getThumbnailIconByExtension(
blob.name
)}
alt={blob.name}
width="50"
/>
<span
style={{
maxWidth:
"85%",
}}
className="govuk-body govuk-!-font-size-14 govuk-!-margin-left-2"
>
{blob.name} -{" "}
{bytesToSize(
blob.size
)}{" "}
</span>
</div>
)}
</div>
))}
<br />
{props.props.form[
"appealForm"
].values[
datafieldname[0].value
].map(
(blob, i) =>
isObjectAndNotEmpty(
blob
) && (
<div key={i}>
{getDocumentTypeFromFilename(
blob.name
) ===
documentTypeCode[0]
.value && (
<div
style={{
display:
"flex",
alignItems:
"flex-start",
}}
className="govuk-!-margin-bottom-2"
>
<img
style={{
minWidth:
"50",
width: "50",
}}
src={getThumbnailIconByExtension(
blob.name
)}
alt={
blob.name
}
width="50"
/>
<span
style={{
maxWidth:
"85%",
}}
className="govuk-body govuk-!-font-size-14 govuk-!-margin-left-2"
>
{
blob.name
}{" "}
-{" "}
{bytesToSize(
blob.size
)}{" "}
</span>
</div>
)}
</div>
)
)}
</>
) : fieldtype[0].value ==
"{0273EDBD-AC1D-40d3-9FB2-095C621B552D}" ? (
props.props.form["appealForm"].values[
@@ -211,7 +328,7 @@ let BuildCheckRow = (props) => {
</dd>
<dd className="govuk-summary-list__actions">
{rows[0].value != "Case reference" && (
{rows[0].value != "Temporary reference" && (
<a
className="govuk-link"
href="#"
@@ -232,14 +349,6 @@ let BuildCheckRow = (props) => {
</dd>
</div>
);
// } else {
// return null;
// }
// } else {
// return null;
// }
// } else {
// return null;
}
}
})}
+3 -2
View File
@@ -178,11 +178,12 @@ let BuildCheckSection = (props) => {
props={props}
key={key}
mandatoryFieldsData={mandatoryFieldsData}
filesArray={buildAppealFilesArray}
/>
</div>
))}
</dl>
<dl className="govuk-summary-list govuk-!-margin-bottom-9 at-summary-list">
{/* <dl className="govuk-summary-list govuk-!-margin-bottom-9 at-summary-list">
{buildAppealFilesArray.length > 0
? buildAppealFilesArray.map((blob, i) => {
return (
@@ -233,7 +234,7 @@ let BuildCheckSection = (props) => {
);
})
: ""}
</dl>
</dl> */}
</div>
{finaliseAppealProcess ? (
<div className="">