diff --git a/process/supplier-agent/lib/create-reactions.ts b/process/supplier-agent/lib/create-reactions.ts index e3a464f..67be332 100644 --- a/process/supplier-agent/lib/create-reactions.ts +++ b/process/supplier-agent/lib/create-reactions.ts @@ -9,6 +9,7 @@ import { reaction } from 'mobx'; import type RootStore from 'stores/root'; import ValidationHelper from 'stores/validation/helper'; import { normalizeOptions } from 'tools/entity'; +import { makeDisposable } from 'tools/mobx'; dayjs.extend(utc); @@ -88,33 +89,35 @@ export function fillAgentRewardSummReaction( const { $calculation, $process } = store; const { rewardConditionField, rewardSummField } = agentParams; - reaction( - () => $calculation.element(rewardConditionField).getValue(), - async (rewardConditionId) => { - if (!rewardConditionId) { - $calculation.element(rewardSummField).reset(); + makeDisposable( + () => + reaction( + () => $calculation.element(rewardConditionField).getValue(), + async (rewardConditionId) => { + if (!rewardConditionId) { + $calculation.element(rewardSummField).reset(); - return; - } + return; + } - const { - data: { evo_reward_condition }, - } = await apolloClient.query< - CRMTypes.GetRewardSummQuery, - CRMTypes.GetRewardSummQueryVariables - >({ - query: QUERY_GET_REWARD_SUMM, - variables: { - conditionId: rewardConditionId, - }, - }); + const { + data: { evo_reward_condition }, + } = await apolloClient.query< + CRMTypes.GetRewardSummQuery, + CRMTypes.GetRewardSummQueryVariables + >({ + query: QUERY_GET_REWARD_SUMM, + variables: { + conditionId: rewardConditionId, + }, + }); - if (!$process.has('LoadKP')) { - $calculation.element(rewardSummField).setValue(evo_reward_condition?.evo_reward_summ); - } + $calculation.element(rewardSummField).setValue(evo_reward_condition?.evo_reward_summ); - $calculation.element(rewardSummField).unblock(); - } + $calculation.element(rewardSummField).unblock(); + } + ), + () => $process.has('LoadKP') ); }