@krainovsd/graph 0.8.4 → 0.10.0-rc1
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/lib/cjs/index.cjs +2819 -1574
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/esm/index.js +14 -4
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/lib/draw-time.js +5 -1
- package/lib/esm/lib/draw-time.js.map +1 -1
- package/lib/esm/lib/get-controls-info.js +525 -151
- package/lib/esm/lib/get-controls-info.js.map +1 -1
- package/lib/esm/module/GraphCanvas/GraphCanvas.js +42 -746
- package/lib/esm/module/GraphCanvas/GraphCanvas.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/settings.js +83 -39
- package/lib/esm/module/GraphCanvas/constants/settings.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/settings/node-settings-getter.js +10 -1
- package/lib/esm/module/GraphCanvas/lib/settings/node-settings-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/calculate-link-position-by-node.js +270 -0
- package/lib/esm/module/GraphCanvas/lib/utils/calculate-link-position-by-node.js.map +1 -0
- package/lib/esm/module/GraphCanvas/lib/utils/drag-place-coefficient-getter.js +2 -2
- package/lib/esm/module/GraphCanvas/lib/utils/drag-place-coefficient-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/get-particle-position.js +19 -4
- package/lib/esm/module/GraphCanvas/lib/utils/get-particle-position.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/is-node-visible.js +29 -4
- package/lib/esm/module/GraphCanvas/lib/utils/is-node-visible.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/is-overlaps-node.js +53 -4
- package/lib/esm/module/GraphCanvas/lib/utils/is-overlaps-node.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/link-by-pointer-getter.js +55 -0
- package/lib/esm/module/GraphCanvas/lib/utils/link-by-pointer-getter.js.map +1 -0
- package/lib/esm/module/GraphCanvas/lib/utils/node-by-pointer-getter.js +3 -13
- package/lib/esm/module/GraphCanvas/lib/utils/node-by-pointer-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/pointer-getter.js +8 -2
- package/lib/esm/module/GraphCanvas/lib/utils/pointer-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/draw-links.js +207 -0
- package/lib/esm/module/GraphCanvas/slices/draw-links.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/draw-nodes.js +342 -0
- package/lib/esm/module/GraphCanvas/slices/draw-nodes.js.map +1 -0
- package/lib/esm/module/GraphCanvas/{lib/utils → slices}/draw-text.js +23 -6
- package/lib/esm/module/GraphCanvas/slices/draw-text.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/init-area.js +31 -0
- package/lib/esm/module/GraphCanvas/slices/init-area.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/init-dnd.js +62 -0
- package/lib/esm/module/GraphCanvas/slices/init-dnd.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/init-draw.js +84 -0
- package/lib/esm/module/GraphCanvas/slices/init-draw.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/init-pointer.js +211 -0
- package/lib/esm/module/GraphCanvas/slices/init-pointer.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/init-resize.js +28 -0
- package/lib/esm/module/GraphCanvas/slices/init-resize.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/init-simulation.js +172 -0
- package/lib/esm/module/GraphCanvas/slices/init-simulation.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/init-zoom.js +36 -0
- package/lib/esm/module/GraphCanvas/slices/init-zoom.js.map +1 -0
- package/lib/index.d.ts +192 -114
- package/package.json +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/calculate-link-position-by-radius.js +0 -20
- package/lib/esm/module/GraphCanvas/lib/utils/calculate-link-position-by-radius.js.map +0 -1
- package/lib/esm/module/GraphCanvas/lib/utils/draw-text.js.map +0 -1
|
@@ -1,7 +1,49 @@
|
|
|
1
|
-
import { FORCE_SETTINGS, GRAPH_SETTINGS, LINK_OPTIONS, NODE_OPTIONS } from '../module/GraphCanvas/constants/settings.js';
|
|
1
|
+
import { FORCE_SETTINGS, GRAPH_SETTINGS, LINK_OPTIONS, NODE_OPTIONS, LINK_SETTINGS, NODE_SETTINGS } from '../module/GraphCanvas/constants/settings.js';
|
|
2
2
|
|
|
3
3
|
function getForceControls(keys) {
|
|
4
4
|
const FORCE_CONTROLS = [
|
|
5
|
+
{
|
|
6
|
+
id: "forces",
|
|
7
|
+
initialValue: FORCE_SETTINGS.forces,
|
|
8
|
+
label: "Физика",
|
|
9
|
+
type: "checkbox",
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
id: "collideForce",
|
|
13
|
+
type: "checkbox",
|
|
14
|
+
label: "Сила отталкивания",
|
|
15
|
+
initialValue: FORCE_SETTINGS.collideForce,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "centerForce",
|
|
19
|
+
type: "checkbox",
|
|
20
|
+
label: "Сила центрирования",
|
|
21
|
+
initialValue: FORCE_SETTINGS.centerForce,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "chargeForce",
|
|
25
|
+
type: "checkbox",
|
|
26
|
+
label: "Сила дистанции",
|
|
27
|
+
initialValue: FORCE_SETTINGS.chargeForce,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: "linkForce",
|
|
31
|
+
type: "checkbox",
|
|
32
|
+
label: "Сила связей",
|
|
33
|
+
initialValue: FORCE_SETTINGS.linkForce,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "xForce",
|
|
37
|
+
type: "checkbox",
|
|
38
|
+
label: "Сила X",
|
|
39
|
+
initialValue: FORCE_SETTINGS.xForce,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: "yForce",
|
|
43
|
+
type: "checkbox",
|
|
44
|
+
label: "Сила Y",
|
|
45
|
+
initialValue: FORCE_SETTINGS.yForce,
|
|
46
|
+
},
|
|
5
47
|
{
|
|
6
48
|
id: "centerStrength",
|
|
7
49
|
initialValue: FORCE_SETTINGS.centerStrength,
|
|
@@ -41,7 +83,7 @@ function getForceControls(keys) {
|
|
|
41
83
|
{
|
|
42
84
|
id: "chargeStrength",
|
|
43
85
|
initialValue: FORCE_SETTINGS.chargeStrength ,
|
|
44
|
-
label: "
|
|
86
|
+
label: "Дистанция",
|
|
45
87
|
max: 0,
|
|
46
88
|
min: -300,
|
|
47
89
|
step: 0.1,
|
|
@@ -49,21 +91,21 @@ function getForceControls(keys) {
|
|
|
49
91
|
},
|
|
50
92
|
{
|
|
51
93
|
type: "range",
|
|
52
|
-
id: "
|
|
94
|
+
id: "xPosition",
|
|
53
95
|
min: 0,
|
|
54
|
-
max:
|
|
55
|
-
step:
|
|
56
|
-
label: "
|
|
57
|
-
initialValue: FORCE_SETTINGS.
|
|
96
|
+
max: 2000,
|
|
97
|
+
step: 1,
|
|
98
|
+
label: "Координата притяжения X",
|
|
99
|
+
initialValue: FORCE_SETTINGS.xPosition ,
|
|
58
100
|
},
|
|
59
101
|
{
|
|
60
102
|
type: "range",
|
|
61
|
-
id: "
|
|
103
|
+
id: "yPosition",
|
|
62
104
|
min: 0,
|
|
63
|
-
max:
|
|
64
|
-
step:
|
|
65
|
-
label: "
|
|
66
|
-
initialValue: FORCE_SETTINGS.
|
|
105
|
+
max: 2000,
|
|
106
|
+
step: 1,
|
|
107
|
+
label: "Координата притяжения Y",
|
|
108
|
+
initialValue: FORCE_SETTINGS.yPosition ,
|
|
67
109
|
},
|
|
68
110
|
{
|
|
69
111
|
type: "range",
|
|
@@ -101,198 +143,364 @@ function getForceControls(keys) {
|
|
|
101
143
|
label: "Расстояние связей",
|
|
102
144
|
initialValue: FORCE_SETTINGS.linkDistance ,
|
|
103
145
|
},
|
|
104
|
-
{
|
|
105
|
-
id: "collideOn",
|
|
106
|
-
type: "checkbox",
|
|
107
|
-
initialValue: FORCE_SETTINGS.collideOn,
|
|
108
|
-
label: "Отталкивание",
|
|
109
|
-
},
|
|
110
146
|
];
|
|
111
147
|
return keys ? FORCE_CONTROLS.filter((control) => keys.includes(control.id)) : FORCE_CONTROLS;
|
|
112
148
|
}
|
|
113
149
|
function getGraphControls(keys) {
|
|
114
150
|
const GRAPH_CONTROLS = [
|
|
115
151
|
{
|
|
116
|
-
id: "
|
|
117
|
-
initialValue: GRAPH_SETTINGS.
|
|
152
|
+
id: "highlightDownFrames",
|
|
153
|
+
initialValue: GRAPH_SETTINGS.highlightDownFrames,
|
|
154
|
+
max: 60,
|
|
155
|
+
min: 1,
|
|
156
|
+
step: 1,
|
|
157
|
+
type: "range",
|
|
158
|
+
label: "Скорость отмены анимации в кадрах",
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
id: "highlightUpFrames",
|
|
162
|
+
initialValue: GRAPH_SETTINGS.highlightUpFrames,
|
|
163
|
+
max: 60,
|
|
164
|
+
min: 1,
|
|
165
|
+
step: 1,
|
|
166
|
+
type: "range",
|
|
167
|
+
label: "Скорость применения анимации в кадрах",
|
|
168
|
+
},
|
|
169
|
+
];
|
|
170
|
+
return keys ? GRAPH_CONTROLS.filter((control) => keys.includes(control.id)) : GRAPH_CONTROLS;
|
|
171
|
+
}
|
|
172
|
+
function getNodeSettingControls(keys) {
|
|
173
|
+
const NODE_SETTINGS_CONTROLS = [
|
|
174
|
+
{
|
|
175
|
+
id: "cache",
|
|
176
|
+
type: "checkbox",
|
|
177
|
+
initialValue: NODE_SETTINGS.cache,
|
|
178
|
+
label: "Кеширование вычисляемых настроек",
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
id: "highlightByNodeOnlyRoot",
|
|
182
|
+
type: "checkbox",
|
|
183
|
+
initialValue: NODE_SETTINGS.highlightByNodeOnlyRoot,
|
|
184
|
+
label: "Дополнительная анимация только главное цели при анимации ноды",
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
id: "highlightByHoverNode",
|
|
188
|
+
type: "checkbox",
|
|
189
|
+
initialValue: NODE_SETTINGS.highlightByHoverNode,
|
|
190
|
+
label: "Анимации при наведении на ноду",
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
id: "nodeRadiusFlexible",
|
|
194
|
+
type: "checkbox",
|
|
195
|
+
initialValue: NODE_SETTINGS.nodeRadiusFlexible,
|
|
196
|
+
label: "Гибкий радиус ноды",
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
id: "nodeSizeFlexible",
|
|
200
|
+
type: "checkbox",
|
|
201
|
+
initialValue: NODE_SETTINGS.nodeSizeFlexible,
|
|
202
|
+
label: "Гибкий размер ноды",
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
id: "textNodeDebug",
|
|
206
|
+
type: "checkbox",
|
|
207
|
+
initialValue: NODE_SETTINGS.textNodeDebug,
|
|
208
|
+
label: "Отладка текстовой ноды",
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
id: "highlightByNodeNodeFading",
|
|
212
|
+
type: "checkbox",
|
|
213
|
+
initialValue: NODE_SETTINGS.highlightByNodeNodeFading,
|
|
214
|
+
label: "Затухание при анимации ноды",
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
id: "highlightByNodeNodeColor",
|
|
218
|
+
type: "checkbox",
|
|
219
|
+
initialValue: NODE_SETTINGS.highlightByNodeNodeColor,
|
|
220
|
+
label: "Затухание цвета при анимации ноды",
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
id: "highlightByNodeNodeSizing",
|
|
224
|
+
type: "checkbox",
|
|
225
|
+
initialValue: NODE_SETTINGS.highlightByNodeNodeSizing,
|
|
226
|
+
label: "Изменение размера при анимации ноды",
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
id: "highlightByNodeTextFading",
|
|
230
|
+
type: "checkbox",
|
|
231
|
+
initialValue: NODE_SETTINGS.highlightByNodeTextFading,
|
|
232
|
+
label: "Затухание текста при анимации ноды",
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
id: "highlightByNodeTextSizing",
|
|
236
|
+
type: "checkbox",
|
|
237
|
+
initialValue: NODE_SETTINGS.highlightByNodeTextSizing,
|
|
238
|
+
label: "Изменение размера текста при анимации ноды",
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
id: "highlightByLinkNodeFading",
|
|
242
|
+
type: "checkbox",
|
|
243
|
+
initialValue: NODE_SETTINGS.highlightByLinkNodeFading,
|
|
244
|
+
label: "Затухание при анимации связи",
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
id: "highlightByLinkNodeColor",
|
|
248
|
+
type: "checkbox",
|
|
249
|
+
initialValue: NODE_SETTINGS.highlightByLinkNodeColor,
|
|
250
|
+
label: "Затухание цвета при анимации связи",
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
id: "highlightByLinkNodeSizing",
|
|
254
|
+
type: "checkbox",
|
|
255
|
+
initialValue: NODE_SETTINGS.highlightByLinkNodeSizing,
|
|
256
|
+
label: "Изменение размера при анимации связи",
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
id: "highlightByLinkTextFading",
|
|
260
|
+
type: "checkbox",
|
|
261
|
+
initialValue: NODE_SETTINGS.highlightByLinkTextFading,
|
|
262
|
+
label: "Затухание текста при анимации связи",
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
id: "highlightByLinkTextSizing",
|
|
266
|
+
type: "checkbox",
|
|
267
|
+
initialValue: NODE_SETTINGS.highlightByLinkTextSizing,
|
|
268
|
+
label: "Изменение размера текста при анимации связи",
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
id: "nodeRadiusCoefficient",
|
|
272
|
+
initialValue: NODE_SETTINGS.nodeRadiusCoefficient,
|
|
273
|
+
max: 100,
|
|
274
|
+
min: 0.1,
|
|
275
|
+
step: 0.1,
|
|
276
|
+
type: "range",
|
|
277
|
+
label: "Количество связей для увеличения радиуса",
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
id: "nodeRadiusFactor",
|
|
281
|
+
initialValue: NODE_SETTINGS.nodeRadiusFactor,
|
|
282
|
+
max: 50,
|
|
283
|
+
min: 0.1,
|
|
284
|
+
step: 0.1,
|
|
285
|
+
type: "range",
|
|
286
|
+
label: "Коэффициент увеличения радиуса",
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
id: "nodeSizeCoefficient",
|
|
290
|
+
initialValue: NODE_SETTINGS.nodeSizeCoefficient,
|
|
291
|
+
max: 50,
|
|
292
|
+
min: 0.1,
|
|
293
|
+
step: 0.1,
|
|
294
|
+
type: "range",
|
|
295
|
+
label: "Количество связей для увеличения размера",
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
id: "nodeSizeFactor",
|
|
299
|
+
initialValue: NODE_SETTINGS.nodeSizeFactor,
|
|
300
|
+
max: 20,
|
|
301
|
+
min: 0.01,
|
|
302
|
+
step: 0.01,
|
|
303
|
+
type: "range",
|
|
304
|
+
label: "Коэффициент увеличения размера",
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
id: "highlightByNodeNodeSizingAdditional",
|
|
308
|
+
initialValue: NODE_SETTINGS.highlightByNodeNodeSizingAdditional,
|
|
118
309
|
max: 10,
|
|
119
310
|
min: 0.1,
|
|
120
311
|
step: 0.01,
|
|
121
312
|
type: "range",
|
|
122
|
-
label: "Дополнительный размер при анимации",
|
|
313
|
+
label: "Дополнительный размер при анимации ноды",
|
|
123
314
|
},
|
|
124
315
|
{
|
|
125
|
-
id: "
|
|
126
|
-
initialValue:
|
|
316
|
+
id: "highlightByNodeNodeSizingAdditionalCoefficient",
|
|
317
|
+
initialValue: NODE_SETTINGS.highlightByNodeNodeSizingAdditionalCoefficient,
|
|
318
|
+
max: 10,
|
|
319
|
+
min: 0.01,
|
|
320
|
+
step: 0.01,
|
|
321
|
+
type: "range",
|
|
322
|
+
label: "Дополнительный размер квадрата при анимации ноды",
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
id: "highlightByNodeNodeColorFadingMin",
|
|
326
|
+
initialValue: NODE_SETTINGS.highlightByNodeNodeColorFadingMin,
|
|
127
327
|
max: 1,
|
|
128
328
|
min: 0.01,
|
|
129
329
|
step: 0.01,
|
|
130
330
|
type: "range",
|
|
131
|
-
label: "Граница затухания цвета",
|
|
331
|
+
label: "Граница затухания цвета при анимации ноды",
|
|
132
332
|
},
|
|
133
333
|
{
|
|
134
|
-
id: "
|
|
135
|
-
initialValue:
|
|
334
|
+
id: "highlightByNodeTextShiftXAdditional",
|
|
335
|
+
initialValue: NODE_SETTINGS.highlightByNodeTextShiftXAdditional,
|
|
136
336
|
max: 50,
|
|
137
337
|
min: 0,
|
|
138
338
|
step: 0.1,
|
|
139
339
|
type: "range",
|
|
140
|
-
label: "Смещение текста по X при анимации",
|
|
340
|
+
label: "Смещение текста по X при анимации ноды",
|
|
141
341
|
},
|
|
142
342
|
{
|
|
143
|
-
id: "
|
|
144
|
-
initialValue:
|
|
343
|
+
id: "highlightByNodeTextShiftYAdditional",
|
|
344
|
+
initialValue: NODE_SETTINGS.highlightByNodeTextShiftYAdditional,
|
|
145
345
|
max: 50,
|
|
146
346
|
min: 0,
|
|
147
347
|
step: 0.1,
|
|
148
348
|
type: "range",
|
|
149
|
-
label: "Смещение текста по Y при анимации",
|
|
349
|
+
label: "Смещение текста по Y при анимации ноды",
|
|
150
350
|
},
|
|
151
351
|
{
|
|
152
|
-
id: "
|
|
153
|
-
initialValue:
|
|
352
|
+
id: "highlightByNodeTextSizingAdditional",
|
|
353
|
+
initialValue: NODE_SETTINGS.highlightByNodeTextSizingAdditional,
|
|
154
354
|
max: 10,
|
|
155
355
|
min: 0.1,
|
|
156
356
|
step: 0.1,
|
|
157
357
|
type: "range",
|
|
158
|
-
label: "Увеличение текста при анимации",
|
|
358
|
+
label: "Увеличение текста при анимации ноды",
|
|
159
359
|
},
|
|
160
360
|
{
|
|
161
|
-
id: "
|
|
162
|
-
initialValue:
|
|
361
|
+
id: "highlightByNodeTextWeightAdditional",
|
|
362
|
+
initialValue: NODE_SETTINGS.highlightByNodeTextWeightAdditional,
|
|
163
363
|
max: 1000,
|
|
164
364
|
min: 0,
|
|
165
365
|
step: 100,
|
|
166
366
|
type: "range",
|
|
167
|
-
label: "Увеличение жирности текста при анимации",
|
|
367
|
+
label: "Увеличение жирности текста при анимации ноды",
|
|
168
368
|
},
|
|
169
369
|
{
|
|
170
|
-
id: "
|
|
171
|
-
initialValue:
|
|
370
|
+
id: "highlightByNodeTextWidthAdditional",
|
|
371
|
+
initialValue: NODE_SETTINGS.highlightByNodeTextWidthAdditional,
|
|
172
372
|
max: 100,
|
|
173
373
|
min: 0,
|
|
174
374
|
step: 0.1,
|
|
175
375
|
type: "range",
|
|
176
|
-
label: "Увеличение ширины текста при анимации",
|
|
376
|
+
label: "Увеличение ширины текста при анимации ноды",
|
|
177
377
|
},
|
|
178
378
|
{
|
|
179
|
-
id: "
|
|
180
|
-
initialValue:
|
|
379
|
+
id: "highlightByNodeNodeFadingMin",
|
|
380
|
+
initialValue: NODE_SETTINGS.highlightByNodeNodeFadingMin,
|
|
181
381
|
max: 1,
|
|
182
382
|
min: 0,
|
|
183
383
|
step: 0.01,
|
|
184
384
|
type: "range",
|
|
185
|
-
label: "Граница затухания
|
|
385
|
+
label: "Граница затухания ноды при анимации ноды",
|
|
186
386
|
},
|
|
187
387
|
{
|
|
188
|
-
id: "
|
|
189
|
-
initialValue:
|
|
388
|
+
id: "highlightByNodeTextFadingMin",
|
|
389
|
+
initialValue: NODE_SETTINGS.highlightByNodeTextFadingMin,
|
|
190
390
|
max: 1,
|
|
191
391
|
min: 0,
|
|
192
392
|
step: 0.01,
|
|
193
393
|
type: "range",
|
|
194
|
-
label: "Граница затухания
|
|
394
|
+
label: "Граница затухания текста при анимации ноды",
|
|
195
395
|
},
|
|
196
396
|
{
|
|
197
|
-
id: "
|
|
198
|
-
initialValue:
|
|
199
|
-
max:
|
|
200
|
-
min: 0,
|
|
201
|
-
step: 0.01,
|
|
202
|
-
type: "range",
|
|
203
|
-
label: "Граница затухания ноды при анимации",
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
id: "highlightArrowFadingMin",
|
|
207
|
-
initialValue: GRAPH_SETTINGS.highlightArrowFadingMin,
|
|
208
|
-
max: 1,
|
|
209
|
-
min: 0,
|
|
397
|
+
id: "highlightByLinkNodeSizingAdditional",
|
|
398
|
+
initialValue: NODE_SETTINGS.highlightByLinkNodeSizingAdditional,
|
|
399
|
+
max: 10,
|
|
400
|
+
min: 0.1,
|
|
210
401
|
step: 0.01,
|
|
211
402
|
type: "range",
|
|
212
|
-
label: "
|
|
403
|
+
label: "Дополнительный размер при анимации связи",
|
|
213
404
|
},
|
|
214
405
|
{
|
|
215
|
-
id: "
|
|
216
|
-
initialValue:
|
|
217
|
-
max:
|
|
406
|
+
id: "highlightByLinkNodeSizingAdditionalCoefficient",
|
|
407
|
+
initialValue: NODE_SETTINGS.highlightByLinkNodeSizingAdditionalCoefficient,
|
|
408
|
+
max: 10,
|
|
218
409
|
min: 0.01,
|
|
219
410
|
step: 0.01,
|
|
220
411
|
type: "range",
|
|
221
|
-
label: "
|
|
412
|
+
label: "Дополнительный размер квадрата при анимации связи",
|
|
222
413
|
},
|
|
223
414
|
{
|
|
224
|
-
id: "
|
|
225
|
-
initialValue:
|
|
415
|
+
id: "highlightByLinkNodeColorFadingMin",
|
|
416
|
+
initialValue: NODE_SETTINGS.highlightByLinkNodeColorFadingMin,
|
|
226
417
|
max: 1,
|
|
227
418
|
min: 0.01,
|
|
228
419
|
step: 0.01,
|
|
229
420
|
type: "range",
|
|
230
|
-
label: "
|
|
421
|
+
label: "Граница затухания цвета при анимации связи",
|
|
231
422
|
},
|
|
232
423
|
{
|
|
233
|
-
id: "
|
|
234
|
-
initialValue:
|
|
424
|
+
id: "highlightByLinkTextShiftXAdditional",
|
|
425
|
+
initialValue: NODE_SETTINGS.highlightByLinkTextShiftXAdditional,
|
|
235
426
|
max: 50,
|
|
236
|
-
min: 0
|
|
427
|
+
min: 0,
|
|
237
428
|
step: 0.1,
|
|
238
429
|
type: "range",
|
|
239
|
-
label: "
|
|
430
|
+
label: "Смещение текста по X при анимации связи",
|
|
240
431
|
},
|
|
241
432
|
{
|
|
242
|
-
id: "
|
|
243
|
-
initialValue:
|
|
244
|
-
max:
|
|
245
|
-
min: 0
|
|
433
|
+
id: "highlightByLinkTextShiftYAdditional",
|
|
434
|
+
initialValue: NODE_SETTINGS.highlightByLinkTextShiftYAdditional,
|
|
435
|
+
max: 50,
|
|
436
|
+
min: 0,
|
|
246
437
|
step: 0.1,
|
|
247
438
|
type: "range",
|
|
248
|
-
label: "
|
|
439
|
+
label: "Смещение текста по Y при анимации связи",
|
|
249
440
|
},
|
|
250
441
|
{
|
|
251
|
-
id: "
|
|
252
|
-
initialValue:
|
|
253
|
-
max:
|
|
442
|
+
id: "highlightByLinkTextSizingAdditional",
|
|
443
|
+
initialValue: NODE_SETTINGS.highlightByLinkTextSizingAdditional,
|
|
444
|
+
max: 10,
|
|
254
445
|
min: 0.1,
|
|
255
446
|
step: 0.1,
|
|
256
447
|
type: "range",
|
|
257
|
-
label: "
|
|
448
|
+
label: "Увеличение текста при анимации связи",
|
|
258
449
|
},
|
|
259
450
|
{
|
|
260
|
-
id: "
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
451
|
+
id: "highlightByLinkTextWeightAdditional",
|
|
452
|
+
initialValue: NODE_SETTINGS.highlightByLinkTextWeightAdditional,
|
|
453
|
+
max: 1000,
|
|
454
|
+
min: 0,
|
|
455
|
+
step: 100,
|
|
456
|
+
type: "range",
|
|
457
|
+
label: "Увеличение жирности текста при анимации связи",
|
|
264
458
|
},
|
|
265
459
|
{
|
|
266
|
-
id: "
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
460
|
+
id: "highlightByLinkTextWidthAdditional",
|
|
461
|
+
initialValue: NODE_SETTINGS.highlightByLinkTextWidthAdditional,
|
|
462
|
+
max: 100,
|
|
463
|
+
min: 0,
|
|
464
|
+
step: 0.1,
|
|
465
|
+
type: "range",
|
|
466
|
+
label: "Увеличение ширины текста при анимации связи",
|
|
270
467
|
},
|
|
271
468
|
{
|
|
272
|
-
id: "
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
469
|
+
id: "highlightByLinkNodeFadingMin",
|
|
470
|
+
initialValue: NODE_SETTINGS.highlightByLinkNodeFadingMin,
|
|
471
|
+
max: 1,
|
|
472
|
+
min: 0,
|
|
473
|
+
step: 0.01,
|
|
474
|
+
type: "range",
|
|
475
|
+
label: "Граница затухания ноды при анимации связи",
|
|
276
476
|
},
|
|
277
477
|
{
|
|
278
|
-
id: "
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
478
|
+
id: "highlightByLinkTextFadingMin",
|
|
479
|
+
initialValue: NODE_SETTINGS.highlightByLinkTextFadingMin,
|
|
480
|
+
max: 1,
|
|
481
|
+
min: 0,
|
|
482
|
+
step: 0.01,
|
|
483
|
+
type: "range",
|
|
484
|
+
label: "Граница затухания текста при анимации связи",
|
|
282
485
|
},
|
|
283
486
|
];
|
|
284
|
-
return keys
|
|
487
|
+
return keys
|
|
488
|
+
? NODE_SETTINGS_CONTROLS.filter((control) => keys.includes(control.id))
|
|
489
|
+
: NODE_SETTINGS_CONTROLS;
|
|
285
490
|
}
|
|
286
|
-
function
|
|
491
|
+
function getNodeOptionsControls(keys) {
|
|
287
492
|
const NODE_CONTROLS = [
|
|
288
493
|
{
|
|
289
|
-
id: "
|
|
290
|
-
type: "
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
494
|
+
id: "shape",
|
|
495
|
+
type: "select",
|
|
496
|
+
initialValue: NODE_OPTIONS.shape,
|
|
497
|
+
label: "Форма",
|
|
498
|
+
options: [
|
|
499
|
+
{ label: "Картинки", value: "icon" },
|
|
500
|
+
{ label: "Круг", value: "circle" },
|
|
501
|
+
{ label: "Прямоугольник", value: "square" },
|
|
502
|
+
{ label: "Текст", value: "text" },
|
|
503
|
+
],
|
|
296
504
|
},
|
|
297
505
|
{
|
|
298
506
|
id: "radius",
|
|
@@ -303,6 +511,42 @@ function getNodeControls(keys) {
|
|
|
303
511
|
label: "Радиус",
|
|
304
512
|
initialValue: NODE_OPTIONS.radius,
|
|
305
513
|
},
|
|
514
|
+
{
|
|
515
|
+
id: "width",
|
|
516
|
+
type: "range",
|
|
517
|
+
max: 50,
|
|
518
|
+
min: 1,
|
|
519
|
+
step: 1,
|
|
520
|
+
label: "Ширина",
|
|
521
|
+
initialValue: NODE_OPTIONS.width,
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
id: "height",
|
|
525
|
+
type: "range",
|
|
526
|
+
max: 50,
|
|
527
|
+
min: 1,
|
|
528
|
+
step: 1,
|
|
529
|
+
label: "Высота",
|
|
530
|
+
initialValue: NODE_OPTIONS.height,
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
id: "borderRadius",
|
|
534
|
+
type: "range",
|
|
535
|
+
max: 50,
|
|
536
|
+
min: 0,
|
|
537
|
+
step: 1,
|
|
538
|
+
label: "Радиус границы",
|
|
539
|
+
initialValue: NODE_OPTIONS.borderRadius,
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
id: "alpha",
|
|
543
|
+
type: "range",
|
|
544
|
+
max: 1,
|
|
545
|
+
min: 0,
|
|
546
|
+
step: 0.1,
|
|
547
|
+
label: "Прозрачность",
|
|
548
|
+
initialValue: NODE_OPTIONS.alpha,
|
|
549
|
+
},
|
|
306
550
|
{
|
|
307
551
|
id: "borderWidth",
|
|
308
552
|
type: "range",
|
|
@@ -324,6 +568,33 @@ function getNodeControls(keys) {
|
|
|
324
568
|
initialValue: "#000000FF",
|
|
325
569
|
label: "Цвет",
|
|
326
570
|
},
|
|
571
|
+
{
|
|
572
|
+
id: "textNodeXPadding",
|
|
573
|
+
type: "range",
|
|
574
|
+
max: 30,
|
|
575
|
+
min: 0,
|
|
576
|
+
step: 0.1,
|
|
577
|
+
label: "Отступы по оси X у текстовой ноды внутри контейнера",
|
|
578
|
+
initialValue: NODE_OPTIONS.textNodeXPadding,
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
id: "textNodeYPadding",
|
|
582
|
+
type: "range",
|
|
583
|
+
max: 30,
|
|
584
|
+
min: 0,
|
|
585
|
+
step: 0.1,
|
|
586
|
+
label: "Отступы по оси Y у текстовой ноды внутри контейнера",
|
|
587
|
+
initialValue: NODE_OPTIONS.textNodeYPadding,
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
id: "textSize",
|
|
591
|
+
type: "range",
|
|
592
|
+
max: 30,
|
|
593
|
+
min: 0,
|
|
594
|
+
step: 0.1,
|
|
595
|
+
label: "Размер текста",
|
|
596
|
+
initialValue: 0,
|
|
597
|
+
},
|
|
327
598
|
{
|
|
328
599
|
id: "textAlpha",
|
|
329
600
|
type: "range",
|
|
@@ -379,39 +650,142 @@ function getNodeControls(keys) {
|
|
|
379
650
|
initialValue: NODE_OPTIONS.textGap,
|
|
380
651
|
},
|
|
381
652
|
{
|
|
382
|
-
id: "
|
|
653
|
+
id: "textColor",
|
|
654
|
+
type: "color",
|
|
655
|
+
initialValue: NODE_OPTIONS.textColor,
|
|
656
|
+
label: "Цвет текста",
|
|
657
|
+
},
|
|
658
|
+
];
|
|
659
|
+
return keys ? NODE_CONTROLS.filter((control) => keys.includes(control.id)) : NODE_CONTROLS;
|
|
660
|
+
}
|
|
661
|
+
function getLinkSettingsControls(keys) {
|
|
662
|
+
const LINK_SETTINGS_CONTROLS = [
|
|
663
|
+
{
|
|
664
|
+
id: "cache",
|
|
665
|
+
type: "checkbox",
|
|
666
|
+
label: "Кеширование вычисляемых настроек",
|
|
667
|
+
initialValue: LINK_SETTINGS.cache,
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
id: "particles",
|
|
671
|
+
type: "checkbox",
|
|
672
|
+
label: "Частицы",
|
|
673
|
+
initialValue: LINK_SETTINGS.particles,
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
id: "particleFlexSpeed",
|
|
383
677
|
type: "checkbox",
|
|
384
|
-
|
|
385
|
-
|
|
678
|
+
label: "Гибкий расчет скорости частицы",
|
|
679
|
+
initialValue: LINK_SETTINGS.particleFlexSpeed,
|
|
386
680
|
},
|
|
387
681
|
{
|
|
388
|
-
id: "
|
|
682
|
+
id: "pretty",
|
|
389
683
|
type: "checkbox",
|
|
390
|
-
|
|
391
|
-
|
|
684
|
+
label: "Обсчет красивого соединения",
|
|
685
|
+
initialValue: LINK_SETTINGS.pretty,
|
|
392
686
|
},
|
|
393
687
|
{
|
|
394
|
-
id: "
|
|
688
|
+
id: "arrow",
|
|
395
689
|
type: "checkbox",
|
|
396
|
-
|
|
397
|
-
|
|
690
|
+
label: "Стрелка",
|
|
691
|
+
initialValue: LINK_SETTINGS.arrow,
|
|
398
692
|
},
|
|
399
693
|
{
|
|
400
|
-
id: "
|
|
694
|
+
id: "arrowByHighlight",
|
|
401
695
|
type: "checkbox",
|
|
402
|
-
|
|
403
|
-
|
|
696
|
+
label: "Появление стрелки при анимации",
|
|
697
|
+
initialValue: LINK_SETTINGS.arrowByHighlight,
|
|
404
698
|
},
|
|
405
699
|
{
|
|
406
|
-
id: "
|
|
700
|
+
id: "highlightByHoverLink",
|
|
407
701
|
type: "checkbox",
|
|
408
|
-
|
|
409
|
-
|
|
702
|
+
label: "Анимация при наведении на связь",
|
|
703
|
+
initialValue: LINK_SETTINGS.highlightByHoverLink,
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
id: "highlightByNodeLinkFading",
|
|
707
|
+
type: "checkbox",
|
|
708
|
+
label: "Затухание при анимации ноды",
|
|
709
|
+
initialValue: LINK_SETTINGS.highlightByNodeLinkFading,
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
id: "highlightByNodeArrowFading",
|
|
713
|
+
type: "checkbox",
|
|
714
|
+
label: "Затухание стрелки при анимации ноды",
|
|
715
|
+
initialValue: LINK_SETTINGS.highlightByNodeArrowFading,
|
|
716
|
+
},
|
|
717
|
+
{
|
|
718
|
+
id: "highlightByLinkLinkFading",
|
|
719
|
+
type: "checkbox",
|
|
720
|
+
label: "Затухание при анимации связи",
|
|
721
|
+
initialValue: LINK_SETTINGS.highlightByLinkLinkFading,
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
id: "highlightByLinkArrowFading",
|
|
725
|
+
type: "checkbox",
|
|
726
|
+
label: "Затухание стрелки при анимации связи",
|
|
727
|
+
initialValue: LINK_SETTINGS.highlightByLinkArrowFading,
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
id: "particleFlexSpeedCoefficient",
|
|
731
|
+
initialValue: LINK_SETTINGS.particleFlexSpeedCoefficient,
|
|
732
|
+
max: 10,
|
|
733
|
+
min: 0.1,
|
|
734
|
+
step: 0.1,
|
|
735
|
+
type: "range",
|
|
736
|
+
label: "Коэффициент скорости частицы относительно расстояния",
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
id: "hoverLinkThreshold",
|
|
740
|
+
initialValue: LINK_SETTINGS.hoverLinkThreshold,
|
|
741
|
+
max: 10,
|
|
742
|
+
min: 0,
|
|
743
|
+
step: 0.01,
|
|
744
|
+
type: "range",
|
|
745
|
+
label: "Расширение границы связи для курсора",
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
id: "highlightByNodeLinkFadingMin",
|
|
749
|
+
initialValue: LINK_SETTINGS.highlightByNodeLinkFadingMin,
|
|
750
|
+
max: 1,
|
|
751
|
+
min: 0,
|
|
752
|
+
step: 0.01,
|
|
753
|
+
type: "range",
|
|
754
|
+
label: "Граница затухания связи при анимации ноды",
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
id: "highlightByNodeArrowFadingMin",
|
|
758
|
+
initialValue: LINK_SETTINGS.highlightByNodeArrowFadingMin,
|
|
759
|
+
max: 1,
|
|
760
|
+
min: 0,
|
|
761
|
+
step: 0.01,
|
|
762
|
+
type: "range",
|
|
763
|
+
label: "Граница затухания стрелки при анимации ноды",
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
id: "highlightByLinkLinkFadingMin",
|
|
767
|
+
initialValue: LINK_SETTINGS.highlightByLinkLinkFadingMin,
|
|
768
|
+
max: 1,
|
|
769
|
+
min: 0,
|
|
770
|
+
step: 0.01,
|
|
771
|
+
type: "range",
|
|
772
|
+
label: "Граница затухания связи при анимации связи",
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
id: "highlightByLinkArrowFadingMin",
|
|
776
|
+
initialValue: LINK_SETTINGS.highlightByLinkArrowFadingMin,
|
|
777
|
+
max: 1,
|
|
778
|
+
min: 0,
|
|
779
|
+
step: 0.01,
|
|
780
|
+
type: "range",
|
|
781
|
+
label: "Граница затухания стрелки при анимации связи",
|
|
410
782
|
},
|
|
411
783
|
];
|
|
412
|
-
return keys
|
|
784
|
+
return keys
|
|
785
|
+
? LINK_SETTINGS_CONTROLS.filter((control) => keys.includes(control.id))
|
|
786
|
+
: LINK_SETTINGS_CONTROLS;
|
|
413
787
|
}
|
|
414
|
-
function
|
|
788
|
+
function getLinkOptionsControls(keys) {
|
|
415
789
|
const LINK_CONTROLS = [
|
|
416
790
|
{
|
|
417
791
|
id: "alpha",
|
|
@@ -449,6 +823,24 @@ function getLinkControls(keys) {
|
|
|
449
823
|
label: "Размер стрелки",
|
|
450
824
|
initialValue: LINK_OPTIONS.arrowSize,
|
|
451
825
|
},
|
|
826
|
+
{
|
|
827
|
+
id: "arrowBorderWidth",
|
|
828
|
+
type: "range",
|
|
829
|
+
max: 10,
|
|
830
|
+
min: 0.1,
|
|
831
|
+
step: 0.1,
|
|
832
|
+
label: "Размер границы стрелки",
|
|
833
|
+
initialValue: LINK_OPTIONS.arrowBorderWidth,
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
id: "particleBorderWidth",
|
|
837
|
+
type: "range",
|
|
838
|
+
max: 10,
|
|
839
|
+
min: 0.1,
|
|
840
|
+
step: 0.1,
|
|
841
|
+
label: "Размер границы частиц",
|
|
842
|
+
initialValue: LINK_OPTIONS.particleBorderWidth,
|
|
843
|
+
},
|
|
452
844
|
{
|
|
453
845
|
id: "particleAlpha",
|
|
454
846
|
type: "range",
|
|
@@ -498,44 +890,26 @@ function getLinkControls(keys) {
|
|
|
498
890
|
label: "Цвет стрелки",
|
|
499
891
|
},
|
|
500
892
|
{
|
|
501
|
-
id: "
|
|
893
|
+
id: "arrowBorderColor",
|
|
502
894
|
type: "color",
|
|
503
|
-
initialValue:
|
|
504
|
-
label: "Цвет
|
|
505
|
-
},
|
|
506
|
-
{
|
|
507
|
-
id: "highlightFading",
|
|
508
|
-
type: "checkbox",
|
|
509
|
-
label: "Анимация Затухания",
|
|
510
|
-
initialValue: LINK_OPTIONS.highlightFading,
|
|
511
|
-
},
|
|
512
|
-
{
|
|
513
|
-
id: "pretty",
|
|
514
|
-
type: "checkbox",
|
|
515
|
-
label: "Обсчет соединения",
|
|
516
|
-
initialValue: LINK_OPTIONS.pretty,
|
|
517
|
-
},
|
|
518
|
-
{
|
|
519
|
-
id: "arrow",
|
|
520
|
-
type: "checkbox",
|
|
521
|
-
label: "Стрелка",
|
|
522
|
-
initialValue: LINK_OPTIONS.arrow,
|
|
895
|
+
initialValue: LINK_OPTIONS.arrowBorderColor,
|
|
896
|
+
label: "Цвет границы стрелки",
|
|
523
897
|
},
|
|
524
898
|
{
|
|
525
|
-
id: "
|
|
526
|
-
type: "
|
|
527
|
-
|
|
528
|
-
|
|
899
|
+
id: "particleColor",
|
|
900
|
+
type: "color",
|
|
901
|
+
initialValue: LINK_OPTIONS.particleColor,
|
|
902
|
+
label: "Цвет частиц",
|
|
529
903
|
},
|
|
530
904
|
{
|
|
531
|
-
id: "
|
|
532
|
-
type: "
|
|
533
|
-
|
|
534
|
-
|
|
905
|
+
id: "particleBorderColor",
|
|
906
|
+
type: "color",
|
|
907
|
+
initialValue: LINK_OPTIONS.particleBorderColor,
|
|
908
|
+
label: "Цвет границы частиц",
|
|
535
909
|
},
|
|
536
910
|
];
|
|
537
911
|
return keys ? LINK_CONTROLS.filter((control) => keys.includes(control.id)) : LINK_CONTROLS;
|
|
538
912
|
}
|
|
539
913
|
|
|
540
|
-
export { getForceControls, getGraphControls,
|
|
914
|
+
export { getForceControls, getGraphControls, getLinkOptionsControls, getLinkSettingsControls, getNodeOptionsControls, getNodeSettingControls };
|
|
541
915
|
//# sourceMappingURL=get-controls-info.js.map
|