Merged PR 2449: language helper

Related work items: #23754
This commit is contained in:
Robert Bond
2026-07-01 11:29:15 +00:00
parent 49aa258fd9
commit e864049bec
63 changed files with 4008 additions and 6094 deletions
+7 -8
View File
@@ -24,6 +24,7 @@ import {
selectRowFieldType,
selectRowLabelDescriptions
} from "../../lib/newappeal/formDerivation";
import { resolveCrmDisplayValue } from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
let BuildCheckRow = (props) => {
let { t } = useTranslation();
@@ -74,14 +75,12 @@ let BuildCheckRow = (props) => {
eval: true
});
let labelTrans =
router.locale == "cy"
? jsonpath({
path: '$..[?(@ && @.value=="' + label + '")].value_cy',
json: formObj,
eval: true
})
: label;
let labelTrans = resolveCrmDisplayValue({
value: label,
locale,
translations: formObj
});
return labelTrans;
};
+6 -8
View File
@@ -32,6 +32,7 @@ import DocsOfflineNotice from "./buildCheckSection/DocsOfflineNotice";
import FinalisingStatePanel from "./buildCheckSection/FinalisingStatePanel";
import SectionReviewList from "./buildCheckSection/SectionReviewList";
import SubmitActionsPanel from "./buildCheckSection/SubmitActionsPanel";
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
let BuildCheckSection = (props) => {
useEffect(() => {
@@ -144,14 +145,11 @@ let BuildCheckSection = (props) => {
eval: true
});
let labelTrans =
router.locale == "cy"
? jsonpath({
path: '$..[?(@ && @.value=="' + label + '")].value_cy',
json: formObj,
eval: true
})
: label;
let labelTrans = resolveCrmDisplayValue({
value: label,
locale,
translations: formObj
});
return labelTrans;
};
+50 -101
View File
@@ -1,4 +1,3 @@
import { JSONPath as jsonpath } from "jsonpath-plus";
import useTranslation from "next-translate/useTranslation";
import { useRouter } from "next/router";
import { useState } from "react";
@@ -15,6 +14,7 @@ import {
} from "../../store/appealType/action";
import { getFormCollectionByID, hasOwn } from "../utils";
import Aboutyou from "./aboutyou";
import resolveCrmDisplayValue from "../../lib/i18n/crmDisplay/resolveCrmDisplayValue";
const RenderLPAList = ({
name,
@@ -52,32 +52,29 @@ const RenderLPAList = ({
className="govuk-select govuk-input--error"
id="lpatypes"
name="lpatypes"
//onChange={(e) => props.onChangeSelectLPA(e)}
>
<option value="" disabled defaultValue>
{t("common:drop-down-select")}
</option>
{_.isEmpty(optionsObj)
? ""
: Object.keys(optionsObj).map((key, index) => {
return (
<option
key={key}
value={optionsObj[key].accountid}
>
{router.locale == "cy"
? jsonpath({
path:
'$..[?(@ && @.value=="' +
optionsObj[key].name +
'")].value_cy',
json: transLookup,
eval: true
})
: optionsObj[key].name}
</option>
);
})}
{Object.keys(optionsObj || {}).map((key) => {
const option = optionsObj[key];
return (
<option
key={key}
value={option?.accountid || ""}
>
{option?.name
? resolveCrmDisplayValue({
value: option.name,
locale: router.locale,
translations: transLookup
})
: ""}
</option>
);
})}
</select>
</div>
</div>
@@ -119,53 +116,33 @@ const RenderAppealTypeList = ({
className="govuk-select"
id="appealTypes"
name={name}
//onChange={(e) => props.onChangeSelectAppealType(e)}
>
<option value="" disabled defaultValue>
{t("common:drop-down-select")}
</option>
{_.isEmpty(optionsObj)
? ""
: Object.keys(optionsObj).map((key, index) => {
return (
<option
key={key}
value={
_.isEmpty(optionsObj[key])
? ""
: _.isEmpty(optionsObj[key])
? ""
: _.isEmpty(
optionsObj[key]
.value
)
? ""
: optionsObj[key]
.attributevalue
}
>
{_.isEmpty(optionsObj[key])
? ""
: _.isEmpty(optionsObj[key])
? ""
: _.isEmpty(
optionsObj[key].value
)
? ""
: router.locale == "cy"
? jsonpath({
path:
'$..[?(@ && @.value=="' +
optionsObj[key]
.value +
'")].value_cy',
json: transLookup,
eval: true
})
: optionsObj[key].value}
</option>
);
})}
{Object.keys(optionsObj || {}).map((key) => {
const option = optionsObj[key];
return (
<option
key={key}
value={
option?.value
? option.attributevalue
: ""
}
>
{option?.value
? resolveCrmDisplayValue({
value: option.value,
locale: router.locale,
translations: transLookup
})
: ""}
</option>
);
})}
</select>
</div>
</div>
@@ -305,25 +282,11 @@ function Radiofield(props) {
.slice(1, props.options.length - 1)
.split(",");
//parentFieldShowOnValue
var showIfHasParentShowValue = parentField != false;
//debugger;
// parentField != false &&
// !_.isEmpty(formProps[form]) &&
// hasOwn(formProps[form].values, parentField) &&
// parentFieldShowOnValue.indexOf(
// formProps[form].values[parentField].toString()
// ) > -1;
(showIfHasParentShowValue == parentField) != false &&
showIfHasParentShowValue;
//console.log(
// datafieldname,
// showIfHasParentShowValue,
// formProps[form].values[parentField]
// );
return (
<>
{parentField != false ? (
@@ -466,20 +429,6 @@ let CreateCase = (props) => {
.catch((error) => {
consoleLogger(error);
});
// router.replace(
// "/newappeal" +
// "/" +
// appTypeCollection.UrlName +
// "?lpa=" +
// values.lpaTypes +
// "&apt=" +
// values.appealTypes.split(",")[0],
// null,
// {
// shallow: true,
// }
// );
};
const yesNo = isWelsh ? ["Ydw", "Na"] : ["Yes", "No"];
@@ -488,13 +437,13 @@ let CreateCase = (props) => {
form = "caseForm",
parentFieldShowOnValue = "846040004";
var showIfHasParentShowValue =
parentField != false &&
!_.isEmpty(formProps[form]) &&
hasOwn(formProps[form].values, parentField) &&
parentFieldShowOnValue.indexOf(
formProps[form].values[parentField].toString()
) > -1;
const values = formProps[form]?.values;
const showIfHasParentShowValue =
parentField !== false &&
values &&
hasOwn(values, parentField) &&
parentFieldShowOnValue.includes(values[parentField].toString());
(showIfHasParentShowValue == parentField) != false &&
showIfHasParentShowValue;