@eclipse-glsp/client 0.9.0 → 0.10.0-next.06ee84f.156

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.
@@ -19,8 +19,8 @@ import { ActionDispatcher } from 'sprotty';
19
19
  import { ModelInitializationConstraint } from './model-initialization-constraint';
20
20
  export declare class GLSPActionDispatcher extends ActionDispatcher {
21
21
  protected readonly timeouts: Map<string, NodeJS.Timeout>;
22
- protected initiailizationConstraint: ModelInitializationConstraint;
23
- protected onModelInitialized: Promise<void>;
22
+ protected initializedConstraint: boolean;
23
+ protected initializationConstraint: ModelInitializationConstraint;
24
24
  initialize(): Promise<void>;
25
25
  startModelInitialization(): void;
26
26
  onceModelInitialized(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../../src/base/action-dispatcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAoB,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,qBAAa,oBAAqB,SAAQ,gBAAgB;IACtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAa;IAE9B,SAAS,CAAC,yBAAyB,EAAE,6BAA6B,CAAC;IAC1G,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;IAEhE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,wBAAwB,IAAI,IAAI;IAMhC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;;;;;;;OASG;IACH,YAAY,CAAC,GAAG,SAAS,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS,SAAO,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;CA0BhI"}
1
+ {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../../src/base/action-dispatcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAoB,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,qBAAa,oBAAqB,SAAQ,gBAAgB;IACtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAa;IACrE,SAAS,CAAC,qBAAqB,UAAS;IACD,SAAS,CAAC,wBAAwB,EAAE,6BAA6B,CAAC;IAEzG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,wBAAwB,IAAI,IAAI;IAQhC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;;;;;;;OASG;IACH,YAAY,CAAC,GAAG,SAAS,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,SAAS,SAAO,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;CA0BhI"}
@@ -33,22 +33,24 @@ class GLSPActionDispatcher extends sprotty_1.ActionDispatcher {
33
33
  constructor() {
34
34
  super(...arguments);
35
35
  this.timeouts = new Map();
36
- this.onModelInitialized = Promise.resolve();
36
+ this.initializedConstraint = false;
37
37
  }
38
38
  initialize() {
39
39
  return super.initialize().then(() => this.startModelInitialization());
40
40
  }
41
41
  startModelInitialization() {
42
- this.logger.log(this, 'Starting model initialization mode');
43
- this.onModelInitialized = this.initiailizationConstraint.onInitialized();
44
- this.onModelInitialized.then(() => this.logger.log(this, 'Model initialization completed'));
42
+ if (!this.initializedConstraint) {
43
+ this.logger.log(this, 'Starting model initialization mode');
44
+ this.initializationConstraint.onInitialized().then(() => this.logger.log(this, 'Model initialization completed'));
45
+ this.initializedConstraint = true;
46
+ }
45
47
  }
46
48
  onceModelInitialized() {
47
- return this.onModelInitialized;
49
+ return this.initializationConstraint.onInitialized();
48
50
  }
49
51
  dispatch(action) {
50
52
  const result = super.dispatch(action);
51
- this.initiailizationConstraint.notifyDispatched(action);
53
+ this.initializationConstraint.notifyDispatched(action);
52
54
  return result;
53
55
  }
54
56
  handleAction(action) {
@@ -106,6 +108,6 @@ class GLSPActionDispatcher extends sprotty_1.ActionDispatcher {
106
108
  __decorate([
107
109
  inversify_1.inject(model_initialization_constraint_1.ModelInitializationConstraint),
108
110
  __metadata("design:type", model_initialization_constraint_1.ModelInitializationConstraint)
109
- ], GLSPActionDispatcher.prototype, "initiailizationConstraint", void 0);
111
+ ], GLSPActionDispatcher.prototype, "initializationConstraint", void 0);
110
112
  exports.GLSPActionDispatcher = GLSPActionDispatcher;
111
113
  //# sourceMappingURL=action-dispatcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../../src/base/action-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../../src/base/action-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export declare class FeedbackEdgeEndMovingMouseListener extends MouseListener {
49
49
  protected anchorRegistry: AnchorComputerRegistry;
50
50
  constructor(anchorRegistry: AnchorComputerRegistry);
51
51
  mouseMove(target: SModelElement, event: MouseEvent): Action[];
52
- protected computeAbsoluteAnchor(element: SConnectableElement, referencePoint: Point, offset?: number): Point;
52
+ protected computeAbsoluteAnchor(element: SConnectableElement, absoluteReferencePoint: Point, offset?: number): Point;
53
53
  }
54
54
  export declare function feedbackEdgeId(root: SModelRoot): string;
55
55
  export declare function feedbackEdgeEndId(root: SModelRoot): string;
@@ -1 +1 @@
1
- {"version":3,"file":"creation-tool-feedback.d.ts","sourceRoot":"","sources":["../../../src/features/tool-feedback/creation-tool-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAEH,sBAAsB,EAEtB,uBAAuB,EACvB,aAAa,EAMb,aAAa,EAIb,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAEnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,sBAAuB,YAAW,MAAM;aAE7B,aAAa,EAAE,MAAM;aACrB,QAAQ,EAAE,MAAM;aAChB,UAAU,CAAC;aACX,IAAI,EAAE,MAAM;gBAHZ,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,yBAAa,EACxB,IAAI,GAAE,MAAqC;CAElE;AAED,qBACa,uBAAwB,SAAQ,eAAe;IAGtB,SAAS,CAAC,MAAM,EAAE,sBAAsB;IAF1E,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB;gBAEE,MAAM,EAAE,sBAAsB;IAI1E,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAK3D;AAED,qBAAa,wBAAyB,YAAW,MAAM;aACvB,IAAI,EAAE,MAAM;gBAAZ,IAAI,GAAE,MAAuC;CAC5E;AAED,qBACa,yBAA0B,SAAQ,eAAe;IAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAA+B;IAEnD,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAI3D;AAED,qBAAa,eAAgB,SAAQ,eAAe;IAG5C,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM;IACvB,YAAY,EAAE,gBAAgB,GAAG,SAAS;aACjC,IAAI,EAAE,MAAM;IALhC,MAAM,CAAC,QAAQ,CAAC,IAAI,uBAAuB;gBAE9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACvB,YAAY,GAAE,gBAAgB,GAAG,SAAqB,EAC7C,IAAI,GAAE,MAA6B;CAI1D;AAED,qBAAa,kCAAmC,SAAQ,aAAa;IACrD,SAAS,CAAC,cAAc,EAAE,sBAAsB;gBAAtC,cAAc,EAAE,sBAAsB;IAI5D,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAyB7D,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK;CAc/G;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED,eAAO,MAAM,yBAAyB,EAAE,WAGxB,CAAC;AAEjB,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,WAAW,GAChC,IAAI,CA2BN;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CASzD"}
1
+ {"version":3,"file":"creation-tool-feedback.d.ts","sourceRoot":"","sources":["../../../src/features/tool-feedback/creation-tool-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAEH,sBAAsB,EAEtB,uBAAuB,EACvB,aAAa,EAMb,aAAa,EAIb,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAEnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,sBAAuB,YAAW,MAAM;aAE7B,aAAa,EAAE,MAAM;aACrB,QAAQ,EAAE,MAAM;aAChB,UAAU,CAAC;aACX,IAAI,EAAE,MAAM;gBAHZ,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,yBAAa,EACxB,IAAI,GAAE,MAAqC;CAElE;AAED,qBACa,uBAAwB,SAAQ,eAAe;IAGtB,SAAS,CAAC,MAAM,EAAE,sBAAsB;IAF1E,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB;gBAEE,MAAM,EAAE,sBAAsB;IAI1E,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAK3D;AAED,qBAAa,wBAAyB,YAAW,MAAM;aACvB,IAAI,EAAE,MAAM;gBAAZ,IAAI,GAAE,MAAuC;CAC5E;AAED,qBACa,yBAA0B,SAAQ,eAAe;IAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAA+B;IAEnD,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;CAI3D;AAED,qBAAa,eAAgB,SAAQ,eAAe;IAG5C,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM;IACvB,YAAY,EAAE,gBAAgB,GAAG,SAAS;aACjC,IAAI,EAAE,MAAM;IALhC,MAAM,CAAC,QAAQ,CAAC,IAAI,uBAAuB;gBAE9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACvB,YAAY,GAAE,gBAAgB,GAAG,SAAqB,EAC7C,IAAI,GAAE,MAA6B;CAI1D;AAED,qBAAa,kCAAmC,SAAQ,aAAa;IACrD,SAAS,CAAC,cAAc,EAAE,sBAAsB;gBAAtC,cAAc,EAAE,sBAAsB;IAI5D,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAyB7D,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK;CAevH;AA6BD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE1D;AAED,eAAO,MAAM,yBAAyB,EAAE,WAGxB,CAAC;AAEjB,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,kBAAkB,EAAE,WAAW,GAChC,IAAI,CA2BN;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CASzD"}
@@ -86,9 +86,9 @@ class FeedbackEdgeEndMovingMouseListener extends sprotty_1.MouseListener {
86
86
  }
87
87
  const edge = edgeEnd.feedbackEdge;
88
88
  const position = viewpoint_util_1.getAbsolutePosition(edgeEnd, event);
89
- const endAtMousePosition = sprotty_1.findChildrenAtPosition(target.root, position).find(element => sprotty_1.isConnectable(element) && element.canConnect(edge, 'target'));
89
+ const endAtMousePosition = sprotty_1.findChildrenAtPosition(target.root, position).reverse().find(element => sprotty_1.isConnectable(element) && element.canConnect(edge, 'target'));
90
90
  if (endAtMousePosition instanceof sprotty_1.SConnectableElement && edge.source && sprotty_1.isBoundsAware(edge.source)) {
91
- const anchor = this.computeAbsoluteAnchor(endAtMousePosition, sprotty_1.center(edge.source.bounds));
91
+ const anchor = this.computeAbsoluteAnchor(endAtMousePosition, sprotty_1.center(viewpoint_util_1.toAbsoluteBounds(edge.source)));
92
92
  if (sprotty_1.euclideanDistance(anchor, edgeEnd.position) > 1) {
93
93
  return [new sprotty_1.MoveAction([{ elementId: edgeEnd.id, toPosition: anchor }], false)];
94
94
  }
@@ -98,9 +98,10 @@ class FeedbackEdgeEndMovingMouseListener extends sprotty_1.MouseListener {
98
98
  }
99
99
  return [];
100
100
  }
101
- computeAbsoluteAnchor(element, referencePoint, offset) {
101
+ computeAbsoluteAnchor(element, absoluteReferencePoint, offset) {
102
+ const referencePointInParent = absoluteToParent(element, absoluteReferencePoint);
102
103
  const anchorComputer = this.anchorRegistry.get(sprotty_1.PolylineEdgeRouter.KIND, element.anchorKind);
103
- let anchor = anchorComputer.getAnchor(element, referencePoint, offset);
104
+ let anchor = anchorComputer.getAnchor(element, referencePointInParent, offset);
104
105
  // The anchor is computed in the local coordinate system of the element.
105
106
  // If the element is a nested child element we have to add the absolute position of its parent to the anchor.
106
107
  if (element.parent !== element.root) {
@@ -114,6 +115,31 @@ class FeedbackEdgeEndMovingMouseListener extends sprotty_1.MouseListener {
114
115
  }
115
116
  }
116
117
  exports.FeedbackEdgeEndMovingMouseListener = FeedbackEdgeEndMovingMouseListener;
118
+ /**
119
+ * Convert a point, specified in absolute coordinates, to a point relative
120
+ * to the parent of the specified child element.
121
+ * @param element the child element
122
+ * @param absolutePoint a point in absolute coordinates
123
+ * @returns the equivalent point, relative to the element's parent coordinates
124
+ */
125
+ function absoluteToParent(element, absolutePoint) {
126
+ if (sprotty_1.isBoundsAware(element.parent)) {
127
+ return absoluteToLocal(element.parent, absolutePoint);
128
+ }
129
+ // If the parent is not bounds-aware, assume it's at 0; 0 and proceed
130
+ return absoluteToLocal(element, absolutePoint);
131
+ }
132
+ /**
133
+ * Convert a point, specified in absolute coordinates, to a point relative
134
+ * to the specified element.
135
+ * @param element the element
136
+ * @param absolutePoint a point in absolute coordinates
137
+ * @returns the equivalent point, relative to the element's coordinates
138
+ */
139
+ function absoluteToLocal(element, absolutePoint) {
140
+ const absoluteElementBounds = viewpoint_util_1.toAbsoluteBounds(element);
141
+ return { x: absolutePoint.x - absoluteElementBounds.x, y: absolutePoint.y - absoluteElementBounds.y };
142
+ }
117
143
  function feedbackEdgeId(root) {
118
144
  return root.id + '_feedback_edge';
119
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"creation-tool-feedback.js","sourceRoot":"","sources":["../../../src/features/tool-feedback/creation-tool-feedback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAgBA,yCAA+C;AAC/C,qCAsBiB;AACjB,yDAAqD;AACrD,+DAAuG;AACvG,mCAA0C;AAE1C,MAAa,sBAAsB;IAC/B,YACoB,aAAqB,EACrB,QAAgB,EAChB,UAAwB,EACxB,OAAe,uBAAuB,CAAC,IAAI;QAH3C,kBAAa,GAAb,aAAa,CAAQ;QACrB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAAc;QACxB,SAAI,GAAJ,IAAI,CAAuC;IAC5D,CAAC;CACP;AAPD,wDAOC;AAGD,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,uBAAe;IAGxD,YAA4C,MAA8B;QACtE,KAAK,EAAE,CAAC;QADgC,WAAM,GAAN,MAAM,CAAwB;IAE1E,CAAC;IAED,OAAO,CAAC,OAAgC;QACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,iCAAyB,CAAC;QACvG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC;CACJ,CAAA;AAXmB,4BAAI,GAAG,kBAAkB,CAAC;AADjC,uBAAuB;IADnC,sBAAU,EAAE;IAII,WAAA,kBAAM,CAAC,eAAK,CAAC,MAAM,CAAC,CAAA;qCAAmB,sBAAsB;GAHjE,uBAAuB,CAYnC;AAZY,0DAAuB;AAcpC,MAAa,wBAAwB;IACjC,YAA4B,OAAe,yBAAyB,CAAC,IAAI;QAA7C,SAAI,GAAJ,IAAI,CAAyC;IAAG,CAAC;CAChF;AAFD,4DAEC;AAGD,IAAa,yBAAyB,GAAtC,MAAa,yBAA0B,SAAQ,uBAAe;IAG1D,OAAO,CAAC,OAAgC;QACpC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC;CACJ,CAAA;AANmB,8BAAI,GAAG,2BAA2B,CAAC;AAD1C,yBAAyB;IADrC,sBAAU,EAAE;GACA,yBAAyB,CAOrC;AAPY,8DAAyB;AAStC,MAAa,eAAgB,SAAQ,yBAAe;IAEhD,YACa,QAAgB,EAChB,aAAqB,EACvB,eAA6C,SAAS,EAC7C,OAAe,eAAe,CAAC,IAAI;QAEnD,KAAK,EAAE,CAAC;QALC,aAAQ,GAAR,QAAQ,CAAQ;QAChB,kBAAa,GAAb,aAAa,CAAQ;QACvB,iBAAY,GAAZ,YAAY,CAA0C;QAC7C,SAAI,GAAJ,IAAI,CAA+B;IAGvD,CAAC;;AATL,0CAUC;AATmB,oBAAI,GAAG,mBAAmB,CAAC;AAW/C,MAAa,kCAAmC,SAAQ,uBAAa;IACjE,YAAsB,cAAsC;QACxD,KAAK,EAAE,CAAC;QADU,mBAAc,GAAd,cAAc,CAAwB;IAE5D,CAAC;IAED,SAAS,CAAC,MAAqB,EAAE,KAAiB;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,CAAC,OAAO,YAAY,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YAChE,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;QAClC,MAAM,QAAQ,GAAG,oCAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,kBAAkB,GAAG,gCAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CACzE,OAAO,CAAC,EAAE,CAAC,uBAAa,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAC1E,CAAC;QAEF,IAAI,kBAAkB,YAAY,6BAAmB,IAAI,IAAI,CAAC,MAAM,IAAI,uBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAChG,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,gBAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1F,IAAI,2BAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACjD,OAAO,CAAC,IAAI,oBAAU,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aACnF;SACJ;aAAM;YACH,OAAO,CAAC,IAAI,oBAAU,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SACrF;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAES,qBAAqB,CAAC,OAA4B,EAAE,cAAqB,EAAE,MAAe;QAChG,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,4BAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5F,IAAI,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACvE,wEAAwE;QACxE,6GAA6G;QAC7G,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE;YACjC,MAAM,MAAM,GAAG,6BAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAa,CAAC,CAAC;YAClE,IAAI,MAAM,EAAE;gBACR,MAAM,sBAAsB,GAAG,iCAAgB,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM,GAAG,aAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;aAChD;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA5CD,gFA4CC;AAED,SAAgB,cAAc,CAAC,IAAgB;IAC3C,OAAO,IAAI,CAAC,EAAE,GAAG,gBAAgB,CAAC;AACtC,CAAC;AAFD,wCAEC;AAED,SAAgB,iBAAiB,CAAC,IAAgB;IAC9C,OAAO,IAAI,CAAC,EAAE,GAAG,kBAAkB,CAAC;AACxC,CAAC;AAFD,8CAEC;AAEY,QAAA,yBAAyB,GAAgB;IAClD,UAAU,EAAE,CAAC,eAAe,CAAC;IAC7B,OAAO,EAAE,GAAG;CACA,CAAC;AAEjB,SAAgB,gBAAgB,CAC5B,OAAgC,EAChC,QAAgB,EAChB,aAAqB,EACrB,kBAA+B;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE;QACd,OAAO;KACV;IAED,MAAM,MAAM,GAAG,6BAAmB,CAAC,WAAW,EAAE,uBAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,IAAI,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE;QACnC,OAAO;KACV;IAED,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,QAAQ,GAAG,mCAAkB,CAAC,MAAM,CAAC,CAAC;IAE9C,kBAAkB,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,kBAAkB,CAAC,IAAI,GAAG,aAAa,CAAC;IACxC,kBAAkB,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;IACxC,kBAAkB,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;IAEzC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC5E,IAAI,wBAAU,CAAC,YAAY,CAAC,EAAE;QAC1B,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC1B;AACL,CAAC;AAhCD,4CAgCC;AAED,SAAgB,kBAAkB,CAAC,IAAgB;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,IAAI,YAAY,YAAY,uBAAa,EAAE;QACvC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KAC7B;IACD,IAAI,eAAe,YAAY,uBAAa,EAAE;QAC1C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;KAChC;AACL,CAAC;AATD,gDASC"}
1
+ {"version":3,"file":"creation-tool-feedback.js","sourceRoot":"","sources":["../../../src/features/tool-feedback/creation-tool-feedback.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ let StructureCompartmentView = class StructureCompartmentView extends lib_1.Shap
32
32
  return undefined;
33
33
  }
34
34
  return (JSX.createElement("g", null,
35
- JSX.createElement("rect", { "class-sprotty-comp": true, "class-debug": true, x: '0', y: '0', width: model.size.width, height: model.size.height }),
35
+ JSX.createElement("rect", { "class-sprotty-comp": true, "class-debug": false, x: '0', y: '0', width: model.size.width, height: model.size.height }),
36
36
  context.renderChildren(model)));
37
37
  }
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"compartments.js","sourceRoot":"","sources":["../../src/views/compartments.tsx"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAuC;AAEvC,qCAAyG;AAEzG,6DAA6D;AAC7D,MAAM,GAAG,GAAG,EAAE,aAAa,EAAE,SAAG,EAAE,CAAC;AAGnC,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,eAAS;IACnD,MAAM,CAAC,KAA2D,EAAE,OAAyB;QACzF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACjC,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,CACH;YACI,kDAA0B,IAAI,iBAAe,IAAI,EAAE,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAS;YACzH,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAC9B,CACP,CAAC;IACN,CAAC;CACJ,CAAA;AAbY,wBAAwB;IADpC,sBAAU,EAAE;GACA,wBAAwB,CAapC;AAbY,4DAAwB"}
1
+ {"version":3,"file":"compartments.js","sourceRoot":"","sources":["../../src/views/compartments.tsx"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAuC;AAEvC,qCAAyG;AAEzG,6DAA6D;AAC7D,MAAM,GAAG,GAAG,EAAE,aAAa,EAAE,SAAG,EAAE,CAAC;AAGnC,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,eAAS;IACnD,MAAM,CAAC,KAA2D,EAAE,OAAyB;QACzF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACjC,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,CACH;YACI,kDAA0B,IAAI,iBAAe,KAAK,EAAE,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAS;YAC1H,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAC9B,CACP,CAAC;IACN,CAAC;CACJ,CAAA;AAbY,wBAAwB;IADpC,sBAAU,EAAE;GACA,wBAAwB,CAapC;AAbY,4DAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/client",
3
- "version": "0.9.0",
3
+ "version": "0.10.0-next.06ee84f.156+06ee84f",
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,7 +34,7 @@
34
34
  "css"
35
35
  ],
36
36
  "dependencies": {
37
- "@eclipse-glsp/protocol": "0.9.0",
37
+ "@eclipse-glsp/protocol": "0.10.0-next.06ee84f.156+06ee84f",
38
38
  "autocompleter": "5.1.0",
39
39
  "sprotty": "0.10.0"
40
40
  },
@@ -67,5 +67,5 @@
67
67
  },
68
68
  "main": "lib/index",
69
69
  "types": "lib/index",
70
- "gitHead": "5e12ddb7e7da0e1b55555d95607645e24555f6b4"
70
+ "gitHead": "06ee84f267881797975e68ef02f95a03891c8235"
71
71
  }
@@ -20,27 +20,28 @@ import { ModelInitializationConstraint } from './model-initialization-constraint
20
20
 
21
21
  export class GLSPActionDispatcher extends ActionDispatcher {
22
22
  protected readonly timeouts: Map<string, NodeJS.Timeout> = new Map();
23
-
24
- @inject(ModelInitializationConstraint) protected initiailizationConstraint: ModelInitializationConstraint;
25
- protected onModelInitialized: Promise<void> = Promise.resolve();
23
+ protected initializedConstraint = false;
24
+ @inject(ModelInitializationConstraint) protected initializationConstraint: ModelInitializationConstraint;
26
25
 
27
26
  initialize(): Promise<void> {
28
27
  return super.initialize().then(() => this.startModelInitialization());
29
28
  }
30
29
 
31
30
  startModelInitialization(): void {
32
- this.logger.log(this, 'Starting model initialization mode');
33
- this.onModelInitialized = this.initiailizationConstraint.onInitialized();
34
- this.onModelInitialized.then(() => this.logger.log(this, 'Model initialization completed'));
31
+ if (!this.initializedConstraint) {
32
+ this.logger.log(this, 'Starting model initialization mode');
33
+ this.initializationConstraint.onInitialized().then(() => this.logger.log(this, 'Model initialization completed'));
34
+ this.initializedConstraint = true;
35
+ }
35
36
  }
36
37
 
37
38
  onceModelInitialized(): Promise<void> {
38
- return this.onModelInitialized;
39
+ return this.initializationConstraint.onInitialized();
39
40
  }
40
41
 
41
42
  dispatch(action: Action): Promise<void> {
42
43
  const result = super.dispatch(action);
43
- this.initiailizationConstraint.notifyDispatched(action);
44
+ this.initializationConstraint.notifyDispatched(action);
44
45
  return result;
45
46
  }
46
47
 
@@ -38,7 +38,7 @@ import {
38
38
  SRoutableElement,
39
39
  TYPES
40
40
  } from 'sprotty';
41
- import { isRoutable } from '../../utils/smodel-util';
41
+ import { isRoutable, BoundsAwareModelElement } from '../../utils/smodel-util';
42
42
  import { getAbsolutePosition, toAbsoluteBounds, toAbsolutePosition } from '../../utils/viewpoint-util';
43
43
  import { FeedbackCommand } from './model';
44
44
 
@@ -106,12 +106,12 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
106
106
 
107
107
  const edge = edgeEnd.feedbackEdge;
108
108
  const position = getAbsolutePosition(edgeEnd, event);
109
- const endAtMousePosition = findChildrenAtPosition(target.root, position).find(
109
+ const endAtMousePosition = findChildrenAtPosition(target.root, position).reverse().find(
110
110
  element => isConnectable(element) && element.canConnect(edge, 'target')
111
111
  );
112
112
 
113
113
  if (endAtMousePosition instanceof SConnectableElement && edge.source && isBoundsAware(edge.source)) {
114
- const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(edge.source.bounds));
114
+ const anchor = this.computeAbsoluteAnchor(endAtMousePosition, center(toAbsoluteBounds(edge.source)));
115
115
  if (euclideanDistance(anchor, edgeEnd.position) > 1) {
116
116
  return [new MoveAction([{ elementId: edgeEnd.id, toPosition: anchor }], false)];
117
117
  }
@@ -122,9 +122,10 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
122
122
  return [];
123
123
  }
124
124
 
125
- protected computeAbsoluteAnchor(element: SConnectableElement, referencePoint: Point, offset?: number): Point {
125
+ protected computeAbsoluteAnchor(element: SConnectableElement, absoluteReferencePoint: Point, offset?: number): Point {
126
+ const referencePointInParent = absoluteToParent(element, absoluteReferencePoint);
126
127
  const anchorComputer = this.anchorRegistry.get(PolylineEdgeRouter.KIND, element.anchorKind);
127
- let anchor = anchorComputer.getAnchor(element, referencePoint, offset);
128
+ let anchor = anchorComputer.getAnchor(element, referencePointInParent, offset);
128
129
  // The anchor is computed in the local coordinate system of the element.
129
130
  // If the element is a nested child element we have to add the absolute position of its parent to the anchor.
130
131
  if (element.parent !== element.root) {
@@ -138,6 +139,33 @@ export class FeedbackEdgeEndMovingMouseListener extends MouseListener {
138
139
  }
139
140
  }
140
141
 
142
+ /**
143
+ * Convert a point, specified in absolute coordinates, to a point relative
144
+ * to the parent of the specified child element.
145
+ * @param element the child element
146
+ * @param absolutePoint a point in absolute coordinates
147
+ * @returns the equivalent point, relative to the element's parent coordinates
148
+ */
149
+ function absoluteToParent(element: BoundsAwareModelElement & SChildElement, absolutePoint: Point): Point{
150
+ if (isBoundsAware(element.parent)){
151
+ return absoluteToLocal(element.parent, absolutePoint);
152
+ }
153
+ // If the parent is not bounds-aware, assume it's at 0; 0 and proceed
154
+ return absoluteToLocal(element, absolutePoint);
155
+ }
156
+
157
+ /**
158
+ * Convert a point, specified in absolute coordinates, to a point relative
159
+ * to the specified element.
160
+ * @param element the element
161
+ * @param absolutePoint a point in absolute coordinates
162
+ * @returns the equivalent point, relative to the element's coordinates
163
+ */
164
+ function absoluteToLocal(element: BoundsAwareModelElement, absolutePoint: Point): Point {
165
+ const absoluteElementBounds = toAbsoluteBounds(element);
166
+ return {x: absolutePoint.x - absoluteElementBounds.x, y: absolutePoint.y - absoluteElementBounds.y};
167
+ }
168
+
141
169
  export function feedbackEdgeId(root: SModelRoot): string {
142
170
  return root.id + '_feedback_edge';
143
171
  }
@@ -29,7 +29,7 @@ export class StructureCompartmentView extends ShapeView {
29
29
 
30
30
  return (
31
31
  <g>
32
- <rect class-sprotty-comp={true} class-debug={true} x='0' y='0' width={model.size.width} height={model.size.height}></rect>
32
+ <rect class-sprotty-comp={true} class-debug={false} x='0' y='0' width={model.size.width} height={model.size.height}></rect>
33
33
  {context.renderChildren(model)}
34
34
  </g>
35
35
  );