@redneckz/wildless-cms-uni-blocks 0.14.573 → 0.14.574
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 +73 -61
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
- package/bundle/components/OfficesAtmsMap/filters.d.ts +44 -0
- package/bundle/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
- package/bundle/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
- package/bundle/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +21 -25
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/dist/components/OfficesAtmsMap/OfficesMap.js +1 -29
- package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/dist/components/OfficesAtmsMap/filters.d.ts +44 -0
- package/dist/components/OfficesAtmsMap/filters.js +46 -0
- package/dist/components/OfficesAtmsMap/filters.js.map +1 -0
- package/dist/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
- package/dist/components/OfficesAtmsMap/renderButtonsGroup.js +21 -0
- package/dist/components/OfficesAtmsMap/renderButtonsGroup.js.map +1 -0
- package/dist/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
- package/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -21
- package/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/dist/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
- package/dist/components/OfficesAtmsMap/renderHeading.js +8 -0
- package/dist/components/OfficesAtmsMap/renderHeading.js.map +1 -0
- package/dist/ui-kit/YandexMap/renderClusterer.js +4 -1
- package/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +16 -22
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/lib/components/OfficesAtmsMap/OfficesMap.js +1 -29
- package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/lib/components/OfficesAtmsMap/filters.d.ts +44 -0
- package/lib/components/OfficesAtmsMap/filters.js +44 -0
- package/lib/components/OfficesAtmsMap/filters.js.map +1 -0
- package/lib/components/OfficesAtmsMap/renderButtonsGroup.d.ts +2 -0
- package/lib/components/OfficesAtmsMap/renderButtonsGroup.js +18 -0
- package/lib/components/OfficesAtmsMap/renderButtonsGroup.js.map +1 -0
- package/lib/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
- package/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -21
- package/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/lib/components/OfficesAtmsMap/renderHeading.d.ts +1 -0
- package/lib/components/OfficesAtmsMap/renderHeading.js +5 -0
- package/lib/components/OfficesAtmsMap/renderHeading.js.map +1 -0
- package/lib/ui-kit/YandexMap/renderClusterer.js +4 -1
- package/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +73 -61
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
- package/mobile/bundle/components/OfficesAtmsMap/filters.d.ts +44 -0
- package/mobile/bundle/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
- package/mobile/bundle/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
- package/mobile/bundle/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +21 -25
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +1 -29
- package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/filters.d.ts +44 -0
- package/mobile/dist/components/OfficesAtmsMap/filters.js +46 -0
- package/mobile/dist/components/OfficesAtmsMap/filters.js.map +1 -0
- package/mobile/dist/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
- package/mobile/dist/components/OfficesAtmsMap/renderButtonsGroup.js +21 -0
- package/mobile/dist/components/OfficesAtmsMap/renderButtonsGroup.js.map +1 -0
- package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
- package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -21
- package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/mobile/dist/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
- package/mobile/dist/components/OfficesAtmsMap/renderHeading.js +8 -0
- package/mobile/dist/components/OfficesAtmsMap/renderHeading.js.map +1 -0
- package/mobile/dist/ui-kit/YandexMap/renderClusterer.js +4 -1
- package/mobile/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +2 -0
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +16 -22
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +1 -29
- package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/filters.d.ts +44 -0
- package/mobile/lib/components/OfficesAtmsMap/filters.js +44 -0
- package/mobile/lib/components/OfficesAtmsMap/filters.js.map +1 -0
- package/mobile/lib/components/OfficesAtmsMap/renderButtonsGroup.d.ts +3 -0
- package/mobile/lib/components/OfficesAtmsMap/renderButtonsGroup.js +18 -0
- package/mobile/lib/components/OfficesAtmsMap/renderButtonsGroup.js.map +1 -0
- package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.d.ts +10 -4
- package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -21
- package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
- package/mobile/lib/components/OfficesAtmsMap/renderHeading.d.ts +2 -0
- package/mobile/lib/components/OfficesAtmsMap/renderHeading.js +5 -0
- package/mobile/lib/components/OfficesAtmsMap/renderHeading.js.map +1 -0
- package/mobile/lib/ui-kit/YandexMap/renderClusterer.js +4 -1
- package/mobile/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
- package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +22 -58
- package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +0 -47
- package/mobile/src/components/OfficesAtmsMap/filters.ts +56 -0
- package/mobile/src/components/OfficesAtmsMap/renderButtonsGroup.tsx +43 -0
- package/mobile/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +14 -26
- package/mobile/src/components/OfficesAtmsMap/renderHeading.tsx +15 -0
- package/mobile/src/ui-kit/YandexMap/renderClusterer.ts +6 -2
- package/package.json +1 -1
- package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +22 -58
- package/src/components/OfficesAtmsMap/OfficesMap.tsx +0 -47
- package/src/components/OfficesAtmsMap/filters.ts +56 -0
- package/src/components/OfficesAtmsMap/renderButtonsGroup.tsx +43 -0
- package/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +14 -26
- package/src/components/OfficesAtmsMap/renderHeading.tsx +15 -0
- package/src/ui-kit/YandexMap/renderClusterer.ts +6 -2
package/bundle/bundle.umd.js
CHANGED
|
@@ -5324,10 +5324,13 @@
|
|
|
5324
5324
|
const MapMarkerClusterIcon = '/icons/MapMarkerClusterIcon.svg';
|
|
5325
5325
|
const MapMarkerClusterYellowIcon = '/icons/MapMarkerClusterYellowIcon.svg';
|
|
5326
5326
|
function renderClusterer({ yandexMaps, map, points, isLoad, }) {
|
|
5327
|
-
if (isLoad || !points
|
|
5327
|
+
if (isLoad || !points) {
|
|
5328
5328
|
return;
|
|
5329
5329
|
}
|
|
5330
5330
|
map.geoObjects.removeAll();
|
|
5331
|
+
if (!points.length) {
|
|
5332
|
+
return;
|
|
5333
|
+
}
|
|
5331
5334
|
const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
|
|
5332
5335
|
const officeClusterer = defineClusterer('offices', yandexMaps, clusterIconContentLayout);
|
|
5333
5336
|
if (points.length && points.every((_) => 'type' in _)) {
|
|
@@ -5474,8 +5477,18 @@
|
|
|
5474
5477
|
const mapByIndex = (points, index) => points.map((_) => _.coords?.[index]);
|
|
5475
5478
|
const getArraySumAndAverage = (arr) => arr.length && arr.reduce((a, b) => a + b) / arr.length;
|
|
5476
5479
|
|
|
5477
|
-
const
|
|
5478
|
-
|
|
5480
|
+
const INITIAL_FILTRATION_STATE$1 = {
|
|
5481
|
+
workingSaturday: false,
|
|
5482
|
+
premiumService: false,
|
|
5483
|
+
privateBanking: false,
|
|
5484
|
+
remoteWorkplace: false,
|
|
5485
|
+
serviceDisabledPeople: false,
|
|
5486
|
+
sellingCoins: false,
|
|
5487
|
+
buyingCoins: false,
|
|
5488
|
+
bullionOperations: false,
|
|
5489
|
+
preciousMetalsOperations: false,
|
|
5490
|
+
transferringDataToBiometricSystem: false,
|
|
5491
|
+
};
|
|
5479
5492
|
const FILTRATION_LABELS = {
|
|
5480
5493
|
safeBoxCaseVolumes: 'Аренда индивидуальных сейфовых ячеек',
|
|
5481
5494
|
workingSaturday: 'Открыты по субботам',
|
|
@@ -5495,10 +5508,40 @@
|
|
|
5495
5508
|
remoteWorkplace: 'Удаленное рабочее место',
|
|
5496
5509
|
serviceDisabledPeople: 'Для маломобильных граждан',
|
|
5497
5510
|
};
|
|
5511
|
+
const FILTRATION_PREDICATES$1 = {
|
|
5512
|
+
workingSaturday: (item) => Boolean('workSchedule' in item && item.workSchedule?.workingSaturday),
|
|
5513
|
+
premiumService: (item) => Boolean('premiumService' in item && item.premiumService),
|
|
5514
|
+
privateBanking: (item) => Boolean('privateBanking' in item && item.privateBanking),
|
|
5515
|
+
remoteWorkplace: (item) => Boolean('workScheduleDescription' in item),
|
|
5516
|
+
serviceDisabledPeople: (item) => Boolean('serviceDisabledPeople' in item && item.serviceDisabledPeople),
|
|
5517
|
+
sellingCoins: (item) => Boolean('sellingCoins' in item && item.sellingCoins),
|
|
5518
|
+
buyingCoins: (item) => Boolean('buyingCoins' in item && item.buyingCoins),
|
|
5519
|
+
bullionOperations: (item) => Boolean('bullionOperations' in item && item.bullionOperations),
|
|
5520
|
+
preciousMetalsOperations: (item) => Boolean('preciousMetalsOperations' in item && item.preciousMetalsOperations),
|
|
5521
|
+
transferringDataToBiometricSystem: (item) => Boolean('transferringDataToBiometricSystem' in item && item.transferringDataToBiometricSystem),
|
|
5522
|
+
};
|
|
5523
|
+
|
|
5524
|
+
const renderButtonsGroup = (data, activeButton, onButtonClick) => {
|
|
5525
|
+
const allButtonVersion = getVersion(activeButton === 'all');
|
|
5526
|
+
const businessButtonVersion = getVersion(activeButton === 'business');
|
|
5527
|
+
const handleClick = (e, key, branches) => {
|
|
5528
|
+
if (e.currentTarget === e.target && key === 'business') {
|
|
5529
|
+
branches.filter((branch) => branch.workSchedule &&
|
|
5530
|
+
branch.workSchedule.businessScheduleVisibleTag &&
|
|
5531
|
+
!branch.workSchedule.businessScheduleDescription);
|
|
5532
|
+
}
|
|
5533
|
+
onButtonClick(key);
|
|
5534
|
+
return branches;
|
|
5535
|
+
};
|
|
5536
|
+
return (jsxs("div", { className: "flex gap-lg flex-col sm:flex-row pb-lg", children: [jsx(Button, { "data-id": "all", onClick: (e) => handleClick(e, 'all', data), version: allButtonVersion, children: "\u0414\u043B\u044F \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446" }), jsx(Button, { "data-id": "business", onClick: (e) => handleClick(e, 'business', data), version: businessButtonVersion, children: "\u0414\u043B\u044F \u044E\u0440\u0438\u0434\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043B\u0438\u0446" })] }));
|
|
5537
|
+
};
|
|
5538
|
+
|
|
5539
|
+
const renderDescriptionBlock$1 = ({ __html, list, richVersion }) => __html || list?.length ? (jsxs("div", { className: "mb-2xl border-b sm:border border-main-divider sm:rounded-md", children: [__html ? (jsx("div", { className: "mb-2xl", children: jsx(RichText, { __html: __html, richVersion: richVersion }) })) : null, list?.length ? (jsx("div", { className: "flex flex-col sm:flex-row gap-2xl sm:flex-wrap pb-2xl sm:pb-xl", children: list.map((item, i) => (jsxs("div", { className: "flex gap-xs items-center", children: [item?.image ? jsx(Img, { image: item.image }) : null, item?.text ? (jsx(Text, { size: "text-m", font: "font-light", children: item.text })) : null] }, String(i)))) })) : null] })) : null;
|
|
5540
|
+
|
|
5498
5541
|
const COMMON_FILTERS_STYLES = 'flex flex-col sm:flex-row sm:flex-wrap gap-3xl pb-2xl';
|
|
5499
|
-
const renderFiltrationForm = (filters, { field, reset }, onlyOffice) => {
|
|
5542
|
+
const renderFiltrationForm = ({ filters, field: { field, reset }, onlyOffice, labels, }) => {
|
|
5500
5543
|
const visibleFiltersNum = onlyOffice ? 5 : 6;
|
|
5501
|
-
const filtersCheckbox = (filters || []).map((key) => (jsx(Checkbox, { text:
|
|
5544
|
+
const filtersCheckbox = (filters || []).map((key) => (jsx(Checkbox, { text: labels[key], ...field(key) }, key)));
|
|
5502
5545
|
const [visibleFilters, hiddenFilters] = visibleFiltersNum > 0
|
|
5503
5546
|
? [filtersCheckbox.slice(0, visibleFiltersNum), filtersCheckbox.slice(visibleFiltersNum)]
|
|
5504
5547
|
: [filtersCheckbox, []];
|
|
@@ -5511,15 +5554,16 @@
|
|
|
5511
5554
|
};
|
|
5512
5555
|
const renderBtnInner = () => (jsxs("div", { className: "flex items-center", children: ["\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440", jsx(Icon, { name: "CloseIcon", width: "16", height: "16", className: "ml-2xs" })] }));
|
|
5513
5556
|
|
|
5557
|
+
const renderHeading = (title, lengthItems) => (jsx("div", { className: "flex flex-col sm:flex-row gap-xs mb-2xl", children: jsxs(Heading, { headingType: "h3", children: [jsx("span", { suppressHydrationWarning: true, children: title }), lengthItems ? (jsx(Text, { size: "text-h2", color: "text-secondary-text", children: jsx("span", { suppressHydrationWarning: true, children: ` (${lengthItems})` }) })) : null] }) }));
|
|
5558
|
+
|
|
5514
5559
|
const defaultEmptyFunction = () => void 0;
|
|
5515
|
-
const defaultFilterItems = () => [];
|
|
5516
5560
|
const filtersVisibleStyles = (activeButton) => activeButton === 'all' ? 'block' : 'hidden';
|
|
5517
|
-
const OfficesAtmsMapLayout = JSX(({ className, data = [], isLoad, remoteWorkplaces = [], renderCard = defaultEmptyFunction, renderRemoteWorkplaceCard = defaultEmptyFunction,
|
|
5561
|
+
const OfficesAtmsMapLayout = JSX(({ className, data = [], isLoad, remoteWorkplaces = [], renderCard = defaultEmptyFunction, renderRemoteWorkplaceCard = defaultEmptyFunction, getBalloon = defaultEmptyFunction, getBalloonRemoteWorkplaces = defaultEmptyFunction, descriptionData, title, }) => {
|
|
5518
5562
|
const onlyOffice = title?.includes('Офис');
|
|
5519
|
-
const [filtrationState, { field, reset }] = useForm(
|
|
5563
|
+
const [filtrationState, { field, reset }] = useForm(INITIAL_FILTRATION_STATE$1);
|
|
5520
5564
|
const [filteredItems, points, filteredRemoteWorkplaces, lengthItems] = useMemo(() => {
|
|
5521
|
-
const _filteredItems = filterItems(data, filtrationState);
|
|
5522
|
-
const _filteredRemoteWorkplaces = filterItems(remoteWorkplaces, filtrationState);
|
|
5565
|
+
const _filteredItems = filterItems$1(data, filtrationState);
|
|
5566
|
+
const _filteredRemoteWorkplaces = filterItems$1(remoteWorkplaces, filtrationState);
|
|
5523
5567
|
const _points = [
|
|
5524
5568
|
..._filteredItems.map((_) => ({
|
|
5525
5569
|
type: 'offices',
|
|
@@ -5539,23 +5583,19 @@
|
|
|
5539
5583
|
return [_filteredItems, _points, _filteredRemoteWorkplaces, itemsLength];
|
|
5540
5584
|
}, [data, remoteWorkplaces, filtrationState]);
|
|
5541
5585
|
const [activeButton, setActiveButton] = useState('all');
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
|
|
5546
|
-
|
|
5547
|
-
const businessButtonVersion = getVersion(activeButton === 'business');
|
|
5548
|
-
const handleClick = (e, key, branches) => {
|
|
5549
|
-
if (e.currentTarget === e.target && key === 'business') {
|
|
5550
|
-
branches.filter((branch) => branch.workSchedule &&
|
|
5551
|
-
branch.workSchedule.businessScheduleVisibleTag &&
|
|
5552
|
-
!branch.workSchedule.businessScheduleDescription);
|
|
5553
|
-
}
|
|
5554
|
-
onButtonClick(key);
|
|
5555
|
-
return branches;
|
|
5586
|
+
const filterOptions = {
|
|
5587
|
+
filters: getFiltersWithNonEmptyData([...data, ...remoteWorkplaces]),
|
|
5588
|
+
field: { field, reset },
|
|
5589
|
+
onlyOffice,
|
|
5590
|
+
labels: FILTRATION_LABELS,
|
|
5556
5591
|
};
|
|
5557
|
-
return (jsxs("div", { className:
|
|
5592
|
+
return (jsxs("div", { className: style('space-y-1', className), children: [jsxs("div", { className: "bg-white", children: [jsxs("div", { className: "p-3xl pb-0", children: [renderHeading(title, lengthItems), descriptionData ? renderDescriptionBlock$1(descriptionData) : null, onlyOffice && renderButtonsGroup(data, activeButton, setActiveButton), jsx("div", { className: style('pb-3xl', filtersVisibleStyles(activeButton)), children: renderFiltrationForm(filterOptions) })] }), jsx("div", { className: "h-[600px]", children: jsx(ClientOnly, { children: jsx(YandexMap, { points: points, isLoad: isLoad, className: "h-full" }) }) })] }), jsxs(ClientOnly, { children: [filteredItems.map(renderCard), filteredRemoteWorkplaces.map(renderRemoteWorkplaceCard)] })] }));
|
|
5593
|
+
});
|
|
5594
|
+
const filterItems$1 = (data, filtrationState) => {
|
|
5595
|
+
const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
|
|
5596
|
+
return data.filter((item) => truthyFilters.every((_) => FILTRATION_PREDICATES$1[_](item)));
|
|
5558
5597
|
};
|
|
5598
|
+
const getFiltersWithNonEmptyData = (data) => Object.keys(INITIAL_FILTRATION_STATE$1).filter((_) => data.filter((item) => FILTRATION_PREDICATES$1[_](item)).length);
|
|
5559
5599
|
|
|
5560
5600
|
const colorStyle = {
|
|
5561
5601
|
yellow: { border: 'border-yellow-light', text: 'text-yellow' },
|
|
@@ -5624,7 +5664,7 @@
|
|
|
5624
5664
|
return Array.isArray(result) ? result : EMPTY_VALUE$2;
|
|
5625
5665
|
};
|
|
5626
5666
|
|
|
5627
|
-
const INITIAL_FILTRATION_STATE
|
|
5667
|
+
const INITIAL_FILTRATION_STATE = {
|
|
5628
5668
|
terminalTypeAtms: true,
|
|
5629
5669
|
terminalTypeTerm: false,
|
|
5630
5670
|
workAllTime: false,
|
|
@@ -5632,7 +5672,7 @@
|
|
|
5632
5672
|
locationDisabledPeople: false,
|
|
5633
5673
|
designDisabledPeople: false,
|
|
5634
5674
|
};
|
|
5635
|
-
const FILTRATION_PREDICATES
|
|
5675
|
+
const FILTRATION_PREDICATES = {
|
|
5636
5676
|
terminalTypeAtms: (item) => item.terminalType?.toLowerCase() === 'банкомат',
|
|
5637
5677
|
terminalTypeTerm: (item) => item.terminalType?.toLowerCase() === 'терминал',
|
|
5638
5678
|
workAllTime: (item) => item.workTime?.toLowerCase() === 'круглосуточно',
|
|
@@ -5644,16 +5684,16 @@
|
|
|
5644
5684
|
const [currentLocation] = useLocation();
|
|
5645
5685
|
const regionCode = currentLocation?.code ?? '000';
|
|
5646
5686
|
const { data: officesData, isLoad } = useAtms(regionCode);
|
|
5647
|
-
return (jsx(OfficesAtmsMapLayout, { className: className, filterItems: filterItems
|
|
5687
|
+
return (jsx(OfficesAtmsMapLayout, { className: className, filterItems: filterItems, data: officesData, isLoad: isLoad, initFilterState: INITIAL_FILTRATION_STATE, renderCard: renderAtmCard, getBalloon: getAtmPoint, title: `Банкоматы филиала ${currentLocation?.name}`, descriptionData: descriptionData }));
|
|
5648
5688
|
});
|
|
5649
|
-
const filterItems
|
|
5689
|
+
const filterItems = (data, filtrationState) => {
|
|
5650
5690
|
const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
|
|
5651
5691
|
const filtersOR = truthyFilters.filter((_) => _.startsWith('terminalType'));
|
|
5652
5692
|
const filtersAND = truthyFilters.filter((_) => !filtersOR.includes(_));
|
|
5653
5693
|
return data.filter((item) => {
|
|
5654
|
-
const resultAND = filtersAND.every((_) => FILTRATION_PREDICATES
|
|
5694
|
+
const resultAND = filtersAND.every((_) => FILTRATION_PREDICATES[_](item));
|
|
5655
5695
|
const resultOR = filtersOR.length
|
|
5656
|
-
? filtersOR.some((_) => FILTRATION_PREDICATES
|
|
5696
|
+
? filtersOR.some((_) => FILTRATION_PREDICATES[_](item))
|
|
5657
5697
|
: true;
|
|
5658
5698
|
return resultAND && resultOR;
|
|
5659
5699
|
});
|
|
@@ -5859,40 +5899,12 @@
|
|
|
5859
5899
|
return result || EMPTY_VALUE$1;
|
|
5860
5900
|
};
|
|
5861
5901
|
|
|
5862
|
-
const INITIAL_FILTRATION_STATE = {
|
|
5863
|
-
workingSaturday: false,
|
|
5864
|
-
premiumService: false,
|
|
5865
|
-
privateBanking: false,
|
|
5866
|
-
remoteWorkplace: false,
|
|
5867
|
-
serviceDisabledPeople: false,
|
|
5868
|
-
sellingCoins: false,
|
|
5869
|
-
buyingCoins: false,
|
|
5870
|
-
bullionOperations: false,
|
|
5871
|
-
preciousMetalsOperations: false,
|
|
5872
|
-
transferringDataToBiometricSystem: false,
|
|
5873
|
-
};
|
|
5874
|
-
const FILTRATION_PREDICATES = {
|
|
5875
|
-
workingSaturday: (item) => Boolean('workSchedule' in item && item.workSchedule?.workingSaturday),
|
|
5876
|
-
premiumService: (item) => Boolean('premiumService' in item && item.premiumService),
|
|
5877
|
-
privateBanking: (item) => Boolean('privateBanking' in item && item.privateBanking),
|
|
5878
|
-
remoteWorkplace: (item) => Boolean('workScheduleDescription' in item),
|
|
5879
|
-
serviceDisabledPeople: (item) => Boolean('serviceDisabledPeople' in item && item.serviceDisabledPeople),
|
|
5880
|
-
sellingCoins: (item) => Boolean('sellingCoins' in item && item.sellingCoins),
|
|
5881
|
-
buyingCoins: (item) => Boolean('buyingCoins' in item && item.buyingCoins),
|
|
5882
|
-
bullionOperations: (item) => Boolean('bullionOperations' in item && item.bullionOperations),
|
|
5883
|
-
preciousMetalsOperations: (item) => Boolean('preciousMetalsOperations' in item && item.preciousMetalsOperations),
|
|
5884
|
-
transferringDataToBiometricSystem: (item) => Boolean('transferringDataToBiometricSystem' in item && item.transferringDataToBiometricSystem),
|
|
5885
|
-
};
|
|
5886
5902
|
const OfficesMap = JSX(({ className }) => {
|
|
5887
5903
|
const [currentLocation] = useLocation();
|
|
5888
5904
|
const regionCode = currentLocation?.code ?? '000';
|
|
5889
5905
|
const { data, isLoad } = useOffices(regionCode);
|
|
5890
|
-
return (jsx(OfficesAtmsMapLayout, { className: className,
|
|
5906
|
+
return (jsx(OfficesAtmsMapLayout, { className: className, data: data?.branches, isLoad: isLoad, remoteWorkplaces: data?.remoteWorkplaces, renderCard: renderOfficeCard, renderRemoteWorkplaceCard: renderRemoteWorkplaceCard, getBalloon: getOfficePoint, getBalloonRemoteWorkplaces: getRemoteWorkplacePoint, title: `Офисы филиала ${currentLocation?.name}` }));
|
|
5891
5907
|
});
|
|
5892
|
-
const filterItems = (data, filtrationState) => {
|
|
5893
|
-
const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
|
|
5894
|
-
return data.filter((item) => truthyFilters.every((_) => FILTRATION_PREDICATES[_](item)));
|
|
5895
|
-
};
|
|
5896
5908
|
|
|
5897
5909
|
const OfficesAtmsMap = JSX(({ data, className, ...rest }) => {
|
|
5898
5910
|
const dataType = data?.dataType ?? 'offices';
|
|
@@ -6682,7 +6694,7 @@
|
|
|
6682
6694
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
6683
6695
|
});
|
|
6684
6696
|
|
|
6685
|
-
const packageVersion = "0.14.
|
|
6697
|
+
const packageVersion = "0.14.573";
|
|
6686
6698
|
|
|
6687
6699
|
exports.Blocks = Blocks;
|
|
6688
6700
|
exports.ContentPage = ContentPage;
|