@redneckz/wildless-cms-uni-blocks 0.14.333 → 0.14.334

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.
Files changed (158) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +108 -50
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  5. package/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  6. package/bundle/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  7. package/bundle/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  8. package/bundle/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  9. package/bundle/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  10. package/bundle/icons/IconName.d.ts +4 -2
  11. package/bundle/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  12. package/bundle/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  13. package/cosmos-static/icons/MapMarkerClusterYellowIcon.svg +1 -0
  14. package/cosmos-static/icons/sprites.svg +1 -0
  15. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  16. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
  17. package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  18. package/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  19. package/dist/components/OfficesAtmsMap/OfficesMap.js +12 -9
  20. package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  21. package/dist/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  22. package/dist/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  23. package/dist/components/OfficesAtmsMap/renderDescriptionBlock.js +9 -0
  24. package/dist/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
  25. package/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
  26. package/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  27. package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  28. package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +35 -0
  29. package/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
  30. package/dist/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  31. package/dist/components/OfficesAtmsMap/useOffices.js +4 -2
  32. package/dist/components/OfficesAtmsMap/useOffices.js.map +1 -1
  33. package/dist/icons/IconName.d.ts +4 -2
  34. package/dist/icons/IconName.js +3 -1
  35. package/dist/icons/IconName.js.map +1 -1
  36. package/dist/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  37. package/dist/ui-kit/YandexMap/YandexMap.js +2 -2
  38. package/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  39. package/dist/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  40. package/dist/ui-kit/YandexMap/renderClusterer.js +33 -14
  41. package/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  42. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  43. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
  44. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  45. package/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  46. package/lib/components/OfficesAtmsMap/OfficesMap.js +12 -9
  47. package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  48. package/lib/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  49. package/lib/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +2 -0
  50. package/lib/components/OfficesAtmsMap/renderDescriptionBlock.js +6 -0
  51. package/lib/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
  52. package/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
  53. package/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  54. package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +6 -0
  55. package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +31 -0
  56. package/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
  57. package/lib/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  58. package/lib/components/OfficesAtmsMap/useOffices.js +4 -2
  59. package/lib/components/OfficesAtmsMap/useOffices.js.map +1 -1
  60. package/lib/icons/IconName.d.ts +4 -2
  61. package/lib/icons/IconName.js +3 -1
  62. package/lib/icons/IconName.js.map +1 -1
  63. package/lib/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  64. package/lib/ui-kit/YandexMap/YandexMap.js +2 -2
  65. package/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  66. package/lib/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  67. package/lib/ui-kit/YandexMap/renderClusterer.js +32 -13
  68. package/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  69. package/mobile/bundle/bundle.umd.js +108 -50
  70. package/mobile/bundle/bundle.umd.min.js +1 -1
  71. package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  72. package/mobile/bundle/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  73. package/mobile/bundle/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  74. package/mobile/bundle/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  75. package/mobile/bundle/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  76. package/mobile/bundle/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  77. package/mobile/bundle/icons/IconName.d.ts +4 -2
  78. package/mobile/bundle/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  79. package/mobile/bundle/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  80. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  81. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
  82. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  83. package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  84. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +12 -9
  85. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  86. package/mobile/dist/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  87. package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  88. package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.js +9 -0
  89. package/mobile/dist/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
  90. package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
  91. package/mobile/dist/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  92. package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  93. package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +35 -0
  94. package/mobile/dist/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
  95. package/mobile/dist/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  96. package/mobile/dist/components/OfficesAtmsMap/useOffices.js +4 -2
  97. package/mobile/dist/components/OfficesAtmsMap/useOffices.js.map +1 -1
  98. package/mobile/dist/icons/IconName.d.ts +4 -2
  99. package/mobile/dist/icons/IconName.js +3 -1
  100. package/mobile/dist/icons/IconName.js.map +1 -1
  101. package/mobile/dist/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  102. package/mobile/dist/ui-kit/YandexMap/YandexMap.js +2 -2
  103. package/mobile/dist/ui-kit/YandexMap/YandexMap.js.map +1 -1
  104. package/mobile/dist/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  105. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js +33 -14
  106. package/mobile/dist/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  107. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +5 -2
  108. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +27 -18
  109. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
  110. package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapProps.d.ts +15 -0
  111. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +12 -9
  112. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  113. package/mobile/lib/components/OfficesAtmsMap/YandexMapProps.d.ts +1 -0
  114. package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.d.ts +3 -0
  115. package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.js +6 -0
  116. package/mobile/lib/components/OfficesAtmsMap/renderDescriptionBlock.js.map +1 -0
  117. package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js +2 -1
  118. package/mobile/lib/components/OfficesAtmsMap/renderFiltrationForm.js.map +1 -1
  119. package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.d.ts +7 -0
  120. package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js +31 -0
  121. package/mobile/lib/components/OfficesAtmsMap/renderRemoteWorkplaceCard.js.map +1 -0
  122. package/mobile/lib/components/OfficesAtmsMap/useOffices.d.ts +5 -2
  123. package/mobile/lib/components/OfficesAtmsMap/useOffices.js +4 -2
  124. package/mobile/lib/components/OfficesAtmsMap/useOffices.js.map +1 -1
  125. package/mobile/lib/icons/IconName.d.ts +4 -2
  126. package/mobile/lib/icons/IconName.js +3 -1
  127. package/mobile/lib/icons/IconName.js.map +1 -1
  128. package/mobile/lib/ui-kit/YandexMap/YandexMap.d.ts +1 -1
  129. package/mobile/lib/ui-kit/YandexMap/YandexMap.js +2 -2
  130. package/mobile/lib/ui-kit/YandexMap/YandexMap.js.map +1 -1
  131. package/mobile/lib/ui-kit/YandexMap/renderClusterer.d.ts +5 -1
  132. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js +32 -13
  133. package/mobile/lib/ui-kit/YandexMap/renderClusterer.js.map +1 -1
  134. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +34 -45
  135. package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +15 -0
  136. package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +28 -12
  137. package/mobile/src/components/OfficesAtmsMap/YandexMapProps.ts +1 -0
  138. package/mobile/src/components/OfficesAtmsMap/renderDescriptionBlock.tsx +29 -0
  139. package/mobile/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +2 -1
  140. package/mobile/src/components/OfficesAtmsMap/renderRemoteWorkplaceCard.tsx +86 -0
  141. package/mobile/src/components/OfficesAtmsMap/useOffices.ts +11 -4
  142. package/mobile/src/icons/IconName.ts +5 -5
  143. package/mobile/src/icons/MapMarkerClusterYellowIcon.svg +1 -0
  144. package/mobile/src/ui-kit/YandexMap/YandexMap.tsx +3 -3
  145. package/mobile/src/ui-kit/YandexMap/renderClusterer.ts +62 -16
  146. package/package.json +1 -1
  147. package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +34 -45
  148. package/src/components/OfficesAtmsMap/OfficesAtmsMapProps.tsx +15 -0
  149. package/src/components/OfficesAtmsMap/OfficesMap.tsx +28 -12
  150. package/src/components/OfficesAtmsMap/YandexMapProps.ts +1 -0
  151. package/src/components/OfficesAtmsMap/renderDescriptionBlock.tsx +29 -0
  152. package/src/components/OfficesAtmsMap/renderFiltrationForm.tsx +2 -1
  153. package/src/components/OfficesAtmsMap/renderRemoteWorkplaceCard.tsx +86 -0
  154. package/src/components/OfficesAtmsMap/useOffices.ts +11 -4
  155. package/src/icons/IconName.ts +5 -1
  156. package/src/icons/MapMarkerClusterYellowIcon.svg +1 -0
  157. package/src/ui-kit/YandexMap/YandexMap.tsx +3 -3
  158. package/src/ui-kit/YandexMap/renderClusterer.ts +62 -16
@@ -1 +1 @@
1
- {"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type BalloonPoints } from '../../components/OfficesAtmsMap/YandexMapProps';
2
2
  interface YandexMapProps {
3
- points?: BalloonPoints[];
3
+ points: BalloonPoints[];
4
4
  className?: string;
5
5
  zoom?: number;
6
6
  }
@@ -29,11 +29,11 @@ export const YandexMap = JSX(({ points, className = '', zoom = 5 }) => {
29
29
  controls: [],
30
30
  suppressMapOpenBlock: true,
31
31
  });
32
- renderClusterer(yandexMaps, map.current, points);
32
+ renderClusterer({ yandexMaps, map: map.current, points });
33
33
  });
34
34
  }
35
35
  else if (yandexMaps) {
36
- renderClusterer(yandexMaps, map.current, points);
36
+ renderClusterer({ yandexMaps, map: map.current, points });
37
37
  if (!points?.length) {
38
38
  map.current.setCenter(DEFAULT_CENTER_COORDS);
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"YandexMap.js","sourceRoot":"","sources":["../../../src/ui-kit/YandexMap/YandexMap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YandexMap.js","sourceRoot":"","sources":["../../../src/ui-kit/YandexMap/YandexMap.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import type ymaps from 'yandex-maps';
2
2
  import { type BalloonPoints } from '../../components/OfficesAtmsMap/YandexMapProps';
3
- export declare function renderClusterer(yandexMaps: typeof ymaps, map: ymaps.Map, points: BalloonPoints[]): void;
3
+ export declare function renderClusterer({ yandexMaps, map, points, }: {
4
+ yandexMaps: typeof ymaps;
5
+ map: ymaps.Map;
6
+ points: BalloonPoints[];
7
+ }): void;
@@ -1,10 +1,34 @@
1
- export function renderClusterer(yandexMaps, map, points) {
1
+ const MapMarkerClusterIcon = '/icons/MapMarkerClusterIcon.svg';
2
+ const MapMarkerClusterYellowIcon = '/icons/MapMarkerClusterYellowIcon.svg';
3
+ export function renderClusterer({ yandexMaps, map, points, }) {
2
4
  map.geoObjects.removeAll();
3
5
  const clusterIconContentLayout = yandexMaps.templateLayoutFactory.createClass('<div style="margin-top: -3px;">{{properties.geoObjects.length}}</div>');
4
- const clusterer = new yandexMaps.Clusterer({
6
+ const officeClusterer = defineClusterer('offices', yandexMaps, clusterIconContentLayout);
7
+ if (points.length && points.every((_) => 'type' in _)) {
8
+ const remoteWorkplaceClusterer = defineClusterer('workplaces', yandexMaps, clusterIconContentLayout);
9
+ const remoteWorkplaceGeoObjects = defineGeoObjects(points.filter((_) => _.type === 'workplaces'), 'workplaces', yandexMaps);
10
+ const officesGeoObjects = defineGeoObjects(points.filter((_) => _.type === 'offices'), 'offices', yandexMaps);
11
+ officeClusterer.add(officesGeoObjects);
12
+ remoteWorkplaceClusterer.add(remoteWorkplaceGeoObjects);
13
+ map.geoObjects.add(remoteWorkplaceClusterer);
14
+ map.geoObjects.add(officeClusterer);
15
+ }
16
+ else {
17
+ const geoObjects = defineGeoObjects(points, 'offices', yandexMaps);
18
+ officeClusterer.add(geoObjects);
19
+ map.geoObjects.add(officeClusterer);
20
+ }
21
+ map.setBounds(yandexMaps.util.bounds.fromPoints(points.map((_) => _.coords))).then(() => {
22
+ if (map.getZoom() > 10) {
23
+ map.setZoom(10);
24
+ }
25
+ });
26
+ }
27
+ const defineClusterer = (type, yandexMaps, clusterIconContentLayout) => {
28
+ return new yandexMaps.Clusterer({
5
29
  clusterIcons: [
6
30
  {
7
- href: '/icons/MapMarkerClusterIcon.svg',
31
+ href: type === 'offices' ? MapMarkerClusterIcon : MapMarkerClusterYellowIcon,
8
32
  size: [78, 84],
9
33
  offset: [-35, -50],
10
34
  },
@@ -13,23 +37,18 @@ export function renderClusterer(yandexMaps, map, points) {
13
37
  clusterHideIconOnBalloonOpen: false,
14
38
  geoObjectHideIconOnBalloonOpen: false,
15
39
  });
16
- const geoObjects = points.map(({ coords, content }) => new yandexMaps.Placemark(coords, {
40
+ };
41
+ const defineGeoObjects = (pointArr, type, yandexMaps) => {
42
+ return pointArr.map(({ coords, content }) => new yandexMaps.Placemark(coords, {
17
43
  balloonContentHeader: content?.header,
18
44
  balloonContentBody: content?.body,
19
45
  balloonContentFooter: content?.footer,
20
46
  hintContent: content?.hint,
21
47
  }, {
22
48
  iconLayout: 'default#image',
23
- iconImageHref: '/icons/MapMarkerSingleIcon.svg',
49
+ iconImageHref: type === 'offices' ? MapMarkerClusterIcon : MapMarkerClusterYellowIcon,
24
50
  iconImageSize: [78, 84],
25
51
  iconImageOffset: [-35, -50],
26
52
  }));
27
- clusterer.add(geoObjects);
28
- map.geoObjects.add(clusterer);
29
- map.setBounds(yandexMaps.util.bounds.fromPoints(points.map((_) => _.coords))).then(() => {
30
- if (map.getZoom() > 10) {
31
- map.setZoom(10);
32
- }
33
- });
34
- }
53
+ };
35
54
  //# sourceMappingURL=renderClusterer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderClusterer.js","sourceRoot":"","sources":["../../../src/ui-kit/YandexMap/renderClusterer.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,eAAe,CAAC,UAAwB,EAAE,GAAc,EAAE,MAAuB;IAC/F,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IAE3B,MAAM,wBAAwB,GAAG,UAAU,CAAC,qBAAqB,CAAC,WAAW,CAC3E,uEAAuE,CACxE,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC;QACzC,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,iCAAiC;gBACvC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACd,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;aACnB;SACF;QACD,wBAAwB;QACxB,4BAA4B,EAAE,KAAK;QACnC,8BAA8B,EAAE,KAAK;KACX,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAC3B,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CACtB,IAAI,UAAU,CAAC,SAAS,CACtB,MAAM,EACN;QACE,oBAAoB,EAAE,OAAO,EAAE,MAAM;QACrC,kBAAkB,EAAE,OAAO,EAAE,IAAI;QACjC,oBAAoB,EAAE,OAAO,EAAE,MAAM;QACrC,WAAW,EAAE,OAAO,EAAE,IAAI;KAC3B,EACD;QACE,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,gCAAgC;QAC/C,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACvB,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;KAC5B,CACF,CACJ,CAAC;IAEF,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAgB,CAAC,CAAC;IAErC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACtF,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YACtB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"renderClusterer.js","sourceRoot":"","sources":["../../../src/ui-kit/YandexMap/renderClusterer.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,12 @@ import { type VNode } from '../../model/VNode';
5
5
  import { Button } from '../../ui-kit/Button/Button';
6
6
  import { ClientOnly } from '../../ui-kit/ClientOnly';
7
7
  import { Heading } from '../../ui-kit/Heading/Heading';
8
- import { Img } from '../../ui-kit/Img/Img';
9
- import { RichText } from '../../ui-kit/RichText/RichText';
10
8
  import { Text } from '../../ui-kit/Text/Text';
11
9
  import { YandexMap } from '../../ui-kit/YandexMap/YandexMap';
12
10
  import { style } from '../../utils/style';
13
11
  import { type AtmsDef } from './OfficesAtmsMapContent';
14
- import { type Atm, type Branch } from './OfficesAtmsMapProps';
12
+ import { type Atm, type Branch, type RemoteWorkplace } from './OfficesAtmsMapProps';
13
+ import { renderDescriptionBlock } from './renderDescriptionBlock';
15
14
  import { renderFiltrationForm } from './renderFiltrationForm';
16
15
  import { type BalloonContent } from './YandexMapProps';
17
16
 
@@ -23,9 +22,12 @@ export type InitFilterState = Record<string, boolean>;
23
22
  export interface OfficesAtmsMapLayoutProps<T> {
24
23
  className?: string;
25
24
  data?: T[];
25
+ remoteWorkplaces?: T[];
26
26
  renderCard?: (item: T, index: number) => VNode;
27
+ renderRemoteWorkplaceCard?: (item: T, index: number) => VNode;
27
28
  filterItems?: (data: T[], filtrationState: InitFilterState) => T[];
28
29
  getBalloon?: (item: T) => BalloonContent;
30
+ getBalloonRemoteWorkplaces?: (item: T) => BalloonContent;
29
31
  initFilterState?: InitFilterState;
30
32
  descriptionData?: AtmsDef;
31
33
  title?: string;
@@ -34,13 +36,16 @@ export interface OfficesAtmsMapLayoutProps<T> {
34
36
  const filtersVisibleStyles = (activeButton: string) =>
35
37
  activeButton === 'all' ? 'block' : 'hidden';
36
38
 
37
- export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm>>(
39
+ export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm | RemoteWorkplace>>(
38
40
  ({
39
41
  className,
40
42
  data = [],
43
+ remoteWorkplaces = [],
41
44
  renderCard = defaultEmptyFunction,
45
+ renderRemoteWorkplaceCard = defaultEmptyFunction,
42
46
  filterItems = defaultFilterItems,
43
47
  getBalloon = defaultEmptyFunction,
48
+ getBalloonRemoteWorkplaces = defaultEmptyFunction,
44
49
  initFilterState = {},
45
50
  descriptionData,
46
51
  title,
@@ -49,18 +54,30 @@ export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm>>
49
54
 
50
55
  const [filtrationState, { field, reset }] = useForm(initFilterState);
51
56
 
52
- const [filteredItems, points, lengthItems] = useMemo(() => {
57
+ const [filteredItems, points, filteredRemoteWorkplaces, lengthItems] = useMemo(() => {
53
58
  const _filteredItems = filterItems(data, filtrationState);
59
+ const _filteredRemoteWorkplaces = filterItems(remoteWorkplaces, filtrationState);
54
60
 
55
- const _points = _filteredItems
56
- .map((_) => ({
61
+ const _points = [
62
+ ..._filteredItems.map((_) => ({
63
+ type: 'offices',
57
64
  coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)]?.filter(Boolean),
58
65
  content: getBalloon(_),
59
- }))
60
- .filter((_) => _.coords && _.coords.length === 2);
66
+ })),
67
+ ..._filteredRemoteWorkplaces.map((_: RemoteWorkplace) => ({
68
+ type: 'workplaces',
69
+ coords: [Number(_.gpsLatitude), Number(_.gpsLongitude)]?.filter(Boolean),
70
+ content: getBalloonRemoteWorkplaces({
71
+ address: _.address,
72
+ workScheduleDescription: _.workScheduleDescription,
73
+ }),
74
+ })),
75
+ ].filter((_) => _.coords && _.coords.length === 2);
76
+
77
+ const itemsLength = _filteredItems.length + _filteredRemoteWorkplaces?.length;
61
78
 
62
- return [_filteredItems, _points, _filteredItems.length];
63
- }, [data, filtrationState]);
79
+ return [_filteredItems, _points, _filteredRemoteWorkplaces, itemsLength];
80
+ }, [data, remoteWorkplaces, filtrationState]);
64
81
 
65
82
  const [activeButton, setActiveButton] = useState('all');
66
83
 
@@ -89,6 +106,7 @@ export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm>>
89
106
  </div>
90
107
  </div>
91
108
  {filteredItems.map(renderCard)}
109
+ {filteredRemoteWorkplaces.map(renderRemoteWorkplaceCard)}
92
110
  </div>
93
111
  );
94
112
  },
@@ -97,13 +115,13 @@ export const OfficesAtmsMapLayout = JSX<OfficesAtmsMapLayoutProps<Branch | Atm>>
97
115
  const renderButtonsGroup = (
98
116
  data: Branch[],
99
117
  activeButton: string,
100
- setActiveButton: (item: string) => void,
118
+ onButtonClick: (item: string) => void,
101
119
  ) => {
102
120
  const allButtonVersion = activeButton === 'all' ? 'primary' : 'secondary';
103
121
 
104
122
  const businessButtonVersion = activeButton === 'business' ? 'primary' : 'secondary';
105
123
 
106
- const handleOnClick = (e: any, key: string, branches: Branch[]) => {
124
+ const handleClick = (e: any, key: string, branches: Branch[]) => {
107
125
  if (e.currentTarget === e.target && key === 'business') {
108
126
  branches.filter(
109
127
  (branch) =>
@@ -113,23 +131,19 @@ const renderButtonsGroup = (
113
131
  );
114
132
  }
115
133
 
116
- setActiveButton(key);
134
+ onButtonClick(key);
117
135
 
118
136
  return branches;
119
137
  };
120
138
 
121
139
  return (
122
140
  <div className="flex gap-lg flex-col sm:flex-row pb-lg">
123
- <Button
124
- data-id="all"
125
- onClick={(e) => handleOnClick(e, 'all', data)}
126
- version={allButtonVersion}
127
- >
141
+ <Button data-id="all" onClick={(e) => handleClick(e, 'all', data)} version={allButtonVersion}>
128
142
  Для физических лиц
129
143
  </Button>
130
144
  <Button
131
145
  data-id="business"
132
- onClick={(e) => handleOnClick(e, 'business', data)}
146
+ onClick={(e) => handleClick(e, 'business', data)}
133
147
  version={businessButtonVersion}
134
148
  >
135
149
  Для юридических лиц
@@ -137,28 +151,3 @@ const renderButtonsGroup = (
137
151
  </div>
138
152
  );
139
153
  };
140
-
141
- const renderDescriptionBlock = ({ __html, list }: AtmsDef) =>
142
- __html || list?.length ? (
143
- <div className="mb-2xl border-b sm:border border-main-divider sm:rounded-md">
144
- {__html ? (
145
- <div className="mb-2xl">
146
- <RichText __html={__html} />
147
- </div>
148
- ) : null}
149
- {list?.length ? (
150
- <div className="flex flex-col sm:flex-row gap-2xl sm:flex-wrap pb-2xl sm:pb-xl">
151
- {list.map((item, i) => (
152
- <div key={String(i)} className="flex gap-xs items-center">
153
- {item?.image ? <Img image={item.image} /> : null}
154
- {item?.text ? (
155
- <Text size="text-m" font="font-light">
156
- {item.text}
157
- </Text>
158
- ) : null}
159
- </div>
160
- ))}
161
- </div>
162
- ) : null}
163
- </div>
164
- ) : null;
@@ -82,6 +82,21 @@ export interface Branch {
82
82
  transferringDataToBiometricSystem?: false;
83
83
  }
84
84
 
85
+ export interface RemoteWorkplace {
86
+ id?: number;
87
+ region?: {
88
+ id?: number;
89
+ code?: string;
90
+ name?: string;
91
+ slug?: string;
92
+ };
93
+ landmark?: string;
94
+ workScheduleDescription?: string;
95
+ description?: string;
96
+ gpsLatitude?: number;
97
+ gpsLongitude?: number;
98
+ address?: string;
99
+ }
85
100
  export interface Atm {
86
101
  location?: string;
87
102
  address?: string;
@@ -1,14 +1,16 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useLocation } from '../../hooks/useLocation';
3
3
  import { OfficesAtmsMapLayout } from './OfficesAtmsMapLayout';
4
- import { type Branch } from './OfficesAtmsMapProps';
4
+ import { type Branch, type RemoteWorkplace } from './OfficesAtmsMapProps';
5
5
  import { getOfficePoint, renderOfficeCard } from './renderOfficeCard';
6
+ import { getRemoteWorkplacePoint, renderRemoteWorkplaceCard } from './renderRemoteWorkplaceCard';
6
7
  import { useOffices } from './useOffices';
7
8
 
8
9
  const INITIAL_FILTRATION_STATE = {
9
10
  workingSaturday: false,
10
11
  premiumService: false,
11
12
  privateBanking: false,
13
+ remoteWorkplace: false,
12
14
  sellingCoins: false,
13
15
  buyingCoins: false,
14
16
  bullionOperations: false,
@@ -17,15 +19,23 @@ const INITIAL_FILTRATION_STATE = {
17
19
  };
18
20
 
19
21
  const FILTRATION_PREDICATES = {
20
- workingSaturday: (item: Branch) => Boolean(item.workSchedule?.workingSaturday),
21
- premiumService: (item: Branch) => Boolean(item.premiumService),
22
- privateBanking: (item: Branch) => Boolean(item.privateBanking),
23
- sellingCoins: (item: Branch) => Boolean(item.sellingCoins),
24
- buyingCoins: (item: Branch) => Boolean(item.buyingCoins),
25
- bullionOperations: (item: Branch) => Boolean(item.bullionOperations),
26
- preciousMetalsOperations: (item: Branch) => Boolean(item.preciousMetalsOperations),
27
- transferringDataToBiometricSystem: (item: Branch) =>
28
- Boolean(item.transferringDataToBiometricSystem),
22
+ workingSaturday: (item: Branch | RemoteWorkplace) =>
23
+ Boolean('workSchedule' in item && item.workSchedule?.workingSaturday),
24
+ premiumService: (item: Branch | RemoteWorkplace) =>
25
+ Boolean('premiumService' in item && item.premiumService),
26
+ privateBanking: (item: Branch | RemoteWorkplace) =>
27
+ Boolean('privateBanking' in item && item.privateBanking),
28
+ remoteWorkplace: (item: Branch | RemoteWorkplace) => Boolean('workScheduleDescription' in item),
29
+ sellingCoins: (item: Branch | RemoteWorkplace) =>
30
+ Boolean('sellingCoins' in item && item.sellingCoins),
31
+ buyingCoins: (item: Branch | RemoteWorkplace) =>
32
+ Boolean('buyingCoins' in item && item.buyingCoins),
33
+ bullionOperations: (item: Branch | RemoteWorkplace) =>
34
+ Boolean('bullionOperations' in item && item.bullionOperations),
35
+ preciousMetalsOperations: (item: Branch | RemoteWorkplace) =>
36
+ Boolean('preciousMetalsOperations' in item && item.preciousMetalsOperations),
37
+ transferringDataToBiometricSystem: (item: Branch | RemoteWorkplace) =>
38
+ Boolean('transferringDataToBiometricSystem' in item && item.transferringDataToBiometricSystem),
29
39
  };
30
40
 
31
41
  export interface OfficesMapProps {
@@ -43,16 +53,22 @@ export const OfficesMap = JSX<OfficesMapProps>(({ className }) => {
43
53
  <OfficesAtmsMapLayout
44
54
  className={className}
45
55
  filterItems={filterItems}
46
- data={officesData}
56
+ data={officesData[0]?.branches}
57
+ remoteWorkplaces={officesData[0]?.remoteWorkplaces}
47
58
  initFilterState={INITIAL_FILTRATION_STATE}
48
59
  renderCard={renderOfficeCard}
60
+ renderRemoteWorkplaceCard={renderRemoteWorkplaceCard}
49
61
  getBalloon={getOfficePoint}
62
+ getBalloonRemoteWorkplaces={getRemoteWorkplacePoint}
50
63
  title={`Офисы филиала ${currentLocation?.name}`}
51
64
  />
52
65
  );
53
66
  });
54
67
 
55
- const filterItems = (data: Branch[], filtrationState: Record<string, boolean>) => {
68
+ const filterItems = (
69
+ data: (Branch | RemoteWorkplace)[],
70
+ filtrationState: Record<string, boolean>,
71
+ ) => {
56
72
  const truthyFilters = Object.keys(filtrationState).filter((key) => filtrationState[key]);
57
73
 
58
74
  return data.filter((item) => truthyFilters.every((_) => FILTRATION_PREDICATES[_](item)));
@@ -1,4 +1,5 @@
1
1
  export type BalloonPoints = {
2
+ type?: string;
2
3
  coords: number[];
3
4
  content?: BalloonContent;
4
5
  };
@@ -0,0 +1,29 @@
1
+ import { Img } from '../../ui-kit/Img/Img';
2
+ import { RichText } from '../../ui-kit/RichText/RichText';
3
+ import { Text } from '../../ui-kit/Text/Text';
4
+ import { type AtmsDef } from './OfficesAtmsMapContent';
5
+
6
+ export const renderDescriptionBlock = ({ __html, list }: AtmsDef) =>
7
+ __html || list?.length ? (
8
+ <div className="mb-2xl border-b sm:border border-main-divider sm:rounded-md">
9
+ {__html ? (
10
+ <div className="mb-2xl">
11
+ <RichText __html={__html} />
12
+ </div>
13
+ ) : null}
14
+ {list?.length ? (
15
+ <div className="flex flex-col sm:flex-row gap-2xl sm:flex-wrap pb-2xl sm:pb-xl">
16
+ {list.map((item, i) => (
17
+ <div key={String(i)} className="flex gap-xs items-center">
18
+ {item?.image ? <Img image={item.image} /> : null}
19
+ {item?.text ? (
20
+ <Text size="text-m" font="font-light">
21
+ {item.text}
22
+ </Text>
23
+ ) : null}
24
+ </div>
25
+ ))}
26
+ </div>
27
+ ) : null}
28
+ </div>
29
+ ) : null;
@@ -21,6 +21,7 @@ const FILTRATION_LABELS = {
21
21
  bullionOperations: 'Операции со слитками',
22
22
  preciousMetalsOperations: 'Операции с драгоценными металлами',
23
23
  transferringDataToBiometricSystem: 'Передача фото и голоса в Единую биометрическую систему',
24
+ remoteWorkplace: 'Удаленное рабочее место',
24
25
  };
25
26
 
26
27
  const COMMON_FILTERS_STYLES = 'flex flex-col sm:flex-row sm:flex-wrap gap-3xl pb-2xl';
@@ -30,7 +31,7 @@ export const renderFiltrationForm = (
30
31
  { field, reset }: { field: FormFieldRegisterer<any>; reset: () => void },
31
32
  onlyOffice?: boolean,
32
33
  ) => {
33
- const visibleFiltersNum = onlyOffice ? 3 : 4;
34
+ const visibleFiltersNum = 4;
34
35
 
35
36
  const filtersCheckbox = (filters || []).map((key) => (
36
37
  <Checkbox key={key} text={FILTRATION_LABELS[key]} {...field(key)} />
@@ -0,0 +1,86 @@
1
+ import { Foldable } from '../../ui-kit/Foldable/Foldable';
2
+ import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
3
+ import { Icon } from '../../ui-kit/Icon/Icon';
4
+ import { Text } from '../../ui-kit/Text/Text';
5
+ import { CardCell } from './CardCell';
6
+ import { CardRow } from './CardRow';
7
+ import { type RemoteWorkplace } from './OfficesAtmsMapProps';
8
+ import { renderFoldButton } from './renderFoldButton';
9
+
10
+ export const renderRemoteWorkplaceCard = (
11
+ { address, workScheduleDescription }: RemoteWorkplace,
12
+ index: number,
13
+ ) => {
14
+ if (!workScheduleDescription) {
15
+ return null;
16
+ }
17
+
18
+ return (
19
+ <div key={String(index)} className="bg-white col-span-12 p-3xl sm:border-green sm:border">
20
+ <div className="sm:flex sm:justify-between">
21
+ <div>
22
+ <Text size="text-h4">Удаленное рабочее место</Text>
23
+ {address ? (
24
+ <div className="flex pb-xl pt-xs gap-2xs">
25
+ <Icon name="GeolocationIcon" width="24" height="24" />
26
+ <Text size="text-l">{address}</Text>
27
+ </div>
28
+ ) : null}
29
+ </div>
30
+ </div>
31
+ <div className="hidden sm:block">
32
+ {renderCardContent({
33
+ workScheduleDescription,
34
+ })}
35
+ </div>
36
+ <Foldable
37
+ className="block sm:hidden"
38
+ renderFoldableSection={({ isUnfolded }) => {
39
+ return (
40
+ <FoldableSection isUnfolded={isUnfolded}>
41
+ {renderCardContent({
42
+ workScheduleDescription,
43
+ })}
44
+ </FoldableSection>
45
+ );
46
+ }}
47
+ //** TODO: remove styles with refactoring DefaultFoldButton*/
48
+ renderFoldButton={({ isUnfolded, onToggle }) => renderFoldButton({ isUnfolded, onToggle })}
49
+ />
50
+ </div>
51
+ );
52
+ };
53
+
54
+ const renderCardContent = ({ workScheduleDescription }: RemoteWorkplace) => {
55
+ return (
56
+ <div>
57
+ <CardRow className="flex">
58
+ <CardCell label="Операции для физических лиц">
59
+ <Text>Оформление и обслуживание кредитов, счетов, вкладов</Text>
60
+ </CardCell>
61
+ <CardCell label="Операции для физических лиц">
62
+ <Text>Оформление и обслуживание банковских карт</Text>
63
+ </CardCell>
64
+ <CardCell label="Операции для физических лиц">
65
+ <Text>Инвестиционное и накопительное страхование</Text>
66
+ </CardCell>
67
+ <CardCell label="Операции для физических лиц">
68
+ <Text>Безналичные операции в рублях, переводы без открытия счёта</Text>
69
+ </CardCell>
70
+ </CardRow>
71
+ <CardCell label="Режим работы" className="max-w-none">
72
+ <Text>{workScheduleDescription}</Text>
73
+ </CardCell>
74
+ </div>
75
+ );
76
+ };
77
+
78
+ export const getRemoteWorkplacePoint = ({
79
+ address = '',
80
+ workScheduleDescription,
81
+ }: RemoteWorkplace) => {
82
+ const header = 'Удаленное рабочее место';
83
+ const body = `${address} ${workScheduleDescription}`;
84
+
85
+ return { header, body };
86
+ };
@@ -1,20 +1,27 @@
1
1
  import { useAsyncData } from '@redneckz/uni-jsx/lib/hooks/useAsyncData';
2
2
  import { fetchJSON } from '../../utils/fetchJSON';
3
- import { type Branch } from './OfficesAtmsMapProps';
3
+ import { type Branch, type RemoteWorkplace } from './OfficesAtmsMapProps';
4
4
 
5
5
  const EMPTY_VALUE = [];
6
6
 
7
7
  export function useOffices(regionCode?: string) {
8
8
  const { data = EMPTY_VALUE } = useAsyncData(
9
- `/api/v1/branches?regionCode=${regionCode}`,
9
+ `/api/v1/branchesAndRemoteWorkplaces?regionCode=${regionCode}`,
10
10
  fetchMap,
11
11
  );
12
12
 
13
13
  return data;
14
14
  }
15
15
 
16
- const fetchMap = async (url: string): Promise<Branch[]> => {
17
- const result = await fetchJSON<Branch[]>(url, { method: 'GET' });
16
+ const fetchMap = async (
17
+ url: string,
18
+ ): Promise<{ branches: Branch[]; remoteWorkplaces: RemoteWorkplace[] }[]> => {
19
+ const result = await fetchJSON<{ branches: Branch[]; remoteWorkplaces: RemoteWorkplace[] }[]>(
20
+ url,
21
+ {
22
+ method: 'GET',
23
+ },
24
+ );
18
25
 
19
26
  return Array.isArray(result) ? result : EMPTY_VALUE;
20
27
  };