@neo4j-nvl/base 2.0.0-c8e499dc → 2.0.0-ec6fdba7
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/CHANGELOG.md +23 -0
- package/dist/base.mjs +1062 -1058
- package/dist/types/index.d.ts +382 -385
- package/dist/types/layouts/animatedlayout/AnimatedLayout.d.ts +23 -23
- package/dist/types/layouts/animatedlayout/animationUtils.d.ts +3 -3
- package/dist/types/layouts/circularLayout/CircularLayout.d.ts +14 -14
- package/dist/types/layouts/d3forcelayout/circularLayout.d.ts +4 -4
- package/dist/types/layouts/d3forcelayout/constants.d.ts +3 -3
- package/dist/types/layouts/d3forcelayout/d3ForceLayout.d.ts +31 -31
- package/dist/types/layouts/d3forcelayout/types.d.ts +7 -7
- package/dist/types/layouts/forcedirectedlayout/PhysLayout.d.ts +261 -261
- package/dist/types/layouts/forcedirectedlayout/clustering/ClusterByMerger.d.ts +52 -52
- package/dist/types/layouts/forcedirectedlayout/clustering/SolarMerger.d.ts +49 -49
- package/dist/types/layouts/forcedirectedlayout/clustering/clustering-utils.d.ts +35 -35
- package/dist/types/layouts/forcedirectedlayout/clustering/types.d.ts +39 -39
- package/dist/types/layouts/forcedirectedlayout/glwrapper.d.ts +3 -3
- package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-fragment.d.ts +1 -1
- package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-repulsive-fragment.d.ts +1 -1
- package/dist/types/layouts/forcedirectedlayout/shaders/multilevel-update-fragment.d.ts +1 -1
- package/dist/types/layouts/forcedirectedlayout/shaders/sim-vertex.d.ts +1 -1
- package/dist/types/layouts/freeLayout/FreeLayout.d.ts +23 -23
- package/dist/types/layouts/gridLayout/GridLayout.d.ts +26 -26
- package/dist/types/layouts/hierarchicallayout/HierarchicalLayout.d.ts +28 -28
- package/dist/types/layouts/hierarchicallayout/constants.d.ts +2 -2
- package/dist/types/modules/CallbackHelper.d.ts +23 -23
- package/dist/types/modules/ExternalCallbackHandler.d.ts +33 -33
- package/dist/types/modules/NvlController.d.ts +212 -209
- package/dist/types/modules/Shader.d.ts +17 -17
- package/dist/types/modules/ZoomTransitionHandler.d.ts +24 -24
- package/dist/types/modules/dataset.d.ts +24 -24
- package/dist/types/modules/logging.d.ts +4 -4
- package/dist/types/modules/state/constants.d.ts +2 -2
- package/dist/types/modules/state/state.d.ts +2 -2
- package/dist/types/modules/state/types.d.ts +296 -288
- package/dist/types/modules/state/utils.d.ts +36 -36
- package/dist/types/renderers/ClusterOverlay.d.ts +67 -67
- package/dist/types/renderers/domrenderer/BaseRenderer.d.ts +69 -69
- package/dist/types/renderers/domrenderer/canvasrenderer/Animation.d.ts +57 -57
- package/dist/types/renderers/domrenderer/canvasrenderer/AnimationHandler.d.ts +65 -65
- package/dist/types/renderers/domrenderer/canvasrenderer/CanvasRenderer.d.ts +84 -85
- package/dist/types/renderers/domrenderer/canvasrenderer/arrowDrawing.d.ts +31 -31
- package/dist/types/renderers/domrenderer/canvasrenderer/nodeDrawing.d.ts +32 -32
- package/dist/types/renderers/domrenderer/shared/ImageCache.d.ts +16 -16
- package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundle.d.ts +89 -89
- package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundler.d.ts +42 -42
- package/dist/types/renderers/domrenderer/shared/arrows/arrows.d.ts +49 -49
- package/dist/types/renderers/domrenderer/shared/arrows/constants.d.ts +4 -4
- package/dist/types/renderers/domrenderer/shared/nodes/nodes.d.ts +21 -21
- package/dist/types/renderers/domrenderer/shared/types.d.ts +29 -29
- package/dist/types/renderers/domrenderer/shared/util.d.ts +4 -4
- package/dist/types/renderers/domrenderer/shared/vectorUtils.d.ts +10 -10
- package/dist/types/renderers/domrenderer/shared/wordwrap.d.ts +10 -10
- package/dist/types/renderers/domrenderer/svgrenderer/SvgRenderer.d.ts +18 -19
- package/dist/types/renderers/domrenderer/svgrenderer/arrowDrawing.d.ts +15 -15
- package/dist/types/renderers/domrenderer/svgrenderer/nodeDrawing.d.ts +4 -4
- package/dist/types/renderers/domrenderer/svgrenderer/svgUtils.d.ts +21 -21
- package/dist/types/renderers/webglrenderer/Controller.d.ts +83 -82
- package/dist/types/renderers/webglrenderer/IconLayerRegistry.d.ts +8 -8
- package/dist/types/renderers/webglrenderer/Renderer.d.ts +89 -89
- package/dist/types/renderers/webglrenderer/node-animation-fragment.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/node-animation-vertex.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/node-fragment-point.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/node-vertex-point.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/rel-fragment-line.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/rel-glsl-utils.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/rel-vertex-arrow.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/rel-vertex-line.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/viewport-box-fragment.d.ts +1 -1
- package/dist/types/renderers/webglrenderer/viewport-box-vertex.d.ts +1 -1
- package/dist/types/types/graph-element.d.ts +103 -103
- package/dist/types/types/nvl-window-functions.d.ts +12 -13
- package/dist/types/types/utils.d.ts +1 -1
- package/dist/types/utils/ariaUtils.d.ts +2 -2
- package/dist/types/utils/canvasManagement.d.ts +1 -1
- package/dist/types/utils/circularUtils.d.ts +2 -2
- package/dist/types/utils/clusterGeometry.d.ts +3 -3
- package/dist/types/utils/clusterHitRegions.d.ts +12 -12
- package/dist/types/utils/colorUtils.d.ts +2 -2
- package/dist/types/utils/constants.d.ts +6 -6
- package/dist/types/utils/errors.d.ts +6 -6
- package/dist/types/utils/geometry.d.ts +48 -48
- package/dist/types/utils/graphObjectUtils.d.ts +9 -9
- package/dist/types/utils/hitTest.d.ts +47 -47
- package/dist/types/utils/jsDriverResultTransformer.d.ts +16 -16
- package/dist/types/utils/layoutSeeding.d.ts +2 -2
- package/dist/types/utils/mouseUtils.d.ts +5 -5
- package/dist/types/utils/segmentAnalytics.d.ts +42 -42
- package/dist/types/utils/webWorkerUtils.d.ts +1 -1
- package/dist/types/utils/zoomFunctions.d.ts +16 -15
- package/package.json +12 -10
- package/skills/neo4j-nvl-skill/SKILL.md +238 -398
- package/skills/neo4j-nvl-skill/references/api/base/classes/NVL.md +977 -0
- package/skills/neo4j-nvl-skill/references/api/base/functions/getZoomTargetForNodePositions.md +37 -0
- package/skills/neo4j-nvl-skill/references/api/base/index.md +71 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/CircularOptions.md +11 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/ClusteringOptions.md +14 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/ExternalCallbacks.md +18 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/ForceDirectedOptions.md +12 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/HierarchicalOptions.md +13 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetCluster.md +13 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetNode.md +16 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/HitTargetRelationship.md +15 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/Node.md +32 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/NvlMouseEvent.md +16 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/NvlOptions.md +38 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/Point.md +12 -0
- package/skills/neo4j-nvl-skill/references/api/base/interfaces/Relationship.md +32 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/CanvasRendererType.md +14 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Cluster.md +20 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ClusterByFn.md +20 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ClusterId.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/HitTargets.md +22 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/HitTestTarget.md +7 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Layout.md +15 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/LayoutOptions.md +12 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/NodeWithClientPosition.md +18 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/PartialNode.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/PartialRelationship.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/Renderer.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/StyledCaption.md +21 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/WebGLRendererType.md +14 -0
- package/skills/neo4j-nvl-skill/references/api/base/type-aliases/ZoomOptions.md +25 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/CircularLayoutType.md +11 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/ForceDirectedLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/FreeLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/GridLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/HierarchicalLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/d3ForceLayoutType.md +9 -0
- package/skills/neo4j-nvl-skill/references/api/base/variables/nvlResultTransformer.md +38 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/BoxSelectInteraction.md +163 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/ClickInteraction.md +163 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/DragNodeInteraction.md +164 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/HoverInteraction.md +160 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/KeyboardInteraction.md +185 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/LassoInteraction.md +163 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/PanInteraction.md +196 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/classes/ZoomInteraction.md +164 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/index.md +37 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/BoxSelectInteractionCallbacks.md +19 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/BoxSelectInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ClickInteractionCallbacks.md +39 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ClickInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/DragNodeInteractionCallbacks.md +21 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/DrawInteractionOptions.md +22 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/HoverInteractionCallbacks.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/HoverInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/KeyboardInteractionCallbacks.md +35 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/KeyboardInteractionOptions.md +55 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/LassoInteractionCallbacks.md +19 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/LassoInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/PanInteractionCallbacks.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/PanInteractionOptions.md +19 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ZoomInteractionCallbacks.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/interaction-handlers/type-aliases/ZoomInteractionOptions.md +17 -0
- package/skills/neo4j-nvl-skill/references/api/react/functions/StaticPictureWrapper.md +35 -0
- package/skills/neo4j-nvl-skill/references/api/react/index.md +34 -0
- package/skills/neo4j-nvl-skill/references/api/react/interfaces/BasicReactWrapperProps.md +24 -0
- package/skills/neo4j-nvl-skill/references/api/react/interfaces/InteractiveNvlWrapperProps.md +27 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/InteractionOptions.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/KeyboardEvent.md +7 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/KeyboardEventCallbacks.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/MouseEvent.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/MouseEventCallbacks.md +10 -0
- package/skills/neo4j-nvl-skill/references/api/react/type-aliases/StaticPictureWrapperProps.md +27 -0
- package/skills/neo4j-nvl-skill/references/api/react/variables/BasicNvlWrapper.md +50 -0
- package/skills/neo4j-nvl-skill/references/api/react/variables/InteractiveNvlWrapper.md +17 -0
- package/skills/neo4j-nvl-skill/references/clustering.md +87 -0
- package/skills/neo4j-nvl-skill/references/data-from-neo4j.md +67 -0
- package/skills/neo4j-nvl-skill/references/labels-and-overlays.md +76 -0
- package/skills/neo4j-nvl-skill/references/layouts-and-positions.md +65 -0
- package/skills/neo4j-nvl-skill/references/lifecycle-and-updates.md +65 -0
- package/skills/neo4j-nvl-skill/references/migrating-1x-to-2.md +50 -0
- package/skills/neo4j-nvl-skill/references/react-wrappers.md +88 -0
- package/skills/neo4j-nvl-skill/references/verifying-nvl-apps.md +52 -0
- package/skills/neo4j-nvl-skill/references/vite-and-bundlers.md +62 -0
- package/dist/types/layouts/animatedlayout/AnimatedLayout.test.d.ts +0 -1
- package/dist/types/layouts/animatedlayout/animationUtils.test.d.ts +0 -1
- package/dist/types/layouts/d3forcelayout/__mocks__/d3ForceLayout.d.ts +0 -10
- package/dist/types/layouts/d3forcelayout/circularLayout.test.d.ts +0 -1
- package/dist/types/layouts/d3forcelayout/d3ForceLayout.test.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/PhysLayout.test.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/clustering/ClusterByMerger.test.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/clustering/SolarMerger.bench.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/clustering/SolarMerger.test.d.ts +0 -1
- package/dist/types/layouts/forcedirectedlayout/clustering/clustering-utils.test.d.ts +0 -1
- package/dist/types/modules/NvlController.test.d.ts +0 -1
- package/dist/types/modules/ZoomTransitionHandler.test.d.ts +0 -1
- package/dist/types/modules/dataset.test.d.ts +0 -1
- package/dist/types/modules/state/state.test.d.ts +0 -1
- package/dist/types/modules/state/utils.test.d.ts +0 -1
- package/dist/types/renderers/ClusterOverlay.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/BaseRenderer.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/canvasrenderer/Animation.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/canvasrenderer/CanvasRenderer.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/canvasrenderer/arrowDrawing.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/canvasrenderer/nodeDrawing.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/ImageCache.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundle.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/arrows/ArrowBundler.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/arrows/arrows.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/nodes/nodes.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/util.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/shared/wordwrap.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/svgrenderer/SvgRenderer.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/svgrenderer/arrowDrawing.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/svgrenderer/nodeDrawing.test.d.ts +0 -1
- package/dist/types/renderers/domrenderer/svgrenderer/svgUtils.test.d.ts +0 -1
- package/dist/types/renderers/webglrenderer/Controller.test.d.ts +0 -1
- package/dist/types/renderers/webglrenderer/IconLayerRegistry.test.d.ts +0 -1
- package/dist/types/renderers/webglrenderer/Renderer.test.d.ts +0 -1
- package/dist/types/utils/ariaUtils.test.d.ts +0 -1
- package/dist/types/utils/canvasManagement.test.d.ts +0 -1
- package/dist/types/utils/circularUtils.test.d.ts +0 -1
- package/dist/types/utils/clusterGeometry.test.d.ts +0 -1
- package/dist/types/utils/clusterHitRegions.test.d.ts +0 -1
- package/dist/types/utils/colorUtils.test.d.ts +0 -1
- package/dist/types/utils/errors.test.d.ts +0 -1
- package/dist/types/utils/geometry.test.d.ts +0 -1
- package/dist/types/utils/graphObjectUtils.test.d.ts +0 -1
- package/dist/types/utils/hitTest.test.d.ts +0 -1
- package/dist/types/utils/jsDriverResultTransformer.test.d.ts +0 -1
- package/dist/types/utils/layoutSeeding.test.d.ts +0 -1
- package/dist/types/utils/mouseUtils.test.d.ts +0 -1
- package/dist/types/utils/webWorkerUtils.test.d.ts +0 -1
- package/dist/types/utils/zoomFunctions.test.d.ts +0 -1
- package/skills/neo4j-nvl-skill/references/api-surface.md +0 -596
- package/skills/neo4j-nvl-skill/references/troubleshooting.md +0 -317
package/dist/types/index.d.ts
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { CompatibilityError } from
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import { getZoomTargetForNodePositions } from './utils/zoomFunctions';
|
|
1
|
+
import { Point } from "./utils/geometry.js";
|
|
2
|
+
import { StyledCaption } from "./renderers/domrenderer/shared/types.js";
|
|
3
|
+
import { Node, NodeWithClientPosition, PartialNode, PartialRelationship, Relationship } from "./types/graph-element.js";
|
|
4
|
+
import { ExternalCallbacks } from "./modules/ExternalCallbackHandler.js";
|
|
5
|
+
import { CanvasRendererType, CircularLayoutType, CircularOptions, Cluster, ClusterByFn, ClusterId, ClusteringOptions, ForceDirectedLayoutType, ForceDirectedOptions, FreeLayoutType, GridLayoutType, HierarchicalLayoutType, HierarchicalOptions, Layout, LayoutOptions, NvlOptions, NvlState, Renderer as Renderer$1, SvgRendererType, WebGLRendererType, ZoomOptions, d3ForceLayoutType } from "./modules/state/types.js";
|
|
6
|
+
import { drawCircleBand } from "./renderers/domrenderer/canvasrenderer/nodeDrawing.js";
|
|
7
|
+
import { CompatibilityError } from "./utils/errors.js";
|
|
8
|
+
import { HitTargetCluster, HitTargetNode, HitTargetRelationship, HitTargets, HitTestTarget } from "./utils/hitTest.js";
|
|
9
|
+
import { nvlResultTransformer } from "./utils/jsDriverResultTransformer.js";
|
|
10
|
+
import { getZoomTargetForNodePositions } from "./utils/zoomFunctions.js";
|
|
12
11
|
/**
|
|
13
12
|
* Extends the MouseEvent interface with the {@link HitTargets} property.
|
|
14
13
|
* The result of a {@link NVL.getHits} call.
|
|
15
14
|
*/
|
|
16
15
|
interface NvlMouseEvent extends MouseEvent {
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
/** The graph elements that have been hit by the pointer event. */
|
|
17
|
+
nvlTargets: HitTargets;
|
|
19
18
|
}
|
|
20
19
|
/**
|
|
21
20
|
* Class for a NVL instance.
|
|
@@ -37,373 +36,373 @@ interface NvlMouseEvent extends MouseEvent {
|
|
|
37
36
|
* ```
|
|
38
37
|
*/
|
|
39
38
|
declare class NVL {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
39
|
+
#private;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a new NVL instance.
|
|
42
|
+
* @param frame - The DOM element to display the graph in.
|
|
43
|
+
* @param nvlNodes - An array of {@link Node nodes}.
|
|
44
|
+
* @param nvlRels - An array of {@link Relationship relationships}.
|
|
45
|
+
* @param options - The {@link NvlOptions options} for the NVL instance.
|
|
46
|
+
* @param callbacks - Callbacks triggered on NVL events.
|
|
47
|
+
*/
|
|
48
|
+
constructor(frame: HTMLElement, nvlNodes?: Node[], nvlRels?: Relationship[], options?: NvlOptions, callbacks?: ExternalCallbacks);
|
|
49
|
+
/**
|
|
50
|
+
* Restarts the NVL instance.
|
|
51
|
+
* @param options - New {@link NvlOptions} for the NVL instance.
|
|
52
|
+
* @param retainPositions - Whether or not to retain the current node positions.
|
|
53
|
+
* New options will be merged with current options
|
|
54
|
+
*/
|
|
55
|
+
restart(options?: NvlOptions, retainPositions?: boolean): void;
|
|
56
|
+
/**
|
|
57
|
+
* Adds nodes and relationships to NVL and updates existing nodes and relationships.
|
|
58
|
+
* @param nodes - An Array of {@link Node nodes} to be added or updated.
|
|
59
|
+
* @param relationships - An Array of {@link Relationship relationships} to be added or updated.
|
|
60
|
+
* To update nodes or relationships, they must have an id that matches the id of the
|
|
61
|
+
* node or relationship to be updated.
|
|
62
|
+
* Only the properties that are provided will be updated.
|
|
63
|
+
* If an existing property is not provided, it will not be changed.
|
|
64
|
+
* @example
|
|
65
|
+
* Adding and updating nodes and relationships
|
|
66
|
+
* ```ts
|
|
67
|
+
* import { NVL } from '@neo4j-nvl/base'
|
|
68
|
+
*
|
|
69
|
+
* const nvl = new NVL(document.getElementById('frame'), [{ id: '0' }], [])
|
|
70
|
+
*
|
|
71
|
+
* const nodes = [
|
|
72
|
+
* { id: '1', label: 'Node 1', color: '#e04141' },
|
|
73
|
+
* { id: '2', label: 'Node 2', color: '#e09c41' }
|
|
74
|
+
* ]
|
|
75
|
+
* const relationships = [
|
|
76
|
+
* { id: '12', from: '1', to: '2' }
|
|
77
|
+
* ]
|
|
78
|
+
* // Adds new nodes and relationships
|
|
79
|
+
* nvl.addAndUpdateElementsInGraph(nodes, relationships)
|
|
80
|
+
* // Updates an existing relationship
|
|
81
|
+
* nvl.addAndUpdateElementsInGraph([], [{ id: '12', color: '#e0df41' }])
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
addAndUpdateElementsInGraph(nodes?: Node[] | PartialNode[], relationships?: Relationship[] | PartialRelationship[]): void;
|
|
85
|
+
/**
|
|
86
|
+
* Gets the currently selected nodes.
|
|
87
|
+
* @returns An array of all currently selected {@link Node nodes} and their positions.
|
|
88
|
+
*/
|
|
89
|
+
getSelectedNodes(): (Node & Point)[];
|
|
90
|
+
/**
|
|
91
|
+
* Gets the currently selected relationships.
|
|
92
|
+
* @returns An array of all currently selected {@link Relationship relationships}.
|
|
93
|
+
*/
|
|
94
|
+
getSelectedRelationships(): Relationship[];
|
|
95
|
+
/**
|
|
96
|
+
* Updates relationships in the current scene with the provided array of nodes and relationships.
|
|
97
|
+
* @param nodes - The updated {@link Node nodes}.
|
|
98
|
+
* @param relationships - The updated {@link Relationship relationships}.
|
|
99
|
+
* Ignores any nodes or relationships that do not exist in the current scene.
|
|
100
|
+
* To update nodes or relationships, they must have an id that matches the id of the
|
|
101
|
+
* node or relationship to be updated.
|
|
102
|
+
* Only the properties that are provided will be updated.
|
|
103
|
+
* If an existing property is not provided, it will not be changed.
|
|
104
|
+
* @example
|
|
105
|
+
* Updating nodes and relationships
|
|
106
|
+
* ```ts
|
|
107
|
+
* import { NVL } from '@neo4j-nvl/base'
|
|
108
|
+
*
|
|
109
|
+
* const nodes = [
|
|
110
|
+
* { id: '1', label: 'Node 1', color: '#e04141' },
|
|
111
|
+
* { id: '2', label: 'Node 2', color: '#e09c41' }
|
|
112
|
+
* ]
|
|
113
|
+
* const relationships = [
|
|
114
|
+
* { id: '12', from: '1', to: '2' }
|
|
115
|
+
* ]
|
|
116
|
+
* const nvl = new NVL(document.getElementById('frame'), nodes, relationships)
|
|
117
|
+
* // Updates an existing node and relationship
|
|
118
|
+
* nvl.updateElementsInGraph([{ id: '1', selected: true }], [{ id: '12', color: '#e0df41' }])
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
updateElementsInGraph(nodes: Node[] | PartialNode[], relationships: Relationship[] | PartialRelationship[]): void;
|
|
122
|
+
/**
|
|
123
|
+
* Adds nodes and relationships in the current scene.
|
|
124
|
+
* @param nodes - The nodes to be added.
|
|
125
|
+
* @param relationships - The relationships to be added.
|
|
126
|
+
*/
|
|
127
|
+
addElementsToGraph(nodes: Node[], relationships: Relationship[]): void;
|
|
128
|
+
/**
|
|
129
|
+
* Removes the specified nodes from the current scene.
|
|
130
|
+
* @param nodeIds - The node ids to be removed.
|
|
131
|
+
* Adjacent relationships will also be removed.
|
|
132
|
+
*/
|
|
133
|
+
removeNodesWithIds(nodeIds: string[]): void;
|
|
134
|
+
/**
|
|
135
|
+
* Removes the specified relationships from the current scene.
|
|
136
|
+
* @param relationshipIds - The relationship ids to be removed.
|
|
137
|
+
*/
|
|
138
|
+
removeRelationshipsWithIds(relationshipIds: string[]): void;
|
|
139
|
+
/**
|
|
140
|
+
* Returns all nodes that is currently stored in the visualisation.
|
|
141
|
+
* Each node includes layout coordinates (`x`, `y`) and a `clientPosition` in screen space.
|
|
142
|
+
* @returns The array of {@link NodeWithClientPosition nodes}.
|
|
143
|
+
*/
|
|
144
|
+
getNodes(): NodeWithClientPosition[];
|
|
145
|
+
/**
|
|
146
|
+
* Returns the relationships that are currently in the visualization.
|
|
147
|
+
* @returns An array of the {@link Relationship relationships} in the visualization.
|
|
148
|
+
*/
|
|
149
|
+
getRelationships(): Relationship[];
|
|
150
|
+
/**
|
|
151
|
+
* Returns the node data that is currently stored in the visualisation for a given id.
|
|
152
|
+
* @param id - The id of the {@link Node node} that should be returned.
|
|
153
|
+
* @returns The {@link Node node} or undefined if there is no node with the given id.
|
|
154
|
+
*/
|
|
155
|
+
getNodeById(id: string): Node;
|
|
156
|
+
/**
|
|
157
|
+
* Returns the relationship data that is currently stored in the visualisation for a given id.
|
|
158
|
+
* @param id - The id of the {@link Relationship relationship} that should be returned.
|
|
159
|
+
* @returns The {@link Relationship relationship} or undefined if there is no relationship with the given id.
|
|
160
|
+
*/
|
|
161
|
+
getRelationshipById(id: string): Relationship;
|
|
162
|
+
/**
|
|
163
|
+
* Returns the node position that is currently stored in the visualisation for a given id.
|
|
164
|
+
* @param id - The id of the node position that should be returned.
|
|
165
|
+
* @returns The position information for the given id, or undefined if there is no such {@link Node node}.
|
|
166
|
+
* or the layout has not yet run with that node.
|
|
167
|
+
*/
|
|
168
|
+
getPositionById(id: string): Node;
|
|
169
|
+
/**
|
|
170
|
+
* Returns the current options.
|
|
171
|
+
* @returns The current options.
|
|
172
|
+
*/
|
|
173
|
+
getCurrentOptions(): NvlOptions;
|
|
174
|
+
/** Removes the graph visualization from the DOM and cleans up everything. */
|
|
175
|
+
destroy(): void;
|
|
176
|
+
/**
|
|
177
|
+
* De-selects all nodes and relationships.
|
|
178
|
+
*/
|
|
179
|
+
deselectAll(): void;
|
|
180
|
+
/**
|
|
181
|
+
* Updates pan and zoom to fit the specified nodes in the viewport.
|
|
182
|
+
* @param nodeIds - The ids of the nodes to fit on the screen.
|
|
183
|
+
* @param zoomOptions - Specific options on how to transition the zoom.
|
|
184
|
+
*
|
|
185
|
+
* @remarks
|
|
186
|
+
* Zoom is limited by {@link ZoomOptions.minZoom} / {@link ZoomOptions.maxZoom} and the
|
|
187
|
+
* {@link NvlOptions.minZoom minZoom} / {@link NvlOptions.maxZoom maxZoom} /
|
|
188
|
+
* {@link NvlOptions.allowDynamicMinZoom allowDynamicMinZoom} options. See those for details.
|
|
189
|
+
*/
|
|
190
|
+
fit(nodeIds: string[], zoomOptions?: NvlState['zoomOptions']): void;
|
|
191
|
+
/**
|
|
192
|
+
* Resets the zoom of the viewport back to the default zoom level of 0.75.
|
|
193
|
+
*/
|
|
194
|
+
resetZoom(): void;
|
|
195
|
+
/**
|
|
196
|
+
* Switches between rendering methods
|
|
197
|
+
* @param renderer - which rendering method to use
|
|
198
|
+
*/
|
|
199
|
+
setRenderer(renderer: string): void;
|
|
200
|
+
/**
|
|
201
|
+
* Restarts NVL with or without WebGL support.
|
|
202
|
+
* @param disabled - Whether or not WebGL should be disabled.
|
|
203
|
+
* @experimental
|
|
204
|
+
*/
|
|
205
|
+
setDisableWebGL(disabled?: boolean): void;
|
|
206
|
+
/**
|
|
207
|
+
* Pins the specified node so it is not affected by layout forces.
|
|
208
|
+
* @param nodeId - The id of the node to be pinned.
|
|
209
|
+
*/
|
|
210
|
+
pinNode(nodeId: string): void;
|
|
211
|
+
/**
|
|
212
|
+
* Un-pins the specified nodes so it is affected by layout forces again.
|
|
213
|
+
* @param nodeIds The ids of the nodes to be un-pinned.
|
|
214
|
+
*/
|
|
215
|
+
unPinNode(nodeIds: string[]): void;
|
|
216
|
+
/**
|
|
217
|
+
* Changes the layout type.
|
|
218
|
+
* @param layout - The {@link Layout} type.
|
|
219
|
+
*/
|
|
220
|
+
setLayout(layout: Layout): void;
|
|
221
|
+
/**
|
|
222
|
+
* Updates the configuration of the current layout.
|
|
223
|
+
* @param options - The {@link LayoutOptions} configuration.
|
|
224
|
+
*/
|
|
225
|
+
setLayoutOptions(options: LayoutOptions): void;
|
|
226
|
+
/**
|
|
227
|
+
* Returns the nodes that are currently in the visualization.
|
|
228
|
+
* The `rels` property of the returned object is always empty.
|
|
229
|
+
* @returns An object containing the nodes and relationships in the visualization.
|
|
230
|
+
*/
|
|
231
|
+
getNodesOnScreen(): {
|
|
232
|
+
/** The nodes in the visualization. */
|
|
233
|
+
nodes: Node[];
|
|
234
|
+
/** The relationships in the visualization. */
|
|
235
|
+
rels: Relationship[];
|
|
236
|
+
};
|
|
237
|
+
/**
|
|
238
|
+
* Fetches and returns the current positions of all nodes as an array of coordinates.
|
|
239
|
+
* @returns An array of {@link Node node} positions.
|
|
240
|
+
*/
|
|
241
|
+
getNodePositions(): (Node & Point)[];
|
|
242
|
+
/**
|
|
243
|
+
* Sets the node positions based on data provided.
|
|
244
|
+
* @param data - The positions that the nodes should be set to.
|
|
245
|
+
* @param updateLayout - Whether or not the current layout algorithm
|
|
246
|
+
* should update the graph after setting the node positions.
|
|
247
|
+
*
|
|
248
|
+
* @remarks
|
|
249
|
+
* For node positions to be unaffected by layout algorithms, use the 'free' layout type
|
|
250
|
+
* or use {@link pinNode} to pin the nodes that should remain still.
|
|
251
|
+
* False by default.
|
|
252
|
+
*/
|
|
253
|
+
setNodePositions(data: Node[], updateLayout?: boolean): void;
|
|
254
|
+
/**
|
|
255
|
+
* Checks and returns whether the current layout is still in flux.
|
|
256
|
+
* @returns Whether or not the layout is moving.
|
|
257
|
+
*/
|
|
258
|
+
isLayoutMoving(): boolean;
|
|
259
|
+
/**
|
|
260
|
+
* Saves the current view of the graph visualization canvas as a png to the client.
|
|
261
|
+
* @param {{ filename: string, backgroundColor: string }} options The filename and background color of the png.
|
|
262
|
+
* @param options.filename - The filename of the png file.
|
|
263
|
+
* @param options.backgroundColor - The background color of the png file.
|
|
264
|
+
* The size of the png file will be the size of the canvas in the DOM.
|
|
265
|
+
*/
|
|
266
|
+
saveToFile(options?: {
|
|
267
|
+
filename?: string;
|
|
268
|
+
backgroundColor?: string;
|
|
269
|
+
}): void;
|
|
270
|
+
/**
|
|
271
|
+
* Saves the entire graph visualization as an SVG file to the client.
|
|
272
|
+
* @param options - Options for the SVG export
|
|
273
|
+
* @param options.filename - The filename of the SVG file.
|
|
274
|
+
* @param options.backgroundColor - The background color of the SVG file.
|
|
275
|
+
* @experimental
|
|
276
|
+
*/
|
|
277
|
+
saveToSvg(options?: {
|
|
278
|
+
filename?: string;
|
|
279
|
+
backgroundColor?: string;
|
|
280
|
+
}): void;
|
|
281
|
+
/**
|
|
282
|
+
* Returns the current view of the graph visualization canvas as a data URL.
|
|
283
|
+
* @param options - The options for the image.
|
|
284
|
+
* @param options.backgroundColor - The background color of the data URL.
|
|
285
|
+
* @returns A data URL of the current view of the graph visualization canvas.
|
|
286
|
+
*/
|
|
287
|
+
getImageDataUrl(options?: {
|
|
288
|
+
backgroundColor?: string;
|
|
289
|
+
}): string;
|
|
290
|
+
/**
|
|
291
|
+
* Returns the entire graph visualization as an SVG data URL.
|
|
292
|
+
* @param options - Options for the SVG export
|
|
293
|
+
* @param options.backgroundColor - The background color of the SVG (defaults to transparent).
|
|
294
|
+
* @returns A Promise resolving to a data URL string representing the graph as SVG (data:image/svg+xml;...)
|
|
295
|
+
* @experimental
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* ```typescript
|
|
299
|
+
* import { NVL } from '@neo4j-nvl/base'
|
|
300
|
+
*
|
|
301
|
+
* const nvl = new NVL(document.getElementById('frame'), [{ id: '0' }], [])
|
|
302
|
+
* const renderSvg = async () => {
|
|
303
|
+
* const svgDataUrl = await nvl.getSvgDataUrl({ backgroundColor: '#ffffff' })
|
|
304
|
+
* const img = document.createElement('img')
|
|
305
|
+
* img.src = svgDataUrl
|
|
306
|
+
* document.body.appendChild(img)
|
|
307
|
+
* }
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
getSvgDataUrl(options?: {
|
|
311
|
+
backgroundColor?: string;
|
|
312
|
+
}): Promise<string>;
|
|
313
|
+
/**
|
|
314
|
+
* Saves the entire graph visualization canvas as a png to the client.
|
|
315
|
+
* @param {{ filename: string, backgroundColor: string }} options The filename and background color of the png.
|
|
316
|
+
* @param options.filename - The filename of the png file.
|
|
317
|
+
* @param options.backgroundColor - The background color of the png file.
|
|
318
|
+
* The size of the png file will be as large as the entire graph at the default zoom level.
|
|
319
|
+
* Can result in a very large file.
|
|
320
|
+
*/
|
|
321
|
+
saveFullGraphToLargeFile(options?: {
|
|
322
|
+
filename?: string;
|
|
323
|
+
backgroundColor?: string;
|
|
324
|
+
}): void;
|
|
325
|
+
getZoomLimits(): {
|
|
326
|
+
minZoom: number;
|
|
327
|
+
maxZoom: number;
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* Sets the zoom of the viewport to a specific value.
|
|
331
|
+
* @param zoomValue - The desired zoom level.
|
|
332
|
+
* @remarks
|
|
333
|
+
*
|
|
334
|
+
* When updating both the zoom level and pan coordinates,
|
|
335
|
+
* use {@link setZoomAndPan} instead of calling {@link setZoom} and {@link setPan}
|
|
336
|
+
* separately to avoid jittering.
|
|
337
|
+
*
|
|
338
|
+
* If the zoom level is outside of the range provided by the
|
|
339
|
+
* {@link NvlOptions.minZoom} and {@link NvlOptions.maxZoom} options,
|
|
340
|
+
* the zoom level will be set to the closest valid zoom level.
|
|
341
|
+
* If {@link NvlOptions.allowDynamicMinZoom} is set to true,
|
|
342
|
+
* the {@link NvlOptions.minZoom} option will be ignored of the current graph does not fit the viewport.
|
|
343
|
+
*/
|
|
344
|
+
setZoom(zoomValue: number): void;
|
|
345
|
+
/**
|
|
346
|
+
* Sets the zoom of the viewport to a specific value.
|
|
347
|
+
* @param panX - The desired panX value.
|
|
348
|
+
* @param panY - The desired panY value.
|
|
349
|
+
* @remarks When updating both the zoom level and pan coordinates,
|
|
350
|
+
* use {@link setZoomAndPan} instead of calling {@link setZoom} and {@link setPan} separately to avoid jittering.
|
|
351
|
+
*/
|
|
352
|
+
setPan(panX: number, panY: number): void;
|
|
353
|
+
/**
|
|
354
|
+
* Sets the zoom and pan of the viewport to specific values.
|
|
355
|
+
* @param zoom - The desired zoom level.
|
|
356
|
+
* @param panX - The desired panX value.
|
|
357
|
+
* @param panY - The desired panY value.
|
|
358
|
+
* @remarks When only updating zoom level or pan coordinates, use {@link setZoom} or {@link setPan} instead.
|
|
359
|
+
*
|
|
360
|
+
* If the zoom level is outside of the range provided by the
|
|
361
|
+
* {@link NvlOptions.minZoom} and {@link NvlOptions.maxZoom} options,
|
|
362
|
+
* the zoom level will be set to the closest valid zoom level.
|
|
363
|
+
* If {@link NvlOptions.allowDynamicMinZoom} is set to true,
|
|
364
|
+
* the {@link NvlOptions.minZoom} option will be ignored of the current graph does not fit the viewport.
|
|
365
|
+
*/
|
|
366
|
+
setZoomAndPan(zoom: number, panX: number, panY: number): void;
|
|
367
|
+
/**
|
|
368
|
+
* Get the current zoom level of the viewport.
|
|
369
|
+
* @returns The current zoom level.
|
|
370
|
+
*/
|
|
371
|
+
getScale(): number;
|
|
372
|
+
/**
|
|
373
|
+
* Returns the current pan of the viewport.
|
|
374
|
+
* @returns The current pan of the viewport.
|
|
375
|
+
*/
|
|
376
|
+
getPan(): Point;
|
|
377
|
+
/**
|
|
378
|
+
* Gets the nodes, relationships, and clusters that have been hit by a pointer event.
|
|
379
|
+
* @param evt - The mouse event.
|
|
380
|
+
* @param targets - The graph elements to check for hits. Defaults to ['node', 'relationship', 'cluster'].
|
|
381
|
+
* @param hitOptions - Options for the hit test.
|
|
382
|
+
* @returns A {@link NvlMouseEvent} with the {@link HitTargets} property
|
|
383
|
+
* containing the nodes, relationships, and clusters that have been hit by the pointer event.
|
|
384
|
+
*
|
|
385
|
+
* @example
|
|
386
|
+
* ```js
|
|
387
|
+
* const container = document.getElementById('frame')
|
|
388
|
+
* const nvl = new NVL(container, [{ id: '0' }], [])
|
|
389
|
+
*
|
|
390
|
+
* // Get the nodes and relationships that have been hit by a pointer event.
|
|
391
|
+
* container?.addEventListener('click', (evt) => {
|
|
392
|
+
* const { nvlTargets } = nvl.getHits(evt)
|
|
393
|
+
* console.log('clicked elements:', nvlTargets)
|
|
394
|
+
* })
|
|
395
|
+
* ```
|
|
396
|
+
*/
|
|
397
|
+
getHits(evt: MouseEvent, targets?: HitTestTarget[], hitOptions?: {
|
|
398
|
+
hitNodeMarginWidth: number;
|
|
399
|
+
}): NvlMouseEvent;
|
|
400
|
+
/**
|
|
401
|
+
* Provides the container DOM element the graph is rendered in.
|
|
402
|
+
* @returns The container element of the NVL instance.
|
|
403
|
+
*/
|
|
404
|
+
getContainer(): HTMLElement;
|
|
405
|
+
private checkWebGLCompatibility;
|
|
407
406
|
}
|
|
408
407
|
/**
|
|
409
408
|
* Functions for mapping colors.
|
|
@@ -411,12 +410,10 @@ declare class NVL {
|
|
|
411
410
|
* @hidden
|
|
412
411
|
*/
|
|
413
412
|
declare const colorMapperFunctions: {
|
|
414
|
-
|
|
413
|
+
textColorForBackground: (color: string) => string;
|
|
415
414
|
};
|
|
416
415
|
/**
|
|
417
416
|
* The different types of renderers available
|
|
418
417
|
*/
|
|
419
|
-
type Renderer = Exclude<
|
|
420
|
-
export default
|
|
421
|
-
export type { NvlOptions, Renderer, Node, NodeWithClientPosition, Relationship, PartialNode, PartialRelationship, Layout, LayoutOptions, ForceDirectedOptions, ClusteringOptions, Cluster, ClusterByFn, ClusterId, HierarchicalOptions, CircularOptions, ExternalCallbacks, HitTargets, HitTargetNode, HitTargetRelationship, HitTargetCluster, HitTestTarget, Point, NvlMouseEvent, ZoomOptions, StyledCaption, WebGLRendererType, CanvasRendererType };
|
|
422
|
-
export { NVL, colorMapperFunctions, CompatibilityError, ForceDirectedLayoutType, HierarchicalLayoutType, GridLayoutType, FreeLayoutType, d3ForceLayoutType, CircularLayoutType, drawCircleBand, nvlResultTransformer, getZoomTargetForNodePositions };
|
|
418
|
+
type Renderer = Exclude<Renderer$1, typeof SvgRendererType>;
|
|
419
|
+
export { type CanvasRendererType, CircularLayoutType, type CircularOptions, type Cluster, type ClusterByFn, type ClusterId, type ClusteringOptions, CompatibilityError, type ExternalCallbacks, ForceDirectedLayoutType, type ForceDirectedOptions, FreeLayoutType, GridLayoutType, HierarchicalLayoutType, type HierarchicalOptions, type HitTargetCluster, type HitTargetNode, type HitTargetRelationship, type HitTargets, type HitTestTarget, type Layout, type LayoutOptions, NVL, NVL as default, type Node, type NodeWithClientPosition, type NvlMouseEvent, type NvlOptions, type PartialNode, type PartialRelationship, type Point, type Relationship, type Renderer, type StyledCaption, type WebGLRendererType, type ZoomOptions, colorMapperFunctions, d3ForceLayoutType, drawCircleBand, getZoomTargetForNodePositions, nvlResultTransformer };
|