@eclipse-glsp/client 1.1.0-next.383e4e9.264 → 1.1.0-next.3d1b3e6.280

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 (387) hide show
  1. package/css/decoration.css +0 -7
  2. package/css/glsp-sprotty.css +7 -0
  3. package/css/key-shortcut.css +5 -1
  4. package/{lib/base/source-uri-aware.js → css/navigation.css} +11 -9
  5. package/css/status-overlay.css +75 -0
  6. package/css/toast.css +45 -0
  7. package/lib/base/action-dispatcher.d.ts +8 -2
  8. package/lib/base/action-dispatcher.d.ts.map +1 -1
  9. package/lib/base/action-dispatcher.js +15 -7
  10. package/lib/base/action-dispatcher.js.map +1 -1
  11. package/lib/base/action-dispatcher.spec.d.ts +2 -0
  12. package/lib/base/action-dispatcher.spec.d.ts.map +1 -0
  13. package/lib/base/action-dispatcher.spec.js +78 -0
  14. package/lib/base/action-dispatcher.spec.js.map +1 -0
  15. package/lib/base/action-handler-registry.d.ts +25 -0
  16. package/lib/base/action-handler-registry.d.ts.map +1 -0
  17. package/lib/{features/tools/base-glsp-creation-tool.js → base/action-handler-registry.js} +20 -25
  18. package/lib/base/action-handler-registry.js.map +1 -0
  19. package/lib/base/default.module.d.ts +1 -10
  20. package/lib/base/default.module.d.ts.map +1 -1
  21. package/lib/base/default.module.js +20 -30
  22. package/lib/base/default.module.js.map +1 -1
  23. package/lib/base/editor-context-service.d.ts +17 -5
  24. package/lib/base/editor-context-service.d.ts.map +1 -1
  25. package/lib/base/editor-context-service.js +41 -14
  26. package/lib/base/editor-context-service.js.map +1 -1
  27. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -1
  28. package/lib/base/feedback/feedback-action-dispatcher.js +5 -3
  29. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -1
  30. package/lib/base/focus/focus-tracker.d.ts +4 -0
  31. package/lib/base/focus/focus-tracker.d.ts.map +1 -1
  32. package/lib/base/focus/focus-tracker.js +12 -5
  33. package/lib/base/focus/focus-tracker.js.map +1 -1
  34. package/lib/base/model/diagram-loader.d.ts +116 -0
  35. package/lib/base/model/diagram-loader.d.ts.map +1 -0
  36. package/lib/base/model/diagram-loader.js +130 -0
  37. package/lib/base/model/diagram-loader.js.map +1 -0
  38. package/lib/base/model/glsp-model-source.d.ts +74 -0
  39. package/lib/base/model/glsp-model-source.d.ts.map +1 -0
  40. package/lib/base/model/glsp-model-source.js +178 -0
  41. package/lib/base/model/glsp-model-source.js.map +1 -0
  42. package/lib/base/{model-initialization-constraint.d.ts → model/model-initialization-constraint.d.ts} +24 -3
  43. package/lib/base/model/model-initialization-constraint.d.ts.map +1 -0
  44. package/lib/base/{model-initialization-constraint.js → model/model-initialization-constraint.js} +20 -10
  45. package/lib/base/model/model-initialization-constraint.js.map +1 -0
  46. package/lib/base/model/model-initialization-constraint.spec.d.ts +2 -0
  47. package/lib/base/model/model-initialization-constraint.spec.d.ts.map +1 -0
  48. package/lib/base/model/model-initialization-constraint.spec.js +97 -0
  49. package/lib/base/model/model-initialization-constraint.spec.js.map +1 -0
  50. package/lib/base/selection-service.spec.js +9 -8
  51. package/lib/base/selection-service.spec.js.map +1 -1
  52. package/lib/base/tool-manager/tool-manager.d.ts +82 -0
  53. package/lib/base/tool-manager/tool-manager.d.ts.map +1 -0
  54. package/lib/base/tool-manager/tool-manager.js +140 -0
  55. package/lib/base/tool-manager/tool-manager.js.map +1 -0
  56. package/lib/base/tool-manager/tool.d.ts +54 -0
  57. package/lib/base/tool-manager/tool.d.ts.map +1 -0
  58. package/lib/base/tool-manager/tool.js +60 -0
  59. package/lib/base/tool-manager/tool.js.map +1 -0
  60. package/lib/default-modules.d.ts +20 -26
  61. package/lib/default-modules.d.ts.map +1 -1
  62. package/lib/default-modules.js +31 -29
  63. package/lib/default-modules.js.map +1 -1
  64. package/lib/features/accessibility/accessibility-module.d.ts.map +1 -1
  65. package/lib/features/accessibility/accessibility-module.js +6 -0
  66. package/lib/features/accessibility/accessibility-module.js.map +1 -1
  67. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts +65 -0
  68. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts.map +1 -0
  69. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js +290 -0
  70. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js.map +1 -0
  71. package/lib/features/accessibility/element-navigation/element-navigation-module.d.ts +24 -0
  72. package/lib/features/accessibility/element-navigation/element-navigation-module.d.ts.map +1 -0
  73. package/lib/features/accessibility/element-navigation/element-navigation-module.js +38 -0
  74. package/lib/features/accessibility/element-navigation/element-navigation-module.js.map +1 -0
  75. package/lib/features/accessibility/element-navigation/element-navigator.d.ts +26 -0
  76. package/lib/features/accessibility/element-navigation/element-navigator.d.ts.map +1 -0
  77. package/{src/base/source-uri-aware.ts → lib/features/accessibility/element-navigation/element-navigator.js} +4 -9
  78. package/lib/features/accessibility/element-navigation/element-navigator.js.map +1 -0
  79. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.d.ts +28 -0
  80. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.d.ts.map +1 -0
  81. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.js +104 -0
  82. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.js.map +1 -0
  83. package/lib/features/accessibility/element-navigation/local-element-navigator.d.ts +35 -0
  84. package/lib/features/accessibility/element-navigation/local-element-navigator.d.ts.map +1 -0
  85. package/lib/features/accessibility/element-navigation/local-element-navigator.js +117 -0
  86. package/lib/features/accessibility/element-navigation/local-element-navigator.js.map +1 -0
  87. package/lib/features/accessibility/element-navigation/position-navigator.d.ts +32 -0
  88. package/lib/features/accessibility/element-navigation/position-navigator.d.ts.map +1 -0
  89. package/lib/features/accessibility/element-navigation/position-navigator.js +80 -0
  90. package/lib/features/accessibility/element-navigation/position-navigator.js.map +1 -0
  91. package/lib/features/accessibility/focus-tracker/focus-tracker-module.d.ts +23 -0
  92. package/lib/features/accessibility/focus-tracker/focus-tracker-module.d.ts.map +1 -0
  93. package/lib/features/accessibility/focus-tracker/focus-tracker-module.js +33 -0
  94. package/lib/features/accessibility/focus-tracker/focus-tracker-module.js.map +1 -0
  95. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.d.ts +37 -0
  96. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.d.ts.map +1 -0
  97. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.js +133 -0
  98. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.js.map +1 -0
  99. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts +2 -2
  100. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts.map +1 -1
  101. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js +2 -2
  102. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js.map +1 -1
  103. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts +1 -0
  104. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts.map +1 -1
  105. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js +15 -3
  106. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js.map +1 -1
  107. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +2 -2
  108. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -1
  109. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +22 -15
  110. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -1
  111. package/lib/features/accessibility/search/search-palette.d.ts.map +1 -1
  112. package/lib/features/accessibility/search/search-palette.js +3 -1
  113. package/lib/features/accessibility/search/search-palette.js.map +1 -1
  114. package/lib/features/accessibility/search/search-tool.d.ts +2 -1
  115. package/lib/features/accessibility/search/search-tool.d.ts.map +1 -1
  116. package/lib/features/accessibility/search/search-tool.js +4 -8
  117. package/lib/features/accessibility/search/search-tool.js.map +1 -1
  118. package/lib/features/accessibility/toast/messages.json +16 -0
  119. package/lib/features/accessibility/toast/toast-handler.d.ts +45 -0
  120. package/lib/features/accessibility/toast/toast-handler.d.ts.map +1 -0
  121. package/lib/features/accessibility/toast/toast-handler.js +54 -0
  122. package/lib/features/accessibility/toast/toast-handler.js.map +1 -0
  123. package/lib/features/accessibility/toast/toast-module.d.ts +24 -0
  124. package/lib/features/accessibility/toast/toast-module.d.ts.map +1 -0
  125. package/lib/features/accessibility/toast/toast-module.js +38 -0
  126. package/lib/features/accessibility/toast/toast-module.js.map +1 -0
  127. package/lib/features/accessibility/toast/toast-tool.d.ts +43 -0
  128. package/lib/features/accessibility/toast/toast-tool.d.ts.map +1 -0
  129. package/lib/features/accessibility/toast/toast-tool.js +115 -0
  130. package/lib/features/accessibility/toast/toast-tool.js.map +1 -0
  131. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +2 -2
  132. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -1
  133. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +2 -2
  134. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
  135. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +4 -8
  136. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
  137. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +2 -2
  138. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -1
  139. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +9 -13
  140. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -1
  141. package/lib/features/bounds/bounds-module.d.ts.map +1 -1
  142. package/lib/features/bounds/bounds-module.js +2 -1
  143. package/lib/features/bounds/bounds-module.js.map +1 -1
  144. package/lib/features/command-palette/command-palette-tool.d.ts +2 -1
  145. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  146. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  147. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  148. package/lib/features/command-palette/server-command-palette-provider.js +3 -2
  149. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  150. package/lib/features/context-menu/context-menu-module.d.ts.map +1 -1
  151. package/lib/features/context-menu/context-menu-module.js +8 -8
  152. package/lib/features/context-menu/context-menu-module.js.map +1 -1
  153. package/lib/features/context-menu/{selection-service-aware-context-menu-mouse-listener.d.ts → glsp-context-menu-mouse-listener.d.ts} +2 -4
  154. package/lib/features/context-menu/glsp-context-menu-mouse-listener.d.ts.map +1 -0
  155. package/lib/features/context-menu/{selection-service-aware-context-menu-mouse-listener.js → glsp-context-menu-mouse-listener.js} +7 -12
  156. package/lib/features/context-menu/glsp-context-menu-mouse-listener.js.map +1 -0
  157. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
  158. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  159. package/lib/features/context-menu/server-context-menu-provider.js +3 -2
  160. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  161. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  162. package/lib/features/copy-paste/copy-paste-context-menu.js +1 -4
  163. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  164. package/lib/features/hints/type-hints-module.d.ts.map +1 -1
  165. package/lib/features/hints/type-hints-module.js +6 -5
  166. package/lib/features/hints/type-hints-module.js.map +1 -1
  167. package/lib/features/hints/type-hints.d.ts +6 -2
  168. package/lib/features/hints/type-hints.d.ts.map +1 -1
  169. package/lib/features/hints/type-hints.js +8 -0
  170. package/lib/features/hints/type-hints.js.map +1 -1
  171. package/lib/features/hover/hover-module.d.ts.map +1 -1
  172. package/lib/features/hover/hover-module.js +3 -2
  173. package/lib/features/hover/hover-module.js.map +1 -1
  174. package/lib/features/hover/hover.d.ts.map +1 -1
  175. package/lib/features/hover/hover.js +3 -2
  176. package/lib/features/hover/hover.js.map +1 -1
  177. package/lib/features/label-edit/edit-label-tool.d.ts +2 -2
  178. package/lib/features/label-edit/edit-label-tool.d.ts.map +1 -1
  179. package/lib/features/label-edit/edit-label-tool.js +2 -2
  180. package/lib/features/label-edit/edit-label-tool.js.map +1 -1
  181. package/lib/features/label-edit/edit-label-validator.d.ts.map +1 -1
  182. package/lib/features/label-edit/edit-label-validator.js +3 -2
  183. package/lib/features/label-edit/edit-label-validator.js.map +1 -1
  184. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  185. package/lib/features/navigation/navigation-action-handler.js +1 -4
  186. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  187. package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
  188. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  189. package/lib/features/navigation/navigation-target-resolver.js +5 -7
  190. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  191. package/lib/features/select/select-mouse-listener.d.ts +4 -2
  192. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  193. package/lib/features/select/select-mouse-listener.js +17 -58
  194. package/lib/features/select/select-mouse-listener.js.map +1 -1
  195. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -1
  196. package/lib/features/source-model-watcher/source-model-changed-action-handler.js +1 -4
  197. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
  198. package/lib/features/status/status-module.d.ts +19 -0
  199. package/lib/features/status/status-module.d.ts.map +1 -0
  200. package/lib/features/status/status-module.js +28 -0
  201. package/lib/features/status/status-module.js.map +1 -0
  202. package/lib/features/status/status-overlay.d.ts +25 -0
  203. package/lib/features/status/status-overlay.d.ts.map +1 -0
  204. package/lib/features/status/status-overlay.js +124 -0
  205. package/lib/features/status/status-overlay.js.map +1 -0
  206. package/lib/features/tool-palette/tool-palette-module.d.ts.map +1 -1
  207. package/lib/features/tool-palette/tool-palette-module.js +3 -2
  208. package/lib/features/tool-palette/tool-palette-module.js.map +1 -1
  209. package/lib/features/tool-palette/tool-palette.d.ts +10 -8
  210. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  211. package/lib/features/tool-palette/tool-palette.js +36 -29
  212. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  213. package/lib/features/tools/{base-glsp-tool.d.ts → base-tools.d.ts} +14 -4
  214. package/lib/features/tools/base-tools.d.ts.map +1 -0
  215. package/lib/features/tools/{base-glsp-tool.js → base-tools.js} +31 -10
  216. package/lib/features/tools/base-tools.js.map +1 -0
  217. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +2 -2
  218. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
  219. package/lib/features/tools/change-bounds/change-bounds-tool.js +2 -2
  220. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
  221. package/lib/features/tools/deletion/delete-tool.d.ts +4 -4
  222. package/lib/features/tools/deletion/delete-tool.d.ts.map +1 -1
  223. package/lib/features/tools/deletion/delete-tool.js +4 -3
  224. package/lib/features/tools/deletion/delete-tool.js.map +1 -1
  225. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts +2 -2
  226. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -1
  227. package/lib/features/tools/edge-creation/edge-creation-tool.js +5 -4
  228. package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -1
  229. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +2 -2
  230. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -1
  231. package/lib/features/tools/edge-edit/edge-edit-tool.js +2 -2
  232. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -1
  233. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +2 -2
  234. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -1
  235. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +5 -4
  236. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -1
  237. package/lib/features/tools/marquee-selection/marquee-tool.d.ts +2 -2
  238. package/lib/features/tools/marquee-selection/marquee-tool.d.ts.map +1 -1
  239. package/lib/features/tools/marquee-selection/marquee-tool.js +4 -3
  240. package/lib/features/tools/marquee-selection/marquee-tool.js.map +1 -1
  241. package/lib/features/tools/node-creation/node-creation-tool.d.ts +2 -2
  242. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
  243. package/lib/features/tools/node-creation/node-creation-tool.js +4 -3
  244. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
  245. package/lib/features/tools/tool-focus-loss-module.d.ts.map +1 -1
  246. package/lib/features/tools/tool-focus-loss-module.js +2 -1
  247. package/lib/features/tools/tool-focus-loss-module.js.map +1 -1
  248. package/lib/features/validation/validate.js +1 -1
  249. package/lib/features/validation/validate.js.map +1 -1
  250. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  251. package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -2
  252. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  253. package/lib/features/viewport/reposition.d.ts +38 -0
  254. package/lib/features/viewport/reposition.d.ts.map +1 -0
  255. package/lib/features/viewport/reposition.js +109 -0
  256. package/lib/features/viewport/reposition.js.map +1 -0
  257. package/lib/features/viewport/viewport-modules.d.ts.map +1 -1
  258. package/lib/features/viewport/viewport-modules.js +5 -2
  259. package/lib/features/viewport/viewport-modules.js.map +1 -1
  260. package/lib/glsp-sprotty/augmented-actions.d.ts +2 -10
  261. package/lib/glsp-sprotty/augmented-actions.d.ts.map +1 -1
  262. package/lib/glsp-sprotty/augmented-actions.js +2 -6
  263. package/lib/glsp-sprotty/augmented-actions.js.map +1 -1
  264. package/lib/glsp-sprotty/index.d.ts +3 -6
  265. package/lib/glsp-sprotty/index.d.ts.map +1 -1
  266. package/lib/glsp-sprotty/index.js +4 -7
  267. package/lib/glsp-sprotty/index.js.map +1 -1
  268. package/lib/glsp-sprotty/types.d.ts +5 -82
  269. package/lib/glsp-sprotty/types.d.ts.map +1 -1
  270. package/lib/glsp-sprotty/types.js +2 -8
  271. package/lib/glsp-sprotty/types.js.map +1 -1
  272. package/lib/index.d.ts +17 -7
  273. package/lib/index.d.ts.map +1 -1
  274. package/lib/index.js +17 -7
  275. package/lib/index.js.map +1 -1
  276. package/lib/standalone-modules.d.ts +11 -2
  277. package/lib/standalone-modules.d.ts.map +1 -1
  278. package/lib/standalone-modules.js +37 -1
  279. package/lib/standalone-modules.js.map +1 -1
  280. package/lib/views/base-view-module.d.ts.map +1 -1
  281. package/lib/views/base-view-module.js +2 -1
  282. package/lib/views/base-view-module.js.map +1 -1
  283. package/lib/views/glsp-projection-view.d.ts +2 -1
  284. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  285. package/lib/views/glsp-projection-view.js +11 -2
  286. package/lib/views/glsp-projection-view.js.map +1 -1
  287. package/package.json +4 -4
  288. package/src/base/action-dispatcher.spec.ts +87 -0
  289. package/src/base/action-dispatcher.ts +24 -10
  290. package/src/{features/tools/base-glsp-creation-tool.ts → base/action-handler-registry.ts} +10 -20
  291. package/src/base/default.module.ts +21 -34
  292. package/src/base/editor-context-service.ts +49 -16
  293. package/src/base/feedback/feedback-action-dispatcher.ts +5 -3
  294. package/src/base/focus/focus-tracker.ts +16 -5
  295. package/src/base/model/diagram-loader.ts +215 -0
  296. package/src/base/model/glsp-model-source.ts +199 -0
  297. package/src/base/model/model-initialization-constraint.spec.ts +95 -0
  298. package/src/base/{model-initialization-constraint.ts → model/model-initialization-constraint.ts} +43 -10
  299. package/src/base/selection-service.spec.ts +10 -9
  300. package/src/base/tool-manager/tool-manager.ts +183 -0
  301. package/src/base/tool-manager/tool.ts +85 -0
  302. package/src/default-modules.ts +37 -28
  303. package/src/features/accessibility/README.md +18 -0
  304. package/src/features/accessibility/accessibility-module.ts +6 -1
  305. package/src/features/accessibility/element-navigation/diagram-navigation-tool.ts +307 -0
  306. package/src/features/accessibility/element-navigation/element-navigation-module.ts +36 -0
  307. package/src/features/accessibility/element-navigation/element-navigator.ts +57 -0
  308. package/src/features/accessibility/element-navigation/left-right-top-bottom-navigator.ts +113 -0
  309. package/src/features/accessibility/element-navigation/local-element-navigator.ts +147 -0
  310. package/src/features/accessibility/element-navigation/position-navigator.ts +102 -0
  311. package/src/features/accessibility/focus-tracker/focus-tracker-module.ts +32 -0
  312. package/src/features/accessibility/focus-tracker/focus-tracker-tool.ts +129 -0
  313. package/src/features/accessibility/key-shortcut/accessible-key-shortcut-tool.ts +3 -3
  314. package/src/features/accessibility/key-shortcut/accessible-key-shortcut.ts +18 -3
  315. package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +30 -16
  316. package/src/features/accessibility/search/search-palette.ts +4 -2
  317. package/src/features/accessibility/search/search-tool.ts +8 -9
  318. package/src/features/accessibility/toast/messages.json +16 -0
  319. package/src/features/accessibility/toast/toast-handler.ts +69 -0
  320. package/src/features/accessibility/toast/toast-module.ts +36 -0
  321. package/src/features/accessibility/toast/toast-tool.ts +108 -0
  322. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +2 -2
  323. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +8 -10
  324. package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +13 -15
  325. package/src/features/bounds/bounds-module.ts +2 -2
  326. package/src/features/command-palette/command-palette-tool.ts +2 -1
  327. package/src/features/command-palette/server-command-palette-provider.ts +3 -2
  328. package/src/features/context-menu/context-menu-module.ts +11 -12
  329. package/src/features/context-menu/{selection-service-aware-context-menu-mouse-listener.ts → glsp-context-menu-mouse-listener.ts} +1 -5
  330. package/src/features/context-menu/server-context-menu-provider.ts +3 -2
  331. package/src/features/copy-paste/copy-paste-context-menu.ts +3 -6
  332. package/src/features/hints/type-hints-module.ts +7 -6
  333. package/src/features/hints/type-hints.ts +12 -1
  334. package/src/features/hover/hover-module.ts +1 -2
  335. package/src/features/hover/hover.ts +2 -3
  336. package/src/features/label-edit/edit-label-tool.ts +2 -2
  337. package/src/features/label-edit/edit-label-validator.ts +7 -6
  338. package/src/features/navigation/navigation-action-handler.ts +5 -8
  339. package/src/features/navigation/navigation-target-resolver.ts +10 -7
  340. package/src/features/select/select-mouse-listener.ts +27 -79
  341. package/src/features/source-model-watcher/source-model-changed-action-handler.ts +3 -6
  342. package/src/features/status/status-module.ts +26 -0
  343. package/src/features/status/status-overlay.ts +121 -0
  344. package/src/features/tool-palette/tool-palette-module.ts +4 -3
  345. package/src/features/tool-palette/tool-palette.ts +44 -33
  346. package/src/features/tools/{base-glsp-tool.ts → base-tools.ts} +28 -3
  347. package/src/features/tools/change-bounds/change-bounds-tool.ts +2 -2
  348. package/src/features/tools/deletion/delete-tool.ts +4 -5
  349. package/src/features/tools/edge-creation/edge-creation-tool.ts +3 -3
  350. package/src/features/tools/edge-edit/edge-edit-tool.ts +2 -2
  351. package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +3 -3
  352. package/src/features/tools/marquee-selection/marquee-tool.ts +4 -3
  353. package/src/features/tools/node-creation/node-creation-tool.ts +3 -3
  354. package/src/features/tools/tool-focus-loss-module.ts +2 -1
  355. package/src/features/validation/validate.ts +1 -1
  356. package/src/features/viewport/glsp-scroll-mouse-listener.ts +2 -9
  357. package/src/features/viewport/reposition.ts +119 -0
  358. package/src/features/viewport/viewport-modules.ts +3 -2
  359. package/src/glsp-sprotty/augmented-actions.ts +1 -16
  360. package/src/glsp-sprotty/index.ts +4 -7
  361. package/src/glsp-sprotty/types.ts +6 -8
  362. package/src/index.ts +17 -7
  363. package/src/standalone-modules.ts +40 -1
  364. package/src/views/base-view-module.ts +2 -2
  365. package/src/views/glsp-projection-view.tsx +18 -8
  366. package/lib/base/model-initialization-constraint.d.ts.map +0 -1
  367. package/lib/base/model-initialization-constraint.js.map +0 -1
  368. package/lib/base/source-uri-aware.d.ts +0 -5
  369. package/lib/base/source-uri-aware.d.ts.map +0 -1
  370. package/lib/base/source-uri-aware.js.map +0 -1
  371. package/lib/base/tool-manager/glsp-tool-manager.d.ts +0 -21
  372. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +0 -1
  373. package/lib/base/tool-manager/glsp-tool-manager.js +0 -113
  374. package/lib/base/tool-manager/glsp-tool-manager.js.map +0 -1
  375. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +0 -1
  376. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +0 -1
  377. package/lib/features/tools/base-glsp-creation-tool.d.ts +0 -10
  378. package/lib/features/tools/base-glsp-creation-tool.d.ts.map +0 -1
  379. package/lib/features/tools/base-glsp-creation-tool.js.map +0 -1
  380. package/lib/features/tools/base-glsp-tool.d.ts.map +0 -1
  381. package/lib/features/tools/base-glsp-tool.js.map +0 -1
  382. package/lib/model-source/glsp-diagram-server.d.ts +0 -21
  383. package/lib/model-source/glsp-diagram-server.d.ts.map +0 -1
  384. package/lib/model-source/glsp-diagram-server.js +0 -107
  385. package/lib/model-source/glsp-diagram-server.js.map +0 -1
  386. package/src/base/tool-manager/glsp-tool-manager.ts +0 -96
  387. package/src/model-source/glsp-diagram-server.ts +0 -125
@@ -0,0 +1,74 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 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, ActionMessage, Disposable, DisposableCollection, DisposeClientSessionParameters, GLSPClient, ILogger, InitializeClientSessionParameters, InitializeResult, ModelSource, SModelRootSchema } from '../../glsp-sprotty/index';
17
+ import { GLSPActionHandlerRegistry } from '../action-handler-registry';
18
+ import { IDiagramOptions } from './diagram-loader';
19
+ /**
20
+ * A helper interface that allows the client to mark actions that have been received from the server.
21
+ */
22
+ export interface ServerAction extends Action {
23
+ __receivedFromServer: true;
24
+ }
25
+ export declare namespace ServerAction {
26
+ function is(object: unknown): object is ServerAction;
27
+ /**
28
+ * Mark the given action as {@link ServerAction} by attaching the "_receivedFromServer" property
29
+ * @param action The action that should be marked as server action
30
+ */
31
+ function mark(action: Action): void;
32
+ }
33
+ /**
34
+ * Central component for enabling the client-server action flow with the help of an underlying {@link GLSPClient}.
35
+ * Handles & forwards actions that are intended for the GLSP server. In addition, it handles {@link ActionMessage}s received
36
+ * from the server and dispatches the corresponding actions locally.
37
+ *
38
+ * Note that in sprotty a {@link ModelSource} is serving the model to the event cycle and
39
+ * is used to commit the local (i.e. client-side) model back to the source.
40
+ * However, in GLSP the update flow is reversed meaning that changes to the source model are applied
41
+ * on the server side and then an update is sent to the client.
42
+ */
43
+ export declare class GLSPModelSource extends ModelSource implements Disposable {
44
+ protected logger: ILogger;
45
+ protected options: IDiagramOptions;
46
+ protected toDispose: DisposableCollection;
47
+ clientId: string;
48
+ protected _currentRoot: SModelRootSchema;
49
+ protected registry: GLSPActionHandlerRegistry;
50
+ protected glspClient?: GLSPClient;
51
+ get diagramType(): string;
52
+ get sourceUri(): string | undefined;
53
+ /**
54
+ * Configure forwarding of server-handled actions to the given {@link GLSPClient} and
55
+ * handling of action received from the `GLSPClient` (i.e. server). It is expected that the
56
+ * given GLSP client has already been initialized.
57
+ * @param glspClient The GLSP to use.
58
+ * @throws An error if the given `GLSPClient` has not been initialized yet or if the set of server handled
59
+ * action kinds could not be derived from the initialize result
60
+ */
61
+ configure(glspClient: GLSPClient): Promise<void>;
62
+ protected createInitializeClientSessionParameters(_initializeResult: InitializeResult): InitializeClientSessionParameters;
63
+ protected createDisposeClientSessionParameters(): DisposeClientSessionParameters;
64
+ protected configureServeActions(initializeResult: InitializeResult): void;
65
+ protected messageReceived(message: ActionMessage): void;
66
+ initialize(registry: GLSPActionHandlerRegistry): void;
67
+ handle(action: Action): void;
68
+ protected forwardToServer(action: Action): void;
69
+ protected shouldForwardToServer(action: Action): boolean;
70
+ commitModel(newRoot: SModelRootSchema): SModelRootSchema;
71
+ get model(): SModelRootSchema;
72
+ dispose(): void;
73
+ }
74
+ //# sourceMappingURL=glsp-model-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glsp-model-source.d.ts","sourceRoot":"","sources":["../../../src/base/model/glsp-model-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EACH,MAAM,EACN,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,8BAA8B,EAC9B,UAAU,EACV,OAAO,EACP,iCAAiC,EACjC,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAEnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM;IACxC,oBAAoB,EAAE,IAAI,CAAC;CAC9B;AAED,yBAAiB,YAAY,CAAC;IAC1B,SAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,YAAY,CAE1D;IAED;;;OAGG;IACH,SAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEzC;CACJ;AAED;;;;;;;;;GASG;AACH,qBACa,eAAgB,SAAQ,WAAY,YAAW,UAAU;IAElE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAG1B,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC;IAEnC,SAAS,CAAC,SAAS,uBAA8B;IACjD,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAC9C,SAAS,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAElC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhD,SAAS,CAAC,uCAAuC,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,iCAAiC;IASzH,SAAS,CAAC,oCAAoC,IAAI,8BAA8B;IAMhF,SAAS,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAQzE,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAU9C,UAAU,CAAC,QAAQ,EAAE,yBAAyB,GAAG,IAAI;IAU9D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAa/C,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxD,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAUxD,IAAa,KAAK,IAAI,gBAAgB,CAErC;IAGD,OAAO,IAAI,IAAI;CAGlB"}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2023 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.GLSPModelSource = exports.ServerAction = void 0;
28
+ const inversify_1 = require("inversify");
29
+ const _glsp_sprotty_1 = require("../../glsp-sprotty/index");
30
+ var ServerAction;
31
+ (function (ServerAction) {
32
+ function is(object) {
33
+ return _glsp_sprotty_1.Action.is(object) && '__receivedFromServer' in object && object.__receivedFromServer === true;
34
+ }
35
+ ServerAction.is = is;
36
+ /**
37
+ * Mark the given action as {@link ServerAction} by attaching the "_receivedFromServer" property
38
+ * @param action The action that should be marked as server action
39
+ */
40
+ function mark(action) {
41
+ action.__receivedFromServer = true;
42
+ }
43
+ ServerAction.mark = mark;
44
+ })(ServerAction || (exports.ServerAction = ServerAction = {}));
45
+ /**
46
+ * Central component for enabling the client-server action flow with the help of an underlying {@link GLSPClient}.
47
+ * Handles & forwards actions that are intended for the GLSP server. In addition, it handles {@link ActionMessage}s received
48
+ * from the server and dispatches the corresponding actions locally.
49
+ *
50
+ * Note that in sprotty a {@link ModelSource} is serving the model to the event cycle and
51
+ * is used to commit the local (i.e. client-side) model back to the source.
52
+ * However, in GLSP the update flow is reversed meaning that changes to the source model are applied
53
+ * on the server side and then an update is sent to the client.
54
+ */
55
+ let GLSPModelSource = exports.GLSPModelSource = class GLSPModelSource extends _glsp_sprotty_1.ModelSource {
56
+ constructor() {
57
+ super(...arguments);
58
+ this.toDispose = new _glsp_sprotty_1.DisposableCollection();
59
+ }
60
+ get diagramType() {
61
+ return this.options.diagramType;
62
+ }
63
+ get sourceUri() {
64
+ return this.options.sourceUri;
65
+ }
66
+ /**
67
+ * Configure forwarding of server-handled actions to the given {@link GLSPClient} and
68
+ * handling of action received from the `GLSPClient` (i.e. server). It is expected that the
69
+ * given GLSP client has already been initialized.
70
+ * @param glspClient The GLSP to use.
71
+ * @throws An error if the given `GLSPClient` has not been initialized yet or if the set of server handled
72
+ * action kinds could not be derived from the initialize result
73
+ */
74
+ configure(glspClient) {
75
+ this.glspClient = glspClient;
76
+ if (!glspClient.initializeResult) {
77
+ throw new Error('Could not configure model source. The GLSP client is not initialized yet!');
78
+ }
79
+ const initializeParams = this.createInitializeClientSessionParameters(glspClient.initializeResult);
80
+ this.configureServeActions(glspClient.initializeResult);
81
+ this.toDispose.push(glspClient.onActionMessage(message => this.messageReceived(message), this.clientId), _glsp_sprotty_1.Disposable.create(() => glspClient.disposeClientSession(this.createDisposeClientSessionParameters())));
82
+ return glspClient.initializeClientSession(initializeParams);
83
+ }
84
+ createInitializeClientSessionParameters(_initializeResult) {
85
+ const clientActionKinds = this.registry.getHandledActionKinds();
86
+ return {
87
+ clientSessionId: this.clientId,
88
+ clientActionKinds,
89
+ diagramType: this.diagramType
90
+ };
91
+ }
92
+ createDisposeClientSessionParameters() {
93
+ return {
94
+ clientSessionId: this.clientId
95
+ };
96
+ }
97
+ configureServeActions(initializeResult) {
98
+ const serverActions = initializeResult.serverActions[this.diagramType];
99
+ if ((serverActions === null || serverActions === void 0 ? void 0 : serverActions.length) === 0) {
100
+ throw new Error(`No server-handled actions could be derived from the initialize result for diagramType: ${this.diagramType}!`);
101
+ }
102
+ serverActions.forEach(action => this.registry.register(action, this));
103
+ }
104
+ messageReceived(message) {
105
+ if (this.clientId !== message.clientId) {
106
+ return;
107
+ }
108
+ const action = message.action;
109
+ ServerAction.mark(action);
110
+ this.logger.log(this, 'receiving', action);
111
+ this.actionDispatcher.dispatch(action);
112
+ }
113
+ initialize(registry) {
114
+ var _a;
115
+ // Registering actions here is discouraged and it's recommended
116
+ // to implemented dedicated action handlers.
117
+ if (!this.clientId) {
118
+ this.clientId = (_a = this.options.clientId) !== null && _a !== void 0 ? _a : this.viewerOptions.baseDiv;
119
+ }
120
+ this.registry = registry;
121
+ }
122
+ handle(action) {
123
+ // Handling additional actions here is discouraged and it's recommended
124
+ // to implemented dedicated action handlers.
125
+ if (this.shouldForwardToServer(action)) {
126
+ this.forwardToServer(action);
127
+ }
128
+ }
129
+ forwardToServer(action) {
130
+ const message = {
131
+ clientId: this.clientId,
132
+ action: action
133
+ };
134
+ this.logger.log(this, 'sending', message);
135
+ if (this.glspClient) {
136
+ this.glspClient.sendActionMessage(message);
137
+ }
138
+ else {
139
+ throw new Error('GLSPClient is not connected');
140
+ }
141
+ }
142
+ shouldForwardToServer(action) {
143
+ return !ServerAction.is(action);
144
+ }
145
+ commitModel(newRoot) {
146
+ /* In GLSP the model update flow is server-driven. i.e. changes to the graphical model are applied
147
+ * on server-side an only the server can issue a model update.
148
+ * The internal/local model should never be committed back to the model source i.e. GLSP server.
149
+ * => no-op implementation that simply returns the `newRoot`
150
+ */
151
+ this._currentRoot = newRoot;
152
+ return newRoot;
153
+ }
154
+ get model() {
155
+ return this._currentRoot;
156
+ }
157
+ dispose() {
158
+ this.toDispose.dispose();
159
+ }
160
+ };
161
+ __decorate([
162
+ (0, inversify_1.inject)(_glsp_sprotty_1.TYPES.ILogger),
163
+ __metadata("design:type", Object)
164
+ ], GLSPModelSource.prototype, "logger", void 0);
165
+ __decorate([
166
+ (0, inversify_1.inject)(_glsp_sprotty_1.TYPES.IDiagramOptions),
167
+ __metadata("design:type", Object)
168
+ ], GLSPModelSource.prototype, "options", void 0);
169
+ __decorate([
170
+ (0, inversify_1.preDestroy)(),
171
+ __metadata("design:type", Function),
172
+ __metadata("design:paramtypes", []),
173
+ __metadata("design:returntype", void 0)
174
+ ], GLSPModelSource.prototype, "dispose", null);
175
+ exports.GLSPModelSource = GLSPModelSource = __decorate([
176
+ (0, inversify_1.injectable)()
177
+ ], GLSPModelSource);
178
+ //# sourceMappingURL=glsp-model-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glsp-model-source.js","sourceRoot":"","sources":["../../../src/base/model/glsp-model-source.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Action, Deferred } from '../glsp-sprotty/index';
1
+ import { Action, Deferred, Disposable, Emitter } from '../../glsp-sprotty/index';
2
2
  /**
3
3
  * The constraint defining when the initialization of the GLSP model is completed.
4
4
  *
@@ -19,11 +19,32 @@ import { Action, Deferred } from '../glsp-sprotty/index';
19
19
  */
20
20
  export declare abstract class ModelInitializationConstraint {
21
21
  protected completion: Deferred<void>;
22
- protected completed: boolean;
22
+ protected _isCompleted: boolean;
23
23
  get isCompleted(): boolean;
24
- protected setCompleted(isCompleted: boolean): void;
24
+ protected onInitializedEmitter: Emitter<void>;
25
+ /**
26
+ * Register a listener that will be invoked once the initialization process
27
+ * has been completed. If the initialization is already completed on registration
28
+ * the given listener will be invoked right away
29
+ * @param listener
30
+ */
31
+ onInitialized(listener: () => void): Disposable;
32
+ /**
33
+ * Retrieve a promise that resolves once the initialization process
34
+ * has been completed.
35
+ * @returns the initialization promise
36
+ */
25
37
  onInitialized(): Promise<void>;
38
+ protected setCompleted(): void;
26
39
  notifyDispatched(action: Action): void;
40
+ /**
41
+ * Central method to check the initialization state. Is invoked
42
+ * for every action dispatched by the `ActionDispatcher` (until the initialization has completed).
43
+ * Should
44
+ * return `true` once the action has been passed which marks the end
45
+ * of the initialization process.
46
+ * @param action The last dispatched action
47
+ */
27
48
  abstract isInitializedAfter(action: Action): boolean;
28
49
  }
29
50
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-initialization-constraint.d.ts","sourceRoot":"","sources":["../../../src/base/model/model-initialization-constraint.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAmE,MAAM,eAAe,CAAC;AAEvI;;;;;;;;;;;;;;;;;GAiBG;AACH,8BACsB,6BAA6B;IAC/C,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAkB;IAEtD,SAAS,CAAC,YAAY,UAAS;IAC/B,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,SAAS,CAAC,oBAAoB,gBAAuB;IAErD;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,UAAU;IAE/C;;;;OAIG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B,SAAS,CAAC,YAAY,IAAI,IAAI;IAS9B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAStC;;;;;;;OAOG;IACH,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CACvD;AAED;;;GAGG;AACH,qBACa,oCAAqC,SAAQ,6BAA6B;IACnF,SAAS,CAAC,uBAAuB,UAAS;IAE1C,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAS3C,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAM3D"}
@@ -23,7 +23,7 @@ exports.DefaultModelInitializationConstraint = exports.ModelInitializationConstr
23
23
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
24
24
  ********************************************************************************/
25
25
  const inversify_1 = require("inversify");
26
- const _glsp_sprotty_1 = require("../glsp-sprotty/index");
26
+ const _glsp_sprotty_1 = require("../../glsp-sprotty/index");
27
27
  /**
28
28
  * The constraint defining when the initialization of the GLSP model is completed.
29
29
  *
@@ -45,26 +45,36 @@ const _glsp_sprotty_1 = require("../glsp-sprotty/index");
45
45
  let ModelInitializationConstraint = exports.ModelInitializationConstraint = class ModelInitializationConstraint {
46
46
  constructor() {
47
47
  this.completion = new _glsp_sprotty_1.Deferred();
48
- this.completed = false;
48
+ this._isCompleted = false;
49
+ this.onInitializedEmitter = new _glsp_sprotty_1.Emitter();
49
50
  }
50
51
  get isCompleted() {
51
- return this.completed;
52
+ return this._isCompleted;
52
53
  }
53
- setCompleted(isCompleted) {
54
- this.completed = isCompleted;
55
- if (isCompleted) {
56
- this.completion.resolve();
54
+ onInitialized(listener) {
55
+ if (!listener) {
56
+ return this.completion.promise;
57
+ }
58
+ if (this.isCompleted) {
59
+ listener();
60
+ return _glsp_sprotty_1.Disposable.empty();
57
61
  }
62
+ return this.onInitializedEmitter.event(listener);
58
63
  }
59
- onInitialized() {
60
- return this.completion.promise;
64
+ setCompleted() {
65
+ if (!this.isCompleted) {
66
+ this._isCompleted = true;
67
+ this.completion.resolve();
68
+ this.onInitializedEmitter.fire();
69
+ this.onInitializedEmitter.dispose();
70
+ }
61
71
  }
62
72
  notifyDispatched(action) {
63
73
  if (this.isCompleted) {
64
74
  return;
65
75
  }
66
76
  if (this.isInitializedAfter(action)) {
67
- this.setCompleted(true);
77
+ this.setCompleted();
68
78
  }
69
79
  }
70
80
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-initialization-constraint.js","sourceRoot":"","sources":["../../../src/base/model/model-initialization-constraint.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAuC;AACvC,iDAAuI;AAEvI;;;;;;;;;;;;;;;;;GAiBG;AAEI,IAAe,6BAA6B,2CAA5C,MAAe,6BAA6B;IAA5C;QACO,eAAU,GAAmB,IAAI,wBAAQ,EAAE,CAAC;QAE5C,iBAAY,GAAG,KAAK,CAAC;QAKrB,yBAAoB,GAAG,IAAI,uBAAO,EAAQ,CAAC;IAsDzD,CAAC;IA1DG,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAkBD,aAAa,CAAC,QAAqB;QAC/B,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,QAAQ,EAAE,CAAC;YACX,OAAO,0BAAU,CAAC,KAAK,EAAE,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAES,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;SACvC;IACL,CAAC;IAED,gBAAgB,CAAC,MAAc;QAC3B,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO;SACV;QACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;YACjC,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;IACL,CAAC;CAWJ,CAAA;wCA9DqB,6BAA6B;IADlD,IAAA,sBAAU,GAAE;GACS,6BAA6B,CA8DlD;AAED;;;GAGG;AAEI,IAAM,oCAAoC,kDAA1C,MAAM,oCAAqC,SAAQ,6BAA6B;IAAhF;;QACO,4BAAuB,GAAG,KAAK,CAAC;IAiB9C,CAAC;IAfG,kBAAkB,CAAC,MAAc;QAC7B,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;SACvC;aAAM,IAAI,IAAI,CAAC,uBAAuB,IAAI,MAAM,CAAC,IAAI,KAAK,4CAA4B,CAAC,IAAI,EAAE;YAC1F,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,qBAAqB,CAAC,MAAc;QAC1C,IAAI,8BAAc,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,iCAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YAC3D,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;SACzC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;+CAlBY,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAkBhD"}
@@ -0,0 +1,2 @@
1
+ import 'reflect-metadata';
2
+ //# sourceMappingURL=model-initialization-constraint.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-initialization-constraint.spec.d.ts","sourceRoot":"","sources":["../../../src/base/model/model-initialization-constraint.spec.ts"],"names":[],"mappings":"AAiBA,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /********************************************************************************
4
+ * Copyright (c) 2023 EclipseSource and others.
5
+ *
6
+ * This program and the accompanying materials are made available under the
7
+ * terms of the Eclipse Public License v. 2.0 which is available at
8
+ * http://www.eclipse.org/legal/epl-2.0.
9
+ *
10
+ * This Source Code may also be made available under the following Secondary
11
+ * Licenses when the conditions for such availability set forth in the Eclipse
12
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
+ * with the GNU Classpath Exception which is available at
14
+ * https://www.gnu.org/software/classpath/license.html.
15
+ *
16
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
+ ********************************************************************************/
18
+ const chai_1 = require("chai");
19
+ const inversify_1 = require("inversify");
20
+ require("reflect-metadata");
21
+ const sinon = require("sinon");
22
+ const _glsp_sprotty_1 = require("../../glsp-sprotty/index");
23
+ const model_initialization_constraint_1 = require("./model-initialization-constraint");
24
+ const sandbox = sinon.createSandbox();
25
+ const container = new inversify_1.Container();
26
+ let constraint;
27
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
28
+ const listener = sandbox.spy(() => { });
29
+ describe('DefaultModelInitializationConstraint', () => {
30
+ beforeEach(() => {
31
+ constraint = container.resolve(model_initialization_constraint_1.DefaultModelInitializationConstraint);
32
+ sandbox.reset();
33
+ });
34
+ it('should complete after dispatching non empty SetModelAction and `InitializeCanvasBoundsAction`', () => {
35
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
36
+ constraint.notifyDispatched(_glsp_sprotty_1.SetModelAction.create({ id: 'model', type: 'graph' }));
37
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
38
+ constraint.notifyDispatched({ kind: _glsp_sprotty_1.InitializeCanvasBoundsAction.KIND });
39
+ (0, chai_1.expect)(constraint.isCompleted).to.be.true;
40
+ });
41
+ it('should complete after dispatching non empty UpdateModelAction and `InitializeCanvasBoundsAction`', () => {
42
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
43
+ constraint.notifyDispatched(_glsp_sprotty_1.UpdateModelAction.create({ id: 'model', type: 'graph' }));
44
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
45
+ constraint.notifyDispatched({ kind: _glsp_sprotty_1.InitializeCanvasBoundsAction.KIND });
46
+ (0, chai_1.expect)(constraint.isCompleted).to.be.true;
47
+ });
48
+ it('should note complete after dispatching empty SetModelAction and `InitializeCanvasBoundsAction` ', () => {
49
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
50
+ constraint.notifyDispatched(_glsp_sprotty_1.SetModelAction.create(_glsp_sprotty_1.EMPTY_ROOT));
51
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
52
+ constraint.notifyDispatched({ kind: _glsp_sprotty_1.InitializeCanvasBoundsAction.KIND });
53
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
54
+ });
55
+ it('should note complete after dispatching empty UpdateModelAction and `InitializeCanvasBoundsAction ', () => {
56
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
57
+ constraint.notifyDispatched(_glsp_sprotty_1.UpdateModelAction.create(_glsp_sprotty_1.EMPTY_ROOT));
58
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
59
+ constraint.notifyDispatched({ kind: _glsp_sprotty_1.InitializeCanvasBoundsAction.KIND });
60
+ (0, chai_1.expect)(constraint.isCompleted).to.be.false;
61
+ });
62
+ describe('onInitialized', () => {
63
+ it('returned promise should resolve once the constraint is initialized', async () => {
64
+ const initializeDeferred = new _glsp_sprotty_1.Deferred();
65
+ const initializePromise = constraint.onInitialized();
66
+ initializePromise.then(() => initializeDeferred.resolve());
67
+ (0, chai_1.expect)(initializeDeferred.state).to.be.equal('unresolved');
68
+ // Directly trigger the completion method simplify test logic
69
+ constraint['setCompleted']();
70
+ // Short delay of test execution to ensure that the deferred state is updated.
71
+ await new Promise(resolve => setTimeout(resolve, 5));
72
+ (0, chai_1.expect)(initializeDeferred.state).to.be.equal('resolved');
73
+ });
74
+ it('registered listener should be invoked once the constraint is initialized', () => {
75
+ constraint.onInitialized(listener);
76
+ (0, chai_1.expect)(listener.called).to.be.false;
77
+ // Directly trigger the completion method simplify test logic
78
+ constraint['setCompleted']();
79
+ (0, chai_1.expect)(listener.called).to.be.true;
80
+ });
81
+ it('registered listener should be invoked directly on registration if the constraint is already initialized', () => {
82
+ // Directly trigger the completion method simplify test logic
83
+ constraint['setCompleted']();
84
+ constraint.onInitialized(listener);
85
+ (0, chai_1.expect)(listener.called).to.be.true;
86
+ });
87
+ it('Disposed listener should not be invoked once the constraint is initialized', () => {
88
+ const toDispose = constraint.onInitialized(listener);
89
+ (0, chai_1.expect)(listener.called).to.be.false;
90
+ toDispose.dispose();
91
+ // Directly trigger the completion method simplify test logic
92
+ constraint['setCompleted']();
93
+ (0, chai_1.expect)(listener.called).to.be.false;
94
+ });
95
+ });
96
+ });
97
+ //# sourceMappingURL=model-initialization-constraint.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-initialization-constraint.spec.js","sourceRoot":"","sources":["../../../src/base/model/model-initialization-constraint.spec.ts"],"names":[],"mappings":"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"}
@@ -65,14 +65,12 @@ function createContainer() {
65
65
  }
66
66
  describe('SelectionService', () => {
67
67
  // eslint-disable-next-line deprecation/deprecation
68
- let graphFactory;
69
68
  let root;
70
69
  let selectionService;
71
70
  let feedbackDispatcher;
72
71
  beforeEach(() => {
73
72
  const container = createContainer();
74
73
  // eslint-disable-next-line deprecation/deprecation
75
- graphFactory = container.get(_glsp_sprotty_1.TYPES.IModelFactory);
76
74
  root = createRoot('node1', 'node2', 'node3', 'node4', 'node5');
77
75
  selectionService = container.get(selection_service_1.SelectionService);
78
76
  feedbackDispatcher = container.get(_glsp_sprotty_1.TYPES.IFeedbackActionDispatcher);
@@ -235,13 +233,16 @@ describe('SelectionService', () => {
235
233
  });
236
234
  });
237
235
  function createRoot(...nodes) {
238
- const children = [];
239
- nodes.forEach(node => children.push({ id: node, type: 'node:circle' }));
240
- return graphFactory.createRoot({
241
- id: 'selection-service-spec',
242
- type: 'graph',
243
- children: children
236
+ const model = new _glsp_sprotty_1.SModelRoot();
237
+ model.id = 'selection-service-spec';
238
+ model.type = 'graph';
239
+ nodes.forEach(id => {
240
+ const node = new _glsp_sprotty_1.SNode();
241
+ node.type = 'node:circle';
242
+ node.id = id;
243
+ model.add(node);
244
244
  });
245
+ return model;
245
246
  }
246
247
  function assertSelectionAndFeedback(expectedSelection, expectedDeselection) {
247
248
  assertSelectionService(expectedSelection);
@@ -1 +1 @@
1
- {"version":3,"file":"selection-service.spec.js","sourceRoot":"","sources":["../../src/base/selection-service.spec.ts"],"names":[],"mappings":";;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,+BAA8C;AAC9C,yCAAkD;AAClD,+BAA+B;AAC/B,iDAA+H;AAC/H,qDAAiD;AAEjD,2DAAiG;AAGjG,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAAlC;QACc,qBAAgB,GAAoC,IAAI,GAAG,EAAE,CAAC;IAqB5E,CAAC;IAnBG,gBAAgB,CAAC,eAAiC,EAAE,OAAiB;QACjE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,0BAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB,CAAC,eAAiC,EAAE,QAAmB;QACrE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;IAED,qBAAqB;QACjB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,uBAAuB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,CAAC;CACJ,CAAA;AAtBK,4BAA4B;IADjC,IAAA,sBAAU,GAAE;GACP,4BAA4B,CAsBjC;AAED,MAAM,qBAAqB;IACvB,gBAAgB,CAAC,IAA0B,EAAE,gBAA0B,EAAE,kBAAwC;QAC7G,QAAQ;IACZ,CAAC;CACJ;AAED,SAAS,eAAe;IACpB,MAAM,SAAS,GAAG,IAAA,mCAAmB,EAAC,IAAI,qBAAS,EAAE,EAAE,8BAAa,CAAC,CAAC;IACtE,mDAAmD;IACnD,SAAS,CAAC,MAAM,CAAC,qBAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,6BAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC3E,SAAS,CAAC,MAAM,CAAC,qBAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtG,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,mDAAmD;IACnD,IAAI,YAA2B,CAAC;IAChC,IAAI,IAAgB,CAAC;IACrB,IAAI,gBAAkC,CAAC;IACvC,IAAI,kBAAgD,CAAC;IAErD,UAAU,CAAC,GAAG,EAAE;QACZ,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;QACpC,mDAAmD;QACnD,YAAY,GAAG,SAAS,CAAC,GAAG,CAAgB,qBAAK,CAAC,aAAa,CAAC,CAAC;QACjE,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/D,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAmB,oCAAgB,CAAC,CAAC;QACrE,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAA+B,qBAAK,CAAC,yBAAyB,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACpF,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACpF,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;YACvF,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;YAC5F,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,0BAA0B,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;YAC/F,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC3E,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;YAC7D,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;YACrF,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;YAC/F,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAc,EAAE,iBAAiB,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;YACxF,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACjF,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;YAC7F,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,0BAA0B,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;YAC3F,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACxF,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,wGAAwG,EAAE,GAAG,EAAE;YAC9G,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;YACrF,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;YACxF,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAE1C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC/D,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC3C,0BAA0B,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC7E,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAEnD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC5D,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC3C,0BAA0B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2GAA2G,EAAE,GAAG,EAAE;YACjH,0BAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,0BAA0B,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAEnD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC/D,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,0BAA0B,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAEnE,UAAU,CAAC,GAAG,EAAE;YACZ,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CACzC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAC7F,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACX,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAC9E,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC7E,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAChF,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACjD,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YACxD,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACtD,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACjE,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/C,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAE1C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC5D,gBAAgB,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;YACvF,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACjD,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YAC/E,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACjD,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,SAAS,UAAU,CAAC,GAAG,KAAe;QAClC,MAAM,QAAQ,GAA0B,EAAE,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO,YAAY,CAAC,UAAU,CAAC;YAC3B,EAAE,EAAE,wBAAwB;YAC5B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC;IAED,SAAS,0BAA0B,CAAC,iBAA2B,EAAE,mBAA6B;QAC1F,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QAC1C,wBAAwB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED,SAAS,sBAAsB,CAAC,iBAA2B;QACvD,IAAA,aAAM,EAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACtF,IAAA,aAAM,EAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnF,IAAA,aAAM,EAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtF,IAAA,aAAM,EAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC5F,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,IAAA,aAAM,EAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;SAC/F;IACL,CAAC;IAED,SAAS,wBAAwB,CAAC,iBAA2B,EAAE,mBAA6B;QACxF,qEAAqE;QACrE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;QACnF,IAAI,WAAW,EAAE;YACb,IAAA,aAAM,EAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvE,IAAA,aAAM,EAAC,kBAAkB,CAAC,uBAAuB,EAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACrH,IAAA,aAAM,EAAC,kBAAkB,CAAC,uBAAuB,EAAG,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACrH,IAAA,aAAM,EAAC,kBAAkB,CAAC,uBAAuB,EAAG,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzH,IAAA,aAAM,EAAC,kBAAkB,CAAC,uBAAuB,EAAG,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;SAC5H;aAAM;YACH,IAAA,aAAM,EAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvE,IAAA,aAAM,EAAC,kBAAkB,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;SACxE;IACL,CAAC;IAED,SAAS,cAAc,CACnB,QAA2D,EAC3D,YAAoC,EACpC,iBAA2B,EAC3B,mBAA6B,EAC7B,cAAsB;QAEtB,IAAA,aAAM,EAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACxE,IAAA,aAAM,EAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnF,IAAA,aAAM,EAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxF,IAAA,aAAM,EAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9F,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"selection-service.spec.js","sourceRoot":"","sources":["../../src/base/selection-service.spec.ts"],"names":[],"mappings":"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"}