@api-client/ui 0.2.2 → 0.2.3
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/package.json +7 -2
- package/test/env.ts +15 -0
- package/test/tsconfig.json +1 -7
- package/web-test-runner.config.js +5 -1
- package/build/src/visualization/elements/VizAssociationElement.d.ts +0 -4
- package/build/src/visualization/elements/VizAssociationElement.d.ts.map +0 -1
- package/build/src/visualization/elements/VizAssociationElement.js +0 -4
- package/build/src/visualization/elements/VizAssociationElement.js.map +0 -1
- package/build/src/visualization/elements/VizWorkspaceElement.d.ts +0 -110
- package/build/src/visualization/elements/VizWorkspaceElement.d.ts.map +0 -1
- package/build/src/visualization/elements/VizWorkspaceElement.js +0 -321
- package/build/src/visualization/elements/VizWorkspaceElement.js.map +0 -1
- package/build/src/visualization/elements/WorkspaceStyles.d.ts +0 -3
- package/build/src/visualization/elements/WorkspaceStyles.d.ts.map +0 -1
- package/build/src/visualization/elements/WorkspaceStyles.js +0 -168
- package/build/src/visualization/elements/WorkspaceStyles.js.map +0 -1
- package/build/src/visualization/lib/AnchorFinder.d.ts +0 -64
- package/build/src/visualization/lib/AnchorFinder.d.ts.map +0 -1
- package/build/src/visualization/lib/AnchorFinder.js +0 -107
- package/build/src/visualization/lib/AnchorFinder.js.map +0 -1
- package/build/src/visualization/lib/AnchorUtils.d.ts +0 -10
- package/build/src/visualization/lib/AnchorUtils.d.ts.map +0 -1
- package/build/src/visualization/lib/AnchorUtils.js +0 -44
- package/build/src/visualization/lib/AnchorUtils.js.map +0 -1
- package/build/src/visualization/lib/AssociationAnchors.d.ts +0 -134
- package/build/src/visualization/lib/AssociationAnchors.d.ts.map +0 -1
- package/build/src/visualization/lib/AssociationAnchors.js +0 -351
- package/build/src/visualization/lib/AssociationAnchors.js.map +0 -1
- package/build/src/visualization/lib/LabelSketch.d.ts +0 -16
- package/build/src/visualization/lib/LabelSketch.d.ts.map +0 -1
- package/build/src/visualization/lib/LabelSketch.js +0 -53
- package/build/src/visualization/lib/LabelSketch.js.map +0 -1
- package/build/src/visualization/lib/LineSketch.d.ts +0 -26
- package/build/src/visualization/lib/LineSketch.d.ts.map +0 -1
- package/build/src/visualization/lib/LineSketch.js +0 -55
- package/build/src/visualization/lib/LineSketch.js.map +0 -1
- package/build/src/visualization/lib/Point.d.ts +0 -74
- package/build/src/visualization/lib/Point.d.ts.map +0 -1
- package/build/src/visualization/lib/Point.js +0 -121
- package/build/src/visualization/lib/Point.js.map +0 -1
- package/build/src/visualization/lib/PositionUtils.d.ts +0 -65
- package/build/src/visualization/lib/PositionUtils.d.ts.map +0 -1
- package/build/src/visualization/lib/PositionUtils.js +0 -205
- package/build/src/visualization/lib/PositionUtils.js.map +0 -1
- package/build/src/visualization/lib/SelectionManager.d.ts +0 -183
- package/build/src/visualization/lib/SelectionManager.d.ts.map +0 -1
- package/build/src/visualization/lib/SelectionManager.js +0 -481
- package/build/src/visualization/lib/SelectionManager.js.map +0 -1
- package/build/src/visualization/lib/ShapeArtist.d.ts +0 -45
- package/build/src/visualization/lib/ShapeArtist.d.ts.map +0 -1
- package/build/src/visualization/lib/ShapeArtist.js +0 -209
- package/build/src/visualization/lib/ShapeArtist.js.map +0 -1
- package/build/src/visualization/lib/SvgMarkers.d.ts +0 -14
- package/build/src/visualization/lib/SvgMarkers.d.ts.map +0 -1
- package/build/src/visualization/lib/SvgMarkers.js +0 -77
- package/build/src/visualization/lib/SvgMarkers.js.map +0 -1
- package/build/src/visualization/lib/TipSketch.d.ts +0 -26
- package/build/src/visualization/lib/TipSketch.d.ts.map +0 -1
- package/build/src/visualization/lib/TipSketch.js +0 -77
- package/build/src/visualization/lib/TipSketch.js.map +0 -1
- package/build/src/visualization/lib/TouchSupport.d.ts +0 -14
- package/build/src/visualization/lib/TouchSupport.d.ts.map +0 -1
- package/build/src/visualization/lib/TouchSupport.js +0 -55
- package/build/src/visualization/lib/TouchSupport.js.map +0 -1
- package/build/src/visualization/lib/Utils.d.ts +0 -25
- package/build/src/visualization/lib/Utils.d.ts.map +0 -1
- package/build/src/visualization/lib/Utils.js +0 -59
- package/build/src/visualization/lib/Utils.js.map +0 -1
- package/build/src/visualization/lib/VisualizationTypes.d.ts +0 -216
- package/build/src/visualization/lib/VisualizationTypes.d.ts.map +0 -1
- package/build/src/visualization/lib/VisualizationTypes.js +0 -3
- package/build/src/visualization/lib/VisualizationTypes.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceAlignment.d.ts +0 -51
- package/build/src/visualization/lib/WorkspaceAlignment.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceAlignment.js +0 -243
- package/build/src/visualization/lib/WorkspaceAlignment.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceDebugging.d.ts +0 -104
- package/build/src/visualization/lib/WorkspaceDebugging.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceDebugging.js +0 -286
- package/build/src/visualization/lib/WorkspaceDebugging.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceEdges.d.ts +0 -293
- package/build/src/visualization/lib/WorkspaceEdges.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceEdges.js +0 -1073
- package/build/src/visualization/lib/WorkspaceEdges.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceGestures.d.ts +0 -119
- package/build/src/visualization/lib/WorkspaceGestures.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceGestures.js +0 -376
- package/build/src/visualization/lib/WorkspaceGestures.js.map +0 -1
- package/build/src/visualization/lib/WorkspaceSizing.d.ts +0 -66
- package/build/src/visualization/lib/WorkspaceSizing.d.ts.map +0 -1
- package/build/src/visualization/lib/WorkspaceSizing.js +0 -168
- package/build/src/visualization/lib/WorkspaceSizing.js.map +0 -1
- package/build/src/visualization/lib/lines/RectilinearLine.d.ts +0 -114
- package/build/src/visualization/lib/lines/RectilinearLine.d.ts.map +0 -1
- package/build/src/visualization/lib/lines/RectilinearLine.js +0 -605
- package/build/src/visualization/lib/lines/RectilinearLine.js.map +0 -1
- package/build/src/visualization/lib/tips/RectilinearTip.d.ts +0 -26
- package/build/src/visualization/lib/tips/RectilinearTip.d.ts.map +0 -1
- package/build/src/visualization/lib/tips/RectilinearTip.js +0 -149
- package/build/src/visualization/lib/tips/RectilinearTip.js.map +0 -1
- package/build/src/visualization/lib/tips/TipArtist.d.ts +0 -22
- package/build/src/visualization/lib/tips/TipArtist.d.ts.map +0 -1
- package/build/src/visualization/lib/tips/TipArtist.js +0 -31
- package/build/src/visualization/lib/tips/TipArtist.js.map +0 -1
- package/build/src/visualization/lib/types.d.ts +0 -164
- package/build/src/visualization/lib/types.d.ts.map +0 -1
- package/build/src/visualization/lib/types.js +0 -2
- package/build/src/visualization/lib/types.js.map +0 -1
- package/build/src/visualization/plugin/dnd/DragAndDropPlugin.d.ts +0 -126
- package/build/src/visualization/plugin/dnd/DragAndDropPlugin.d.ts.map +0 -1
- package/build/src/visualization/plugin/dnd/DragAndDropPlugin.js +0 -260
- package/build/src/visualization/plugin/dnd/DragAndDropPlugin.js.map +0 -1
- package/build/src/visualization/plugin/group-selection/GroupSelection.d.ts +0 -93
- package/build/src/visualization/plugin/group-selection/GroupSelection.d.ts.map +0 -1
- package/build/src/visualization/plugin/group-selection/GroupSelection.js +0 -250
- package/build/src/visualization/plugin/group-selection/GroupSelection.js.map +0 -1
- package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts +0 -10
- package/build/src/visualization/plugin/positioning/DataModelLayout.d.ts.map +0 -1
- package/build/src/visualization/plugin/positioning/DataModelLayout.js +0 -105
- package/build/src/visualization/plugin/positioning/DataModelLayout.js.map +0 -1
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts +0 -93
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.d.ts.map +0 -1
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.js +0 -96
- package/build/src/visualization/plugin/positioning/WorkspaceLayout.js.map +0 -1
- package/build/src/visualization/viz-association.d.ts +0 -7
- package/build/src/visualization/viz-association.d.ts.map +0 -1
- package/build/src/visualization/viz-association.js +0 -3
- package/build/src/visualization/viz-association.js.map +0 -1
- package/build/src/visualization/viz-workspace.d.ts +0 -7
- package/build/src/visualization/viz-workspace.d.ts.map +0 -1
- package/build/src/visualization/viz-workspace.js +0 -3
- package/build/src/visualization/viz-workspace.js.map +0 -1
- package/src/visualization/elements/VizAssociationElement.ts +0 -3
- package/src/visualization/elements/VizWorkspaceElement.ts +0 -302
- package/src/visualization/elements/WorkspaceStyles.ts +0 -168
- package/src/visualization/lib/AnchorFinder.ts +0 -112
- package/src/visualization/lib/AnchorUtils.ts +0 -53
- package/src/visualization/lib/AssociationAnchors.ts +0 -418
- package/src/visualization/lib/LabelSketch.ts +0 -67
- package/src/visualization/lib/LineSketch.ts +0 -62
- package/src/visualization/lib/Point.ts +0 -134
- package/src/visualization/lib/PositionUtils.ts +0 -218
- package/src/visualization/lib/SelectionManager.ts +0 -513
- package/src/visualization/lib/ShapeArtist.ts +0 -222
- package/src/visualization/lib/SvgMarkers.ts +0 -80
- package/src/visualization/lib/TipSketch.ts +0 -91
- package/src/visualization/lib/TouchSupport.ts +0 -72
- package/src/visualization/lib/Utils.ts +0 -63
- package/src/visualization/lib/VisualizationTypes.ts +0 -232
- package/src/visualization/lib/WorkspaceAlignment.ts +0 -261
- package/src/visualization/lib/WorkspaceDebugging.ts +0 -313
- package/src/visualization/lib/WorkspaceEdges.ts +0 -1153
- package/src/visualization/lib/WorkspaceGestures.ts +0 -400
- package/src/visualization/lib/WorkspaceSizing.ts +0 -181
- package/src/visualization/lib/lines/RectilinearLine.ts +0 -589
- package/src/visualization/lib/tips/RectilinearTip.ts +0 -156
- package/src/visualization/lib/tips/TipArtist.ts +0 -34
- package/src/visualization/lib/types.ts +0 -173
- package/src/visualization/plugin/dnd/DragAndDropPlugin.ts +0 -294
- package/src/visualization/plugin/group-selection/GroupSelection.ts +0 -271
- package/src/visualization/plugin/positioning/DataModelLayout.ts +0 -114
- package/src/visualization/plugin/positioning/WorkspaceLayout.ts +0 -149
- package/src/visualization/viz-association.ts +0 -9
- package/src/visualization/viz-workspace.ts +0 -9
- package/test/env.d.ts +0 -9
- package/test/env.js +0 -7
- package/test/visualization/lib/AnchorFinder.test.ts +0 -313
- package/test/visualization/lib/AnchorUtils.test.ts +0 -178
- package/test/visualization/lib/PositionUtils.test.ts +0 -406
- package/test/visualization/lib/test-styles.css +0 -80
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceGestures.js","sourceRoot":"","sources":["../../../../src/visualization/lib/WorkspaceGestures.ts"],"names":[],"mappings":"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","sourcesContent":["import * as TouchSupport from './TouchSupport.js'\n// import { cancelEvent } from './Utils.js';\nimport VizWorkspaceElement from '../elements/VizWorkspaceElement.js'\nimport { TouchMoveResult } from './TouchSupport.js'\n\nconst scrollSize = 25 // 25\nconst scaleFactor = 0.03 // 25\n\nconst xValue = Symbol('xValue')\nconst yValue = Symbol('yValue')\n\n/**\n * A class that adds gestures support for the visualization workspace.\n * It controls the scrolling of the workspace canvas.\n */\nexport class WorkspaceGestures {\n [xValue]?: number;\n\n [yValue]?: number\n\n /**\n * @return value The x-axis position value\n */\n get left(): number | null {\n return this[xValue] || null\n }\n\n /**\n * @param value The x-axis position value\n */\n set left(value: number | null) {\n const localValue = Number(value)\n if (Number.isNaN(localValue)) {\n return\n }\n const old = this[xValue]\n if (old === localValue) {\n return\n }\n this[xValue] = localValue\n this.workspace.requestUpdate('scrollLeft', old)\n }\n\n /**\n * @returns value The y-axis position value\n */\n get top(): number | null {\n return this[yValue] || null\n }\n\n /**\n * @param value The y-axis position value\n */\n set top(value: number | null) {\n const localValue = Number(value)\n if (Number.isNaN(localValue)) {\n return\n }\n const old = this[yValue]\n if (old === localValue) {\n return\n }\n this[yValue] = localValue\n this.workspace.requestUpdate('scrollTop', old)\n }\n\n constructor(public workspace: VizWorkspaceElement) {\n this.workspace = workspace\n this.top = null\n this.left = null\n this.wheelHandler = this.wheelHandler.bind(this)\n this.touchstartHandler = this.touchstartHandler.bind(this)\n this.touchmoveHandler = this.touchmoveHandler.bind(this)\n this.touchendHandler = this.touchendHandler.bind(this)\n this.clickHandler = this.clickHandler.bind(this)\n }\n\n connect(): void {\n this.workspace.addEventListener('mousewheel', this.wheelHandler as EventListener, { passive: true })\n this.workspace.addEventListener('touchstart', this.touchstartHandler, { capture: false, passive: true })\n this.workspace.addEventListener('touchmove', this.touchmoveHandler, { passive: true })\n this.workspace.addEventListener('touchend', this.touchendHandler, { capture: false })\n this.workspace.addEventListener('touchcancel', this.touchendHandler)\n this.workspace.addEventListener('click', this.clickHandler as EventListener, { capture: false })\n }\n\n disconnect(): void {\n this.workspace.removeEventListener('mousewheel', this.wheelHandler as EventListener)\n this.workspace.removeEventListener('touchstart', this.touchstartHandler, { capture: true })\n this.workspace.removeEventListener('touchmove', this.touchmoveHandler)\n this.workspace.removeEventListener('touchend', this.touchendHandler)\n this.workspace.removeEventListener('touchcancel', this.touchendHandler, { capture: false })\n this.workspace.removeEventListener('click', this.clickHandler as EventListener, { capture: false })\n }\n\n /**\n * An event handler for the mouse wheel action.\n * Zooms in/out the workspace.\n */\n wheelHandler(e: WheelEvent): void {\n // cancelEvent(e);\n if (e.ctrlKey || e.metaKey) {\n this.handleZoomEvent(e)\n } else {\n this.scrollFromEvent(e)\n }\n }\n\n /**\n * Zooms in/out the workspace.\n */\n handleZoomEvent(e: WheelEvent): void {\n let { scale = 1 } = this.workspace\n let pressure = e.deltaY\n const max = 10\n const mousePressure = 7\n if (pressure < -max) {\n pressure = -mousePressure\n } else if (pressure > max) {\n pressure = mousePressure\n }\n scale += pressure / 100\n if (scale > 3) {\n scale = 3\n }\n if (scale < 0.2) {\n scale = 0.2\n }\n this.workspace.scale = scale\n // const { zoom=0 } = this.workspace;\n // const zoomOut = e.deltaY > 0;\n // let factor = 1;\n // if (zoomOut) {\n // factor = -1;\n // }\n // const value = zoom + factor;\n // if (value <= -31) {\n // return;\n // }\n // this.workspace.zoom = zoom + factor;\n // this.workspace[notifyZoom]();\n }\n\n updateScale(): void {\n const { zoom } = this.workspace\n const scale = 1 + zoom * scaleFactor\n this.workspace.scale = scale\n this.workspace.requestUpdate()\n }\n\n /**\n * @returns true when there is an element that is draggable in the event's path.\n */\n hasDraggable(e: TouchEvent): boolean {\n const path = e.composedPath()\n let current = path.shift()\n while (current) {\n const typedNode = current as Node\n if (typedNode.nodeType !== Node.ELEMENT_NODE) {\n current = path.shift()\n continue\n }\n const element = current as HTMLElement\n if (element.draggable) {\n return true\n }\n current = path.shift()\n }\n return false\n }\n\n touchstartHandler(e: TouchEvent): void {\n if (this.hasDraggable(e)) {\n return\n }\n TouchSupport.add(e)\n }\n\n touchmoveHandler(e: TouchEvent): void {\n if (this.hasDraggable(e)) {\n return\n }\n const moves = TouchSupport.move(e)\n if (moves.length === 1) {\n this.scrollFromTouch(moves[0])\n } else if (moves.length === 2) {\n this.zoomFromTouch(moves)\n }\n }\n\n touchendHandler(e: TouchEvent): void {\n if (this.hasDraggable(e)) {\n return\n }\n TouchSupport.end(e)\n }\n\n /**\n * Dispatches the `scroll` event on the workspace.\n */\n notifyScroll(): void {\n this.workspace.dispatchEvent(new Event('scroll'))\n }\n\n /**\n * Handles scrolling from a touch event\n */\n async zoomFromTouch(moves: TouchMoveResult[]): Promise<void> {\n const [m1, m2] = moves\n const { scale } = this.workspace\n // I needed to come up with a number that would make the move a little bit more natural\n // and I came up with this..\n const anArbitraryNumber = 300\n if (m1.dy > 0 && m2.dy < 0) {\n const factor = m1.dy - m2.dy\n // zoom in\n this.workspace.scale = scale + (scale * factor) / anArbitraryNumber\n this.workspace.requestUpdate()\n } else if (m1.dy < 0 && m2.dy > 0) {\n // zoom out\n const factor = -m1.dy + m2.dy\n this.workspace.scale = scale - (scale * factor) / anArbitraryNumber\n this.workspace.requestUpdate()\n }\n }\n\n /**\n * Scrolls the current viewport to a given location.\n * @param forward Defines whether to scroll forward or backward.\n * For the `x` (the `left` value) axis it means going right when true and going left when false.\n * For the `y` (the `top` value) axis this means going down when true and up when false.\n * @param axis Scroll axis. Either `x` or `y`.\n */\n scroll(forward: boolean, axis: 'top' | 'left'): void {\n const { workspace } = this\n const { scale } = workspace\n const value = this[axis] || 0\n const scaledSize = scrollSize / scale\n const newValue = forward ? value - scaledSize : value + scaledSize\n this[axis] = newValue\n this.notifyScroll()\n }\n\n /**\n * Scrolls the view if the position defined by `x` and `y` arguments requires\n * the view to be moved.\n *\n * @param x The x coordinate of the point\n * @param y The y coordinate of the point\n * @returns true if the workspace was moved\n */\n scrollIfNeeded(x: number, y: number): boolean {\n const { workspace } = this\n const { bottom, top, right, left } = workspace.getBoundingClientRect()\n const scrollMargin = 40\n if (y - scrollMargin < top) {\n // requires workspace' viewport to scroll up\n this.scroll(false, 'top')\n this.notifyScroll()\n return true\n }\n if (y + scrollMargin > bottom) {\n // requires workspace' viewport to scroll down\n this.scroll(true, 'top')\n this.notifyScroll()\n return true\n }\n if (x - scrollMargin < left) {\n // requires workspace' viewport to scroll left\n this.scroll(false, 'left')\n this.notifyScroll()\n return true\n }\n if (x + scrollMargin > right) {\n // requires workspace' viewport to scroll right\n this.scroll(true, 'left')\n this.notifyScroll()\n return true\n }\n return false\n }\n\n /**\n * Scrolls the element by the given amount.\n * @param xCoordOrOptions The horizontal pixel value that you want to scroll by\n * or the scroll options. When passed value is the `ScrollToOptions` interface then\n * the second argument is ignored.\n * @param yCoord The vertical pixel value that you want to scroll by.\n */\n scrollBy(xCoordOrOptions: number | ScrollToOptions, yCoord?: number): void {\n const [byX, byY] = this.getScrollOptionsSafe(xCoordOrOptions, yCoord)\n let [x, y] = this.getXYSafe()\n x -= byX\n y -= byY\n this.left = x\n this.top = y\n this.notifyScroll()\n }\n\n /**\n * Scrolls to a particular set of coordinates inside the element.\n *\n * @param xCoordOrOptions The pixel along the horizontal axis of the element\n * that you want displayed in the upper left. When passed value is the `ScrollToOptions` interface then\n * the second argument is ignored.\n * @param yCoord The pixel along the vertical axis of the element that you want displayed in the upper left.\n */\n scrollTo(xCoordOrOptions: number | ScrollToOptions, yCoord?: number): void {\n const [x, y] = this.getScrollOptionsSafe(xCoordOrOptions, yCoord)\n this.left = x\n this.top = y\n this.notifyScroll()\n }\n\n /**\n * Scrolls from the event values.\n */\n scrollFromEvent(e: WheelEvent): void {\n let [x, y] = this.getXYSafe()\n const factor = 1 / this.workspace.scale // 1;\n let dx = e.deltaX\n let dy = e.deltaY\n if (e.shiftKey && e.deltaX === 0) {\n // Under linux (possibly windows too) when shift is pressed\n // then the `e.deltaX` is not populated as it happens on MacOS.\n // This sets dx value to the dy and resets dy.\n dx = dy\n dy = -0\n }\n x -= dx * factor\n y -= dy * factor\n this.left = x\n this.top = y\n this.notifyScroll()\n }\n\n /**\n * Handles scrolling from a touch event\n */\n scrollFromTouch(move: TouchMoveResult): void {\n let [x, y] = this.getXYSafe()\n const factor = 1\n const { dx, dy } = move\n x -= dx * factor\n y -= dy * factor\n this.left = x\n this.top = y\n this.notifyScroll()\n }\n\n /**\n * Reads the `x` and `y` point from the parameters that can be just a `xy` pair\n * or arguments or a value of the `ScrollToOptions` interface.\n *\n * @param xCoordOrOptions The horizontal pixel value or the scroll options.\n * When passed value is the `ScrollToOptions` interface then the second argument is ignored.\n * @param yCoord The vertical pixel value\n *\n * @returns A point of the X and Y read from the options with default values.\n */\n getScrollOptionsSafe(xCoordOrOptions: ScrollToOptions | number, yCoord?: number): number[] {\n const typedX = Number(xCoordOrOptions)\n const typedY = Number(yCoord)\n let byX\n let byY\n if (Number.isNaN(typedX) && Number.isNaN(typedY)) {\n const { top = 0, left = 0 } = xCoordOrOptions as ScrollToOptions\n byX = Number(left)\n byY = Number(top)\n } else {\n byX = typedX || 0\n byY = typedY || 0\n }\n return [byX, byY]\n }\n\n /**\n * Reads current left and top values and returns the numbers, even when not defined.\n *\n * @returns A point of the left and top position of the workspace.\n */\n getXYSafe(): number[] {\n let { left = 0, top = 0 } = this\n if (left === null) {\n left = 0\n }\n if (top === null) {\n top = 0\n }\n return [left, top]\n }\n\n clickHandler(e: PointerEvent): void {\n if (e.detail === 3) {\n this.workspace.zoom = 0\n this.scrollTo(0, 0)\n // this.center();\n }\n }\n}\n"]}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import VizWorkspaceElement from '../elements/VizWorkspaceElement.js';
|
|
2
|
-
export declare const observeItems: unique symbol;
|
|
3
|
-
export declare const mutationHandler: unique symbol;
|
|
4
|
-
export declare const mutationObserver: unique symbol;
|
|
5
|
-
export declare const processAddedNodes: unique symbol;
|
|
6
|
-
export declare const processAttributeChanged: unique symbol;
|
|
7
|
-
export declare const connectedValue: unique symbol;
|
|
8
|
-
export declare const queueDebouncer: unique symbol;
|
|
9
|
-
/**
|
|
10
|
-
* A class that controls the `autoResize` property of the workspace.
|
|
11
|
-
* When this property is set it keeps track of elements moving in the workspace and when they
|
|
12
|
-
* are positioned outside the bounds of the current workspace it resizes it.
|
|
13
|
-
*
|
|
14
|
-
* Note, currently it only works when placing items to the right or below workspace.
|
|
15
|
-
*/
|
|
16
|
-
export declare class WorkspaceSizing {
|
|
17
|
-
workspace: VizWorkspaceElement;
|
|
18
|
-
[connectedValue]: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* @returns True when the plug-in is listening for the input events.
|
|
21
|
-
*/
|
|
22
|
-
get connected(): boolean;
|
|
23
|
-
processElementsQueue: HTMLElement[];
|
|
24
|
-
[mutationObserver]?: MutationObserver;
|
|
25
|
-
constructor(workspace: VizWorkspaceElement);
|
|
26
|
-
/**
|
|
27
|
-
* Starts listening on user events
|
|
28
|
-
*/
|
|
29
|
-
connect(): void;
|
|
30
|
-
/**
|
|
31
|
-
* Cleans up the listeners
|
|
32
|
-
*/
|
|
33
|
-
disconnect(): void;
|
|
34
|
-
/**
|
|
35
|
-
* Processes a single element to check whether the workspace has to be resized
|
|
36
|
-
* to account for the element's position.
|
|
37
|
-
*/
|
|
38
|
-
processElement(node: HTMLElement): void;
|
|
39
|
-
[queueDebouncer]?: number;
|
|
40
|
-
/**
|
|
41
|
-
* Adds an element to the processing queue. The queue runs after a next frame so the workspace is computed.
|
|
42
|
-
*/
|
|
43
|
-
queueElement(node: HTMLElement): void;
|
|
44
|
-
runQueue(): void;
|
|
45
|
-
/**
|
|
46
|
-
* Observe items change in the element's light DOM
|
|
47
|
-
* @return The observer handler
|
|
48
|
-
*/
|
|
49
|
-
[observeItems](): MutationObserver;
|
|
50
|
-
/**
|
|
51
|
-
* Processes mutations in the workspace and manages selection state.
|
|
52
|
-
* @param mutationsList List of mutations.
|
|
53
|
-
*/
|
|
54
|
-
[mutationHandler](mutationsList: MutationRecord[]): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Processes added to the canvas elements.
|
|
57
|
-
* @param nodes The list of added nodes
|
|
58
|
-
*/
|
|
59
|
-
[processAddedNodes](nodes: NodeList): void;
|
|
60
|
-
/**
|
|
61
|
-
* Processes changed attribute on any element in the canvas
|
|
62
|
-
* @param mutation The record associated with the change
|
|
63
|
-
*/
|
|
64
|
-
[processAttributeChanged](mutation: MutationRecord): void;
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=WorkspaceSizing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceSizing.d.ts","sourceRoot":"","sources":["../../../../src/visualization/lib/WorkspaceSizing.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,oCAAoC,CAAA;AAGpE,eAAO,MAAM,YAAY,eAAyB,CAAA;AAClD,eAAO,MAAM,eAAe,eAA4B,CAAA;AACxD,eAAO,MAAM,gBAAgB,eAA6B,CAAA;AAC1D,eAAO,MAAM,iBAAiB,eAA8B,CAAA;AAC5D,eAAO,MAAM,uBAAuB,eAAoC,CAAA;AACxE,eAAO,MAAM,cAAc,eAA2B,CAAA;AACtD,eAAO,MAAM,cAAc,eAA2B,CAAA;AAEtD;;;;;;GAMG;AACH,qBAAa,eAAe;IAcP,SAAS,EAAE,mBAAmB;IAbjD,CAAC,cAAc,CAAC,UAAQ;IAExB;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,oBAAoB,EAAE,WAAW,EAAE,CAAM;IAEzC,CAAC,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAA;gBAElB,SAAS,EAAE,mBAAmB;IAIjD;;OAEG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACH,UAAU,IAAI,IAAI;IASlB;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAWvC,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAcrC,QAAQ,IAAI,IAAI;IAShB;;;OAGG;IACH,CAAC,YAAY,CAAC,IAAI,gBAAgB;IAOlC;;;OAGG;IACG,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvE;;;OAGG;IACH,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAsB1C;;;OAGG;IACH,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAqB1D"}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { getObjectBoundingClientRect } from './PositionUtils.js';
|
|
2
|
-
export const observeItems = Symbol('observeItems');
|
|
3
|
-
export const mutationHandler = Symbol('mutationHandler');
|
|
4
|
-
export const mutationObserver = Symbol('mutationObserver');
|
|
5
|
-
export const processAddedNodes = Symbol('processAddedNodes');
|
|
6
|
-
export const processAttributeChanged = Symbol('processAttributeChanged');
|
|
7
|
-
export const connectedValue = Symbol('connectedValue');
|
|
8
|
-
export const queueDebouncer = Symbol('queueDebouncer');
|
|
9
|
-
/**
|
|
10
|
-
* A class that controls the `autoResize` property of the workspace.
|
|
11
|
-
* When this property is set it keeps track of elements moving in the workspace and when they
|
|
12
|
-
* are positioned outside the bounds of the current workspace it resizes it.
|
|
13
|
-
*
|
|
14
|
-
* Note, currently it only works when placing items to the right or below workspace.
|
|
15
|
-
*/
|
|
16
|
-
export class WorkspaceSizing {
|
|
17
|
-
workspace;
|
|
18
|
-
[connectedValue] = false;
|
|
19
|
-
/**
|
|
20
|
-
* @returns True when the plug-in is listening for the input events.
|
|
21
|
-
*/
|
|
22
|
-
get connected() {
|
|
23
|
-
return this[connectedValue];
|
|
24
|
-
}
|
|
25
|
-
processElementsQueue = [];
|
|
26
|
-
[mutationObserver];
|
|
27
|
-
constructor(workspace) {
|
|
28
|
-
this.workspace = workspace;
|
|
29
|
-
this[mutationHandler] = this[mutationHandler].bind(this);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Starts listening on user events
|
|
33
|
-
*/
|
|
34
|
-
connect() {
|
|
35
|
-
if (this[connectedValue]) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
this[mutationObserver] = this[observeItems]();
|
|
39
|
-
this[connectedValue] = true;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Cleans up the listeners
|
|
43
|
-
*/
|
|
44
|
-
disconnect() {
|
|
45
|
-
const mo = this[mutationObserver];
|
|
46
|
-
if (mo) {
|
|
47
|
-
mo.disconnect();
|
|
48
|
-
this[mutationObserver] = undefined;
|
|
49
|
-
}
|
|
50
|
-
this[connectedValue] = false;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Processes a single element to check whether the workspace has to be resized
|
|
54
|
-
* to account for the element's position.
|
|
55
|
-
*/
|
|
56
|
-
processElement(node) {
|
|
57
|
-
const box = getObjectBoundingClientRect(node, this.workspace);
|
|
58
|
-
const { width, height } = this.workspace;
|
|
59
|
-
if (box.right > width) {
|
|
60
|
-
this.workspace.width = box.right + 40;
|
|
61
|
-
}
|
|
62
|
-
if (box.bottom > height) {
|
|
63
|
-
this.workspace.height = box.bottom + 40;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
[queueDebouncer];
|
|
67
|
-
/**
|
|
68
|
-
* Adds an element to the processing queue. The queue runs after a next frame so the workspace is computed.
|
|
69
|
-
*/
|
|
70
|
-
queueElement(node) {
|
|
71
|
-
if (!Array.isArray(this.processElementsQueue)) {
|
|
72
|
-
this.processElementsQueue = [];
|
|
73
|
-
}
|
|
74
|
-
this.processElementsQueue.push(node);
|
|
75
|
-
if (this[queueDebouncer]) {
|
|
76
|
-
clearTimeout(this[queueDebouncer]);
|
|
77
|
-
}
|
|
78
|
-
this[queueDebouncer] = setTimeout(() => {
|
|
79
|
-
this[queueDebouncer] = undefined;
|
|
80
|
-
this.runQueue();
|
|
81
|
-
}, 0);
|
|
82
|
-
}
|
|
83
|
-
runQueue() {
|
|
84
|
-
const { processElementsQueue } = this;
|
|
85
|
-
if (!Array.isArray(processElementsQueue) || !processElementsQueue.length) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
processElementsQueue.forEach((node) => this.processElement(node));
|
|
89
|
-
this.processElementsQueue = [];
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Observe items change in the element's light DOM
|
|
93
|
-
* @return The observer handler
|
|
94
|
-
*/
|
|
95
|
-
[observeItems]() {
|
|
96
|
-
const config = { attributes: true, childList: true, subtree: true, attributeOldValue: true };
|
|
97
|
-
const observer = new MutationObserver(this[mutationHandler]);
|
|
98
|
-
observer.observe(this.workspace, config);
|
|
99
|
-
return observer;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Processes mutations in the workspace and manages selection state.
|
|
103
|
-
* @param mutationsList List of mutations.
|
|
104
|
-
*/
|
|
105
|
-
async [mutationHandler](mutationsList) {
|
|
106
|
-
await this.workspace.updateComplete;
|
|
107
|
-
for (const mutation of mutationsList) {
|
|
108
|
-
if (mutation.type === 'childList') {
|
|
109
|
-
this[processAddedNodes](mutation.addedNodes);
|
|
110
|
-
}
|
|
111
|
-
else if (mutation.type === 'attributes') {
|
|
112
|
-
this[processAttributeChanged](mutation);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Processes added to the canvas elements.
|
|
118
|
-
* @param nodes The list of added nodes
|
|
119
|
-
*/
|
|
120
|
-
[processAddedNodes](nodes) {
|
|
121
|
-
nodes.forEach((node) => {
|
|
122
|
-
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const typed = node;
|
|
126
|
-
const name = typed.localName;
|
|
127
|
-
if (['viz-workspace', 'viz-association'].includes(name)) {
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
const { dataset } = typed;
|
|
131
|
-
if (!dataset) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
if (dataset.associationSlot) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
this.queueElement(typed);
|
|
138
|
-
this[processAddedNodes](typed.querySelectorAll('*'));
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Processes changed attribute on any element in the canvas
|
|
143
|
-
* @param mutation The record associated with the change
|
|
144
|
-
*/
|
|
145
|
-
[processAttributeChanged](mutation) {
|
|
146
|
-
const att = mutation.attributeName;
|
|
147
|
-
const nodeName = mutation.target.nodeName.toLowerCase();
|
|
148
|
-
if (['viz-workspace', 'viz-association'].includes(nodeName)) {
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
const isView = nodeName === 'modeling-view';
|
|
152
|
-
const { processElementsQueue } = this;
|
|
153
|
-
let typed = mutation.target;
|
|
154
|
-
if (isView && ['name', 'value'].includes(att)) {
|
|
155
|
-
typed = typed.parentElement;
|
|
156
|
-
}
|
|
157
|
-
else if (isView) {
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
if (processElementsQueue.includes(typed)) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
if (isView) {
|
|
164
|
-
this.queueElement(typed);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=WorkspaceSizing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceSizing.js","sourceRoot":"","sources":["../../../../src/visualization/lib/WorkspaceSizing.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport VizWorkspaceElement from '../elements/VizWorkspaceElement.js'\nimport { getObjectBoundingClientRect } from './PositionUtils.js'\n\nexport const observeItems = Symbol('observeItems')\nexport const mutationHandler = Symbol('mutationHandler')\nexport const mutationObserver = Symbol('mutationObserver')\nexport const processAddedNodes = Symbol('processAddedNodes')\nexport const processAttributeChanged = Symbol('processAttributeChanged')\nexport const connectedValue = Symbol('connectedValue')\nexport const queueDebouncer = Symbol('queueDebouncer')\n\n/**\n * A class that controls the `autoResize` property of the workspace.\n * When this property is set it keeps track of elements moving in the workspace and when they\n * are positioned outside the bounds of the current workspace it resizes it.\n *\n * Note, currently it only works when placing items to the right or below workspace.\n */\nexport class WorkspaceSizing {\n [connectedValue] = false\n\n /**\n * @returns True when the plug-in is listening for the input events.\n */\n get connected(): boolean {\n return this[connectedValue]\n }\n\n processElementsQueue: HTMLElement[] = [];\n\n [mutationObserver]?: MutationObserver\n\n constructor(public workspace: VizWorkspaceElement) {\n this[mutationHandler] = this[mutationHandler].bind(this)\n }\n\n /**\n * Starts listening on user events\n */\n connect(): void {\n if (this[connectedValue]) {\n return\n }\n this[mutationObserver] = this[observeItems]()\n this[connectedValue] = true\n }\n\n /**\n * Cleans up the listeners\n */\n disconnect(): void {\n const mo = this[mutationObserver]\n if (mo) {\n mo.disconnect()\n this[mutationObserver] = undefined\n }\n this[connectedValue] = false\n }\n\n /**\n * Processes a single element to check whether the workspace has to be resized\n * to account for the element's position.\n */\n processElement(node: HTMLElement): void {\n const box = getObjectBoundingClientRect(node, this.workspace)\n const { width, height } = this.workspace\n if (box.right > width) {\n this.workspace.width = box.right + 40\n }\n if (box.bottom > height) {\n this.workspace.height = box.bottom + 40\n }\n }\n\n [queueDebouncer]?: number\n\n /**\n * Adds an element to the processing queue. The queue runs after a next frame so the workspace is computed.\n */\n queueElement(node: HTMLElement): void {\n if (!Array.isArray(this.processElementsQueue)) {\n this.processElementsQueue = []\n }\n this.processElementsQueue.push(node)\n if (this[queueDebouncer]) {\n clearTimeout(this[queueDebouncer])\n }\n this[queueDebouncer] = setTimeout(() => {\n this[queueDebouncer] = undefined\n this.runQueue()\n }, 0) as unknown as number\n }\n\n runQueue(): void {\n const { processElementsQueue } = this\n if (!Array.isArray(processElementsQueue) || !processElementsQueue.length) {\n return\n }\n processElementsQueue.forEach((node) => this.processElement(node))\n this.processElementsQueue = []\n }\n\n /**\n * Observe items change in the element's light DOM\n * @return The observer handler\n */\n [observeItems](): MutationObserver {\n const config: MutationObserverInit = { attributes: true, childList: true, subtree: true, attributeOldValue: true }\n const observer = new MutationObserver(this[mutationHandler])\n observer.observe(this.workspace, config)\n return observer\n }\n\n /**\n * Processes mutations in the workspace and manages selection state.\n * @param mutationsList List of mutations.\n */\n async [mutationHandler](mutationsList: MutationRecord[]): Promise<void> {\n await this.workspace.updateComplete\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n this[processAddedNodes](mutation.addedNodes)\n } else if (mutation.type === 'attributes') {\n this[processAttributeChanged](mutation)\n }\n }\n }\n\n /**\n * Processes added to the canvas elements.\n * @param nodes The list of added nodes\n */\n [processAddedNodes](nodes: NodeList): void {\n nodes.forEach((node) => {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return\n }\n const typed = node as HTMLElement\n const name = typed.localName\n if (['viz-workspace', 'viz-association'].includes(name)) {\n return\n }\n const { dataset } = typed\n if (!dataset) {\n return\n }\n if (dataset.associationSlot) {\n return\n }\n this.queueElement(typed)\n this[processAddedNodes](typed.querySelectorAll('*'))\n })\n }\n\n /**\n * Processes changed attribute on any element in the canvas\n * @param mutation The record associated with the change\n */\n [processAttributeChanged](mutation: MutationRecord): void {\n const att = mutation.attributeName!\n const nodeName = mutation.target.nodeName.toLowerCase()\n if (['viz-workspace', 'viz-association'].includes(nodeName)) {\n return\n }\n const isView = nodeName === 'modeling-view'\n const { processElementsQueue } = this\n let typed = mutation.target as HTMLElement\n if (isView && ['name', 'value'].includes(att)) {\n typed = typed.parentElement as HTMLElement\n } else if (isView) {\n return\n }\n if (processElementsQueue.includes(typed)) {\n return\n }\n if (isView) {\n this.queueElement(typed)\n }\n }\n}\n"]}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Point } from '../Point.js';
|
|
2
|
-
import { ILineSketchOptions, IVisualizationRectilinearLineShape } from '../VisualizationTypes.js';
|
|
3
|
-
import { GeoDirection, IWorkspaceEdge } from '../types.js';
|
|
4
|
-
export declare const startWest: unique symbol;
|
|
5
|
-
export declare const startEast: unique symbol;
|
|
6
|
-
export declare const startSouth: unique symbol;
|
|
7
|
-
export declare const startNorth: unique symbol;
|
|
8
|
-
export declare const sketchEastEast: unique symbol;
|
|
9
|
-
export declare const sketchEastWest: unique symbol;
|
|
10
|
-
export declare const sketchEastSouth: unique symbol;
|
|
11
|
-
export declare const sketchEastNorth: unique symbol;
|
|
12
|
-
export declare const sketchNorthWest: unique symbol;
|
|
13
|
-
export declare const sketchNorthEast: unique symbol;
|
|
14
|
-
export declare const sketchNorthSouth: unique symbol;
|
|
15
|
-
export declare const sketchNorthNorth: unique symbol;
|
|
16
|
-
export declare const sketchWestSouth: unique symbol;
|
|
17
|
-
export declare const sketchWestWest: unique symbol;
|
|
18
|
-
export declare const sketchWestEast: unique symbol;
|
|
19
|
-
export declare const sketchWestNorth: unique symbol;
|
|
20
|
-
export declare const sketchSouthNorth: unique symbol;
|
|
21
|
-
export declare const sketchSouthWest: unique symbol;
|
|
22
|
-
export declare const sketchSouthSouth: unique symbol;
|
|
23
|
-
export declare const sketchSouthEast: unique symbol;
|
|
24
|
-
export declare const ElbowThreshold = 24;
|
|
25
|
-
/**
|
|
26
|
-
* A class that draws a rectilinear line
|
|
27
|
-
*/
|
|
28
|
-
export declare class RectilinearLine {
|
|
29
|
-
ep: Point;
|
|
30
|
-
sp: Point;
|
|
31
|
-
source: DOMRect;
|
|
32
|
-
target: DOMRect;
|
|
33
|
-
others?: IWorkspaceEdge[];
|
|
34
|
-
/**
|
|
35
|
-
* The default padding to use when computing distance between the line and an object.
|
|
36
|
-
*/
|
|
37
|
-
overlapPadding: number;
|
|
38
|
-
/**
|
|
39
|
-
* The list of all points (start + end + control points)
|
|
40
|
-
*/
|
|
41
|
-
coordinates: Point[];
|
|
42
|
-
/**
|
|
43
|
-
* The list of all control points.
|
|
44
|
-
*/
|
|
45
|
-
controlPoints: Point[];
|
|
46
|
-
transformOrigin: string;
|
|
47
|
-
/**
|
|
48
|
-
* The delta between Y coordinates
|
|
49
|
-
*/
|
|
50
|
-
dx: number;
|
|
51
|
-
/**
|
|
52
|
-
* The delta between Y coordinates
|
|
53
|
-
*/
|
|
54
|
-
dy: number;
|
|
55
|
-
/**
|
|
56
|
-
* Half distance between start.x and end.x
|
|
57
|
-
*/
|
|
58
|
-
halfX: number;
|
|
59
|
-
/**
|
|
60
|
-
* Half distance between start.y and end.y
|
|
61
|
-
*/
|
|
62
|
-
halfY: number;
|
|
63
|
-
constructor(config: ILineSketchOptions);
|
|
64
|
-
/**
|
|
65
|
-
* Sketches a regular line.
|
|
66
|
-
* @returns Computed model for the association.
|
|
67
|
-
*/
|
|
68
|
-
sketch(): IVisualizationRectilinearLineShape | null;
|
|
69
|
-
/**
|
|
70
|
-
* Adds a control point to the list of points.
|
|
71
|
-
*/
|
|
72
|
-
addCP(x?: number, y?: number): Point;
|
|
73
|
-
/**
|
|
74
|
-
* Computes the line that starts on the west side of the source object
|
|
75
|
-
* and end in the `end`
|
|
76
|
-
* @param end The direction where the line ends.
|
|
77
|
-
*/
|
|
78
|
-
[startWest](end: GeoDirection): void;
|
|
79
|
-
[sketchWestSouth](): void;
|
|
80
|
-
[sketchWestWest](): void;
|
|
81
|
-
[sketchWestEast](): void;
|
|
82
|
-
[sketchWestNorth](): void;
|
|
83
|
-
/**
|
|
84
|
-
* Computes the line that starts on the west side of the source object
|
|
85
|
-
* and end in the `end`
|
|
86
|
-
* @param end The direction where the line ends.
|
|
87
|
-
*/
|
|
88
|
-
[startSouth](end: GeoDirection): void;
|
|
89
|
-
[sketchSouthNorth](): void;
|
|
90
|
-
[sketchSouthWest](): void;
|
|
91
|
-
[sketchSouthSouth](): void;
|
|
92
|
-
[sketchSouthEast](): void;
|
|
93
|
-
/**
|
|
94
|
-
* Computes the line that starts on the west side of the source object
|
|
95
|
-
* and end in the `end`
|
|
96
|
-
* @param end The direction where the line ends.
|
|
97
|
-
*/
|
|
98
|
-
[startEast](end: GeoDirection): void;
|
|
99
|
-
[sketchEastEast](): void;
|
|
100
|
-
[sketchEastWest](): void;
|
|
101
|
-
[sketchEastSouth](): void;
|
|
102
|
-
[sketchEastNorth](): void;
|
|
103
|
-
/**
|
|
104
|
-
* Computes the line that starts on the west side of the source object
|
|
105
|
-
* and end in the `end`
|
|
106
|
-
* @param end The direction where the line ends.
|
|
107
|
-
*/
|
|
108
|
-
[startNorth](end: GeoDirection): void;
|
|
109
|
-
[sketchNorthWest](): void;
|
|
110
|
-
[sketchNorthEast](): void;
|
|
111
|
-
[sketchNorthSouth](): void;
|
|
112
|
-
[sketchNorthNorth](): void;
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=RectilinearLine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RectilinearLine.d.ts","sourceRoot":"","sources":["../../../../../src/visualization/lib/lines/RectilinearLine.ts"],"names":[],"mappings":"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"}
|