@redneckz/wildless-cms-uni-blocks 0.14.217 → 0.14.219
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 +61 -11
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +7 -0
- package/bundle/components/OfficesAtmsMap/renderFiltrationForm.d.ts +3 -1
- package/bundle/hooks/useLocation.d.ts +1 -0
- package/bundle/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +18 -1
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +7 -0
- package/dist/components/OfficesAtmsMap/OfficesMap.js +14 -2
- package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/dist/components/OfficesAtmsMap/renderFiltrationForm.d.ts +3 -1
- package/dist/components/OfficesAtmsMap/renderFiltrationForm.js +24 -2
- package/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/dist/components/SafeDepositRental/utils.js +3 -1
- package/dist/components/SafeDepositRental/utils.js.map +1 -1
- package/dist/hooks/useLocation.d.ts +1 -0
- package/dist/hooks/useLocation.js.map +1 -1
- package/dist/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
- package/dist/ui-kit/LocationDialog/LocationDialog.js +4 -2
- package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +19 -2
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +7 -0
- package/lib/components/OfficesAtmsMap/OfficesMap.js +14 -2
- package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/lib/components/OfficesAtmsMap/renderFiltrationForm.d.ts +3 -1
- package/lib/components/OfficesAtmsMap/renderFiltrationForm.js +22 -1
- package/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/lib/components/SafeDepositRental/utils.js +3 -1
- package/lib/components/SafeDepositRental/utils.js.map +1 -1
- package/lib/hooks/useLocation.d.ts +1 -0
- package/lib/hooks/useLocation.js.map +1 -1
- package/lib/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
- package/lib/ui-kit/LocationDialog/LocationDialog.js +4 -2
- package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +65 -15
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +7 -0
- package/mobile/bundle/components/OfficesAtmsMap/renderFiltrationForm.d.ts +3 -1
- package/mobile/bundle/hooks/useLocation.d.ts +1 -0
- package/mobile/bundle/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +18 -1
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +7 -0
- package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +14 -2
- package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.d.ts +3 -1
- package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js +24 -2
- package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/mobile/dist/components/SafeDepositRental/utils.js +3 -1
- package/mobile/dist/components/SafeDepositRental/utils.js.map +1 -1
- package/mobile/dist/hooks/useLocation.d.ts +1 -0
- package/mobile/dist/hooks/useLocation.js.map +1 -1
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +4 -2
- package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +19 -2
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +7 -0
- package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +14 -2
- package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.d.ts +3 -1
- package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js +22 -1
- package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/mobile/lib/components/SafeDepositRental/utils.js +3 -1
- package/mobile/lib/components/SafeDepositRental/utils.js.map +1 -1
- package/mobile/lib/hooks/useLocation.d.ts +1 -0
- package/mobile/lib/hooks/useLocation.js.map +1 -1
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.d.ts +1 -0
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +4 -2
- package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
- package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +56 -2
- package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +7 -0
- package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +15 -2
- package/mobile/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +73 -17
- package/mobile/src/components/SafeDepositRental/utils.ts +4 -1
- package/mobile/src/hooks/useLocation.ts +1 -0
- package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +63 -52
- package/package.json +1 -1
- package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +56 -2
- package/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +7 -0
- package/src/components/OfficesAtmsMap/OfficesMap.tsx +15 -2
- package/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +73 -17
- package/src/components/SafeDepositRental/utils.ts +4 -1
- package/src/hooks/useLocation.ts +1 -0
- package/src/ui-kit/LocationDialog/LocationDialog.tsx +63 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfficesAtmsMapLayout.js","sourceRoot":"","sources":["../../../src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"OfficesAtmsMapLayout.js","sourceRoot":"","sources":["../../../src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,13 @@ export declare type WorkSchedule = {
|
|
|
42
42
|
isMatchesPattern?: boolean;
|
|
43
43
|
businessScheduleVisibleTag?: boolean;
|
|
44
44
|
businessScheduleDescription?: string;
|
|
45
|
+
premiumService?: boolean;
|
|
46
|
+
privateBanking?: boolean;
|
|
47
|
+
sellingCoins?: boolean;
|
|
48
|
+
buyingCoins?: boolean;
|
|
49
|
+
bullionOperations?: boolean;
|
|
50
|
+
preciousMetalsOperations?: boolean;
|
|
51
|
+
transferringDataToBiometricSystem?: boolean;
|
|
45
52
|
};
|
|
46
53
|
export declare type SafeBoxCaseTariff = {
|
|
47
54
|
id?: number;
|
|
@@ -5,12 +5,24 @@ import { OfficesAtmsMapLayout } from './OfficesAtmsMapLayout.js';
|
|
|
5
5
|
import { getOfficePoint, renderOfficeCard } from './renderOfficeCard.js';
|
|
6
6
|
import { useOffices } from './useOffices.js';
|
|
7
7
|
const INITIAL_FILTRATION_STATE = {
|
|
8
|
-
//safeBoxCaseVolumes: false, //TODO: temp hide
|
|
9
8
|
workingSaturday: false,
|
|
9
|
+
premiumService: false,
|
|
10
|
+
privateBanking: false,
|
|
11
|
+
sellingCoins: false,
|
|
12
|
+
buyingCoins: false,
|
|
13
|
+
bullionOperations: false,
|
|
14
|
+
preciousMetalsOperations: false,
|
|
15
|
+
transferringDataToBiometricSystem: false,
|
|
10
16
|
};
|
|
11
17
|
const FILTRATION_PREDICATES = {
|
|
12
|
-
//safeBoxCaseVolumes: (item: Branch) => Boolean(item.safeBoxCaseVolumes), //TODO: temp hide
|
|
13
18
|
workingSaturday: (item) => Boolean(item.workSchedule?.workingSaturday),
|
|
19
|
+
premiumService: (item) => Boolean(item.workSchedule?.premiumService),
|
|
20
|
+
privateBanking: (item) => Boolean(item.workSchedule?.privateBanking),
|
|
21
|
+
sellingCoins: (item) => Boolean(item.workSchedule?.sellingCoins),
|
|
22
|
+
buyingCoins: (item) => Boolean(item.workSchedule?.buyingCoins),
|
|
23
|
+
bullionOperations: (item) => Boolean(item.workSchedule?.bullionOperations),
|
|
24
|
+
preciousMetalsOperations: (item) => Boolean(item.workSchedule?.preciousMetalsOperations),
|
|
25
|
+
transferringDataToBiometricSystem: (item) => Boolean(item.workSchedule?.transferringDataToBiometricSystem),
|
|
14
26
|
};
|
|
15
27
|
export const OfficesMap = JSX(({ className }) => {
|
|
16
28
|
const [currentLocation] = useLocation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfficesMap.js","sourceRoot":"","sources":["../../../src/components/OfficesAtmsMap/OfficesMap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,wBAAwB,GAAG;IAC/B,
|
|
1
|
+
{"version":3,"file":"OfficesMap.js","sourceRoot":"","sources":["../../../src/components/OfficesAtmsMap/OfficesMap.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,wBAAwB,GAAG;IAC/B,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,KAAK;IAClB,iBAAiB,EAAE,KAAK;IACxB,wBAAwB,EAAE,KAAK;IAC/B,iCAAiC,EAAE,KAAK;CACzC,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC;IAC9E,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;IAC5E,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;IAC5E,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;IACxE,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;IACtE,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAClF,wBAAwB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC;IAChG,iCAAiC,EAAE,CAAC,IAAY,EAAE,EAAE,CAClD,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,iCAAiC,CAAC;CAChE,CAAC;AAMF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAkB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAC/D,MAAM,CAAC,eAAe,CAAC,GAAG,WAAW,EAAE,CAAC;IAExC,MAAM,UAAU,GAAG,eAAe,EAAE,IAAI,IAAI,KAAK,CAAC;IAElD,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAE3C,OAAO,CACL,KAAC,oBAAoB,IACnB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,WAAW,EACjB,eAAe,EAAE,wBAAwB,EACzC,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,iBAAiB,eAAe,EAAE,IAAI,EAAE,GAC/C,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,IAAc,EAAE,eAAwC,EAAE,EAAE;IAC/E,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type FormFieldRegisterer } from '../../hooks/useForm';
|
|
3
|
+
import { type FoldablePartProps } from '../../ui-kit/Foldable/FoldablePartProps';
|
|
3
4
|
export declare const renderFiltrationForm: (filters: string[], { field, reset }: {
|
|
4
5
|
field: FormFieldRegisterer<any>;
|
|
5
6
|
reset: () => void;
|
|
6
|
-
}) => JSX.Element;
|
|
7
|
+
}, visibleFiltersNum?: number) => JSX.Element;
|
|
8
|
+
export declare const renderFoldButton: (reset: () => void) => ({ isUnfolded, onToggle }: FoldablePartProps) => JSX.Element;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { Checkbox } from '../../ui-kit/Checkbox/Checkbox.js';
|
|
3
|
+
import { Foldable } from '../../ui-kit/Foldable/Foldable.js';
|
|
4
|
+
import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection.js';
|
|
3
5
|
import { Icon } from '../../ui-kit/Icon/Icon.js';
|
|
4
6
|
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton.js';
|
|
5
7
|
const FILTRATION_LABELS = {
|
|
@@ -9,6 +11,25 @@ const FILTRATION_LABELS = {
|
|
|
9
11
|
terminalTypeTerm: 'Терминалы',
|
|
10
12
|
workAllTime: 'Круглосуточно',
|
|
11
13
|
billAcceptorEnable: 'Прием наличных',
|
|
14
|
+
premiumService: 'Премиальное обслуживание',
|
|
15
|
+
privateBanking: 'Услуга Private banking',
|
|
16
|
+
sellingCoins: 'Продажа монет из драгоценных металлов',
|
|
17
|
+
buyingCoins: 'Покупка монет из драгоценных металлов',
|
|
18
|
+
bullionOperations: 'Операции со слитками',
|
|
19
|
+
preciousMetalsOperations: 'Операции с драгоценными металлами',
|
|
20
|
+
transferringDataToBiometricSystem: 'Передача фото и голоса в Единую биометрическую систему',
|
|
21
|
+
};
|
|
22
|
+
const COMMON_FILTERS_STYLES = 'flex flex-col sm:flex-row sm:flex-wrap gap-3xl pb-2xl';
|
|
23
|
+
export const renderFiltrationForm = (filters, { field, reset }, visibleFiltersNum = 3) => {
|
|
24
|
+
const filtersCheckbox = (filters || []).map((key) => (_jsx(Checkbox, { text: FILTRATION_LABELS[key], ...field(key) }, key)));
|
|
25
|
+
const [visibleFilters, hiddenFilters] = visibleFiltersNum > 0
|
|
26
|
+
? [filtersCheckbox.slice(0, visibleFiltersNum), filtersCheckbox.slice(visibleFiltersNum)]
|
|
27
|
+
: [filtersCheckbox, []];
|
|
28
|
+
return (_jsx("div", { children: filters?.length ? (_jsx("div", { children: hiddenFilters.length > 0 ? (_jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (_jsxs("div", { children: [_jsx("div", { className: COMMON_FILTERS_STYLES, children: visibleFilters }), _jsx(FoldableSection, { className: COMMON_FILTERS_STYLES, isUnfolded: isUnfolded, children: hiddenFilters })] })), renderFoldButton: renderFoldButton(reset) })) : (_jsx("div", { className: COMMON_FILTERS_STYLES, children: visibleFilters })) })) : null }));
|
|
29
|
+
};
|
|
30
|
+
export const renderFoldButton = (reset) => ({ isUnfolded, onToggle }) => {
|
|
31
|
+
const labels = ['Больше фильтров', 'Меньше фильтров'];
|
|
32
|
+
const icons = ['ArrowDownIcon', 'ArrowUpIcon'];
|
|
33
|
+
return (_jsxs("div", { className: "flex", children: [_jsx(LinkButton, { version: "transparent", className: "text-secondary-text [&>*]:p-0 mr-lg", appendRight: _jsx(Icon, { name: icons[Number(isUnfolded)], width: "16", height: "16" }), text: labels[Number(isUnfolded)], onClick: onToggle }), _jsx(LinkButton, { version: "transparent", className: "text-secondary-text [&>*]:p-0", onClick: reset, text: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440", appendRight: _jsx(Icon, { name: "CloseIcon", width: "16", height: "16" }) })] }));
|
|
12
34
|
};
|
|
13
|
-
export const renderFiltrationForm = (filters, { field, reset }) => (_jsxs("div", { className: "pb-2xl", children: [filters?.length ? (_jsx("div", { className: "flex flex-col sm:flex-row sm:flex-wrap gap-3xl pb-2xl", children: filters.map((key) => (_jsx(Checkbox, { text: FILTRATION_LABELS[key], ...field(key) }, key))) })) : null, _jsx(LinkButton, { version: "transparent", className: "text-secondary-text [&>*]:p-0", onClick: reset, text: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440", appendRight: _jsx(Icon, { name: "CloseIcon", width: "16", height: "16" }) })] }));
|
|
14
35
|
//# sourceMappingURL=renderFiltrationForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderFiltrationForm.js","sourceRoot":"","sources":["../../../src/components/OfficesAtmsMap/renderFiltrationForm.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"renderFiltrationForm.js","sourceRoot":"","sources":["../../../src/components/OfficesAtmsMap/renderFiltrationForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export const getCoordinates = (data) => {
|
|
2
|
+
const getBalloon = () => void 0;
|
|
2
3
|
if (Array.isArray(data)) {
|
|
3
4
|
return data
|
|
4
5
|
.map((_) => ({
|
|
5
|
-
coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)]
|
|
6
|
+
coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)].filter(Boolean),
|
|
7
|
+
content: getBalloon(),
|
|
6
8
|
}))
|
|
7
9
|
.filter((_) => _.coords && _.coords.length === 2);
|
|
8
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/SafeDepositRental/utils.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAmB,EAAE;IAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/SafeDepositRental/utils.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAmB,EAAE;IAC1E,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACvE,OAAO,EAAE,UAAU,EAAE;SACtB,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;KACrD;IAED,IAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,YAAY,EAAE;QAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KAC5D;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAkB,EAAE,cAAsB,EAAE,EAAE,CACtE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocation.js","sourceRoot":"","sources":["../../src/hooks/useLocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAE/E,MAAM,UAAU,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"useLocation.js","sourceRoot":"","sources":["../../src/hooks/useLocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAE/E,MAAM,UAAU,GAAG,gBAAgB,CAAC;AASpC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC,MAAM,UAAU,WAAW,CAAC,eAAe,GAAG,QAAQ;IACpD,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAAG,cAAc,CAC3D,eAAe,EACf,UAAU,EACV,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAC/C,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,CAAa,EAAE,EAAE;QAC1D,aAAa,CAAC,CAAC,CAAC,CAAC;QACjB,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAC3B,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EACvC,eAAkD,CACnD,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAChC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CAAC,eAAe,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEhG,MAAM,eAAe,GAAG,GAAsB,EAAE;IAC9C,IAAI;QACF,MAAM,IAAI,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEpE,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACjC;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,CAAa,EAAE,EAAE;IACtC,IAAI;QACF,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3E;IAAC,OAAO,EAAE,EAAE;QACX,aAAa;KACd;AACH,CAAC,CAAC"}
|
|
@@ -2,5 +2,6 @@ import { type ForeignOfficeProps } from '../../data/SitemapData';
|
|
|
2
2
|
export interface LocationDialogProps {
|
|
3
3
|
foreignOffices?: ForeignOfficeProps[];
|
|
4
4
|
defaultLocation?: string;
|
|
5
|
+
officesLink?: string;
|
|
5
6
|
}
|
|
6
7
|
export declare const LocationDialog: import("@redneckz/uni-jsx").UNIComponent<LocationDialogProps, any, any>;
|
|
@@ -3,6 +3,7 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
3
3
|
import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
4
4
|
import { useLocation } from '../../hooks/useLocation.js';
|
|
5
5
|
import { useRegions } from '../../hooks/useRegions.js';
|
|
6
|
+
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton.js';
|
|
6
7
|
import { groupBy } from '../../utils/groupBy.js';
|
|
7
8
|
import { jaroWinklerDistance } from '../../utils/jaroWinklerDistance.js';
|
|
8
9
|
import { Dialog } from '../DialogManager/Dialog.js';
|
|
@@ -13,7 +14,7 @@ import { renderRegion } from './renderRegion.js';
|
|
|
13
14
|
import { renderRegionGroup } from './renderRegionGroup.js';
|
|
14
15
|
import { SearchBar } from './SearchBar.js';
|
|
15
16
|
const SEARCH_TERM_MIN_LENGTH = 3;
|
|
16
|
-
export const LocationDialog = JSX(({ foreignOffices, defaultLocation }) => {
|
|
17
|
+
export const LocationDialog = JSX(({ foreignOffices, defaultLocation, officesLink }) => {
|
|
17
18
|
const [currentLocation, selectCurrentLocation] = useLocation(defaultLocation);
|
|
18
19
|
const [query, setQuery] = useState('');
|
|
19
20
|
const regions = cleanUpRegions(useRegions()).sort((a, b) => a.name.localeCompare(b.name));
|
|
@@ -23,7 +24,8 @@ export const LocationDialog = JSX(({ foreignOffices, defaultLocation }) => {
|
|
|
23
24
|
selectCurrentLocation(region);
|
|
24
25
|
close();
|
|
25
26
|
}, []);
|
|
26
|
-
|
|
27
|
+
const currentOfficeHref = `${officesLink}/${currentLocation.slug}`;
|
|
28
|
+
return (_jsxs(Dialog, { className: "pb-20", head: _jsxs("div", { children: [_jsx(Text, { size: "text-h4", color: "text-primary-text", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0438\u043B\u0438\u0430\u043B" }), currentLocation ? (_jsxs("div", { className: "mb-s", children: [_jsx(Text, { size: "text-l", font: "font-light", children: "\u0421\u0435\u0439\u0447\u0430\u0441 \u0432\u044B\u0431\u0440\u0430\u043D:\u00A0" }), _jsx(LinkButton, { href: currentOfficeHref, onClick: () => selectCurrentLocation(currentLocation), children: _jsx(Text, { color: "text-primary-main", children: currentLocation.name }) })] })) : null, _jsx(SearchBar, { onSearch: setQuery, searchTerm: query })] }), children: [query && query.length >= SEARCH_TERM_MIN_LENGTH ? (_jsx("div", { children: regions
|
|
27
29
|
.filter(({ name }) => name && jaroWinklerDistance(name.toLowerCase())(query.toLowerCase()) >= 0.8)
|
|
28
30
|
.map(renderRegion(handleChangeLocation)) })) : (_jsx("div", { className: "columns-1 sm:columns-5", children: Array.from(regionsGroupByLetter.entries()).map(renderRegionGroup(handleChangeLocation)) })), renderForeignOffices(foreignOffices)] }));
|
|
29
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/LocationDialog/LocationDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAe,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,sBAAsB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"LocationDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/LocationDialog/LocationDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { useForm } from '../../hooks/useForm';
|
|
4
4
|
import { type VNode } from '../../model/VNode';
|
|
5
|
+
import { Button } from '../../ui-kit/Button/Button';
|
|
5
6
|
import { ClientOnly } from '../../ui-kit/ClientOnly';
|
|
6
7
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
7
8
|
import { Img } from '../../ui-kit/Img/Img';
|
|
@@ -30,6 +31,9 @@ export interface OfficesAtmsMapLayoutProps<T> {
|
|
|
30
31
|
title?: string;
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
const filtersVisibleStyles = (activeButton: string) =>
|
|
35
|
+
activeButton === 'all' ? 'block' : 'hidden';
|
|
36
|
+
|
|
33
37
|
export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm>>(
|
|
34
38
|
({
|
|
35
39
|
className,
|
|
@@ -56,6 +60,8 @@ export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm>>
|
|
|
56
60
|
return [_filteredItems, _points, _filteredItems.length];
|
|
57
61
|
}, [data, filtrationState]);
|
|
58
62
|
|
|
63
|
+
const [activeButton, setActiveButton] = useState('all');
|
|
64
|
+
|
|
59
65
|
return (
|
|
60
66
|
<div className={style('space-y-1', className)}>
|
|
61
67
|
<div className="bg-white">
|
|
@@ -67,7 +73,10 @@ export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm>>
|
|
|
67
73
|
) : null}
|
|
68
74
|
</div>
|
|
69
75
|
{descriptionData ? renderDescriptionBlock(descriptionData) : null}
|
|
70
|
-
{
|
|
76
|
+
{renderButtonsGroup(data, activeButton, setActiveButton)}
|
|
77
|
+
<div className={style('pb-2xl', filtersVisibleStyles(activeButton))}>
|
|
78
|
+
{renderFiltrationForm(Object.keys(initFilterState), { field, reset })}
|
|
79
|
+
</div>
|
|
71
80
|
</div>
|
|
72
81
|
<div className="h-[600px]">
|
|
73
82
|
<ClientOnly>
|
|
@@ -81,6 +90,51 @@ export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm>>
|
|
|
81
90
|
},
|
|
82
91
|
);
|
|
83
92
|
|
|
93
|
+
const renderButtonsGroup = (
|
|
94
|
+
data: Branch[],
|
|
95
|
+
activeButton: string,
|
|
96
|
+
setActiveButton: (item: string) => void,
|
|
97
|
+
) => {
|
|
98
|
+
const allButtonVersion = activeButton === 'all' ? 'primary' : 'secondary';
|
|
99
|
+
|
|
100
|
+
const businessButtonVersion = activeButton === 'business' ? 'primary' : 'secondary';
|
|
101
|
+
|
|
102
|
+
const handleOnClick = (e: any, key: string, branches: Branch[]) => {
|
|
103
|
+
if (e.currentTarget === e.target && key === 'business') {
|
|
104
|
+
branches.filter(
|
|
105
|
+
(branch) =>
|
|
106
|
+
branch.workSchedule &&
|
|
107
|
+
branch.workSchedule.businessScheduleVisibleTag &&
|
|
108
|
+
!branch.workSchedule.businessScheduleDescription,
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
setActiveButton(key);
|
|
113
|
+
|
|
114
|
+
return branches;
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
return (
|
|
118
|
+
<div className="flex pb-lg">
|
|
119
|
+
<Button
|
|
120
|
+
className="mr-m"
|
|
121
|
+
data-id="all"
|
|
122
|
+
onClick={(e) => handleOnClick(e, 'all', data)}
|
|
123
|
+
version={allButtonVersion}
|
|
124
|
+
>
|
|
125
|
+
Для физических лиц
|
|
126
|
+
</Button>
|
|
127
|
+
<Button
|
|
128
|
+
data-id="business"
|
|
129
|
+
onClick={(e) => handleOnClick(e, 'business', data)}
|
|
130
|
+
version={businessButtonVersion}
|
|
131
|
+
>
|
|
132
|
+
Для юридических лиц
|
|
133
|
+
</Button>
|
|
134
|
+
</div>
|
|
135
|
+
);
|
|
136
|
+
};
|
|
137
|
+
|
|
84
138
|
const renderDescriptionBlock = ({ __html, list }: AtmsDef) =>
|
|
85
139
|
__html || list?.length ? (
|
|
86
140
|
<div className="mb-2xl border-b sm:border border-main-divider sm:rounded-md">
|
|
@@ -47,6 +47,13 @@ export type WorkSchedule = {
|
|
|
47
47
|
isMatchesPattern?: boolean;
|
|
48
48
|
businessScheduleVisibleTag?: boolean;
|
|
49
49
|
businessScheduleDescription?: string;
|
|
50
|
+
premiumService?: boolean;
|
|
51
|
+
privateBanking?: boolean;
|
|
52
|
+
sellingCoins?: boolean;
|
|
53
|
+
buyingCoins?: boolean;
|
|
54
|
+
bullionOperations?: boolean;
|
|
55
|
+
preciousMetalsOperations?: boolean;
|
|
56
|
+
transferringDataToBiometricSystem?: boolean;
|
|
50
57
|
};
|
|
51
58
|
|
|
52
59
|
export type SafeBoxCaseTariff = {
|
|
@@ -6,13 +6,26 @@ import { getOfficePoint, renderOfficeCard } from './renderOfficeCard';
|
|
|
6
6
|
import { useOffices } from './useOffices';
|
|
7
7
|
|
|
8
8
|
const INITIAL_FILTRATION_STATE = {
|
|
9
|
-
//safeBoxCaseVolumes: false, //TODO: temp hide
|
|
10
9
|
workingSaturday: false,
|
|
10
|
+
premiumService: false,
|
|
11
|
+
privateBanking: false,
|
|
12
|
+
sellingCoins: false,
|
|
13
|
+
buyingCoins: false,
|
|
14
|
+
bullionOperations: false,
|
|
15
|
+
preciousMetalsOperations: false,
|
|
16
|
+
transferringDataToBiometricSystem: false,
|
|
11
17
|
};
|
|
12
18
|
|
|
13
19
|
const FILTRATION_PREDICATES = {
|
|
14
|
-
//safeBoxCaseVolumes: (item: Branch) => Boolean(item.safeBoxCaseVolumes), //TODO: temp hide
|
|
15
20
|
workingSaturday: (item: Branch) => Boolean(item.workSchedule?.workingSaturday),
|
|
21
|
+
premiumService: (item: Branch) => Boolean(item.workSchedule?.premiumService),
|
|
22
|
+
privateBanking: (item: Branch) => Boolean(item.workSchedule?.privateBanking),
|
|
23
|
+
sellingCoins: (item: Branch) => Boolean(item.workSchedule?.sellingCoins),
|
|
24
|
+
buyingCoins: (item: Branch) => Boolean(item.workSchedule?.buyingCoins),
|
|
25
|
+
bullionOperations: (item: Branch) => Boolean(item.workSchedule?.bullionOperations),
|
|
26
|
+
preciousMetalsOperations: (item: Branch) => Boolean(item.workSchedule?.preciousMetalsOperations),
|
|
27
|
+
transferringDataToBiometricSystem: (item: Branch) =>
|
|
28
|
+
Boolean(item.workSchedule?.transferringDataToBiometricSystem),
|
|
16
29
|
};
|
|
17
30
|
|
|
18
31
|
export interface OfficesMapProps {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { type FormFieldRegisterer } from '../../hooks/useForm';
|
|
2
2
|
import { Checkbox } from '../../ui-kit/Checkbox/Checkbox';
|
|
3
|
+
import { Foldable } from '../../ui-kit/Foldable/Foldable';
|
|
4
|
+
import { type FoldablePartProps } from '../../ui-kit/Foldable/FoldablePartProps';
|
|
5
|
+
import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
|
|
3
6
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
7
|
+
import { type IconName } from '../../ui-kit/Icon/IconProps';
|
|
4
8
|
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton';
|
|
5
9
|
|
|
6
10
|
const FILTRATION_LABELS = {
|
|
@@ -10,26 +14,78 @@ const FILTRATION_LABELS = {
|
|
|
10
14
|
terminalTypeTerm: 'Терминалы',
|
|
11
15
|
workAllTime: 'Круглосуточно',
|
|
12
16
|
billAcceptorEnable: 'Прием наличных',
|
|
17
|
+
premiumService: 'Премиальное обслуживание',
|
|
18
|
+
privateBanking: 'Услуга Private banking',
|
|
19
|
+
sellingCoins: 'Продажа монет из драгоценных металлов',
|
|
20
|
+
buyingCoins: 'Покупка монет из драгоценных металлов',
|
|
21
|
+
bullionOperations: 'Операции со слитками',
|
|
22
|
+
preciousMetalsOperations: 'Операции с драгоценными металлами',
|
|
23
|
+
transferringDataToBiometricSystem: 'Передача фото и голоса в Единую биометрическую систему',
|
|
13
24
|
};
|
|
14
25
|
|
|
26
|
+
const COMMON_FILTERS_STYLES = 'flex flex-col sm:flex-row sm:flex-wrap gap-3xl pb-2xl';
|
|
27
|
+
|
|
15
28
|
export const renderFiltrationForm = (
|
|
16
29
|
filters: string[],
|
|
17
30
|
{ field, reset }: { field: FormFieldRegisterer<any>; reset: () => void },
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
visibleFiltersNum = 3,
|
|
32
|
+
) => {
|
|
33
|
+
const filtersCheckbox = (filters || []).map((key) => (
|
|
34
|
+
<Checkbox key={key} text={FILTRATION_LABELS[key]} {...field(key)} />
|
|
35
|
+
));
|
|
36
|
+
|
|
37
|
+
const [visibleFilters, hiddenFilters] =
|
|
38
|
+
visibleFiltersNum > 0
|
|
39
|
+
? [filtersCheckbox.slice(0, visibleFiltersNum), filtersCheckbox.slice(visibleFiltersNum)]
|
|
40
|
+
: [filtersCheckbox, []];
|
|
41
|
+
|
|
42
|
+
return (
|
|
43
|
+
<div>
|
|
44
|
+
{filters?.length ? (
|
|
45
|
+
<div>
|
|
46
|
+
{hiddenFilters.length > 0 ? (
|
|
47
|
+
<Foldable
|
|
48
|
+
renderFoldableSection={({ isUnfolded }) => (
|
|
49
|
+
<div>
|
|
50
|
+
<div className={COMMON_FILTERS_STYLES}>{visibleFilters}</div>
|
|
51
|
+
<FoldableSection className={COMMON_FILTERS_STYLES} isUnfolded={isUnfolded}>
|
|
52
|
+
{hiddenFilters}
|
|
53
|
+
</FoldableSection>
|
|
54
|
+
</div>
|
|
55
|
+
)}
|
|
56
|
+
renderFoldButton={renderFoldButton(reset)}
|
|
57
|
+
/>
|
|
58
|
+
) : (
|
|
59
|
+
<div className={COMMON_FILTERS_STYLES}>{visibleFilters}</div>
|
|
60
|
+
)}
|
|
61
|
+
</div>
|
|
62
|
+
) : null}
|
|
63
|
+
</div>
|
|
64
|
+
);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export const renderFoldButton =
|
|
68
|
+
(reset: () => void) =>
|
|
69
|
+
({ isUnfolded, onToggle }: FoldablePartProps) => {
|
|
70
|
+
const labels = ['Больше фильтров', 'Меньше фильтров'];
|
|
71
|
+
const icons: IconName[] = ['ArrowDownIcon', 'ArrowUpIcon'];
|
|
72
|
+
|
|
73
|
+
return (
|
|
74
|
+
<div className="flex">
|
|
75
|
+
<LinkButton
|
|
76
|
+
version="transparent"
|
|
77
|
+
className="text-secondary-text [&>*]:p-0 mr-lg"
|
|
78
|
+
appendRight={<Icon name={icons[Number(isUnfolded)]} width="16" height="16" />}
|
|
79
|
+
text={labels[Number(isUnfolded)]}
|
|
80
|
+
onClick={onToggle}
|
|
81
|
+
/>
|
|
82
|
+
<LinkButton
|
|
83
|
+
version="transparent"
|
|
84
|
+
className="text-secondary-text [&>*]:p-0"
|
|
85
|
+
onClick={reset}
|
|
86
|
+
text="Очистить фильтр"
|
|
87
|
+
appendRight={<Icon name="CloseIcon" width="16" height="16" />}
|
|
88
|
+
/>
|
|
25
89
|
</div>
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
version="transparent"
|
|
29
|
-
className="text-secondary-text [&>*]:p-0"
|
|
30
|
-
onClick={reset}
|
|
31
|
-
text="Очистить фильтр"
|
|
32
|
-
appendRight={<Icon name="CloseIcon" width="16" height="16" />}
|
|
33
|
-
/>
|
|
34
|
-
</div>
|
|
35
|
-
);
|
|
90
|
+
);
|
|
91
|
+
};
|
|
@@ -2,10 +2,13 @@ import { type BalloonPoints } from '../OfficesAtmsMap/YandexMapProps';
|
|
|
2
2
|
import { type Branch } from './useSafeBoxes';
|
|
3
3
|
|
|
4
4
|
export const getCoordinates = (data?: Branch | Branch[]): BalloonPoints[] => {
|
|
5
|
+
const getBalloon = () => void 0;
|
|
6
|
+
|
|
5
7
|
if (Array.isArray(data)) {
|
|
6
8
|
return data
|
|
7
9
|
.map((_) => ({
|
|
8
|
-
coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)]
|
|
10
|
+
coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)].filter(Boolean),
|
|
11
|
+
content: getBalloon(),
|
|
9
12
|
}))
|
|
10
13
|
.filter((_) => _.coords && _.coords.length === 2);
|
|
11
14
|
}
|