Merged PR 872: moved field component up to stop rerender
moved field component up to stop rerender Related work items: #7720
This commit is contained in:
@@ -10,6 +10,99 @@ import {
|
|||||||
MultiLinefield,
|
MultiLinefield,
|
||||||
} from "../elements";
|
} from "../elements";
|
||||||
|
|
||||||
|
const RenderTextfield = ({
|
||||||
|
id,
|
||||||
|
className,
|
||||||
|
rows,
|
||||||
|
datafieldname,
|
||||||
|
name,
|
||||||
|
label,
|
||||||
|
input,
|
||||||
|
type,
|
||||||
|
errorMsg,
|
||||||
|
disabled,
|
||||||
|
meta: { touched, error },
|
||||||
|
...custom
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div
|
||||||
|
className={
|
||||||
|
touched && error
|
||||||
|
? "govuk-form-group govuk-form-group--error"
|
||||||
|
: "govuk-form-group "
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
|
||||||
|
{label}
|
||||||
|
</label>
|
||||||
|
{touched && error && (
|
||||||
|
<span id={id + "-error"} className="govuk-error-message">
|
||||||
|
<span className="govuk-visually-hidden">Error:</span>{" "}
|
||||||
|
{touched &&
|
||||||
|
((error && (
|
||||||
|
<span>{errorMsg ? errorMsg : error}</span>
|
||||||
|
)) ||
|
||||||
|
(warning && <span>{warning}</span>))}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
<input
|
||||||
|
{...input}
|
||||||
|
className={className}
|
||||||
|
name={id}
|
||||||
|
id={id}
|
||||||
|
type={type}
|
||||||
|
disabled={disabled ? true : false}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const RenderMultiline = ({
|
||||||
|
id,
|
||||||
|
className,
|
||||||
|
rows,
|
||||||
|
datafieldname,
|
||||||
|
name,
|
||||||
|
label,
|
||||||
|
input,
|
||||||
|
errorMsg,
|
||||||
|
meta: { touched, error },
|
||||||
|
...custom
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div
|
||||||
|
className={
|
||||||
|
touched && error
|
||||||
|
? "govuk-form-group govuk-form-group--error"
|
||||||
|
: "govuk-form-group "
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
|
||||||
|
{label}
|
||||||
|
</label>
|
||||||
|
{touched && error && (
|
||||||
|
<span id={id + "-error"} className="govuk-error-message">
|
||||||
|
<span className="govuk-visually-hidden">Error:</span>{" "}
|
||||||
|
{touched &&
|
||||||
|
((error && (
|
||||||
|
<span>{errorMsg ? errorMsg : error}</span>
|
||||||
|
)) ||
|
||||||
|
(warning && <span>{warning}</span>))}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
<textarea
|
||||||
|
{...input}
|
||||||
|
rows={rows}
|
||||||
|
className={className}
|
||||||
|
></textarea>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
let AboutYou = (props) => {
|
let AboutYou = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
|
|
||||||
@@ -44,64 +137,6 @@ let AboutYou = (props) => {
|
|||||||
? "Invalid phone number"
|
? "Invalid phone number"
|
||||||
: undefined;
|
: undefined;
|
||||||
|
|
||||||
const RenderTextfield = ({
|
|
||||||
id,
|
|
||||||
className,
|
|
||||||
rows,
|
|
||||||
datafieldname,
|
|
||||||
name,
|
|
||||||
label,
|
|
||||||
input,
|
|
||||||
type,
|
|
||||||
errorMsg,
|
|
||||||
disabled,
|
|
||||||
meta: { touched, error },
|
|
||||||
...custom
|
|
||||||
}) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<div
|
|
||||||
className={
|
|
||||||
touched && error
|
|
||||||
? "govuk-form-group govuk-form-group--error"
|
|
||||||
: "govuk-form-group "
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<label
|
|
||||||
className="govuk-label "
|
|
||||||
htmlFor={id}
|
|
||||||
id={id + "_label"}
|
|
||||||
>
|
|
||||||
{label}
|
|
||||||
</label>
|
|
||||||
{touched && error && (
|
|
||||||
<span
|
|
||||||
id={id + "-error"}
|
|
||||||
className="govuk-error-message"
|
|
||||||
>
|
|
||||||
<span className="govuk-visually-hidden">
|
|
||||||
Error:
|
|
||||||
</span>{" "}
|
|
||||||
{touched &&
|
|
||||||
((error && (
|
|
||||||
<span>{errorMsg ? errorMsg : error}</span>
|
|
||||||
)) ||
|
|
||||||
(warning && <span>{warning}</span>))}
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
<input
|
|
||||||
{...input}
|
|
||||||
className={className}
|
|
||||||
name={id}
|
|
||||||
id={id}
|
|
||||||
type={type}
|
|
||||||
disabled={disabled ? true : false}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const RenderYesNo = ({
|
const RenderYesNo = ({
|
||||||
datafieldname,
|
datafieldname,
|
||||||
name,
|
name,
|
||||||
@@ -174,58 +209,6 @@ let AboutYou = (props) => {
|
|||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
const RenderMultiline = ({
|
|
||||||
id,
|
|
||||||
className,
|
|
||||||
rows,
|
|
||||||
datafieldname,
|
|
||||||
name,
|
|
||||||
label,
|
|
||||||
input,
|
|
||||||
errorMsg,
|
|
||||||
meta: { touched, error },
|
|
||||||
...custom
|
|
||||||
}) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<div
|
|
||||||
className={
|
|
||||||
touched && error
|
|
||||||
? "govuk-form-group govuk-form-group--error"
|
|
||||||
: "govuk-form-group "
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<label
|
|
||||||
className="govuk-label "
|
|
||||||
htmlFor={id}
|
|
||||||
id={id + "_label"}
|
|
||||||
>
|
|
||||||
{label}
|
|
||||||
</label>
|
|
||||||
{touched && error && (
|
|
||||||
<span
|
|
||||||
id={id + "-error"}
|
|
||||||
className="govuk-error-message"
|
|
||||||
>
|
|
||||||
<span className="govuk-visually-hidden">
|
|
||||||
Error:
|
|
||||||
</span>{" "}
|
|
||||||
{touched &&
|
|
||||||
((error && (
|
|
||||||
<span>{errorMsg ? errorMsg : error}</span>
|
|
||||||
)) ||
|
|
||||||
(warning && <span>{warning}</span>))}
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
<textarea
|
|
||||||
{...input}
|
|
||||||
rows={rows}
|
|
||||||
className={className}
|
|
||||||
></textarea>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const RenderRadio = ({
|
const RenderRadio = ({
|
||||||
datafieldname,
|
datafieldname,
|
||||||
|
|||||||
@@ -19,6 +19,55 @@ export const minLength = (errorMsg) => (value) =>
|
|||||||
|
|
||||||
export const leastOneValue = (errorMsg) => {};
|
export const leastOneValue = (errorMsg) => {};
|
||||||
|
|
||||||
|
const RenderTextfield = ({
|
||||||
|
id,
|
||||||
|
className,
|
||||||
|
rows,
|
||||||
|
datafieldname,
|
||||||
|
name,
|
||||||
|
label,
|
||||||
|
input,
|
||||||
|
hint1,
|
||||||
|
hint2,
|
||||||
|
hint3,
|
||||||
|
meta: { touched, error },
|
||||||
|
...custom
|
||||||
|
}) => {
|
||||||
|
let { t } = useTranslation();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="govuk-form-group">
|
||||||
|
<div id="basicSearch-hint" className="govuk-hint ">
|
||||||
|
<label className="govuk-label" htmlFor="caseRef">
|
||||||
|
{t("search:casereference-label")}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<input
|
||||||
|
{...input}
|
||||||
|
className={className}
|
||||||
|
name={name}
|
||||||
|
id={id}
|
||||||
|
/>
|
||||||
|
{touched && error && (
|
||||||
|
<span
|
||||||
|
id={id + "-error"}
|
||||||
|
className="govuk-error-message govuk-form-group--error"
|
||||||
|
>
|
||||||
|
<span className="govuk-visually-hidden">
|
||||||
|
Error:
|
||||||
|
</span>{" "}
|
||||||
|
{error}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
let AdvancedSearch = (props) => {
|
let AdvancedSearch = (props) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
|
|
||||||
@@ -56,53 +105,6 @@ let AdvancedSearch = (props) => {
|
|||||||
? [{}]
|
? [{}]
|
||||||
: props.LPAData.LPAData.value;
|
: props.LPAData.LPAData.value;
|
||||||
|
|
||||||
const RenderTextfield = ({
|
|
||||||
id,
|
|
||||||
className,
|
|
||||||
rows,
|
|
||||||
datafieldname,
|
|
||||||
name,
|
|
||||||
label,
|
|
||||||
input,
|
|
||||||
hint1,
|
|
||||||
hint2,
|
|
||||||
hint3,
|
|
||||||
meta: { touched, error },
|
|
||||||
...custom
|
|
||||||
}) => {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<div className="govuk-form-group">
|
|
||||||
<div id="basicSearch-hint" className="govuk-hint ">
|
|
||||||
<label className="govuk-label" htmlFor="caseRef">
|
|
||||||
{t("search:casereference-label")}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<input
|
|
||||||
{...input}
|
|
||||||
className={className}
|
|
||||||
name={name}
|
|
||||||
id={id}
|
|
||||||
/>
|
|
||||||
{touched && error && (
|
|
||||||
<span
|
|
||||||
id={id + "-error"}
|
|
||||||
className="govuk-error-message govuk-form-group--error"
|
|
||||||
>
|
|
||||||
<span className="govuk-visually-hidden">
|
|
||||||
Error:
|
|
||||||
</span>{" "}
|
|
||||||
{error}
|
|
||||||
</span>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const RenderLPAList = ({
|
const RenderLPAList = ({
|
||||||
name,
|
name,
|
||||||
id,
|
id,
|
||||||
|
|||||||
Reference in New Issue
Block a user