From fc3610079ddc84d2bcf5c85392762a1574d6135e Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Thu, 2 Mar 2023 15:26:03 +0300 Subject: [PATCH] process/configurator: auto set value for specific fields --- .../process/configurator/reactions/values.ts | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/apps/web/process/configurator/reactions/values.ts b/apps/web/process/configurator/reactions/values.ts index bbe631d..619f8bd 100644 --- a/apps/web/process/configurator/reactions/values.ts +++ b/apps/web/process/configurator/reactions/values.ts @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/naming-convention */ +import type { Elements } from '@/Components/Calculation/config/map/values'; import * as CRMTypes from '@/graphql/crm.types'; import type { ProcessContext } from '@/process/types'; import dayjs from 'dayjs'; @@ -174,4 +175,29 @@ export default function valuesReactions({ store, apolloClient }: ProcessContext) $calculation.element('tbxCreditRate').setValue(evo_rate?.evo_base_rate); } ); + + ( + [ + 'selectProduct', + 'selectLeaseObjectType', + 'selectBrand', + 'selectModel', + 'selectConfiguration', + 'selectTracker', + 'selectTelematic', + 'selectTechnicalCard', + 'selectFuelCard', + 'selectRegistration', + 'selectTownRegistration', + ] as Elements[] + ).forEach((elementName) => { + reaction( + () => $calculation.element(elementName).getOptions(), + (options) => { + if (options.length === 1) { + $calculation.element(elementName).setValue(options[0]?.value); + } + } + ); + }); }