@eclipse-glsp/client 0.10.0-next.e5fcffe.169 → 1.1.0-next.282a632.186

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 (179) hide show
  1. package/css/decoration.css +5 -1
  2. package/css/glsp-sprotty.css +39 -0
  3. package/css/tool-palette.css +2 -2
  4. package/lib/base/container-modules.d.ts.map +1 -1
  5. package/lib/base/container-modules.js +10 -9
  6. package/lib/base/container-modules.js.map +1 -1
  7. package/lib/base/editor-context-service.d.ts +2 -3
  8. package/lib/base/editor-context-service.d.ts.map +1 -1
  9. package/lib/base/editor-context-service.js +11 -12
  10. package/lib/base/editor-context-service.js.map +1 -1
  11. package/lib/base/model/update-model-command.d.ts +14 -7
  12. package/lib/base/model/update-model-command.d.ts.map +1 -1
  13. package/lib/base/model/update-model-command.js +31 -41
  14. package/lib/base/model/update-model-command.js.map +1 -1
  15. package/lib/base/source-uri-aware.d.ts +2 -17
  16. package/lib/base/source-uri-aware.d.ts.map +1 -1
  17. package/lib/base/source-uri-aware.js +4 -6
  18. package/lib/base/source-uri-aware.js.map +1 -1
  19. package/lib/features/change-bounds/movement-restrictor.d.ts +36 -6
  20. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  21. package/lib/features/change-bounds/movement-restrictor.js +54 -39
  22. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  23. package/lib/features/change-bounds/snap.d.ts +20 -5
  24. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  25. package/lib/features/change-bounds/snap.js +19 -8
  26. package/lib/features/change-bounds/snap.js.map +1 -1
  27. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +5 -7
  28. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  29. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +7 -14
  30. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  31. package/lib/features/hover/hover.d.ts +1 -2
  32. package/lib/features/hover/hover.d.ts.map +1 -1
  33. package/lib/features/hover/hover.js +2 -15
  34. package/lib/features/hover/hover.js.map +1 -1
  35. package/lib/features/layout/di.config.d.ts +2 -2
  36. package/lib/features/layout/di.config.d.ts.map +1 -1
  37. package/lib/features/layout/di.config.js +8 -5
  38. package/lib/features/layout/di.config.js.map +1 -1
  39. package/lib/features/layout/hbox-layout.d.ts +1 -1
  40. package/lib/features/layout/hbox-layout.d.ts.map +1 -1
  41. package/lib/features/layout/hbox-layout.js +19 -7
  42. package/lib/features/layout/hbox-layout.js.map +1 -1
  43. package/lib/features/layout/{layout-commands.d.ts → layout-elements-action.d.ts} +75 -57
  44. package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
  45. package/lib/features/layout/{layout-commands.js → layout-elements-action.js} +153 -197
  46. package/lib/features/layout/layout-elements-action.js.map +1 -0
  47. package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
  48. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
  49. package/lib/features/layout/{layout-commands.spec.js → layout-elements-action.spec.js} +63 -56
  50. package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
  51. package/lib/features/layout/layouter.d.ts +37 -0
  52. package/lib/features/layout/layouter.d.ts.map +1 -0
  53. package/lib/features/layout/layouter.js +131 -0
  54. package/lib/features/layout/layouter.js.map +1 -0
  55. package/lib/features/layout/vbox-layout.d.ts +1 -1
  56. package/lib/features/layout/vbox-layout.d.ts.map +1 -1
  57. package/lib/features/layout/vbox-layout.js +17 -5
  58. package/lib/features/layout/vbox-layout.js.map +1 -1
  59. package/lib/features/mouse-tool/mouse-tool.d.ts +0 -1
  60. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  61. package/lib/features/mouse-tool/mouse-tool.js +9 -5
  62. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  63. package/lib/features/select/select-mouse-listener.d.ts +3 -1
  64. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  65. package/lib/features/select/select-mouse-listener.js +62 -0
  66. package/lib/features/select/select-mouse-listener.js.map +1 -1
  67. package/lib/features/select/selection-service.d.ts +12 -3
  68. package/lib/features/select/selection-service.d.ts.map +1 -1
  69. package/lib/features/select/selection-service.js +31 -45
  70. package/lib/features/select/selection-service.js.map +1 -1
  71. package/lib/features/select/selection-service.spec.js +1 -1
  72. package/lib/features/select/selection-service.spec.js.map +1 -1
  73. package/lib/features/source-model-watcher/di.config.d.ts +4 -0
  74. package/lib/features/{model-source-watcher → source-model-watcher}/di.config.d.ts.map +1 -1
  75. package/lib/features/{model-source-watcher → source-model-watcher}/di.config.js +4 -4
  76. package/lib/features/{model-source-watcher → source-model-watcher}/di.config.js.map +1 -1
  77. package/lib/features/{model-source-watcher/model-source-changed-action-handler.d.ts → source-model-watcher/source-model-changed-action-handler.d.ts} +9 -9
  78. package/lib/features/{model-source-watcher/model-source-changed-action-handler.d.ts.map → source-model-watcher/source-model-changed-action-handler.d.ts.map} +1 -1
  79. package/lib/features/{model-source-watcher/model-source-changed-action-handler.js → source-model-watcher/source-model-changed-action-handler.js} +19 -19
  80. package/lib/features/{model-source-watcher/model-source-changed-action-handler.js.map → source-model-watcher/source-model-changed-action-handler.js.map} +1 -1
  81. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +1 -1
  82. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  83. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +3 -2
  84. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  85. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +13 -6
  86. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  87. package/lib/features/tools/di.config.d.ts +9 -2
  88. package/lib/features/tools/di.config.d.ts.map +1 -1
  89. package/lib/features/tools/di.config.js +14 -3
  90. package/lib/features/tools/di.config.js.map +1 -1
  91. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +26 -0
  92. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
  93. package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
  94. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
  95. package/lib/features/validation/di.config.d.ts +0 -15
  96. package/lib/features/validation/di.config.d.ts.map +1 -1
  97. package/lib/features/validation/di.config.js +6 -4
  98. package/lib/features/validation/di.config.js.map +1 -1
  99. package/lib/features/validation/issue-marker.d.ts +11 -5
  100. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  101. package/lib/features/validation/issue-marker.js +25 -5
  102. package/lib/features/validation/issue-marker.js.map +1 -1
  103. package/lib/features/validation/marker-navigator.d.ts +11 -17
  104. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  105. package/lib/features/validation/marker-navigator.js +32 -61
  106. package/lib/features/validation/marker-navigator.js.map +1 -1
  107. package/lib/features/validation/validate.d.ts +8 -19
  108. package/lib/features/validation/validate.d.ts.map +1 -1
  109. package/lib/features/validation/validate.js +29 -55
  110. package/lib/features/validation/validate.js.map +1 -1
  111. package/lib/index.d.ts +6 -6
  112. package/lib/index.d.ts.map +1 -1
  113. package/lib/index.js +16 -15
  114. package/lib/index.js.map +1 -1
  115. package/lib/lib/model.d.ts +1 -1
  116. package/lib/lib/model.d.ts.map +1 -1
  117. package/lib/lib/model.js +3 -3
  118. package/lib/lib/model.js.map +1 -1
  119. package/lib/model-source/glsp-diagram-server.d.ts +1 -1
  120. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  121. package/lib/model-source/glsp-diagram-server.js +1 -1
  122. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  123. package/lib/utils/layout-utils.d.ts +4 -20
  124. package/lib/utils/layout-utils.d.ts.map +1 -1
  125. package/lib/utils/layout-utils.js +1 -1
  126. package/lib/utils/layout-utils.js.map +1 -1
  127. package/lib/views/base-view-module.d.ts.map +1 -1
  128. package/lib/views/base-view-module.js +3 -1
  129. package/lib/views/base-view-module.js.map +1 -1
  130. package/lib/views/glsp-projection-view.d.ts +30 -0
  131. package/lib/views/glsp-projection-view.d.ts.map +1 -0
  132. package/lib/views/glsp-projection-view.js +142 -0
  133. package/lib/views/glsp-projection-view.js.map +1 -0
  134. package/lib/views/index.d.ts +1 -0
  135. package/lib/views/index.d.ts.map +1 -1
  136. package/lib/views/index.js +1 -0
  137. package/lib/views/index.js.map +1 -1
  138. package/package.json +4 -4
  139. package/src/base/container-modules.ts +6 -5
  140. package/src/base/editor-context-service.ts +15 -7
  141. package/src/base/model/update-model-command.ts +48 -34
  142. package/src/base/source-uri-aware.ts +5 -4
  143. package/src/features/change-bounds/movement-restrictor.ts +73 -43
  144. package/src/features/change-bounds/snap.ts +15 -12
  145. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +19 -25
  146. package/src/features/hover/hover.ts +2 -24
  147. package/src/features/layout/di.config.ts +14 -6
  148. package/src/features/layout/hbox-layout.ts +24 -7
  149. package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +56 -48
  150. package/src/features/layout/{layout-commands.ts → layout-elements-action.ts} +195 -207
  151. package/src/features/layout/layouter.ts +137 -0
  152. package/src/features/layout/vbox-layout.ts +22 -5
  153. package/src/features/mouse-tool/mouse-tool.ts +8 -6
  154. package/src/features/select/select-mouse-listener.ts +81 -1
  155. package/src/features/select/selection-service.spec.ts +1 -1
  156. package/src/features/select/selection-service.ts +37 -50
  157. package/src/features/{model-source-watcher → source-model-watcher}/di.config.ts +5 -5
  158. package/src/features/{model-source-watcher/model-source-changed-action-handler.ts → source-model-watcher/source-model-changed-action-handler.ts} +12 -12
  159. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +1 -1
  160. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +14 -6
  161. package/src/features/tools/di.config.ts +13 -2
  162. package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
  163. package/src/features/validation/di.config.ts +10 -7
  164. package/src/features/validation/issue-marker.ts +34 -12
  165. package/src/features/validation/marker-navigator.ts +29 -66
  166. package/src/features/validation/validate.ts +36 -71
  167. package/src/index.ts +8 -7
  168. package/src/lib/model.ts +1 -1
  169. package/src/model-source/glsp-diagram-server.ts +1 -1
  170. package/src/utils/layout-utils.ts +7 -27
  171. package/src/views/base-view-module.ts +5 -1
  172. package/src/views/glsp-projection-view.tsx +166 -0
  173. package/src/views/index.ts +2 -0
  174. package/lib/features/layout/layout-commands.d.ts.map +0 -1
  175. package/lib/features/layout/layout-commands.js.map +0 -1
  176. package/lib/features/layout/layout-commands.spec.d.ts +0 -3
  177. package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
  178. package/lib/features/layout/layout-commands.spec.js.map +0 -1
  179. package/lib/features/model-source-watcher/di.config.d.ts +0 -4
@@ -26,7 +26,7 @@ const types_1 = require("../../base/types");
26
26
  const model_1 = require("../change-bounds/model");
27
27
  const selection_service_1 = require("../select/selection-service");
28
28
  const feedback_action_dispatcher_1 = require("../tool-feedback/feedback-action-dispatcher");
29
- const layout_commands_1 = require("./layout-commands");
29
+ const layout_elements_action_1 = require("./layout-elements-action");
30
30
  class MockActionDispatcher {
31
31
  constructor(dispatchedActions = []) {
32
32
  this.dispatchedActions = dispatchedActions;
@@ -43,14 +43,21 @@ class MockActionDispatcher {
43
43
  throw new Error('Method not implemented.');
44
44
  }
45
45
  }
46
+ class MockSelectionService extends selection_service_1.SelectionService {
47
+ constructor(modelRoot) {
48
+ super();
49
+ this.modelRoot = modelRoot;
50
+ }
51
+ getModelRoot() {
52
+ return this.modelRoot;
53
+ }
54
+ }
55
+ // Generic Test setup
46
56
  const container = new inversify_1.Container();
47
57
  container.load(sprotty_1.defaultModule);
48
58
  container.bind(types_1.TYPES.IFeedbackActionDispatcher).to(feedback_action_dispatcher_1.FeedbackActionDispatcher).inSingletonScope();
49
- container.bind(selection_service_1.SelectionService).toSelf().inSingletonScope();
50
- container.bind(types_1.TYPES.SelectionService).toService(selection_service_1.SelectionService);
51
59
  container.rebind(types_1.TYPES.IModelFactory).to(sprotty_1.SGraphFactory).inSingletonScope();
52
60
  const graphFactory = container.get(types_1.TYPES.IModelFactory);
53
- const selectionService = container.get(types_1.TYPES.SelectionService);
54
61
  const actionDispatcher = new MockActionDispatcher();
55
62
  const node1 = {
56
63
  id: 'node1',
@@ -90,16 +97,24 @@ const context = {
90
97
  };
91
98
  const defaultSize = { height: 10, width: 10 };
92
99
  describe('AlignElementsCommand', () => {
93
- it('should align all elements left', () => {
100
+ let handler;
101
+ const setModel = (newModel) => {
102
+ handler['selectionService'] = new MockSelectionService(newModel);
103
+ };
104
+ beforeEach(() => {
94
105
  actionDispatcher.dispatchedActions = [];
106
+ handler = new layout_elements_action_1.AlignElementsActionHandler();
107
+ handler['actionDispatcher'] = actionDispatcher;
108
+ });
109
+ it('should align all elements left', () => {
95
110
  const newModel = initModel([
96
111
  { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
97
112
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
98
113
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
99
114
  ]);
100
- const action = layout_commands_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_commands_1.Alignment.Left });
101
- const command = new layout_commands_1.AlignElementsCommand(action, actionDispatcher, selectionService);
102
- command.execute(newContext(newModel));
115
+ const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Left });
116
+ setModel(newModel);
117
+ handler.handle(action);
103
118
  assertAllBounds(new Map([
104
119
  ['node1', { x: 111, y: 111, width: defaultSize.width, height: defaultSize.height }],
105
120
  ['node2', { x: 111, y: 222, width: defaultSize.width, height: defaultSize.height }],
@@ -107,15 +122,14 @@ describe('AlignElementsCommand', () => {
107
122
  ]));
108
123
  });
109
124
  it('should align all elements right', () => {
110
- actionDispatcher.dispatchedActions = [];
111
125
  const newModel = initModel([
112
126
  { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
113
127
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
114
128
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
115
129
  ]);
116
- const action = layout_commands_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_commands_1.Alignment.Right });
117
- const command = new layout_commands_1.AlignElementsCommand(action, actionDispatcher, selectionService);
118
- command.execute(newContext(newModel));
130
+ const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Right });
131
+ setModel(newModel);
132
+ handler.handle(action);
119
133
  assertAllBounds(new Map([
120
134
  ['node1', { x: 333, y: 111, width: defaultSize.width, height: defaultSize.height }],
121
135
  ['node2', { x: 333, y: 222, width: defaultSize.width, height: defaultSize.height }],
@@ -129,9 +143,9 @@ describe('AlignElementsCommand', () => {
129
143
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
130
144
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
131
145
  ]);
132
- const action = layout_commands_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_commands_1.Alignment.Center });
133
- const command = new layout_commands_1.AlignElementsCommand(action, actionDispatcher, selectionService);
134
- command.execute(newContext(newModel));
146
+ const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Center });
147
+ setModel(newModel);
148
+ handler.handle(action);
135
149
  assertAllBounds(new Map([
136
150
  ['node1', { x: 222, y: 111, width: defaultSize.width, height: defaultSize.height }],
137
151
  ['node2', { x: 222, y: 222, width: defaultSize.width, height: defaultSize.height }],
@@ -139,15 +153,14 @@ describe('AlignElementsCommand', () => {
139
153
  ]));
140
154
  });
141
155
  it('should align all elements top', () => {
142
- actionDispatcher.dispatchedActions = [];
143
156
  const newModel = initModel([
144
157
  { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
145
158
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
146
159
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
147
160
  ]);
148
- const action = layout_commands_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_commands_1.Alignment.Top });
149
- const command = new layout_commands_1.AlignElementsCommand(action, actionDispatcher, selectionService);
150
- command.execute(newContext(newModel));
161
+ const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Top });
162
+ setModel(newModel);
163
+ handler.handle(action);
151
164
  assertAllBounds(new Map([
152
165
  ['node1', { x: 111, y: 111, width: defaultSize.width, height: defaultSize.height }],
153
166
  ['node2', { x: 222, y: 111, width: defaultSize.width, height: defaultSize.height }],
@@ -155,15 +168,14 @@ describe('AlignElementsCommand', () => {
155
168
  ]));
156
169
  });
157
170
  it('should align all elements bottom', () => {
158
- actionDispatcher.dispatchedActions = [];
159
171
  const newModel = initModel([
160
172
  { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
161
173
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
162
174
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
163
175
  ]);
164
- const action = layout_commands_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_commands_1.Alignment.Bottom });
165
- const command = new layout_commands_1.AlignElementsCommand(action, actionDispatcher, selectionService);
166
- command.execute(newContext(newModel));
176
+ const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Bottom });
177
+ setModel(newModel);
178
+ handler.handle(action);
167
179
  assertAllBounds(new Map([
168
180
  ['node1', { x: 111, y: 333, width: defaultSize.width, height: defaultSize.height }],
169
181
  ['node2', { x: 222, y: 333, width: defaultSize.width, height: defaultSize.height }],
@@ -171,15 +183,14 @@ describe('AlignElementsCommand', () => {
171
183
  ]));
172
184
  });
173
185
  it('should align all elements middle', () => {
174
- actionDispatcher.dispatchedActions = [];
175
186
  const newModel = initModel([
176
187
  { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
177
188
  { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
178
189
  { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
179
190
  ]);
180
- const action = layout_commands_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_commands_1.Alignment.Middle });
181
- const command = new layout_commands_1.AlignElementsCommand(action, actionDispatcher, selectionService);
182
- command.execute(newContext(newModel));
191
+ const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Middle });
192
+ setModel(newModel);
193
+ handler.handle(action);
183
194
  assertAllBounds(new Map([
184
195
  ['node1', { x: 111, y: 222, width: defaultSize.width, height: defaultSize.height }],
185
196
  ['node2', { x: 222, y: 222, width: defaultSize.width, height: defaultSize.height }],
@@ -188,20 +199,28 @@ describe('AlignElementsCommand', () => {
188
199
  });
189
200
  });
190
201
  describe('ResizeElementsCommand', () => {
191
- it('should make same width as last', () => {
202
+ let handler;
203
+ const setModel = (newModel) => {
204
+ handler['selectionService'] = new MockSelectionService(newModel);
205
+ };
206
+ beforeEach(() => {
192
207
  actionDispatcher.dispatchedActions = [];
208
+ handler = new layout_elements_action_1.ResizeElementsActionHandler();
209
+ handler['actionDispatcher'] = actionDispatcher;
210
+ });
211
+ it('should make same width as last', () => {
193
212
  const newModel = initModel([
194
213
  { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
195
214
  { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
196
215
  { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
197
216
  ]);
198
- const action = layout_commands_1.ResizeElementsAction.create({
217
+ const action = layout_elements_action_1.ResizeElementsAction.create({
199
218
  elementIds: ['node1', 'node2', 'node3'],
200
- dimension: layout_commands_1.ResizeDimension.Width,
201
- reductionFunction: layout_commands_1.Reduce.last
219
+ dimension: layout_elements_action_1.ResizeDimension.Width,
220
+ reduceFunction: 'last'
202
221
  });
203
- const command = new layout_commands_1.ResizeElementsCommand(action, actionDispatcher, selectionService);
204
- command.execute(newContext(newModel));
222
+ setModel(newModel);
223
+ handler.handle(action);
205
224
  // resize is keeping the center, so the X moves by diff / 2
206
225
  assertAllBoundsInChangeBounds(new Map([
207
226
  ['node1', { x: 90, y: 100, height: 10, width: 30 }],
@@ -210,19 +229,18 @@ describe('ResizeElementsCommand', () => {
210
229
  ]));
211
230
  });
212
231
  it('should make same height as last', () => {
213
- actionDispatcher.dispatchedActions = [];
214
232
  const newModel = initModel([
215
233
  { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
216
234
  { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
217
235
  { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
218
236
  ]);
219
- const action = layout_commands_1.ResizeElementsAction.create({
237
+ const action = layout_elements_action_1.ResizeElementsAction.create({
220
238
  elementIds: ['node1', 'node2', 'node3'],
221
- dimension: layout_commands_1.ResizeDimension.Height,
222
- reductionFunction: layout_commands_1.Reduce.last
239
+ dimension: layout_elements_action_1.ResizeDimension.Height,
240
+ reduceFunction: 'last'
223
241
  });
224
- const command = new layout_commands_1.ResizeElementsCommand(action, actionDispatcher, selectionService);
225
- command.execute(newContext(newModel));
242
+ setModel(newModel);
243
+ handler.handle(action);
226
244
  // resize is keeping the center, so the Y moves by diff / 2
227
245
  assertAllBoundsInChangeBounds(new Map([
228
246
  ['node1', { x: 100, y: 90, height: 30, width: 10 }],
@@ -231,19 +249,18 @@ describe('ResizeElementsCommand', () => {
231
249
  ]));
232
250
  });
233
251
  it('should make same width and height as last', () => {
234
- actionDispatcher.dispatchedActions = [];
235
252
  const newModel = initModel([
236
253
  { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
237
254
  { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
238
255
  { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
239
256
  ]);
240
- const action = layout_commands_1.ResizeElementsAction.create({
257
+ const action = layout_elements_action_1.ResizeElementsAction.create({
241
258
  elementIds: ['node1', 'node2', 'node3'],
242
- dimension: layout_commands_1.ResizeDimension.Width_And_Height,
243
- reductionFunction: layout_commands_1.Reduce.last
259
+ dimension: layout_elements_action_1.ResizeDimension.Width_And_Height,
260
+ reduceFunction: 'last'
244
261
  });
245
- const command = new layout_commands_1.ResizeElementsCommand(action, actionDispatcher, selectionService);
246
- command.execute(newContext(newModel));
262
+ setModel(newModel);
263
+ handler.handle(action);
247
264
  // resize is keeping the center, so the Y moves by diff / 2
248
265
  assertAllBoundsInChangeBounds(new Map([
249
266
  ['node1', { x: 90, y: 90, height: 30, width: 30 }],
@@ -257,16 +274,6 @@ function initModel(elementAndBounds) {
257
274
  const setBoundsCommand = new sprotty_1.SetBoundsCommand(mySetBoundsAction);
258
275
  return setBoundsCommand.execute(context);
259
276
  }
260
- function newContext(root) {
261
- return {
262
- root: root,
263
- modelFactory: graphFactory,
264
- duration: 0,
265
- modelChanged: undefined,
266
- logger: new sprotty_1.ConsoleLogger(),
267
- syncer: new sprotty_1.AnimationFrameSyncer()
268
- };
269
- }
270
277
  function assertAllBounds(allBounds) {
271
278
  allBounds.forEach((bounds, nodeId) => assertBounds(nodeId, bounds));
272
279
  }
@@ -315,4 +322,4 @@ function isMoveAction(action) {
315
322
  function isChangeBounds(action) {
316
323
  return action.kind === protocol_1.ChangeBoundsOperation.KIND;
317
324
  }
318
- //# sourceMappingURL=layout-commands.spec.js.map
325
+ //# sourceMappingURL=layout-elements-action.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-elements-action.spec.js","sourceRoot":"","sources":["../../../src/features/layout/layout-elements-action.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022 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 { BoundsData, ILogger, LayoutRegistry, StatefulLayouter, SModelElement, Layouter, SParentElement, LayoutContainer } from 'sprotty';
17
+ import { Bounds } from 'sprotty-protocol/lib/utils/geometry';
18
+ export declare class LayouterExt extends Layouter {
19
+ layout(element2boundsData: Map<SModelElement, BoundsData>): void;
20
+ }
21
+ export declare class StatefulLayouterExt extends StatefulLayouter {
22
+ protected readonly elementToBoundsData: Map<SModelElement, BoundsData>;
23
+ protected readonly layoutRegistry2: LayoutRegistry;
24
+ protected toBeLayouted2: (SParentElement & LayoutContainer)[];
25
+ /**
26
+ *
27
+ * @param elementToBoundsData The map of element to bounds data. Bounds Data are computed from the hidden
28
+ * SVG rendering pass.
29
+ * @param layoutRegistry2 The registry of available layouts.
30
+ * @param log The log.
31
+ */
32
+ constructor(elementToBoundsData: Map<SModelElement, BoundsData>, layoutRegistry2: LayoutRegistry, log: ILogger);
33
+ getBoundsData(element: SModelElement): BoundsData;
34
+ layout(): void;
35
+ protected doLayout(element: SParentElement & LayoutContainer): Bounds;
36
+ }
37
+ //# sourceMappingURL=layouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layouter.d.ts","sourceRoot":"","sources":["../../../src/features/layout/layouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,UAAU,EACV,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EAElB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAE7D,qBACa,WAAY,SAAQ,QAAQ;IAC5B,MAAM,CAAC,kBAAkB,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,IAAI;CAG5E;AASD,qBAAa,mBAAoB,SAAQ,gBAAgB;IAWjD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc;IAXtD,SAAS,CAAC,aAAa,EAAE,CAAC,cAAc,GAAG,eAAe,CAAC,EAAE,CAAC;IAE9D;;;;;;OAMG;gBAEoB,mBAAmB,EAAE,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,EACnD,eAAe,EAAE,cAAc,EAClD,GAAG,EAAE,OAAO;IAeP,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU;IAwBjD,MAAM,IAAI,IAAI;cAwBJ,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,MAAM;CAiBjF"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.StatefulLayouterExt = exports.LayouterExt = void 0;
10
+ /********************************************************************************
11
+ * Copyright (c) 2022 EclipseSource and others.
12
+ *
13
+ * This program and the accompanying materials are made available under the
14
+ * terms of the Eclipse Public License v. 2.0 which is available at
15
+ * http://www.eclipse.org/legal/epl-2.0.
16
+ *
17
+ * This Source Code may also be made available under the following Secondary
18
+ * Licenses when the conditions for such availability set forth in the Eclipse
19
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
20
+ * with the GNU Classpath Exception which is available at
21
+ * https://www.gnu.org/software/classpath/license.html.
22
+ *
23
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
24
+ ********************************************************************************/
25
+ const sprotty_1 = require("sprotty");
26
+ const inversify_1 = require("inversify");
27
+ const geometry_1 = require("sprotty-protocol/lib/utils/geometry");
28
+ let LayouterExt = class LayouterExt extends sprotty_1.Layouter {
29
+ layout(element2boundsData) {
30
+ new StatefulLayouterExt(element2boundsData, this.layoutRegistry, this.logger).layout();
31
+ }
32
+ };
33
+ LayouterExt = __decorate([
34
+ (0, inversify_1.injectable)()
35
+ ], LayouterExt);
36
+ exports.LayouterExt = LayouterExt;
37
+ // 2-pass layout:
38
+ // Step 1: Find "rendered size" of each element (may take resizeContainer into account)
39
+ // Child-to-parent layout
40
+ // Step 2: Extend parents as necessary, then use the adjusted parent size to properly
41
+ // align children (center/end alignments, hGrab/vGrab)
42
+ // Parent-to-children layout
43
+ class StatefulLayouterExt extends sprotty_1.StatefulLayouter {
44
+ /**
45
+ *
46
+ * @param elementToBoundsData The map of element to bounds data. Bounds Data are computed from the hidden
47
+ * SVG rendering pass.
48
+ * @param layoutRegistry2 The registry of available layouts.
49
+ * @param log The log.
50
+ */
51
+ constructor(elementToBoundsData, layoutRegistry2, log) {
52
+ super(elementToBoundsData, layoutRegistry2, log);
53
+ this.elementToBoundsData = elementToBoundsData;
54
+ this.layoutRegistry2 = layoutRegistry2;
55
+ this.toBeLayouted2 = [];
56
+ elementToBoundsData.forEach((data, element) => {
57
+ if ((0, sprotty_1.isLayoutContainer)(element)) {
58
+ this.toBeLayouted2.push(element);
59
+ }
60
+ });
61
+ for (const element of this.toBeLayouted2) {
62
+ // Clear previous layout information for dynamic-layout objects
63
+ elementToBoundsData.delete(element);
64
+ }
65
+ }
66
+ getBoundsData(element) {
67
+ let boundsData = this.elementToBoundsData.get(element);
68
+ let bounds = element.bounds;
69
+ if ((0, sprotty_1.isLayoutContainer)(element) && this.toBeLayouted2.indexOf(element) >= 0) {
70
+ bounds = this.doLayout(element);
71
+ }
72
+ else if ((0, sprotty_1.isLayoutContainer)(element)) {
73
+ bounds = {
74
+ x: 0,
75
+ y: 0,
76
+ width: -1,
77
+ height: -1
78
+ };
79
+ }
80
+ if (!boundsData) {
81
+ boundsData = {
82
+ bounds: bounds,
83
+ boundsChanged: false,
84
+ alignmentChanged: false
85
+ };
86
+ this.elementToBoundsData.set(element, boundsData);
87
+ }
88
+ return boundsData;
89
+ }
90
+ layout() {
91
+ // First pass: apply layout with cleared container data. Will get
92
+ // preferred size for all elements (Children first, then parents)
93
+ while (this.toBeLayouted2.length > 0) {
94
+ const element = this.toBeLayouted2[0];
95
+ this.doLayout(element);
96
+ }
97
+ this.toBeLayouted2 = [];
98
+ this.elementToBoundsData.forEach((data, element) => {
99
+ if ((0, sprotty_1.isLayoutContainer)(element)) {
100
+ this.toBeLayouted2.push(element);
101
+ }
102
+ });
103
+ // Second pass: apply layout with initial size data for all
104
+ // nodes. Update the position/size of all elements, taking
105
+ // vGrab/hGrab into account (parent -> children).
106
+ while (this.toBeLayouted2.length > 0) {
107
+ const element = this.toBeLayouted2[0];
108
+ this.doLayout(element);
109
+ }
110
+ }
111
+ doLayout(element) {
112
+ const index = this.toBeLayouted2.indexOf(element);
113
+ if (index >= 0) {
114
+ this.toBeLayouted2.splice(index, 1);
115
+ }
116
+ const layout = this.layoutRegistry2.get(element.layout);
117
+ if (layout) {
118
+ layout.layout(element, this);
119
+ }
120
+ const boundsData = this.elementToBoundsData.get(element);
121
+ if (boundsData !== undefined && boundsData.bounds !== undefined) {
122
+ return boundsData.bounds;
123
+ }
124
+ else {
125
+ this.log.error(element, 'Layout failed');
126
+ return geometry_1.Bounds.EMPTY;
127
+ }
128
+ }
129
+ }
130
+ exports.StatefulLayouterExt = StatefulLayouterExt;
131
+ //# sourceMappingURL=layouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layouter.js","sourceRoot":"","sources":["../../../src/features/layout/layouter.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,6 @@ export declare class VBoxLayouterExt extends VBoxLayouter {
36
36
  protected getElementLayoutOptions(element: SModelElement): VBoxLayoutOptionsExt | undefined;
37
37
  protected getFinalContainerBounds(container: SParentElement & LayoutContainer, lastOffset: Point, options: VBoxLayoutOptionsExt, maxWidth: number, maxHeight: number): Bounds;
38
38
  protected getDefaultLayoutOptions(): VBoxLayoutOptionsExt;
39
- protected spread(a: VBoxLayoutOptionsExt, b: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt;
39
+ protected filterContainerOptions(containerOptions: VBoxLayoutOptionsExt): VBoxLayoutOptionsExt;
40
40
  }
41
41
  //# sourceMappingURL=vbox-layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vbox-layout.d.ts","sourceRoot":"","sources":["../../../src/features/layout/vbox-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EACH,UAAU,EAGV,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBACa,eAAgB,SAAQ,YAAY;IAC7C,OAAgB,IAAI,SAAqB;IAEhC,MAAM,CAAC,SAAS,EAAE,cAAc,GAAG,eAAe,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;cAkC3E,eAAe,CAC9B,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,gBAAgB,EAAE,oBAAoB,EACtC,QAAQ,EAAE,gBAAgB,GAC3B,SAAS;cAyBO,cAAc,CAC7B,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,EAAE,oBAAoB,EACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,KAAK;cA8BW,WAAW,CAC1B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,EAClC,gBAAgB,EAAE,oBAAoB,EACtC,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,KAAK;cAyBW,uBAAuB,CACtC,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,oBAAoB,EACnC,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;cAaU,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,GAAG,oBAAoB;cAIzG,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB;IAIjF,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB,GAAG,SAAS;cAIxE,uBAAuB,CACtC,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,MAAM;cAeU,uBAAuB,IAAI,oBAAoB;cAqB/C,MAAM,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,GAAG,oBAAoB;CAGpG"}
1
+ {"version":3,"file":"vbox-layout.d.ts","sourceRoot":"","sources":["../../../src/features/layout/vbox-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EACH,UAAU,EAGV,eAAe,EACf,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBACa,eAAgB,SAAQ,YAAY;IAC7C,OAAgB,IAAI,SAAqB;IAEhC,MAAM,CAAC,SAAS,EAAE,cAAc,GAAG,eAAe,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;cAwC3E,eAAe,CAC9B,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,gBAAgB,EAAE,oBAAoB,EACtC,QAAQ,EAAE,gBAAgB,GAC3B,SAAS;cAyBO,cAAc,CAC7B,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,EAAE,oBAAoB,EACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,KAAK;cA8BW,WAAW,CAC1B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,oBAAoB,EAClC,gBAAgB,EAAE,oBAAoB,EACtC,aAAa,EAAE,KAAK,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,MAAM,GAC1B,KAAK;cAgCW,uBAAuB,CACtC,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,oBAAoB,EACnC,QAAQ,EAAE,gBAAgB,GAC3B,MAAM;cAaU,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,GAAG,oBAAoB;cAIzG,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB;IAIjF,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB,GAAG,SAAS;cAIxE,uBAAuB,CACtC,SAAS,EAAE,cAAc,GAAG,eAAe,EAC3C,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,MAAM;cAeU,uBAAuB,IAAI,oBAAoB;IAqBlE,SAAS,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,oBAAoB;CAOjG"}
@@ -30,10 +30,13 @@ const sprotty_1 = require("sprotty");
30
30
  */
31
31
  let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
32
32
  layout(container, layouter) {
33
+ var _a, _b;
33
34
  const boundsData = layouter.getBoundsData(container);
34
35
  const options = this.getLayoutOptions(container);
35
36
  const childrenSize = this.getChildrenSize(container, options, layouter);
36
37
  const fixedSize = this.getFixedContainerBounds(container, options, layouter);
38
+ const currentWidth = (((_a = boundsData.bounds) === null || _a === void 0 ? void 0 : _a.width) || 0) - options.paddingLeft - options.paddingRight;
39
+ const currentHeight = (((_b = boundsData.bounds) === null || _b === void 0 ? void 0 : _b.height) || 0) - options.paddingTop - options.paddingBottom;
37
40
  const maxWidth = options.paddingFactor *
38
41
  (options.resizeContainer
39
42
  ? Math.max(fixedSize.width - options.paddingLeft - options.paddingRight, childrenSize.width)
@@ -42,8 +45,10 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
42
45
  (options.resizeContainer
43
46
  ? Math.max(fixedSize.height - options.paddingTop - options.paddingBottom, childrenSize.height)
44
47
  : Math.max(0, fixedSize.height - options.paddingTop - options.paddingBottom));
48
+ const width = Math.max(currentWidth, maxWidth);
49
+ const height = Math.max(currentHeight, maxHeight);
45
50
  // Remaining size that can be grabbed by children with the vGrab option
46
- const grabHeight = maxHeight - childrenSize.height;
51
+ const grabHeight = height - childrenSize.height;
47
52
  // Number of children that request vGrab
48
53
  // FIXME: This approach works fine when only 1 child uses VGrab, but may cause rounding issues
49
54
  // when the grabHeight can't be equally shared by all children.
@@ -51,7 +56,7 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
51
56
  .map(child => this.getChildLayoutOptions(child, options))
52
57
  .filter(opt => opt.vGrab).length;
53
58
  if (maxWidth > 0 && maxHeight > 0) {
54
- const offset = this.layoutChildren(container, layouter, options, maxWidth, maxHeight, grabHeight, grabbingChildren);
59
+ const offset = this.layoutChildren(container, layouter, options, width, height, grabHeight, grabbingChildren);
55
60
  boundsData.bounds = this.getFinalContainerBounds(container, offset, options, childrenSize.width, childrenSize.height);
56
61
  boundsData.boundsChanged = true;
57
62
  }
@@ -99,7 +104,10 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
99
104
  return currentOffset;
100
105
  }
101
106
  layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight, grabHeight, grabbingChildren) {
107
+ const hAlign = childOptions.hGrab ? 'left' : childOptions.hAlign;
108
+ const dx = this.getDx(hAlign, bounds, maxWidth);
102
109
  let offset = super.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);
110
+ boundsData.bounds = Object.assign(Object.assign({}, boundsData.bounds), { x: currentOffset.x + dx, y: currentOffset.y });
103
111
  if (childOptions.hGrab) {
104
112
  boundsData.bounds = {
105
113
  x: boundsData.bounds.x,
@@ -136,7 +144,7 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
136
144
  return protocol_1.Bounds.EMPTY;
137
145
  }
138
146
  getChildLayoutOptions(child, containerOptions) {
139
- return super.getChildLayoutOptions(child, containerOptions);
147
+ return super.getChildLayoutOptions(child, this.filterContainerOptions(containerOptions));
140
148
  }
141
149
  getLayoutOptions(element) {
142
150
  return super.getLayoutOptions(element);
@@ -177,8 +185,12 @@ let VBoxLayouterExt = class VBoxLayouterExt extends sprotty_1.VBoxLayouter {
177
185
  prefWidth: null
178
186
  };
179
187
  }
180
- spread(a, b) {
181
- return Object.assign(Object.assign({}, a), b);
188
+ filterContainerOptions(containerOptions) {
189
+ // Reset object-specific layout options to default before merging,
190
+ // to make sure they won't be inherited (grab, prefSize)
191
+ // eslint-disable-next-line no-null/no-null
192
+ const localOptions = { vGrab: false, hGrab: false, prefHeight: null, prefWidth: null };
193
+ return Object.assign(Object.assign({}, containerOptions), localOptions);
182
194
  }
183
195
  };
184
196
  VBoxLayouterExt.KIND = sprotty_1.VBoxLayouter.KIND;
@@ -1 +1 @@
1
- {"version":3,"file":"vbox-layout.js","sourceRoot":"","sources":["../../../src/features/layout/vbox-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vbox-layout.js","sourceRoot":"","sources":["../../../src/features/layout/vbox-layout.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,6 @@ export declare class RankingMouseTool extends MouseTool implements IMouseTool {
14
14
  constructor(mouseListeners?: MouseListener[]);
15
15
  register(mouseListener: MouseListener): void;
16
16
  deregister(mouseListener: MouseListener): void;
17
- contextMenu(model: SModelRoot, event: MouseEvent): void;
18
17
  protected handleEvent<K extends MouseListenerMethods>(methodName: K, model: SModelRoot, event: MouseEvent): void;
19
18
  notifyListenersByRank<K extends MouseListenerMethods>(element: SModelElement, methodName: K, model: SModelRoot, event: MouseEvent): Promise<void>;
20
19
  dispatchActions<K extends MouseListenerMethods>(mouseListeners: MouseListener[], methodName: K, element: SModelElement, event: MouseEvent): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"mouse-tool.d.ts","sourceRoot":"","sources":["../../../src/features/mouse-tool/mouse-tool.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI9E,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CAClD;AAED;;;GAGG;AACH,aAAK,oBAAoB,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAElE,qBACa,gBAAiB,SAAQ,SAAU,YAAW,UAAU;cAGY,cAAc,EAAE,aAAa,EAAE;IAF5G,SAAS,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAEgB,cAAc,GAAE,aAAa,EAAO;IAKxG,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAK5C,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAKvD,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;cAIpC,WAAW,CAAC,CAAC,SAAS,oBAAoB,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IASnH,qBAAqB,CAAC,CAAC,SAAS,oBAAoB,EACtD,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,CAAC,EACb,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC;IAMV,eAAe,CAAC,CAAC,SAAS,oBAAoB,EAChD,cAAc,EAAE,aAAa,EAAE,EAC/B,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC;CAUnB"}
1
+ {"version":3,"file":"mouse-tool.d.ts","sourceRoot":"","sources":["../../../src/features/mouse-tool/mouse-tool.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI9E,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CAClD;AAED;;;GAGG;AACH,aAAK,oBAAoB,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAElE,qBACa,gBAAiB,SAAQ,SAAU,YAAW,UAAU;cAGY,cAAc,EAAE,aAAa,EAAE;IAF5G,SAAS,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAEgB,cAAc,GAAE,aAAa,EAAO;IAKxG,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAK5C,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;cAKpC,WAAW,CAAC,CAAC,SAAS,oBAAoB,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IASnH,qBAAqB,CAAC,CAAC,SAAS,oBAAoB,EACtD,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,CAAC,EACb,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC;IAMV,eAAe,CAAC,CAAC,SAAS,oBAAoB,EAChD,cAAc,EAAE,aAAa,EAAE,EAC/B,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC;CAenB"}