@api-client/ui 0.2.2 → 0.2.4
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/.vscode/settings.json +3 -3
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.js +7 -7
- package/build/src/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/Authorization.styles.js +4 -4
- package/build/src/elements/authorization/ui/Authorization.styles.js.map +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/BasicAuthorization.js +5 -5
- package/build/src/elements/authorization/ui/BasicAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/BearerAuthorization.js +3 -3
- package/build/src/elements/authorization/ui/BearerAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/NtlmAuthorization.js +7 -7
- package/build/src/elements/authorization/ui/NtlmAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.js +32 -27
- package/build/src/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.js +4 -4
- package/build/src/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/build/src/elements/autocomplete/autocomplete-input.d.ts +10 -0
- package/build/src/elements/autocomplete/autocomplete-input.d.ts.map +1 -0
- package/build/src/{md/text-field/ui-text-field.js → elements/autocomplete/autocomplete-input.js} +9 -9
- package/build/src/elements/autocomplete/autocomplete-input.js.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.d.ts +209 -0
- package/build/src/elements/autocomplete/internals/autocomplete.d.ts.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.js +493 -0
- package/build/src/elements/autocomplete/internals/autocomplete.js.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.d.ts +3 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.d.ts.map +1 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.js +25 -0
- package/build/src/elements/autocomplete/internals/autocomplete.styles.js.map +1 -0
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.js +5 -5
- package/build/src/elements/dialog/internals/DeleteCookieAction.element.js.map +1 -1
- package/build/src/elements/dialog/internals/Rename.d.ts +1 -1
- package/build/src/elements/dialog/internals/Rename.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/Rename.js +3 -3
- package/build/src/elements/dialog/internals/Rename.js.map +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/SetCookieAction.element.js +9 -9
- package/build/src/elements/dialog/internals/SetCookieAction.element.js.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.js +3 -3
- package/build/src/elements/environment/EnvironmentEditor.js.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.styles.js +1 -1
- package/build/src/elements/environment/EnvironmentEditor.styles.js.map +1 -1
- package/build/src/elements/environment/ServerEditor.d.ts +1 -1
- package/build/src/elements/environment/ServerEditor.d.ts.map +1 -1
- package/build/src/elements/environment/ServerEditor.js +7 -7
- package/build/src/elements/environment/ServerEditor.js.map +1 -1
- package/build/src/elements/environment/ServerEditor.styles.js +1 -1
- package/build/src/elements/environment/ServerEditor.styles.js.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.js +4 -0
- package/build/src/elements/http/BodyMultipartEditor.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.js +8 -8
- package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.styles.js +1 -1
- package/build/src/elements/http/CertificateAdd.styles.js.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.js +3 -3
- package/build/src/elements/http/HttpAssertions.element.js.map +1 -1
- package/build/src/elements/http/HttpFlows.element.js +3 -3
- package/build/src/elements/http/HttpFlows.element.js.map +1 -1
- package/build/src/elements/http/HttpFlowsUi.d.ts +1 -1
- package/build/src/elements/http/HttpFlowsUi.d.ts.map +1 -1
- package/build/src/elements/http/HttpFlowsUi.js +31 -31
- package/build/src/elements/http/HttpFlowsUi.js.map +1 -1
- package/build/src/elements/http/RequestConfigElement.d.ts +1 -1
- package/build/src/elements/http/RequestConfigElement.d.ts.map +1 -1
- package/build/src/elements/http/RequestConfigElement.js +7 -7
- package/build/src/elements/http/RequestConfigElement.js.map +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/build/src/elements/http/UrlParamsForm.js +1 -1
- package/build/src/elements/http/UrlParamsForm.js.map +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunner.js +5 -5
- package/build/src/elements/project/ProjectRunner.js.map +1 -1
- package/build/src/md/input/Input.d.ts +0 -15
- package/build/src/md/input/Input.d.ts.map +1 -1
- package/build/src/md/input/Input.js +7 -42
- package/build/src/md/input/Input.js.map +1 -1
- package/build/src/md/list/internals/List.d.ts +7 -2
- package/build/src/md/list/internals/List.d.ts.map +1 -1
- package/build/src/md/list/internals/List.js +6 -0
- package/build/src/md/list/internals/List.js.map +1 -1
- package/build/src/md/list/internals/ListItem.styles.d.ts.map +1 -1
- package/build/src/md/list/internals/ListItem.styles.js +8 -0
- package/build/src/md/list/internals/ListItem.styles.js.map +1 -1
- package/build/src/md/listbox/internals/Listbox.d.ts +2 -2
- package/build/src/md/listbox/internals/Listbox.d.ts.map +1 -1
- package/build/src/md/listbox/internals/Listbox.js.map +1 -1
- package/build/src/md/text-area/internals/TextAreaElement.d.ts.map +1 -1
- package/build/src/md/text-area/internals/TextAreaElement.js +0 -5
- package/build/src/md/text-area/internals/TextAreaElement.js.map +1 -1
- package/build/src/md/text-area/ui-text-area.d.ts.map +1 -1
- package/build/src/md/text-area/ui-text-area.js +3 -2
- package/build/src/md/text-area/ui-text-area.js.map +1 -1
- package/build/src/md/text-field/internals/{TextFieldElement.d.ts → TextField.d.ts} +2 -2
- package/build/src/md/text-field/internals/TextField.d.ts.map +1 -0
- package/build/src/md/text-field/internals/{TextFieldElement.js → TextField.js} +2 -5
- package/build/src/md/text-field/internals/TextField.js.map +1 -0
- package/build/src/{visualization/elements/WorkspaceStyles.d.ts → md/text-field/internals/common.styles.d.ts} +1 -1
- package/build/src/md/text-field/internals/common.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/{TextField.styles.js → common.styles.js} +8 -94
- package/build/src/md/text-field/internals/common.styles.js.map +1 -0
- package/build/src/md/text-field/internals/{TextField.styles.d.ts → filled.styles.d.ts} +1 -1
- package/build/src/md/text-field/internals/filled.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/filled.styles.js +107 -0
- package/build/src/md/text-field/internals/filled.styles.js.map +1 -0
- package/build/src/md/text-field/internals/outlined.styles.d.ts +3 -0
- package/build/src/md/text-field/internals/outlined.styles.d.ts.map +1 -0
- package/build/src/md/text-field/internals/outlined.styles.js +43 -0
- package/build/src/md/text-field/internals/outlined.styles.js.map +1 -0
- package/build/src/md/text-field/ui-filled-text-field.d.ts +11 -0
- package/build/src/md/text-field/ui-filled-text-field.d.ts.map +1 -0
- package/build/src/md/text-field/ui-filled-text-field.js +28 -0
- package/build/src/md/text-field/ui-filled-text-field.js.map +1 -0
- package/build/src/md/text-field/ui-outlined-text-field.d.ts +11 -0
- package/build/src/md/text-field/ui-outlined-text-field.d.ts.map +1 -0
- package/build/src/md/text-field/ui-outlined-text-field.js +28 -0
- package/build/src/md/text-field/ui-outlined-text-field.js.map +1 -0
- package/build/src/types/input.d.ts +1 -1
- package/build/src/types/input.d.ts.map +1 -1
- package/build/src/types/input.js.map +1 -1
- package/demo/elements/authorization/oauth-authorize.html +4 -4
- package/demo/elements/authorization/oauth-authorize.ts +1 -1
- package/demo/elements/autocomplete/index.html +24 -0
- package/demo/elements/autocomplete/index.ts +123 -0
- package/demo/elements/http/body-editor.ts +3 -3
- package/demo/elements/index.html +15 -11
- package/demo/md/index.html +1 -1
- package/demo/md/inputs/input.html +10 -15
- package/demo/md/inputs/input.ts +389 -101
- package/demo/page.css +4 -0
- package/package.json +7 -2
- package/src/elements/authorization/ui/ApiKeyAuthorization.ts +7 -7
- package/src/elements/authorization/ui/Authorization.styles.ts +4 -4
- package/src/elements/authorization/ui/BasicAuthorization.ts +5 -5
- package/src/elements/authorization/ui/BearerAuthorization.ts +3 -3
- package/src/elements/authorization/ui/NtlmAuthorization.ts +7 -7
- package/src/elements/authorization/ui/OAuth2Authorization.ts +32 -27
- package/src/elements/authorization/ui/OidcAuthorization.ts +4 -4
- package/src/elements/autocomplete/autocomplete-input.ts +14 -0
- package/src/elements/autocomplete/internals/autocomplete.styles.ts +25 -0
- package/src/elements/autocomplete/internals/autocomplete.ts +490 -0
- package/src/elements/dialog/internals/DeleteCookieAction.element.ts +5 -5
- package/src/elements/dialog/internals/Rename.ts +3 -3
- package/src/elements/dialog/internals/SetCookieAction.element.ts +9 -9
- package/src/elements/environment/EnvironmentEditor.styles.ts +1 -1
- package/src/elements/environment/EnvironmentEditor.ts +3 -3
- package/src/elements/environment/ServerEditor.styles.ts +1 -1
- package/src/elements/environment/ServerEditor.ts +7 -7
- package/src/elements/http/BodyMultipartEditor.ts +4 -0
- package/src/elements/http/CertificateAdd.element.ts +8 -8
- package/src/elements/http/CertificateAdd.styles.ts +1 -1
- package/src/elements/http/HttpAssertions.element.ts +3 -3
- package/src/elements/http/HttpFlows.element.ts +3 -3
- package/src/elements/http/HttpFlowsUi.ts +31 -31
- package/src/elements/http/RequestConfigElement.ts +7 -7
- package/src/elements/http/UrlParamsForm.ts +1 -1
- package/src/elements/project/ProjectRunner.ts +5 -5
- package/src/md/input/Input.ts +6 -21
- package/src/md/list/internals/List.ts +14 -2
- package/src/md/list/internals/ListItem.styles.ts +8 -0
- package/src/md/listbox/internals/Listbox.ts +2 -2
- package/src/md/text-area/internals/TextAreaElement.ts +0 -5
- package/src/md/text-area/ui-text-area.ts +3 -2
- package/src/md/text-field/internals/{TextFieldElement.ts → TextField.ts} +1 -4
- package/src/md/text-field/internals/{TextField.styles.ts → common.styles.ts} +7 -93
- package/src/md/text-field/internals/filled.styles.ts +107 -0
- package/src/md/text-field/internals/outlined.styles.ts +43 -0
- package/src/md/text-field/ui-filled-text-field.ts +16 -0
- package/src/md/text-field/ui-outlined-text-field.ts +16 -0
- package/src/types/input.ts +0 -1
- package/test/elements/authorization/basic-method.test.ts +3 -3
- package/test/elements/authorization/bearer-method.test.ts +2 -2
- package/test/elements/authorization/ntlm-method.test.ts +4 -4
- package/test/elements/autocomplete/autocomplete-input.spec.ts +448 -0
- package/test/elements/http/BodyMultipartEditorElement.test.ts +15 -16
- package/test/elements/http/CertificateAdd.test.ts +11 -11
- package/test/elements/http/HttpAssertions.test.ts +9 -9
- package/test/elements/http/HttpFlows.test.ts +4 -4
- package/test/env.ts +15 -0
- package/test/tsconfig.json +1 -7
- package/web-test-runner.config.js +5 -1
- package/build/src/md/text-field/internals/TextField.styles.d.ts.map +0 -1
- package/build/src/md/text-field/internals/TextField.styles.js.map +0 -1
- package/build/src/md/text-field/internals/TextFieldElement.d.ts.map +0 -1
- package/build/src/md/text-field/internals/TextFieldElement.js.map +0 -1
- package/build/src/md/text-field/ui-text-field.d.ts +0 -11
- package/build/src/md/text-field/ui-text-field.d.ts.map +0 -1
- package/build/src/md/text-field/ui-text-field.js.map +0 -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.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/md/text-field/ui-text-field.ts +0 -15
- 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,313 +0,0 @@
|
|
|
1
|
-
import { assert, fixture, html } from '@open-wc/testing'
|
|
2
|
-
import {
|
|
3
|
-
findClosestAnchors,
|
|
4
|
-
readEastAnchorPoints,
|
|
5
|
-
readWestAnchorPoints,
|
|
6
|
-
readNorthAnchorPoints,
|
|
7
|
-
readSouthAnchorPoints,
|
|
8
|
-
} from '../../../src/visualization/lib/AnchorFinder.js'
|
|
9
|
-
import VizWorkspaceElement from '../../../src/visualization/elements/VizWorkspaceElement.js'
|
|
10
|
-
import '../../../src/visualization/viz-workspace.js'
|
|
11
|
-
|
|
12
|
-
describe('AnchorFinder', () => {
|
|
13
|
-
async function objectsFixture(): Promise<VizWorkspaceElement> {
|
|
14
|
-
return fixture(html`
|
|
15
|
-
<viz-workspace style="width: 1200px; height: 800px;">
|
|
16
|
-
<div class="workspace-dummy big" style="transform: translate(0px, 0px)"></div>
|
|
17
|
-
<div class="workspace-dummy big" style="transform: translate(0px, 0px)"></div>
|
|
18
|
-
</viz-workspace>
|
|
19
|
-
`)
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
async function objectFixture(): Promise<VizWorkspaceElement> {
|
|
23
|
-
return fixture(html`
|
|
24
|
-
<viz-workspace style="width: 1200px; height: 800px;">
|
|
25
|
-
<div class="workspace-dummy" style="transform: translate(0px, 0px)"></div>
|
|
26
|
-
</viz-workspace>
|
|
27
|
-
`)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// let styles: HTMLLinkElement;
|
|
31
|
-
// before(async () => {
|
|
32
|
-
// styles = document.createElement('link');
|
|
33
|
-
// styles.rel = 'stylesheet';
|
|
34
|
-
// styles.href = '/test/visualization/lib/test-styles.css';
|
|
35
|
-
// document.body.appendChild(styles);
|
|
36
|
-
// await nextFrame();
|
|
37
|
-
// await aTimeout(100);
|
|
38
|
-
// });
|
|
39
|
-
|
|
40
|
-
// after(() => {
|
|
41
|
-
// document.body.removeChild(styles);
|
|
42
|
-
// });
|
|
43
|
-
|
|
44
|
-
describe('readEastAnchorPoints()', () => {
|
|
45
|
-
let el: HTMLElement
|
|
46
|
-
|
|
47
|
-
beforeEach(async () => {
|
|
48
|
-
const workspace = await objectFixture()
|
|
49
|
-
el = workspace.querySelector('div')!
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
it('reads anchors', () => {
|
|
53
|
-
el.style.transform = 'translate(10px, 20px)'
|
|
54
|
-
const box = el.getBoundingClientRect()
|
|
55
|
-
|
|
56
|
-
const result = readEastAnchorPoints(box, 0)
|
|
57
|
-
assert.typeOf(result, 'array', 'returns an array')
|
|
58
|
-
assert.lengthOf(result, 3, 'has 3 points')
|
|
59
|
-
const [p1, p2, p3] = result
|
|
60
|
-
|
|
61
|
-
assert.equal(p1.x, 51, 'p1.x has value')
|
|
62
|
-
assert.equal(p1.y, 21, 'p1.y has value')
|
|
63
|
-
assert.equal(p2.x, 51, 'p2.x has value')
|
|
64
|
-
assert.equal(p2.y, 61, 'p2.y has value')
|
|
65
|
-
assert.equal(p3.x, 51, 'p3.x has value')
|
|
66
|
-
assert.equal(p3.y, 101, 'p3.y has value')
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
it('reads anchors with padding', () => {
|
|
70
|
-
el.style.transform = 'translate(10px, 20px)'
|
|
71
|
-
const box = el.getBoundingClientRect()
|
|
72
|
-
const result = readEastAnchorPoints(box, 10)
|
|
73
|
-
const [p1, p2, p3] = result
|
|
74
|
-
assert.equal(p1.x, 51, 'p1.x has value')
|
|
75
|
-
assert.equal(p1.y, 31, 'p1.y has value')
|
|
76
|
-
assert.equal(p2.x, 51, 'p2.x has value')
|
|
77
|
-
assert.equal(p2.y, 61, 'p2.y has value')
|
|
78
|
-
assert.equal(p3.x, 51, 'p3.x has value')
|
|
79
|
-
assert.equal(p3.y, 91, 'p3.y has value')
|
|
80
|
-
})
|
|
81
|
-
})
|
|
82
|
-
|
|
83
|
-
describe('readWestAnchorPoints()', () => {
|
|
84
|
-
let el: HTMLElement
|
|
85
|
-
|
|
86
|
-
beforeEach(async () => {
|
|
87
|
-
const workspace = await objectFixture()
|
|
88
|
-
el = workspace.querySelector('div')!
|
|
89
|
-
})
|
|
90
|
-
|
|
91
|
-
it('reads anchors', () => {
|
|
92
|
-
el.style.transform = 'translate(10px, 20px)'
|
|
93
|
-
const box = el.getBoundingClientRect()
|
|
94
|
-
const result = readWestAnchorPoints(box, 0)
|
|
95
|
-
assert.typeOf(result, 'array', 'returns an array')
|
|
96
|
-
assert.lengthOf(result, 3, 'has 3 points')
|
|
97
|
-
const [p1, p2, p3] = result
|
|
98
|
-
assert.equal(p1.x, 11, 'p1.x has value')
|
|
99
|
-
assert.equal(p1.y, 21, 'p1.y has value')
|
|
100
|
-
assert.equal(p2.x, 11, 'p2.x has value')
|
|
101
|
-
assert.equal(p2.y, 61, 'p2.y has value')
|
|
102
|
-
assert.equal(p3.x, 11, 'p3.x has value')
|
|
103
|
-
assert.equal(p3.y, 101, 'p3.y has value')
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
it('reads anchors with padding', () => {
|
|
107
|
-
el.style.transform = 'translate(10px, 20px)'
|
|
108
|
-
const box = el.getBoundingClientRect()
|
|
109
|
-
const result = readWestAnchorPoints(box, 10)
|
|
110
|
-
const [p1, p2, p3] = result
|
|
111
|
-
assert.equal(p1.x, 11, 'p1.x has value')
|
|
112
|
-
assert.equal(p1.y, 31, 'p1.y has value')
|
|
113
|
-
assert.equal(p2.x, 11, 'p2.x has value')
|
|
114
|
-
assert.equal(p2.y, 61, 'p2.y has value')
|
|
115
|
-
assert.equal(p3.x, 11, 'p3.x has value')
|
|
116
|
-
assert.equal(p3.y, 91, 'p3.y has value')
|
|
117
|
-
})
|
|
118
|
-
})
|
|
119
|
-
|
|
120
|
-
describe('readNorthAnchorPoints()', () => {
|
|
121
|
-
let el: HTMLElement
|
|
122
|
-
|
|
123
|
-
beforeEach(async () => {
|
|
124
|
-
const workspace = await objectFixture()
|
|
125
|
-
el = workspace.querySelector('div')!
|
|
126
|
-
})
|
|
127
|
-
|
|
128
|
-
it('reads anchors', () => {
|
|
129
|
-
el.style.transform = 'translate(10px, 20px)'
|
|
130
|
-
const box = el.getBoundingClientRect()
|
|
131
|
-
const result = readNorthAnchorPoints(box, 0)
|
|
132
|
-
assert.typeOf(result, 'array', 'returns an array')
|
|
133
|
-
assert.lengthOf(result, 3, 'has 3 points')
|
|
134
|
-
const [p1, p2, p3] = result
|
|
135
|
-
assert.equal(p1.x, 11, 'p1.x has value')
|
|
136
|
-
assert.equal(p1.y, 21, 'p1.y has value')
|
|
137
|
-
assert.equal(p2.x, 31, 'p2.x has value')
|
|
138
|
-
assert.equal(p2.y, 21, 'p2.y has value')
|
|
139
|
-
assert.equal(p3.x, 51, 'p3.x has value')
|
|
140
|
-
assert.equal(p3.y, 21, 'p3.y has value')
|
|
141
|
-
})
|
|
142
|
-
|
|
143
|
-
it('reads anchors with padding', () => {
|
|
144
|
-
el.style.transform = 'translate(10px, 20px)'
|
|
145
|
-
const box = el.getBoundingClientRect()
|
|
146
|
-
const result = readNorthAnchorPoints(box, 10)
|
|
147
|
-
const [p1, p2, p3] = result
|
|
148
|
-
assert.equal(p1.x, 21, 'p1.x has value')
|
|
149
|
-
assert.equal(p1.y, 21, 'p1.y has value')
|
|
150
|
-
assert.equal(p2.x, 31, 'p2.x has value')
|
|
151
|
-
assert.equal(p2.y, 21, 'p2.y has value')
|
|
152
|
-
assert.equal(p3.x, 41, 'p3.x has value')
|
|
153
|
-
assert.equal(p3.y, 21, 'p3.y has value')
|
|
154
|
-
})
|
|
155
|
-
})
|
|
156
|
-
|
|
157
|
-
describe('readSouthAnchorPoints()', () => {
|
|
158
|
-
let el: HTMLElement
|
|
159
|
-
|
|
160
|
-
beforeEach(async () => {
|
|
161
|
-
const workspace = await objectFixture()
|
|
162
|
-
el = workspace.querySelector('div')!
|
|
163
|
-
})
|
|
164
|
-
|
|
165
|
-
it('reads anchors', () => {
|
|
166
|
-
el.style.transform = 'translate(10px, 20px)'
|
|
167
|
-
const box = el.getBoundingClientRect()
|
|
168
|
-
const result = readSouthAnchorPoints(box, 0)
|
|
169
|
-
assert.typeOf(result, 'array', 'returns an array')
|
|
170
|
-
assert.lengthOf(result, 3, 'has 3 points')
|
|
171
|
-
const [p1, p2, p3] = result
|
|
172
|
-
assert.equal(p1.x, 11, 'p1.x has value')
|
|
173
|
-
assert.equal(p1.y, 101, 'p1.y has value')
|
|
174
|
-
assert.equal(p2.x, 31, 'p2.x has value')
|
|
175
|
-
assert.equal(p2.y, 101, 'p2.y has value')
|
|
176
|
-
assert.equal(p3.x, 51, 'p3.x has value')
|
|
177
|
-
assert.equal(p3.y, 101, 'p3.y has value')
|
|
178
|
-
})
|
|
179
|
-
|
|
180
|
-
it('reads anchors with padding', () => {
|
|
181
|
-
el.style.transform = 'translate(10px, 20px)'
|
|
182
|
-
const box = el.getBoundingClientRect()
|
|
183
|
-
const result = readSouthAnchorPoints(box, 10)
|
|
184
|
-
const [p1, p2, p3] = result
|
|
185
|
-
assert.equal(p1.x, 21, 'p1.x has value')
|
|
186
|
-
assert.equal(p1.y, 101, 'p1.y has value')
|
|
187
|
-
assert.equal(p2.x, 31, 'p2.x has value')
|
|
188
|
-
assert.equal(p2.y, 101, 'p2.y has value')
|
|
189
|
-
assert.equal(p3.x, 41, 'p3.x has value')
|
|
190
|
-
assert.equal(p3.y, 101, 'p3.y has value')
|
|
191
|
-
})
|
|
192
|
-
})
|
|
193
|
-
|
|
194
|
-
describe('findClosestAnchors()', () => {
|
|
195
|
-
let e1: HTMLElement
|
|
196
|
-
let e2: HTMLElement
|
|
197
|
-
|
|
198
|
-
beforeEach(async () => {
|
|
199
|
-
const workspace = await objectsFixture()
|
|
200
|
-
const objects = workspace.querySelectorAll('div')
|
|
201
|
-
e1 = objects[0]
|
|
202
|
-
e2 = objects[1]
|
|
203
|
-
})
|
|
204
|
-
|
|
205
|
-
// Testing without the padding so the anchors are in the vertexes.
|
|
206
|
-
// .workspace-dummy has `width: 200px;` and `height: 360px;`.
|
|
207
|
-
|
|
208
|
-
it('computes equal sizes and y-position (top anchors)', () => {
|
|
209
|
-
e1.style.transform = 'translate(10px, 20px)'
|
|
210
|
-
e2.style.transform = 'translate(220px, 20px)'
|
|
211
|
-
const b1 = e1.getBoundingClientRect()
|
|
212
|
-
const b2 = e2.getBoundingClientRect()
|
|
213
|
-
const result = findClosestAnchors(b1, b2, 0)
|
|
214
|
-
const [p1, p2] = result
|
|
215
|
-
|
|
216
|
-
assert.equal(p1.x, 211, 'has p1.x') // right
|
|
217
|
-
assert.equal(p1.y, 21, 'has p1.y') // y
|
|
218
|
-
assert.equal(p2.x, 221, 'has p2.x') // left
|
|
219
|
-
assert.equal(p2.y, 21, 'has p2.y') // y
|
|
220
|
-
})
|
|
221
|
-
|
|
222
|
-
it('computes equal sizes, target below-right, middle-top anchors', () => {
|
|
223
|
-
e1.style.transform = 'translate(10px, 180px)'
|
|
224
|
-
e2.style.transform = 'translate(250px, 305px)'
|
|
225
|
-
const b1 = e1.getBoundingClientRect()
|
|
226
|
-
const b2 = e2.getBoundingClientRect()
|
|
227
|
-
const result = findClosestAnchors(b1, b2, 0)
|
|
228
|
-
const [p1, p2] = result
|
|
229
|
-
assert.equal(p1.x, 211, 'has p1.x') // right
|
|
230
|
-
assert.equal(p1.y, 361, 'has p1.y') // middle
|
|
231
|
-
assert.equal(p2.x, 251, 'has p2.x') // left
|
|
232
|
-
assert.equal(p2.y, 306, 'has p2.y') // top
|
|
233
|
-
})
|
|
234
|
-
|
|
235
|
-
it('computes equal sizes, target below-right, bottom-top anchors', () => {
|
|
236
|
-
e1.style.transform = 'translate(10px, 180px)'
|
|
237
|
-
e2.style.transform = 'translate(250px, 405px)'
|
|
238
|
-
const b1 = e1.getBoundingClientRect()
|
|
239
|
-
const b2 = e2.getBoundingClientRect()
|
|
240
|
-
const result = findClosestAnchors(b1, b2, 0)
|
|
241
|
-
const [p1, p2] = result
|
|
242
|
-
assert.equal(p1.x, 211, 'has p1.x') // right
|
|
243
|
-
assert.equal(p1.y, 361, 'has p1.y') // bottom
|
|
244
|
-
assert.equal(p2.x, 251, 'has p2.x') // left
|
|
245
|
-
assert.equal(p2.y, 406, 'has p2.y') // top
|
|
246
|
-
})
|
|
247
|
-
|
|
248
|
-
it('computes equal sizes, target below-right, bottom-middle anchors', () => {
|
|
249
|
-
e1.style.transform = 'translate(10px, 180px)'
|
|
250
|
-
e2.style.transform = 'translate(250px, 255px)'
|
|
251
|
-
const b1 = e1.getBoundingClientRect()
|
|
252
|
-
const b2 = e2.getBoundingClientRect()
|
|
253
|
-
const result = findClosestAnchors(b1, b2, 0)
|
|
254
|
-
const [p1, p2] = result
|
|
255
|
-
assert.equal(p1.x, 211, 'has p1.x') // right
|
|
256
|
-
assert.equal(p1.y, 181, 'has p1.y') // bottom
|
|
257
|
-
assert.equal(p2.x, 251, 'has p2.x') // left
|
|
258
|
-
assert.equal(p2.y, 256, 'has p2.y') // middle
|
|
259
|
-
})
|
|
260
|
-
|
|
261
|
-
it('computes aligned, the same sizes (top anchors)', () => {
|
|
262
|
-
e1.style.transform = 'translate(10px, 180px)'
|
|
263
|
-
e2.style.transform = 'translate(250px, 180px)'
|
|
264
|
-
const b1 = e1.getBoundingClientRect()
|
|
265
|
-
const b2 = e2.getBoundingClientRect()
|
|
266
|
-
const result = findClosestAnchors(b1, b2, 0)
|
|
267
|
-
const [p1, p2] = result
|
|
268
|
-
assert.equal(p1.x, 211, 'has p1.x') // right
|
|
269
|
-
assert.equal(p1.y, 181, 'has p1.y') // bottom
|
|
270
|
-
assert.equal(p2.x, 251, 'has p2.x') // left
|
|
271
|
-
assert.equal(p2.y, 181, 'has p2.y') // middle
|
|
272
|
-
})
|
|
273
|
-
|
|
274
|
-
it('computes target East-South', () => {
|
|
275
|
-
e1.style.transform = 'translate(10px, 10px)'
|
|
276
|
-
e2.style.transform = 'translate(250px, 400px)'
|
|
277
|
-
const b1 = e1.getBoundingClientRect()
|
|
278
|
-
const b2 = e2.getBoundingClientRect()
|
|
279
|
-
const result = findClosestAnchors(b1, b2, 0)
|
|
280
|
-
const [p1, p2] = result
|
|
281
|
-
assert.equal(p1.x, 211, 'has p1.x') // right
|
|
282
|
-
assert.equal(p1.y, 371, 'has p1.y') // bottom
|
|
283
|
-
assert.equal(p2.x, 251, 'has p2.x') // left
|
|
284
|
-
assert.equal(p2.y, 401, 'has p2.y') // top
|
|
285
|
-
})
|
|
286
|
-
|
|
287
|
-
it('computes target South', () => {
|
|
288
|
-
e1.style.transform = 'translate(10px, 10px)'
|
|
289
|
-
e2.style.transform = 'translate(10px, 400px)'
|
|
290
|
-
const b1 = e1.getBoundingClientRect()
|
|
291
|
-
const b2 = e2.getBoundingClientRect()
|
|
292
|
-
const result = findClosestAnchors(b1, b2, 0)
|
|
293
|
-
const [p1, p2] = result
|
|
294
|
-
assert.equal(p1.x, 211, 'has p1.x') // right
|
|
295
|
-
assert.equal(p1.y, 371, 'has p1.y') // bottom
|
|
296
|
-
assert.equal(p2.x, 211, 'has p2.x') // right
|
|
297
|
-
assert.equal(p2.y, 401, 'has p2.y') // top
|
|
298
|
-
})
|
|
299
|
-
|
|
300
|
-
it('computes target South-West', () => {
|
|
301
|
-
e1.style.transform = 'translate(155px, 10px)'
|
|
302
|
-
e2.style.transform = 'translate(10px, 400px)'
|
|
303
|
-
const b1 = e1.getBoundingClientRect()
|
|
304
|
-
const b2 = e2.getBoundingClientRect()
|
|
305
|
-
const result = findClosestAnchors(b1, b2, 0)
|
|
306
|
-
const [p1, p2] = result
|
|
307
|
-
assert.equal(p1.x, 156, 'has p1.x') // left
|
|
308
|
-
assert.equal(p1.y, 371, 'has p1.y') // bottom
|
|
309
|
-
assert.equal(p2.x, 111, 'has p2.x') // middle
|
|
310
|
-
assert.equal(p2.y, 401, 'has p2.y') // top
|
|
311
|
-
})
|
|
312
|
-
})
|
|
313
|
-
})
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { TemplateResult } from 'lit'
|
|
2
|
-
import { assert, fixture, html, nextFrame } from '@open-wc/testing'
|
|
3
|
-
import { anchorToPoint, closestAnchors } from '../../../src/visualization/lib/AnchorUtils.js'
|
|
4
|
-
import { Point } from '../../../src/visualization/lib/Point.js'
|
|
5
|
-
import VizWorkspaceElement from '../../../src/visualization/elements/VizWorkspaceElement.js'
|
|
6
|
-
import '../../../src/visualization/viz-workspace.js'
|
|
7
|
-
|
|
8
|
-
describe('AnchorUtils', () => {
|
|
9
|
-
function slotsTemplate(): TemplateResult {
|
|
10
|
-
const items = [
|
|
11
|
-
['top-edge left-slot', 'top-left', '6', '6'],
|
|
12
|
-
['top-edge center-slot', 'top-center', '6', '6'],
|
|
13
|
-
['top-edge right-slot', 'top-right', '6', '6'],
|
|
14
|
-
|
|
15
|
-
['bottom-edge left-slot', 'bottom-left', '6', '6'],
|
|
16
|
-
['bottom-edge center-slot', 'bottom-center', '6', '6'],
|
|
17
|
-
['bottom-edge right-slot', 'bottom-right', '6', '6'],
|
|
18
|
-
|
|
19
|
-
['left-edge top-slot', 'left-top', '8', '6'],
|
|
20
|
-
['left-edge middle-slot', 'left-middle', '8', '6'],
|
|
21
|
-
['left-edge bottom-slot', 'left-bottom', '8', '6'],
|
|
22
|
-
|
|
23
|
-
['right-edge top-slot', 'right-top', '8', '6'],
|
|
24
|
-
['right-edge middle-slot', 'right-middle', '8', '6'],
|
|
25
|
-
['right-edge bottom-slot', 'right-bottom', '8', '6'],
|
|
26
|
-
]
|
|
27
|
-
return html`
|
|
28
|
-
${items.map(
|
|
29
|
-
(item) => html`
|
|
30
|
-
<div
|
|
31
|
-
class="manual-association ${item[0]}"
|
|
32
|
-
data-association-slot="${item[1]}"
|
|
33
|
-
data-vertical-offset="${item[2]}"
|
|
34
|
-
data-horizontal-offset="${item[3]}"
|
|
35
|
-
></div>
|
|
36
|
-
`
|
|
37
|
-
)}
|
|
38
|
-
`
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
async function workspaceEntityFixture(): Promise<HTMLElement> {
|
|
42
|
-
return fixture(html`
|
|
43
|
-
<div class="workspace-position-wrapper">
|
|
44
|
-
<viz-workspace style="width: 400px; height: 400px;">
|
|
45
|
-
<div class="entity" data-association-slots data-key="testId" style="transform: translate(100px, 200px)">
|
|
46
|
-
${slotsTemplate()}
|
|
47
|
-
</div>
|
|
48
|
-
</viz-workspace>
|
|
49
|
-
</div>
|
|
50
|
-
`)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
async function workspaceMultiEntityFixture(): Promise<HTMLElement> {
|
|
54
|
-
return fixture(html`
|
|
55
|
-
<div class="workspace-position-wrapper">
|
|
56
|
-
<viz-workspace style="width: 400px; height: 400px;">
|
|
57
|
-
<div class="entity" data-association-slots data-key="testId1" style="transform: translate(100px, 200px)">
|
|
58
|
-
${slotsTemplate()}
|
|
59
|
-
</div>
|
|
60
|
-
<div class="entity" data-association-slots data-key="testId2" style="transform: translate(300px, 300px)">
|
|
61
|
-
${slotsTemplate()}
|
|
62
|
-
</div>
|
|
63
|
-
<div class="entity" data-association-slots data-key="testId3" style="transform: translate(10px, 10px)">
|
|
64
|
-
${slotsTemplate()}
|
|
65
|
-
</div>
|
|
66
|
-
</viz-workspace>
|
|
67
|
-
</div>
|
|
68
|
-
`)
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
async function noAnchorsFixture(): Promise<HTMLElement> {
|
|
72
|
-
return fixture(html`
|
|
73
|
-
<div class="workspace-position-wrapper">
|
|
74
|
-
<viz-workspace style="width: 400px; height: 400px;">
|
|
75
|
-
<div class="entity" data-key="testId1" style="transform: translate(100px, 200px)"></div>
|
|
76
|
-
<div class="entity" data-key="testId2" style="transform: translate(300px, 300px)"></div>
|
|
77
|
-
<div class="entity" data-key="testId3" style="transform: translate(10px, 10px)"></div>
|
|
78
|
-
</viz-workspace>
|
|
79
|
-
</div>
|
|
80
|
-
`)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
describe('anchorToPoint()', () => {
|
|
84
|
-
let workspace: VizWorkspaceElement
|
|
85
|
-
let element: HTMLElement
|
|
86
|
-
|
|
87
|
-
beforeEach(async () => {
|
|
88
|
-
const wrapper = await workspaceEntityFixture()
|
|
89
|
-
workspace = wrapper.querySelector('viz-workspace')!
|
|
90
|
-
const entity = workspace.querySelector('.entity')!
|
|
91
|
-
element = entity.querySelector('.manual-association')!
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
it('computes position with vertical/horizontal offset', async () => {
|
|
95
|
-
await nextFrame()
|
|
96
|
-
const result = anchorToPoint(element, workspace)
|
|
97
|
-
// offset to the parent (entity), + position change + v/h offset + border
|
|
98
|
-
assert.approximately(result.x, element.offsetLeft + 100 + 6 + 2, 1, 'has the x position')
|
|
99
|
-
assert.approximately(result.y, element.offsetTop + 200 + 6 + 2, 1, 'has the y position')
|
|
100
|
-
})
|
|
101
|
-
|
|
102
|
-
it('computes position without vertical/horizontal offset', async () => {
|
|
103
|
-
delete element.dataset.verticalOffset
|
|
104
|
-
delete element.dataset.horizontalOffset
|
|
105
|
-
await nextFrame()
|
|
106
|
-
const result = anchorToPoint(element, workspace)
|
|
107
|
-
// offset to the parent (entity), + position change + border
|
|
108
|
-
assert.approximately(result.x, element.offsetLeft + 100 + 2, 1, 'has the x position')
|
|
109
|
-
assert.approximately(result.y, element.offsetTop + 200 + 2, 1, 'has the y position')
|
|
110
|
-
})
|
|
111
|
-
|
|
112
|
-
it('ignores invalid vertical/horizontal offset', async () => {
|
|
113
|
-
element.dataset.verticalOffset = 'test 1'
|
|
114
|
-
element.dataset.horizontalOffset = 'test 2'
|
|
115
|
-
await nextFrame()
|
|
116
|
-
const result = anchorToPoint(element, workspace)
|
|
117
|
-
// offset to the parent (entity), + position change + border
|
|
118
|
-
assert.approximately(result.x, element.offsetLeft + 100 + 2, 1, 'has the x position')
|
|
119
|
-
assert.approximately(result.y, element.offsetTop + 200 + 2, 1, 'has the y position')
|
|
120
|
-
})
|
|
121
|
-
})
|
|
122
|
-
|
|
123
|
-
describe('closestAnchors()', () => {
|
|
124
|
-
it('returns the closest points', async () => {
|
|
125
|
-
const wrapper = await workspaceMultiEntityFixture()
|
|
126
|
-
const workspace = wrapper.querySelector('viz-workspace')!
|
|
127
|
-
const entities = workspace.querySelectorAll('.entity') as NodeListOf<HTMLElement>
|
|
128
|
-
|
|
129
|
-
const result = closestAnchors(entities[1], entities[2], workspace)!
|
|
130
|
-
assert.typeOf(result, 'array', 'returns an array')
|
|
131
|
-
assert.lengthOf(result, 2, 'returns two points')
|
|
132
|
-
const [p1, p2] = result
|
|
133
|
-
|
|
134
|
-
assert.approximately(p1.x, 356, 1, 'p1.x is set')
|
|
135
|
-
assert.approximately(p2.x, 252, 1, 'p2.x is set')
|
|
136
|
-
assert.approximately(p1.y, 300, 1, 'p1.y is set')
|
|
137
|
-
assert.approximately(p2.y, 166, 1, 'p2.y is set')
|
|
138
|
-
})
|
|
139
|
-
|
|
140
|
-
it('returns null when no anchors', async () => {
|
|
141
|
-
const wrapper = await noAnchorsFixture()
|
|
142
|
-
const workspace = wrapper.querySelector('viz-workspace')!
|
|
143
|
-
const entities = workspace.querySelectorAll('.entity') as NodeListOf<HTMLElement>
|
|
144
|
-
const result = closestAnchors(entities[1], entities[2], workspace)
|
|
145
|
-
assert.strictEqual(result, null)
|
|
146
|
-
})
|
|
147
|
-
|
|
148
|
-
it('avoids already used anchors', async () => {
|
|
149
|
-
const wrapper = await workspaceMultiEntityFixture()
|
|
150
|
-
const workspace = wrapper.querySelector('viz-workspace')!
|
|
151
|
-
const entities = workspace.querySelectorAll('.entity') as NodeListOf<HTMLElement>
|
|
152
|
-
const result = closestAnchors(entities[1], entities[2], workspace, [
|
|
153
|
-
{
|
|
154
|
-
directions: { start: 'east', end: 'north' },
|
|
155
|
-
id: 'test',
|
|
156
|
-
positionChange: false,
|
|
157
|
-
shape: {
|
|
158
|
-
line: {
|
|
159
|
-
startPoint: new Point(356, 300),
|
|
160
|
-
endPoint: new Point(254, 127),
|
|
161
|
-
type: 'rectilinear',
|
|
162
|
-
transformOrigin: '0px 0px',
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
source: 's1',
|
|
166
|
-
target: 't1',
|
|
167
|
-
},
|
|
168
|
-
])!
|
|
169
|
-
assert.typeOf(result, 'array', 'returns an array')
|
|
170
|
-
assert.lengthOf(result, 2, 'returns two points')
|
|
171
|
-
const [p1, p2] = result
|
|
172
|
-
assert.approximately(p1.x, 300, 1, 'p1.x is set')
|
|
173
|
-
assert.approximately(p2.x, 196, 1, 'p2.x is set')
|
|
174
|
-
assert.approximately(p1.y, 350, 1, 'p1.y is set')
|
|
175
|
-
assert.approximately(p2.y, 212, 1, 'p2.y is set')
|
|
176
|
-
})
|
|
177
|
-
})
|
|
178
|
-
})
|