@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,25 @@
|
|
|
1
|
+
import { HierarchyLayoutModel } from "./model";
|
|
2
|
+
import { GatedPath, RouterOptions } from "../../router";
|
|
3
|
+
import { VertexSet } from "./vertex-set";
|
|
4
|
+
export declare class EdgeRoutingStage {
|
|
5
|
+
private _model;
|
|
6
|
+
private _vertexSet;
|
|
7
|
+
private axis;
|
|
8
|
+
private _invert;
|
|
9
|
+
private _getRoutingInformation;
|
|
10
|
+
private _vertexRegions;
|
|
11
|
+
constructor(_model: HierarchyLayoutModel, _vertexSet: VertexSet, axis: number, _invert: boolean, _getRoutingInformation: () => RouterOptions);
|
|
12
|
+
execute(): Record<string, GatedPath>;
|
|
13
|
+
/**
|
|
14
|
+
* Adds a gate, first computing the appropriate values
|
|
15
|
+
* based upon the current axis.
|
|
16
|
+
* @param entry
|
|
17
|
+
* @param position
|
|
18
|
+
* @param r1
|
|
19
|
+
* @param r2
|
|
20
|
+
* @param atEndInOtherAxis
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
private _addGateForAxis;
|
|
24
|
+
private _addGate;
|
|
25
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HierarchyLayoutModel } from "./model";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export declare abstract class HierarchyLayoutStage {
|
|
6
|
+
protected model: HierarchyLayoutModel;
|
|
7
|
+
protected constructor(model: HierarchyLayoutModel);
|
|
8
|
+
abstract execute(currentRoot: any): any;
|
|
9
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { HierarchyLayoutModel } from "./model";
|
|
2
|
+
import { AbsoluteBackedLayout } from "../absolute-layout";
|
|
3
|
+
import { Edge } from "../../model/graph";
|
|
4
|
+
import { InternalLayoutOptions } from "../abstract-layout";
|
|
5
|
+
import { HierarchyLayoutParameters, HierarchyLayoutLayerEntry } from "./definitions";
|
|
6
|
+
import { RouterOptions } from "../../router";
|
|
7
|
+
import { DataSource } from "../../datasource";
|
|
8
|
+
import { PointXY, Size } from "../../util";
|
|
9
|
+
/**
|
|
10
|
+
* Hierarchy layout type.
|
|
11
|
+
* @group Layouts
|
|
12
|
+
* @category Hierarchy
|
|
13
|
+
*/
|
|
14
|
+
export declare const LAYOUT_TYPE_HIERARCHY = "Hierarchy";
|
|
15
|
+
/**
|
|
16
|
+
* Places elements into a hierarchy, supporting upstream links and multiple parents. This layout runs in 3 stages -
|
|
17
|
+
*
|
|
18
|
+
* 1. placement of nodes into layers
|
|
19
|
+
* 2. reordering nodes in layers to minimise edge crossing
|
|
20
|
+
* 3. placement of nodes into final layout
|
|
21
|
+
*
|
|
22
|
+
* @group Layouts
|
|
23
|
+
* @category Hierarchy
|
|
24
|
+
*/
|
|
25
|
+
export declare class HierarchyLayout extends AbsoluteBackedLayout<HierarchyLayoutParameters> {
|
|
26
|
+
/**
|
|
27
|
+
* Defines the HierarchyLayout type.
|
|
28
|
+
*/
|
|
29
|
+
static type: string;
|
|
30
|
+
readonly type = "Hierarchy";
|
|
31
|
+
readonly axis: number;
|
|
32
|
+
model: HierarchyLayoutModel;
|
|
33
|
+
private readonly _unattachedRootPadding;
|
|
34
|
+
private readonly _maxIterationsWithoutImprovement;
|
|
35
|
+
private readonly _maxIterations;
|
|
36
|
+
private readonly _invert;
|
|
37
|
+
private readonly _gatherUnattachedRoots;
|
|
38
|
+
private readonly _generateRouting;
|
|
39
|
+
private readonly _getRootNode;
|
|
40
|
+
private readonly _rootNode;
|
|
41
|
+
private _alignment;
|
|
42
|
+
private _placementStrategy;
|
|
43
|
+
_leavesAtBottom: boolean;
|
|
44
|
+
private readonly _edgeNodeSize;
|
|
45
|
+
private readonly _edgeFilter;
|
|
46
|
+
private readonly _filteredEdgeProcessor;
|
|
47
|
+
private routingInformation;
|
|
48
|
+
private resultSets;
|
|
49
|
+
constructor(params: InternalLayoutOptions<HierarchyLayoutParameters>);
|
|
50
|
+
begin(dataSource: DataSource, getPosition: (id: string) => PointXY, setPosition: (id: string, x: number, y: number) => void, sizes: Record<string, Size>, parameters: HierarchyLayoutParameters): void;
|
|
51
|
+
end(dataSource: DataSource, getPosition: (id: string) => PointXY, setPosition: (id: string, x: number, y: number) => void, sizes: Record<string, Size>, parameters: HierarchyLayoutParameters): void;
|
|
52
|
+
reset(): void;
|
|
53
|
+
getDefaultParameters(): HierarchyLayoutParameters;
|
|
54
|
+
step(dataSource: DataSource, getPosition: (id: string) => PointXY, setPosition: (id: string, x: number, y: number) => void, sizes: Record<string, Size>, parameters: HierarchyLayoutParameters): void;
|
|
55
|
+
getRoutingInformation(): Array<RouterOptions>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Models a layer in the layout. For internal use.
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export type HierarchyLayoutModelLayer = {
|
|
62
|
+
layer: number;
|
|
63
|
+
entries: Array<HierarchyLayoutLayerEntry>;
|
|
64
|
+
xmin: number;
|
|
65
|
+
ymin: number;
|
|
66
|
+
xmax: number;
|
|
67
|
+
ymax: number;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
export type LayerSet = Array<HierarchyLayoutModelLayer>;
|
|
73
|
+
/**
|
|
74
|
+
* Options for the underlying model. For internal use.
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
export interface HierarchyLayoutModelOptions {
|
|
78
|
+
padding: PointXY;
|
|
79
|
+
axis?: number;
|
|
80
|
+
getSize: (id: string) => Size;
|
|
81
|
+
setPosition: (id: string, x: number, y: number) => void;
|
|
82
|
+
rootNode?: any;
|
|
83
|
+
invert?: boolean;
|
|
84
|
+
unattachedRootPadding: number;
|
|
85
|
+
edgeNodeSize: number;
|
|
86
|
+
edgeFilter: (e: Edge) => boolean;
|
|
87
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './assign-layers-stage';
|
|
2
|
+
export * from './crossing-stage';
|
|
3
|
+
export * from './definitions';
|
|
4
|
+
export * from './edge-routing';
|
|
5
|
+
export * from './hierarchy-layout';
|
|
6
|
+
export * from './hierarchy-layout-stage';
|
|
7
|
+
export * from './model';
|
|
8
|
+
export * from './parent-relative-placement';
|
|
9
|
+
export * from './placement-stage';
|
|
10
|
+
export * from './vertex-set';
|
|
11
|
+
export * from './util';
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { HierarchyLayout, HierarchyLayoutModelOptions } from "./hierarchy-layout";
|
|
2
|
+
import { HierarchyLayoutLayerEntry, VertexEntry, HierarchyLayoutOrdering } from './definitions';
|
|
3
|
+
import { Group, Node, Edge, HasIdAndType } from "../../model/graph";
|
|
4
|
+
import { DataSource } from "../../datasource";
|
|
5
|
+
import { Size } from "../../util";
|
|
6
|
+
import { VertexSet } from "./vertex-set";
|
|
7
|
+
/**
|
|
8
|
+
* Models a set of vertices that are adjacent to some given vertex.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export type AdjacentVerticesSet = {
|
|
12
|
+
vertices: Array<{
|
|
13
|
+
id: string;
|
|
14
|
+
edges: Set<Edge>;
|
|
15
|
+
}>;
|
|
16
|
+
source: Array<{
|
|
17
|
+
id: string;
|
|
18
|
+
edges: Set<Edge>;
|
|
19
|
+
}>;
|
|
20
|
+
target: Array<{
|
|
21
|
+
id: string;
|
|
22
|
+
edges: Set<Edge>;
|
|
23
|
+
}>;
|
|
24
|
+
filteredEdges: Set<Edge>;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Underlying model for the hierarchy layout.
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export declare class HierarchyLayoutModel {
|
|
31
|
+
instance: DataSource;
|
|
32
|
+
layout: HierarchyLayout;
|
|
33
|
+
private _padding;
|
|
34
|
+
private _vertexMap;
|
|
35
|
+
private _sizes;
|
|
36
|
+
private _forcedRootNode;
|
|
37
|
+
private _entryNodes;
|
|
38
|
+
private _entryNodeMap;
|
|
39
|
+
private readonly _doGetSize;
|
|
40
|
+
private readonly _edgeNodeSize;
|
|
41
|
+
private readonly _edgeFilter;
|
|
42
|
+
private _entries;
|
|
43
|
+
unattachedRootPadding: number;
|
|
44
|
+
vertexEntryMap: Map<string, VertexEntry>;
|
|
45
|
+
entryMap: Record<string, HierarchyLayoutLayerEntry>;
|
|
46
|
+
assignedVertices: Map<string, number>;
|
|
47
|
+
axis: number;
|
|
48
|
+
invert: boolean;
|
|
49
|
+
sets: Array<VertexSet>;
|
|
50
|
+
excludedNodes: Record<string, boolean>;
|
|
51
|
+
_doSetPosition: (id: string, x: number, y: number, layer: number) => void;
|
|
52
|
+
/**
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
constructor(instance: DataSource, options: HierarchyLayoutModelOptions, layout: HierarchyLayout);
|
|
56
|
+
/**
|
|
57
|
+
* Find the next unplaced node that has no edges where it is a target.
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
nextRoot(): Node | Group;
|
|
61
|
+
/**
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
getVertex(vertexId: string): any;
|
|
65
|
+
/**
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
setRootNode(node: Node): void;
|
|
69
|
+
/**
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
getLayer(node: HasIdAndType): number;
|
|
73
|
+
/**
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
getLayerForId(id: string): number;
|
|
77
|
+
/**
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
getSize(node: HasIdAndType): Size;
|
|
81
|
+
/**
|
|
82
|
+
* Get the given entry's size in the main axis.
|
|
83
|
+
* @param node
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
getNodeSizeInMainAxis(node: HasIdAndType): number;
|
|
87
|
+
/**
|
|
88
|
+
* Get the given entry's size in the other axis.
|
|
89
|
+
* @param node
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
getNodeSizeInOtherAxis(node: HasIdAndType): number;
|
|
93
|
+
/**
|
|
94
|
+
* @internal
|
|
95
|
+
* @private
|
|
96
|
+
*/
|
|
97
|
+
_initialEdgeNodeSize(): Size;
|
|
98
|
+
/**
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
adjacentVertices: Record<string, AdjacentVerticesSet>;
|
|
102
|
+
/**
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
getSizeInMainAxis(s: Size): number;
|
|
106
|
+
/**
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
getSizeInOtherAxis(s: Size): number;
|
|
110
|
+
/**
|
|
111
|
+
* @internal
|
|
112
|
+
*/
|
|
113
|
+
getPaddingInMainAxis(): number;
|
|
114
|
+
/**
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
getPaddingInOtherAxis(): number;
|
|
118
|
+
/**
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
initialize(): void;
|
|
122
|
+
/**
|
|
123
|
+
* @internal
|
|
124
|
+
*/
|
|
125
|
+
isEmpty(): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* @internal
|
|
128
|
+
* @param ordering
|
|
129
|
+
* @param layerIndex
|
|
130
|
+
* @param entry
|
|
131
|
+
*/
|
|
132
|
+
getAdjacentEntries(ordering: HierarchyLayoutOrdering, layerIndex: number, entry: HierarchyLayoutLayerEntry): Array<[HierarchyLayoutLayerEntry, number]>;
|
|
133
|
+
/**
|
|
134
|
+
* Finds the entries in the layer at `layerIndex` that are connected to the given entry. This is used in the
|
|
135
|
+
* crossing stage and also in the placement stage.
|
|
136
|
+
* @param entries List of entries to look for matches in.
|
|
137
|
+
* @param entry
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
getAdjacentEntriesInLayer(entries: Array<HierarchyLayoutLayerEntry>, entry: HierarchyLayoutLayerEntry): Array<{
|
|
141
|
+
entry: HierarchyLayoutLayerEntry;
|
|
142
|
+
index: number;
|
|
143
|
+
}>;
|
|
144
|
+
/**
|
|
145
|
+
* @internal
|
|
146
|
+
* tests if the two entries are connected.
|
|
147
|
+
* @param entry1
|
|
148
|
+
* @param entry2
|
|
149
|
+
*/
|
|
150
|
+
areConnected(entry1: HierarchyLayoutLayerEntry, entry2: HierarchyLayoutLayerEntry): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* @internal
|
|
153
|
+
* @param node1Id
|
|
154
|
+
* @param node2Id
|
|
155
|
+
*/
|
|
156
|
+
areAdjacent(node1Id: string, node2Id: string): boolean;
|
|
157
|
+
/**
|
|
158
|
+
* @internal
|
|
159
|
+
* @param nodeId
|
|
160
|
+
*/
|
|
161
|
+
getAdjacentVertices(nodeId: string): AdjacentVerticesSet;
|
|
162
|
+
/**
|
|
163
|
+
* @internal
|
|
164
|
+
* @param id
|
|
165
|
+
*/
|
|
166
|
+
isLeaf(id: string): boolean;
|
|
167
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ParentRelativePlacementStrategyOptions } from "./definitions";
|
|
2
|
+
import { HasIdAndType } from "../../model/graph";
|
|
3
|
+
import { PointXY } from "../../util";
|
|
4
|
+
import { VisuallyJsModel } from "../../toolkit";
|
|
5
|
+
/**
|
|
6
|
+
* Places elements with respect to their parents, aligning them at parent start/end/center depending on the value of `alignment`.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare class ParentRelativePlacementStrategy<T extends HasIdAndType> {
|
|
10
|
+
private model;
|
|
11
|
+
_maximumPointer: number;
|
|
12
|
+
_minimumPointer: number;
|
|
13
|
+
private readonly _rootNodes;
|
|
14
|
+
private readonly _compress;
|
|
15
|
+
private readonly _invert;
|
|
16
|
+
private readonly _hierarchy;
|
|
17
|
+
private readonly _childGroups;
|
|
18
|
+
private readonly _visitedNodes;
|
|
19
|
+
private _padding;
|
|
20
|
+
private readonly _axisPadding;
|
|
21
|
+
private readonly _otherAxisPadding;
|
|
22
|
+
private readonly _axisIndex;
|
|
23
|
+
private readonly _otherAxisIndex;
|
|
24
|
+
private readonly _horizontal;
|
|
25
|
+
private readonly _absoluteBacked;
|
|
26
|
+
private readonly _alignment;
|
|
27
|
+
private readonly _otherAxisPositionProperty;
|
|
28
|
+
private readonly _axisSizeProperty;
|
|
29
|
+
private readonly _otherAxisSizeProperty;
|
|
30
|
+
private _maxSizes;
|
|
31
|
+
private _positions;
|
|
32
|
+
private _alignmentLocationCalculators;
|
|
33
|
+
private readonly _getId;
|
|
34
|
+
private readonly _getSize;
|
|
35
|
+
private readonly _getChildVertices;
|
|
36
|
+
private readonly _absolutePositionFunction;
|
|
37
|
+
constructor(model: VisuallyJsModel, parameters: ParentRelativePlacementStrategyOptions<T>);
|
|
38
|
+
execute(): Map<string, {
|
|
39
|
+
position: PointXY;
|
|
40
|
+
layer: number;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* set the position of the given element, and adjust the max/min pointers to account for it. note that for
|
|
44
|
+
* max pointer we add the size of the element in the layout's axis.
|
|
45
|
+
* @param id
|
|
46
|
+
* @param pos
|
|
47
|
+
* @param layer
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
private _setPosition;
|
|
51
|
+
private _get;
|
|
52
|
+
private _add;
|
|
53
|
+
private _addChildGroup;
|
|
54
|
+
private _setGroupParentLocation;
|
|
55
|
+
private _getMaximumParentSizeInAxis;
|
|
56
|
+
private _alignChildGroup;
|
|
57
|
+
private _parentAlignmentCalculators;
|
|
58
|
+
private _alignParent;
|
|
59
|
+
private _alignParents;
|
|
60
|
+
private _doOne;
|
|
61
|
+
/**
|
|
62
|
+
* Shift a child placement and it siblings and descendants by the given amount.
|
|
63
|
+
* @param child
|
|
64
|
+
* @param delta
|
|
65
|
+
* @param parent
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
private _shift;
|
|
69
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { HierarchyLayoutAlignment } from "./definitions";
|
|
2
|
+
import { HierarchyLayoutModel } from "./model";
|
|
3
|
+
import { HierarchyLayoutStage } from "./hierarchy-layout-stage";
|
|
4
|
+
import { Group, Node } from "../../model/graph";
|
|
5
|
+
import { VertexSet } from "./vertex-set";
|
|
6
|
+
import { PointXY } from "../../util";
|
|
7
|
+
export type PlacementStageStrategy = "start" | "end" | "center" | "parent";
|
|
8
|
+
/**
|
|
9
|
+
* Options for the placement stage in the layout.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export interface PlacementStageOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Padding to leave between vertices
|
|
15
|
+
*/
|
|
16
|
+
padding?: PointXY;
|
|
17
|
+
/**
|
|
18
|
+
* provided internally when processing multiple roots: these are the results from the placement of the previous
|
|
19
|
+
* root and its children.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
lastPlacements?: PlacementsStageResults;
|
|
23
|
+
/**
|
|
24
|
+
* The strategy to use when placing vertices. Default is 'center', meaning every row is centered around the
|
|
25
|
+
* axis orthogonal to the axis in which the vertices are laid out.
|
|
26
|
+
*/
|
|
27
|
+
strategy?: PlacementStageStrategy;
|
|
28
|
+
/**
|
|
29
|
+
* Optional, defaults to `HierarchyLayoutAlignmentValues.center`. Instructs the layout how to place child nodes with respect to their parent nodes. By default, a group of child nodes is centered on its parent. The layout also supports "start" and "end" for this value, which work in much the same way as "flex-start" and "flex-end" do in CSS: for a layout with the root at the top of the tree and the child nodes underneath, a value of "start" for align would cause the first child of the root to be placed immediately under the root, with its first child immediately underneath, etc. The remainder of the content would fan out to the right. This option also works in conjunction with invert and axis:HierarchyLayoutAxisValues.vertical.
|
|
30
|
+
*/
|
|
31
|
+
alignment?: HierarchyLayoutAlignment;
|
|
32
|
+
/**
|
|
33
|
+
* Optional size - in the main axis - to use for edge nodes, which are dummy nodes (not visible) that are inserted on a layer to allow an edge to pass through to a layer below.
|
|
34
|
+
*/
|
|
35
|
+
edgeNodeSize?: number;
|
|
36
|
+
/**
|
|
37
|
+
* If true root nodes that do not have children will be positioned adjacent to the last root node that does have children. When false (which is the default), unattached roots are spaced apart so that they do not overlap any child trees.
|
|
38
|
+
*/
|
|
39
|
+
gatherUnattachedRoots?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Amount of space to leave before each unattached root if `gatherUnattachedRoots` is true. Default is 150.
|
|
42
|
+
*/
|
|
43
|
+
unattachedRootPadding?: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The results of placing one root and its children. Used internally when processing multiple roots.
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export interface PlacementsStageResults {
|
|
50
|
+
rootId: string;
|
|
51
|
+
rootPosition: number;
|
|
52
|
+
rootSize: number;
|
|
53
|
+
biggestLayer: number;
|
|
54
|
+
maximumPointer: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The final stage of the layout, in which vertices are placed, according to the layers and the ordering within the aligned to the start/end of the layer, or to the center of the layout, and the `parent` strategy (which is now the default) attempts to group children of some given vertex underneath that vertex.
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
export declare class PlacementStage extends HierarchyLayoutStage {
|
|
61
|
+
protected model: HierarchyLayoutModel;
|
|
62
|
+
private vertexSet;
|
|
63
|
+
private readonly _lastPlacements;
|
|
64
|
+
private _currentLayer;
|
|
65
|
+
private readonly _padding;
|
|
66
|
+
private readonly _unattachedRootPadding;
|
|
67
|
+
private readonly _strategy;
|
|
68
|
+
private readonly _alignment;
|
|
69
|
+
private readonly _edgeNodeSize;
|
|
70
|
+
private readonly _gatherUnattachedRoots;
|
|
71
|
+
constructor(model: HierarchyLayoutModel, vertexSet: VertexSet, options: PlacementStageOptions);
|
|
72
|
+
/**
|
|
73
|
+
* compute the size in both axes of the given set of entries. this is used both to compute an entire layer when the strategy is start/center/end, and also to compute the size of a set of entries that share a parent (or parents).
|
|
74
|
+
* @param entries
|
|
75
|
+
* @param paddingInMainAxis
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
private _entrySetSize;
|
|
79
|
+
execute(rootNode: Node | Group): PlacementsStageResults;
|
|
80
|
+
private _runDefaultPlacement;
|
|
81
|
+
private _runParentRelativePlacement;
|
|
82
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EdgeEntry, VertexEntry } from "./definitions";
|
|
2
|
+
/**
|
|
3
|
+
* Returns whether or not the given entry represents an edge.
|
|
4
|
+
* @internal
|
|
5
|
+
* @param entry
|
|
6
|
+
*/
|
|
7
|
+
export declare function isEdgeNodeEntry(entry: any): entry is EdgeEntry;
|
|
8
|
+
/**
|
|
9
|
+
* Returns whether or not the given entry represents a node/group.
|
|
10
|
+
* @internal
|
|
11
|
+
* @param entry
|
|
12
|
+
*/
|
|
13
|
+
export declare function isVertexNodeEntry(entry: any): entry is VertexEntry;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Group, HasIdAndType, Node } from "../../model/graph";
|
|
2
|
+
import { EdgeEntry, HierarchyLayoutLayerEntry, SpanningEdgeNode } from "./definitions";
|
|
3
|
+
import { LayerSet } from "./hierarchy-layout";
|
|
4
|
+
import { HierarchyLayoutModel } from "./model";
|
|
5
|
+
import { Gate, RouterEdge } from "../../router";
|
|
6
|
+
/**
|
|
7
|
+
* One set of vertices and edges in the hierarchy layout.
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare class VertexSet {
|
|
11
|
+
private _model;
|
|
12
|
+
index: number;
|
|
13
|
+
layers: LayerSet;
|
|
14
|
+
regions: Array<any>;
|
|
15
|
+
gateMap: Record<string, Gate>;
|
|
16
|
+
edgeNodes: Array<SpanningEdgeNode>;
|
|
17
|
+
edgeNodeMap: Map<string, SpanningEdgeNode>;
|
|
18
|
+
gates: Array<Gate>;
|
|
19
|
+
edgeRoutingMap: Record<string, RouterEdge>;
|
|
20
|
+
edgeRouting: Array<RouterEdge>;
|
|
21
|
+
private _layerEntries;
|
|
22
|
+
readonly edgeEntryMap: Map<string, EdgeEntry>;
|
|
23
|
+
constructor(_model: HierarchyLayoutModel, index: number);
|
|
24
|
+
addToLayer(layerIdx: number, node: HasIdAndType, atStart?: boolean): HierarchyLayoutLayerEntry;
|
|
25
|
+
/**
|
|
26
|
+
* Gets the layer that the given object has been assigned to.
|
|
27
|
+
* @internal
|
|
28
|
+
* @param id
|
|
29
|
+
*/
|
|
30
|
+
findLayerIndex(id: string): number;
|
|
31
|
+
/**
|
|
32
|
+
* Inserts an initial SpanningEdgeNode into some given layer, calculating whether its best to put the
|
|
33
|
+
* edge at the start or at the end of the layer. This method may benefit from some fine tuning.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
insertEdgeNodeInLayer(layerIdx: number, edgeNode: SpanningEdgeNode, atStart?: boolean): EdgeEntry;
|
|
37
|
+
removeFromLayer(layerIdx: number, entry: HierarchyLayoutLayerEntry): void;
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
setPositionById(id: string, x: number, y: number, layer: number): void;
|
|
42
|
+
setPosition(node: Node | Group, x: number, y: number, layer: number): void;
|
|
43
|
+
private _ensureLayer;
|
|
44
|
+
private _$_setPositionAndUpdateLayer;
|
|
45
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './abstract-layout';
|
|
2
|
+
export * from './abstract-layout-adapter';
|
|
3
|
+
export * from './empty-layout';
|
|
4
|
+
export * from './layouts';
|
|
5
|
+
export * from './absolute-layout';
|
|
6
|
+
export * from './circular';
|
|
7
|
+
export * from './grid';
|
|
8
|
+
export * from './force-directed';
|
|
9
|
+
export * from './hierarchical';
|
|
10
|
+
export * from './hierarchy';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractLayout, InternalLayoutOptions } from "./abstract-layout";
|
|
2
|
+
import { Constructable } from "../util";
|
|
3
|
+
/**
|
|
4
|
+
* Layout factory.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const Layouts: {
|
|
8
|
+
get: (name: string, params?: InternalLayoutOptions<any>) => AbstractLayout<any>;
|
|
9
|
+
register: (name: string, layout: Constructable<AbstractLayout<any>>) => void;
|
|
10
|
+
};
|