@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,881 @@
|
|
|
1
|
+
import { EVENT_EDGE_CLICK, EVENT_EDGE_CONTEXTMENU, EVENT_EDGE_DBLCLICK, EVENT_EDGE_MOUSEDOWN, EVENT_EDGE_MOUSEOUT, EVENT_EDGE_MOUSEOVER, EVENT_EDGE_MOUSEUP, EVENT_VERTEX_CLICK, EVENT_VERTEX_TAP, EVENT_VERTEX_DBLTAP, EVENT_VERTEX_MOUSEOVER, EVENT_VERTEX_MOUSEOUT, EVENT_VERTEX_MOUSEMOVE, EVENT_VERTEX_MOUSEUP, EVENT_VERTEX_MOUSEDOWN, EVENT_VERTEX_CONTEXTMENU, EVENT_VERTEX_DBLCLICK, Overlay, OverlayPaintParams, LabelOverlay, Connection, ConnectorPath, UICore, TypeDescriptorBase, VertexMapping, GroupMapping, PortMapping, NodeMapping, DragHandler2, ViewportElement, OverlaySpec, Connector, PaintStyle, ZoomToFitOptions, ZoomToFitIfNecessaryOptions, ZoomToElementsOptions, PropertyMapper, EdgePropertyMappings, ViewportGroupElement, ViewportNodeElement } from '../ui';
|
|
2
|
+
import { VisuallyJSDOMElement } from './element-facade';
|
|
3
|
+
import { VisuallyJsModel, Base, Edge, Group, Node, ObjectData, Port, Vertex, VisuallyJsSelection, DataSource, EVENT_GROUP_MOVE, Grid, GroupRemovedParams, NodeRemovedParams, PointXY, RectangleXY, Size, CustomTagOptions, AbstractLayoutAdapter, LayoutResultSet } from "../core";
|
|
4
|
+
import { TemplateRenderer } from "./browser-ui";
|
|
5
|
+
import { Background, BrowserUIDefaults, BrowserUIOptions, ElementModelInfo, SupportsClassManipulation, SupportsClassManipulationElement } from "./definitions";
|
|
6
|
+
import { BrowserElement } from './util';
|
|
7
|
+
import { ShapeLibrary } from "./shape-library";
|
|
8
|
+
import { BrowserUIClipboard } from "./copy-paste";
|
|
9
|
+
/**
|
|
10
|
+
* An event that the BrowserUI renderer may fire.
|
|
11
|
+
*/
|
|
12
|
+
export type BrowserUIEvent = typeof EVENT_EDGE_MOUSEUP | typeof EVENT_EDGE_MOUSEDOWN | typeof EVENT_VERTEX_CLICK | typeof EVENT_VERTEX_DBLCLICK | typeof EVENT_EDGE_CONTEXTMENU | typeof EVENT_EDGE_CLICK | typeof EVENT_EDGE_DBLCLICK | typeof EVENT_VERTEX_DBLTAP | typeof EVENT_VERTEX_TAP | typeof EVENT_VERTEX_MOUSEOVER | typeof EVENT_VERTEX_MOUSEOUT | typeof EVENT_VERTEX_MOUSEMOVE | typeof EVENT_VERTEX_MOUSEDOWN | typeof EVENT_VERTEX_MOUSEUP | typeof EVENT_VERTEX_CONTEXTMENU | typeof EVENT_VERTEX_MOUSEOVER | typeof EVENT_EDGE_MOUSEOVER | typeof EVENT_EDGE_MOUSEOUT | typeof EVENT_GROUP_MOVE;
|
|
13
|
+
/**
|
|
14
|
+
* Subclass of UICore that renders to the DOM in a browser, and supports dragging of elements/connections.
|
|
15
|
+
* @group Components
|
|
16
|
+
* @internal
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class BrowserUI<EVT = any> extends UICore<BrowserElement, EVT | BrowserUIEvent> {
|
|
20
|
+
model: VisuallyJsModel;
|
|
21
|
+
protected $suspendRendering: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Clipboard for copy/paste of data.
|
|
24
|
+
*/
|
|
25
|
+
clipboard: BrowserUIClipboard;
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
* @param mel
|
|
29
|
+
*/
|
|
30
|
+
$syncManagedElementWithView(mel: ViewportElement<BrowserElement>, andThenRepaint: boolean): void;
|
|
31
|
+
protected $shapeLibrary: ShapeLibrary<ObjectData>;
|
|
32
|
+
protected $_propertyMapper: PropertyMapper;
|
|
33
|
+
private _templateRenderer;
|
|
34
|
+
private readonly _nodeRenderer;
|
|
35
|
+
private readonly _groupRenderer;
|
|
36
|
+
private readonly __containerEvents;
|
|
37
|
+
private _dragManager2;
|
|
38
|
+
private readonly _resizeObserver;
|
|
39
|
+
private readonly _managedElementsSelector;
|
|
40
|
+
private readonly _hoverEvents;
|
|
41
|
+
private readonly _eventManager;
|
|
42
|
+
private _canDropHandler;
|
|
43
|
+
private _transferrableVertexAttributes;
|
|
44
|
+
/**
|
|
45
|
+
* Adds some attributes to the list of attributes that should be copied from
|
|
46
|
+
* a rendered element's firstElementChild.
|
|
47
|
+
* @internal
|
|
48
|
+
* @param atts
|
|
49
|
+
*/
|
|
50
|
+
$addTransferrableVertexAttributes(atts: Array<string>): void;
|
|
51
|
+
$enableVertexDrag(): void;
|
|
52
|
+
$disableVertexDrag(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Determines whether or not the given candidate may be dropped onto either the given target vertex, or the canvas. This method is invoked by the drag handler and the palette
|
|
55
|
+
* @param candidate
|
|
56
|
+
* @param target
|
|
57
|
+
* @param onCanvas
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
$canDrop(candidate: Node | Group, target?: Node | Group, onCanvas?: boolean): boolean;
|
|
61
|
+
$vertexRendered<N extends Vertex>(v: N, el: BrowserElement, def: VertexMapping<any, BrowserElement>, eventInfo?: {
|
|
62
|
+
position: PointXY;
|
|
63
|
+
}): void;
|
|
64
|
+
protected constructor(model: VisuallyJsModel, dataSource: DataSource, container: BrowserElement, options: BrowserUIOptions, templateRenderer: TemplateRenderer<BrowserElement>, defaults: BrowserUIDefaults);
|
|
65
|
+
$createDefaultLayoutAdapter(): AbstractLayoutAdapter<BrowserElement>;
|
|
66
|
+
$createGroupLayoutAdapter(group: Group): AbstractLayoutAdapter<HTMLElement | SVGElement>;
|
|
67
|
+
/**
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
$startPanRepeat(dirX: 1 | 0 | -1, dirY: 1 | 0 | -1, dx: number, dy: number, interval: number, cb?: (total: PointXY) => any): void;
|
|
71
|
+
/**
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
$stopPanRepeat(): void;
|
|
75
|
+
/**
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
private _shapeDefsSvgElement;
|
|
79
|
+
/**
|
|
80
|
+
* @internal
|
|
81
|
+
*/
|
|
82
|
+
private _setupShapeDefs;
|
|
83
|
+
/**
|
|
84
|
+
* Fire an event for an overlay, and for its related component.
|
|
85
|
+
* @internal
|
|
86
|
+
* @param overlay
|
|
87
|
+
* @param event
|
|
88
|
+
* @param e
|
|
89
|
+
*/
|
|
90
|
+
private __fireOverlayMethod;
|
|
91
|
+
/**
|
|
92
|
+
* Whether or not the UI instance renders asynchronously.
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
$isAsynchronousRender(): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* @internal
|
|
98
|
+
*/
|
|
99
|
+
$isDraggingSupported(): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Removes the given element from the display. The element may or may not be related to a vertex in the dataset.
|
|
102
|
+
* @internal
|
|
103
|
+
* @param element
|
|
104
|
+
*/
|
|
105
|
+
$removeElement(element: BrowserElement): void;
|
|
106
|
+
/**
|
|
107
|
+
* TODO unless the core calls this, this method is not needed.
|
|
108
|
+
* @param el
|
|
109
|
+
* @param parent
|
|
110
|
+
* @param insertAtStart
|
|
111
|
+
* @internal
|
|
112
|
+
*/
|
|
113
|
+
$appendElement(el: Element, parent: Element, insertAtStart?: boolean): void;
|
|
114
|
+
$setElementVisible(el: BrowserElement, visible: boolean): void;
|
|
115
|
+
/**
|
|
116
|
+
* @override
|
|
117
|
+
* @param p
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
$doVertexUpdated(el: ViewportElement<BrowserElement>): void;
|
|
121
|
+
/**
|
|
122
|
+
* @internal
|
|
123
|
+
* @override
|
|
124
|
+
*/
|
|
125
|
+
$graphClearStart(): void;
|
|
126
|
+
/**
|
|
127
|
+
* @internal
|
|
128
|
+
* @param el
|
|
129
|
+
* @private
|
|
130
|
+
*/
|
|
131
|
+
$appendElementToContainer(el: BrowserElement, insertAtStart?: boolean): void;
|
|
132
|
+
$appendElementToVertexLayer(el: BrowserElement, insertAtStart?: boolean): void;
|
|
133
|
+
$appendElementToToolsLayer(el: BrowserElement, insertAtStart?: boolean): void;
|
|
134
|
+
$appendOverlayElement(e: BrowserElement, insertAtStart?: boolean): void;
|
|
135
|
+
$appendVertexElement(e: BrowserElement, insertAtStart?: boolean): void;
|
|
136
|
+
$appendEdgeElement(e: BrowserElement, insertAtStart?: boolean): void;
|
|
137
|
+
/**
|
|
138
|
+
*
|
|
139
|
+
* @param el
|
|
140
|
+
* @internal
|
|
141
|
+
*/
|
|
142
|
+
$getAssociatedElements(el: BrowserElement): Array<BrowserElement>;
|
|
143
|
+
/**
|
|
144
|
+
* Gets the CSS class for the given element.
|
|
145
|
+
* @param el
|
|
146
|
+
* @internal
|
|
147
|
+
*/
|
|
148
|
+
$getClassFromElement(el: BrowserElement): string;
|
|
149
|
+
/**
|
|
150
|
+
* Add one or more classes to the given element or list of elements.
|
|
151
|
+
* @param el Element, or list of elements to which to add the class(es)
|
|
152
|
+
* @param clazz A space separated list of classes to add.
|
|
153
|
+
* @internal
|
|
154
|
+
*/
|
|
155
|
+
$addClassToElement(el: BrowserElement | NodeListOf<BrowserElement>, clazz: string): void;
|
|
156
|
+
/**
|
|
157
|
+
* Returns whether or not the given element has the given class.
|
|
158
|
+
* @param el
|
|
159
|
+
* @param clazz
|
|
160
|
+
* @internal
|
|
161
|
+
*/
|
|
162
|
+
$elementHasClass(el: BrowserElement, clazz: string): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Remove one or more classes from the given element or list of elements.
|
|
165
|
+
* @param el Element, or list of elements from which to remove the class(es)
|
|
166
|
+
* @param clazz A space separated list of classes to remove.
|
|
167
|
+
* @internal
|
|
168
|
+
*/
|
|
169
|
+
$removeClassFromElement(el: BrowserElement | NodeListOf<BrowserElement>, clazz: string): void;
|
|
170
|
+
/**
|
|
171
|
+
* Toggles one or more classes on the given element or list of elements.
|
|
172
|
+
* @param el Element, or list of elements on which to toggle the class(es)
|
|
173
|
+
* @param clazz A space separated list of classes to toggle.
|
|
174
|
+
* @internal
|
|
175
|
+
*/
|
|
176
|
+
$toggleClassOnElement(el: BrowserElement | NodeListOf<BrowserElement>, clazz: string): void;
|
|
177
|
+
/**
|
|
178
|
+
* Updates classes for the given element
|
|
179
|
+
* @param el
|
|
180
|
+
* @param classesToAdd
|
|
181
|
+
* @param classesToRemove
|
|
182
|
+
* @internal
|
|
183
|
+
*/
|
|
184
|
+
$updateElementClasses(el: BrowserElement, classesToAdd: Array<string>, classesToRemove: Array<string>): void;
|
|
185
|
+
/**
|
|
186
|
+
* Sets an attribute on the given element.
|
|
187
|
+
* @param el
|
|
188
|
+
* @param name
|
|
189
|
+
* @param value
|
|
190
|
+
* @internal
|
|
191
|
+
*/
|
|
192
|
+
$setAttribute(el: BrowserElement, name: string, value: string): void;
|
|
193
|
+
/**
|
|
194
|
+
* Gets an attribute from the given element.
|
|
195
|
+
* @param el
|
|
196
|
+
* @param name
|
|
197
|
+
* @internal
|
|
198
|
+
*/
|
|
199
|
+
$getAttribute(el: BrowserElement, name: string): string;
|
|
200
|
+
/**
|
|
201
|
+
* Sets some attributes on the given element.
|
|
202
|
+
* @param el - Element to set attributes on
|
|
203
|
+
* @param atts - Map of attributes to set.
|
|
204
|
+
* @internal
|
|
205
|
+
*/
|
|
206
|
+
$setAttributes(el: Element, atts: Record<string, string>): void;
|
|
207
|
+
/**
|
|
208
|
+
* Remove an attribute from the given element.
|
|
209
|
+
* @param el - Element to remove an attribute from
|
|
210
|
+
* @param attName - Name of the attribute to remove
|
|
211
|
+
* @internal
|
|
212
|
+
*/
|
|
213
|
+
$removeAttribute(el: Element, attName: string): void;
|
|
214
|
+
/**
|
|
215
|
+
* Bind an event listener to the given element or elements.
|
|
216
|
+
* @param el - Element, or elements, to bind the event listener to.
|
|
217
|
+
* @param event - Name of the event to bind to.
|
|
218
|
+
* @param callbackOrSelector - Either a callback function, or a CSS 3 selector. When this is a selector the event listener is bound as a "delegate", ie. the event listeners listens to events on children of the given `el` that match the selector.
|
|
219
|
+
* @param callback - Callback function for event. Only supplied when you're binding a delegated event handler.
|
|
220
|
+
*
|
|
221
|
+
*/
|
|
222
|
+
on(el: Document | BrowserElement | NodeListOf<BrowserElement>, event: string, callbackOrSelector: Function | string, callback?: Function): this;
|
|
223
|
+
/**
|
|
224
|
+
* Remove an event binding from the given element or elements.
|
|
225
|
+
* @param el - Element, or elements, from which to remove the event binding.
|
|
226
|
+
* @param event - Name of the event to unbind.
|
|
227
|
+
* @param callback - The function you wish to unbind.
|
|
228
|
+
*
|
|
229
|
+
*/
|
|
230
|
+
off(el: Document | BrowserElement | NodeListOf<BrowserElement>, event: string, callback: Function): this;
|
|
231
|
+
/**
|
|
232
|
+
* Trigger an event on the given element. Exposed for API users but mostly intended for internal use.
|
|
233
|
+
* @param el - Element to trigger the event on.
|
|
234
|
+
* @param event - Name of the event to trigger.
|
|
235
|
+
* @param originalEvent - Optional event that gave rise to this method being called.
|
|
236
|
+
* @param payload - Optional `payload` to set on the Event that is created.
|
|
237
|
+
* @param detail - Optional detail for the Event that is created.
|
|
238
|
+
*/
|
|
239
|
+
trigger(el: Document | BrowserElement, event: string, originalEvent?: Event, payload?: any, detail?: number): void;
|
|
240
|
+
/**
|
|
241
|
+
* Gets the position of the given element relative to the browser viewport's origin. This method is safe for
|
|
242
|
+
* both HTML and SVG elements.
|
|
243
|
+
* @internal
|
|
244
|
+
* @param el
|
|
245
|
+
*/
|
|
246
|
+
$getOffsetRelativeToRoot(el: BrowserElement): PointXY;
|
|
247
|
+
private _adjustForParents;
|
|
248
|
+
/**
|
|
249
|
+
* Exposed on this class to assist core in abstracting out the specifics of the renderer.
|
|
250
|
+
* @internal
|
|
251
|
+
* @param el
|
|
252
|
+
*
|
|
253
|
+
* Places this is called:
|
|
254
|
+
*
|
|
255
|
+
* - drawAnchorPlaceholders in edge editor base
|
|
256
|
+
* - getOffset method passed in the pan zoom of miniview
|
|
257
|
+
* - getOffset method passed in to pan zoom of surface
|
|
258
|
+
* - refreshElement method of Viewport
|
|
259
|
+
*
|
|
260
|
+
*/
|
|
261
|
+
$getElementPositionInUIRelativeToCanvasOrigin(el: BrowserElement, knownElementSize?: Size): PointXY;
|
|
262
|
+
$setElementSizeInUI(el: BrowserElement, width: number, height: number): void;
|
|
263
|
+
$setElementWidth(el: BrowserElement, width: number): void;
|
|
264
|
+
$setElementHeight(el: BrowserElement, height: number): void;
|
|
265
|
+
/**
|
|
266
|
+
* Exposed on this class to assist core in abstracting out the specifics of the renderer.
|
|
267
|
+
* @internal
|
|
268
|
+
* @param el
|
|
269
|
+
*/
|
|
270
|
+
$getSize(el: BrowserElement): Size;
|
|
271
|
+
$setElementRotation(el: BrowserElement, r: number): void;
|
|
272
|
+
/**
|
|
273
|
+
* Gets the position of the given element relative to its offset parent,
|
|
274
|
+
* in canvas coordinates, ie. not scaled per the current zoom. Currently
|
|
275
|
+
* this method is only used to find the offset to a group's content area.
|
|
276
|
+
* @param el
|
|
277
|
+
* @internal
|
|
278
|
+
*/
|
|
279
|
+
$getElementPositionInUIRelativeToParent(el: BrowserElement): PointXY;
|
|
280
|
+
/**
|
|
281
|
+
* Gets the position of the given element relative to the visible window origin, _in page coordinates_. The implementation invokes `getBoundingClientRect()` on the element and returns that value, which is a rectangle whose dimensions and location match what the user sees, where [0,0] is the origin of the browser window. It is important to note that this method does _not_ take page scroll into account. The value returned from this method is as the user sees it with respect to the browser's top left corner. Note also that this method is ignorant of zoom: the value returned is as the user sees it, that is with any zoom applied.
|
|
282
|
+
* @param el Element to get position for.
|
|
283
|
+
* @internal
|
|
284
|
+
*/
|
|
285
|
+
$getElementPositionInWindow(el: BrowserElement): RectangleXY;
|
|
286
|
+
/**
|
|
287
|
+
* Gets a style property from some element.
|
|
288
|
+
* Exposed on this class to assist core in abstracting out the specifics of the renderer.
|
|
289
|
+
* @internal
|
|
290
|
+
* @param el Element to get property from
|
|
291
|
+
* @param prop Property to look up
|
|
292
|
+
*/
|
|
293
|
+
$getStyle(el: Element, prop: string): any;
|
|
294
|
+
/**
|
|
295
|
+
* Gets the element representing some group's content area. Exposed on this class to assist core in abstracting out the specifics of the renderer.
|
|
296
|
+
* @internal
|
|
297
|
+
* @param el
|
|
298
|
+
*/
|
|
299
|
+
$getGroupContentAreaElement(el: BrowserElement): BrowserElement;
|
|
300
|
+
/**
|
|
301
|
+
* Exposed on this class to assist core in abstracting out the specifics of the renderer.
|
|
302
|
+
* @internal
|
|
303
|
+
* @param ctx Either a string representing a selector, or an element. If a string, the container root is assumed to be the element context. Otherwise the context is this value and the selector is the second arg to the method.
|
|
304
|
+
* @param spec If `ctx` is an element, this is the selector
|
|
305
|
+
*/
|
|
306
|
+
$getSelector(ctx: string | Element, spec?: string): Array<VisuallyJSDOMElement>;
|
|
307
|
+
$setViewportElementPosition(el: ViewportElement<BrowserElement>, p: PointXY): void;
|
|
308
|
+
/**
|
|
309
|
+
* Sets whether or not the given element, or element representing the given vertex, is draggable.
|
|
310
|
+
* @param element Vertex id, vertex, or DOM element
|
|
311
|
+
* @param draggable
|
|
312
|
+
*/
|
|
313
|
+
setDraggable(element: string | BrowserElement | Vertex, draggable: boolean): void;
|
|
314
|
+
/**
|
|
315
|
+
* Helper method to get the draggable state of some element. Under the hood all this does is check for the
|
|
316
|
+
* existence of the `data-vjs-not-draggable` attribute.
|
|
317
|
+
* @param el - Element to get draggable state for.
|
|
318
|
+
*
|
|
319
|
+
*/
|
|
320
|
+
isDraggable(el: BrowserElement): boolean;
|
|
321
|
+
toggleDraggable(el: BrowserElement): boolean;
|
|
322
|
+
/**
|
|
323
|
+
* Fires an edge event, but only if the edge is not marked transient (or fireEvenIfTransient is true)
|
|
324
|
+
* @param localEvent
|
|
325
|
+
* @param globalEvent
|
|
326
|
+
* @param connection
|
|
327
|
+
* @param evt
|
|
328
|
+
* @param overlay
|
|
329
|
+
* @param fireEvenIfTransient
|
|
330
|
+
* @internal
|
|
331
|
+
*/
|
|
332
|
+
private __fireEdgeEvent;
|
|
333
|
+
/**
|
|
334
|
+
* @overridable
|
|
335
|
+
* @param payload
|
|
336
|
+
*/
|
|
337
|
+
protected $edgeTap(payload: {
|
|
338
|
+
obj: Edge;
|
|
339
|
+
e: MouseEvent;
|
|
340
|
+
connection: Connection<BrowserElement>;
|
|
341
|
+
overlay?: Overlay<BrowserElement>;
|
|
342
|
+
}): void;
|
|
343
|
+
/**
|
|
344
|
+
* Gets the name of the attribute that is used to determine the label for the given edge.
|
|
345
|
+
* @param edge
|
|
346
|
+
*
|
|
347
|
+
*/
|
|
348
|
+
getLabelLocationAttribute(edge: Edge): string;
|
|
349
|
+
private __handleOverlayClick;
|
|
350
|
+
private _overlayClick;
|
|
351
|
+
private _overlayDblClick;
|
|
352
|
+
private _overlayTap;
|
|
353
|
+
private _overlayDblTap;
|
|
354
|
+
private __handleConnectorClick;
|
|
355
|
+
private _connectorClick;
|
|
356
|
+
private _connectorDblClick;
|
|
357
|
+
private _connectorTap;
|
|
358
|
+
private _connectorDblTap;
|
|
359
|
+
private __overlayHover;
|
|
360
|
+
private _overlayMouseover;
|
|
361
|
+
private _overlayMouseout;
|
|
362
|
+
private __doConnectorHover;
|
|
363
|
+
private __connectorHover;
|
|
364
|
+
private _connectorMouseover;
|
|
365
|
+
private _connectorMouseout;
|
|
366
|
+
private __connectorMouseupdown;
|
|
367
|
+
private _connectorMouseup;
|
|
368
|
+
private _connectorMousedown;
|
|
369
|
+
private _connectorContextmenu;
|
|
370
|
+
private _getElementPayload;
|
|
371
|
+
private __elementEvent;
|
|
372
|
+
private _elementClick;
|
|
373
|
+
private _elementDblClick;
|
|
374
|
+
private _elementTap;
|
|
375
|
+
private _elementDblTap;
|
|
376
|
+
private _elementContextmenu;
|
|
377
|
+
private _elementMouseout;
|
|
378
|
+
private _elementMouseover;
|
|
379
|
+
private _elementMousemove;
|
|
380
|
+
private _toggleGroupCollapse;
|
|
381
|
+
private __bindContainerEvent;
|
|
382
|
+
/**
|
|
383
|
+
* Register a drag handler. If the drag manager is not yet ready the handler will be put in a waiting list,
|
|
384
|
+
* and processed once the drag manager has been created.
|
|
385
|
+
* @param handler
|
|
386
|
+
* @internal
|
|
387
|
+
*/
|
|
388
|
+
addDragHandler(handler: DragHandler2<BrowserElement>): void;
|
|
389
|
+
/**
|
|
390
|
+
* List of drag handlers registered prior to the drag manager having been constructed.
|
|
391
|
+
* @internal
|
|
392
|
+
*/
|
|
393
|
+
private _pendingDragHandlers;
|
|
394
|
+
/**
|
|
395
|
+
* Initialise the drag manager, destroying any previous manager (there will be one if the container has changed). This method also adds any drag handlers which were registered on this class prior to the drag manager being ready, and then clears that list.
|
|
396
|
+
* @internal
|
|
397
|
+
*/
|
|
398
|
+
private _initDragHandler;
|
|
399
|
+
/**
|
|
400
|
+
* Called by the drag manager at the start of a drag. Subclasses can override this method to perform any actions they may need to undertake. For instance, the Surface will want to tell its pan/zoom widget to take a snapshot of the current compound zoom.
|
|
401
|
+
* @internal
|
|
402
|
+
* @param e
|
|
403
|
+
*/
|
|
404
|
+
protected _elementDragInit(e: MouseEvent): void;
|
|
405
|
+
/**
|
|
406
|
+
* Maps the location of the given location on the page onto the coordinate space of this widget, returning a value representing a location in canvas coordinates with respect to the origin of the instance's canvas.
|
|
407
|
+
*/
|
|
408
|
+
abstract fromPageLocation(x: number, y: number): PointXY;
|
|
409
|
+
/**
|
|
410
|
+
* Maps the location of the given location in the window onto the coordinate space of this widget, returning a value representing a location in canvas coordinates with respect to the origin of the instance's canvas. The input values are in "window" coordinates, where the concept of the window is that it is the visible space the user can see. In a browser, for example, this means the visible area of the page; it does not necessarily correlate with page coordinates because the page may be scrolled.
|
|
411
|
+
*/
|
|
412
|
+
abstract fromWindowLocation(x: number, y: number): PointXY;
|
|
413
|
+
/**
|
|
414
|
+
* Maps the given location relative to the viewport origin, to a page location, allowing for zoom and pan of the canvas. This takes into account the offset of the viewport in the page so that what you get back is the mapped position relative to the target element's [left,top] corner.
|
|
415
|
+
* @param left X location
|
|
416
|
+
* @param top Y location
|
|
417
|
+
* @returns The mapped location, as a PointXY object.
|
|
418
|
+
*
|
|
419
|
+
*/
|
|
420
|
+
abstract toPageLocation(left: number, top: number): PointXY;
|
|
421
|
+
/**
|
|
422
|
+
* Maps the location of the given event on the page onto the coordinate space of this widget, returning a value representing where the given event appears to be with respect to the origin of the UI's viewport.
|
|
423
|
+
* @param event
|
|
424
|
+
*/
|
|
425
|
+
abstract mapEventLocation(event: MouseEvent): PointXY;
|
|
426
|
+
/**
|
|
427
|
+
* Maps the given x,y to canvas coordinates via `fromPageLocation`, snaps that canvas location to the given grid, and then converts the snapped canvas location back to page coordinates.
|
|
428
|
+
* @param x X position, in page coordinates.
|
|
429
|
+
* @param y Y position, in page coordinates
|
|
430
|
+
* @param grid Grid to apply - in canvas coordinates.
|
|
431
|
+
* @returns The given page location snapped to the given grid, in page coordinates.
|
|
432
|
+
*
|
|
433
|
+
*/
|
|
434
|
+
snapPageLocationToGrid(x: number, y: number, grid: Grid): PointXY;
|
|
435
|
+
/**
|
|
436
|
+
* Gets the element that is the root for everything added to the UI.
|
|
437
|
+
* @internal
|
|
438
|
+
*/
|
|
439
|
+
abstract $getCanvasElement(): BrowserElement;
|
|
440
|
+
/**
|
|
441
|
+
* Zoom in by one zoom step.
|
|
442
|
+
*/
|
|
443
|
+
abstract zoomIn(canvasLoc?: PointXY): void;
|
|
444
|
+
/**
|
|
445
|
+
* Zoom out by one zoom step.
|
|
446
|
+
*/
|
|
447
|
+
abstract zoomOut(canvasLoc?: PointXY): void;
|
|
448
|
+
/**
|
|
449
|
+
* Gets all of the managed nodes that are visible, or partly visible, in the current viewport.
|
|
450
|
+
* @internal
|
|
451
|
+
*/
|
|
452
|
+
$getNodesInViewport(): Array<{
|
|
453
|
+
el: ViewportNodeElement<BrowserElement>;
|
|
454
|
+
bb: RectangleXY;
|
|
455
|
+
}>;
|
|
456
|
+
/**
|
|
457
|
+
* Gets all of the managed groups that are visible, or partly visible, in the current viewport.
|
|
458
|
+
* @internal
|
|
459
|
+
*/
|
|
460
|
+
$getGroupsInViewport(): Array<{
|
|
461
|
+
el: ViewportGroupElement<BrowserElement>;
|
|
462
|
+
bb: RectangleXY;
|
|
463
|
+
}>;
|
|
464
|
+
$isTouchDevice(): boolean;
|
|
465
|
+
$isArrayLike<E = any>(el: any): el is ArrayLike<E>;
|
|
466
|
+
abstract addBackground(background: Background): void;
|
|
467
|
+
abstract removeBackground(background: Background): void;
|
|
468
|
+
protected _getVerticesInViewport<T extends ViewportElement<BrowserElement>>(type: string, vpElement: BrowserElement, extractEl?: (el: BrowserElement) => BrowserElement): Array<{
|
|
469
|
+
el: T;
|
|
470
|
+
bb: RectangleXY;
|
|
471
|
+
}>;
|
|
472
|
+
private _attachEventDelegates;
|
|
473
|
+
private _detachEventDelegates;
|
|
474
|
+
/**
|
|
475
|
+
* Sets the element this instance will use as the container for everything it adds to the UI. In normal use this method is not expected to be called very often, if at all. The method is used by the instance constructor and also in certain situations by the model.
|
|
476
|
+
* @param newContainer
|
|
477
|
+
* @internal
|
|
478
|
+
*/
|
|
479
|
+
setContainer(newContainer: BrowserElement): void;
|
|
480
|
+
/**
|
|
481
|
+
* Clears all endpoints and connections and managed elements from the instance of the UI. Does not also clear out
|
|
482
|
+
* event listeners, selectors, or connection types - for that, use `destroy()`.
|
|
483
|
+
*/
|
|
484
|
+
reset(): void;
|
|
485
|
+
/**
|
|
486
|
+
* Clears the instance and unbinds any listeners on the instance. After you call this method you cannot use this
|
|
487
|
+
* instance of the UI again.
|
|
488
|
+
*
|
|
489
|
+
*/
|
|
490
|
+
destroy(): void;
|
|
491
|
+
/**
|
|
492
|
+
* Stops managing the given element.
|
|
493
|
+
* @param el - Element, or ID of the element to stop managing.
|
|
494
|
+
* @param removeElement - If true, also remove the element from the renderer.
|
|
495
|
+
* @internal
|
|
496
|
+
*/
|
|
497
|
+
$__unmanage(el: BrowserElement, removeChildren: boolean, removeElement: boolean): void;
|
|
498
|
+
/**
|
|
499
|
+
* @internal
|
|
500
|
+
* @param o
|
|
501
|
+
* @param clazz
|
|
502
|
+
*/
|
|
503
|
+
$addOverlayClass(o: Overlay<BrowserElement>, clazz: string): void;
|
|
504
|
+
/**
|
|
505
|
+
* @internal
|
|
506
|
+
* @param o
|
|
507
|
+
* @param clazz
|
|
508
|
+
*/
|
|
509
|
+
$removeOverlayClass(o: Overlay<BrowserElement>, clazz: string): void;
|
|
510
|
+
/**
|
|
511
|
+
* @internal
|
|
512
|
+
*/
|
|
513
|
+
getGroupDefinition(group: Group): GroupMapping<BrowserElement>;
|
|
514
|
+
/**
|
|
515
|
+
* @internal
|
|
516
|
+
*/
|
|
517
|
+
getPortDefinition(port: Port): PortMapping<BrowserElement>;
|
|
518
|
+
/**
|
|
519
|
+
* @internal
|
|
520
|
+
*/
|
|
521
|
+
getNodeDefinition(node: Node): NodeMapping<BrowserElement>;
|
|
522
|
+
getVertexDefinition(vertex: Vertex): VertexMapping<any, any>;
|
|
523
|
+
/**
|
|
524
|
+
* TODO this seems to be functionality that only belongs to Recado/Knockle to me. Specifically what's happening here is that a definition containing only 'template' but no 'templateId' is causing an internal value for templateId to be written to the definition, and then for the template to be registered with the renderer.
|
|
525
|
+
* @param def
|
|
526
|
+
* @internal
|
|
527
|
+
*/
|
|
528
|
+
private _ensureTemplate;
|
|
529
|
+
/**
|
|
530
|
+
* Register a custom tag on the UI. This will only take effect if the UI is using the default VisuallyJs template
|
|
531
|
+
* renderer.
|
|
532
|
+
* @param tagName
|
|
533
|
+
* @param handlers
|
|
534
|
+
*/
|
|
535
|
+
registerTag(tagName: string, handlers: CustomTagOptions): void;
|
|
536
|
+
/**
|
|
537
|
+
* Creates a renderer for a node or group.
|
|
538
|
+
* @param objectType
|
|
539
|
+
* @param idFunctionToUse
|
|
540
|
+
* @param typeFunctionToUse
|
|
541
|
+
* @private
|
|
542
|
+
*/
|
|
543
|
+
private createRenderer;
|
|
544
|
+
protected $resolveVertexSizeFromModel(v: Vertex, def: VertexMapping<any, BrowserElement>): Size;
|
|
545
|
+
/**
|
|
546
|
+
* Renders the given node. For internal use.
|
|
547
|
+
* @param n
|
|
548
|
+
* @param eventInfo
|
|
549
|
+
* @internal
|
|
550
|
+
*/
|
|
551
|
+
$doRenderNode(n: Node, eventInfo?: any): void;
|
|
552
|
+
/**
|
|
553
|
+
* Re-renders the given node, unless it has not yet been rendered, in which case we just call doRenderNode
|
|
554
|
+
* @param n
|
|
555
|
+
* @internal
|
|
556
|
+
*/
|
|
557
|
+
$reRenderNode(n: Node): void;
|
|
558
|
+
/**
|
|
559
|
+
* Renders the given group. For internal use.
|
|
560
|
+
* @param g
|
|
561
|
+
* @param eventInfo
|
|
562
|
+
* @internal
|
|
563
|
+
*/
|
|
564
|
+
$doRenderGroup(g: Group, eventInfo?: any): void;
|
|
565
|
+
/**
|
|
566
|
+
* Paints the given overlay.
|
|
567
|
+
* @internal
|
|
568
|
+
* @param o
|
|
569
|
+
* @param params Params that were returned from the `$drawOverlay` method
|
|
570
|
+
* @param parentOrigin
|
|
571
|
+
*/
|
|
572
|
+
$paintOverlay(o: Overlay<BrowserElement>, params: OverlayPaintParams, parentOrigin: PointXY): void;
|
|
573
|
+
/**
|
|
574
|
+
* Sets the visibility of some overlay.
|
|
575
|
+
* @param o - Overlay to hide or show
|
|
576
|
+
* @param visible - If true, make the overlay visible, if false, make the overlay invisible.
|
|
577
|
+
*/
|
|
578
|
+
setOverlayVisible(o: Overlay<BrowserElement>, visible: boolean): void;
|
|
579
|
+
/**
|
|
580
|
+
* @internal
|
|
581
|
+
* @param o
|
|
582
|
+
* @param c
|
|
583
|
+
*/
|
|
584
|
+
$reattachOverlay(o: Overlay<BrowserElement>, c: Connection<BrowserElement>): void;
|
|
585
|
+
/**
|
|
586
|
+
* @internal
|
|
587
|
+
* @param o
|
|
588
|
+
* @param hover
|
|
589
|
+
*/
|
|
590
|
+
$setOverlayHover(o: Overlay<BrowserElement>, hover: boolean): void;
|
|
591
|
+
/**
|
|
592
|
+
* @internal
|
|
593
|
+
* @param o
|
|
594
|
+
*/
|
|
595
|
+
destroyOverlay(o: Overlay<BrowserElement>): void;
|
|
596
|
+
/**
|
|
597
|
+
* Computes what needs to be drawn for an overlay, given the overlay, the path inscribed by the connector, its paint style, and an optional absolute position. I have attempted to make this method as standalone as possible, so that it can be used to draw representations of overlays outside of the context of an edge in a surface, like for an inspector where someone can choose line type etc
|
|
598
|
+
* @internal
|
|
599
|
+
* @param o Overlay to compute
|
|
600
|
+
* @param connectorPath The path on which the overlay resides.
|
|
601
|
+
* @param paintStyle
|
|
602
|
+
* @param absolutePosition
|
|
603
|
+
*/
|
|
604
|
+
$drawOverlay(o: Overlay<BrowserElement>, connectorPath: ConnectorPath, paintStyle: PaintStyle, absolutePosition?: PointXY): OverlayPaintParams;
|
|
605
|
+
/**
|
|
606
|
+
* @internal
|
|
607
|
+
* @param o
|
|
608
|
+
*/
|
|
609
|
+
updateLabel(o: LabelOverlay<BrowserElement>): void;
|
|
610
|
+
/**
|
|
611
|
+
* @internal
|
|
612
|
+
* @param connection
|
|
613
|
+
* @param hover
|
|
614
|
+
*/
|
|
615
|
+
$setHover(connection: Connection<BrowserElement>, hover: boolean): void;
|
|
616
|
+
/**
|
|
617
|
+
* @internal
|
|
618
|
+
* @param connection
|
|
619
|
+
* @param paintStyle
|
|
620
|
+
*/
|
|
621
|
+
$paintConnector(connection: Connection<BrowserElement>, paintStyle: PaintStyle): void;
|
|
622
|
+
/**
|
|
623
|
+
* @internal
|
|
624
|
+
* @param connection
|
|
625
|
+
* @param hover
|
|
626
|
+
*/
|
|
627
|
+
$setConnectorHover(connection: Connection<BrowserElement>, hover: boolean): void;
|
|
628
|
+
/**
|
|
629
|
+
* @internal
|
|
630
|
+
* @param connection
|
|
631
|
+
*/
|
|
632
|
+
$destroyConnector(connection: Connection<any>): void;
|
|
633
|
+
/**
|
|
634
|
+
* @internal
|
|
635
|
+
* @param connector
|
|
636
|
+
* @param clazz
|
|
637
|
+
*/
|
|
638
|
+
$addConnectorClass(connector: Connector, clazz: string): void;
|
|
639
|
+
/**
|
|
640
|
+
* @internal
|
|
641
|
+
* @param connector
|
|
642
|
+
* @param clazz
|
|
643
|
+
*/
|
|
644
|
+
$removeConnectorClass(connector: Connector, clazz: string): void;
|
|
645
|
+
/**
|
|
646
|
+
* @internal
|
|
647
|
+
* @param connector
|
|
648
|
+
*/
|
|
649
|
+
$getConnectorClass(connector: Connector): string;
|
|
650
|
+
/**
|
|
651
|
+
* @internal
|
|
652
|
+
* @param connector
|
|
653
|
+
* @param v
|
|
654
|
+
*/
|
|
655
|
+
$setConnectorVisible(connector: Connector, v: boolean): void;
|
|
656
|
+
/**
|
|
657
|
+
* @internal
|
|
658
|
+
* @param connector
|
|
659
|
+
* @param t
|
|
660
|
+
*/
|
|
661
|
+
$applyConnectorType(connector: Connector, t: TypeDescriptorBase): void;
|
|
662
|
+
/**
|
|
663
|
+
* @override
|
|
664
|
+
* @param deletion
|
|
665
|
+
* @internal
|
|
666
|
+
*/
|
|
667
|
+
$nodeRemoved(deletion: NodeRemovedParams): ViewportElement<BrowserElement>;
|
|
668
|
+
/**
|
|
669
|
+
* Notification from the model that a group was removed. We hand off to the core first, then we remove the group's element from any drag groups, and instruct the template renderer to cleanup the group element.
|
|
670
|
+
* @internal
|
|
671
|
+
*/
|
|
672
|
+
$groupRemoved(deletion: GroupRemovedParams): ViewportGroupElement<BrowserElement>;
|
|
673
|
+
/**
|
|
674
|
+
* Adds a class to the DOM element represented by `el`, which can be a Selection, or an instance of many different types - see the `SupportsClassManipulation` interface for a complete list.
|
|
675
|
+
* @param el
|
|
676
|
+
* @param clazz
|
|
677
|
+
*/
|
|
678
|
+
addClass(el: VisuallyJsSelection | SupportsClassManipulation, clazz: string): void;
|
|
679
|
+
/**
|
|
680
|
+
* Removes a class from the DOM element represented by `el`, which can be a Selection, or an instance of many different types - see the `SupportsClassManipulation` interface for a complete list.
|
|
681
|
+
* @param el
|
|
682
|
+
* @param clazz
|
|
683
|
+
*
|
|
684
|
+
*/
|
|
685
|
+
removeClass(el: VisuallyJsSelection | SupportsClassManipulation, clazz: string): void;
|
|
686
|
+
/**
|
|
687
|
+
* Toggles a class on the DOM element represented by `el`, which can be a Selection, or an instance of many different types - see the {@link SupportsClassManipulation} type for a complete list.
|
|
688
|
+
* @param el
|
|
689
|
+
* @param clazz
|
|
690
|
+
*/
|
|
691
|
+
toggleClass(el: VisuallyJsSelection | SupportsClassManipulation, clazz: string): void;
|
|
692
|
+
/**
|
|
693
|
+
* Returns whether the DOM element represented by `el` - which can be an Edge, Connection, Node, Group, DOM element, or ID of some model object - has the given class.
|
|
694
|
+
* @param el
|
|
695
|
+
* @param clazz
|
|
696
|
+
*
|
|
697
|
+
*/
|
|
698
|
+
hasClass(el: SupportsClassManipulationElement, clazz: string): boolean;
|
|
699
|
+
/**
|
|
700
|
+
* @internal
|
|
701
|
+
* @param el
|
|
702
|
+
* @param clazz
|
|
703
|
+
* @param fn
|
|
704
|
+
*/
|
|
705
|
+
private _classOperation;
|
|
706
|
+
/**
|
|
707
|
+
* @internal
|
|
708
|
+
* @param c
|
|
709
|
+
* @param v
|
|
710
|
+
* @private
|
|
711
|
+
*/
|
|
712
|
+
$setConnectionVisible(c: Connection<BrowserElement>, v: boolean): void;
|
|
713
|
+
/**
|
|
714
|
+
* Manage an element. Adds the element to the viewport and sets up tracking for endpoints/connections for the element, as well as enabling dragging for the element. This method is called internally by various methods of the UI, such as `connect`, `addEndpoint`, `makeSource` and `makeTarget`, so if you use those methods to setup your UI then you may not need to call this. However, if you use the `addSourceSelector` and `addTargetSelector` methods to configure your UI then you will need to register elements using this method, or they will not be draggable.
|
|
715
|
+
* @param element - Element to manage. This method does not accept a DOM element ID as argument. If you wish to manage elements via their DOM element ID, you should use `manageAll` and pass in an appropriate CSS selector that represents your element, eg `#myElementId`.
|
|
716
|
+
* @param modelObject
|
|
717
|
+
* @param position
|
|
718
|
+
* @param size
|
|
719
|
+
* @param rotation
|
|
720
|
+
* @param _recalc - Maybe recalculate offsets for the element also. It is not recommended that clients of the API use this parameter; it's used in certain scenarios internally
|
|
721
|
+
* @internal
|
|
722
|
+
*/
|
|
723
|
+
$manage(element: BrowserElement, modelObject: Vertex, position: PointXY, size: Size, rotation: number, _recalc: boolean): ViewportElement<BrowserElement>;
|
|
724
|
+
/**
|
|
725
|
+
* For some DOM element, find the model object it is mapping, and the related type definition for objects of that type.
|
|
726
|
+
* @param el
|
|
727
|
+
* @param asSource
|
|
728
|
+
* @private
|
|
729
|
+
* @internal
|
|
730
|
+
*/
|
|
731
|
+
$getModelInfoForDragElement(el: BrowserElement, asSource: boolean, createMissingPorts: boolean): ElementModelInfo;
|
|
732
|
+
$isElement(obj: any): obj is BrowserElement;
|
|
733
|
+
getModelObjectFromElement(el: BrowserElement, searchAncestors: boolean, createMissingPorts: boolean): {
|
|
734
|
+
obj: Node | Group | Port | Edge;
|
|
735
|
+
el: VisuallyJSDOMElement;
|
|
736
|
+
missingPortCreated: boolean;
|
|
737
|
+
} | null;
|
|
738
|
+
/**
|
|
739
|
+
* Gets the DOM node that was rendered for the Port with the given id (does not retrieve `vjs-endpoint` elements)
|
|
740
|
+
* @param portIdOrPort Either the port, or the id of the port for which to retrieve the rendered element. Note that you must supply a "full" id here, that is in dotted notation with the id of the Node/Group on which the port resides.
|
|
741
|
+
* @returns DOM element for the given Port, null if not found.
|
|
742
|
+
*/
|
|
743
|
+
getRenderedPort(portIdOrPort: string | Port): BrowserElement;
|
|
744
|
+
/**
|
|
745
|
+
* @internal
|
|
746
|
+
* @param e
|
|
747
|
+
* @private
|
|
748
|
+
*/
|
|
749
|
+
$isSupportedElement(e: any): e is BrowserElement;
|
|
750
|
+
/**
|
|
751
|
+
* Invoked after a layout refresh
|
|
752
|
+
* @internal
|
|
753
|
+
* @param p
|
|
754
|
+
* @private
|
|
755
|
+
*/
|
|
756
|
+
$afterRefresh(p: LayoutResultSet): void;
|
|
757
|
+
/**
|
|
758
|
+
* invoked after a full relayout.
|
|
759
|
+
* @internal
|
|
760
|
+
* @param p
|
|
761
|
+
* @private
|
|
762
|
+
*/
|
|
763
|
+
$afterRelayout(p: LayoutResultSet): void;
|
|
764
|
+
$zoomToFit(params?: ZoomToFitOptions): void;
|
|
765
|
+
$zoomToFitIfNecessary(params?: ZoomToFitIfNecessaryOptions): void;
|
|
766
|
+
$zoomToElements(params?: ZoomToElementsOptions<BrowserElement>): void;
|
|
767
|
+
/**
|
|
768
|
+
* A transient vertex is a blank SVG element in this renderer - regardless of the container type.
|
|
769
|
+
* @internal
|
|
770
|
+
* @param position
|
|
771
|
+
* @param size
|
|
772
|
+
* @param data
|
|
773
|
+
* @param style
|
|
774
|
+
* @param clazz
|
|
775
|
+
* @param atts
|
|
776
|
+
*/
|
|
777
|
+
$renderTransientVertex(position: PointXY, size: Size, data?: ObjectData, style?: Record<string, any>, clazz?: string, atts?: Record<string, string>): SVGElement;
|
|
778
|
+
/**
|
|
779
|
+
* For some node/group, get the element that was used to render it.
|
|
780
|
+
* @param obj
|
|
781
|
+
*/
|
|
782
|
+
getRenderedElement(obj: string | Base): BrowserElement;
|
|
783
|
+
/**
|
|
784
|
+
* Gets the current zoom. This class returns the programmatic zoom level, which may not be what the user sees. Subclasses will generally override this.
|
|
785
|
+
*
|
|
786
|
+
*/
|
|
787
|
+
getZoom(): number;
|
|
788
|
+
/**
|
|
789
|
+
* Gets the zoom as seen by the user. This class does not attempt to implement this method, instead assuming that the zoom is as set on the instance. Subclasses will generally override this.
|
|
790
|
+
*/
|
|
791
|
+
getEffectiveVisibleZoom(): number;
|
|
792
|
+
/**
|
|
793
|
+
* @internal
|
|
794
|
+
*/
|
|
795
|
+
getShapeLibrary(): ShapeLibrary<ObjectData>;
|
|
796
|
+
/**
|
|
797
|
+
* Gets the list of edge property mappings this UI is using. May be an empty list.
|
|
798
|
+
* @internal
|
|
799
|
+
*/
|
|
800
|
+
$getEdgePropertyMappings(): EdgePropertyMappings;
|
|
801
|
+
/**
|
|
802
|
+
* Sets whether rendering is suspended or not.
|
|
803
|
+
* @param val
|
|
804
|
+
* @param thenRefresh If true, the surface will refresh after the change in state.
|
|
805
|
+
*/
|
|
806
|
+
setSuspendRendering(val: boolean, thenRefresh?: boolean): void;
|
|
807
|
+
/**
|
|
808
|
+
* @internal
|
|
809
|
+
*/
|
|
810
|
+
isSuspendRendering(): boolean;
|
|
811
|
+
protected $getCollapsedGroupSize(group: Group, currentSize: Size): Size;
|
|
812
|
+
/**
|
|
813
|
+
* Draw an edge from source point to target point, returning an SVG element. For internal use.
|
|
814
|
+
* @param properties object containing simple edge properties to apply, may be empty.
|
|
815
|
+
* @param source Source of the edge
|
|
816
|
+
* @param target Target of the edge
|
|
817
|
+
* @param overlays List of overlays to draw on the edge. May be empty.
|
|
818
|
+
* @param sampleData Optional data to use to populate parameterised overlays such as labels.
|
|
819
|
+
* @internal
|
|
820
|
+
*/
|
|
821
|
+
$drawAdHocEdge(properties: ObjectData, source: PointXY, target: PointXY, overlays?: Array<OverlaySpec>, sourceMarker?: OverlaySpec, targetMarker?: OverlaySpec, sampleData?: ObjectData): HTMLElement;
|
|
822
|
+
/**
|
|
823
|
+
* Moves the specified element or vertex to the back of its parent’s children in the DOM order. Optionally moves its ancestors to the back as well.
|
|
824
|
+
* @param {string | Vertex | BrowserElement} v - The element, vertex, or browser element to be moved to the back.
|
|
825
|
+
* @param {boolean} [alsoSendAncestorsToBack] - If true, the ancestors of the specified element are also moved to the back.
|
|
826
|
+
* @return {void} No return value.
|
|
827
|
+
*/
|
|
828
|
+
toBack(v: string | Vertex | BrowserElement, alsoSendAncestorsToBack?: boolean): void;
|
|
829
|
+
/**
|
|
830
|
+
* Brings the specified element or vertex to the front within its parent container.
|
|
831
|
+
* Optionally, this method can also ensure all ancestor elements are brought to the front.
|
|
832
|
+
* @param {string | Vertex | BrowserElement} v - The element or vertex to be brought to the front. This can be a string identifier, a `Vertex` object, or a `BrowserElement`.
|
|
833
|
+
* @param {boolean} [alsoBringAncestorsToFront=false] - Indicates whether the ancestors of the specified element should also be brought to the front. Defaults to `false`.
|
|
834
|
+
* @return {void} This method does not return a value.
|
|
835
|
+
*/
|
|
836
|
+
toFront(v: string | Vertex | BrowserElement, alsoBringAncestorsToFront?: boolean): void;
|
|
837
|
+
/**
|
|
838
|
+
* Directly sets the size of a group element (using the `setSize` method, which abstracts out if its an HTML or SVG element). If the group element is an SVG element then that element is the one that is resized. Otherwise if the group element is an HTML element, we resize its content area, because we can then let CSS be applied.
|
|
839
|
+
* @internal
|
|
840
|
+
* @param group
|
|
841
|
+
* @param size
|
|
842
|
+
* @private
|
|
843
|
+
*/
|
|
844
|
+
$setGroupElementSize(group: Group, size: Size): void;
|
|
845
|
+
/**
|
|
846
|
+
* Sets the UI mode. In the base class this method has an empty implementation.
|
|
847
|
+
* @param mode
|
|
848
|
+
* @param doNotClearSelection
|
|
849
|
+
*/
|
|
850
|
+
setMode(mode: string, doNotClearSelection?: boolean): void;
|
|
851
|
+
/**
|
|
852
|
+
* Wraps the underlying model's `batch` function with the added step of first suspending events being fired from this renderer.
|
|
853
|
+
* @param fn Function to run while rendering and events are both suspended.
|
|
854
|
+
*/
|
|
855
|
+
batch(fn: () => any): void;
|
|
856
|
+
/**
|
|
857
|
+
* Sets whether the given vertex is enabled for connection drag/drop.
|
|
858
|
+
* @param v The vertex to set enabled state for.
|
|
859
|
+
* @param state
|
|
860
|
+
*/
|
|
861
|
+
setEnabled(v: Vertex, state: boolean): boolean;
|
|
862
|
+
/**
|
|
863
|
+
* Flash the given vertex or vertices.
|
|
864
|
+
* @param vertices Either a vertex, a vertex id, or an element, or an array of any of these.
|
|
865
|
+
* @param duration Optional; defaults to 1000ms. Duration of the animation in milliseconds.
|
|
866
|
+
* @param animName Optional; the name of the CSS animation to apply. Defaults to ANIM_SURFACE_ELEMENT_FLASH.
|
|
867
|
+
*/
|
|
868
|
+
flashVertex(vertices: string | Node | Group | Element | Array<string | Node | Group | Element>, duration?: number, animName?: string): void;
|
|
869
|
+
/**
|
|
870
|
+
* Flash the nodes and groups in the given selection.
|
|
871
|
+
* @param sel Selection to flash nodes and groups for
|
|
872
|
+
* @param duration Optional; defaults to 1000ms. Duration of the animation, in milliseconds.
|
|
873
|
+
* @param animName Optional; the name of the CSS animation to apply. Defaults to ANIM_SURFACE_ELEMENT_FLASH.
|
|
874
|
+
*/
|
|
875
|
+
flashSelection(sel: VisuallyJsSelection, duration: number, animName: string): void;
|
|
876
|
+
/**
|
|
877
|
+
* When the UI is rendering a Selection, this method triggers a reload on the selection, causing the UI to be cleared and recreated.
|
|
878
|
+
*
|
|
879
|
+
*/
|
|
880
|
+
reload(): void;
|
|
881
|
+
}
|