move reactions hooks to process dir

This commit is contained in:
vchikalkin 2023-03-28 11:18:27 +03:00
parent 5442905966
commit 5e9e897535
6 changed files with 63 additions and 55 deletions

View File

@ -1,42 +0,0 @@
import * as addProduct from '@/process/add-product';
import * as bonuses from '@/process/bonuses';
import * as calculate from '@/process/calculate';
import * as configurator from '@/process/configurator';
import * as createKP from '@/process/create-kp';
import * as fingap from '@/process/fingap';
import * as gibdd from '@/process/gibdd';
import { useProcess } from '@/process/hooks';
import * as insurance from '@/process/insurance';
import * as leadOpportunity from '@/process/lead-opportunity';
import * as leasingObject from '@/process/leasing-object';
import * as leasingWithoutKasko from '@/process/leasing-without-kasko';
import * as loadKP from '@/process/load-kp';
import * as payments from '@/process/payments';
import * as price from '@/process/price';
import * as recalc from '@/process/recalc';
import * as subsidy from '@/process/subsidy';
import * as subsidyImportProgram from '@/process/subsidy-import-program';
import * as supplierAgent from '@/process/supplier-agent';
import * as usedPl from '@/process/used-pl';
export default function useReactions() {
useProcess(leadOpportunity);
useProcess(loadKP);
useProcess(calculate);
useProcess(supplierAgent);
useProcess(price);
useProcess(fingap);
useProcess(leasingWithoutKasko);
useProcess(subsidy);
useProcess(leasingObject);
useProcess(configurator);
useProcess(createKP);
useProcess(bonuses);
useProcess(usedPl);
useProcess(subsidyImportProgram);
useProcess(payments);
useProcess(gibdd);
useProcess(addProduct);
useProcess(insurance);
useProcess(recalc);
}

View File

@ -1 +0,0 @@
export { default as useDefaultReactions } from './default';

View File

@ -3,7 +3,7 @@ import initializeApollo from '@/apollo/client';
import * as Calculation from '@/Components/Calculation';
import { Error } from '@/Components/Common/Error';
import Output from '@/Components/Output';
import { useDefaultReactions } from '@/config/process';
import { useReactions } from '@/process/hooks';
import * as CRMTypes from '@/graphql/crm.types';
import * as init from '@/process/init';
import { min } from '@/styles/mq';
@ -39,7 +39,7 @@ const Grid = styled(Box)`
function Home(props) {
init.useMainData();
init.useInsuranceData();
useDefaultReactions();
useReactions();
if (props.statusCode !== 200) return <Error {...props} />;

View File

@ -1,20 +1,11 @@
import { getUser } from '@/api/user/query';
import { STALE_TIME } from '@/constants/request';
import type { Process, ProcessContext } from '@/process/types';
import type { ProcessContext } from '@/process/types';
import { useStore } from '@/stores/hooks';
import { trpcPureClient } from '@/trpc/client';
import { useApolloClient } from '@apollo/client';
import { useQuery, useQueryClient } from '@tanstack/react-query';
export function useProcess({ reactions }: Process) {
const context = useProcessContext();
Object.keys(reactions).forEach((name) => {
const injector = reactions[name];
injector(context);
});
}
export function useProcessContext(): ProcessContext {
const store = useStore();
const apolloClient = useApolloClient();

View File

@ -0,0 +1,2 @@
export * from './common';
export * from './reactions';

View File

@ -0,0 +1,58 @@
import type { Process } from '../types';
import { useProcessContext } from './common';
import * as addProduct from '@/process/add-product';
import * as bonuses from '@/process/bonuses';
import * as calculate from '@/process/calculate';
import * as configurator from '@/process/configurator';
import * as createKP from '@/process/create-kp';
import * as fingap from '@/process/fingap';
import * as gibdd from '@/process/gibdd';
import * as insurance from '@/process/insurance';
import * as leadOpportunity from '@/process/lead-opportunity';
import * as leasingObject from '@/process/leasing-object';
import * as leasingWithoutKasko from '@/process/leasing-without-kasko';
import * as loadKP from '@/process/load-kp';
import * as payments from '@/process/payments';
import * as price from '@/process/price';
import * as recalc from '@/process/recalc';
import * as subsidy from '@/process/subsidy';
import * as subsidyImportProgram from '@/process/subsidy-import-program';
import * as supplierAgent from '@/process/supplier-agent';
import * as usedPl from '@/process/used-pl';
export type Config = {
prune: string[];
};
function useProcess({ reactions }: Process, config?: Config) {
const context = useProcessContext();
Object.keys(reactions).forEach((name) => {
if (config?.prune?.length && !config?.prune.includes(name)) {
const injector = reactions[name];
injector(context);
}
});
}
export function useReactions(config: Config) {
useProcess(leadOpportunity, config);
useProcess(loadKP, config);
useProcess(calculate, config);
useProcess(supplierAgent, config);
useProcess(price, config);
useProcess(fingap, config);
useProcess(leasingWithoutKasko, config);
useProcess(subsidy, config);
useProcess(leasingObject, config);
useProcess(configurator, config);
useProcess(createKP, config);
useProcess(bonuses, config);
useProcess(usedPl, config);
useProcess(subsidyImportProgram, config);
useProcess(payments, config);
useProcess(gibdd, config);
useProcess(addProduct, config);
useProcess(insurance, config);
useProcess(recalc, config);
}