@dartcom/ui-kit 10.3.4 → 10.3.6

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/README.md CHANGED
@@ -24,7 +24,6 @@ npm run storybook
24
24
 
25
25
  - У вас есть аккаунт npm и токен доступа
26
26
 
27
- ```javascript
28
27
  // Проверьте сборку
29
28
  npm run build
30
29
 
@@ -33,9 +32,116 @@ npm pack
33
32
 
34
33
  git push origin v3.8.16
35
34
 
36
- Основные ссылки:
35
+ Основные ссылки
37
36
 
38
37
  ```javascript
39
38
  https://unpkg.com/leaflet-textpath@1.3.0/leaflet.textpath.js
40
39
  ```
41
- Ссылка на бибилотеку, которая отвечает за отрисовку текста. Ее нужно подключать отдельно, если в проекте используются подписи по линейной геометрии
40
+
41
+ Ссылка на бибилотеку, которая отвечает за отрисовку текста. Ее нужно подключать отдельно, если в проекте используются подписи по линейной геометрии
42
+
43
+ ## Работа с картой
44
+
45
+ - Для начала работы потребуется установить следующие библиотеки:
46
+
47
+ ```javascript
48
+ npm i -S react react-dom leaflet react-leaflet @dartcom/ui-kit
49
+ ```
50
+
51
+ - Основную часть приложения, где будет использоваться карта, нужно обернуть в **DartcomProviders**:
52
+
53
+ ```javascript
54
+ import { DartcomProviders } from '@dartcom/ui-kit';
55
+
56
+ <DartcomProviders
57
+ configOptions={{
58
+ private_key: 'Ваш приватный ключ',
59
+
60
+ apiConfig: {
61
+ baseURL: 'Основной адрес backend',
62
+ },
63
+ }}>
64
+ {...Content}
65
+ </DartcomProviders>;
66
+ ```
67
+
68
+ **private_key** - ключ доступа к библиотеки, он выдается администрацией и проверяется для доступа как к самой карте, так и к определенным компонентам внтури библиотеки
69
+
70
+ **baseURL** - адрес backend части вашего приложения, куда отсылаются основные запросы
71
+
72
+
73
+ - Далее в вашем приложении нужно инициализировать карту leafet внтури основного **DartcomProviders**:
74
+
75
+ ```javascript
76
+ import { MapContainer } from 'react-leaflet';
77
+
78
+ <MapContainer center={[51.505, -0.09]} zoom={13} scrollWheelZoom={false}>
79
+ {...Content}
80
+ </MapContainer>;
81
+ ```
82
+
83
+ - Теперь нужно поместить внутрь MapContainer компонент с нашим слоем:
84
+
85
+ ```javascript
86
+ import DartcomLayer from './your-path';
87
+
88
+ import { MapContainer } from 'react-leaflet';
89
+
90
+ <MapContainer center={[51.505, -0.09]} zoom={13} scrollWheelZoom={false}>
91
+ <DartcomLayer />
92
+
93
+ {...Content}
94
+ </MapContainer>;
95
+ ```
96
+
97
+ - В компоненте нужно инициализировать слой и добавить его на карту как основную подложку:
98
+
99
+ ```javascript
100
+ // your-path.tsx
101
+
102
+ import * as React from 'react';
103
+
104
+ import { useMap } from 'react-leaflet';
105
+
106
+ import {
107
+ getAllLayers,
108
+ SourceLayers,
109
+ TangramLayer,
110
+ TangramSourceNames,
111
+ } from '@dartcom/ui-kit';
112
+
113
+ const DartcomLayer: React.FC = () => {
114
+ const map = useMap();
115
+
116
+ React.useEffect(() => {
117
+ const { current: layersControl } = controlRef;
118
+
119
+ const defaultLayers = getAllLayers(TangramSourceNames.TILE);
120
+
121
+ new TangramLayer({
122
+ defaultLayers,
123
+
124
+ eventHandlers: {
125
+ [SourceLayers[name]]: {
126
+ click: ({ properties }) => {},
127
+ hover: ({ properties }) => {},
128
+ },
129
+ },
130
+
131
+ onCreate: ({ layer }) => {
132
+ layer.addTo(map);
133
+ },
134
+
135
+ onDestroy: ({ layer }) => {
136
+ layer.removeFrom(map);
137
+ },
138
+ });
139
+ }, []);
140
+
141
+ return null;
142
+ };
143
+
144
+ export default DartcomLayer;
145
+ ```
146
+
147
+ - **defaultLayers** - это основной список слоев, которые можно получить из библиотеки и который будет показываться на карте. В примере мы грузим все слои из ресурса **TangramSourceNames.TILE** с помощью функции **getAllLayers**, но пожно подгружать разные слои из разных ресурсов
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layers/leaflet/layers/condition/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,WAAW,CAAC;AAInB,eAAO,MAAM,kBAAkB,GAAI,QAAQ,kBAAkB,yBAyC5D,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layers/leaflet/layers/condition/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,WAAW,CAAC;AAInB,eAAO,MAAM,kBAAkB,GAAI,QAAQ,kBAAkB,yBA2C5D,CAAC"}
package/dist/index.cjs CHANGED
@@ -39650,24 +39650,29 @@ var ConditionTypes;
39650
39650
 
39651
39651
  const getConditionLayers = (source) => {
39652
39652
  const layers = [];
39653
- const sublayers = {};
39654
39653
  const data = {
39655
39654
  source,
39656
39655
  layer: exports.SourceLayers.CONDITIONS,
39657
39656
  };
39658
- const layer = {
39659
- id: getUniqueKey(),
39660
- data,
39661
- };
39662
39657
  Object.values(ConditionTypes).forEach((conditionType) => {
39663
- sublayers[`_${conditionType}`] = {
39658
+ const layer = {
39659
+ id: getUniqueKey(),
39664
39660
  filter: `function() {
39665
39661
  const { type } = feature;
39666
39662
 
39667
- const isShow = type === '${conditionType}';
39663
+ const isType = type === '${conditionType}';
39668
39664
 
39669
- return isShow;
39665
+ switch(type) {
39666
+ case '${ConditionTypes.gate}': {
39667
+ return $zoom >= 18 && isType;
39668
+ }
39669
+
39670
+ default: {
39671
+ return isType;
39672
+ }
39673
+ }
39670
39674
  }`,
39675
+ data,
39671
39676
  draw: {
39672
39677
  points: {
39673
39678
  texture: conditionType,
@@ -39676,9 +39681,8 @@ const getConditionLayers = (source) => {
39676
39681
  },
39677
39682
  },
39678
39683
  };
39684
+ layers.push(layer);
39679
39685
  });
39680
- layer.sublayers = sublayers;
39681
- layers.push(layer);
39682
39686
  return layers;
39683
39687
  };
39684
39688