@eclipse-glsp/client 1.1.0-next.d3b810d.243 → 1.1.0-next.d81a1ea.249

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.
Files changed (94) hide show
  1. package/css/autocomplete-palette.css +22 -0
  2. package/css/glsp-sprotty.css +16 -1
  3. package/lib/base/auto-complete/auto-complete-widget.d.ts +8 -2
  4. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  5. package/lib/base/auto-complete/auto-complete-widget.js +25 -6
  6. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  7. package/lib/features/accessibility/di.config.d.ts +21 -0
  8. package/lib/features/accessibility/di.config.d.ts.map +1 -0
  9. package/lib/features/accessibility/di.config.js +34 -0
  10. package/lib/features/accessibility/di.config.js.map +1 -0
  11. package/lib/features/accessibility/move-zoom/di.config.d.ts +23 -0
  12. package/lib/features/accessibility/move-zoom/di.config.d.ts.map +1 -0
  13. package/lib/features/accessibility/move-zoom/di.config.js +41 -0
  14. package/lib/features/accessibility/move-zoom/di.config.js.map +1 -0
  15. package/lib/features/accessibility/move-zoom/move-handler.d.ts +81 -0
  16. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -0
  17. package/lib/features/accessibility/move-zoom/move-handler.js +173 -0
  18. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -0
  19. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +74 -0
  20. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +1 -0
  21. package/lib/features/accessibility/move-zoom/zoom-handler.js +159 -0
  22. package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -0
  23. package/lib/features/accessibility/resize-key-tool/di.config.d.ts +23 -0
  24. package/lib/features/accessibility/resize-key-tool/di.config.d.ts.map +1 -0
  25. package/lib/features/accessibility/resize-key-tool/di.config.js +38 -0
  26. package/lib/features/accessibility/resize-key-tool/di.config.js.map +1 -0
  27. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +55 -0
  28. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -0
  29. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +126 -0
  30. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -0
  31. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +44 -0
  32. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -0
  33. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +127 -0
  34. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -0
  35. package/lib/features/accessibility/search/di.config.d.ts +20 -0
  36. package/lib/features/accessibility/search/di.config.d.ts.map +1 -0
  37. package/lib/features/accessibility/search/di.config.js +33 -0
  38. package/lib/features/accessibility/search/di.config.js.map +1 -0
  39. package/lib/features/accessibility/search/search-palette.d.ts +47 -0
  40. package/lib/features/accessibility/search/search-palette.d.ts.map +1 -0
  41. package/lib/features/accessibility/search/search-palette.js +155 -0
  42. package/lib/features/accessibility/search/search-palette.js.map +1 -0
  43. package/lib/features/accessibility/search/search-tool.d.ts +30 -0
  44. package/lib/features/accessibility/search/search-tool.d.ts.map +1 -0
  45. package/lib/features/accessibility/search/search-tool.js +73 -0
  46. package/lib/features/accessibility/search/search-tool.js.map +1 -0
  47. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +35 -0
  48. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -0
  49. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +87 -0
  50. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -0
  51. package/lib/features/accessibility/view-key-tools/di.config.d.ts +20 -0
  52. package/lib/features/accessibility/view-key-tools/di.config.d.ts.map +1 -0
  53. package/lib/features/accessibility/view-key-tools/di.config.js +35 -0
  54. package/lib/features/accessibility/view-key-tools/di.config.js.map +1 -0
  55. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +49 -0
  56. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -0
  57. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +131 -0
  58. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -0
  59. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +43 -0
  60. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -0
  61. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +109 -0
  62. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -0
  63. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts +35 -0
  64. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts.map +1 -0
  65. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js +18 -0
  66. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js.map +1 -0
  67. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts +41 -0
  68. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts.map +1 -0
  69. package/lib/features/autocomplete-palette/base-autocomplete-palette.js +82 -0
  70. package/lib/features/autocomplete-palette/base-autocomplete-palette.js.map +1 -0
  71. package/lib/index.d.ts +12 -3
  72. package/lib/index.d.ts.map +1 -1
  73. package/lib/index.js +62 -48
  74. package/lib/index.js.map +1 -1
  75. package/package.json +5 -3
  76. package/src/base/auto-complete/auto-complete-widget.ts +31 -7
  77. package/src/features/accessibility/README.md +65 -0
  78. package/src/features/accessibility/di.config.ts +32 -0
  79. package/src/features/accessibility/move-zoom/di.config.ts +43 -0
  80. package/src/features/accessibility/move-zoom/move-handler.ts +198 -0
  81. package/src/features/accessibility/move-zoom/zoom-handler.ts +178 -0
  82. package/src/features/accessibility/resize-key-tool/di.config.ts +37 -0
  83. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +120 -0
  84. package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +108 -0
  85. package/src/features/accessibility/search/di.config.ts +31 -0
  86. package/src/features/accessibility/search/search-palette.ts +181 -0
  87. package/src/features/accessibility/search/search-tool.ts +60 -0
  88. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +80 -0
  89. package/src/features/accessibility/view-key-tools/di.config.ts +33 -0
  90. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +115 -0
  91. package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +94 -0
  92. package/src/features/autocomplete-palette/autocomplete-suggestion-providers.ts +37 -0
  93. package/src/features/autocomplete-palette/base-autocomplete-palette.ts +88 -0
  94. package/src/index.ts +17 -3
@@ -0,0 +1,88 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) 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
+ import { Action } from '@eclipse-glsp/protocol';
18
+ import { inject } from 'inversify';
19
+ import { AbstractUIExtension, LabeledAction, SModelRoot, TYPES } from 'sprotty';
20
+ import '../../../css/autocomplete-palette.css';
21
+ import { GLSPActionDispatcher } from '../../base/action-dispatcher';
22
+ import { AutoCompleteWidget, CloseReason, toActionArray } from '../../base/auto-complete/auto-complete-widget';
23
+
24
+ export abstract class BaseAutocompletePalette extends AbstractUIExtension {
25
+ protected readonly autoSuggestionSettings = {
26
+ noSuggestionsMessage: 'No suggestions available',
27
+ suggestionsClass: 'command-palette-suggestions',
28
+ debounceWaitMs: 50,
29
+ showOnFocus: true
30
+ };
31
+
32
+ protected root?: Readonly<SModelRoot>;
33
+ protected autocompleteWidget: AutoCompleteWidget;
34
+
35
+ @inject(TYPES.IActionDispatcher)
36
+ protected actionDispatcher: GLSPActionDispatcher;
37
+
38
+ containerClass(): string {
39
+ return 'autocomplete-palette';
40
+ }
41
+
42
+ override show(root: Readonly<SModelRoot>, ...contextElementIds: string[]): void {
43
+ super.show(root, ...contextElementIds);
44
+ this.root = root;
45
+ this.autocompleteWidget.open(root);
46
+ }
47
+
48
+ override hide(): void {
49
+ this.autocompleteWidget.dispose();
50
+ this.root = undefined;
51
+ super.hide();
52
+ }
53
+
54
+ protected initializeContents(containerElement: HTMLElement): void {
55
+ containerElement.classList.add('command-palette');
56
+
57
+ this.autocompleteWidget = new AutoCompleteWidget(
58
+ this.autoSuggestionSettings,
59
+ { provideSuggestions: input => this.retrieveSuggestions(this.root!, input) },
60
+ { executeFromSuggestion: input => this.executeSuggestion(input) },
61
+ reason => this.autocompleteHide(reason),
62
+ this.logger,
63
+ {
64
+ visibleSuggestionsChanged: suggestions => this.visibleSuggestionsChanged(this.root!, suggestions),
65
+ selectedSuggestionChanged: suggestion => this.selectedSuggestionChanged(this.root!, suggestion)
66
+ }
67
+ );
68
+ this.autocompleteWidget.initialize(containerElement);
69
+ }
70
+
71
+ protected abstract retrieveSuggestions(root: Readonly<SModelRoot>, input: string): Promise<LabeledAction[]>;
72
+
73
+ protected async visibleSuggestionsChanged(root: Readonly<SModelRoot>, labeledActions: LabeledAction[]): Promise<void> {
74
+ return;
75
+ }
76
+
77
+ protected async selectedSuggestionChanged(root: Readonly<SModelRoot>, labeledAction?: LabeledAction): Promise<void> {
78
+ return;
79
+ }
80
+
81
+ protected autocompleteHide(reason: CloseReason): void {
82
+ this.hide();
83
+ }
84
+
85
+ protected executeSuggestion(input: LabeledAction | Action[] | Action): void {
86
+ this.actionDispatcher.dispatchAll(toActionArray(input));
87
+ }
88
+ }
package/src/index.ts CHANGED
@@ -14,11 +14,15 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import defaultGLSPModule from './base/di.config';
17
+ import { glspAccessibilityModule } from './features/accessibility/di.config';
18
+ import { glspMoveZoomModule } from './features/accessibility/move-zoom/di.config';
19
+ import { glspResizeKeyModule } from './features/accessibility/resize-key-tool/di.config';
20
+ import { glspSearchPaletteModule } from './features/accessibility/search/di.config';
21
+ import { glspViewKeyToolsModule } from './features/accessibility/view-key-tools/di.config';
17
22
  import glspCommandPaletteModule from './features/command-palette/di.config';
18
23
  import glspContextMenuModule from './features/context-menu/di.config';
19
24
  import { copyPasteContextMenuModule, glspServerCopyPasteModule } from './features/copy-paste/di.config';
20
25
  import glspDecorationModule from './features/decoration/di.config';
21
- import svgMetadataModule from './features/svg-metadata/di.config';
22
26
  import glspEditLabelModule from './features/edit-label/di.config';
23
27
  import modelHintsModule from './features/hints/di.config';
24
28
  import glspHoverModule from './features/hover/di.config';
@@ -28,6 +32,7 @@ import navigationModule from './features/navigation/di.config';
28
32
  import saveModule from './features/save/di.config';
29
33
  import glspSelectModule from './features/select/di.config';
30
34
  import sourceModelWatcherModule from './features/source-model-watcher/di.config';
35
+ import svgMetadataModule from './features/svg-metadata/di.config';
31
36
  import toolFeedbackModule from './features/tool-feedback/di.config';
32
37
  import paletteModule from './features/tool-palette/di.config';
33
38
  import { enableDefaultToolsOnFocusLossModule, toolsModule } from './features/tools/di.config';
@@ -56,6 +61,10 @@ export * from './base/tool-manager/glsp-tool-manager';
56
61
  export * from './base/tool-manager/tool-actions';
57
62
  export * from './base/types';
58
63
  export * from './base/view/view-registry';
64
+ export * from './features/accessibility/resize-key-tool/resize-key-tool';
65
+ export * from './features/accessibility/view-key-tools/deselect-key-tool';
66
+ export * from './features/accessibility/view-key-tools/movement-key-tool';
67
+ export * from './features/accessibility/view-key-tools/zoom-key-tool';
59
68
  //
60
69
  // ------------------ Features ------------------
61
70
  export * from './features/bounds/freeform-layout';
@@ -74,7 +83,6 @@ export * from './features/context-menu/server-context-menu-provider';
74
83
  export * from './features/copy-paste/copy-paste-context-menu';
75
84
  export * from './features/copy-paste/copy-paste-handler';
76
85
  export * from './features/decoration/decoration-placer';
77
- export * from './features/svg-metadata/metadata-placer';
78
86
  export * from './features/edit-label/edit-label-tool';
79
87
  export * from './features/edit-label/edit-label-validator';
80
88
  export * from './features/export/glsp-svg-exporter';
@@ -93,6 +101,7 @@ export * from './features/select/select-feedback-action';
93
101
  export * from './features/select/select-mouse-listener';
94
102
  export * from './features/select/selection-service';
95
103
  export * from './features/source-model-watcher/source-model-changed-action-handler';
104
+ export * from './features/svg-metadata/metadata-placer';
96
105
  export * from './features/tool-feedback/change-bounds-tool-feedback';
97
106
  export * from './features/tool-feedback/creation-tool-feedback';
98
107
  export * from './features/tool-feedback/css-feedback';
@@ -154,5 +163,10 @@ export {
154
163
  sourceModelWatcherModule,
155
164
  markerNavigatorContextMenuModule,
156
165
  glspViewportModule,
157
- svgMetadataModule
166
+ svgMetadataModule,
167
+ glspResizeKeyModule,
168
+ glspSearchPaletteModule,
169
+ glspAccessibilityModule,
170
+ glspViewKeyToolsModule,
171
+ glspMoveZoomModule
158
172
  };