From 630b6733ed3c3aa35bd9c7b4c6f80ff1f17f318a Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Fri, 10 Mar 2023 09:27:30 +0300 Subject: [PATCH] process/supplier-agent: trigger validation on change condition options --- .../supplier-agent/reactions/validation.ts | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/apps/web/process/supplier-agent/reactions/validation.ts b/apps/web/process/supplier-agent/reactions/validation.ts index 78ac525..234660c 100644 --- a/apps/web/process/supplier-agent/reactions/validation.ts +++ b/apps/web/process/supplier-agent/reactions/validation.ts @@ -14,8 +14,8 @@ export default function reactions(context: ProcessContext) { const helper = new ValidationHelper(); reaction( - () => - $calculation.$values.getValues([ + () => { + const values = $calculation.$values.getValues([ 'calcBrokerRewardCondition', 'calcBrokerRewardSum', 'calcDoubleAgentRewardCondition', @@ -35,8 +35,22 @@ export default function reactions(context: ProcessContext) { 'indAgentRewardSumm', 'calcDoubleAgent', 'calcBroker', - ]), - async (values) => { + ]); + + const options = ( + [ + 'selectCalcBrokerRewardCondition', + 'selectCalcDoubleAgentRewardCondition', + 'selectDealerBrokerRewardCondition', + 'selectDealerRewardCondition', + 'selectFinDepartmentRewardCondtion', + 'selectIndAgentRewardCondition', + ] as Elements[] + ).map((elementName) => $calculation.element(elementName).getOptions()); + + return { options, values }; + }, + async ({ values }) => { helper.removeErrors(); const validationResult = await validationSchema.safeParseAsync(values);