commit 3d280ba9436c19748ec9c84262b8354da7a920d3 parent b1525499822162a7caf29436b72215afbb5bd2ee Author: Sebastian <sebasjm@gmail.com> Date: Fri, 21 Mar 2025 15:12:17 -0300 fix error labels not redirecting to the form field Diffstat:
4 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/packages/aml-backoffice-ui/src/hooks/decision-request.ts b/packages/aml-backoffice-ui/src/hooks/decision-request.ts @@ -33,13 +33,17 @@ import { codecOptional, codecOptionalDefault, } from "@gnu-taler/taler-util"; -import { buildStorageKey, FormErrors, useLocalStorage } from "@gnu-taler/web-util/browser"; +import { + buildStorageKey, + FormErrors, + useLocalStorage, +} from "@gnu-taler/web-util/browser"; export interface AccountAttributes { data: object; - formId: string | undefined; + formId: string | undefined; formVersion: number; - expiration: AbsoluteTime; + expiration: AbsoluteTime | undefined; errors: FormErrors<object> | undefined; } @@ -59,7 +63,7 @@ export interface DecisionRequest { export const codecForAccountAttributes = (): Codec<AccountAttributes> => buildCodecForObject<AccountAttributes>() - .property("expiration", codecForAbsoluteTime) + .property("expiration", codecOptional(codecForAbsoluteTime)) .property("formId", codecForString()) .property("formVersion", codecForNumber()) .property("data", codecForAny()) diff --git a/packages/aml-backoffice-ui/src/pages/decision/Information.tsx b/packages/aml-backoffice-ui/src/pages/decision/Information.tsx @@ -68,14 +68,10 @@ function FillCustomerData({ theForm: FormMetadata; changeForm: () => void; }): VNode { - const defaultExp = AbsoluteTime.addDuration( - AbsoluteTime.now(), - Duration.fromSpec({ months: 1 }), - ); const [request, _, updateRequest] = useCurrentDecisionRequest(); const [expiration, setExpiration] = useState( - request.attributes?.expiration ?? defaultExp, + request.attributes?.expiration, ); const expirationHandler: UIFieldHandler<any> = { onChange: setExpiration, diff --git a/packages/aml-backoffice-ui/src/pages/decision/Properties.tsx b/packages/aml-backoffice-ui/src/pages/decision/Properties.tsx @@ -294,12 +294,9 @@ function calculatePropertiesBasedOnState( result.AML_HIGH_RISK_COUNTRY = consolidated["HIGH_RISK_COUNTRY"]?.value === "true"; result.AML_DOMESTIC_PEP = consolidated["PEP_DOMESTIC"]?.value === "true"; - console.log("AML_DOMESTIC_PEP", result.AML_DOMESTIC_PEP); result.AML_FOREIGN_PEP = consolidated["PEP_FOREIGN"]?.value === "true"; result.AML_HIGH_RISK_BUSINESS = consolidated["COUNTRY_RISK_BUSINESS_LEVEL"]?.value === "true"; - // event.attributes[""]; - return result; } diff --git a/packages/web-util/src/forms/forms-ui.tsx b/packages/web-util/src/forms/forms-ui.tsx @@ -280,14 +280,14 @@ export function ErrorsSummary<T>({ const errHandler = handler as ErrorAndLabel; //FIXME: don't rely on DOM to find the element // use preact REF - const el = document.querySelector( - `form[name=${formName}] label[for=${fieldName}]`, - ) as HTMLElement; return ( <span href="#" onClick={(e) => { e.preventDefault(); + const el = document.querySelector( + `form[name=${formName}] label[for=${fieldName}]`, + ) as HTMLElement; if (el) { el.focus({ preventScroll: true }); el.scrollIntoView({