From 1e1422f7234115988df24195b3db7e82b134cf5a Mon Sep 17 00:00:00 2001 From: Chika Date: Thu, 3 Feb 2022 15:56:32 +0300 Subject: [PATCH] merge refactor/february-2022-pt.1 --- .graphqlrc.yml | 2 +- apollo.config.js | 4 +- package.json | 5 +- .../Components/Calculation/ELT/index.jsx | 7 - .../Components/Controls/BottomControls.jsx | 2 +- .../ELT}/Components/Controls/TopControls.jsx | 2 +- .../ELT}/Components/Controls/index.js | 0 .../Components/ELT}/Components/InsTable.tsx | 0 .../Components/ELT}/Kasko/Kasko.stories.jsx | 2 +- .../Components/ELT}/Kasko/index.jsx | 0 .../ELT}/Kasko/lib/composeRequest.test.js | 0 .../ELT}/Kasko/lib/composeRequest.ts | 0 .../ELT}/Kasko/lib/config/columns.ts | 2 +- .../Components/ELT}/Kasko/lib/config/index.ts | 0 .../ELT}/Kasko/lib/convertEltResult.js | 0 .../ELT}/Kasko/lib/convertEltResult.test.js | 0 .../Components/ELT}/Kasko/lib/onSelectRow.ts | 0 .../Components/ELT}/Kasko/lib/validation.ts | 7 +- .../Components/ELT}/Osago/index.jsx | 0 .../ELT}/Osago/lib/composeRequest.ts | 2 +- .../ELT}/Osago/lib/config/columns.ts | 2 +- .../Components/ELT}/Osago/lib/config/index.ts | 0 .../ELT}/Osago/lib/convertEltResult.js | 0 .../Components/ELT}/Osago/lib/onSelectRow.ts | 0 .../Components/ELT}/Osago/lib/validation.ts | 7 +- .../Calculation/Components/ELT}/build.jsx | 0 .../Calculation/Components/ELT}/index.jsx | 0 .../Components/ELT}/lib/config/table.ts | 0 .../Components/ELT}/lib/requests.ts | 2 +- .../Components/ELT}/lib/resetIns.ts | 6 +- .../Components/ELT}/lib/validation.ts | 13 +- .../{ => Components}/Info/index.jsx | 0 .../{ => Components}/Info/infoList.ts | 2 +- .../Calculation/Components}/InsuranceTag.jsx | 0 .../{ => Components}/Results/index.jsx | 0 .../{ => Components}/Results/resultsList.ts | 2 +- .../{ => Components}/Sections/index.jsx | 2 +- .../{ => Components}/Sections/sectionsList.ts | 71 +- .../Elements/builders/buildAction.jsx} | 8 +- .../Elements/builders/buildComputed.jsx} | 11 +- .../Elements/builders/buildLink.jsx} | 4 +- .../Elements/builders/buildTable.jsx | 59 + .../Elements/builders/buildValue.jsx} | 9 +- .../Calculation/Elements/builders/index.ts | 40 + .../{lib/elements => Elements}/components.ts | 91 +- .../props/common.ts} | 207 +--- .../Calculation/Elements/props/render.tsx | 135 +++ .../elements => Elements}/tables/index.js | 0 .../elements => Elements}/tables/insurance.ts | 20 +- .../elements => Elements}/tables/payments.ts | 33 +- .../elements => Elements}/tables/results.ts | 18 +- .../{lib/elements => Elements}/titles.ts | 33 +- .../{lib/elements => Elements}/tools.ts | 10 +- .../{lib/elements => Elements}/values.ts | 61 +- src/client/Containers/Calculation/index.jsx | 6 +- .../Calculation/lib/buildElement.js | 75 +- .../Calculation/lib/elements/actions.ts | 10 - .../lib/elements/computedValues.ts | 11 - .../Calculation/lib/elements/types.ts | 23 - .../Calculation/lib/elements/urls.ts | 8 - .../Calculation/lib/renderSections.js | 71 +- .../Containers/Calculation/types/common.ts | 19 + .../Containers/Calculation/types}/elements.ts | 79 +- .../Containers/Calculation/types/tables.ts | 49 + src/client/Elements/Button.jsx | 2 +- src/client/Elements/Checkbox.jsx | 2 +- src/client/Elements/Input.jsx | 2 +- src/client/Elements/InputNumber.jsx | 2 +- src/client/Elements/Link.jsx | 2 +- src/client/Elements/Radio.jsx | 2 +- src/client/Elements/Select.jsx | 2 +- src/client/Elements/Switch.jsx | 2 +- src/client/Elements/TextArea.jsx | 2 +- src/client/hocs/Calculation/index.js | 7 - src/client/hocs/Calculation/withTable.jsx | 62 - src/client/hooks/Calculation/useValidation.js | 62 + src/client/hooks/Calculation/useValidation.ts | 147 --- .../stores/CalculationStore/Data/values.js | 2 +- .../actions/calculate/checkValidation.ts | 6 +- .../Effects/actions/calculate/index.ts | 32 +- .../Effects/actions/calculate/prepareData.ts | 24 +- .../Effects/actions/calculate/results.ts | 20 +- .../actions/calculate/validate/elements.ts | 73 +- .../Effects/actions/createKP.ts | 13 +- .../CalculationStore/Effects/autorun.ts | 95 +- .../CalculationStore/Effects/computed.ts | 36 +- .../Effects/lib/customValues.js | 22 - .../Effects/reactions/eltReactions.ts | 130 +- .../Effects/reactions/gibddReactions.ts | 14 +- .../Effects/reactions/linkReactions.ts | 2 +- .../Effects/reactions/loadKpReaction/index.ts | 1053 ++++++++--------- .../reactions/loadKpReaction/mapKpToValues.ts | 203 ++-- .../Effects/reactions/otherReactions.ts | 185 +-- .../reactions/recalcWoRevisionReactions.ts | 20 +- .../Effects/reactions/requestReactions.ts | 139 +-- .../Effects/reactions/statusReactions.ts | 4 +- .../Effects/reactions/tablesReactions.ts | 24 +- .../stores/CalculationStore/Effects/when.ts | 2 +- .../CalculationStore/config/initialFilters.ts | 7 +- .../CalculationStore/config/initialOptions.ts | 38 +- .../config/initialStatuses.ts | 27 +- .../CalculationStore/config/initialTables.ts | 2 +- .../CalculationStore/config/initialValues.ts | 8 +- .../stores/CalculationStore/init/requests.ts | 56 +- .../stores/CalculationStore/init/variables.ts | 4 +- .../subStores/calculationProcess.ts | 8 +- .../CalculationStore/subStores/eltStore.ts | 4 +- src/core/graphql/query/crm/options/index.js | 5 - src/core/graphql/query/crm/quote/index.js | 14 - .../graphql/query/crm/staticData/index.js | 4 - src/core/services/1CService/index.js | 2 +- src/core/services/1CService/leasing-trial.ts | 13 + src/core/services/1CService/leasingTrial.ts | 17 - src/core/services/1CService/types.ts | 11 + src/core/services/CalculationService/index.ts | 36 +- .../CalculationService/types/columns.ts} | 13 +- .../services/CalculationService/types/post.ts | 10 + .../CalculationService/types/prepared.ts} | 0 .../CalculationService/types/request.ts | 17 + .../{entitiesProps.ts => entities-props.ts} | 10 +- .../CrmService}/graphql/client.ts | 0 .../evo_addproduct_types_fields.graphql | 0 .../fragments/evo_regions_fields.graphql | 0 .../CrmService/graphql/query/options/index.js | 5 + .../query/options/insurance_options.graphql} | 0 .../query/options/main_options.graphql} | 0 .../query/options/owner_options.graphql} | 0 .../quote/fragments/quoteFields.graphql | 0 .../quote/fragments/quoteFieldsLite.graphql | 0 .../CrmService/graphql/query/quote/index.js | 14 + .../query/quote/options/main_options.graphql} | 0 .../quote/options/secondary_options.graphql} | 0 .../quote/options/single_options.graphql} | 0 .../graphql/query/quote/quote.graphql} | 0 .../query/quote/quotes_by_lead.graphql} | 0 .../graphql/query/staticData/index.js | 4 + .../query/staticData/static_data.graphql} | 0 .../query/staticData/systemuser.graphql} | 0 .../CrmService/graphql/schema.graphql} | 0 src/core/services/CrmService/index.ts | 4 +- src/core/services/CrmService/tools/entity.ts | 12 +- src/core/services/CrmService/types/common.ts | 4 +- .../CrmService/types/entities.ts} | 35 +- src/core/services/ELTService/Kasko.js | 9 +- src/core/services/ELTService/Osago.js | 9 +- src/core/services/UserService/index.js | 8 - src/core/services/UserService/index.ts | 10 + src/core/services/UserService/types.ts | 7 + src/core/tools/request.js | 10 - src/core/tools/validate.js | 91 -- src/core/types/Calculation/Requests.ts | 17 - src/core/types/Calculation/Responses.ts | 13 - src/core/types/Calculation/Store/effect.ts | 2 +- src/core/types/Calculation/Store/filters.ts | 7 +- src/core/types/Calculation/Store/index.ts | 98 +- .../types/Calculation/Store/staticData.ts | 8 +- src/core/types/Calculation/Store/tables.ts | 72 -- src/core/types/Calculation/Store/values.ts | 64 +- src/core/types/Calculation/components.ts | 23 - src/core/types/Entities/crmEntityNames.ts | 37 - src/core/types/user.ts | 5 - src/core/validation/validate.ts | 20 +- .../types/statuses.ts => types/elements.ts} | 2 + 163 files changed, 1779 insertions(+), 2744 deletions(-) delete mode 100644 src/client/Components/Calculation/ELT/index.jsx rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Components/Controls/BottomControls.jsx (96%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Components/Controls/TopControls.jsx (95%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Components/Controls/index.js (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Components/InsTable.tsx (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/Kasko.stories.jsx (95%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/index.jsx (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/lib/composeRequest.test.js (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/lib/composeRequest.ts (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/lib/config/columns.ts (88%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/lib/config/index.ts (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/lib/convertEltResult.js (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/lib/convertEltResult.test.js (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/lib/onSelectRow.ts (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Kasko/lib/validation.ts (96%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Osago/index.jsx (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Osago/lib/composeRequest.ts (98%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Osago/lib/config/columns.ts (86%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Osago/lib/config/index.ts (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Osago/lib/convertEltResult.js (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Osago/lib/onSelectRow.ts (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/Osago/lib/validation.ts (89%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/build.jsx (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/index.jsx (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/lib/config/table.ts (100%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/lib/requests.ts (96%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/lib/resetIns.ts (92%) rename src/client/{Components/Calculation/ELT/Content => Containers/Calculation/Components/ELT}/lib/validation.ts (84%) rename src/client/Containers/Calculation/{ => Components}/Info/index.jsx (100%) rename src/client/Containers/Calculation/{ => Components}/Info/infoList.ts (91%) rename src/client/{Components/Calculation => Containers/Calculation/Components}/InsuranceTag.jsx (100%) rename src/client/Containers/Calculation/{ => Components}/Results/index.jsx (100%) rename src/client/Containers/Calculation/{ => Components}/Results/resultsList.ts (95%) rename src/client/Containers/Calculation/{ => Components}/Sections/index.jsx (79%) rename src/client/Containers/Calculation/{ => Components}/Sections/sectionsList.ts (84%) rename src/client/{hocs/Calculation/withButton.jsx => Containers/Calculation/Elements/builders/buildAction.jsx} (67%) rename src/client/{hocs/Calculation/withComputedValue.jsx => Containers/Calculation/Elements/builders/buildComputed.jsx} (80%) rename src/client/{hocs/Calculation/withLink.jsx => Containers/Calculation/Elements/builders/buildLink.jsx} (67%) create mode 100644 src/client/Containers/Calculation/Elements/builders/buildTable.jsx rename src/client/{hocs/Calculation/withValue.jsx => Containers/Calculation/Elements/builders/buildValue.jsx} (90%) create mode 100644 src/client/Containers/Calculation/Elements/builders/index.ts rename src/client/Containers/Calculation/{lib/elements => Elements}/components.ts (82%) rename src/client/Containers/Calculation/{lib/elements/elementsProps.ts => Elements/props/common.ts} (63%) create mode 100644 src/client/Containers/Calculation/Elements/props/render.tsx rename src/client/Containers/Calculation/{lib/elements => Elements}/tables/index.js (100%) rename src/client/Containers/Calculation/{lib/elements => Elements}/tables/insurance.ts (95%) rename src/client/Containers/Calculation/{lib/elements => Elements}/tables/payments.ts (88%) rename src/client/Containers/Calculation/{lib/elements => Elements}/tables/results.ts (77%) rename src/client/Containers/Calculation/{lib/elements => Elements}/titles.ts (86%) rename src/client/Containers/Calculation/{lib/elements => Elements}/tools.ts (60%) rename src/client/Containers/Calculation/{lib/elements => Elements}/values.ts (84%) delete mode 100644 src/client/Containers/Calculation/lib/elements/actions.ts delete mode 100644 src/client/Containers/Calculation/lib/elements/computedValues.ts delete mode 100644 src/client/Containers/Calculation/lib/elements/types.ts delete mode 100644 src/client/Containers/Calculation/lib/elements/urls.ts create mode 100644 src/client/Containers/Calculation/types/common.ts rename src/{core/types/Calculation/Store => client/Containers/Calculation/types}/elements.ts (77%) create mode 100644 src/client/Containers/Calculation/types/tables.ts delete mode 100644 src/client/hocs/Calculation/index.js delete mode 100644 src/client/hocs/Calculation/withTable.jsx create mode 100644 src/client/hooks/Calculation/useValidation.js delete mode 100644 src/client/hooks/Calculation/useValidation.ts delete mode 100644 src/client/stores/CalculationStore/Effects/lib/customValues.js delete mode 100644 src/core/graphql/query/crm/options/index.js delete mode 100644 src/core/graphql/query/crm/quote/index.js delete mode 100644 src/core/graphql/query/crm/staticData/index.js create mode 100644 src/core/services/1CService/leasing-trial.ts delete mode 100644 src/core/services/1CService/leasingTrial.ts create mode 100644 src/core/services/1CService/types.ts rename src/core/{types/Calculation/Core.ts => services/CalculationService/types/columns.ts} (86%) create mode 100644 src/core/services/CalculationService/types/post.ts rename src/core/{types/Calculation/Prepare.ts => services/CalculationService/types/prepared.ts} (100%) create mode 100644 src/core/services/CalculationService/types/request.ts rename src/core/services/CrmService/common/{entitiesProps.ts => entities-props.ts} (93%) rename src/core/{ => services/CrmService}/graphql/client.ts (100%) rename src/core/{graphql/query/crm => services/CrmService/graphql/query}/fragments/evo_addproduct_types_fields.graphql (100%) rename src/core/{graphql/query/crm => services/CrmService/graphql/query}/fragments/evo_regions_fields.graphql (100%) create mode 100644 src/core/services/CrmService/graphql/query/options/index.js rename src/core/{graphql/query/crm/options/getInsuranceOptions.graphql => services/CrmService/graphql/query/options/insurance_options.graphql} (100%) rename src/core/{graphql/query/crm/options/getMainOptions.graphql => services/CrmService/graphql/query/options/main_options.graphql} (100%) rename src/core/{graphql/query/crm/options/getOwnerOptions.graphql => services/CrmService/graphql/query/options/owner_options.graphql} (100%) rename src/core/{graphql/query/crm => services/CrmService/graphql/query}/quote/fragments/quoteFields.graphql (100%) rename src/core/{graphql/query/crm => services/CrmService/graphql/query}/quote/fragments/quoteFieldsLite.graphql (100%) create mode 100644 src/core/services/CrmService/graphql/query/quote/index.js rename src/core/{graphql/query/crm/quote/options/getMainOptions.graphql => services/CrmService/graphql/query/quote/options/main_options.graphql} (100%) rename src/core/{graphql/query/crm/quote/options/getSecondaryOptions.graphql => services/CrmService/graphql/query/quote/options/secondary_options.graphql} (100%) rename src/core/{graphql/query/crm/quote/options/getSingleOptions.graphql => services/CrmService/graphql/query/quote/options/single_options.graphql} (100%) rename src/core/{graphql/query/crm/quote/getQuote.graphql => services/CrmService/graphql/query/quote/quote.graphql} (100%) rename src/core/{graphql/query/crm/quote/getQuotesByLead.graphql => services/CrmService/graphql/query/quote/quotes_by_lead.graphql} (100%) create mode 100644 src/core/services/CrmService/graphql/query/staticData/index.js rename src/core/{graphql/query/crm/staticData/getStaticData.graphql => services/CrmService/graphql/query/staticData/static_data.graphql} (100%) rename src/core/{graphql/query/crm/staticData/getSystemUser.graphql => services/CrmService/graphql/query/staticData/systemuser.graphql} (100%) rename src/core/{graphql/schemas/crm.graphql => services/CrmService/graphql/schema.graphql} (100%) rename src/core/{types/Entities/crmEntities.ts => services/CrmService/types/entities.ts} (94%) delete mode 100644 src/core/services/UserService/index.js create mode 100644 src/core/services/UserService/index.ts create mode 100644 src/core/services/UserService/types.ts delete mode 100644 src/core/tools/request.js delete mode 100644 src/core/tools/validate.js delete mode 100644 src/core/types/Calculation/Requests.ts delete mode 100644 src/core/types/Calculation/Responses.ts delete mode 100644 src/core/types/Calculation/Store/tables.ts delete mode 100644 src/core/types/Calculation/components.ts delete mode 100644 src/core/types/Entities/crmEntityNames.ts delete mode 100644 src/core/types/user.ts rename src/{core/types/statuses.ts => types/elements.ts} (63%) diff --git a/.graphqlrc.yml b/.graphqlrc.yml index c31d185..09678b1 100644 --- a/.graphqlrc.yml +++ b/.graphqlrc.yml @@ -1,3 +1,3 @@ schema: - - ./src/core/graphql/schemas/crm.graphql + - ./src/core/services/CrmService/graphql/schema.graphql documents: src/**/*.{graphql,js,ts,jsx,tsx} diff --git a/apollo.config.js b/apollo.config.js index dea1bb4..50c23c2 100644 --- a/apollo.config.js +++ b/apollo.config.js @@ -3,8 +3,8 @@ module.exports = { service: { name: 'crmgraphql', url: 'http://localhost/crmgraphql/', - // localSchemaFile: 'src/core/graphql/schemas/crm.graphql', + // localSchemaFile: 'src/core/services/CrmService/graphql/schema.graphql', }, - excludes: ['src/core/graphql/schemas/**/*.*'], + excludes: ['src/core/services/CrmService/graphql/schema.graphql'], }, }; diff --git a/package.json b/package.json index 2badc9c..6055d41 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,7 @@ "rebass": "^4.0.7", "styled-components": "^5.2.3", "typescript": "^4.5.4", - "use-debounce": "^6.0.1", - "validator": "^13.5.2" + "use-debounce": "^6.0.1" }, "devDependencies": { "@storybook/addon-actions": "^6.2.9", @@ -61,7 +60,7 @@ }, "scripts": { "graphql:codegen": "apollo client:codegen --target typescript", - "graphql:update-schema": "apollo client:download-schema src/core/graphql/schemas/crm.graphql", + "graphql:update-schema": "apollo client:download-schema src/core/services/CrmService/graphql/schema.graphql", "test": "react-scripts test", "eject": "react-scripts eject", "start": "dotenv -e .env craco start", diff --git a/src/client/Components/Calculation/ELT/index.jsx b/src/client/Components/Calculation/ELT/index.jsx deleted file mode 100644 index dd03955..0000000 --- a/src/client/Components/Calculation/ELT/index.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import { lazy } from 'react'; - -const Content = lazy(() => import('./Content')); - -const ELT = () => ; - -export default ELT; diff --git a/src/client/Components/Calculation/ELT/Content/Components/Controls/BottomControls.jsx b/src/client/Containers/Calculation/Components/ELT/Components/Controls/BottomControls.jsx similarity index 96% rename from src/client/Components/Calculation/ELT/Content/Components/Controls/BottomControls.jsx rename to src/client/Containers/Calculation/Components/ELT/Components/Controls/BottomControls.jsx index 7525746..0a5efe3 100644 --- a/src/client/Components/Calculation/ELT/Content/Components/Controls/BottomControls.jsx +++ b/src/client/Containers/Calculation/Components/ELT/Components/Controls/BottomControls.jsx @@ -3,7 +3,7 @@ import Button from 'client/Elements/Button'; import { openNotification } from 'client/Elements/Notification'; import { useStores } from 'client/hooks/useStores'; import { Process } from 'core/types/Calculation/Store/process'; -import { ElementStatus } from 'core/types/statuses'; +import { ElementStatus } from 'types/elements'; const BottomControls = ({ insType, onSelectRow, selectedKey }) => { const { calculationStore } = useStores(); diff --git a/src/client/Components/Calculation/ELT/Content/Components/Controls/TopControls.jsx b/src/client/Containers/Calculation/Components/ELT/Components/Controls/TopControls.jsx similarity index 95% rename from src/client/Components/Calculation/ELT/Content/Components/Controls/TopControls.jsx rename to src/client/Containers/Calculation/Components/ELT/Components/Controls/TopControls.jsx index 710394b..c54dc55 100644 --- a/src/client/Components/Calculation/ELT/Content/Components/Controls/TopControls.jsx +++ b/src/client/Containers/Calculation/Components/ELT/Components/Controls/TopControls.jsx @@ -3,8 +3,8 @@ import Button from 'client/Elements/Button'; import { PrimaryText } from 'client/Elements/Text'; import { useStores } from 'client/hooks/useStores'; import { Flex } from 'client/UIKit/grid'; -import { ElementStatus } from 'core/types/statuses'; import { useState } from 'react'; +import { ElementStatus } from 'types/elements'; import { resetIns } from '../../lib/resetIns'; import validate from '../../lib/validation'; diff --git a/src/client/Components/Calculation/ELT/Content/Components/Controls/index.js b/src/client/Containers/Calculation/Components/ELT/Components/Controls/index.js similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Components/Controls/index.js rename to src/client/Containers/Calculation/Components/ELT/Components/Controls/index.js diff --git a/src/client/Components/Calculation/ELT/Content/Components/InsTable.tsx b/src/client/Containers/Calculation/Components/ELT/Components/InsTable.tsx similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Components/InsTable.tsx rename to src/client/Containers/Calculation/Components/ELT/Components/InsTable.tsx diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/Kasko.stories.jsx b/src/client/Containers/Calculation/Components/ELT/Kasko/Kasko.stories.jsx similarity index 95% rename from src/client/Components/Calculation/ELT/Content/Kasko/Kasko.stories.jsx rename to src/client/Containers/Calculation/Components/ELT/Kasko/Kasko.stories.jsx index c4ebe16..35d2d0c 100644 --- a/src/client/Components/Calculation/ELT/Content/Kasko/Kasko.stories.jsx +++ b/src/client/Containers/Calculation/Components/ELT/Kasko/Kasko.stories.jsx @@ -1,5 +1,5 @@ -import InsTable from '../InsTable'; import tableConfig from '../lib/config/table'; +import InsTable from './index'; export default { title: 'Components/Calculation/ELT/Kasko', diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/index.jsx b/src/client/Containers/Calculation/Components/ELT/Kasko/index.jsx similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Kasko/index.jsx rename to src/client/Containers/Calculation/Components/ELT/Kasko/index.jsx diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/lib/composeRequest.test.js b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/composeRequest.test.js similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Kasko/lib/composeRequest.test.js rename to src/client/Containers/Calculation/Components/ELT/Kasko/lib/composeRequest.test.js diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/lib/composeRequest.ts b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/composeRequest.ts similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Kasko/lib/composeRequest.ts rename to src/client/Containers/Calculation/Components/ELT/Kasko/lib/composeRequest.ts diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/lib/config/columns.ts b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/config/columns.ts similarity index 88% rename from src/client/Components/Calculation/ELT/Content/Kasko/lib/config/columns.ts rename to src/client/Containers/Calculation/Components/ELT/Kasko/lib/config/columns.ts index 0450501..b9cb705 100644 --- a/src/client/Components/Calculation/ELT/Content/Kasko/lib/config/columns.ts +++ b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/config/columns.ts @@ -1,6 +1,6 @@ -import { InsTableColumn } from 'client/Components/Calculation/ELT/Content/lib/config/table'; import { Outlined } from 'client/Components/Spinner'; import { formatMoney } from 'core/tools/format'; +import { InsTableColumn } from '../../../lib/config/table'; const columns: InsTableColumn[] = [ { diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/lib/config/index.ts b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/config/index.ts similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Kasko/lib/config/index.ts rename to src/client/Containers/Calculation/Components/ELT/Kasko/lib/config/index.ts diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/lib/convertEltResult.js b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/convertEltResult.js similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Kasko/lib/convertEltResult.js rename to src/client/Containers/Calculation/Components/ELT/Kasko/lib/convertEltResult.js diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/lib/convertEltResult.test.js b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/convertEltResult.test.js similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Kasko/lib/convertEltResult.test.js rename to src/client/Containers/Calculation/Components/ELT/Kasko/lib/convertEltResult.test.js diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/lib/onSelectRow.ts b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/onSelectRow.ts similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Kasko/lib/onSelectRow.ts rename to src/client/Containers/Calculation/Components/ELT/Kasko/lib/onSelectRow.ts diff --git a/src/client/Components/Calculation/ELT/Content/Kasko/lib/validation.ts b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/validation.ts similarity index 96% rename from src/client/Components/Calculation/ELT/Content/Kasko/lib/validation.ts rename to src/client/Containers/Calculation/Components/ELT/Kasko/lib/validation.ts index caeb7b1..4817af2 100644 --- a/src/client/Components/Calculation/ELT/Content/Kasko/lib/validation.ts +++ b/src/client/Containers/Calculation/Components/ELT/Kasko/lib/validation.ts @@ -1,7 +1,4 @@ -import { - ElementsNames, - TElements, -} from 'core/types/Calculation/Store/elements'; +import { ElementsNames } from 'client/Containers/Calculation/types/elements'; import { ValidationCondition } from 'core/validation/validate'; export const requiredFields: ElementsNames[] = [ @@ -19,7 +16,7 @@ export const requiredFields: ElementsNames[] = [ 'radioInfuranceOPF', ]; -export const conditions: TElements = { +export const conditions: Partial> = { selectLeaseObjectType: calculationStore => { const leaseObjectType = calculationStore.getOption('selectLeaseObjectType'); if (leaseObjectType?.evo_id && ['11'].includes(leaseObjectType?.evo_id)) { diff --git a/src/client/Components/Calculation/ELT/Content/Osago/index.jsx b/src/client/Containers/Calculation/Components/ELT/Osago/index.jsx similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Osago/index.jsx rename to src/client/Containers/Calculation/Components/ELT/Osago/index.jsx diff --git a/src/client/Components/Calculation/ELT/Content/Osago/lib/composeRequest.ts b/src/client/Containers/Calculation/Components/ELT/Osago/lib/composeRequest.ts similarity index 98% rename from src/client/Components/Calculation/ELT/Content/Osago/lib/composeRequest.ts rename to src/client/Containers/Calculation/Components/ELT/Osago/lib/composeRequest.ts index 597e2b2..852c5fa 100644 --- a/src/client/Components/Calculation/ELT/Content/Osago/lib/composeRequest.ts +++ b/src/client/Containers/Calculation/Components/ELT/Osago/lib/composeRequest.ts @@ -1,6 +1,6 @@ +import { IAccount } from 'core/services/CrmService/types/entities'; import { currentDate } from 'core/tools/date'; import { ICalculationStore } from 'core/types/Calculation/Store'; -import { IAccount } from 'core/types/Entities/crmEntities'; import { get, isNull } from 'lodash'; const mapCategory = { diff --git a/src/client/Components/Calculation/ELT/Content/Osago/lib/config/columns.ts b/src/client/Containers/Calculation/Components/ELT/Osago/lib/config/columns.ts similarity index 86% rename from src/client/Components/Calculation/ELT/Content/Osago/lib/config/columns.ts rename to src/client/Containers/Calculation/Components/ELT/Osago/lib/config/columns.ts index d5a4db0..d03d694 100644 --- a/src/client/Components/Calculation/ELT/Content/Osago/lib/config/columns.ts +++ b/src/client/Containers/Calculation/Components/ELT/Osago/lib/config/columns.ts @@ -1,6 +1,6 @@ -import { InsTableColumn } from 'client/Components/Calculation/ELT/Content/lib/config/table'; import { Outlined } from 'client/Components/Spinner'; import { formatMoney } from 'core/tools/format'; +import { InsTableColumn } from '../../../lib/config/table'; const columns: InsTableColumn[] = [ { diff --git a/src/client/Components/Calculation/ELT/Content/Osago/lib/config/index.ts b/src/client/Containers/Calculation/Components/ELT/Osago/lib/config/index.ts similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Osago/lib/config/index.ts rename to src/client/Containers/Calculation/Components/ELT/Osago/lib/config/index.ts diff --git a/src/client/Components/Calculation/ELT/Content/Osago/lib/convertEltResult.js b/src/client/Containers/Calculation/Components/ELT/Osago/lib/convertEltResult.js similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Osago/lib/convertEltResult.js rename to src/client/Containers/Calculation/Components/ELT/Osago/lib/convertEltResult.js diff --git a/src/client/Components/Calculation/ELT/Content/Osago/lib/onSelectRow.ts b/src/client/Containers/Calculation/Components/ELT/Osago/lib/onSelectRow.ts similarity index 100% rename from src/client/Components/Calculation/ELT/Content/Osago/lib/onSelectRow.ts rename to src/client/Containers/Calculation/Components/ELT/Osago/lib/onSelectRow.ts diff --git a/src/client/Components/Calculation/ELT/Content/Osago/lib/validation.ts b/src/client/Containers/Calculation/Components/ELT/Osago/lib/validation.ts similarity index 89% rename from src/client/Components/Calculation/ELT/Content/Osago/lib/validation.ts rename to src/client/Containers/Calculation/Components/ELT/Osago/lib/validation.ts index de1f572..a86565d 100644 --- a/src/client/Components/Calculation/ELT/Content/Osago/lib/validation.ts +++ b/src/client/Containers/Calculation/Components/ELT/Osago/lib/validation.ts @@ -1,7 +1,4 @@ -import { - ElementsNames, - TElements, -} from 'core/types/Calculation/Store/elements'; +import { ElementsNames } from 'client/Containers/Calculation/types/elements'; import { ValidationCondition } from 'core/validation/validate'; import { omit } from 'lodash'; import { conditions as kaskoConditions } from '../../Kasko/lib/validation'; @@ -22,7 +19,7 @@ export const requiredFields: ElementsNames[] = [ 'radioInfuranceOPF', ]; -const osagoConditions: TElements = { +const osagoConditions: Partial> = { selectTownRegistration: calculationStore => { const objectRegistration = calculationStore.getValue('objectRegistration'); if (objectRegistration === 100000001) { diff --git a/src/client/Components/Calculation/ELT/Content/build.jsx b/src/client/Containers/Calculation/Components/ELT/build.jsx similarity index 100% rename from src/client/Components/Calculation/ELT/Content/build.jsx rename to src/client/Containers/Calculation/Components/ELT/build.jsx diff --git a/src/client/Components/Calculation/ELT/Content/index.jsx b/src/client/Containers/Calculation/Components/ELT/index.jsx similarity index 100% rename from src/client/Components/Calculation/ELT/Content/index.jsx rename to src/client/Containers/Calculation/Components/ELT/index.jsx diff --git a/src/client/Components/Calculation/ELT/Content/lib/config/table.ts b/src/client/Containers/Calculation/Components/ELT/lib/config/table.ts similarity index 100% rename from src/client/Components/Calculation/ELT/Content/lib/config/table.ts rename to src/client/Containers/Calculation/Components/ELT/lib/config/table.ts diff --git a/src/client/Components/Calculation/ELT/Content/lib/requests.ts b/src/client/Containers/Calculation/Components/ELT/lib/requests.ts similarity index 96% rename from src/client/Components/Calculation/ELT/Content/lib/requests.ts rename to src/client/Containers/Calculation/Components/ELT/lib/requests.ts index 1ad6c04..9a8a4cd 100644 --- a/src/client/Components/Calculation/ELT/Content/lib/requests.ts +++ b/src/client/Containers/Calculation/Components/ELT/lib/requests.ts @@ -1,7 +1,7 @@ import axios from 'axios'; +import { IAccount } from 'core/services/CrmService/types/entities'; import ELTService from 'core/services/ELTService'; import { ICalculationStore } from 'core/types/Calculation/Store'; -import { IAccount } from 'core/types/Entities/crmEntities'; import { toJS } from 'mobx'; import { map_evo_id_elt_FieldName } from '../lib/resetIns'; diff --git a/src/client/Components/Calculation/ELT/Content/lib/resetIns.ts b/src/client/Containers/Calculation/Components/ELT/lib/resetIns.ts similarity index 92% rename from src/client/Components/Calculation/ELT/Content/lib/resetIns.ts rename to src/client/Containers/Calculation/Components/ELT/lib/resetIns.ts index 7602e1a..cc27111 100644 --- a/src/client/Components/Calculation/ELT/Content/lib/resetIns.ts +++ b/src/client/Containers/Calculation/Components/ELT/lib/resetIns.ts @@ -1,5 +1,5 @@ +import { CRMEntity } from 'core/services/CrmService/types/entities'; import { ICalculationStore } from 'core/types/Calculation/Store'; -import { TCRMEntity } from 'core/types/Entities/crmEntities'; import { pick } from 'lodash'; import { sources } from './requests'; @@ -40,7 +40,7 @@ export function initIns(this: ICalculationStore, insType) { return; } const { ELTStore } = this.stores; - const list: TCRMEntity[] = []; + const list: CRMEntity[] = []; const evo_id_elt_fieldName = map_evo_id_elt_FieldName[insType](this); insuranceCompanies.forEach(company => { if ( @@ -60,7 +60,7 @@ export function resetIns(this: ICalculationStore, insType) { const { ELTStore } = this.stores; - const list: TCRMEntity[] = []; + const list: CRMEntity[] = []; ELTStore[insType].list.forEach(x => { const picked = pick(x, initFields, ''); list.push(picked); diff --git a/src/client/Components/Calculation/ELT/Content/lib/validation.ts b/src/client/Containers/Calculation/Components/ELT/lib/validation.ts similarity index 84% rename from src/client/Components/Calculation/ELT/Content/lib/validation.ts rename to src/client/Containers/Calculation/Components/ELT/lib/validation.ts index 5a68ffe..1db38d2 100644 --- a/src/client/Components/Calculation/ELT/Content/lib/validation.ts +++ b/src/client/Containers/Calculation/Components/ELT/lib/validation.ts @@ -1,30 +1,27 @@ -import { getTitle } from 'client/Containers/Calculation/lib/elements/tools'; +import { getTitle } from 'client/Containers/Calculation/Elements/tools'; +import { ElementsNames } from 'client/Containers/Calculation/types/elements'; import { openNotification } from 'client/Elements/Notification'; import { pipe } from 'core/tools/func'; import { ICalculationStore } from 'core/types/Calculation/Store'; -import { - ElementsNames, - TElements, -} from 'core/types/Calculation/Store/elements'; import CONDITIONS from 'core/validation/conditions'; import { convertToValidationResult, getValue, showValidationMessages, validate, - ValidationCondition, + ValidationCondition } from 'core/validation/validate'; type ELTValidation = { requiredFields: ElementsNames[]; - conditions?: TElements; + conditions?: Partial>; }; export default function (this: ICalculationStore, validation: ELTValidation) { const { requiredFields, conditions: customConditions } = validation; const requiredFieldsConditions = requiredFields.reduce( - (ac: TElements, elementName) => { + (ac: Partial>, elementName) => { ac[elementName] = pipe( getValue, CONDITIONS.IS_NULL, diff --git a/src/client/Containers/Calculation/Info/index.jsx b/src/client/Containers/Calculation/Components/Info/index.jsx similarity index 100% rename from src/client/Containers/Calculation/Info/index.jsx rename to src/client/Containers/Calculation/Components/Info/index.jsx diff --git a/src/client/Containers/Calculation/Info/infoList.ts b/src/client/Containers/Calculation/Components/Info/infoList.ts similarity index 91% rename from src/client/Containers/Calculation/Info/infoList.ts rename to src/client/Containers/Calculation/Components/Info/infoList.ts index 1ec5bbe..ac5e61b 100644 --- a/src/client/Containers/Calculation/Info/infoList.ts +++ b/src/client/Containers/Calculation/Components/Info/infoList.ts @@ -1,4 +1,4 @@ -import { IGroup } from 'core/types/Calculation/components'; +import { IGroup } from '../../types/common'; export const controlsList: IGroup[] = [ { diff --git a/src/client/Components/Calculation/InsuranceTag.jsx b/src/client/Containers/Calculation/Components/InsuranceTag.jsx similarity index 100% rename from src/client/Components/Calculation/InsuranceTag.jsx rename to src/client/Containers/Calculation/Components/InsuranceTag.jsx diff --git a/src/client/Containers/Calculation/Results/index.jsx b/src/client/Containers/Calculation/Components/Results/index.jsx similarity index 100% rename from src/client/Containers/Calculation/Results/index.jsx rename to src/client/Containers/Calculation/Components/Results/index.jsx diff --git a/src/client/Containers/Calculation/Results/resultsList.ts b/src/client/Containers/Calculation/Components/Results/resultsList.ts similarity index 95% rename from src/client/Containers/Calculation/Results/resultsList.ts rename to src/client/Containers/Calculation/Components/Results/resultsList.ts index 1f6a019..5dc8fa1 100644 --- a/src/client/Containers/Calculation/Results/resultsList.ts +++ b/src/client/Containers/Calculation/Components/Results/resultsList.ts @@ -1,4 +1,4 @@ -import { ISection } from 'core/types/Calculation/components'; +import { ISection } from '../../types/common'; export const calculationResults: ISection[] = [ { diff --git a/src/client/Containers/Calculation/Sections/index.jsx b/src/client/Containers/Calculation/Components/Sections/index.jsx similarity index 79% rename from src/client/Containers/Calculation/Sections/index.jsx rename to src/client/Containers/Calculation/Components/Sections/index.jsx index 76d3d43..747aeed 100644 --- a/src/client/Containers/Calculation/Sections/index.jsx +++ b/src/client/Containers/Calculation/Components/Sections/index.jsx @@ -1,5 +1,5 @@ import Background from 'client/Elements/Background'; -import { renderSections } from '../lib/renderSections'; +import { renderSections } from '../../lib/renderSections'; import sectionsList from './sectionsList'; const Sections = props => ( diff --git a/src/client/Containers/Calculation/Sections/sectionsList.ts b/src/client/Containers/Calculation/Components/Sections/sectionsList.ts similarity index 84% rename from src/client/Containers/Calculation/Sections/sectionsList.ts rename to src/client/Containers/Calculation/Components/Sections/sectionsList.ts index b64cfcc..402f4ab 100644 --- a/src/client/Containers/Calculation/Sections/sectionsList.ts +++ b/src/client/Containers/Calculation/Components/Sections/sectionsList.ts @@ -1,60 +1,6 @@ -import { ISection } from 'core/types/Calculation/components'; +import { ISection } from '../../types/common'; const sections: ISection[] = [ - // { - // title: 'Интерес/ЛС', - // groups: [ - // { - // title: 'Создание нового интереса в CRM', - // style: { columnsNumber: 3 }, - // blocks: [ - // { - // elements: [ - // 'selectChannel', - // 'tbxNewClient', - // 'selectAccount', - // 'tbxINN', - // 'tbxKPP', - // ], - // }, - // { - // elements: [ - // 'selectContactClient', - // 'tbxContact', - // 'radioContactGender', - // 'tbxPhoneNumber', - // 'tbxEmailAddress', - // ], - // }, - // { - // elements: [ - // 'selectSupplier', - // 'selectFinDepartment', - // 'selectBroker', - // 'selectAgent', - // 'selectDoubleAgent', - // ], - // }, - // ], - // }, - // { - // style: { columnsNumber: 1 }, - // blocks: [ - // { - // elements: ['tbxCommentLead'], - // }, - // ], - // }, - // { - // style: { columnsNumber: 1 }, - // blocks: [ - // { - // elements: ['btnCreateLead'], - // }, - // ], - // }, - // ], - // }, { title: 'Лизинг', groups: [ @@ -305,7 +251,6 @@ const sections: ISection[] = [ 'selectGPSModel', 'tbxInsKaskoPriceLeasePeriod', 'cbxWithTrailer', - // 'btnDriversApplication', ], }, { @@ -402,11 +347,6 @@ const sections: ISection[] = [ blocks: [ { style: { columnsNumber: 2 }, - elementStyle: { - head: { - whiteSpace: 'normal', - }, - }, elements: [ // 'cbxLastPaymentRedemption', 'cbxPriceWithDiscount', @@ -445,15 +385,6 @@ const sections: ISection[] = [ // { // title: 'Без ограничений', // groups: [ - // // { - // // blocks: [ - // // { - // // elements: [ - // // 'selectUserSession' - // // ], - // // }, - // // ], - // // }, // { // blocks: [ // { diff --git a/src/client/hocs/Calculation/withButton.jsx b/src/client/Containers/Calculation/Elements/builders/buildAction.jsx similarity index 67% rename from src/client/hocs/Calculation/withButton.jsx rename to src/client/Containers/Calculation/Elements/builders/buildAction.jsx index e232294..4c5bb76 100644 --- a/src/client/hocs/Calculation/withButton.jsx +++ b/src/client/Containers/Calculation/Elements/builders/buildAction.jsx @@ -1,11 +1,11 @@ -import { observer } from 'mobx-react-lite'; -import { useStatus } from 'client/hooks/Calculation/useStatus'; import { useAction } from 'client/hooks/Calculation/useAction'; +import { useStatus } from 'client/hooks/Calculation/useStatus'; +import { observer } from 'mobx-react-lite'; -export default Button => ({ name, actionName, ...props }) => +export default ({ name, valueName: actionName, Component, ...props }) => observer(() => { const { status } = useStatus(name); const { action } = useAction({ actionName }); - return