@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,114 @@
|
|
|
1
|
+
import { Base, ObjectData } from "../../../core";
|
|
2
|
+
import { BrowserUI } from "../../browser-visuallyjs-instance";
|
|
3
|
+
/**
|
|
4
|
+
* The base options for an inspector - shared by Inspector and VanillaInspector.
|
|
5
|
+
* @group Components
|
|
6
|
+
* @category Inspector
|
|
7
|
+
*/
|
|
8
|
+
export interface BaseInspectorOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The element into which the inspector is drawn.
|
|
11
|
+
*/
|
|
12
|
+
container: HTMLElement;
|
|
13
|
+
/**
|
|
14
|
+
* The UI to attach to.
|
|
15
|
+
*/
|
|
16
|
+
ui: BrowserUI;
|
|
17
|
+
/**
|
|
18
|
+
* Optional css class(es) to set on the inspector - a space separated list.
|
|
19
|
+
*/
|
|
20
|
+
cssClass?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Whether or not to support multiple selections. Defaults to true.
|
|
23
|
+
*/
|
|
24
|
+
multipleSelections?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Optional callback to invoke after an update has occurred.
|
|
27
|
+
*/
|
|
28
|
+
afterUpdate?: () => any;
|
|
29
|
+
/**
|
|
30
|
+
* Whether or not to auto commit changes on blur/change events. Defaults to true.
|
|
31
|
+
*/
|
|
32
|
+
autoCommit?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Optional filter you can use to instruct the inspector to ignore certain items.
|
|
35
|
+
* @param b The object to test
|
|
36
|
+
*/
|
|
37
|
+
filter?: (b: Base) => boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Defaults to true. With this setting, if an update is made that has one or more blank strings, the strings will only be written to objects that already had some value for the corresponding key. If some object has, say, no value stored against the key `foo`, then the inspector will not write a value of "" for that key into the vertex. The reasoning for this flag is that you cannot get a null value from a text field, so if some text field has no value written in it and then gets a blur event, the UI reports a value of "", ie an empty string. But this is likely not the user's intention, if the field was blank to begin with.
|
|
40
|
+
*/
|
|
41
|
+
doNotWriteBlankNewValues?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Defaults to false. When true, the inspector will have a close button in the top right corner, which, when pressed, will
|
|
44
|
+
* clear the Toolkit's selection.
|
|
45
|
+
*/
|
|
46
|
+
showCloseButton?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Optional context to also provide to the templates when rendering. This can be accessed via the `$context` prefix, for
|
|
49
|
+
* instance `{{$context.myValue}}`
|
|
50
|
+
*/
|
|
51
|
+
context?: Record<string, any>;
|
|
52
|
+
/**
|
|
53
|
+
* Optional callback used to retrieve a value for a specific property when it's not present in the object's data.
|
|
54
|
+
* @param b The object being inspected.
|
|
55
|
+
* @param key The property key.
|
|
56
|
+
*/
|
|
57
|
+
getDefaultValue?: (d: ObjectData, key: string) => any;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Options for an inspector.
|
|
61
|
+
* @group Components
|
|
62
|
+
* @category Inspector
|
|
63
|
+
*/
|
|
64
|
+
export interface InspectorOptions extends BaseInspectorOptions {
|
|
65
|
+
/**
|
|
66
|
+
* Callback invoked when the inspector is cleared.
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
renderEmptyContainer: () => void;
|
|
70
|
+
/**
|
|
71
|
+
* Callback invoked when a new object has started to be edited.
|
|
72
|
+
* @param obj
|
|
73
|
+
* @param cb
|
|
74
|
+
*/
|
|
75
|
+
refresh: (obj: Base, cb: () => any) => void;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
export type FieldInfo = {
|
|
81
|
+
field: HTMLElement;
|
|
82
|
+
edited: boolean;
|
|
83
|
+
common: boolean;
|
|
84
|
+
commonValue: any;
|
|
85
|
+
editedValue?: any;
|
|
86
|
+
attribute: string;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Options for the VanillaInspector, an instance of Inspector that uses VisuallyJs's default templating mechanism to render elements.
|
|
90
|
+
* @group Components
|
|
91
|
+
* @category Inspector
|
|
92
|
+
*/
|
|
93
|
+
export interface VanillaInspectorOptions extends BaseInspectorOptions {
|
|
94
|
+
/**
|
|
95
|
+
* Template to use in the inspector when there is nothing selected. By default an empty `div` element is used.
|
|
96
|
+
*/
|
|
97
|
+
emptyTemplate?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Resolves templates for a given object.
|
|
100
|
+
* @param obj
|
|
101
|
+
*/
|
|
102
|
+
templateResolver: (obj: Base) => string;
|
|
103
|
+
/**
|
|
104
|
+
* By default the inspector will cache found templates, keyed by the type of the object and its category (there is a separate cache for nodes, groups, edges and ports, and in each cache the key is the object's `type`). In some situations you may not want to cache the template, for instance if your template has dynamic data that depends on the object that is being inspected. If that's the case you can set this to false.
|
|
105
|
+
*/
|
|
106
|
+
cacheTemplates?: boolean;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The default key used to store/retrieve recent color list in/from the inspector context
|
|
110
|
+
* @group Components
|
|
111
|
+
* @category Inspector
|
|
112
|
+
* @internal
|
|
113
|
+
*/
|
|
114
|
+
export declare const INSPECTOR_CONTEXT_RECENT_COLORS = "recentColors";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { VanillaInspector } from "./vanilla-inspector";
|
|
2
|
+
/**
|
|
3
|
+
* The HTML element identifying the edge type picker.
|
|
4
|
+
* @group Components
|
|
5
|
+
* @category Inspector
|
|
6
|
+
* @constant
|
|
7
|
+
*/
|
|
8
|
+
export declare const EDGE_TYPE_PICKER_ELEMENT = "vjs-edge-type";
|
|
9
|
+
/**
|
|
10
|
+
* The default key used to retrieve edge mappings from the inspector context. The standard approach is to register property mappings on the UI, and the inspector will resolve from there. But for certain standalone scenarios it can be useful to supply property mappings to the inspector directly (such as if you want to only make available a certain subset to the user).
|
|
11
|
+
* @group Components
|
|
12
|
+
* @category Inspector
|
|
13
|
+
*/
|
|
14
|
+
export declare const INSPECTOR_CONTEXT_EDGE_PROPERTY_MAPPINGS = "edgeMappings";
|
|
15
|
+
export declare function registerEdgeTypePickerTag(inspector: VanillaInspector): void;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Base, ObjectData } from "../../../core";
|
|
2
|
+
import { EventManager } from "../../event-manager";
|
|
3
|
+
import { VjsContext } from "../../../ui";
|
|
4
|
+
import { FieldInfo, InspectorOptions } from "./definitions";
|
|
5
|
+
import { BrowserUI } from "../../browser-visuallyjs-instance";
|
|
6
|
+
/**
|
|
7
|
+
* Assigned to an Inspector's container when the inspector is active.
|
|
8
|
+
* @group Components
|
|
9
|
+
* @category Inspector
|
|
10
|
+
* @cssClass
|
|
11
|
+
* @context inspector
|
|
12
|
+
*/
|
|
13
|
+
export declare const CLASS_INSPECTOR_ACTIVE = "vjs-inspector-active";
|
|
14
|
+
/**
|
|
15
|
+
* Assigned to an Inspector's container when the inspector is inactive.
|
|
16
|
+
* @group Components
|
|
17
|
+
* @category Inspector
|
|
18
|
+
* @cssClass
|
|
19
|
+
* @context inspector
|
|
20
|
+
*/
|
|
21
|
+
export declare const CLASS_INSPECTOR_INACTIVE = "vjs-inspector-inactive";
|
|
22
|
+
/**
|
|
23
|
+
* Assigned to an Inspector's container element.
|
|
24
|
+
* @group Components
|
|
25
|
+
* @category Inspector
|
|
26
|
+
* @cssClass
|
|
27
|
+
* @context inspector
|
|
28
|
+
*/
|
|
29
|
+
export declare const CLASS_INSPECTOR = "vjs-inspector";
|
|
30
|
+
/**
|
|
31
|
+
* Assigned to the close button that is added when `showCloseButton` is set to true.
|
|
32
|
+
* @group Components
|
|
33
|
+
* @category Inspector
|
|
34
|
+
* @cssClass
|
|
35
|
+
* @context inspector
|
|
36
|
+
*/
|
|
37
|
+
export declare const CLASS_INSPECTOR_CLOSE = "vjs-inspector-close";
|
|
38
|
+
/**
|
|
39
|
+
* Fired by an Inspector when its contents have changed.
|
|
40
|
+
* @group Components
|
|
41
|
+
* @category Inspector
|
|
42
|
+
*/
|
|
43
|
+
export declare const EVENT_CHANGE = "change";
|
|
44
|
+
/**
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export type InspectorValueListener = (key: string, value: any) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Offers a simple means to inspect and change the values in some object or set of objects.
|
|
50
|
+
* @group Components
|
|
51
|
+
* @category Inspector
|
|
52
|
+
*/
|
|
53
|
+
export declare class Inspector extends VjsContext {
|
|
54
|
+
container: HTMLElement;
|
|
55
|
+
$ui: BrowserUI;
|
|
56
|
+
private model;
|
|
57
|
+
eventManager: EventManager;
|
|
58
|
+
private readonly _multipleSelections;
|
|
59
|
+
private _valueListeners;
|
|
60
|
+
private _pendingUpdates;
|
|
61
|
+
private readonly _autoCommit;
|
|
62
|
+
private readonly _doNotWriteBlankNewValues;
|
|
63
|
+
private readonly _renderEmptyContainer;
|
|
64
|
+
private readonly _refresh;
|
|
65
|
+
private readonly _afterUpdate?;
|
|
66
|
+
protected _resetting: boolean;
|
|
67
|
+
protected _fieldMap: Map<string, FieldInfo>;
|
|
68
|
+
current: Array<Base>;
|
|
69
|
+
_currentCommonData: ObjectData;
|
|
70
|
+
_filter: (b: Base) => boolean;
|
|
71
|
+
readonly $getDefaultValue?: (d: ObjectData, key: string) => any;
|
|
72
|
+
private readonly _showCloseButton;
|
|
73
|
+
$eventManager: EventManager;
|
|
74
|
+
constructor(options: InspectorOptions);
|
|
75
|
+
private _bindEvents;
|
|
76
|
+
private $updateObject;
|
|
77
|
+
protected $_recomputeCommonData(): void;
|
|
78
|
+
private __filterEmptyStrings;
|
|
79
|
+
/**
|
|
80
|
+
* Write the changes to the toolkit.
|
|
81
|
+
* @param updates
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
private _persistChanges;
|
|
85
|
+
/**
|
|
86
|
+
* Either write the changes to the toolkit or store them in the list of pending updates, depending on
|
|
87
|
+
* the autoCommit flag.
|
|
88
|
+
* @param updates
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
private _updateCurrent;
|
|
92
|
+
reset(doNotRenderEmptyContainer: boolean): void;
|
|
93
|
+
private _destroy;
|
|
94
|
+
_remove(obj: Base): void;
|
|
95
|
+
private _injectCloseButton;
|
|
96
|
+
private _recomputeAndApply;
|
|
97
|
+
private _edit;
|
|
98
|
+
$refresh(): void;
|
|
99
|
+
/**
|
|
100
|
+
* @internal
|
|
101
|
+
* @param v
|
|
102
|
+
*/
|
|
103
|
+
addValueListener(v: InspectorValueListener): void;
|
|
104
|
+
/**
|
|
105
|
+
* For subclasses/wrapper classes to use.
|
|
106
|
+
* @param key
|
|
107
|
+
* @param value
|
|
108
|
+
*
|
|
109
|
+
*/
|
|
110
|
+
setValue(key: string, value: any, repaintAfterwards?: boolean): void;
|
|
111
|
+
/**
|
|
112
|
+
* @internal
|
|
113
|
+
* @param b
|
|
114
|
+
* @param key
|
|
115
|
+
*/
|
|
116
|
+
_getDefaultValue(b: Base, key: string): any;
|
|
117
|
+
/**
|
|
118
|
+
* Gets the current value for the given key, may be null.
|
|
119
|
+
* @param key
|
|
120
|
+
*/
|
|
121
|
+
getValue(key: string): string;
|
|
122
|
+
onChange(fn: (data: ObjectData) => any): void;
|
|
123
|
+
/**
|
|
124
|
+
* Persist any pending updates to the toolkit, then clear the list of pending updates. Returns the count of
|
|
125
|
+
* the number of changes made.
|
|
126
|
+
*
|
|
127
|
+
*/
|
|
128
|
+
persist(): number;
|
|
129
|
+
/**
|
|
130
|
+
* Returns whether or not there are unsaved changes.
|
|
131
|
+
*
|
|
132
|
+
*/
|
|
133
|
+
hasPendingChanges(): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Redraw the inspector.
|
|
136
|
+
*/
|
|
137
|
+
redraw(): void;
|
|
138
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ShapePropertyDefinition } from "../../shape-library";
|
|
2
|
+
import { VanillaInspector } from "./vanilla-inspector";
|
|
3
|
+
import { Base } from "../../../core";
|
|
4
|
+
import { VanillaInspectorOptions } from "./definitions";
|
|
5
|
+
import { BrowserUI } from "../../browser-visuallyjs-instance";
|
|
6
|
+
/**
|
|
7
|
+
* Generates an HTML string in the Recado template format for all configurable
|
|
8
|
+
* properties of a given ShapeType, utilizing `vjs-att` for data binding.
|
|
9
|
+
*
|
|
10
|
+
* @param properties The properties to render.
|
|
11
|
+
* @returns A string representing the Recado template for the inspector.
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function generateInspectorTemplate(properties: Array<ShapePropertyDefinition>, noPropertiesMessage: string): string;
|
|
15
|
+
export interface ShapeTypeInspectorOptions extends VanillaInspectorOptions {
|
|
16
|
+
ui: BrowserUI;
|
|
17
|
+
properties?: Array<ShapePropertyDefinition>;
|
|
18
|
+
/**
|
|
19
|
+
* Specifies how the `properties` option should be used.
|
|
20
|
+
* - `override`: (default) Use only the properties defined in the inspector options.
|
|
21
|
+
* - `fallback`: Use shape/set properties if they exist; otherwise, use these properties.
|
|
22
|
+
*/
|
|
23
|
+
propertyMode?: "override" | "fallback";
|
|
24
|
+
noPropertiesMessage?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* An inspector that renders to a nominated DOM element, using VisuallyJs's default template renderer. You have to provide `templateResolver` which, for a given object, can return a template in VisuallyJs's default template syntax.
|
|
28
|
+
* @group Components
|
|
29
|
+
* @category Inspector
|
|
30
|
+
*/
|
|
31
|
+
export declare class ShapeTypeInspector extends VanillaInspector {
|
|
32
|
+
private readonly _shapeLibrary;
|
|
33
|
+
private readonly _properties;
|
|
34
|
+
private readonly _propertyMode;
|
|
35
|
+
private readonly _noPropertiesMessage;
|
|
36
|
+
/**
|
|
37
|
+
* Constructor for the diagram inspector.
|
|
38
|
+
* @param options
|
|
39
|
+
*/
|
|
40
|
+
constructor(options: ShapeTypeInspectorOptions);
|
|
41
|
+
private _getResolvedProperties;
|
|
42
|
+
protected _resolveTemplate(b: Base): string;
|
|
43
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { VanillaInspectorOptions } from "./definitions";
|
|
2
|
+
import { Inspector } from "./inspector";
|
|
3
|
+
import { CustomTagOptions } from "../../../core";
|
|
4
|
+
/**
|
|
5
|
+
* An inspector that renders to a nominated DOM element, using VisuallyJs's default template renderer. You have to provide `templateResolver` which, for a given object, can return a template in VisuallyJs's default template syntax.
|
|
6
|
+
* @group Components
|
|
7
|
+
* @category Inspector
|
|
8
|
+
*/
|
|
9
|
+
export declare class VanillaInspector extends Inspector {
|
|
10
|
+
private readonly _instance;
|
|
11
|
+
private readonly _templateRenderer;
|
|
12
|
+
private readonly _emptyTemplateFn;
|
|
13
|
+
private readonly _templateResolver;
|
|
14
|
+
private _vertexTemplateCache;
|
|
15
|
+
private _edgeTemplateCache;
|
|
16
|
+
private _portTemplateCache;
|
|
17
|
+
private readonly _doCacheTemplates;
|
|
18
|
+
/**
|
|
19
|
+
* Constructor for the vanilla inspector.
|
|
20
|
+
* @param options
|
|
21
|
+
*/
|
|
22
|
+
constructor(options: VanillaInspectorOptions);
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
* @param tagName
|
|
26
|
+
* @param options
|
|
27
|
+
*/
|
|
28
|
+
registerTag(tagName: string, options: CustomTagOptions): void;
|
|
29
|
+
private _getPortTemplate;
|
|
30
|
+
private _getNodeTemplate;
|
|
31
|
+
/**
|
|
32
|
+
* getGroupTemplate uses the same logic as getNodeTemplate
|
|
33
|
+
* @internal
|
|
34
|
+
* @param obj
|
|
35
|
+
*/
|
|
36
|
+
private _getGroupTemplate;
|
|
37
|
+
private _getEdgeTemplate;
|
|
38
|
+
private _renderTemplate;
|
|
39
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ObjectData } from "../../../core";
|
|
2
|
+
import { BrowserUiRecado } from "../../templating";
|
|
3
|
+
import { BrowserElement } from "../../util";
|
|
4
|
+
/**
|
|
5
|
+
* Helper class for Palette - takes a template and some data and generates content, then appends to the given container.
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare class PaletteContentGenerator {
|
|
9
|
+
private container;
|
|
10
|
+
templateRenderer: BrowserUiRecado;
|
|
11
|
+
constructor(container: BrowserElement, template: string);
|
|
12
|
+
private _init;
|
|
13
|
+
setData(d: ObjectData, newTemplate?: string): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { BrowserElement } from "../../util";
|
|
2
|
+
import { CanvasDropFilter, DataGeneratorFunction, DragFunction, GroupIdentifierFunction, OnVertexAddedCallback, TypeGeneratorFunction } from "../../definitions";
|
|
3
|
+
import { ObjectData, PointXY, Size, Node, Group } from "../../../core";
|
|
4
|
+
export declare const PALETTE_MODE_DRAG = "drag";
|
|
5
|
+
export declare const PALETTE_MODE_TAP = "tap";
|
|
6
|
+
export declare const PALETTE_MODE_DRAW = "draw";
|
|
7
|
+
export type PaletteMode = typeof PALETTE_MODE_TAP | typeof PALETTE_MODE_DRAG | typeof PALETTE_MODE_DRAW;
|
|
8
|
+
/**
|
|
9
|
+
* Options for a Palette
|
|
10
|
+
* @group Components
|
|
11
|
+
* @category Palette
|
|
12
|
+
*/
|
|
13
|
+
export interface PaletteOptions<T> {
|
|
14
|
+
/**
|
|
15
|
+
* The element containing things that will be dragged/tapped.
|
|
16
|
+
*/
|
|
17
|
+
source: BrowserElement;
|
|
18
|
+
/**
|
|
19
|
+
* A CSS selector identifying children of `source` that are draggable/can be tapped. If not provided, the Palette will use `[data-vjs-type]`.
|
|
20
|
+
*/
|
|
21
|
+
selector?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Optional function to generate the size to use for some object that is being dragged.
|
|
24
|
+
*/
|
|
25
|
+
dragSizeGenerator?: (payload: T, el: BrowserElement) => Size;
|
|
26
|
+
/**
|
|
27
|
+
* Optional function to generate an initial payload from an element that has started to be dragged/has been tapped.
|
|
28
|
+
*/
|
|
29
|
+
dataGenerator?: DataGeneratorFunction<T>;
|
|
30
|
+
/**
|
|
31
|
+
* Optional function to determine the type of the data object from an element that is being dragged (in drag mode) or has been tapped (in draw/tap mode)
|
|
32
|
+
*/
|
|
33
|
+
typeGenerator?: TypeGeneratorFunction<T>;
|
|
34
|
+
/**
|
|
35
|
+
* Optional function to use to determine if the element being dragged/has been tapped represents a group. If you do not provide this, the default behaviour is to check for the presence of a `data-vjs-is-group` attribute on the element, with a value of `true`.
|
|
36
|
+
*/
|
|
37
|
+
groupIdentifier?: GroupIdentifierFunction<T>;
|
|
38
|
+
/**
|
|
39
|
+
* Defaults to false. Allows items to be dropped onto edges in the canvas. A drop on an edge causes that edge to be split, with one edge having the new vertex as a target, and another edge with the new vertex as source.
|
|
40
|
+
*/
|
|
41
|
+
allowDropOnEdge?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Defaults to true. Allows items to be dropped onto groups in the canvas.
|
|
44
|
+
*/
|
|
45
|
+
allowDropOnGroup?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Defaults to false. Allows items to be dropped onto nodes in the canvas. If this is true and an element is dropped onto a node, the result is the same as if the element has been dropped onto whitespace. Note that when this is false and the user has dragged something over a node, the drag item is still not considered to be over the canvas, and releasing the mouse button at that time will not cause a new node to be added. Use `ignoreDropOnNode` if that's the behaviour you want.
|
|
48
|
+
*/
|
|
49
|
+
allowDropOnNode?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Defaults to false. When true, the palette treats nodes as if they are part of the canvas - a user can drag new items on top of existing nodes and the new item will be added to the canvas. If you want to force your users to drop on canvas whitespace, don't set this. Note that this flag will force `allowDropOnNode` to `false`.
|
|
52
|
+
*/
|
|
53
|
+
ignoreDropOnNode?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Defaults to true. Allows items to be dropped onto whitespace.
|
|
56
|
+
*/
|
|
57
|
+
allowDropOnCanvas?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Optional function that is invoked at the start of a drag, and which identifies allowed drop targets. Each target - the canvas, nodes and groups - is passed in turn to this method; returning false indicates that the given target is not valid for that drag.
|
|
60
|
+
* @param candidate
|
|
61
|
+
* @param target
|
|
62
|
+
* @param onCanvas
|
|
63
|
+
*/
|
|
64
|
+
canDrop?: (candidate: Node | Group, target?: Node | Group, onCanvas?: boolean) => boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Defaults to false. By default this class will conform to any grid in place in the surface to which it is attached when dragging items around.
|
|
67
|
+
*/
|
|
68
|
+
ignoreGrid?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Optional callback that will be invoked after a new vertex has been dropped and added to the dataset.
|
|
71
|
+
* @param v
|
|
72
|
+
*/
|
|
73
|
+
onVertexAdded?: OnVertexAddedCallback;
|
|
74
|
+
/**
|
|
75
|
+
* Defaults to false. When true, a newly added vertex is set as the model's current selection.
|
|
76
|
+
*/
|
|
77
|
+
selectAfterAdd?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Optional function you can provide which will be used to generate an element to use for dragging. The default behaviour is to use a clone of the element the user began dragging, but if you provide this method you can customise that.
|
|
80
|
+
*/
|
|
81
|
+
elementGenerator?: (el: BrowserElement, e: MouseEvent) => BrowserElement;
|
|
82
|
+
/**
|
|
83
|
+
* Optional size to use for elements dragged from the palette; used in drag mode only.
|
|
84
|
+
*/
|
|
85
|
+
dragSize?: Size;
|
|
86
|
+
/**
|
|
87
|
+
* Optional function that you can use to inform the Palette that drop should be aborted. This method is invoked at the start of a drag (in drag mode) or when an item is tapped (in tap/draw mode) and is passed the candidate drag object's data.
|
|
88
|
+
*/
|
|
89
|
+
canvasDropFilter?: CanvasDropFilter<T>;
|
|
90
|
+
/**
|
|
91
|
+
* Mode to operate in - 'drag', 'tap' or 'draw'. Defaults to 'drag'.
|
|
92
|
+
*/
|
|
93
|
+
mode?: PaletteMode;
|
|
94
|
+
/**
|
|
95
|
+
* When in draw mode, allow addition of new vertices simply by clicking, instead of requiring a shape be drawn. (When this is true, the drag to draw functionality also still works)
|
|
96
|
+
*/
|
|
97
|
+
allowClickToAdd?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* This flag relates to "draw" mode, and defaults to false. When true, the palette only supports click to draw new vertices, not drag. This flag is forced to true if the associated UI does not have `useModelForSizes` set, since there is no point in allowing a user to drag a vertex to some size if its not going to be honoured. When you set this flag and associated UI does have `useModelForSizes` set, the palette will use default sizes for new nodes/groups.
|
|
100
|
+
*/
|
|
101
|
+
clickToAddOnly?: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* When in draw mode, this function can be used to provide the element shown to the user as a new vertex is being drawn.
|
|
104
|
+
* @param objectType Group or Node
|
|
105
|
+
* @param type The type will map to an item in your view
|
|
106
|
+
* @param data The return value from the dataGenerator
|
|
107
|
+
* @param p Location on the canvas where the mousedown event occurred.
|
|
108
|
+
* @param e Mouse down event
|
|
109
|
+
*/
|
|
110
|
+
vertexPreviewGenerator?: (objectType: string, type: string, data: T, p: PointXY, e: MouseEvent) => BrowserElement;
|
|
111
|
+
/**
|
|
112
|
+
* When in draw mode this function is repeatedly called as the mouse is dragging a new shape. It provides a hook for you to update the element's appearance. This is only called if you provided a vertexPreviewGenerator and it has returned a valid DOM element at the start of a drag.
|
|
113
|
+
* @param el The element you returned from vertexPreviewGenerator.
|
|
114
|
+
* @param origin The canvas location of the new vertex's top/left corner.
|
|
115
|
+
* @param size The current size of the new vertex.
|
|
116
|
+
* @param data The return value from the dataGenerator
|
|
117
|
+
*/
|
|
118
|
+
vertexPreviewUpdater?: (el: BrowserElement, origin: PointXY, size: Size, data: T) => any;
|
|
119
|
+
/**
|
|
120
|
+
* When in 'draw' mode, you can optionally provide a class to set on the lasso used by the vertex drawing plugin.
|
|
121
|
+
*/
|
|
122
|
+
lassoClass?: string;
|
|
123
|
+
/**
|
|
124
|
+
* By default, the Palette will apply a `scale` transform to elements that are being dragged so that they appear at the same size as the UI they're being dragged to. Setting this flag to true will switch off that behaviour.
|
|
125
|
+
*/
|
|
126
|
+
ignoreZoom?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Defaults to true. Set to false if you wish to instantiate the Palette in a disabled state
|
|
129
|
+
*/
|
|
130
|
+
enabled?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Class to set on the UI canvas and any other drop targets when a new element is being dragged
|
|
133
|
+
*/
|
|
134
|
+
dragActiveClass?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Class to set on the UI canvas and any other drop targets when a drag element is hovering over it.
|
|
137
|
+
*/
|
|
138
|
+
dragHoverClass?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Class to set on the UI canvas and any other drop targets when a drag element is hovering over it but drop is not allowed.s
|
|
141
|
+
*/
|
|
142
|
+
dragHoverCannotDropClass?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Class to set on an element being dragged.
|
|
145
|
+
*/
|
|
146
|
+
dragElementClass?: string;
|
|
147
|
+
/**
|
|
148
|
+
* Optional function to invoke as the user is dragging a new element, or has tapped an element and is moving the mouse over the canvas.
|
|
149
|
+
*/
|
|
150
|
+
onDrag?: DragFunction<T>;
|
|
151
|
+
/**
|
|
152
|
+
* Optional template that will be used in conjunction with `data` to generate the HTML content of the palette. The template can return any number of elements (ie. you're not limited to just a single root node)
|
|
153
|
+
*/
|
|
154
|
+
contentTemplate?: string;
|
|
155
|
+
/**
|
|
156
|
+
* Optional data that will be used in conjunction with `contentTemplate` to generate the HTML content of the palette.
|
|
157
|
+
*/
|
|
158
|
+
data?: ObjectData;
|
|
159
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { PaletteOptions } from "./palette-options";
|
|
2
|
+
import { BrowserElement } from "../../util";
|
|
3
|
+
import { ObjectData } from "../../../core";
|
|
4
|
+
import { BrowserUI } from "../../browser-visuallyjs-instance";
|
|
5
|
+
/**
|
|
6
|
+
* Default data generator for palettes. Extract `data-vjs-***` attributes from element.
|
|
7
|
+
* @param el
|
|
8
|
+
*/
|
|
9
|
+
export declare function defaultDataGenerator<T = any>(el: BrowserElement): T;
|
|
10
|
+
/**
|
|
11
|
+
* The default CSS selector used with the Palette and the library integration wrappers around it
|
|
12
|
+
* @group Components
|
|
13
|
+
* @category Palette
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare const DEFAULT_PALETTE_SELECTOR = "[data-vjs-type]";
|
|
17
|
+
/**
|
|
18
|
+
* This component allows you to configure elements to drag and drop onto a surface.
|
|
19
|
+
*
|
|
20
|
+
* @group Components
|
|
21
|
+
* @category Palette
|
|
22
|
+
*/
|
|
23
|
+
export declare class Palette<T> {
|
|
24
|
+
private readonly ui;
|
|
25
|
+
private readonly _$_mode;
|
|
26
|
+
readonly source: BrowserElement;
|
|
27
|
+
private readonly _selector;
|
|
28
|
+
private readonly _ignoreGrid;
|
|
29
|
+
private readonly _dragActiveClass;
|
|
30
|
+
private readonly _dragHoverClass;
|
|
31
|
+
private readonly _dragElementClass;
|
|
32
|
+
private readonly _dragHoverCannotDropClass;
|
|
33
|
+
private readonly _dataGenerator;
|
|
34
|
+
private readonly _dragSizeGenerator;
|
|
35
|
+
private readonly _typeGenerator;
|
|
36
|
+
private readonly _groupIdentifier;
|
|
37
|
+
private readonly _canvasDropFilter;
|
|
38
|
+
private readonly onDrag;
|
|
39
|
+
private readonly _ignoreZoom;
|
|
40
|
+
private readonly _elementGenerator;
|
|
41
|
+
private _enabled;
|
|
42
|
+
private readonly _onVertexAddedCallback;
|
|
43
|
+
private readonly _selectAfterAdd;
|
|
44
|
+
private _$_dragBeginListener;
|
|
45
|
+
private _$_dragUpListener;
|
|
46
|
+
private _$_dragMoveListener;
|
|
47
|
+
/**
|
|
48
|
+
* The bounding rect of the current visible viewport.
|
|
49
|
+
*/
|
|
50
|
+
private _$_viewportBoundingClientRect;
|
|
51
|
+
private _$_isOverCanvas;
|
|
52
|
+
private _$_canDropOnCanvas;
|
|
53
|
+
private _visibleContentArea;
|
|
54
|
+
private _$_eventManager;
|
|
55
|
+
private _currentNodeList;
|
|
56
|
+
private _currentGroupList;
|
|
57
|
+
private _currentEdgeList;
|
|
58
|
+
private _candidateData;
|
|
59
|
+
private _dropCandidate;
|
|
60
|
+
private _candidateVertex;
|
|
61
|
+
/**
|
|
62
|
+
* the current canvas coords of the item being dragged.
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
private _dragObjectCanvasCoordinates;
|
|
66
|
+
/**
|
|
67
|
+
* current element being dragged
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
private _$_dragElement;
|
|
71
|
+
/**
|
|
72
|
+
* Size to use for the current drag element. This is set if there was a dragSizeGenerator function supplied, and that returned something on drag start, or if a class-wide drag size was set in the constructor.
|
|
73
|
+
* @internal
|
|
74
|
+
*/
|
|
75
|
+
private _$_dragSizeToUse;
|
|
76
|
+
private _dragElementType;
|
|
77
|
+
/**
|
|
78
|
+
* current effective zoom of the related UI
|
|
79
|
+
* @internal
|
|
80
|
+
*/
|
|
81
|
+
private _$_effectiveZoom;
|
|
82
|
+
private readonly _$_allowDropOnCanvas;
|
|
83
|
+
private readonly _$_allowDropOnNodes;
|
|
84
|
+
private readonly _$_ignoreDropOnNodes;
|
|
85
|
+
private readonly _$_allowDropOnGroups;
|
|
86
|
+
private readonly _$_allowDropOnEdges;
|
|
87
|
+
private readonly _canDrop?;
|
|
88
|
+
private readonly _$_dragSize;
|
|
89
|
+
private _$_candidateTapObject;
|
|
90
|
+
private _$_previousCandidateTapObject;
|
|
91
|
+
private _contentGenerator;
|
|
92
|
+
private readonly _keyListener;
|
|
93
|
+
constructor(ui: BrowserUI, options: PaletteOptions<T>);
|
|
94
|
+
/**
|
|
95
|
+
* Sets the enabled state of the palette
|
|
96
|
+
*
|
|
97
|
+
* @param enabled
|
|
98
|
+
*/
|
|
99
|
+
setEnabled(enabled: boolean): void;
|
|
100
|
+
/**
|
|
101
|
+
* Sets the data used to render the palette. This is really only intended for use with Vanilla Visually Js
|
|
102
|
+
* @param d New data to draw.
|
|
103
|
+
* @param newTemplate optional new template to use with this data.
|
|
104
|
+
*/
|
|
105
|
+
setData(d: ObjectData, newTemplate?: string): void;
|
|
106
|
+
/**
|
|
107
|
+
* Set some element to be the current selected tap target. This method cleans up any existing tap target, then gets a payload for the current tap target via the `dataGenerator` function, and stashes that payload along with the objectType (node or group) and the DOM element. It then adds a CSS class to the selected element and sets the surface to vertex drawing mode.
|
|
108
|
+
* @param el
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
private _setTapElement;
|
|
112
|
+
private _$_initDragBeginListener;
|
|
113
|
+
private _cleanupDrag;
|
|
114
|
+
private _$_initDragEndListener;
|
|
115
|
+
private _$_initDragMoveListener;
|
|
116
|
+
private _$_initDragMode;
|
|
117
|
+
private _$_initTapMode;
|
|
118
|
+
private _dropOnEdge;
|
|
119
|
+
private _dropOnGroup;
|
|
120
|
+
private _dropOnWhitespace;
|
|
121
|
+
private _mapToPositionAttributes;
|
|
122
|
+
private _addNewVertexToCanvas;
|
|
123
|
+
private _onVertexAdded;
|
|
124
|
+
private _reset;
|
|
125
|
+
private _$_initDrawMode;
|
|
126
|
+
}
|