@redneckz/wildless-cms-uni-blocks 0.14.967 → 0.14.968
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/bundle.umd.js +35 -13
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/retail/components/Fields/CardCategoryField.js +18 -7
- package/dist/retail/components/Fields/CardCategoryField.js.map +1 -1
- package/dist/retail/components/Fields/RegionRetailField.js +16 -5
- package/dist/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/lib/retail/components/Fields/CardCategoryField.js +18 -7
- package/lib/retail/components/Fields/CardCategoryField.js.map +1 -1
- package/lib/retail/components/Fields/RegionRetailField.js +17 -6
- package/lib/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +35 -13
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/retail/components/Fields/CardCategoryField.js +18 -7
- package/mobile/dist/retail/components/Fields/CardCategoryField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/RegionRetailField.js +16 -5
- package/mobile/dist/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/CardCategoryField.js +18 -7
- package/mobile/lib/retail/components/Fields/CardCategoryField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/RegionRetailField.js +17 -6
- package/mobile/lib/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/mobile/src/retail/components/Fields/CardCategoryField.tsx +21 -7
- package/mobile/src/retail/components/Fields/RegionRetailField.tsx +18 -7
- package/package.json +1 -1
- package/src/retail/components/Fields/CardCategoryField.tsx +21 -7
- package/src/retail/components/Fields/RegionRetailField.tsx +18 -7
|
@@ -11,19 +11,27 @@ const SelectField_1 = require("./SelectField");
|
|
|
11
11
|
exports.CardCategoryField = (0, uni_jsx_1.JSX)(({ field, input }) => {
|
|
12
12
|
const [cardTypes, setCardTypes] = (0, hooks_1.useState)([]);
|
|
13
13
|
const [programId] = (0, useLocalStorage_1.useLocalStorage)('programId');
|
|
14
|
-
const { productType } = (0, useRetailFormStore_1.useRetailFormStore)();
|
|
15
|
-
const isSalaryCard = programId === '38';
|
|
14
|
+
const { productType, leadForm } = (0, useRetailFormStore_1.useRetailFormStore)();
|
|
16
15
|
const isDebit = productType === 'debitCard';
|
|
17
16
|
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
18
17
|
const { value: selectedCardCategory, onChange: cardCategoryChange } = field('cardCategory');
|
|
19
18
|
const selectedPaymentSystem = field('paymentSystem')?.value?.key;
|
|
20
|
-
const
|
|
21
|
-
|
|
19
|
+
const isOffice = leadForm?.methodObtain === 'office';
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
21
|
+
const noop = () => { };
|
|
22
|
+
const handleChangeIsMomentDebitCard = (0, hooks_1.useMemo)(() => {
|
|
23
|
+
const onChange = field('isMomentDebitCard')?.onChange;
|
|
24
|
+
return onChange ?? noop;
|
|
25
|
+
}, [field]);
|
|
26
|
+
const isInstantSelectedCardCategory = field('cardCategory')
|
|
27
|
+
?.value?.text?.toLowerCase()
|
|
28
|
+
?.includes('неимен');
|
|
29
|
+
const getCardCategoryValue = (0, hooks_1.useCallback)((fetchedCardTypes) => fetchedCardTypes.length !== 0
|
|
22
30
|
? {
|
|
23
31
|
key: fetchedCardTypes[0].key,
|
|
24
32
|
text: fetchedCardTypes[0].value,
|
|
25
33
|
}
|
|
26
|
-
: null, []);
|
|
34
|
+
: null, [selectedPaymentSystem]);
|
|
27
35
|
const onChange = (0, hooks_1.useCallback)((value) => {
|
|
28
36
|
cardCategoryChange?.(value);
|
|
29
37
|
handleChangeIsMomentDebitCard?.(value?.text?.toLowerCase()?.includes('неимен'));
|
|
@@ -32,16 +40,19 @@ exports.CardCategoryField = (0, uni_jsx_1.JSX)(({ field, input }) => {
|
|
|
32
40
|
if (selectedPaymentSystem && programId) {
|
|
33
41
|
(async () => {
|
|
34
42
|
const fetchedCardTypes = await (0, getCardTypes_1.getCardTypes)(selectedPaymentSystem, programId);
|
|
35
|
-
const actualCardTypes = isDebit && !isEsiaAuth
|
|
43
|
+
const actualCardTypes = isDebit && (!isEsiaAuth || isOffice)
|
|
36
44
|
? excludeSomeСategoriesCards(fetchedCardTypes)
|
|
37
45
|
: fetchedCardTypes;
|
|
38
46
|
setCardTypes(actualCardTypes);
|
|
39
47
|
if (!isValidCardCategory(actualCardTypes, selectedCardCategory)) {
|
|
40
48
|
cardCategoryChange?.(getCardCategoryValue(actualCardTypes));
|
|
41
49
|
}
|
|
50
|
+
if (isDebit) {
|
|
51
|
+
handleChangeIsMomentDebitCard(isInstantSelectedCardCategory ?? false);
|
|
52
|
+
}
|
|
42
53
|
})();
|
|
43
54
|
}
|
|
44
|
-
}, [selectedPaymentSystem, getCardCategoryValue]);
|
|
55
|
+
}, [selectedPaymentSystem, getCardCategoryValue, isInstantSelectedCardCategory]);
|
|
45
56
|
const description = (0, hooks_1.useMemo)(() => cardTypes?.find((_) => _.key === selectedCardCategory?.key)?.description, [cardTypes, selectedCardCategory]);
|
|
46
57
|
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(SelectField_1.SelectField, { field: field, source: cardTypes, label: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u043A\u0430\u0440\u0442\u044B", fieldName: "cardCategory", input: input, onChange: onChange }), description ? (0, jsx_runtime_1.jsx)(InfoCard_1.InfoCard, { __html: description }) : null] }));
|
|
47
58
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardCategoryField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/CardCategoryField.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAwF;AACxF,oEAAiE;AAEjE,gEAA6D;AAE7D,yDAAyE;AACzE,uEAAoE;AACpE,+CAA4C;AAE/B,QAAA,iBAAiB,GAAG,IAAA,aAAG,EAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAiB,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,iCAAe,EAAS,WAAW,CAAC,CAAC;IACzD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,uCAAkB,GAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"CardCategoryField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/CardCategoryField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,24 +9,35 @@ const getRegionsCardDelivery_1 = require("../../api/getRegionsCardDelivery");
|
|
|
9
9
|
const useLeadFormData_1 = require("../../hooks/useLeadFormData");
|
|
10
10
|
const useRetailFormStore_1 = require("../../hooks/useRetailFormStore");
|
|
11
11
|
exports.RegionRetailField = (0, uni_jsx_1.JSX)(({ field, input }) => {
|
|
12
|
-
const { productType } = (0, useRetailFormStore_1.useRetailFormStore)();
|
|
12
|
+
const { programId, productType } = (0, useRetailFormStore_1.useRetailFormStore)();
|
|
13
13
|
const { data: regions } = (0, useLeadFormData_1.useLeadFormData)('REGION_RF');
|
|
14
14
|
const { data: regionsDelivery } = (0, useAsyncData_1.useAsyncData)('regionsDelivery', getRegionsCardDelivery_1.getRegionsCardDelivery);
|
|
15
15
|
const { data: productSettings } = (0, useLeadFormData_1.useLeadFormData)(getCurrentProductSettings(productType));
|
|
16
|
-
const
|
|
16
|
+
const isDebit = productType === 'debitCard';
|
|
17
|
+
const isSalaryCard = programId === '38';
|
|
18
|
+
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
17
19
|
const formatRegions = regions?.map(({ key, value }) => ({ key, text: value }));
|
|
18
20
|
const isDeliveryActive = productSettings?.find((_) => _?.key === 'DELIVERY_ACTIVE')?.value === 'true';
|
|
19
21
|
const handleChangeRegion = field('regionRetail')?.onChange;
|
|
20
22
|
const handleChangeRegionHasDelivery = field('regionHasDelivery')?.onChange;
|
|
21
23
|
const handleChangeMethodObtain = field('methodObtain')?.onChange;
|
|
22
24
|
const onChange = (0, hooks_1.useCallback)((value) => {
|
|
23
|
-
const regionHasDelivery =
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
const regionHasDelivery = isDebit
|
|
26
|
+
? isEsiaAuth &&
|
|
27
|
+
!isSalaryCard &&
|
|
28
|
+
isDeliveryActive &&
|
|
29
|
+
regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg
|
|
30
|
+
: isDeliveryActive && regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg;
|
|
26
31
|
handleChangeRegionHasDelivery?.(regionHasDelivery);
|
|
27
32
|
handleChangeMethodObtain?.(regionHasDelivery ? 'courier' : 'office');
|
|
28
33
|
handleChangeRegion?.(value);
|
|
29
34
|
}, [regionsDelivery, isDeliveryActive, isEsiaAuth]);
|
|
35
|
+
(0, hooks_1.useEffect)(() => {
|
|
36
|
+
if (!isEsiaAuth && isDebit) {
|
|
37
|
+
handleChangeRegionHasDelivery?.(false);
|
|
38
|
+
handleChangeMethodObtain?.('office');
|
|
39
|
+
}
|
|
40
|
+
}, []);
|
|
30
41
|
return ((0, jsx_runtime_1.jsx)(SelectControl_1.SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: formatRegions, ...field(input?.name ?? ''), onChange: onChange }));
|
|
31
42
|
});
|
|
32
43
|
const getCurrentProductSettings = (productType) => productType === 'debitCard' ? 'DEBIT_CARD_LEAD_PROCESS_SETTINGS' : 'CREDIT_LEAD_PROCESS_SETTINGS';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionRetailField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/RegionRetailField.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"RegionRetailField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/RegionRetailField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,19 +9,27 @@ import { SelectField } from './SelectField.js';
|
|
|
9
9
|
export const CardCategoryField = JSX(({ field, input }) => {
|
|
10
10
|
const [cardTypes, setCardTypes] = useState([]);
|
|
11
11
|
const [programId] = useLocalStorage('programId');
|
|
12
|
-
const { productType } = useRetailFormStore();
|
|
13
|
-
const isSalaryCard = programId === '38';
|
|
12
|
+
const { productType, leadForm } = useRetailFormStore();
|
|
14
13
|
const isDebit = productType === 'debitCard';
|
|
15
14
|
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
16
15
|
const { value: selectedCardCategory, onChange: cardCategoryChange } = field('cardCategory');
|
|
17
16
|
const selectedPaymentSystem = field('paymentSystem')?.value?.key;
|
|
18
|
-
const
|
|
19
|
-
|
|
17
|
+
const isOffice = leadForm?.methodObtain === 'office';
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
19
|
+
const noop = () => { };
|
|
20
|
+
const handleChangeIsMomentDebitCard = useMemo(() => {
|
|
21
|
+
const onChange = field('isMomentDebitCard')?.onChange;
|
|
22
|
+
return onChange ?? noop;
|
|
23
|
+
}, [field]);
|
|
24
|
+
const isInstantSelectedCardCategory = field('cardCategory')
|
|
25
|
+
?.value?.text?.toLowerCase()
|
|
26
|
+
?.includes('неимен');
|
|
27
|
+
const getCardCategoryValue = useCallback((fetchedCardTypes) => fetchedCardTypes.length !== 0
|
|
20
28
|
? {
|
|
21
29
|
key: fetchedCardTypes[0].key,
|
|
22
30
|
text: fetchedCardTypes[0].value,
|
|
23
31
|
}
|
|
24
|
-
: null, []);
|
|
32
|
+
: null, [selectedPaymentSystem]);
|
|
25
33
|
const onChange = useCallback((value) => {
|
|
26
34
|
cardCategoryChange?.(value);
|
|
27
35
|
handleChangeIsMomentDebitCard?.(value?.text?.toLowerCase()?.includes('неимен'));
|
|
@@ -30,16 +38,19 @@ export const CardCategoryField = JSX(({ field, input }) => {
|
|
|
30
38
|
if (selectedPaymentSystem && programId) {
|
|
31
39
|
(async () => {
|
|
32
40
|
const fetchedCardTypes = await getCardTypes(selectedPaymentSystem, programId);
|
|
33
|
-
const actualCardTypes = isDebit && !isEsiaAuth
|
|
41
|
+
const actualCardTypes = isDebit && (!isEsiaAuth || isOffice)
|
|
34
42
|
? excludeSomeСategoriesCards(fetchedCardTypes)
|
|
35
43
|
: fetchedCardTypes;
|
|
36
44
|
setCardTypes(actualCardTypes);
|
|
37
45
|
if (!isValidCardCategory(actualCardTypes, selectedCardCategory)) {
|
|
38
46
|
cardCategoryChange?.(getCardCategoryValue(actualCardTypes));
|
|
39
47
|
}
|
|
48
|
+
if (isDebit) {
|
|
49
|
+
handleChangeIsMomentDebitCard(isInstantSelectedCardCategory ?? false);
|
|
50
|
+
}
|
|
40
51
|
})();
|
|
41
52
|
}
|
|
42
|
-
}, [selectedPaymentSystem, getCardCategoryValue]);
|
|
53
|
+
}, [selectedPaymentSystem, getCardCategoryValue, isInstantSelectedCardCategory]);
|
|
43
54
|
const description = useMemo(() => cardTypes?.find((_) => _.key === selectedCardCategory?.key)?.description, [cardTypes, selectedCardCategory]);
|
|
44
55
|
return (_jsxs("div", { children: [_jsx(SelectField, { field: field, source: cardTypes, label: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F \u043A\u0430\u0440\u0442\u044B", fieldName: "cardCategory", input: input, onChange: onChange }), description ? _jsx(InfoCard, { __html: description }) : null] }));
|
|
45
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardCategoryField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/CardCategoryField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAqB,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAiB,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,CAAC,GAAG,eAAe,CAAS,WAAW,CAAC,CAAC;IACzD,MAAM,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"CardCategoryField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/CardCategoryField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,41 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
-
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
4
4
|
import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
|
|
5
5
|
import { SelectControl } from '../../../ui-kit/Select/SelectControl.js';
|
|
6
6
|
import { getRegionsCardDelivery } from '../../api/getRegionsCardDelivery.js';
|
|
7
7
|
import { useLeadFormData } from '../../hooks/useLeadFormData.js';
|
|
8
8
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore.js';
|
|
9
9
|
export const RegionRetailField = JSX(({ field, input }) => {
|
|
10
|
-
const { productType } = useRetailFormStore();
|
|
10
|
+
const { programId, productType } = useRetailFormStore();
|
|
11
11
|
const { data: regions } = useLeadFormData('REGION_RF');
|
|
12
12
|
const { data: regionsDelivery } = useAsyncData('regionsDelivery', getRegionsCardDelivery);
|
|
13
13
|
const { data: productSettings } = useLeadFormData(getCurrentProductSettings(productType));
|
|
14
|
-
const
|
|
14
|
+
const isDebit = productType === 'debitCard';
|
|
15
|
+
const isSalaryCard = programId === '38';
|
|
16
|
+
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
15
17
|
const formatRegions = regions?.map(({ key, value }) => ({ key, text: value }));
|
|
16
18
|
const isDeliveryActive = productSettings?.find((_) => _?.key === 'DELIVERY_ACTIVE')?.value === 'true';
|
|
17
19
|
const handleChangeRegion = field('regionRetail')?.onChange;
|
|
18
20
|
const handleChangeRegionHasDelivery = field('regionHasDelivery')?.onChange;
|
|
19
21
|
const handleChangeMethodObtain = field('methodObtain')?.onChange;
|
|
20
22
|
const onChange = useCallback((value) => {
|
|
21
|
-
const regionHasDelivery =
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
const regionHasDelivery = isDebit
|
|
24
|
+
? isEsiaAuth &&
|
|
25
|
+
!isSalaryCard &&
|
|
26
|
+
isDeliveryActive &&
|
|
27
|
+
regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg
|
|
28
|
+
: isDeliveryActive && regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg;
|
|
24
29
|
handleChangeRegionHasDelivery?.(regionHasDelivery);
|
|
25
30
|
handleChangeMethodObtain?.(regionHasDelivery ? 'courier' : 'office');
|
|
26
31
|
handleChangeRegion?.(value);
|
|
27
32
|
}, [regionsDelivery, isDeliveryActive, isEsiaAuth]);
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (!isEsiaAuth && isDebit) {
|
|
35
|
+
handleChangeRegionHasDelivery?.(false);
|
|
36
|
+
handleChangeMethodObtain?.('office');
|
|
37
|
+
}
|
|
38
|
+
}, []);
|
|
28
39
|
return (_jsx(SelectControl, { label: "\u0420\u0435\u0433\u0438\u043E\u043D", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0440\u0435\u0433\u0438\u043E\u043D", isSearch: true, options: formatRegions, ...field(input?.name ?? ''), onChange: onChange }));
|
|
29
40
|
});
|
|
30
41
|
const getCurrentProductSettings = (productType) => productType === 'debitCard' ? 'DEBIT_CARD_LEAD_PROCESS_SETTINGS' : 'CREDIT_LEAD_PROCESS_SETTINGS';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionRetailField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/RegionRetailField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"RegionRetailField.js","sourceRoot":"","sources":["../../../../src/retail/components/Fields/RegionRetailField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,23 +11,34 @@ import { SelectField } from './SelectField';
|
|
|
11
11
|
export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
12
12
|
const [cardTypes, setCardTypes] = useState<CardTypeData[]>([]);
|
|
13
13
|
const [programId] = useLocalStorage<string>('programId');
|
|
14
|
-
const { productType } = useRetailFormStore();
|
|
15
|
-
const isSalaryCard = programId === '38';
|
|
14
|
+
const { productType, leadForm } = useRetailFormStore();
|
|
16
15
|
const isDebit = productType === 'debitCard';
|
|
17
16
|
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
18
17
|
const { value: selectedCardCategory, onChange: cardCategoryChange } = field('cardCategory');
|
|
19
18
|
const selectedPaymentSystem = field('paymentSystem')?.value?.key;
|
|
20
|
-
const
|
|
19
|
+
const isOffice = leadForm?.methodObtain === 'office';
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
21
|
+
const noop = () => {};
|
|
22
|
+
|
|
23
|
+
const handleChangeIsMomentDebitCard = useMemo(() => {
|
|
24
|
+
const onChange = field('isMomentDebitCard')?.onChange;
|
|
25
|
+
|
|
26
|
+
return onChange ?? noop;
|
|
27
|
+
}, [field]);
|
|
28
|
+
|
|
29
|
+
const isInstantSelectedCardCategory = field('cardCategory')
|
|
30
|
+
?.value?.text?.toLowerCase()
|
|
31
|
+
?.includes('неимен');
|
|
21
32
|
|
|
22
33
|
const getCardCategoryValue = useCallback(
|
|
23
34
|
(fetchedCardTypes: CardTypeData[]) =>
|
|
24
|
-
fetchedCardTypes.length
|
|
35
|
+
fetchedCardTypes.length !== 0
|
|
25
36
|
? {
|
|
26
37
|
key: fetchedCardTypes[0].key,
|
|
27
38
|
text: fetchedCardTypes[0].value,
|
|
28
39
|
}
|
|
29
40
|
: null,
|
|
30
|
-
[],
|
|
41
|
+
[selectedPaymentSystem],
|
|
31
42
|
);
|
|
32
43
|
|
|
33
44
|
const onChange = useCallback((value: Option) => {
|
|
@@ -40,7 +51,7 @@ export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
40
51
|
(async () => {
|
|
41
52
|
const fetchedCardTypes = await getCardTypes(selectedPaymentSystem as string, programId);
|
|
42
53
|
const actualCardTypes =
|
|
43
|
-
isDebit && !isEsiaAuth
|
|
54
|
+
isDebit && (!isEsiaAuth || isOffice)
|
|
44
55
|
? excludeSomeСategoriesCards(fetchedCardTypes)
|
|
45
56
|
: fetchedCardTypes;
|
|
46
57
|
setCardTypes(actualCardTypes);
|
|
@@ -48,9 +59,12 @@ export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
48
59
|
if (!isValidCardCategory(actualCardTypes, selectedCardCategory as Option)) {
|
|
49
60
|
cardCategoryChange?.(getCardCategoryValue(actualCardTypes));
|
|
50
61
|
}
|
|
62
|
+
if (isDebit) {
|
|
63
|
+
handleChangeIsMomentDebitCard(isInstantSelectedCardCategory ?? false);
|
|
64
|
+
}
|
|
51
65
|
})();
|
|
52
66
|
}
|
|
53
|
-
}, [selectedPaymentSystem, getCardCategoryValue]);
|
|
67
|
+
}, [selectedPaymentSystem, getCardCategoryValue, isInstantSelectedCardCategory]);
|
|
54
68
|
|
|
55
69
|
const description = useMemo(
|
|
56
70
|
() => cardTypes?.find((_) => _.key === selectedCardCategory?.key)?.description,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
|
|
4
4
|
import { type ProductType } from '../../../components/ApplicationLeadForm/ApplicationLeadFormContent';
|
|
5
5
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
@@ -10,11 +10,13 @@ import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
|
10
10
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
11
11
|
|
|
12
12
|
export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
13
|
-
const { productType } = useRetailFormStore();
|
|
13
|
+
const { programId, productType } = useRetailFormStore();
|
|
14
14
|
const { data: regions } = useLeadFormData('REGION_RF');
|
|
15
15
|
const { data: regionsDelivery } = useAsyncData('regionsDelivery', getRegionsCardDelivery);
|
|
16
16
|
const { data: productSettings } = useLeadFormData(getCurrentProductSettings(productType));
|
|
17
|
-
const
|
|
17
|
+
const isDebit = productType === 'debitCard';
|
|
18
|
+
const isSalaryCard = programId === '38';
|
|
19
|
+
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
18
20
|
const formatRegions = regions?.map(({ key, value }) => ({ key, text: value }));
|
|
19
21
|
const isDeliveryActive =
|
|
20
22
|
productSettings?.find((_) => _?.key === 'DELIVERY_ACTIVE')?.value === 'true';
|
|
@@ -24,10 +26,12 @@ export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
24
26
|
|
|
25
27
|
const onChange = useCallback(
|
|
26
28
|
(value: Option) => {
|
|
27
|
-
const regionHasDelivery =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
const regionHasDelivery = isDebit
|
|
30
|
+
? isEsiaAuth &&
|
|
31
|
+
!isSalaryCard &&
|
|
32
|
+
isDeliveryActive &&
|
|
33
|
+
regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg
|
|
34
|
+
: isDeliveryActive && regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg;
|
|
31
35
|
|
|
32
36
|
handleChangeRegionHasDelivery?.(regionHasDelivery);
|
|
33
37
|
handleChangeMethodObtain?.(regionHasDelivery ? 'courier' : 'office');
|
|
@@ -36,6 +40,13 @@ export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
36
40
|
[regionsDelivery, isDeliveryActive, isEsiaAuth],
|
|
37
41
|
);
|
|
38
42
|
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
if (!isEsiaAuth && isDebit) {
|
|
45
|
+
handleChangeRegionHasDelivery?.(false);
|
|
46
|
+
handleChangeMethodObtain?.('office');
|
|
47
|
+
}
|
|
48
|
+
}, []);
|
|
49
|
+
|
|
39
50
|
return (
|
|
40
51
|
<SelectControl
|
|
41
52
|
label="Регион"
|
package/package.json
CHANGED
|
@@ -11,23 +11,34 @@ import { SelectField } from './SelectField';
|
|
|
11
11
|
export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
12
12
|
const [cardTypes, setCardTypes] = useState<CardTypeData[]>([]);
|
|
13
13
|
const [programId] = useLocalStorage<string>('programId');
|
|
14
|
-
const { productType } = useRetailFormStore();
|
|
15
|
-
const isSalaryCard = programId === '38';
|
|
14
|
+
const { productType, leadForm } = useRetailFormStore();
|
|
16
15
|
const isDebit = productType === 'debitCard';
|
|
17
16
|
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
18
17
|
const { value: selectedCardCategory, onChange: cardCategoryChange } = field('cardCategory');
|
|
19
18
|
const selectedPaymentSystem = field('paymentSystem')?.value?.key;
|
|
20
|
-
const
|
|
19
|
+
const isOffice = leadForm?.methodObtain === 'office';
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
21
|
+
const noop = () => {};
|
|
22
|
+
|
|
23
|
+
const handleChangeIsMomentDebitCard = useMemo(() => {
|
|
24
|
+
const onChange = field('isMomentDebitCard')?.onChange;
|
|
25
|
+
|
|
26
|
+
return onChange ?? noop;
|
|
27
|
+
}, [field]);
|
|
28
|
+
|
|
29
|
+
const isInstantSelectedCardCategory = field('cardCategory')
|
|
30
|
+
?.value?.text?.toLowerCase()
|
|
31
|
+
?.includes('неимен');
|
|
21
32
|
|
|
22
33
|
const getCardCategoryValue = useCallback(
|
|
23
34
|
(fetchedCardTypes: CardTypeData[]) =>
|
|
24
|
-
fetchedCardTypes.length
|
|
35
|
+
fetchedCardTypes.length !== 0
|
|
25
36
|
? {
|
|
26
37
|
key: fetchedCardTypes[0].key,
|
|
27
38
|
text: fetchedCardTypes[0].value,
|
|
28
39
|
}
|
|
29
40
|
: null,
|
|
30
|
-
[],
|
|
41
|
+
[selectedPaymentSystem],
|
|
31
42
|
);
|
|
32
43
|
|
|
33
44
|
const onChange = useCallback((value: Option) => {
|
|
@@ -40,7 +51,7 @@ export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
40
51
|
(async () => {
|
|
41
52
|
const fetchedCardTypes = await getCardTypes(selectedPaymentSystem as string, programId);
|
|
42
53
|
const actualCardTypes =
|
|
43
|
-
isDebit && !isEsiaAuth
|
|
54
|
+
isDebit && (!isEsiaAuth || isOffice)
|
|
44
55
|
? excludeSomeСategoriesCards(fetchedCardTypes)
|
|
45
56
|
: fetchedCardTypes;
|
|
46
57
|
setCardTypes(actualCardTypes);
|
|
@@ -48,9 +59,12 @@ export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
48
59
|
if (!isValidCardCategory(actualCardTypes, selectedCardCategory as Option)) {
|
|
49
60
|
cardCategoryChange?.(getCardCategoryValue(actualCardTypes));
|
|
50
61
|
}
|
|
62
|
+
if (isDebit) {
|
|
63
|
+
handleChangeIsMomentDebitCard(isInstantSelectedCardCategory ?? false);
|
|
64
|
+
}
|
|
51
65
|
})();
|
|
52
66
|
}
|
|
53
|
-
}, [selectedPaymentSystem, getCardCategoryValue]);
|
|
67
|
+
}, [selectedPaymentSystem, getCardCategoryValue, isInstantSelectedCardCategory]);
|
|
54
68
|
|
|
55
69
|
const description = useMemo(
|
|
56
70
|
() => cardTypes?.find((_) => _.key === selectedCardCategory?.key)?.description,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
|
|
4
4
|
import { type ProductType } from '../../../components/ApplicationLeadForm/ApplicationLeadFormContent';
|
|
5
5
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
@@ -10,11 +10,13 @@ import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
|
10
10
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
11
11
|
|
|
12
12
|
export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
13
|
-
const { productType } = useRetailFormStore();
|
|
13
|
+
const { programId, productType } = useRetailFormStore();
|
|
14
14
|
const { data: regions } = useLeadFormData('REGION_RF');
|
|
15
15
|
const { data: regionsDelivery } = useAsyncData('regionsDelivery', getRegionsCardDelivery);
|
|
16
16
|
const { data: productSettings } = useLeadFormData(getCurrentProductSettings(productType));
|
|
17
|
-
const
|
|
17
|
+
const isDebit = productType === 'debitCard';
|
|
18
|
+
const isSalaryCard = programId === '38';
|
|
19
|
+
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
18
20
|
const formatRegions = regions?.map(({ key, value }) => ({ key, text: value }));
|
|
19
21
|
const isDeliveryActive =
|
|
20
22
|
productSettings?.find((_) => _?.key === 'DELIVERY_ACTIVE')?.value === 'true';
|
|
@@ -24,10 +26,12 @@ export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
24
26
|
|
|
25
27
|
const onChange = useCallback(
|
|
26
28
|
(value: Option) => {
|
|
27
|
-
const regionHasDelivery =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
const regionHasDelivery = isDebit
|
|
30
|
+
? isEsiaAuth &&
|
|
31
|
+
!isSalaryCard &&
|
|
32
|
+
isDeliveryActive &&
|
|
33
|
+
regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg
|
|
34
|
+
: isDeliveryActive && regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg;
|
|
31
35
|
|
|
32
36
|
handleChangeRegionHasDelivery?.(regionHasDelivery);
|
|
33
37
|
handleChangeMethodObtain?.(regionHasDelivery ? 'courier' : 'office');
|
|
@@ -36,6 +40,13 @@ export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
36
40
|
[regionsDelivery, isDeliveryActive, isEsiaAuth],
|
|
37
41
|
);
|
|
38
42
|
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
if (!isEsiaAuth && isDebit) {
|
|
45
|
+
handleChangeRegionHasDelivery?.(false);
|
|
46
|
+
handleChangeMethodObtain?.('office');
|
|
47
|
+
}
|
|
48
|
+
}, []);
|
|
49
|
+
|
|
39
50
|
return (
|
|
40
51
|
<SelectControl
|
|
41
52
|
label="Регион"
|