@visuallyjs/browser-ui 1.0.0
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/css/visuallyjs-theme.css +148 -0
- package/css/visuallyjs.css +1879 -0
- package/js/visuallyjs.browser-ui.cjs.js +143 -0
- package/js/visuallyjs.browser-ui.esm.js +143 -0
- package/package.json +16 -0
- package/types/browser-ui/base-dom-ui-layout-adapter.d.ts +14 -0
- package/types/browser-ui/browser-ui.d.ts +95 -0
- package/types/browser-ui/browser-util.d.ts +233 -0
- package/types/browser-ui/browser-visuallyjs-instance.d.ts +881 -0
- package/types/browser-ui/canvas-layout-adapter.d.ts +15 -0
- package/types/browser-ui/collicat.d.ts +245 -0
- package/types/browser-ui/components/controls/controls-component.d.ts +137 -0
- package/types/browser-ui/components/controls/copy-paste-controls-component.d.ts +9 -0
- package/types/browser-ui/components/controls/css-classes.d.ts +79 -0
- package/types/browser-ui/components/controls/index.d.ts +4 -0
- package/types/browser-ui/components/controls/svg-export-component.d.ts +60 -0
- package/types/browser-ui/components/edge-type-picker/edge-type-picker.d.ts +37 -0
- package/types/browser-ui/components/edge-type-picker/index.d.ts +1 -0
- package/types/browser-ui/components/index.d.ts +4 -0
- package/types/browser-ui/components/inspector/color-picker-tag.d.ts +32 -0
- package/types/browser-ui/components/inspector/definitions.d.ts +114 -0
- package/types/browser-ui/components/inspector/edge-type-tag.d.ts +15 -0
- package/types/browser-ui/components/inspector/index.d.ts +6 -0
- package/types/browser-ui/components/inspector/inspector.d.ts +138 -0
- package/types/browser-ui/components/inspector/shape-type-inspector.d.ts +43 -0
- package/types/browser-ui/components/inspector/vanilla-inspector.d.ts +39 -0
- package/types/browser-ui/components/palette/index.d.ts +2 -0
- package/types/browser-ui/components/palette/palette-content-generator.d.ts +14 -0
- package/types/browser-ui/components/palette/palette-options.d.ts +159 -0
- package/types/browser-ui/components/palette/palette.d.ts +126 -0
- package/types/browser-ui/connector-editor.d.ts +65 -0
- package/types/browser-ui/connector-editors/anchors.d.ts +31 -0
- package/types/browser-ui/connector-editors/css-constants.d.ts +33 -0
- package/types/browser-ui/connector-editors/definitions.d.ts +74 -0
- package/types/browser-ui/connector-editors/editor-base.d.ts +177 -0
- package/types/browser-ui/connector-editors/index.d.ts +52 -0
- package/types/browser-ui/connector-editors/util.d.ts +33 -0
- package/types/browser-ui/connector-editors-bezier/bezier-editor.d.ts +82 -0
- package/types/browser-ui/connector-editors-bezier/css-constants.d.ts +42 -0
- package/types/browser-ui/connector-editors-bezier/index.d.ts +9 -0
- package/types/browser-ui/connector-editors-orthogonal/css-constants.d.ts +28 -0
- package/types/browser-ui/connector-editors-orthogonal/index.d.ts +9 -0
- package/types/browser-ui/connector-editors-orthogonal/orthogonal-editor.d.ts +86 -0
- package/types/browser-ui/connector-editors-straight/auto-split-mode.d.ts +24 -0
- package/types/browser-ui/connector-editors-straight/click-split-mode.d.ts +20 -0
- package/types/browser-ui/connector-editors-straight/css-constants.d.ts +30 -0
- package/types/browser-ui/connector-editors-straight/definitions.d.ts +69 -0
- package/types/browser-ui/connector-editors-straight/index.d.ts +11 -0
- package/types/browser-ui/connector-editors-straight/straight-editor.d.ts +42 -0
- package/types/browser-ui/constants.d.ts +79 -0
- package/types/browser-ui/copy-paste/clipboard.d.ts +34 -0
- package/types/browser-ui/copy-paste/index.d.ts +2 -0
- package/types/browser-ui/copy-paste/transformer.d.ts +14 -0
- package/types/browser-ui/css-constants.d.ts +436 -0
- package/types/browser-ui/d.d.ts +2 -0
- package/types/browser-ui/definitions.d.ts +442 -0
- package/types/browser-ui/dialogs/binder.d.ts +49 -0
- package/types/browser-ui/dialogs/constants.d.ts +51 -0
- package/types/browser-ui/dialogs/dialogs.d.ts +30 -0
- package/types/browser-ui/dialogs/index.d.ts +3 -0
- package/types/browser-ui/drag-manager-2.d.ts +54 -0
- package/types/browser-ui/edge-handler-base.d.ts +168 -0
- package/types/browser-ui/edge-input-handler.d.ts +116 -0
- package/types/browser-ui/edge-mappings/flowchart-basic.d.ts +22 -0
- package/types/browser-ui/edge-mappings/index.d.ts +1 -0
- package/types/browser-ui/edge-relocate-handler.d.ts +51 -0
- package/types/browser-ui/element-drag-handler-2.d.ts +254 -0
- package/types/browser-ui/element-dragger.d.ts +45 -0
- package/types/browser-ui/element-facade.d.ts +11 -0
- package/types/browser-ui/event-manager.d.ts +50 -0
- package/types/browser-ui/fixed-layer.d.ts +107 -0
- package/types/browser-ui/group-layout-adapter.d.ts +19 -0
- package/types/browser-ui/html-element-overlay.d.ts +32 -0
- package/types/browser-ui/icons/definitions.d.ts +59 -0
- package/types/browser-ui/icons/icon-renderer.d.ts +43 -0
- package/types/browser-ui/icons/index.d.ts +2 -0
- package/types/browser-ui/index.d.ts +48 -0
- package/types/browser-ui/pan-zoom-options.d.ts +262 -0
- package/types/browser-ui/pan-zoom.d.ts +674 -0
- package/types/browser-ui/paper-renderer/definitions.d.ts +83 -0
- package/types/browser-ui/paper-renderer/index.d.ts +2 -0
- package/types/browser-ui/paper-renderer/paper.d.ts +50 -0
- package/types/browser-ui/pinch-listener.d.ts +33 -0
- package/types/browser-ui/plugins/background/available-backgrounds.d.ts +12 -0
- package/types/browser-ui/plugins/background/background-options.d.ts +62 -0
- package/types/browser-ui/plugins/background/background-plugin.d.ts +62 -0
- package/types/browser-ui/plugins/background/generated-grid-background.d.ts +230 -0
- package/types/browser-ui/plugins/background/index.d.ts +6 -0
- package/types/browser-ui/plugins/background/simple-background.d.ts +33 -0
- package/types/browser-ui/plugins/background/tiled-background.d.ts +118 -0
- package/types/browser-ui/plugins/browser-ui-plugin.d.ts +90 -0
- package/types/browser-ui/plugins/edge-routing/index.d.ts +66 -0
- package/types/browser-ui/plugins/index.d.ts +5 -0
- package/types/browser-ui/plugins/selected-edge-highlight/index.d.ts +1 -0
- package/types/browser-ui/plugins/selected-edge-highlight/selected-edge-highlight-plugin.d.ts +36 -0
- package/types/browser-ui/plugins/ui-states/index.d.ts +2 -0
- package/types/browser-ui/plugins/ui-states/ui-state.d.ts +14 -0
- package/types/browser-ui/plugins/ui-states/ui-states-plugin.d.ts +69 -0
- package/types/browser-ui/positioning-and-sizing-utils.d.ts +103 -0
- package/types/browser-ui/shape-library/index.d.ts +4 -0
- package/types/browser-ui/shape-library/shape-library-definitions.d.ts +243 -0
- package/types/browser-ui/shape-library/shape-library.d.ts +266 -0
- package/types/browser-ui/shape-library/shapes-basic.d.ts +7 -0
- package/types/browser-ui/shape-library/shapes-flowchart.d.ts +7 -0
- package/types/browser-ui/storage.d.ts +8 -0
- package/types/browser-ui/surface-renderer/anim/anim.d.ts +64 -0
- package/types/browser-ui/surface-renderer/anim/constants.d.ts +74 -0
- package/types/browser-ui/surface-renderer/anim/definitions.d.ts +134 -0
- package/types/browser-ui/surface-renderer/anim/index.d.ts +4 -0
- package/types/browser-ui/surface-renderer/anim/path-transport.d.ts +23 -0
- package/types/browser-ui/surface-renderer/css-classes.d.ts +64 -0
- package/types/browser-ui/surface-renderer/decorators.d.ts +162 -0
- package/types/browser-ui/surface-renderer/definitions.d.ts +83 -0
- package/types/browser-ui/surface-renderer/diagrams/constants.d.ts +28 -0
- package/types/browser-ui/surface-renderer/diagrams/definitions.d.ts +528 -0
- package/types/browser-ui/surface-renderer/diagrams/diagram-cell.d.ts +123 -0
- package/types/browser-ui/surface-renderer/diagrams/diagram-link.d.ts +116 -0
- package/types/browser-ui/surface-renderer/diagrams/diagram-palette.d.ts +11 -0
- package/types/browser-ui/surface-renderer/diagrams/diagram-tools.d.ts +112 -0
- package/types/browser-ui/surface-renderer/diagrams/diagram.d.ts +221 -0
- package/types/browser-ui/surface-renderer/diagrams/index.d.ts +25 -0
- package/types/browser-ui/surface-renderer/diagrams/mediator.d.ts +59 -0
- package/types/browser-ui/surface-renderer/diagrams/util.d.ts +15 -0
- package/types/browser-ui/surface-renderer/elastic-group-manager.d.ts +102 -0
- package/types/browser-ui/surface-renderer/index.d.ts +34 -0
- package/types/browser-ui/surface-renderer/params.d.ts +175 -0
- package/types/browser-ui/surface-renderer/plugins/controls/controls-plugin.d.ts +26 -0
- package/types/browser-ui/surface-renderer/plugins/controls/index.d.ts +1 -0
- package/types/browser-ui/surface-renderer/plugins/drag-groups/drag-groups-plugin.d.ts +78 -0
- package/types/browser-ui/surface-renderer/plugins/drag-groups/index.d.ts +1 -0
- package/types/browser-ui/surface-renderer/plugins/export-controls/export-controls-plugin.d.ts +25 -0
- package/types/browser-ui/surface-renderer/plugins/export-controls/index.d.ts +1 -0
- package/types/browser-ui/surface-renderer/plugins/index.d.ts +10 -0
- package/types/browser-ui/surface-renderer/plugins/lasso/index.d.ts +2 -0
- package/types/browser-ui/surface-renderer/plugins/lasso/lasso-plugin.d.ts +78 -0
- package/types/browser-ui/surface-renderer/plugins/lasso/lasso.d.ts +74 -0
- package/types/browser-ui/surface-renderer/plugins/miniview/index.d.ts +1 -0
- package/types/browser-ui/surface-renderer/plugins/miniview/miniview-plugin.d.ts +235 -0
- package/types/browser-ui/surface-renderer/plugins/palette/index.d.ts +1 -0
- package/types/browser-ui/surface-renderer/plugins/palette/palette-plugin.d.ts +17 -0
- package/types/browser-ui/surface-renderer/plugins/pan-buttons/index.d.ts +1 -0
- package/types/browser-ui/surface-renderer/plugins/pan-buttons/pan-buttons-plugin.d.ts +55 -0
- package/types/browser-ui/surface-renderer/plugins/resizing-tools/border-drag-handlers.d.ts +3 -0
- package/types/browser-ui/surface-renderer/plugins/resizing-tools/definitions.d.ts +411 -0
- package/types/browser-ui/surface-renderer/plugins/resizing-tools/drag-handlers.d.ts +3 -0
- package/types/browser-ui/surface-renderer/plugins/resizing-tools/handle-gen.d.ts +15 -0
- package/types/browser-ui/surface-renderer/plugins/resizing-tools/index.d.ts +4 -0
- package/types/browser-ui/surface-renderer/plugins/resizing-tools/resizing-tools-plugin.d.ts +185 -0
- package/types/browser-ui/surface-renderer/plugins/resizing-tools/util.d.ts +16 -0
- package/types/browser-ui/surface-renderer/plugins/snaplines/index.d.ts +1 -0
- package/types/browser-ui/surface-renderer/plugins/snaplines/snaplines-plugin.d.ts +128 -0
- package/types/browser-ui/surface-renderer/plugins/vertex-drawing/definitions.d.ts +90 -0
- package/types/browser-ui/surface-renderer/plugins/vertex-drawing/index.d.ts +2 -0
- package/types/browser-ui/surface-renderer/plugins/vertex-drawing/vertex-drawing-plugin.d.ts +64 -0
- package/types/browser-ui/surface-renderer/shape-palette-options.d.ts +127 -0
- package/types/browser-ui/surface-renderer/shape-palette.d.ts +55 -0
- package/types/browser-ui/surface-renderer/surface-decorator.d.ts +35 -0
- package/types/browser-ui/surface-renderer/surface-events.d.ts +9 -0
- package/types/browser-ui/surface-renderer/surface-render-options.d.ts +125 -0
- package/types/browser-ui/surface-renderer/surface.d.ts +665 -0
- package/types/browser-ui/svg-component.d.ts +6 -0
- package/types/browser-ui/svg-element-connector.d.ts +16 -0
- package/types/browser-ui/svg-element-overlay.d.ts +55 -0
- package/types/browser-ui/svg-export/definitions.d.ts +153 -0
- package/types/browser-ui/svg-export/image-export-ui.d.ts +20 -0
- package/types/browser-ui/svg-export/image-exporter.d.ts +15 -0
- package/types/browser-ui/svg-export/index.d.ts +6 -0
- package/types/browser-ui/svg-export/svg-export-ui.d.ts +11 -0
- package/types/browser-ui/svg-export/svg-exporter.d.ts +8 -0
- package/types/browser-ui/svg-export/util.d.ts +23 -0
- package/types/browser-ui/svg-util.d.ts +27 -0
- package/types/browser-ui/templating/browser-ui-recado.d.ts +48 -0
- package/types/browser-ui/templating/custom-tag-definition.d.ts +32 -0
- package/types/browser-ui/templating/index.d.ts +11 -0
- package/types/browser-ui/templating/recado-template-renderer.d.ts +69 -0
- package/types/browser-ui/ui-path.d.ts +57 -0
- package/types/browser-ui/util.d.ts +4 -0
- package/types/browser-ui/wheel-listener.d.ts +2 -0
- package/types/charts/area/area-chart.d.ts +85 -0
- package/types/charts/area/index.d.ts +1 -0
- package/types/charts/bar-and-column/bar-chart.d.ts +34 -0
- package/types/charts/bar-and-column/bar-plot.d.ts +90 -0
- package/types/charts/bar-and-column/column-chart.d.ts +35 -0
- package/types/charts/bar-and-column/index.d.ts +3 -0
- package/types/charts/base-chart.d.ts +395 -0
- package/types/charts/base-xy-chart.d.ts +224 -0
- package/types/charts/bubble/bubble-chart.d.ts +30 -0
- package/types/charts/bubble/definitions.d.ts +32 -0
- package/types/charts/bubble/index.d.ts +2 -0
- package/types/charts/category-value-chart.d.ts +146 -0
- package/types/charts/chart-exporter.d.ts +38 -0
- package/types/charts/chart-zoom-controls.d.ts +23 -0
- package/types/charts/constants.d.ts +16 -0
- package/types/charts/css-classes.d.ts +312 -0
- package/types/charts/datasource.d.ts +61 -0
- package/types/charts/definitions.d.ts +261 -0
- package/types/charts/domain_scale_utilities.d.ts +72 -0
- package/types/charts/dual-value-chart.d.ts +60 -0
- package/types/charts/gauge/definitions.d.ts +108 -0
- package/types/charts/gauge/gauge-chart.d.ts +91 -0
- package/types/charts/gauge/index.d.ts +2 -0
- package/types/charts/index.d.ts +25 -0
- package/types/charts/legend.d.ts +120 -0
- package/types/charts/line/index.d.ts +1 -0
- package/types/charts/line/line-chart.d.ts +79 -0
- package/types/charts/markers.d.ts +13 -0
- package/types/charts/pie/index.d.ts +1 -0
- package/types/charts/pie/pie-chart.d.ts +146 -0
- package/types/charts/plot.d.ts +75 -0
- package/types/charts/sankey/index.d.ts +1 -0
- package/types/charts/sankey/preprocessor.d.ts +37 -0
- package/types/charts/sankey/sankey.d.ts +208 -0
- package/types/charts/scatter/definitions.d.ts +6 -0
- package/types/charts/scatter/index.d.ts +2 -0
- package/types/charts/scatter/scatter-chart.d.ts +16 -0
- package/types/charts/series/array-based-series.d.ts +95 -0
- package/types/charts/series/collation-series.d.ts +24 -0
- package/types/charts/series/definitions.d.ts +52 -0
- package/types/charts/series/dual-value-chart-series.d.ts +26 -0
- package/types/charts/series/index.d.ts +7 -0
- package/types/charts/series/record-based-series.d.ts +58 -0
- package/types/charts/series/series.d.ts +66 -0
- package/types/charts/series/summing-collation-series.d.ts +31 -0
- package/types/charts/series/summing-series.d.ts +19 -0
- package/types/charts/series-based-chart.d.ts +59 -0
- package/types/charts/tooltip.d.ts +167 -0
- package/types/charts/util.d.ts +149 -0
- package/types/core/astar/astar-path-finder.d.ts +37 -0
- package/types/core/astar/astar-util.d.ts +100 -0
- package/types/core/astar/candidate-finder.d.ts +16 -0
- package/types/core/astar/candidate-sorter.d.ts +10 -0
- package/types/core/astar/definitions.d.ts +185 -0
- package/types/core/astar/index.d.ts +3 -0
- package/types/core/astar/path-to-segments.d.ts +45 -0
- package/types/core/autosaver.d.ts +67 -0
- package/types/core/color-generator.d.ts +66 -0
- package/types/core/constants.d.ts +181 -0
- package/types/core/csv-loader.d.ts +84 -0
- package/types/core/datamodel/data-model.d.ts +23 -0
- package/types/core/datamodel/vertex-definition.d.ts +40 -0
- package/types/core/datasource.d.ts +87 -0
- package/types/core/event-constants.d.ts +308 -0
- package/types/core/event-generator.d.ts +102 -0
- package/types/core/filterable-dataset.d.ts +38 -0
- package/types/core/geom.d.ts +278 -0
- package/types/core/index.d.ts +39 -0
- package/types/core/io.d.ts +106 -0
- package/types/core/layout/absolute-layout.d.ts +91 -0
- package/types/core/layout/abstract-layout-adapter.d.ts +17 -0
- package/types/core/layout/abstract-layout.d.ts +192 -0
- package/types/core/layout/circular/circular-layout.d.ts +31 -0
- package/types/core/layout/circular/index.d.ts +1 -0
- package/types/core/layout/empty-layout.d.ts +17 -0
- package/types/core/layout/force-directed/force-directed-layout.d.ts +148 -0
- package/types/core/layout/force-directed/index.d.ts +1 -0
- package/types/core/layout/grid/definitions.d.ts +81 -0
- package/types/core/layout/grid/grid-layout.d.ts +60 -0
- package/types/core/layout/grid/index.d.ts +2 -0
- package/types/core/layout/hierarchical/abstract-hierarchical-layout.d.ts +90 -0
- package/types/core/layout/hierarchical/balloon-layout.d.ts +62 -0
- package/types/core/layout/hierarchical/definitions.d.ts +45 -0
- package/types/core/layout/hierarchical/hierarchical-layout.d.ts +102 -0
- package/types/core/layout/hierarchical/index.d.ts +5 -0
- package/types/core/layout/hierarchical/parent-relative-placement.d.ts +96 -0
- package/types/core/layout/hierarchy/assign-layers-stage.d.ts +26 -0
- package/types/core/layout/hierarchy/crossing-stage.d.ts +78 -0
- package/types/core/layout/hierarchy/definitions.d.ts +261 -0
- package/types/core/layout/hierarchy/edge-routing.d.ts +25 -0
- package/types/core/layout/hierarchy/hierarchy-layout-stage.d.ts +9 -0
- package/types/core/layout/hierarchy/hierarchy-layout.d.ts +87 -0
- package/types/core/layout/hierarchy/index.d.ts +11 -0
- package/types/core/layout/hierarchy/model.d.ts +167 -0
- package/types/core/layout/hierarchy/parent-relative-placement.d.ts +69 -0
- package/types/core/layout/hierarchy/placement-stage.d.ts +82 -0
- package/types/core/layout/hierarchy/util.d.ts +13 -0
- package/types/core/layout/hierarchy/vertex-set.d.ts +45 -0
- package/types/core/layout/index.d.ts +10 -0
- package/types/core/layout/layouts.d.ts +10 -0
- package/types/core/magnetizer.d.ts +232 -0
- package/types/core/model/anchor.d.ts +38 -0
- package/types/core/model/cluster.d.ts +19 -0
- package/types/core/model/defs.d.ts +8 -0
- package/types/core/model/djikstra.d.ts +26 -0
- package/types/core/model/floyd-warshall.d.ts +15 -0
- package/types/core/model/graph.d.ts +1166 -0
- package/types/core/model/path.d.ts +227 -0
- package/types/core/params.d.ts +476 -0
- package/types/core/renderer.d.ts +74 -0
- package/types/core/router/common.d.ts +104 -0
- package/types/core/router/direct-router.d.ts +12 -0
- package/types/core/router/index.d.ts +3 -0
- package/types/core/router/orthogonal-router.d.ts +46 -0
- package/types/core/rtree/definitions.d.ts +24 -0
- package/types/core/rtree/hilbert.d.ts +9 -0
- package/types/core/rtree/index.d.ts +4 -0
- package/types/core/rtree/rtree.d.ts +102 -0
- package/types/core/rtree/util.d.ts +55 -0
- package/types/core/search/index.d.ts +1 -0
- package/types/core/search/visuallyjs-search.d.ts +167 -0
- package/types/core/selection.d.ts +394 -0
- package/types/core/templates/abstract-entry.d.ts +19 -0
- package/types/core/templates/comment-entry.d.ts +11 -0
- package/types/core/templates/core.d.ts +162 -0
- package/types/core/templates/custom-tag.d.ts +74 -0
- package/types/core/templates/defs.d.ts +123 -0
- package/types/core/templates/each-entry.d.ts +23 -0
- package/types/core/templates/element-entry.d.ts +18 -0
- package/types/core/templates/elements.d.ts +14 -0
- package/types/core/templates/executions.d.ts +100 -0
- package/types/core/templates/expressions.d.ts +47 -0
- package/types/core/templates/fake-dom.d.ts +42 -0
- package/types/core/templates/headless.d.ts +15 -0
- package/types/core/templates/if-entry.d.ts +25 -0
- package/types/core/templates/index.d.ts +14 -0
- package/types/core/templates/parser.d.ts +84 -0
- package/types/core/templates/text-entry.d.ts +17 -0
- package/types/core/templates/tmpl-entry.d.ts +13 -0
- package/types/core/toolkit.d.ts +1314 -0
- package/types/core/undo-redo/compound-action.d.ts +19 -0
- package/types/core/undo-redo/edge-action.d.ts +62 -0
- package/types/core/undo-redo/group-action.d.ts +60 -0
- package/types/core/undo-redo/move-action.d.ts +18 -0
- package/types/core/undo-redo/node-group-action.d.ts +62 -0
- package/types/core/undo-redo/port-action.d.ts +29 -0
- package/types/core/undo-redo/renderer-vertex-removed-action.d.ts +17 -0
- package/types/core/undo-redo/set-type-action.d.ts +14 -0
- package/types/core/undo-redo/undo-redo.d.ts +203 -0
- package/types/core/undo-redo/update-action.d.ts +20 -0
- package/types/core/undo-redo/vertex-update-action.d.ts +12 -0
- package/types/core/util.d.ts +661 -0
- package/types/index.d.ts +16 -0
- package/types/l.d.ts +2 -0
- package/types/test-support/index.d.ts +1 -0
- package/types/test-support/test-support.d.ts +833 -0
- package/types/ui/common/abstract-segment.d.ts +88 -0
- package/types/ui/common/anchor.d.ts +280 -0
- package/types/ui/common/connector.d.ts +106 -0
- package/types/ui/common/index.d.ts +5 -0
- package/types/ui/common/overlay.d.ts +117 -0
- package/types/ui/common/paint-style.d.ts +33 -0
- package/types/ui/connector-bezier/abstract-bezier-connector.d.ts +68 -0
- package/types/ui/connector-bezier/bezier-connector.d.ts +34 -0
- package/types/ui/connector-bezier/bezier-segment.d.ts +31 -0
- package/types/ui/connector-bezier/bezier.d.ts +129 -0
- package/types/ui/connector-bezier/index.d.ts +6 -0
- package/types/ui/connector-bezier/operations.d.ts +18 -0
- package/types/ui/connector-bezier/quadratic-bezier-connector.d.ts +35 -0
- package/types/ui/connector-orthogonal/default-orthogonal-path-compute.d.ts +11 -0
- package/types/ui/connector-orthogonal/definitions.d.ts +120 -0
- package/types/ui/connector-orthogonal/index.d.ts +7 -0
- package/types/ui/connector-orthogonal/modern-source-target-relocator.d.ts +37 -0
- package/types/ui/connector-orthogonal/operations.d.ts +49 -0
- package/types/ui/connector-orthogonal/stub-calculators.d.ts +12 -0
- package/types/ui/connector-orthogonal/utils.d.ts +134 -0
- package/types/ui/connector-orthogonal/vertex-avoidance.d.ts +29 -0
- package/types/ui/connector-straight/index.d.ts +2 -0
- package/types/ui/connector-straight/operations.d.ts +55 -0
- package/types/ui/connector-straight/straight-connector.d.ts +121 -0
- package/types/ui/copy-paste/clipboard.d.ts +45 -0
- package/types/ui/copy-paste/copy-data.d.ts +93 -0
- package/types/ui/copy-paste/index.d.ts +2 -0
- package/types/ui/core/callbacks.d.ts +48 -0
- package/types/ui/core/component/component.d.ts +115 -0
- package/types/ui/core/connector/abstract-connector.d.ts +66 -0
- package/types/ui/core/connector/arc-segment.d.ts +39 -0
- package/types/ui/core/connector/connection-impl.d.ts +81 -0
- package/types/ui/core/connector/connections.d.ts +113 -0
- package/types/ui/core/connector/connectors.d.ts +205 -0
- package/types/ui/core/connector/operations.d.ts +0 -0
- package/types/ui/core/connector/segments.d.ts +24 -0
- package/types/ui/core/connector/straight-segment.d.ts +32 -0
- package/types/ui/core/constants.d.ts +181 -0
- package/types/ui/core/context.d.ts +26 -0
- package/types/ui/core/core-events.d.ts +7 -0
- package/types/ui/core/core.d.ts +1734 -0
- package/types/ui/core/css-constants.d.ts +149 -0
- package/types/ui/core/defaults.d.ts +242 -0
- package/types/ui/core/definitions.d.ts +540 -0
- package/types/ui/core/event-constants.d.ts +510 -0
- package/types/ui/core/factory/anchor-record-factory.d.ts +17 -0
- package/types/ui/core/factory/continuous-anchors.d.ts +27 -0
- package/types/ui/core/factory/overlay-factory.d.ts +8 -0
- package/types/ui/core/grid-profile.d.ts +28 -0
- package/types/ui/core/group-collapse-expand.d.ts +23 -0
- package/types/ui/core/group-sizer.d.ts +9 -0
- package/types/ui/core/index.d.ts +45 -0
- package/types/ui/core/magnetize-profile.d.ts +82 -0
- package/types/ui/core/overlay/arrow-overlay.d.ts +34 -0
- package/types/ui/core/overlay/custom-overlay.d.ts +38 -0
- package/types/ui/core/overlay/diamond-overlay.d.ts +14 -0
- package/types/ui/core/overlay/dot-overlay.d.ts +54 -0
- package/types/ui/core/overlay/ellipse-overlay.d.ts +60 -0
- package/types/ui/core/overlay/label-overlay.d.ts +37 -0
- package/types/ui/core/overlay/overlay.d.ts +131 -0
- package/types/ui/core/overlay/plain-arrow-overlay.d.ts +15 -0
- package/types/ui/core/overlay/rectangle-overlay.d.ts +66 -0
- package/types/ui/core/params.d.ts +223 -0
- package/types/ui/core/router/astar-path-finder.d.ts +29 -0
- package/types/ui/core/router/base-router.d.ts +100 -0
- package/types/ui/core/router/default-router.d.ts +38 -0
- package/types/ui/core/router/index.d.ts +5 -0
- package/types/ui/core/router/router-utils.d.ts +118 -0
- package/types/ui/core/router/router.d.ts +30 -0
- package/types/ui/core/type-descriptors.d.ts +83 -0
- package/types/ui/core/ui-model.d.ts +65 -0
- package/types/ui/core/view/common-options.d.ts +15 -0
- package/types/ui/core/view/edge-options.d.ts +126 -0
- package/types/ui/core/view/events.d.ts +159 -0
- package/types/ui/core/view/group-options.d.ts +75 -0
- package/types/ui/core/view/index.d.ts +35 -0
- package/types/ui/core/view/node-options.d.ts +20 -0
- package/types/ui/core/view/node-or-port-options.d.ts +28 -0
- package/types/ui/core/view/port-options.d.ts +51 -0
- package/types/ui/core/view/vertex-options.d.ts +28 -0
- package/types/ui/core/viewport.d.ts +297 -0
- package/types/ui/index.d.ts +9 -0
- package/types/ui/plugins/definitions.d.ts +118 -0
- package/types/ui/plugins/index.d.ts +2 -0
- package/types/ui/plugins/plugins.d.ts +7 -0
- package/types/ui/property-mappings/definitions.d.ts +28 -0
- package/types/ui/property-mappings/index.d.ts +2 -0
- package/types/ui/property-mappings/property-mapper.d.ts +16 -0
- package/types/ui/util/index.d.ts +3 -0
- package/types/ui/util/property-tracker.d.ts +8 -0
- package/types/ui/util/svg-constants.d.ts +111 -0
- package/types/ui/util/util.d.ts +69 -0
- package/types/version.d.ts +1 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Node, Group, Base, Port, Edge, Vertex } from './model/graph';
|
|
2
|
+
import { EdgeAddedParams, EdgeRemovedParams, EdgeSourceChangedParams, EdgeTargetChangedParams, GroupAddedParams, GroupMemberAddedParams, GroupMemberRemovedParams, GroupRemovedParams, NodeAddedParams, NodeRemovedParams, PortAddedParams, PortRemovedParams, VertexUpdatedParams } from "./params";
|
|
3
|
+
import { VisuallyJsSelection } from "./selection";
|
|
4
|
+
/**
|
|
5
|
+
* Definition of a gradient - an array of [offset, color] entries.
|
|
6
|
+
*/
|
|
7
|
+
export type GradientSpec = Array<[number, string]>;
|
|
8
|
+
/**
|
|
9
|
+
* Definition of an object that can render an instance of {@link VisuallyJsModel}. This interface is not something a user of the API needs to be concerned with, unless you are creating your own renderer type.
|
|
10
|
+
*/
|
|
11
|
+
export interface VisuallyJsRenderer<E, EVT = any> {
|
|
12
|
+
id: string;
|
|
13
|
+
bind(evt: EVT, payload: any): void;
|
|
14
|
+
onDestroy(cb: (r: VisuallyJsRenderer<E>) => any): void;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the position of some vertex and updates the model. This method will honour any grid that is currently in effect.
|
|
17
|
+
*/
|
|
18
|
+
setPosition(vertex: Node | Group | E, x: number, y: number): void;
|
|
19
|
+
setSuspendRendering(v: boolean, thenRefresh?: boolean): void;
|
|
20
|
+
expandGroup(group: Group): void;
|
|
21
|
+
collapseGroup(group: Group): void;
|
|
22
|
+
$nodeAdded(p: NodeAddedParams): void;
|
|
23
|
+
$groupAdded(p: GroupAddedParams): void;
|
|
24
|
+
$edgeAdded(data: EdgeAddedParams, context?: Record<string, any>): void;
|
|
25
|
+
$portAdded(p: PortAddedParams): void;
|
|
26
|
+
$nodeRemoved(node: NodeRemovedParams): void;
|
|
27
|
+
$groupRemoved(group: GroupRemovedParams): void;
|
|
28
|
+
$edgeRemoved(data: EdgeRemovedParams): void;
|
|
29
|
+
$portRemoved(data: PortRemovedParams): void;
|
|
30
|
+
/**
|
|
31
|
+
* export the geometry for some edge. Used by the model when the geometry is set on an
|
|
32
|
+
* edge that does not currently have a geometry object.
|
|
33
|
+
* @param edge
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
$exportEdgeGeometry(edge: Edge): any;
|
|
37
|
+
$edgeGeometryUpdated(edge: Edge, geometry: any, originalGeometry: any): void;
|
|
38
|
+
$nodeTypeChanged(node: Node, previousType: string, newType: string): void;
|
|
39
|
+
$groupTypeChanged(group: Group, previousType: string, newType: string): void;
|
|
40
|
+
$edgeTypeChanged(edge: Edge, previousType: string, newType: string): void;
|
|
41
|
+
$portTypeChanged(port: Port, previousType: string, newType: string): void;
|
|
42
|
+
$groupMemberAdded(p: GroupMemberAddedParams): void;
|
|
43
|
+
$groupMemberRemoved(p: GroupMemberRemovedParams): void;
|
|
44
|
+
$vertexUpdated(p: VertexUpdatedParams): void;
|
|
45
|
+
$graphClearStart(): void;
|
|
46
|
+
$graphClearEnd(): void;
|
|
47
|
+
$edgeSourceChanged(params: EdgeSourceChangedParams): void;
|
|
48
|
+
$edgeTargetChanged(params: EdgeTargetChangedParams): void;
|
|
49
|
+
$select(payload: {
|
|
50
|
+
obj: Base;
|
|
51
|
+
selection: VisuallyJsSelection;
|
|
52
|
+
}): void;
|
|
53
|
+
$deselect(payload: {
|
|
54
|
+
selection: VisuallyJsSelection;
|
|
55
|
+
obj: Base;
|
|
56
|
+
}): void;
|
|
57
|
+
$selectionCleared(sel: VisuallyJsSelection): any;
|
|
58
|
+
$dataLoadStart(): any;
|
|
59
|
+
$dataAppendStart(): any;
|
|
60
|
+
$dataLoadEnd(): any;
|
|
61
|
+
$dataAppendEnd(): any;
|
|
62
|
+
$renderDummyVertex(v: Vertex): void;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A lightweight interface for UIs to respond to interactivity events
|
|
66
|
+
* propagated by the model.
|
|
67
|
+
* @group Model
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
export interface UIObserver {
|
|
71
|
+
onHover?: (source: UIObserver, obj: Base, state: boolean) => void;
|
|
72
|
+
onSelect?: (source: UIObserver, obj: Base, state: boolean) => void;
|
|
73
|
+
onTap?: (source: UIObserver, obj: Base, event: MouseEvent) => void;
|
|
74
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { PointXY, Size } from "../util";
|
|
2
|
+
import { OrthogonalRouterMode } from "./orthogonal-router";
|
|
3
|
+
import { X, Y } from "../constants";
|
|
4
|
+
export type OrientationAxis = typeof X | typeof Y;
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
* @param gates
|
|
8
|
+
*/
|
|
9
|
+
export declare function createGateMap(gates: Array<Gate>): Record<string, Gate>;
|
|
10
|
+
export type RouterLine = {
|
|
11
|
+
source: PointXY;
|
|
12
|
+
target: PointXY;
|
|
13
|
+
id: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
* @param line
|
|
18
|
+
*/
|
|
19
|
+
export declare function routerLineSgn(line: RouterLine, axis: number): number;
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
* @param line1
|
|
23
|
+
* @param line2
|
|
24
|
+
*/
|
|
25
|
+
export declare function routerLineIntersects(line1: RouterLine, line2: RouterLine, axis: number): boolean;
|
|
26
|
+
export interface RouterEdge {
|
|
27
|
+
id: string;
|
|
28
|
+
pathDirection: number;
|
|
29
|
+
sourceId: string;
|
|
30
|
+
targetId: string;
|
|
31
|
+
path: Array<GateId>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
* @param edges
|
|
36
|
+
* @param gates
|
|
37
|
+
* @param gateMap
|
|
38
|
+
* @param getVertexPosition
|
|
39
|
+
* @param getVertexSize
|
|
40
|
+
*/
|
|
41
|
+
export declare function sortAndPlaceEdges(edges: Array<RouterEdge>, gates: Array<Gate>, gateMap: Record<string, Gate>, getVertexPosition: (id: string) => PointXY, getVertexSize: (id: string) => Size): void;
|
|
42
|
+
export interface RoutingInformation<T extends RouterRegion = RouterRegion> {
|
|
43
|
+
gateMap?: Record<string, Gate>;
|
|
44
|
+
gates: Array<Gate>;
|
|
45
|
+
edges: Array<RouterEdge>;
|
|
46
|
+
regions: Array<T>;
|
|
47
|
+
edgeMap: Record<string, RouterEdge>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Helper functions for a router. Would be best refactored out of existence probably.
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
export interface RouterOptions<T extends RouterRegion = RouterRegion> extends RoutingInformation<T> {
|
|
54
|
+
getVertexPosition: (id: string) => PointXY;
|
|
55
|
+
getVertexSize: (id: string) => Size;
|
|
56
|
+
}
|
|
57
|
+
export interface RouterRegion {
|
|
58
|
+
id: string;
|
|
59
|
+
left: number;
|
|
60
|
+
top: number;
|
|
61
|
+
width: number;
|
|
62
|
+
height: number;
|
|
63
|
+
lines: Array<RouterLine>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
export interface EdgeRouterOptions<T extends RouterRegion = RouterRegion> extends RouterOptions<T> {
|
|
69
|
+
mode?: OrthogonalRouterMode;
|
|
70
|
+
pad?: number;
|
|
71
|
+
axis: number;
|
|
72
|
+
}
|
|
73
|
+
export type GateId = string;
|
|
74
|
+
/**
|
|
75
|
+
* The gate between two regions. A gate is a region in the plane of either the x or y axis (axis === 0 for x, 1 for y), and
|
|
76
|
+
* consists of a segment that is a line in that axis, having a start and end point.
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
export interface Gate<E extends RouterEdge = RouterEdge> {
|
|
80
|
+
id: GateId;
|
|
81
|
+
a: {
|
|
82
|
+
id: string;
|
|
83
|
+
type: string;
|
|
84
|
+
};
|
|
85
|
+
b: {
|
|
86
|
+
id: string;
|
|
87
|
+
type: string;
|
|
88
|
+
};
|
|
89
|
+
axis: number;
|
|
90
|
+
segment: {
|
|
91
|
+
point1: number;
|
|
92
|
+
point2: number;
|
|
93
|
+
};
|
|
94
|
+
length: number;
|
|
95
|
+
otherAxisLocation: number;
|
|
96
|
+
midpoint: PointXY;
|
|
97
|
+
edges: Array<{
|
|
98
|
+
edge: E;
|
|
99
|
+
next: Gate;
|
|
100
|
+
location?: number;
|
|
101
|
+
}>;
|
|
102
|
+
}
|
|
103
|
+
export type GatedPath = Array<Gate>;
|
|
104
|
+
export declare function populateRegions(edges: Array<RouterEdge>, regions: Array<RouterRegion>, gateMap: Record<string, Gate>): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EdgeRouterOptions } from "./common";
|
|
2
|
+
import { PointXY } from "../util";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export interface DirectRouterOptions extends EdgeRouterOptions {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
* @param options
|
|
11
|
+
*/
|
|
12
|
+
export declare function directRouter(options: DirectRouterOptions): Record<string, Array<PointXY>>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { RouterLine, RouterRegion, EdgeRouterOptions } from "./common";
|
|
2
|
+
import { PointXY } from "../util";
|
|
3
|
+
/**
|
|
4
|
+
* Identifies the 'separate' orthogonal router mode.
|
|
5
|
+
* @group Plugins
|
|
6
|
+
* @category Edge Routing
|
|
7
|
+
* @constant
|
|
8
|
+
*/
|
|
9
|
+
export declare const ORTHOGONAL_ROUTER_MODE_SEPARATE = "separate";
|
|
10
|
+
/**
|
|
11
|
+
* Identifies the 'bus' orthogonal router mode.
|
|
12
|
+
* @group Plugins
|
|
13
|
+
* @category Edge Routing
|
|
14
|
+
* @constant
|
|
15
|
+
*/
|
|
16
|
+
export declare const ORTHOGONAL_ROUTER_MODE_BUS = "bus";
|
|
17
|
+
/**
|
|
18
|
+
* How to draw edges in 'orthogonal' mode in the {@link EdgeRoutingPlugin}. `bus` collates lines that are traversing a segment together into one line. `separate` draws lines that are traversing a segment together as parallel lines.
|
|
19
|
+
* @group Plugins
|
|
20
|
+
* @category Edge Routing
|
|
21
|
+
*/
|
|
22
|
+
export type OrthogonalRouterMode = typeof ORTHOGONAL_ROUTER_MODE_BUS | typeof ORTHOGONAL_ROUTER_MODE_SEPARATE;
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export interface OrthogonalRouterOptions extends EdgeRouterOptions<OrthogonalRouterRegion> {
|
|
27
|
+
axis: number;
|
|
28
|
+
mode?: OrthogonalRouterMode;
|
|
29
|
+
pad?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export interface OrthogonalRouterRegion extends RouterRegion {
|
|
35
|
+
lineSets: Array<Array<RouterLine>>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Route a set of orthogonal lines through a series of regions.
|
|
39
|
+
* @param gates
|
|
40
|
+
* @param edges
|
|
41
|
+
* @param vertices
|
|
42
|
+
* @param regions
|
|
43
|
+
* @param mode
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export declare function orthogonalRouter(options: OrthogonalRouterOptions): Record<string, Array<PointXY>>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ObjectData } from "../model/graph";
|
|
2
|
+
import { RectangleXY } from "../util";
|
|
3
|
+
/**
|
|
4
|
+
* Base region used by RTree
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface RTreeRegion extends RectangleXY {
|
|
8
|
+
data?: ObjectData;
|
|
9
|
+
children: Array<RTreeRegion>;
|
|
10
|
+
parent?: RTreeRegion;
|
|
11
|
+
id?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Default max child count for RTree nodes
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare const RTREE_DEFAULT_MAX_CHILD_ENTRIES = 4;
|
|
18
|
+
/**
|
|
19
|
+
* A data node in an RTree
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export interface RTreeDataNode extends RTreeRegion {
|
|
23
|
+
id: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RectangleXY } from "../util";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export declare const HilbertCurves: {
|
|
6
|
+
sortRect: <T extends RectangleXY>(listOfRectangles: Array<T>) => Array<T>;
|
|
7
|
+
toHilbertCoordinates: (maxCoordinate: number, x: number, y: number) => number;
|
|
8
|
+
hilbertInterleaveBits: (odd: number, even: number) => number;
|
|
9
|
+
};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { RTreeDataNode, RTreeRegion } from "./definitions";
|
|
2
|
+
import { ObjectData } from "../model/graph";
|
|
3
|
+
import { Extents, LineXY, RectangleXY } from "../util";
|
|
4
|
+
/**
|
|
5
|
+
* Options for an rtree search
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export interface RTreeSearchOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Padding to put around every object we test. Defaults to 0.
|
|
11
|
+
*/
|
|
12
|
+
margin?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Whether or not to return as soon as one hit is found. Defaults to false.
|
|
15
|
+
*/
|
|
16
|
+
greedy?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Minimum overlap, in units squared, required before a match is made.
|
|
19
|
+
*/
|
|
20
|
+
minimumOverlap?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* An RTree. Used internally to facilitate fast spatial querying.
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export declare class RTree {
|
|
27
|
+
private readonly _maxNodes;
|
|
28
|
+
private _root;
|
|
29
|
+
private _dataNodes;
|
|
30
|
+
constructor(maxNodes?: number);
|
|
31
|
+
search(searchBoundary: RectangleXY, options?: RTreeSearchOptions): Array<RTreeDataNode>;
|
|
32
|
+
searchAndRank(searchBoundary: RectangleXY, options?: RTreeSearchOptions): Array<{
|
|
33
|
+
node: RTreeDataNode;
|
|
34
|
+
overlap: number;
|
|
35
|
+
}>;
|
|
36
|
+
private _search;
|
|
37
|
+
/**
|
|
38
|
+
* Find all data nodes that the given line intersects with, optionally ignoring
|
|
39
|
+
* some list of IDs.
|
|
40
|
+
* @param l
|
|
41
|
+
* @param ignoreIds
|
|
42
|
+
*/
|
|
43
|
+
findIntersectionsWithLine(l: LineXY, ignoreIds?: Array<string>): Array<RTreeDataNode>;
|
|
44
|
+
insert(data: Array<RTreeRegion | RTreeDataNode> | RTreeRegion | RTreeDataNode): void;
|
|
45
|
+
private _balanceTreePath;
|
|
46
|
+
private _recursiveTreeLayer;
|
|
47
|
+
/**
|
|
48
|
+
* Loads tree data. Caution: this method clears the tree before loading. It is not an incremental add.
|
|
49
|
+
* @param listOfData
|
|
50
|
+
*/
|
|
51
|
+
load(listOfData: Array<RTreeDataNode>): void;
|
|
52
|
+
/**
|
|
53
|
+
* Gets the bounds of the root element of the tree - which encompasses all the children.
|
|
54
|
+
*/
|
|
55
|
+
getBounds(): RectangleXY;
|
|
56
|
+
/**
|
|
57
|
+
* @deprecated
|
|
58
|
+
*/
|
|
59
|
+
getExtents(): Extents;
|
|
60
|
+
/**
|
|
61
|
+
* Finds the record with the given ID and removes it if found, rebalancing the tree afterwards.
|
|
62
|
+
* @param id
|
|
63
|
+
*/
|
|
64
|
+
removeById(id: string): RTreeRegion;
|
|
65
|
+
/**
|
|
66
|
+
* Internal method to remove a record. This method takes an optional list of nodes to add to the nodes we're reinserting
|
|
67
|
+
* after the record has been removed - an optimisation for the update case.
|
|
68
|
+
* @param r
|
|
69
|
+
* @param nodesToInsertAfterRemove
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
private _doRemove;
|
|
73
|
+
/**
|
|
74
|
+
* Search for a data record by ID. This method is for retrieving data elements stored in the tree, not for searching the
|
|
75
|
+
* tree's rectangles.
|
|
76
|
+
* @param id
|
|
77
|
+
*/
|
|
78
|
+
searchById(id: string): RTreeRegion;
|
|
79
|
+
/**
|
|
80
|
+
* Update the position of the given record. Internally this just removes the record and re-inserts it.
|
|
81
|
+
* @param id
|
|
82
|
+
* @param x
|
|
83
|
+
* @param y
|
|
84
|
+
* @param width
|
|
85
|
+
* @param height
|
|
86
|
+
* @param data
|
|
87
|
+
* @internal
|
|
88
|
+
*/
|
|
89
|
+
update(id: string, x: number, y: number, width: number, height: number, data?: ObjectData): void;
|
|
90
|
+
clear(): void;
|
|
91
|
+
/**
|
|
92
|
+
* For debug purposes mostly.
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
getLeafNodes(): Array<RTreeDataNode>;
|
|
96
|
+
/**
|
|
97
|
+
* Get all of the leaf nodes under the given focus.
|
|
98
|
+
* @param focus
|
|
99
|
+
* @private
|
|
100
|
+
*/
|
|
101
|
+
private _findLeafNodes;
|
|
102
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { RTreeRegion } from "./definitions";
|
|
2
|
+
export declare function _growToFit(rectToGrow: RTreeRegion, otherRect: RTreeRegion): void;
|
|
3
|
+
/**
|
|
4
|
+
* Adjust the bounds of `rect` so that they fit the bounds of its children, then if the rect has a parent, traverse up to the parent
|
|
5
|
+
* and invoke the method again.
|
|
6
|
+
* @param rect
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
export declare function _updateRTreeRegionBounds(rect: RTreeRegion): void;
|
|
10
|
+
export declare function _areaIfGrownBy(rectToGrow: RTreeRegion, otherRect: RTreeRegion): number;
|
|
11
|
+
export declare function splitIntoSiblings(r: RTreeRegion): [RTreeRegion, RTreeRegion];
|
|
12
|
+
/**
|
|
13
|
+
* Create a new, empty, RTree region
|
|
14
|
+
* @private
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function _emptyRTreeRegion(id?: string): RTreeRegion;
|
|
18
|
+
/**
|
|
19
|
+
* Return whether or not the given region is a leaf
|
|
20
|
+
* @param r
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export declare function _isLeaf(r: RTreeRegion): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Return whether or not the given region has one or more leaf nodes
|
|
26
|
+
* @param r
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare function _hasLeafNodes(r: RTreeRegion): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Insert the given child into the given parent, set the parent flag on the child, and grow the parent to fit the new child.
|
|
32
|
+
* @param parentRect
|
|
33
|
+
* @param childRect
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export declare function insertRTreeChild(parentRect: RTreeRegion, childRect: RTreeRegion): void;
|
|
37
|
+
/**
|
|
38
|
+
* removes the given childRect from parentRect, by taking it out of parentRect's `children`. That is all this method does; there is
|
|
39
|
+
* no reordering of the tree. This method is designed to be used in conjunction with other methods that operate on the tree.
|
|
40
|
+
* @param parentRect
|
|
41
|
+
* @param childRect
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
export declare function removeRTreeChild(parentRect: RTreeRegion, childRect: RTreeRegion): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* @internal
|
|
47
|
+
* @param a
|
|
48
|
+
*/
|
|
49
|
+
export declare function flatten(a: Array<any>): Array<any>;
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
* @param a
|
|
53
|
+
* @param mapFunc
|
|
54
|
+
*/
|
|
55
|
+
export declare function minBy<T, Q>(a: Array<T>, mapFunc: (t: T) => Q): T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './visuallyjs-search';
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { Edge, Group, Port, Node, VisuallyJsModel } from "..";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export type Token = {
|
|
6
|
+
token: string;
|
|
7
|
+
context: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export type Tokenizer = (s: string) => Array<Token>;
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare function WhitespaceReplacingTokenizer(value: string): Array<Token>;
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function DefaultSearchTokenizer(value: string): Array<Token>;
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export type Sorter = (a: HasScore, b: HasScore) => number;
|
|
25
|
+
export type SearchDocumentIdFunction = (doc: any) => string;
|
|
26
|
+
export interface HasScore {
|
|
27
|
+
score: number;
|
|
28
|
+
}
|
|
29
|
+
export interface Hit extends HasScore {
|
|
30
|
+
document: any;
|
|
31
|
+
contexts: Array<string>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Options for the search index.
|
|
35
|
+
* @group Search
|
|
36
|
+
*/
|
|
37
|
+
export interface SearchIndexOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Optional list of fields to index. By default this is empty, meaning all fields (minus any `exclusions`) will be indexed.
|
|
40
|
+
*/
|
|
41
|
+
fields?: Array<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Optional limit for the number of result a search should return. Defaults to 10.
|
|
44
|
+
*/
|
|
45
|
+
limit?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Optional list of field names to omit from the documents stored for each node. This means that any field in this list will not be indexed.
|
|
48
|
+
*/
|
|
49
|
+
exclusions?: Array<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Whether or not the search index should ignore case. By default this is false.
|
|
52
|
+
*/
|
|
53
|
+
caseSensitive?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
idFunction?: SearchDocumentIdFunction;
|
|
58
|
+
/**
|
|
59
|
+
* Function to use for sorting. Only "by score" is currently supported.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
sorter?: Sorter;
|
|
63
|
+
/**
|
|
64
|
+
* The tokenizer to use to split each field up into its parts.
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
tokenizer?: Tokenizer;
|
|
68
|
+
/**
|
|
69
|
+
* The tokenizer to use to split a search term up into multiple matches. Not currently supported.
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
searchTokenizer?: Tokenizer;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* A document in the search index.
|
|
76
|
+
* @group Search
|
|
77
|
+
*/
|
|
78
|
+
export interface IndexDocument extends HasScore {
|
|
79
|
+
document: any;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
export interface IndexEntry {
|
|
85
|
+
index: number;
|
|
86
|
+
children: any;
|
|
87
|
+
documentIds: any;
|
|
88
|
+
key: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Index for a dataset
|
|
92
|
+
* @group Search
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
declare class DatasetIndex {
|
|
96
|
+
fields: Array<string>;
|
|
97
|
+
root: IndexEntry;
|
|
98
|
+
tokenizer: Tokenizer;
|
|
99
|
+
searchTokenizer: Tokenizer;
|
|
100
|
+
limit: number;
|
|
101
|
+
exclusions: Array<string>;
|
|
102
|
+
caseSensitive: boolean;
|
|
103
|
+
idFunction: SearchDocumentIdFunction;
|
|
104
|
+
sorter: Sorter;
|
|
105
|
+
private _nodeIdx;
|
|
106
|
+
private _makeNode;
|
|
107
|
+
private _documentMap;
|
|
108
|
+
private _documentList;
|
|
109
|
+
private _documentCount;
|
|
110
|
+
private _nodeMap;
|
|
111
|
+
constructor(options?: SearchIndexOptions);
|
|
112
|
+
private _storeNodeReferenceForDocument;
|
|
113
|
+
private _addToken;
|
|
114
|
+
private removeExclusions;
|
|
115
|
+
add(doc: any): void;
|
|
116
|
+
addAll(...docs: Array<any>): void;
|
|
117
|
+
reindex(doc: any): void;
|
|
118
|
+
remove(doc: any): void;
|
|
119
|
+
clear(): void;
|
|
120
|
+
getDocumentCount(): number;
|
|
121
|
+
getDocumentList(): Array<IndexDocument>;
|
|
122
|
+
getDocument(id: string): IndexDocument;
|
|
123
|
+
search(q: string, searchLimit?: number): Array<Hit>;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Results from a text search
|
|
127
|
+
* @group Search
|
|
128
|
+
*/
|
|
129
|
+
export type SearchResults = {
|
|
130
|
+
/**
|
|
131
|
+
* List of matching nodes found
|
|
132
|
+
*/
|
|
133
|
+
nodes: Array<Node>;
|
|
134
|
+
/**
|
|
135
|
+
* List of matching groups found
|
|
136
|
+
*/
|
|
137
|
+
groups: Array<Group>;
|
|
138
|
+
/**
|
|
139
|
+
* List of matching edges found
|
|
140
|
+
*/
|
|
141
|
+
edges: Array<Edge>;
|
|
142
|
+
/**
|
|
143
|
+
* List of matching ports found
|
|
144
|
+
*/
|
|
145
|
+
ports: Array<Port>;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Search index.
|
|
149
|
+
* @group Search
|
|
150
|
+
*/
|
|
151
|
+
export declare class Index {
|
|
152
|
+
instance: VisuallyJsModel;
|
|
153
|
+
nodeIndex: DatasetIndex;
|
|
154
|
+
groupIndex: DatasetIndex;
|
|
155
|
+
edgeIndex: DatasetIndex;
|
|
156
|
+
portIndex: DatasetIndex;
|
|
157
|
+
constructor(instance: VisuallyJsModel, options?: SearchIndexOptions);
|
|
158
|
+
private _indexNode;
|
|
159
|
+
private _indexGroup;
|
|
160
|
+
private _indexEdge;
|
|
161
|
+
/**
|
|
162
|
+
* Search the index for the given string.
|
|
163
|
+
* @param value
|
|
164
|
+
*/
|
|
165
|
+
search(value: string): SearchResults;
|
|
166
|
+
}
|
|
167
|
+
export {};
|