@krainovsd/graph 0.12.0-beta.3 → 0.12.0-beta.5
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 +303 -270
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/esm/constants/link-controls.js +0 -6
- package/lib/esm/constants/link-controls.js.map +1 -1
- package/lib/esm/constants/node-controls.js +71 -24
- package/lib/esm/constants/node-controls.js.map +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/module/GraphCanvas/GraphCanvas.js +15 -17
- package/lib/esm/module/GraphCanvas/GraphCanvas.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/link-settings.js +0 -1
- package/lib/esm/module/GraphCanvas/constants/link-settings.js.map +1 -1
- package/lib/esm/module/GraphCanvas/constants/node-settings.js +10 -5
- package/lib/esm/module/GraphCanvas/constants/node-settings.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/settings/node-settings-getter.js +20 -4
- package/lib/esm/module/GraphCanvas/lib/settings/node-settings-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/lib/utils/is-overlaps-node.js +1 -1
- 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 +4 -1
- package/lib/esm/module/GraphCanvas/lib/utils/link-by-pointer-getter.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/draw-links.js +7 -20
- package/lib/esm/module/GraphCanvas/slices/draw-links.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/draw-nodes.js +29 -117
- package/lib/esm/module/GraphCanvas/slices/draw-nodes.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/draw-text.js +1 -24
- package/lib/esm/module/GraphCanvas/slices/draw-text.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/init-simulation.js +7 -55
- package/lib/esm/module/GraphCanvas/slices/init-simulation.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/init-zoom.js +4 -2
- package/lib/esm/module/GraphCanvas/slices/init-zoom.js.map +1 -1
- package/lib/esm/module/GraphCanvas/slices/update-link-cache.js +19 -0
- package/lib/esm/module/GraphCanvas/slices/update-link-cache.js.map +1 -0
- package/lib/esm/module/GraphCanvas/slices/update-node-cache.js +136 -0
- package/lib/esm/module/GraphCanvas/slices/update-node-cache.js.map +1 -0
- package/lib/index.d.ts +28 -28
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -25,12 +25,6 @@ interface NodeInterface<NodeData extends Record<string, unknown>> extends Simula
|
|
|
25
25
|
type NodeShape = "circle" | "square" | "text";
|
|
26
26
|
type TextStyleEnum = "normal" | "italic" | "oblique";
|
|
27
27
|
type CachedNodeTextInterface = Record<string | number, string[] | undefined>;
|
|
28
|
-
type CachedTextNodeParametersMap = Record<string | number, [number, number] | undefined>;
|
|
29
|
-
/**
|
|
30
|
-
* 1. Initial max size of text
|
|
31
|
-
* 2. Initial size of text
|
|
32
|
-
*/
|
|
33
|
-
type CachedTextNodeParametersInterface = [number, number];
|
|
34
28
|
|
|
35
29
|
interface LinkInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> extends SimulationLinkDatum<NodeInterface<NodeData>> {
|
|
36
30
|
data?: LinkData;
|
|
@@ -177,7 +171,6 @@ type HighlightByLinkForArrowSettingsInterface = {
|
|
|
177
171
|
};
|
|
178
172
|
|
|
179
173
|
type LinkSettingsInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
|
|
180
|
-
cacheOptions?: boolean;
|
|
181
174
|
prettyDraw?: boolean;
|
|
182
175
|
arrow?: boolean;
|
|
183
176
|
arrowByHighlight?: boolean;
|
|
@@ -236,13 +229,18 @@ type ListenersInterface<NodeData extends Record<string, unknown>, LinkData exten
|
|
|
236
229
|
};
|
|
237
230
|
|
|
238
231
|
type NodeSettingsInterface<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>> = {
|
|
239
|
-
cacheOptions?: boolean;
|
|
240
232
|
nodeRadiusFlexible?: boolean;
|
|
241
|
-
|
|
242
|
-
|
|
233
|
+
nodeRadiusLinkCountForStep?: number;
|
|
234
|
+
nodeRadiusIncrementByStep?: number;
|
|
235
|
+
nodeRadiusMaxLinearSteps?: number;
|
|
236
|
+
nodeRadiusLogFactor?: number;
|
|
237
|
+
nodeRadiusLinkCountDividerForLog?: number;
|
|
243
238
|
nodeSizeFlexible?: boolean;
|
|
244
|
-
|
|
245
|
-
|
|
239
|
+
nodeSizeLinkCountForStep?: number;
|
|
240
|
+
nodeSizeIncrementByStep?: number;
|
|
241
|
+
nodeSizeMaxLinearSteps?: number;
|
|
242
|
+
nodeSizeLogFactor?: number;
|
|
243
|
+
nodeSizeLinkCountDividerForLog?: number;
|
|
246
244
|
textNodeDebug?: boolean;
|
|
247
245
|
textScaleMin?: number;
|
|
248
246
|
textScaleMax?: number;
|
|
@@ -339,7 +337,6 @@ declare class GraphCanvas<NodeData extends Record<string, unknown>, LinkData ext
|
|
|
339
337
|
protected eventAbortController: AbortController;
|
|
340
338
|
protected cachedNodeText: CachedNodeTextInterface;
|
|
341
339
|
protected cachedNodeLabel: CachedNodeTextInterface;
|
|
342
|
-
protected cachedTextNodeParameters: CachedTextNodeParametersMap;
|
|
343
340
|
protected linkOptionsCache: Record<string, Required<LinkOptionsInterface<NodeData, LinkData>>>;
|
|
344
341
|
protected nodeOptionsCache: Record<string, Required<NodeOptionsInterface<NodeData, LinkData>>>;
|
|
345
342
|
protected isDragging: boolean;
|
|
@@ -356,7 +353,7 @@ declare class GraphCanvas<NodeData extends Record<string, unknown>, LinkData ext
|
|
|
356
353
|
changeSettings(options: Omit<Partial<GraphCanvasInterface<NodeData, LinkData>>, "links" | "nodes" | "listeners">, clearCache?: boolean): undefined;
|
|
357
354
|
updateRect(): void;
|
|
358
355
|
updateSize(): void;
|
|
359
|
-
clearCache(keys?: ("nodeOptionsCache" | "linkOptionsCache"
|
|
356
|
+
clearCache(keys?: ("nodeOptionsCache" | "linkOptionsCache")[]): void;
|
|
360
357
|
tick(): void;
|
|
361
358
|
restart(alpha?: number): void;
|
|
362
359
|
start(): void;
|
|
@@ -388,20 +385,26 @@ declare function nodeTextSizeGetter<NodeData extends Record<string, unknown>, Li
|
|
|
388
385
|
type NodeRadiusGetterOptions = {
|
|
389
386
|
linkCount: number | undefined;
|
|
390
387
|
radiusFlexible: boolean;
|
|
391
|
-
radiusCoefficient: number;
|
|
392
|
-
radiusFactor: number;
|
|
393
388
|
radiusInitial: number;
|
|
389
|
+
radiusLinkCountForStep: number;
|
|
390
|
+
radiusIncrementByStep: number;
|
|
391
|
+
radiusMaxLinearSteps: number;
|
|
392
|
+
radiusLogFactor: number;
|
|
393
|
+
radiusLinkCountDividerForLog: number;
|
|
394
394
|
};
|
|
395
|
-
declare function nodeRadiusGetter({ radiusFlexible, radiusInitial,
|
|
395
|
+
declare function nodeRadiusGetter({ radiusFlexible, linkCount, radiusInitial, radiusIncrementByStep, radiusLinkCountDividerForLog, radiusLinkCountForStep, radiusLogFactor, radiusMaxLinearSteps, }: NodeRadiusGetterOptions): number;
|
|
396
396
|
type NodeSizeGetterOptions = {
|
|
397
397
|
linkCount: number | undefined;
|
|
398
398
|
sizeFlexible: boolean;
|
|
399
|
-
sizeCoefficient: number;
|
|
400
|
-
sizeFactor: number;
|
|
401
399
|
widthInitial: number;
|
|
402
400
|
heightInitial: number;
|
|
401
|
+
sizeLinkCountForStep: number;
|
|
402
|
+
sizeIncrementByStep: number;
|
|
403
|
+
sizeMaxLinearSteps: number;
|
|
404
|
+
sizeLogFactor: number;
|
|
405
|
+
sizeLinkCountDividerForLog: number;
|
|
403
406
|
};
|
|
404
|
-
declare function nodeSizeGetter({ heightInitial, linkCount,
|
|
407
|
+
declare function nodeSizeGetter({ heightInitial, linkCount, sizeFlexible, widthInitial, sizeIncrementByStep, sizeLinkCountDividerForLog, sizeLinkCountForStep, sizeLogFactor, sizeMaxLinearSteps, }: NodeSizeGetterOptions): {
|
|
405
408
|
width: number;
|
|
406
409
|
height: number;
|
|
407
410
|
additionalSizeCoefficient: number;
|
|
@@ -553,15 +556,14 @@ declare function extractLinkPointIds<NodeData extends Record<string, unknown>, L
|
|
|
553
556
|
targetId: string | number;
|
|
554
557
|
};
|
|
555
558
|
|
|
556
|
-
declare function getDrawLink<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(): (this: GraphCanvas<NodeData, LinkData>, link: LinkInterface<NodeData, LinkData
|
|
559
|
+
declare function getDrawLink<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(): (this: GraphCanvas<NodeData, LinkData>, link: LinkInterface<NodeData, LinkData>) => void;
|
|
557
560
|
|
|
558
|
-
declare function getDrawNode<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(nodeRenders: (() => void)[], textRenders: (() => void)[]): (this: GraphCanvas<NodeData, LinkData>, node: NodeInterface<NodeData
|
|
561
|
+
declare function getDrawNode<NodeData extends Record<string, unknown>, LinkData extends Record<string, unknown>>(nodeRenders: (() => void)[], textRenders: (() => void)[]): (this: GraphCanvas<NodeData, LinkData>, node: NodeInterface<NodeData>) => void;
|
|
559
562
|
|
|
560
563
|
type DrawTextOptions = {
|
|
561
|
-
|
|
564
|
+
lines: string[];
|
|
562
565
|
x: number;
|
|
563
566
|
y: number;
|
|
564
|
-
text: string;
|
|
565
567
|
textSize: number;
|
|
566
568
|
textStyle: TextStyleEnum;
|
|
567
569
|
textWeight: number;
|
|
@@ -570,10 +572,8 @@ type DrawTextOptions = {
|
|
|
570
572
|
textGap: number;
|
|
571
573
|
textAlign: CanvasTextAlign;
|
|
572
574
|
context: CanvasRenderingContext2D;
|
|
573
|
-
cachedNodeText: CachedNodeTextInterface;
|
|
574
|
-
maxWidth?: number;
|
|
575
575
|
};
|
|
576
|
-
declare function drawText({ context,
|
|
576
|
+
declare function drawText({ context, textAlign, textColor, textFont, textStyle, textGap, textWeight, textSize, x, y, lines, }: DrawTextOptions): void;
|
|
577
577
|
|
|
578
578
|
declare const COMMON_SETTINGS: {
|
|
579
579
|
nodeRadius: number;
|
|
@@ -674,4 +674,4 @@ declare const NODE_OPTIONS_TEXT_CONTROLS: GraphSettingsInputInterface<keyof Node
|
|
|
674
674
|
declare const NODE_OPTIONS_LABEL_CONTROLS: GraphSettingsInputInterface<keyof NodeOptionsLabelInterface>[];
|
|
675
675
|
|
|
676
676
|
export { COMMON_SETTINGS, FORCE_CONTROLS, FORCE_SETTINGS, GRAPH_SETTINGS, GraphCanvas, HIGHLIGHT_BY_LINK_FOR_ARROW_CONTROLS, HIGHLIGHT_BY_LINK_FOR_LABEL_CONTROLS, HIGHLIGHT_BY_LINK_FOR_LINK_CONTROLS, HIGHLIGHT_BY_LINK_FOR_NODE_CONTROLS, HIGHLIGHT_BY_LINK_FOR_TEXT_CONTROLS, HIGHLIGHT_BY_NODE_FOR_ARROW_CONTROLS, HIGHLIGHT_BY_NODE_FOR_LABEL_CONTROLS, HIGHLIGHT_BY_NODE_FOR_LINK_CONTROLS, HIGHLIGHT_BY_NODE_FOR_NODE_CONTROLS, HIGHLIGHT_BY_NODE_FOR_TEXT_CONTROLS, HIGHLIGHT_COMMON_CONTROLS, HIGHLIGHT_SETTINGS, LINK_OPTIONS, LINK_OPTIONS_ARROW_CONTROLS, LINK_OPTIONS_LINK_CONTROLS, LINK_OPTIONS_PARTICLE_CONTROLS, LINK_SETTINGS, LINK_SETTINGS_CONTROLS, NODE_OPTIONS, NODE_OPTIONS_LABEL_CONTROLS, NODE_OPTIONS_NODE_CONTROLS, NODE_OPTIONS_TEXT_CONTROLS, NODE_SETTINGS, NODE_SETTINGS_CONTROLS, animationByProgress, calculateLinkPositionByNode, colorGetter, colorToRgb, dragPlaceCoefficientGetter, drawText, extractLinkPointIds, extractRgb, fadeRgb, forceSettingsGetter, getDrawLink, getDrawNode, getParticlePosition, graphSettingsGetter, highlightSettingsGetter, isNodeVisible, isOverlapsNode, linkByPointerGetter, linkFade, linkHighlight, linkIterationExtractor, linkOptionsGetter, linkSettingsGetter, listenersGetter, nodeByPointerGetter, nodeFade, nodeHighlight, nodeIdGetter, nodeIterationExtractor, nodeOptionsGetter, nodeRadiusGetter, nodeSettingsGetter, nodeSizeGetter, nodeTextSizeGetter, pointerGetter, rgbAnimationByProgress };
|
|
677
|
-
export type { CachedNodeTextInterface,
|
|
677
|
+
export type { CachedNodeTextInterface, DragEventInterface, ForceSettingsInterface, GraphCanvasInterface, GraphCanvasSimulation, GraphSettingsInputInterface, GraphSettingsInterface, HighlighCommonSettingsInterface, HighlightByLinkForArrowSettingsInterface, HighlightByLinkForLabelSettingsInterface, HighlightByLinkForLinkSettingsInterface, HighlightByLinkForNodeSettingsInterface, HighlightByLinkForTextSettingsInterface, HighlightByNodeForArrowSettingsInterface, HighlightByNodeForLabelSettingsInterface, HighlightByNodeForLinkSettingsInterface, HighlightByNodeForNodeSettingsInterface, HighlightByNodeForTextSettingsInterface, HighlightSettingsInterface, LinkByPointerGetterOptions, LinkInterface, LinkIterationPropsInterface, LinkIterationPropsNoThisInterface, LinkOptionsArrowInterface, LinkOptionsInterface, LinkOptionsLinkInterface, LinkOptionsParticleInterface, LinkParticle, LinkSettingsInterface, ListenersInterface, NodeByPointerGetterOptions, NodeInterface, NodeIterationPropsInterface, NodeIterationPropsNoThisInterface, NodeOptionsInterface, NodeOptionsLabelInterface, NodeOptionsNodeInterface, NodeOptionsTextInterface, NodeRadiusGetterOptions, NodeSettingsInterface, NodeShape, NodeSizeGetterOptions, RGB, TextStyleEnum, ZoomEventInterface };
|