@eclipse-glsp/client 1.0.0 → 1.1.0-RC02
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/types.d.ts +2 -0
- package/lib/base/types.d.ts.map +1 -1
- package/lib/features/export/glsp-svg-exporter.d.ts +22 -0
- package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -0
- package/lib/features/export/glsp-svg-exporter.js +45 -0
- package/lib/features/export/glsp-svg-exporter.js.map +1 -0
- package/lib/features/layout/di.config.d.ts.map +1 -1
- package/lib/features/layout/di.config.js +2 -0
- package/lib/features/layout/di.config.js.map +1 -1
- package/lib/features/layout/hbox-layout.d.ts +1 -1
- package/lib/features/layout/hbox-layout.d.ts.map +1 -1
- package/lib/features/layout/hbox-layout.js +19 -7
- package/lib/features/layout/hbox-layout.js.map +1 -1
- package/lib/features/layout/layouter.d.ts +37 -0
- package/lib/features/layout/layouter.d.ts.map +1 -0
- package/lib/features/layout/layouter.js +131 -0
- package/lib/features/layout/layouter.js.map +1 -0
- package/lib/features/layout/tests/freeform-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/freeform-layout.spec.js +201 -0
- package/lib/features/layout/tests/freeform-layout.spec.js.map +1 -0
- package/lib/features/layout/tests/hbox-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/hbox-layout.spec.js +161 -0
- package/lib/features/layout/tests/hbox-layout.spec.js.map +1 -0
- package/lib/features/layout/tests/layouter-test-util.d.ts +34 -0
- package/lib/features/layout/tests/layouter-test-util.d.ts.map +1 -0
- package/lib/features/layout/tests/layouter-test-util.js +96 -0
- package/lib/features/layout/tests/layouter-test-util.js.map +1 -0
- package/lib/features/layout/tests/vbox-layout.spec.d.ts +3 -0
- package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +1 -0
- package/lib/features/layout/tests/vbox-layout.spec.js +161 -0
- package/lib/features/layout/tests/vbox-layout.spec.js.map +1 -0
- package/lib/features/layout/vbox-layout.d.ts +1 -1
- package/lib/features/layout/vbox-layout.d.ts.map +1 -1
- package/lib/features/layout/vbox-layout.js +17 -5
- package/lib/features/layout/vbox-layout.js.map +1 -1
- package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
- package/lib/features/tools/change-bounds-tool.js +13 -10
- package/lib/features/tools/change-bounds-tool.js.map +1 -1
- package/lib/features/tools/di.config.d.ts.map +1 -1
- package/lib/features/tools/di.config.js +4 -1
- package/lib/features/tools/di.config.js.map +1 -1
- package/lib/features/tools/edge-edit-tool.d.ts +2 -2
- package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
- package/lib/features/tools/edge-edit-tool.js +3 -2
- package/lib/features/tools/edge-edit-tool.js.map +1 -1
- package/lib/sprotty-reexport.d.ts +1 -1
- package/lib/sprotty-reexport.d.ts.map +1 -1
- package/lib/sprotty-reexport.js +6 -4
- package/lib/sprotty-reexport.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +11 -2
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +17 -2
- package/lib/utils/smodel-util.js.map +1 -1
- package/lib/views/glsp-projection-view.d.ts.map +1 -1
- package/lib/views/glsp-projection-view.js +8 -2
- package/lib/views/glsp-projection-view.js.map +1 -1
- package/package.json +6 -5
- package/src/features/export/glsp-svg-exporter.ts +50 -0
- package/src/features/layout/di.config.ts +3 -1
- package/src/features/layout/hbox-layout.ts +24 -7
- package/src/features/layout/layouter.ts +137 -0
- package/src/features/layout/tests/freeform-layout.spec.ts +216 -0
- package/src/features/layout/tests/hbox-layout.spec.ts +171 -0
- package/src/features/layout/tests/layouter-test-util.ts +122 -0
- package/src/features/layout/tests/vbox-layout.spec.ts +171 -0
- package/src/features/layout/vbox-layout.ts +22 -5
- package/src/features/tools/change-bounds-tool.ts +16 -13
- package/src/features/tools/di.config.ts +5 -1
- package/src/features/tools/edge-edit-tool.ts +5 -6
- package/src/sprotty-reexport.ts +6 -1
- package/src/utils/smodel-util.ts +20 -1
- package/src/views/glsp-projection-view.tsx +10 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprotty-reexport.d.ts","sourceRoot":"","sources":["../src/sprotty-reexport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF;;;;;GAKG;AAEH,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnI,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,6CAA6C,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACH,cAAc,EACd,UAAU,EACV,WAAW,EACX,QAAQ,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,EACjB,MAAM,+BAA+B,CAAC;AACvC,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,OAAO,EACH,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACjB,MAAM,qCAAqC,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,sDAAsD,CAAC;AACrE,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AAEnD,OAAO,EACH,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EACnB,MAAM,iDAAiD,CAAC;AACzD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mDAAmD,CAAC;AAClE,cAAc,oCAAoC,CAAC;AACnD,OAAO,EACH,SAAS,EACT,YAAY,EACZ,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,EAChB,MAAM,mCAAmC,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"sprotty-reexport.d.ts","sourceRoot":"","sources":["../src/sprotty-reexport.ts"],"names":[],"mappings":"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"}
|
package/lib/sprotty-reexport.js
CHANGED
|
@@ -35,9 +35,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
35
35
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.
|
|
39
|
-
exports.
|
|
40
|
-
exports.modelSourceModule = exports.zorderModule = exports.viewportModule = exports.updateModule = void 0;
|
|
38
|
+
exports.SelectAllCommand = exports.GetSelectionCommand = exports.GetSelectionAction = exports.SetPopupModelCommand = exports.PopupHoverMouseListener = exports.HoverMouseListener = exports.HoverKeyListener = exports.HoverFeedbackCommand = exports.HoverFeedbackAction = exports.ClosePopupActionHandler = exports.AbstractHoverMouseListener = exports.SvgExporter = exports.RequestExportSvgAction = exports.ExportSvgPostprocessor = exports.ExportSvgKeyListener = exports.ExportSvgCommand = exports.configureButtonHandler = exports.ButtonHandlerRegistry = exports.SShapeElement = exports.layoutContainerFeature = exports.layoutableChildFeature = exports.isSizeable = exports.isLayoutContainer = exports.isLayoutableChild = exports.isBoundsAware = exports.isAlignable = exports.getAbsoluteClientBounds = exports.getAbsoluteBounds = exports.findChildrenAtPosition = exports.boundsFeature = exports.alignFeature = exports.SetBoundsCommand = exports.RequestBoundsCommand = exports.translatePoint = exports.translateBounds = exports.registerModelElement = exports.findParentByFeature = exports.findParent = exports.containsSome = exports.SParentElement = exports.SModelRoot = exports.SModelElement = exports.SChildElement = exports.ModelIndexImpl = exports.isParent = exports.createRandomId = exports.SetModelCommand = exports.SetBoundsAction = exports.CollapseExpandAllAction = exports.CollapseExpandAction = void 0;
|
|
39
|
+
exports.routingModule = exports.openModule = exports.moveModule = exports.hoverModule = exports.fadeModule = exports.exportModule = exports.expandModule = exports.edgeLayoutModule = exports.edgeIntersectionModule = exports.decorationModule = exports.contextMenuModule = exports.commandPaletteModule = exports.buttonModule = exports.boundsModule = exports.graphModule = exports.defaultModule = exports.PointToPointLine = exports.intersection = exports.Diamond = exports.DiagramServerProxy = exports.ShapedPreRenderedElement = exports.RectangularPort = exports.RectangularNode = exports.PreRenderedElement = exports.HtmlRoot = exports.ForeignObjectElement = exports.DiamondNode = exports.CircularPort = exports.CircularNode = exports.SPort = exports.SNode = exports.SLabel = exports.SGraphIndex = exports.SGraph = exports.SEdge = exports.SCompartment = exports.ViewportResult = exports.ViewportAnimation = exports.SetViewportCommand = exports.GetViewportCommand = exports.GetViewportAction = exports.FitToScreenCommand = exports.CenterKeyboardListener = exports.CenterCommand = exports.BoundsAwareViewportCommand = exports.UpdateModelCommand = exports.SelectMouseListener = exports.SelectKeyboardListener = exports.SelectionResult = exports.SelectCommand = void 0;
|
|
40
|
+
exports.modelSourceModule = exports.zorderModule = exports.viewportModule = exports.updateModule = exports.undoRedoModule = exports.selectModule = void 0;
|
|
41
41
|
__exportStar(require("@eclipse-glsp/protocol"), exports);
|
|
42
42
|
// sprotty-protocol
|
|
43
43
|
var actions_1 = require("sprotty-protocol/lib/actions");
|
|
@@ -112,7 +112,9 @@ Object.defineProperty(exports, "SShapeElement", { enumerable: true, get: functio
|
|
|
112
112
|
__exportStar(require("sprotty/lib/features/bounds/stack-layout"), exports);
|
|
113
113
|
__exportStar(require("sprotty/lib/features/bounds/vbox-layout"), exports);
|
|
114
114
|
__exportStar(require("sprotty/lib/features/bounds/views"), exports);
|
|
115
|
-
|
|
115
|
+
var button_handler_1 = require("sprotty/lib/features/button/button-handler");
|
|
116
|
+
Object.defineProperty(exports, "ButtonHandlerRegistry", { enumerable: true, get: function () { return button_handler_1.ButtonHandlerRegistry; } });
|
|
117
|
+
Object.defineProperty(exports, "configureButtonHandler", { enumerable: true, get: function () { return button_handler_1.configureButtonHandler; } });
|
|
116
118
|
__exportStar(require("sprotty/lib/features/button/model"), exports);
|
|
117
119
|
__exportStar(require("sprotty/lib/features/command-palette/action-providers"), exports);
|
|
118
120
|
__exportStar(require("sprotty/lib/features/command-palette/command-palette"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprotty-reexport.js","sourceRoot":"","sources":["../src/sprotty-reexport.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;AAClF;;;;;GAKG;;;;;;;;;;;;;;;;;;;AAEH,yDAAuC;AACvC,mBAAmB;AACnB,wDAAmI;AAA1H,+GAAA,oBAAoB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAAuB,0GAAA,eAAe,OAAA;AAE5F,6CAA6C;AAC7C,6EAA2D;AAC3D,0EAAwD;AACxD,0EAAwD;AACxD,wEAAsD;AACtD,qFAAmE;AACnE,qEAAmD;AACnD,oEAAkD;AAClD,iFAA+D;AAC/D,0EAAwD;AACxD,kFAAgE;AAChE,8EAA4D;AAC5D,iEAAsE;AAA7D,4GAAA,eAAe,OAAA;AACxB,wDAUuC;AATnC,wGAAA,cAAc,OAAA;AAGd,kGAAA,QAAQ,OAAA;AACR,wGAAA,cAAc,OAAA;AACd,uGAAA,aAAa,OAAA;AACb,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,wGAAA,cAAc,OAAA;AAElB,0EAAwD;AACxD,wEAAsD;AACtD,oEAO6C;AANzC,4GAAA,YAAY,OAAA;AACZ,0GAAA,UAAU,OAAA;AACV,mHAAA,mBAAmB,OAAA;AACnB,oHAAA,oBAAoB,OAAA;AACpB,+GAAA,eAAe,OAAA;AACf,8GAAA,cAAc,OAAA;AAElB,qEAAmD;AACnD,6EAA2D;AAC3D,8EAA4D;AAC5D,uFAAqE;AACrE,kEAAgD;AAChD,oEAAkD;AAClD,oEAAkD;AAClD,8DAA4C;AAC5C,gEAA8C;AAC9C,sEAAoD;AACpD,wEAAsD;AACtD,6EAA2D;AAC3D,qEAAmD;AACnD,iDAAiD;AACjD,uFAKyD;AAJrD,2HAAA,oBAAoB,OAAA;AAGpB,uHAAA,gBAAgB,OAAA;AAEpB,0EAAwD;AACxD,oFAAkE;AAClE,qEAAmD;AACnD,2DAmB2C;AAjBvC,qGAAA,YAAY,OAAA;AAEZ,sGAAA,aAAa,OAAA;AACb,+GAAA,sBAAsB,OAAA;AACtB,0GAAA,iBAAiB,OAAA;AACjB,gHAAA,uBAAuB,OAAA;AACvB,oGAAA,WAAW,OAAA;AACX,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,mGAAA,UAAU,OAAA;AAEV,+GAAA,sBAAsB,OAAA;AAEtB,+GAAA,sBAAsB,OAAA;AAEtB,sGAAA,aAAa,OAAA;AAEjB,2EAAyD;AACzD,0EAAwD;AACxD,oEAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"sprotty-reexport.js","sourceRoot":"","sources":["../src/sprotty-reexport.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ElementAndBounds, ElementAndRoutingPoints, SModelElementSchema, TypeGuard } from '@eclipse-glsp/protocol';
|
|
17
|
-
import { BoundsAware, ModelIndexImpl, Selectable, SModelElement, SRoutableElement, SRoutingHandle } from 'sprotty';
|
|
17
|
+
import { BoundsAware, EdgeRouterRegistry, ModelIndexImpl, Selectable, SModelElement, SRoutableElement, SRoutingHandle } from 'sprotty';
|
|
18
18
|
import { FluentIterable } from 'sprotty/lib/utils/iterable';
|
|
19
19
|
/**
|
|
20
20
|
* Helper type to represent a filter predicate for {@link SModelElement}s. This is used to retrieve
|
|
@@ -127,11 +127,20 @@ export declare type BoundsAwareModelElement = SModelElement & BoundsAware;
|
|
|
127
127
|
export declare function toElementAndBounds(element: BoundsAwareModelElement): ElementAndBounds;
|
|
128
128
|
/**
|
|
129
129
|
* Helper function to translate a given {@link SRoutableElement} into its corresponding
|
|
130
|
-
* {@ElementAndRoutingPoints
|
|
130
|
+
* {@link ElementAndRoutingPoints} representation.
|
|
131
131
|
* @param element The element to translate.
|
|
132
132
|
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
133
133
|
*/
|
|
134
134
|
export declare function toElementAndRoutingPoints(element: SRoutableElement): ElementAndRoutingPoints;
|
|
135
|
+
/**
|
|
136
|
+
* Helper function to calculate the {@link ElementAndRoutingPoints} for a given {@link SRoutableElement}.
|
|
137
|
+
* If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the routing
|
|
138
|
+
* points from the calculated route are used, otherwise we use the already specified routing points of the {@link SRoutableElement}.
|
|
139
|
+
* @param element The element to translate.
|
|
140
|
+
* @param edgeRouterRegistry the edge router registry
|
|
141
|
+
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
142
|
+
*/
|
|
143
|
+
export declare function calcElementAndRoutingPoints(element: SRoutableElement, edgeRouterRegistry?: EdgeRouterRegistry): ElementAndRoutingPoints;
|
|
135
144
|
/**
|
|
136
145
|
* Checks if the model is compatible with the passed type string.
|
|
137
146
|
* (either has the same type or a subtype of this type)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAe,gBAAgB,EAAE,uBAAuB,EAAU,mBAAmB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxI,OAAO,EACH,WAAW,
|
|
1
|
+
{"version":3,"file":"smodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/smodel-util.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getElementTypeId = exports.hasCompatibleType = exports.toElementAndRoutingPoints = exports.toElementAndBounds = exports.isSelectableAndBoundsAware = exports.isRoutingHandle = exports.isRoutable = exports.isNonRoutableSelectedBoundsAware = exports.isNonRoutableSelectedMovableBoundsAware = exports.removeCssClasses = exports.addCssClasses = exports.isNotUndefined = exports.hasSelectedElements = exports.getSelectedElementCount = exports.getElements = exports.getMatchingElements = exports.forEachElement = exports.filter = void 0;
|
|
3
|
+
exports.getElementTypeId = exports.hasCompatibleType = exports.calcElementAndRoutingPoints = exports.toElementAndRoutingPoints = exports.toElementAndBounds = exports.isSelectableAndBoundsAware = exports.isRoutingHandle = exports.isRoutable = exports.isNonRoutableSelectedBoundsAware = exports.isNonRoutableSelectedMovableBoundsAware = exports.removeCssClasses = exports.addCssClasses = exports.isNotUndefined = exports.hasSelectedElements = exports.getSelectedElementCount = exports.getElements = exports.getMatchingElements = exports.forEachElement = exports.filter = void 0;
|
|
4
4
|
/********************************************************************************
|
|
5
5
|
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
6
6
|
*
|
|
@@ -185,7 +185,7 @@ function toElementAndBounds(element) {
|
|
|
185
185
|
exports.toElementAndBounds = toElementAndBounds;
|
|
186
186
|
/**
|
|
187
187
|
* Helper function to translate a given {@link SRoutableElement} into its corresponding
|
|
188
|
-
* {@ElementAndRoutingPoints
|
|
188
|
+
* {@link ElementAndRoutingPoints} representation.
|
|
189
189
|
* @param element The element to translate.
|
|
190
190
|
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
191
191
|
*/
|
|
@@ -196,6 +196,21 @@ function toElementAndRoutingPoints(element) {
|
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
198
|
exports.toElementAndRoutingPoints = toElementAndRoutingPoints;
|
|
199
|
+
/**
|
|
200
|
+
* Helper function to calculate the {@link ElementAndRoutingPoints} for a given {@link SRoutableElement}.
|
|
201
|
+
* If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the routing
|
|
202
|
+
* points from the calculated route are used, otherwise we use the already specified routing points of the {@link SRoutableElement}.
|
|
203
|
+
* @param element The element to translate.
|
|
204
|
+
* @param edgeRouterRegistry the edge router registry
|
|
205
|
+
* @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
|
|
206
|
+
*/
|
|
207
|
+
function calcElementAndRoutingPoints(element, edgeRouterRegistry) {
|
|
208
|
+
const router = edgeRouterRegistry === null || edgeRouterRegistry === void 0 ? void 0 : edgeRouterRegistry.get(element.routerKind);
|
|
209
|
+
// filter duplicate points (same x,y coordinates) and only keep actual routing points (no start or target, no volatile points)
|
|
210
|
+
const clientRoutingPoints = router === null || router === void 0 ? void 0 : router.route(element).filter((point, idx, route) => idx === route.findIndex(otherPoint => otherPoint.x === point.x && otherPoint.y === point.y)).filter(point => point.kind === 'linear' || point.kind === 'bezier-junction');
|
|
211
|
+
return { elementId: element.id, newRoutingPoints: clientRoutingPoints || element.routingPoints };
|
|
212
|
+
}
|
|
213
|
+
exports.calcElementAndRoutingPoints = calcElementAndRoutingPoints;
|
|
199
214
|
/**
|
|
200
215
|
* Checks if the model is compatible with the passed type string.
|
|
201
216
|
* (either has the same type or a subtype of this type)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smodel-util.js","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAwI;AACxI,
|
|
1
|
+
{"version":3,"file":"smodel-util.js","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glsp-projection-view.d.ts","sourceRoot":"","sources":["../../src/views/glsp-projection-view.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,gBAAgB;AAChB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAK,KAAK,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAGH,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"glsp-projection-view.d.ts","sourceRoot":"","sources":["../../src/views/glsp-projection-view.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,gBAAgB;AAChB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAK,KAAK,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAGH,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAGhB,mBAAmB,EACnB,cAAc,EACjB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBACa,kBAAmB,SAAQ,qBAAqB;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK;cAetF,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK;cAOnG,mBAAmB,CAClC,WAAW,EAAE,cAAc,EAAE,EAC7B,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACpC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,YAAY,GAAG,UAAU,GACvC,KAAK;cAoBW,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,KAAK;cAwCrF,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,KAAK;CA+CzI"}
|
|
@@ -30,9 +30,15 @@ const sprotty_1 = require("sprotty");
|
|
|
30
30
|
*/
|
|
31
31
|
let GLSPProjectionView = class GLSPProjectionView extends sprotty_1.ProjectedViewportView {
|
|
32
32
|
render(model, context, args) {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const svgElem = this.renderSvg(model, context, args);
|
|
34
|
+
if (svgElem.data) {
|
|
35
|
+
svgElem.data.class = { 'sprotty-graph': true };
|
|
36
|
+
}
|
|
37
|
+
const rootNode = ((0, sprotty_1.html)("div", { "class-sprotty-graph": false, style: { width: '100%', height: '100%' } },
|
|
38
|
+
svgElem,
|
|
35
39
|
this.renderProjections(model, context, args)));
|
|
40
|
+
(0, sprotty_1.setAttr)(rootNode, 'tabindex', 0);
|
|
41
|
+
return rootNode;
|
|
36
42
|
}
|
|
37
43
|
renderSvg(model, context, args) {
|
|
38
44
|
const transform = `scale(${model.zoom}) translate(${-model.scroll.x},${-model.scroll.y})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glsp-projection-view.js","sourceRoot":"","sources":["../../src/views/glsp-projection-view.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;AAIlF,yCAAuC;AACvC,uCAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"glsp-projection-view.js","sourceRoot":"","sources":["../../src/views/glsp-projection-view.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0-RC02",
|
|
4
4
|
"description": "A sprotty-based client for GLSP",
|
|
5
5
|
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
|
|
6
6
|
"keywords": [
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
"css"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@eclipse-glsp/protocol": "
|
|
37
|
+
"@eclipse-glsp/protocol": "1.1.0-RC02",
|
|
38
38
|
"autocompleter": "5.1.0",
|
|
39
|
-
"sprotty": "0.
|
|
39
|
+
"sprotty": "0.13.0-next.1c4343c.328"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@vscode/codicons": "^0.0.25",
|
|
@@ -47,7 +47,8 @@
|
|
|
47
47
|
"prepare": "yarn clean && yarn build && yarn lint",
|
|
48
48
|
"clean": "rimraf lib tsconfig.tsbuildinfo ",
|
|
49
49
|
"build": "tsc",
|
|
50
|
-
"lint": "eslint
|
|
50
|
+
"lint": "eslint --ext .ts,.tsx ./src",
|
|
51
|
+
"lint:fix": "eslint --fix --ext .ts,.tsx ./src",
|
|
51
52
|
"watch": "tsc -w",
|
|
52
53
|
"test": "mocha --config ../../.mocharc.json \"./src/**/*.spec.?(ts|tsx)\"",
|
|
53
54
|
"test:ci": "export JUNIT_REPORT_PATH=./report.xml && yarn test --reporter mocha-jenkins-reporter"
|
|
@@ -57,5 +58,5 @@
|
|
|
57
58
|
},
|
|
58
59
|
"main": "lib/index",
|
|
59
60
|
"types": "lib/index",
|
|
60
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "196fab7283970c6578830766b39995cf57859bb8"
|
|
61
62
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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 { RequestAction } from '@eclipse-glsp/protocol';
|
|
17
|
+
import { injectable } from 'inversify';
|
|
18
|
+
import { ExportSvgAction, SModelRoot, SvgExporter } from 'sprotty';
|
|
19
|
+
import { v4 as uuid } from 'uuid';
|
|
20
|
+
|
|
21
|
+
@injectable()
|
|
22
|
+
export class GLSPSvgExporter extends SvgExporter {
|
|
23
|
+
override export(root: SModelRoot, _request?: RequestAction<ExportSvgAction>): void {
|
|
24
|
+
if (typeof document !== 'undefined') {
|
|
25
|
+
const svgElement = this.findSvgElement();
|
|
26
|
+
if (svgElement) {
|
|
27
|
+
// createSvg requires the svg to have a non-empty id, so we generate one if necessary
|
|
28
|
+
const originalId = svgElement.id;
|
|
29
|
+
try {
|
|
30
|
+
svgElement.id = originalId || uuid();
|
|
31
|
+
// provide generated svg code with respective sizing for proper viewing in browser and remove undesired border
|
|
32
|
+
const bounds = this.getBounds(root);
|
|
33
|
+
const svg = this.createSvg(svgElement, root)
|
|
34
|
+
.replace('style="',
|
|
35
|
+
`style="width: ${bounds.width}px !important;height: ${bounds.height}px !important;border: none !important;`);
|
|
36
|
+
// do not give request/response id here as otherwise the action is treated as an unrequested response
|
|
37
|
+
this.actionDispatcher.dispatch(ExportSvgAction.create(svg, ''));
|
|
38
|
+
} finally {
|
|
39
|
+
svgElement.id = originalId;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected findSvgElement(): SVGSVGElement | null {
|
|
46
|
+
const div = document.getElementById(this.options.hiddenDiv);
|
|
47
|
+
// search for first svg element as hierarchy within Sprotty might change
|
|
48
|
+
return div && div.querySelector('svg');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { ContainerModule } from 'inversify';
|
|
17
|
-
import { configureActionHandler, configureLayout, HBoxLayouter, VBoxLayouter } from 'sprotty';
|
|
17
|
+
import { configureActionHandler, configureLayout, HBoxLayouter, TYPES, VBoxLayouter } from 'sprotty';
|
|
18
18
|
import { FreeFormLayouter } from './freeform-layout';
|
|
19
19
|
import { HBoxLayouterExt } from './hbox-layout';
|
|
20
20
|
import {
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
ResizeElementsAction,
|
|
24
24
|
ResizeElementsActionHandler
|
|
25
25
|
} from './layout-elements-action';
|
|
26
|
+
import { LayouterExt } from './layouter';
|
|
26
27
|
import { VBoxLayouterExt } from './vbox-layout';
|
|
27
28
|
|
|
28
29
|
const layoutModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
@@ -32,6 +33,7 @@ const layoutModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
|
|
|
32
33
|
|
|
33
34
|
rebind(VBoxLayouter).to(VBoxLayouterExt);
|
|
34
35
|
rebind(HBoxLayouter).to(HBoxLayouterExt);
|
|
36
|
+
rebind(TYPES.Layouter).to(LayouterExt);
|
|
35
37
|
configureLayout({ bind, isBound }, FreeFormLayouter.KIND, FreeFormLayouter);
|
|
36
38
|
});
|
|
37
39
|
|
|
@@ -49,6 +49,9 @@ export class HBoxLayouterExt extends HBoxLayouter {
|
|
|
49
49
|
|
|
50
50
|
const fixedSize = this.getFixedContainerBounds(container, options, layouter);
|
|
51
51
|
|
|
52
|
+
const currentWidth = boundsData.bounds ? boundsData.bounds?.width - options.paddingLeft - options.paddingRight : 0;
|
|
53
|
+
const currentHeight = boundsData.bounds ? boundsData.bounds?.height - options.paddingTop - options.paddingBottom : 0;
|
|
54
|
+
|
|
52
55
|
const maxWidth =
|
|
53
56
|
options.paddingFactor *
|
|
54
57
|
(options.resizeContainer
|
|
@@ -60,8 +63,11 @@ export class HBoxLayouterExt extends HBoxLayouter {
|
|
|
60
63
|
? Math.max(fixedSize.height - options.paddingTop - options.paddingBottom, childrenSize.height)
|
|
61
64
|
: Math.max(0, fixedSize.height - options.paddingTop - options.paddingBottom));
|
|
62
65
|
|
|
66
|
+
const width = Math.max(currentWidth, maxWidth);
|
|
67
|
+
const height = Math.max(currentHeight, maxHeight);
|
|
68
|
+
|
|
63
69
|
// Remaining size that can be grabbed by children with the hGrab option
|
|
64
|
-
const grabWidth
|
|
70
|
+
const grabWidth = width - childrenSize.width;
|
|
65
71
|
// Number of children that request hGrab
|
|
66
72
|
// FIXME: This approach works fine when only 1 child uses HGrab, but may cause rounding issues
|
|
67
73
|
// when the grabHeight can't be equally shared by all children.
|
|
@@ -69,8 +75,8 @@ export class HBoxLayouterExt extends HBoxLayouter {
|
|
|
69
75
|
.map(child => this.getChildLayoutOptions(child, options))
|
|
70
76
|
.filter(opt => opt.hGrab).length;
|
|
71
77
|
|
|
72
|
-
if (
|
|
73
|
-
const offset = this.layoutChildren(container, layouter, options,
|
|
78
|
+
if (width > 0 && height > 0) {
|
|
79
|
+
const offset = this.layoutChildren(container, layouter, options, width, height, grabWidth, grabbingChildren);
|
|
74
80
|
boundsData.bounds = this.getFinalContainerBounds(container, offset, options, childrenSize.width, childrenSize.height);
|
|
75
81
|
boundsData.boundsChanged = true;
|
|
76
82
|
}
|
|
@@ -155,8 +161,15 @@ export class HBoxLayouterExt extends HBoxLayouter {
|
|
|
155
161
|
grabWidth?: number,
|
|
156
162
|
grabbingChildren?: number
|
|
157
163
|
): Point {
|
|
164
|
+
const vAlign = childOptions.vGrab ? 'top' : childOptions.vAlign;
|
|
165
|
+
const dy = this.getDy(vAlign, bounds, maxHeight);
|
|
158
166
|
let offset = super.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);
|
|
159
|
-
|
|
167
|
+
boundsData.bounds = {
|
|
168
|
+
...boundsData.bounds!,
|
|
169
|
+
x: currentOffset.x,
|
|
170
|
+
y: currentOffset.y + dy
|
|
171
|
+
};
|
|
172
|
+
if (childOptions.vGrab) {
|
|
160
173
|
boundsData.bounds = {
|
|
161
174
|
x: boundsData.bounds!.x,
|
|
162
175
|
y: boundsData.bounds!.y,
|
|
@@ -197,7 +210,7 @@ export class HBoxLayouterExt extends HBoxLayouter {
|
|
|
197
210
|
}
|
|
198
211
|
|
|
199
212
|
protected override getChildLayoutOptions(child: SChildElement, containerOptions: HBoxLayoutOptionsExt): HBoxLayoutOptionsExt {
|
|
200
|
-
return super.getChildLayoutOptions(child, containerOptions) as HBoxLayoutOptionsExt;
|
|
213
|
+
return super.getChildLayoutOptions(child, this.filterContainerOptions(containerOptions)) as HBoxLayoutOptionsExt;
|
|
201
214
|
}
|
|
202
215
|
|
|
203
216
|
protected override getLayoutOptions(element: SModelElement): HBoxLayoutOptionsExt {
|
|
@@ -250,7 +263,11 @@ export class HBoxLayouterExt extends HBoxLayouter {
|
|
|
250
263
|
};
|
|
251
264
|
}
|
|
252
265
|
|
|
253
|
-
protected
|
|
254
|
-
|
|
266
|
+
protected filterContainerOptions(containerOptions: HBoxLayoutOptionsExt): HBoxLayoutOptionsExt {
|
|
267
|
+
// Reset object-specific layout options to default before merging,
|
|
268
|
+
// to make sure they won't be inherited (grab, prefSize)
|
|
269
|
+
// eslint-disable-next-line no-null/no-null
|
|
270
|
+
const localOptions = { vGrab: false, hGrab: false, prefHeight: null, prefWidth: null };
|
|
271
|
+
return { ...containerOptions, ...localOptions };
|
|
255
272
|
}
|
|
256
273
|
}
|
|
@@ -0,0 +1,137 @@
|
|
|
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 {
|
|
17
|
+
BoundsData,
|
|
18
|
+
ILogger,
|
|
19
|
+
LayoutRegistry,
|
|
20
|
+
StatefulLayouter,
|
|
21
|
+
SModelElement,
|
|
22
|
+
Layouter,
|
|
23
|
+
SParentElement,
|
|
24
|
+
LayoutContainer,
|
|
25
|
+
isLayoutContainer
|
|
26
|
+
} from 'sprotty';
|
|
27
|
+
import { injectable } from 'inversify';
|
|
28
|
+
import { Bounds } from 'sprotty-protocol/lib/utils/geometry';
|
|
29
|
+
|
|
30
|
+
@injectable()
|
|
31
|
+
export class LayouterExt extends Layouter {
|
|
32
|
+
override layout(element2boundsData: Map<SModelElement, BoundsData>): void {
|
|
33
|
+
new StatefulLayouterExt(element2boundsData, this.layoutRegistry, this.logger).layout();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
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
|
+
|
|
44
|
+
export class StatefulLayouterExt extends StatefulLayouter {
|
|
45
|
+
protected toBeLayouted2: (SParentElement & LayoutContainer)[];
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @param elementToBoundsData The map of element to bounds data. Bounds Data are computed from the hidden
|
|
50
|
+
* SVG rendering pass.
|
|
51
|
+
* @param layoutRegistry2 The registry of available layouts.
|
|
52
|
+
* @param log The log.
|
|
53
|
+
*/
|
|
54
|
+
constructor(
|
|
55
|
+
protected readonly elementToBoundsData: Map<SModelElement, BoundsData>,
|
|
56
|
+
protected readonly layoutRegistry2: LayoutRegistry,
|
|
57
|
+
log: ILogger
|
|
58
|
+
) {
|
|
59
|
+
super(elementToBoundsData, layoutRegistry2, log);
|
|
60
|
+
this.toBeLayouted2 = [];
|
|
61
|
+
elementToBoundsData.forEach((data, element) => {
|
|
62
|
+
if (isLayoutContainer(element)) {
|
|
63
|
+
this.toBeLayouted2.push(element);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
for (const element of this.toBeLayouted2) {
|
|
67
|
+
// Clear previous layout information for dynamic-layout objects
|
|
68
|
+
elementToBoundsData.delete(element);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
override getBoundsData(element: SModelElement): BoundsData {
|
|
73
|
+
let boundsData = this.elementToBoundsData.get(element);
|
|
74
|
+
let bounds = (element as any).bounds;
|
|
75
|
+
if (isLayoutContainer(element) && this.toBeLayouted2.indexOf(element) >= 0) {
|
|
76
|
+
bounds = this.doLayout(element);
|
|
77
|
+
} else if (isLayoutContainer(element)) {
|
|
78
|
+
bounds = {
|
|
79
|
+
x: 0,
|
|
80
|
+
y: 0,
|
|
81
|
+
width: -1,
|
|
82
|
+
height: -1
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
if (!boundsData) {
|
|
86
|
+
boundsData = {
|
|
87
|
+
bounds: bounds,
|
|
88
|
+
boundsChanged: false,
|
|
89
|
+
alignmentChanged: false
|
|
90
|
+
};
|
|
91
|
+
this.elementToBoundsData.set(element, boundsData);
|
|
92
|
+
}
|
|
93
|
+
return boundsData;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
override layout(): void {
|
|
97
|
+
// First pass: apply layout with cleared container data. Will get
|
|
98
|
+
// preferred size for all elements (Children first, then parents)
|
|
99
|
+
while (this.toBeLayouted2.length > 0) {
|
|
100
|
+
const element = this.toBeLayouted2[0];
|
|
101
|
+
this.doLayout(element);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
this.toBeLayouted2 = [];
|
|
105
|
+
this.elementToBoundsData.forEach((data, element) => {
|
|
106
|
+
if (isLayoutContainer(element)) {
|
|
107
|
+
this.toBeLayouted2.push(element);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
// Second pass: apply layout with initial size data for all
|
|
112
|
+
// nodes. Update the position/size of all elements, taking
|
|
113
|
+
// vGrab/hGrab into account (parent -> children).
|
|
114
|
+
while (this.toBeLayouted2.length > 0) {
|
|
115
|
+
const element = this.toBeLayouted2[0];
|
|
116
|
+
this.doLayout(element);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
protected override doLayout(element: SParentElement & LayoutContainer): Bounds {
|
|
121
|
+
const index = this.toBeLayouted2.indexOf(element);
|
|
122
|
+
if (index >= 0) {
|
|
123
|
+
this.toBeLayouted2.splice(index, 1);
|
|
124
|
+
}
|
|
125
|
+
const layout = this.layoutRegistry2.get(element.layout);
|
|
126
|
+
if (layout) {
|
|
127
|
+
layout.layout(element, this);
|
|
128
|
+
}
|
|
129
|
+
const boundsData = this.elementToBoundsData.get(element);
|
|
130
|
+
if (boundsData !== undefined && boundsData.bounds !== undefined) {
|
|
131
|
+
return boundsData.bounds;
|
|
132
|
+
} else {
|
|
133
|
+
this.log.error(element, 'Layout failed');
|
|
134
|
+
return Bounds.EMPTY;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|