@eclipse-glsp/client 0.9.0-rc-01 → 0.9.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/LICENSE +642 -277
- package/README.md +4 -2
- package/css/command-palette.css +9 -5
- package/css/decoration.css +3 -2
- package/css/glsp-sprotty.css +16 -7
- package/css/tool-palette.css +44 -27
- package/lib/base/action-dispatcher.d.ts +17 -1
- package/lib/base/action-dispatcher.d.ts.map +1 -1
- package/lib/base/action-dispatcher.js +41 -61
- package/lib/base/action-dispatcher.js.map +1 -1
- package/lib/base/actions/focus-change-action.d.ts +1 -1
- package/lib/base/actions/focus-change-action.d.ts.map +1 -1
- package/lib/base/actions/focus-change-action.js +4 -5
- package/lib/base/actions/focus-change-action.js.map +1 -1
- package/lib/base/{args.d.ts → argumentable.d.ts} +3 -5
- package/lib/base/argumentable.d.ts.map +1 -0
- package/lib/base/{args.js → argumentable.js} +1 -1
- package/lib/base/argumentable.js.map +1 -0
- package/lib/base/auto-complete/auto-complete-actions.d.ts +1 -1
- package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.d.ts +3 -3
- package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
- package/lib/base/auto-complete/auto-complete-widget.js +119 -153
- package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
- package/lib/base/auto-complete/validation-decorator.d.ts +3 -18
- package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
- package/lib/base/auto-complete/validation-decorator.js +44 -65
- package/lib/base/auto-complete/validation-decorator.js.map +1 -1
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +19 -37
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/container-modules.d.ts +40 -0
- package/lib/base/container-modules.d.ts.map +1 -0
- package/lib/base/container-modules.js +100 -0
- package/lib/base/container-modules.js.map +1 -0
- package/lib/base/di.config.d.ts +12 -2
- package/lib/base/di.config.d.ts.map +1 -1
- package/lib/base/di.config.js +43 -27
- package/lib/base/di.config.js.map +1 -1
- package/lib/base/drag-aware-mouse-listener.d.ts +3 -2
- package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
- package/lib/base/drag-aware-mouse-listener.js +23 -62
- package/lib/base/drag-aware-mouse-listener.js.map +1 -1
- package/lib/base/{editor-context.d.ts → editor-context-service.d.ts} +18 -22
- package/lib/base/editor-context-service.d.ts.map +1 -0
- package/lib/base/editor-context-service.js +109 -0
- package/lib/base/editor-context-service.js.map +1 -0
- package/lib/base/focus-tracker.d.ts +17 -1
- package/lib/base/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus-tracker.js +19 -39
- package/lib/base/focus-tracker.js.map +1 -1
- package/lib/base/model/model-registry.js +10 -28
- package/lib/base/model/model-registry.js.map +1 -1
- package/lib/base/model/update-model-command.d.ts +19 -5
- package/lib/base/model/update-model-command.d.ts.map +1 -1
- package/lib/base/model/update-model-command.js +69 -94
- package/lib/base/model/update-model-command.js.map +1 -1
- package/lib/base/model-initialization-constraint.d.ts +16 -1
- package/lib/base/model-initialization-constraint.d.ts.map +1 -1
- package/lib/base/model-initialization-constraint.js +34 -54
- package/lib/base/model-initialization-constraint.js.map +1 -1
- package/lib/base/selection-clearing-mouse-listener.js +10 -28
- package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
- package/lib/base/source-uri-aware.js +2 -5
- package/lib/base/source-uri-aware.js.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
- package/lib/base/tool-manager/glsp-tool-manager.js +58 -140
- package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
- package/lib/base/types.d.ts +3 -1
- package/lib/base/types.d.ts.map +1 -1
- package/lib/base/types.js +4 -2
- package/lib/base/types.js.map +1 -1
- package/lib/base/view/view-registry.js +10 -28
- package/lib/base/view/view-registry.js.map +1 -1
- package/lib/features/change-bounds/model.d.ts +3 -1
- package/lib/features/change-bounds/model.d.ts.map +1 -1
- package/lib/features/change-bounds/model.js +20 -31
- package/lib/features/change-bounds/model.js.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts +17 -1
- package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
- package/lib/features/change-bounds/movement-restrictor.js +28 -42
- package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
- package/lib/features/change-bounds/snap.d.ts +17 -1
- package/lib/features/change-bounds/snap.d.ts.map +1 -1
- package/lib/features/change-bounds/snap.js +13 -39
- package/lib/features/change-bounds/snap.js.map +1 -1
- package/lib/features/command-palette/command-palette-tool.js +30 -38
- package/lib/features/command-palette/command-palette-tool.js.map +1 -1
- package/lib/features/command-palette/di.config.js +6 -6
- package/lib/features/command-palette/di.config.js.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.d.ts +18 -2
- package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
- package/lib/features/command-palette/server-command-palette-provider.js +28 -33
- package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +20 -68
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/context-menu/di.config.d.ts +1 -1
- package/lib/features/context-menu/di.config.d.ts.map +1 -1
- package/lib/features/context-menu/di.config.js +8 -8
- package/lib/features/context-menu/di.config.js.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +29 -67
- package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.d.ts +18 -2
- package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
- package/lib/features/context-menu/server-context-menu-provider.js +30 -31
- package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts +22 -2
- package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-context-menu.js +99 -72
- package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.d.ts +19 -2
- package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
- package/lib/features/copy-paste/copy-paste-handler.js +70 -70
- package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
- package/lib/features/copy-paste/di.config.d.ts +1 -1
- package/lib/features/copy-paste/di.config.d.ts.map +1 -1
- package/lib/features/copy-paste/di.config.js +11 -11
- package/lib/features/copy-paste/di.config.js.map +1 -1
- package/lib/features/decoration/decoration-placer.d.ts +17 -1
- package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
- package/lib/features/decoration/decoration-placer.js +12 -46
- package/lib/features/decoration/decoration-placer.js.map +1 -1
- package/lib/features/decoration/di.config.js +4 -4
- package/lib/features/decoration/di.config.js.map +1 -1
- package/lib/features/edit-label/di.config.js +7 -7
- package/lib/features/edit-label/di.config.js.map +1 -1
- package/lib/features/edit-label/edit-label-tool.js +20 -43
- package/lib/features/edit-label/edit-label-tool.js.map +1 -1
- package/lib/features/edit-label/edit-label-validator.d.ts +16 -1
- package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
- package/lib/features/edit-label/edit-label-validator.js +40 -62
- package/lib/features/edit-label/edit-label-validator.js.map +1 -1
- package/lib/features/hints/di.config.d.ts +0 -15
- package/lib/features/hints/di.config.d.ts.map +1 -1
- package/lib/features/hints/di.config.js +9 -9
- package/lib/features/hints/di.config.js.map +1 -1
- package/lib/features/hints/model.d.ts +3 -2
- package/lib/features/hints/model.d.ts.map +1 -1
- package/lib/features/hints/model.js.map +1 -1
- package/lib/features/hints/type-hints.d.ts +17 -45
- package/lib/features/hints/type-hints.d.ts.map +1 -1
- package/lib/features/hints/type-hints.js +81 -140
- package/lib/features/hints/type-hints.js.map +1 -1
- package/lib/features/hover/di.config.d.ts +1 -1
- package/lib/features/hover/di.config.d.ts.map +1 -1
- package/lib/features/hover/di.config.js +8 -8
- package/lib/features/hover/di.config.js.map +1 -1
- package/lib/features/hover/hover.d.ts +17 -1
- package/lib/features/hover/hover.d.ts.map +1 -1
- package/lib/features/hover/hover.js +37 -77
- package/lib/features/hover/hover.js.map +1 -1
- package/lib/features/layout/di.config.d.ts +1 -1
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +11 -7
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/freeform-layout.d.ts +16 -0
- package/lib/features/layout/freeform-layout.d.ts.map +1 -0
- package/lib/features/layout/freeform-layout.js +107 -0
- package/lib/features/layout/freeform-layout.js.map +1 -0
- package/lib/features/layout/layout-commands.d.ts +19 -3
- package/lib/features/layout/layout-commands.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.js +189 -265
- package/lib/features/layout/layout-commands.js.map +1 -1
- package/lib/features/layout/layout-commands.spec.d.ts +0 -15
- package/lib/features/layout/layout-commands.spec.d.ts.map +1 -1
- package/lib/features/layout/layout-commands.spec.js +95 -89
- package/lib/features/layout/layout-commands.spec.js.map +1 -1
- package/lib/features/layout/vbox-layout.d.ts +25 -0
- package/lib/features/layout/vbox-layout.d.ts.map +1 -0
- package/lib/features/layout/vbox-layout.js +188 -0
- package/lib/features/layout/vbox-layout.js.map +1 -0
- package/lib/features/model-source-watcher/di.config.d.ts +0 -15
- package/lib/features/model-source-watcher/di.config.d.ts.map +1 -1
- package/lib/features/model-source-watcher/di.config.js +7 -7
- package/lib/features/model-source-watcher/di.config.js.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +17 -2
- package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js +38 -46
- package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
- package/lib/features/mouse-tool/di.config.js +5 -5
- package/lib/features/mouse-tool/di.config.js.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts +2 -1
- package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
- package/lib/features/mouse-tool/mouse-tool.js +70 -215
- package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
- package/lib/features/navigation/di.config.d.ts +0 -15
- package/lib/features/navigation/di.config.d.ts.map +1 -1
- package/lib/features/navigation/di.config.js +11 -10
- package/lib/features/navigation/di.config.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +19 -38
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +118 -254
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.d.ts +18 -40
- package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.js +46 -188
- package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -15
- package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
- package/lib/features/navigation/navigation-target-resolver.spec.js +26 -26
- package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
- package/lib/features/rank/model.d.ts +1 -1
- package/lib/features/rank/model.js +2 -2
- package/lib/features/rank/model.js.map +1 -1
- package/lib/features/reconnect/model.d.ts +1 -1
- package/lib/features/reconnect/model.d.ts.map +1 -1
- package/lib/features/reconnect/model.js +9 -27
- package/lib/features/reconnect/model.js.map +1 -1
- package/lib/features/save/di.config.d.ts +1 -1
- package/lib/features/save/di.config.d.ts.map +1 -1
- package/lib/features/save/di.config.js +6 -6
- package/lib/features/save/di.config.js.map +1 -1
- package/lib/features/save/{save.d.ts → save-keylistener.d.ts} +4 -10
- package/lib/features/save/save-keylistener.d.ts.map +1 -0
- package/lib/features/{undo-redo/model.d.ts → save/save-keylistener.js} +16 -12
- package/lib/features/save/save-keylistener.js.map +1 -0
- package/lib/features/select/di.config.js +11 -11
- package/lib/features/select/di.config.js.map +1 -1
- package/lib/features/select/select-feedback-action.d.ts.map +1 -1
- package/lib/features/select/select-feedback-action.js +45 -71
- package/lib/features/select/select-feedback-action.js.map +1 -1
- package/lib/features/select/select-mouse-listener.js +7 -23
- package/lib/features/select/select-mouse-listener.js.map +1 -1
- package/lib/features/select/selection-service.d.ts +17 -1
- package/lib/features/select/selection-service.d.ts.map +1 -1
- package/lib/features/select/selection-service.js +134 -236
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/features/select/selection-service.spec.js +96 -139
- package/lib/features/select/selection-service.spec.js.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +19 -2
- package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js +102 -142
- package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts +17 -1
- package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/creation-tool-feedback.js +69 -118
- package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/css-feedback.d.ts +20 -2
- package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/css-feedback.js +37 -81
- package/lib/features/tool-feedback/css-feedback.js.map +1 -1
- package/lib/features/tool-feedback/di.config.d.ts +1 -1
- package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
- package/lib/features/tool-feedback/di.config.js +27 -27
- package/lib/features/tool-feedback/di.config.js.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +18 -2
- package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js +147 -208
- package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +19 -3
- package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/features/tool-feedback/feedback-action-dispatcher.js +35 -72
- package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +17 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
- package/lib/features/tool-feedback/marquee-tool-feedback.js +41 -84
- package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
- package/lib/features/tool-feedback/model.d.ts +1 -1
- package/lib/features/tool-feedback/model.js +11 -27
- package/lib/features/tool-feedback/model.js.map +1 -1
- package/lib/features/tool-feedback/view.d.ts +21 -5
- package/lib/features/tool-feedback/view.d.ts.map +1 -1
- package/lib/features/tool-feedback/view.js +29 -51
- package/lib/features/tool-feedback/view.js.map +1 -1
- package/lib/features/tool-palette/di.config.d.ts +1 -1
- package/lib/features/tool-palette/di.config.d.ts.map +1 -1
- package/lib/features/tool-palette/di.config.js +6 -6
- package/lib/features/tool-palette/di.config.js.map +1 -1
- package/lib/features/tool-palette/palette-item.d.ts +2 -3
- package/lib/features/tool-palette/palette-item.d.ts.map +1 -1
- package/lib/features/tool-palette/palette-item.js +6 -6
- package/lib/features/tool-palette/palette-item.js.map +1 -1
- package/lib/features/tool-palette/tool-palette.d.ts +19 -3
- package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
- package/lib/features/tool-palette/tool-palette.js +199 -269
- package/lib/features/tool-palette/tool-palette.js.map +1 -1
- package/lib/features/tools/base-glsp-tool.d.ts +18 -2
- package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
- package/lib/features/tools/base-glsp-tool.js +37 -59
- package/lib/features/tools/base-glsp-tool.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts +20 -3
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +192 -241
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/delete-tool.d.ts +17 -1
- package/lib/features/tools/delete-tool.d.ts.map +1 -1
- package/lib/features/tools/delete-tool.js +71 -104
- package/lib/features/tools/delete-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts +0 -15
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +19 -19
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-creation-tool.d.ts +17 -2
- package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-creation-tool.js +62 -87
- package/lib/features/tools/edge-creation-tool.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +17 -1
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +112 -183
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/features/tools/marquee-behavior.d.ts +42 -0
- package/lib/features/tools/marquee-behavior.d.ts.map +1 -0
- package/lib/features/tools/marquee-behavior.js +128 -0
- package/lib/features/tools/marquee-behavior.js.map +1 -0
- package/{src/features/undo-redo/model.ts → lib/features/tools/marquee-behavior.spec.d.ts} +3 -12
- package/lib/features/tools/marquee-behavior.spec.d.ts.map +1 -0
- package/lib/features/tools/marquee-behavior.spec.js +165 -0
- package/lib/features/tools/marquee-behavior.spec.js.map +1 -0
- package/lib/features/tools/marquee-mouse-tool.d.ts +24 -13
- package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-mouse-tool.js +86 -195
- package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
- package/lib/features/tools/marquee-tool.d.ts +17 -1
- package/lib/features/tools/marquee-tool.d.ts.map +1 -1
- package/lib/features/tools/marquee-tool.js +32 -73
- package/lib/features/tools/marquee-tool.js.map +1 -1
- package/lib/features/tools/model.js +4 -22
- package/lib/features/tools/model.js.map +1 -1
- package/lib/features/tools/node-creation-tool.d.ts +17 -2
- package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
- package/lib/features/tools/node-creation-tool.js +60 -90
- package/lib/features/tools/node-creation-tool.js.map +1 -1
- package/lib/features/tools/view.d.ts +1 -1
- package/lib/features/tools/view.d.ts.map +1 -1
- package/lib/features/tools/view.js +12 -31
- package/lib/features/tools/view.js.map +1 -1
- package/lib/features/validation/di.config.js +12 -12
- package/lib/features/validation/di.config.js.map +1 -1
- package/lib/features/validation/issue-marker.d.ts +2 -2
- package/lib/features/validation/issue-marker.d.ts.map +1 -1
- package/lib/features/validation/issue-marker.js +17 -55
- package/lib/features/validation/issue-marker.js.map +1 -1
- package/lib/features/validation/marker-navigator.d.ts +17 -1
- package/lib/features/validation/marker-navigator.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.js +131 -164
- package/lib/features/validation/marker-navigator.js.map +1 -1
- package/lib/features/validation/marker-navigator.spec.d.ts +0 -15
- package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
- package/lib/features/validation/marker-navigator.spec.js +83 -77
- package/lib/features/validation/marker-navigator.spec.js.map +1 -1
- package/lib/features/validation/validate.d.ts +18 -29
- package/lib/features/validation/validate.d.ts.map +1 -1
- package/lib/features/validation/validate.js +147 -300
- package/lib/features/validation/validate.js.map +1 -1
- package/lib/features/viewport/di.config.js +10 -10
- package/lib/features/viewport/di.config.js.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +18 -2
- package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
- package/lib/features/viewport/glsp-scroll-mouse-listener.js +16 -47
- package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
- package/lib/index.d.ts +9 -15
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +29 -34
- package/lib/index.js.map +1 -1
- package/lib/lib/model.js +11 -27
- package/lib/lib/model.js.map +1 -1
- package/lib/model-source/glsp-diagram-server.d.ts +3 -5
- package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
- package/lib/model-source/glsp-diagram-server.js +60 -121
- package/lib/model-source/glsp-diagram-server.js.map +1 -1
- package/lib/protocol-reexport.d.ts +45 -0
- package/lib/protocol-reexport.d.ts.map +1 -0
- package/lib/protocol-reexport.js +75 -0
- package/lib/protocol-reexport.js.map +1 -0
- package/lib/utils/argument-utils.d.ts +3 -3
- package/lib/utils/argument-utils.d.ts.map +1 -1
- package/lib/utils/argument-utils.js +32 -97
- package/lib/utils/argument-utils.js.map +1 -1
- package/lib/utils/html-utils.js +2 -2
- package/lib/utils/html-utils.js.map +1 -1
- package/lib/utils/layout-utils.d.ts +3 -2
- package/lib/utils/layout-utils.d.ts.map +1 -1
- package/lib/utils/layout-utils.js +5 -5
- package/lib/utils/layout-utils.js.map +1 -1
- package/lib/utils/marker.d.ts +0 -38
- package/lib/utils/marker.d.ts.map +1 -1
- package/lib/utils/marker.js +14 -61
- package/lib/utils/marker.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +4 -4
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +16 -65
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/utils/viewpoint-util.d.ts +3 -2
- package/lib/utils/viewpoint-util.d.ts.map +1 -1
- package/lib/utils/viewpoint-util.js +15 -30
- package/lib/utils/viewpoint-util.js.map +1 -1
- package/lib/views/base-view-module.d.ts +0 -15
- package/lib/views/base-view-module.d.ts.map +1 -1
- package/lib/views/base-view-module.js +28 -28
- package/lib/views/base-view-module.js.map +1 -1
- package/lib/views/compartments.d.ts +6 -0
- package/lib/views/compartments.d.ts.map +1 -0
- package/lib/views/compartments.js +43 -0
- package/lib/views/compartments.js.map +1 -0
- package/lib/views/glsp-edge-view.d.ts +18 -3
- package/lib/views/glsp-edge-view.d.ts.map +1 -1
- package/lib/views/glsp-edge-view.js +32 -77
- package/lib/views/glsp-edge-view.js.map +1 -1
- package/lib/views/index.d.ts +1 -1
- package/lib/views/index.d.ts.map +1 -1
- package/lib/views/index.js +1 -1
- package/lib/views/index.js.map +1 -1
- package/lib/views/issue-marker-view.d.ts +2 -1
- package/lib/views/issue-marker-view.d.ts.map +1 -1
- package/lib/views/issue-marker-view.js +36 -50
- package/lib/views/issue-marker-view.js.map +1 -1
- package/lib/views/rounded-corner-view.d.ts +2 -3
- package/lib/views/rounded-corner-view.d.ts.map +1 -1
- package/lib/views/rounded-corner-view.js +40 -70
- package/lib/views/rounded-corner-view.js.map +1 -1
- package/lib/views/rounded-corner.d.ts +2 -1
- package/lib/views/rounded-corner.d.ts.map +1 -1
- package/lib/views/rounded-corner.js +44 -65
- package/lib/views/rounded-corner.js.map +1 -1
- package/package.json +12 -19
- package/src/base/action-dispatcher.ts +3 -4
- package/src/base/actions/focus-change-action.ts +2 -2
- package/src/base/{args.ts → argumentable.ts} +2 -3
- package/src/base/auto-complete/auto-complete-actions.ts +1 -1
- package/src/base/auto-complete/auto-complete-widget.ts +37 -25
- package/src/base/auto-complete/validation-decorator.ts +12 -11
- package/src/base/command-stack.ts +2 -5
- package/src/base/container-modules.ts +112 -0
- package/src/base/di.config.ts +33 -18
- package/src/base/drag-aware-mouse-listener.ts +3 -4
- package/src/base/{editor-context.ts → editor-context-service.ts} +4 -31
- package/src/base/focus-tracker.ts +2 -4
- package/src/base/model/update-model-command.ts +8 -16
- package/src/base/model-initialization-constraint.ts +3 -2
- package/src/base/tool-manager/glsp-tool-manager.ts +3 -5
- package/src/base/types.ts +4 -2
- package/src/features/change-bounds/model.ts +15 -5
- package/src/features/change-bounds/movement-restrictor.ts +17 -9
- package/src/features/change-bounds/snap.ts +3 -2
- package/src/features/command-palette/server-command-palette-provider.ts +11 -9
- package/src/features/context-menu/delete-element-context-menu.ts +3 -4
- package/src/features/context-menu/di.config.ts +11 -9
- package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -3
- package/src/features/context-menu/server-context-menu-provider.ts +10 -7
- package/src/features/copy-paste/copy-paste-context-menu.ts +59 -30
- package/src/features/copy-paste/copy-paste-handler.ts +18 -10
- package/src/features/copy-paste/di.config.ts +2 -3
- package/src/features/decoration/decoration-placer.ts +3 -13
- package/src/features/edit-label/edit-label-validator.ts +11 -12
- package/src/features/hints/di.config.ts +2 -3
- package/src/features/hints/model.ts +4 -3
- package/src/features/hints/type-hints.ts +23 -90
- package/src/features/hover/di.config.ts +1 -2
- package/src/features/hover/hover.ts +2 -7
- package/src/features/layout/di.config.ts +8 -4
- package/src/features/layout/freeform-layout.ts +133 -0
- package/src/features/layout/layout-commands.spec.ts +82 -64
- package/src/features/layout/layout-commands.ts +43 -34
- package/src/features/layout/vbox-layout.ts +256 -0
- package/src/features/model-source-watcher/di.config.ts +3 -4
- package/src/features/model-source-watcher/model-source-changed-action-handler.ts +11 -7
- package/src/features/mouse-tool/mouse-tool.ts +33 -23
- package/src/features/navigation/di.config.ts +4 -10
- package/src/features/navigation/navigation-action-handler.ts +33 -69
- package/src/features/navigation/navigation-target-resolver.spec.ts +3 -7
- package/src/features/navigation/navigation-target-resolver.ts +13 -91
- package/src/features/rank/model.ts +2 -2
- package/src/features/reconnect/model.ts +2 -3
- package/src/features/save/di.config.ts +2 -3
- package/src/features/save/{save.ts → save-keylistener.ts} +3 -11
- package/src/features/select/select-feedback-action.ts +4 -6
- package/src/features/select/selection-service.spec.ts +11 -6
- package/src/features/select/selection-service.ts +14 -10
- package/src/features/tool-feedback/change-bounds-tool-feedback.ts +26 -20
- package/src/features/tool-feedback/creation-tool-feedback.ts +17 -10
- package/src/features/tool-feedback/css-feedback.ts +9 -6
- package/src/features/tool-feedback/di.config.ts +2 -5
- package/src/features/tool-feedback/edge-edit-tool-feedback.ts +19 -18
- package/src/features/tool-feedback/feedback-action-dispatcher.ts +8 -9
- package/src/features/tool-feedback/marquee-tool-feedback.ts +4 -5
- package/src/features/tool-feedback/model.ts +1 -2
- package/src/features/tool-feedback/view.tsx +17 -11
- package/src/features/tool-palette/di.config.ts +2 -4
- package/src/features/tool-palette/palette-item.ts +4 -6
- package/src/features/tool-palette/tool-palette.ts +44 -40
- package/src/features/tools/base-glsp-tool.ts +4 -4
- package/src/features/tools/change-bounds-tool.ts +64 -34
- package/src/features/tools/delete-tool.ts +9 -6
- package/src/features/tools/di.config.ts +2 -3
- package/src/features/tools/edge-creation-tool.ts +5 -10
- package/src/features/tools/edge-edit-tool.ts +10 -20
- package/src/features/tools/marquee-behavior.spec.ts +175 -0
- package/src/features/tools/marquee-behavior.ts +158 -0
- package/src/features/tools/marquee-mouse-tool.ts +43 -134
- package/src/features/tools/marquee-tool.ts +2 -3
- package/src/features/tools/node-creation-tool.ts +4 -11
- package/src/features/tools/view.tsx +17 -12
- package/src/features/validation/issue-marker.ts +2 -3
- package/src/features/validation/marker-navigator.spec.ts +18 -14
- package/src/features/validation/marker-navigator.ts +24 -12
- package/src/features/validation/validate.ts +7 -40
- package/src/features/viewport/glsp-scroll-mouse-listener.ts +3 -12
- package/src/index.ts +30 -19
- package/src/model-source/glsp-diagram-server.ts +12 -28
- package/src/protocol-reexport.ts +64 -0
- package/src/utils/argument-utils.ts +14 -11
- package/src/utils/layout-utils.ts +13 -7
- package/src/utils/marker.ts +2 -26
- package/src/utils/smodel-util.ts +15 -11
- package/src/utils/viewpoint-util.ts +4 -4
- package/src/views/base-view-module.ts +1 -2
- package/src/{base/actions/edit-mode-action.ts → views/compartments.tsx} +18 -14
- package/src/views/glsp-edge-view.tsx +21 -14
- package/src/views/index.ts +1 -1
- package/src/views/issue-marker-view.tsx +28 -19
- package/src/views/rounded-corner-view.tsx +38 -25
- package/src/views/rounded-corner.ts +5 -6
- package/lib/base/actions/context-actions.d.ts +0 -36
- package/lib/base/actions/context-actions.d.ts.map +0 -1
- package/lib/base/actions/context-actions.js +0 -51
- package/lib/base/actions/context-actions.js.map +0 -1
- package/lib/base/actions/edit-mode-action.d.ts +0 -13
- package/lib/base/actions/edit-mode-action.d.ts.map +0 -1
- package/lib/base/actions/edit-mode-action.js +0 -56
- package/lib/base/actions/edit-mode-action.js.map +0 -1
- package/lib/base/actions/edit-validation-actions.d.ts +0 -78
- package/lib/base/actions/edit-validation-actions.d.ts.map +0 -1
- package/lib/base/actions/edit-validation-actions.js +0 -83
- package/lib/base/actions/edit-validation-actions.js.map +0 -1
- package/lib/base/actions/protocol-actions.d.ts +0 -41
- package/lib/base/actions/protocol-actions.d.ts.map +0 -1
- package/lib/base/actions/protocol-actions.js +0 -151
- package/lib/base/actions/protocol-actions.js.map +0 -1
- package/lib/base/args.d.ts.map +0 -1
- package/lib/base/args.js.map +0 -1
- package/lib/base/editor-context.d.ts.map +0 -1
- package/lib/base/editor-context.js +0 -174
- package/lib/base/editor-context.js.map +0 -1
- package/lib/base/operations/operation.d.ts +0 -135
- package/lib/base/operations/operation.d.ts.map +0 -1
- package/lib/base/operations/operation.js +0 -231
- package/lib/base/operations/operation.js.map +0 -1
- package/lib/features/copy-paste/copy-paste-actions.d.ts +0 -50
- package/lib/features/copy-paste/copy-paste-actions.d.ts.map +0 -1
- package/lib/features/copy-paste/copy-paste-actions.js +0 -68
- package/lib/features/copy-paste/copy-paste-actions.js.map +0 -1
- package/lib/features/hints/request-type-hints-action.d.ts +0 -32
- package/lib/features/hints/request-type-hints-action.d.ts.map +0 -1
- package/lib/features/hints/request-type-hints-action.js +0 -30
- package/lib/features/hints/request-type-hints-action.js.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action.d.ts +0 -24
- package/lib/features/model-source-watcher/model-source-changed-action.d.ts.map +0 -1
- package/lib/features/model-source-watcher/model-source-changed-action.js +0 -17
- package/lib/features/model-source-watcher/model-source-changed-action.js.map +0 -1
- package/lib/features/save/save.d.ts.map +0 -1
- package/lib/features/save/save.js +0 -62
- package/lib/features/save/save.js.map +0 -1
- package/lib/features/undo-redo/model.d.ts.map +0 -1
- package/lib/features/undo-redo/model.js +0 -22
- package/lib/features/undo-redo/model.js.map +0 -1
- package/lib/model-source/glsp-server-status.d.ts +0 -30
- package/lib/model-source/glsp-server-status.d.ts.map +0 -1
- package/lib/model-source/glsp-server-status.js +0 -61
- package/lib/model-source/glsp-server-status.js.map +0 -1
- package/lib/utils/array-utils.d.ts +0 -28
- package/lib/utils/array-utils.d.ts.map +0 -1
- package/lib/utils/array-utils.js +0 -61
- package/lib/utils/array-utils.js.map +0 -1
- package/lib/views/default-types.d.ts +0 -37
- package/lib/views/default-types.d.ts.map +0 -1
- package/lib/views/default-types.js +0 -47
- package/lib/views/default-types.js.map +0 -1
- package/src/base/actions/context-actions.ts +0 -43
- package/src/base/actions/edit-validation-actions.ts +0 -103
- package/src/base/actions/protocol-actions.ts +0 -82
- package/src/base/operations/operation.ts +0 -178
- package/src/features/copy-paste/copy-paste-actions.ts +0 -60
- package/src/features/hints/request-type-hints-action.ts +0 -36
- package/src/features/model-source-watcher/model-source-changed-action.ts +0 -26
- package/src/model-source/glsp-server-status.ts +0 -38
- package/src/utils/array-utils.ts +0 -55
- package/src/views/default-types.ts +0 -48
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { Action, generateRequestId, LabeledAction, RequestAction, ResponseAction } from 'sprotty';
|
|
17
|
-
|
|
18
|
-
import { Args } from '../args';
|
|
19
|
-
import { EditorContext } from '../editor-context';
|
|
20
|
-
|
|
21
|
-
export class RequestContextActions implements RequestAction<SetContextActions> {
|
|
22
|
-
static readonly KIND = 'requestContextActions';
|
|
23
|
-
constructor(
|
|
24
|
-
public readonly contextId: string,
|
|
25
|
-
public readonly editorContext: EditorContext,
|
|
26
|
-
public readonly requestId: string = generateRequestId(),
|
|
27
|
-
public readonly kind: string = RequestContextActions.KIND) { }
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export class SetContextActions implements ResponseAction {
|
|
31
|
-
static readonly KIND = 'setContextActions';
|
|
32
|
-
constructor(
|
|
33
|
-
public readonly actions: LabeledAction[],
|
|
34
|
-
public readonly responseId: string = '',
|
|
35
|
-
public readonly args?: Args,
|
|
36
|
-
public readonly kind: string = SetContextActions.KIND) {
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function isSetContextActionsAction(action: Action): action is SetContextActions {
|
|
41
|
-
return action !== undefined && (action.kind === SetContextActions.KIND)
|
|
42
|
-
&& (action as SetContextActions).actions !== undefined;
|
|
43
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { Action, generateRequestId, RequestAction, ResponseAction } from 'sprotty';
|
|
17
|
-
|
|
18
|
-
import { Args } from '../args';
|
|
19
|
-
|
|
20
|
-
export class RequestEditValidationAction implements RequestAction<SetEditValidationResultAction> {
|
|
21
|
-
static readonly KIND = 'requestEditValidation';
|
|
22
|
-
constructor(
|
|
23
|
-
public readonly contextId: string,
|
|
24
|
-
public readonly modelElementId: string,
|
|
25
|
-
public readonly text: string,
|
|
26
|
-
public readonly requestId: string = generateRequestId(),
|
|
27
|
-
public readonly kind: string = RequestEditValidationAction.KIND) { }
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export class SetEditValidationResultAction implements ResponseAction {
|
|
31
|
-
static readonly KIND = 'setEditValidationResult';
|
|
32
|
-
constructor(
|
|
33
|
-
public readonly status: ValidationStatus,
|
|
34
|
-
public readonly responseId: string = '',
|
|
35
|
-
public readonly args?: Args,
|
|
36
|
-
public readonly kind: string = SetEditValidationResultAction.KIND) { }
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export function isSetEditValidationResultAction(action: Action): action is SetEditValidationResultAction {
|
|
40
|
-
return action !== undefined && (action.kind === SetEditValidationResultAction.KIND)
|
|
41
|
-
&& (action as SetEditValidationResultAction).status !== undefined;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface ValidationStatus {
|
|
45
|
-
/**
|
|
46
|
-
* The severity of the validation returned by the server.
|
|
47
|
-
*/
|
|
48
|
-
readonly severity: ValidationStatus.Severity;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* The validation status message which may be rendered in the view.
|
|
52
|
-
*/
|
|
53
|
-
readonly message?: string;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* A potential error that encodes more details.
|
|
57
|
-
*/
|
|
58
|
-
readonly error?: ResponseError;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export interface ResponseError {
|
|
62
|
-
/**
|
|
63
|
-
* Code identifying the error kind.
|
|
64
|
-
*/
|
|
65
|
-
readonly code: number;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Error message.
|
|
69
|
-
*/
|
|
70
|
-
readonly message: string;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Additional custom data, e.g., a serialized stacktrace.
|
|
74
|
-
*/
|
|
75
|
-
readonly data: Record<string, any>;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export namespace ValidationStatus {
|
|
79
|
-
|
|
80
|
-
export enum Severity {
|
|
81
|
-
// eslint-disable-next-line no-shadow
|
|
82
|
-
FATAL, ERROR, WARNING, INFO, OK, NONE
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export const NONE: ValidationStatus = {
|
|
86
|
-
severity: Severity.NONE, message: '', error: { code: -1, message: '', data: {} }
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export function isOk(validationStatus: ValidationStatus): boolean {
|
|
90
|
-
return validationStatus.severity === Severity.OK
|
|
91
|
-
|| validationStatus.severity === Severity.INFO
|
|
92
|
-
|| validationStatus.severity === Severity.NONE;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export function isWarning(validationStatus: ValidationStatus): boolean {
|
|
96
|
-
return validationStatus.severity === Severity.WARNING;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export function isError(validationStatus: ValidationStatus): boolean {
|
|
100
|
-
return validationStatus.severity === Severity.ERROR
|
|
101
|
-
|| validationStatus.severity === Severity.FATAL;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { inject, injectable } from 'inversify';
|
|
17
|
-
import { Action, ActionHandlerRegistry, IActionHandler, ModelSource, TYPES } from 'sprotty';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Initializes the graphical representation (diagram) for a specific client session.
|
|
21
|
-
* Each individual diagram on the client side counts as one session and has to provide
|
|
22
|
-
* a unique clientId.
|
|
23
|
-
*/
|
|
24
|
-
@injectable()
|
|
25
|
-
export class InitializeClientSessionAction implements Action {
|
|
26
|
-
static readonly KIND = 'initializeClientSession';
|
|
27
|
-
constructor(public readonly clientId: string, public readonly kind: string = InitializeClientSessionAction.KIND) { }
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export function initializeClientSessionAction(action: Action): action is InitializeClientSessionAction {
|
|
31
|
-
return action.kind === InitializeClientSessionAction.KIND;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Sent to the server if the graphical representation (diagram) for a specific client session
|
|
36
|
-
* is no longer needed. e.g. the tab containing the diagram widget has been closed.
|
|
37
|
-
*/
|
|
38
|
-
@injectable()
|
|
39
|
-
export class DisposeClientSessionAction implements Action {
|
|
40
|
-
static readonly KIND = 'disposeClientSession';
|
|
41
|
-
constructor(public readonly clientId: string, public readonly kind: string = DisposeClientSessionAction.KIND) { }
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export function isDisposeClientSessionAction(action: Action): action is DisposeClientSessionAction {
|
|
45
|
-
return action.kind === DisposeClientSessionAction.KIND;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Sent by the server after ClientSessionInitialization, to indicate
|
|
50
|
-
* all the action kinds that the server can handle.
|
|
51
|
-
*/
|
|
52
|
-
@injectable()
|
|
53
|
-
export class ConfigureServerHandlersAction implements Action {
|
|
54
|
-
static readonly KIND = 'configureServerHandlers';
|
|
55
|
-
readonly kind = ConfigureServerHandlersAction.KIND;
|
|
56
|
-
|
|
57
|
-
constructor(readonly actionKinds: string[]) { }
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export function isConfigureServerHandlersAction(action: Action): action is ConfigureServerHandlersAction {
|
|
61
|
-
return action.kind === ConfigureServerHandlersAction.KIND;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@injectable()
|
|
65
|
-
export class ConfigureServerHandlersActionHandler implements IActionHandler {
|
|
66
|
-
|
|
67
|
-
@inject(TYPES.ModelSource)
|
|
68
|
-
protected diagramServer: ModelSource;
|
|
69
|
-
|
|
70
|
-
@inject(TYPES.ActionHandlerRegistryProvider)
|
|
71
|
-
actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>;
|
|
72
|
-
|
|
73
|
-
handle(action: Action): void {
|
|
74
|
-
if (isConfigureServerHandlersAction(action)) {
|
|
75
|
-
this.actionHandlerRegistryProvider().then(registry => {
|
|
76
|
-
for (const actionKind of action.actionKinds) {
|
|
77
|
-
registry.register(actionKind, this.diagramServer);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { Action, ApplyLabelEditAction, ElementAndBounds, isAction, LayoutAction, Point } from 'sprotty';
|
|
17
|
-
|
|
18
|
-
import { Args } from '../args';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Operations are actions that denote requests from the client to _modify_ the model. Model modifications are always performed by the server.
|
|
22
|
-
* After a successful modification, the server sends the updated model back to the client using the `UpdateModelAction`.
|
|
23
|
-
*/
|
|
24
|
-
export interface Operation extends Action { }
|
|
25
|
-
|
|
26
|
-
export interface CreateOperation extends Operation {
|
|
27
|
-
elementTypeId: string;
|
|
28
|
-
args?: Args;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function isCreateOperation(object?: any): object is CreateOperation {
|
|
32
|
-
return isAction(object) && 'elementTypeId' in object;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export class CreateNodeOperation implements CreateOperation {
|
|
36
|
-
static readonly KIND = 'createNode';
|
|
37
|
-
|
|
38
|
-
constructor(public readonly elementTypeId: string,
|
|
39
|
-
public location?: Point,
|
|
40
|
-
public containerId?: string,
|
|
41
|
-
public args?: Args,
|
|
42
|
-
public readonly kind: string = CreateNodeOperation.KIND) { }
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export function isCreateNodeOperation(object?: any): object is CreateNodeOperation {
|
|
46
|
-
return isCreateOperation() && object.kind === CreateNodeOperation.KIND;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export class CreateEdgeOperation implements CreateOperation {
|
|
50
|
-
static readonly KIND = 'createEdge';
|
|
51
|
-
|
|
52
|
-
constructor(public readonly elementTypeId: string,
|
|
53
|
-
public sourceElementId: string,
|
|
54
|
-
public targetElementId: string,
|
|
55
|
-
public args?: Args,
|
|
56
|
-
public readonly kind: string = CreateEdgeOperation.KIND) { }
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export function isCreateConnectionOperation(object?: any): object is CreateEdgeOperation {
|
|
60
|
-
return isCreateOperation() && object.kind === CreateEdgeOperation.KIND;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export class DeleteElementOperation implements Operation {
|
|
64
|
-
static readonly KIND = 'deleteElement';
|
|
65
|
-
constructor(readonly elementIds: string[], public readonly kind: string = DeleteElementOperation.KIND) { }
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export function isDeleteElementOperation(object?: any): object is DeleteElementOperation {
|
|
69
|
-
return isAction(object) && object.kind === DeleteElementOperation.KIND && 'elementIds' in object;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export class ChangeBoundsOperation implements Operation {
|
|
73
|
-
static readonly KIND = 'changeBounds';
|
|
74
|
-
constructor(public newBounds: ElementAndBounds[], public readonly kind: string = ChangeBoundsOperation.KIND) { }
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export function isChangeBoundsOperation(object?: any): object is ChangeBoundsOperation {
|
|
78
|
-
return isAction(object) && object.kind === ChangeBoundsOperation.KIND && 'newBounds' in object;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export class ChangeContainerOperation implements Operation {
|
|
82
|
-
static readonly KIND = 'changeContainer';
|
|
83
|
-
constructor(public readonly elementId: string,
|
|
84
|
-
public readonly targetContainerId: string,
|
|
85
|
-
public readonly location?: string,
|
|
86
|
-
public readonly kind: string = ChangeContainerOperation.KIND) { }
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export function isChangeContainerOperation(object?: any): object is ChangeContainerOperation {
|
|
90
|
-
return isAction(object) && object.kind === ChangeContainerOperation.KIND
|
|
91
|
-
&& 'elementId' in object && typeof object['elementId'] === 'string'
|
|
92
|
-
&& 'targetContainerId' in object && typeof object['targetContainerId'] === 'string';
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export class ReconnectEdgeOperation implements Operation {
|
|
96
|
-
static readonly KIND = 'reconnectEdge';
|
|
97
|
-
constructor(public readonly edgeElementId: string,
|
|
98
|
-
public readonly sourceElementId: string,
|
|
99
|
-
public readonly targetElementId: string,
|
|
100
|
-
public readonly kind: string = ReconnectEdgeOperation.KIND) { }
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export function isReconnectEdgeOperation(object?: any): object is ReconnectEdgeOperation {
|
|
104
|
-
return isAction(object) && object.kind === ReconnectEdgeOperation.KIND
|
|
105
|
-
&& 'edgeElementId' in object && typeof object['edgeElementId'] === 'string'
|
|
106
|
-
&& 'sourceElementId' in object && typeof object['sourceElementId'] === 'string'
|
|
107
|
-
&& 'targetElementId' in object && typeof object['targetElementId'] === 'string';
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export class ChangeRoutingPointsOperation implements Operation {
|
|
111
|
-
static readonly KIND = 'changeRoutingPoints';
|
|
112
|
-
constructor(public newRoutingPoints: ElementAndRoutingPoints[], public readonly kind: string = ChangeRoutingPointsOperation.KIND) { }
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export function isChangeRoutingsPointsOperation(object?: any): object is ChangeRoutingPointsOperation {
|
|
116
|
-
return isAction(object) && object.kind === ChangeRoutingPointsOperation.KIND
|
|
117
|
-
&& 'newRoutingPoints' in object && typeof object['newRoutingPoints'] === 'string';
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export class CompoundOperation implements Operation {
|
|
121
|
-
static readonly KIND = 'compound';
|
|
122
|
-
constructor(public operationList: Operation[], public readonly kind: string = CompoundOperation.KIND) { }
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export function isCompoundOperation(object?: any): object is CompoundOperation {
|
|
126
|
-
return isAction(object) && object.kind === CompoundOperation.KIND && 'operationList' in object;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* The `ElementAndRoutingPoints` type is used to associate an edge with specific routing points.
|
|
131
|
-
*/
|
|
132
|
-
export interface ElementAndRoutingPoints {
|
|
133
|
-
/**
|
|
134
|
-
* The identifier of an element.
|
|
135
|
-
*/
|
|
136
|
-
elementId: string;
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* The new list of routing points.
|
|
140
|
-
*/
|
|
141
|
-
newRoutingPoints?: Point[];
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
export abstract class TriggerElementCreationAction implements Action {
|
|
145
|
-
constructor(public readonly elementTypeId: string, readonly args?: Args, public readonly kind: string = 'unknown') { }
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
export class TriggerNodeCreationAction extends TriggerElementCreationAction {
|
|
149
|
-
static readonly KIND = 'triggerNodeCreation';
|
|
150
|
-
|
|
151
|
-
constructor(public readonly elementTypeId: string, readonly args?: Args, public readonly kind = TriggerNodeCreationAction.KIND) {
|
|
152
|
-
super(elementTypeId, args, kind);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export class TriggerEdgeCreationAction extends TriggerElementCreationAction {
|
|
157
|
-
static readonly KIND = 'triggerEdgeCreation';
|
|
158
|
-
|
|
159
|
-
constructor(public readonly elementTypeId: string, readonly args?: Args, public readonly kind: string = TriggerEdgeCreationAction.KIND) {
|
|
160
|
-
super(elementTypeId, args, kind);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
export function isTriggerElementTypeCreationAction(object?: any): object is TriggerElementCreationAction {
|
|
165
|
-
return isAction(object) && 'elementTypeId' in object;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
export function isTriggerNodeCreationAction(object?: any): object is TriggerNodeCreationAction {
|
|
169
|
-
return isTriggerElementTypeCreationAction(object) && object.kind === TriggerNodeCreationAction.KIND;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export function isTriggerEdgeCreationAction(object?: any): object is TriggerEdgeCreationAction {
|
|
173
|
-
return isTriggerElementTypeCreationAction(object) && object.kind === TriggerEdgeCreationAction.KIND;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
export class LayoutOperation extends LayoutAction implements Operation { }
|
|
177
|
-
|
|
178
|
-
export class ApplyLabelEditOperation extends ApplyLabelEditAction implements Operation { }
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { generateRequestId, RequestAction, ResponseAction } from 'sprotty';
|
|
17
|
-
|
|
18
|
-
import { EditorContext } from '../../base/editor-context';
|
|
19
|
-
import { Operation } from '../../base/operations/operation';
|
|
20
|
-
|
|
21
|
-
export class CutOperation implements Operation {
|
|
22
|
-
static readonly KIND = 'cut';
|
|
23
|
-
|
|
24
|
-
constructor(
|
|
25
|
-
public readonly editorContext: EditorContext,
|
|
26
|
-
public readonly kind: string = CutOperation.KIND) { }
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export class PasteOperation implements Operation {
|
|
30
|
-
static readonly KIND = 'paste';
|
|
31
|
-
|
|
32
|
-
constructor(
|
|
33
|
-
public readonly clipboardData: ClipboardData,
|
|
34
|
-
public readonly editorContext: EditorContext,
|
|
35
|
-
public readonly kind: string = PasteOperation.KIND) { }
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export class RequestClipboardDataAction implements RequestAction<SetClipboardDataAction> {
|
|
39
|
-
static readonly KIND = 'requestClipboardData';
|
|
40
|
-
|
|
41
|
-
constructor(
|
|
42
|
-
public readonly editorContext: EditorContext,
|
|
43
|
-
public readonly requestId: string = generateRequestId(),
|
|
44
|
-
public readonly kind: string = RequestClipboardDataAction.KIND) { }
|
|
45
|
-
|
|
46
|
-
static create(editorContext: EditorContext): RequestAction<SetClipboardDataAction> {
|
|
47
|
-
return new RequestClipboardDataAction(editorContext);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export interface ClipboardData { [format: string]: string }
|
|
52
|
-
|
|
53
|
-
export class SetClipboardDataAction implements ResponseAction {
|
|
54
|
-
static readonly KIND = 'setClipboardData';
|
|
55
|
-
|
|
56
|
-
constructor(
|
|
57
|
-
public readonly clipboardData: ClipboardData,
|
|
58
|
-
public readonly responseId: string = '',
|
|
59
|
-
public readonly kind: string = SetClipboardDataAction.KIND) { }
|
|
60
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { Action } from 'sprotty';
|
|
17
|
-
|
|
18
|
-
import { EdgeTypeHint, ShapeTypeHint } from './type-hints';
|
|
19
|
-
|
|
20
|
-
export class RequestTypeHintsAction implements Action {
|
|
21
|
-
static readonly KIND = 'requestTypeHints';
|
|
22
|
-
constructor(public readonly diagramType?: string, public readonly kind: string = RequestTypeHintsAction.KIND) { }
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export class SetTypeHintsAction implements Action {
|
|
26
|
-
static readonly KIND = 'setTypeHints';
|
|
27
|
-
constructor(
|
|
28
|
-
public readonly shapeHints: ShapeTypeHint[],
|
|
29
|
-
public readonly edgeHints: EdgeTypeHint[],
|
|
30
|
-
public readonly kind: string = SetTypeHintsAction.KIND) { }
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export function isSetTypeHintsAction(action: Action): action is SetTypeHintsAction {
|
|
34
|
-
return action !== undefined && (action.kind === SetTypeHintsAction.KIND)
|
|
35
|
-
&& (action as SetTypeHintsAction).shapeHints !== undefined && (action as SetTypeHintsAction).edgeHints !== undefined;
|
|
36
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { Action } from 'sprotty';
|
|
17
|
-
|
|
18
|
-
export class ModelSourceChangedAction implements Action {
|
|
19
|
-
static KIND = 'modelSourceChanged';
|
|
20
|
-
readonly kind = ModelSourceChangedAction.KIND;
|
|
21
|
-
constructor(public readonly modelSourceName: string) { }
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function isModelSourceChangedAction(action: Action): action is ModelSourceChangedAction {
|
|
25
|
-
return action.kind === ModelSourceChangedAction.KIND;
|
|
26
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2020 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { Action, ServerStatusAction as SprottyServerStatusAction } from 'sprotty';
|
|
17
|
-
|
|
18
|
-
export class GLSPServerStatusAction extends SprottyServerStatusAction {
|
|
19
|
-
timeout = -1;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export function isGLSPServerStatusAction(serverStatusAction: SprottyServerStatusAction): serverStatusAction is GLSPServerStatusAction {
|
|
23
|
-
return (serverStatusAction as GLSPServerStatusAction).timeout !== undefined;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export class ServerMessageAction implements Action {
|
|
27
|
-
static KIND = 'serverMessage';
|
|
28
|
-
|
|
29
|
-
kind = ServerMessageAction.KIND;
|
|
30
|
-
severity: 'NONE' | 'INFO' | 'WARNING' | 'ERROR' | 'FATAL';
|
|
31
|
-
message: string;
|
|
32
|
-
details = '';
|
|
33
|
-
timeout = -1;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function isServerMessageAction(action: Action): action is ServerMessageAction {
|
|
37
|
-
return ServerMessageAction.KIND === action.kind && 'severity' in action && 'message' in action;
|
|
38
|
-
}
|
package/src/utils/array-utils.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
|
|
17
|
-
export function remove<T>(array: T[], value: T): boolean {
|
|
18
|
-
const index = array.indexOf(value);
|
|
19
|
-
if (index >= 0) {
|
|
20
|
-
array.splice(index, 1);
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function distinctAdd<T>(array: T[], value: T): boolean {
|
|
27
|
-
if (!array.includes(value)) {
|
|
28
|
-
array.push(value);
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
interface Constructor<T> { new(...args: any[]): T }
|
|
35
|
-
type PrimitiveType = 'bigint' | 'boolean' | 'function' | 'number' | 'object' | 'string' | 'symbol' | 'undefined';
|
|
36
|
-
|
|
37
|
-
export function isArrayOfType<T>(object: any, typeGuard: (elem: any) => elem is T, supportEmpty = false): object is T[] {
|
|
38
|
-
return isArrayMatching(object, element => typeGuard(element), supportEmpty);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export function isArrayOfClass<T>(object: any, className: Constructor<T>, supportEmpty = false): object is T[] {
|
|
42
|
-
return isArrayMatching(object, element => element instanceof className, supportEmpty);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export function isArrayOfPrimitive<T>(object: any, primitiveType: PrimitiveType, supportEmpty = false): object is T[] {
|
|
46
|
-
return isArrayMatching(object, element => typeof element === primitiveType, supportEmpty);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export function isStringArray(object: any, supportEmpty = false): object is string[] {
|
|
50
|
-
return isArrayOfPrimitive(object, 'string', supportEmpty);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function isArrayMatching(object: any, predicate: (elem: any) => boolean, supportEmpty = false): boolean {
|
|
54
|
-
return Array.isArray(object) && object.every(predicate) && (supportEmpty || object.length > 0);
|
|
55
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2021 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
|
|
17
|
-
export namespace DefaultTypes {
|
|
18
|
-
// HTML elements
|
|
19
|
-
export const HTML = 'html';
|
|
20
|
-
|
|
21
|
-
// generic types
|
|
22
|
-
export const FOREIGN_OBJECT = 'foreign-object';
|
|
23
|
-
export const PRE_RENDERED = 'pre-rendered';
|
|
24
|
-
export const SHAPE_PRE_RENDERED = 'shape-pre-rendered';
|
|
25
|
-
|
|
26
|
-
// SVG elements
|
|
27
|
-
export const SVG = 'svg';
|
|
28
|
-
|
|
29
|
-
// graph types
|
|
30
|
-
export const GRAPH = 'graph';
|
|
31
|
-
export const NODE = 'node';
|
|
32
|
-
export const COMPARTMENT = 'comp';
|
|
33
|
-
export const COMPARTMENT_HEADER = 'comp:header';
|
|
34
|
-
export const EDGE = 'edge';
|
|
35
|
-
export const PORT = 'port';
|
|
36
|
-
export const ROUTING_POINT = 'routing-point';
|
|
37
|
-
export const VOLATILE_ROUTING_POINT = `volatile-${ROUTING_POINT}`;
|
|
38
|
-
export const LABEL = 'label';
|
|
39
|
-
|
|
40
|
-
// UI elements
|
|
41
|
-
export const BUTTON_EXPAND = 'button:expand';
|
|
42
|
-
export const ISSUE_MARKER = 'marker';
|
|
43
|
-
|
|
44
|
-
// shapes
|
|
45
|
-
export const NODE_CIRCLE = 'node:circle';
|
|
46
|
-
export const NODE_RECTANGLE = 'node:rectangle';
|
|
47
|
-
export const NODE_DIAMOND = 'node:diamond';
|
|
48
|
-
}
|