uat fixes

This commit is contained in:
2024-11-26 09:18:53 +00:00
parent 654a6c1171
commit 8f84ae8d8a
10 changed files with 99 additions and 27 deletions
+62 -8
View File
@@ -70,6 +70,7 @@ const RenderTextfield = ({
: 100
: 200
}
// pattern={custom.hasOwnProperty("pattern") && custom.pattern}
/>
</div>
</>
@@ -1303,10 +1304,20 @@ export function NumericField(props) {
formProps,
parentFieldShowOnValue,
parentField,
maxFieldLength,
} = props;
const required = (value) => {
return value || value == 0 ? undefined : "Is required";
};
const isNumber = (value) => {
const regex = /^\d*\.?\d{0,1}$/;
return regex.test(value) ? undefined : "Should be a number or decimal";
};
const maxLength = (max) => (value) =>
value && value.length > max
? `Must be ${max} characters or less`
: undefined;
//parentFieldShowOnValue
var showIfHasParentShowValue =
@@ -1350,7 +1361,7 @@ export function NumericField(props) {
name={props.name}
id={props.name}
type="number"
className="govuk-input govuk-input--width-20"
className="govuk-input govuk-input--width-20 wwwww"
spellCheck="false"
aria-describedby={name}
pattern="[0-9]*"
@@ -1360,6 +1371,22 @@ export function NumericField(props) {
component={RenderTextfield}
label={label}
normalize={(value) => parseInt(value)}
// name={props.name}
// id={props.name}
// // component="input"
// type="text"
// className="govuk-input govuk-input--width-20 wwww"
// aria-describedby={name}
// pattern="^\d*(\.\d{0,2})?$"
// validate={[
// required,
// isNumber,
// maxLength(props.maxFieldLength),
// ]}
// component={RenderTextfield}
// label={props.label}
// maxFieldLength={props.maxFieldLength}
/>
</div>
)}
@@ -1380,6 +1407,16 @@ export function DecimalField(props) {
} = props;
const required = (value) => (value ? undefined : "Is required");
const isNumber = (value) => {
const regex = /^\d*\.?\d{0,1}$/;
return regex.test(value) ? undefined : "Should be a number or decimal";
};
const maxLength = (max) => (value) =>
value && value.length > max
? `Must be ${max} characters or less`
: undefined;
//parentFieldShowOnValue
var showIfHasParentShowValue =
parentField != false &&
@@ -1427,12 +1464,17 @@ export function DecimalField(props) {
className="govuk-input govuk-input--width-10"
spellCheck="false"
aria-describedby={name}
pattern="[0-9]*"
pattern="^\d*(\.\d{0,2})?$"
inputMode="numeric"
parse={Number}
validate={eval(validation)}
validate={[
required,
isNumber,
maxLength(props.maxFieldLength),
]}
component={RenderTextfield}
label={props.label}
maxFieldLength={props.maxFieldLength}
/>
</div>
)}
@@ -1858,33 +1900,43 @@ const renderField = ({ input, label, type, meta: { touched, error } }) => (
const RenderSubFields = ({ fields }) => {
let { t } = useTranslation();
let subTitle = fields.name.split("pinswg_")[1];
return (
<ul>
<div>
{fields.map((member, index) => (
<div key={index}>
<h4>Tenant #{index + 1}</h4>
<h4>
{subTitle == "owners" ? "Owners" : "Tenant"} #
{index + 1}
</h4>
<div className="fieldArrayContainer">
<Field
id={`${member}.${fields.name}`}
name={`${member}.${fields.name}`}
type="text"
component={RenderTextfield}
label="Tenant Name"
label={
subTitle == "owners"
? "Owners name"
: "Tenant name"
}
className="govuk-input govuk-input--width-10"
/>
<Field
name={`${member}.dateserved`}
type="text"
component={RenderDatePicker}
label="Date served notice"
label="Date served "
dateStart={"-6m"}
dateEnd={"0"}
className="govuk-input govuk-input--width-10"
/>
<button
type="button"
title="Remove tenant"
title="Remove"
onClick={() => fields.remove(index)}
className="govuk-button fieldArrayDelete"
>
@@ -1899,7 +1951,9 @@ const RenderSubFields = ({ fields }) => {
className="govuk-link fieldArrayLink"
onClick={() => fields.push({})}
>
{t("newappeal:new-appeal-add-tenant-label")}
{subTitle == "owners"
? "Add Owners"
: t("newappeal:new-appeal-add-tenant-label")}
</button>
</ul>
);