@dartcom/ui-kit 10.3.5 → 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.
Files changed (2) hide show
  1. package/README.md +109 -3
  2. package/package.json +1 -1
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**, но пожно подгружать разные слои из разных ресурсов
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dartcom/ui-kit",
3
- "version": "10.3.5",
3
+ "version": "10.3.6",
4
4
  "description": "Кастомная библиотека комопнентов Dartcom",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",