@eclipse-glsp/client 2.3.0-next.384 → 2.3.0-next.388

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.
@@ -1 +1 @@
1
- {"version":3,"file":"copy-paste-modules.d.ts","sourceRoot":"","sources":["../../../src/features/copy-paste/copy-paste-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAiB,aAAa,EAAS,MAAM,uBAAuB,CAAC;AAI5E,eAAO,MAAM,eAAe,eAM3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,eAQrC,CAAC"}
1
+ {"version":3,"file":"copy-paste-modules.d.ts","sourceRoot":"","sources":["../../../src/features/copy-paste/copy-paste-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAiB,aAAa,EAAS,MAAM,uBAAuB,CAAC;AAI5E,eAAO,MAAM,eAAe,eAM3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,eASrC,CAAC"}
@@ -30,6 +30,7 @@ exports.copyPasteModule = new sprotty_1.FeatureModule((bind, _unbind, isBound) =
30
30
  */
31
31
  exports.standaloneCopyPasteModule = new sprotty_1.FeatureModule((bind, _unbind, isBound) => {
32
32
  (0, sprotty_1.bindAsService)(bind, sprotty_1.TYPES.IDiagramStartup, copy_paste_standalone_1.CopyPasteStartup);
33
+ bind(sprotty_1.TYPES.IGModelRootListener).toService(copy_paste_standalone_1.CopyPasteStartup);
33
34
  }, {
34
35
  featureId: Symbol('standaloneCopyPaste'),
35
36
  requires: exports.copyPasteModule
@@ -1 +1 @@
1
- {"version":3,"file":"copy-paste-modules.js","sourceRoot":"","sources":["../../../src/features/copy-paste/copy-paste-modules.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA4E;AAC5E,6DAAqF;AACrF,mEAA2D;AAE9C,QAAA,eAAe,GAAG,IAAI,uBAAa,CAC5C,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACvB,IAAI,CAAC,eAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,2CAAsB,CAAC,CAAC;IACzD,IAAI,CAAC,eAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,0CAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACpF,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CACrC,CAAC;AAEF;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,IAAI,uBAAa,CACtD,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACvB,IAAA,uBAAa,EAAC,IAAI,EAAE,eAAK,CAAC,eAAe,EAAE,wCAAgB,CAAC,CAAC;AACjE,CAAC,EACD;IACI,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;IACxC,QAAQ,EAAE,uBAAe;CAC5B,CACJ,CAAC"}
1
+ {"version":3,"file":"copy-paste-modules.js","sourceRoot":"","sources":["../../../src/features/copy-paste/copy-paste-modules.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA4E;AAC5E,6DAAqF;AACrF,mEAA2D;AAE9C,QAAA,eAAe,GAAG,IAAI,uBAAa,CAC5C,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACvB,IAAI,CAAC,eAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,2CAAsB,CAAC,CAAC;IACzD,IAAI,CAAC,eAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,0CAAqB,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACpF,CAAC,EACD,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CACrC,CAAC;AAEF;;;;GAIG;AACU,QAAA,yBAAyB,GAAG,IAAI,uBAAa,CACtD,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACvB,IAAA,uBAAa,EAAC,IAAI,EAAE,eAAK,CAAC,eAAe,EAAE,wCAAgB,CAAC,CAAC;IAC7D,IAAI,CAAC,eAAK,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,wCAAgB,CAAC,CAAC;AAChE,CAAC,EACD;IACI,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;IACxC,QAAQ,EAAE,uBAAe;CAC5B,CACJ,CAAC"}
@@ -13,15 +13,19 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Disposable, DisposableCollection } from '@eclipse-glsp/sprotty';
16
+ import { DOMHelper, Disposable, DisposableCollection, GModelRoot } from '@eclipse-glsp/sprotty';
17
+ import { IGModelRootListener } from '../../base/editor-context-service';
17
18
  import { IDiagramStartup } from '../../base/model/diagram-loader';
18
19
  import { ICopyPasteHandler } from './copy-paste-handler';
19
20
  /**
20
21
  * Startup service to hook up the copy&paste event handler
21
22
  */
22
- export declare class CopyPasteStartup implements IDiagramStartup, Disposable {
23
+ export declare class CopyPasteStartup implements IDiagramStartup, Disposable, IGModelRootListener {
23
24
  protected copyPasteHandler?: ICopyPasteHandler;
25
+ protected domHelper: DOMHelper;
24
26
  protected toDispose: DisposableCollection;
27
+ protected graphElementId?: string;
28
+ modelRootChanged(root: Readonly<GModelRoot>): void;
25
29
  postModelInitialization(): void;
26
30
  dispose(): void;
27
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"copy-paste-standalone.d.ts","sourceRoot":"","sources":["../../../src/features/copy-paste/copy-paste-standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAS,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD;;GAEG;AACH,qBACa,gBAAiB,YAAW,eAAe,EAAE,UAAU;IAGhE,SAAS,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAE/C,SAAS,CAAC,SAAS,uBAA8B;IAEjD,uBAAuB,IAAI,IAAI;IA2B/B,OAAO,IAAI,IAAI;CAGlB"}
1
+ {"version":3,"file":"copy-paste-standalone.d.ts","sourceRoot":"","sources":["../../../src/features/copy-paste/copy-paste-standalone.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAc,UAAU,EAAS,MAAM,uBAAuB,CAAC;AAEnH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD;;GAEG;AACH,qBACa,gBAAiB,YAAW,eAAe,EAAE,UAAU,EAAE,mBAAmB;IAGrF,SAAS,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAG/C,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAE/B,SAAS,CAAC,SAAS,uBAA8B;IACjD,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAElC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI;IAMlD,uBAAuB,IAAI,IAAI;IAiC/B,OAAO,IAAI,IAAI;CAGlB"}
@@ -34,21 +34,32 @@ let CopyPasteStartup = class CopyPasteStartup {
34
34
  constructor() {
35
35
  this.toDispose = new sprotty_1.DisposableCollection();
36
36
  }
37
+ modelRootChanged(root) {
38
+ if (root.id !== sprotty_1.EMPTY_ROOT.id) {
39
+ this.graphElementId = this.domHelper.createUniqueDOMElementId(root);
40
+ }
41
+ }
37
42
  postModelInitialization() {
38
43
  if (!this.copyPasteHandler) {
39
44
  return;
40
45
  }
41
46
  const copyListener = (e) => {
42
- var _a;
43
- (_a = this.copyPasteHandler) === null || _a === void 0 ? void 0 : _a.handleCopy(e);
47
+ var _a, _b;
48
+ if (this.graphElementId && ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.id) === this.graphElementId) {
49
+ (_b = this.copyPasteHandler) === null || _b === void 0 ? void 0 : _b.handleCopy(e);
50
+ }
44
51
  };
45
52
  const cutListener = (e) => {
46
- var _a;
47
- (_a = this.copyPasteHandler) === null || _a === void 0 ? void 0 : _a.handleCut(e);
53
+ var _a, _b;
54
+ if (this.graphElementId && ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.id) === this.graphElementId) {
55
+ (_b = this.copyPasteHandler) === null || _b === void 0 ? void 0 : _b.handleCut(e);
56
+ }
48
57
  };
49
58
  const pasteListener = (e) => {
50
- var _a;
51
- (_a = this.copyPasteHandler) === null || _a === void 0 ? void 0 : _a.handlePaste(e);
59
+ var _a, _b;
60
+ if (this.graphElementId && ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.id) === this.graphElementId) {
61
+ (_b = this.copyPasteHandler) === null || _b === void 0 ? void 0 : _b.handlePaste(e);
62
+ }
52
63
  };
53
64
  window.addEventListener('copy', copyListener);
54
65
  window.addEventListener('cut', cutListener);
@@ -69,6 +80,10 @@ __decorate([
69
80
  (0, inversify_1.optional)(),
70
81
  __metadata("design:type", Object)
71
82
  ], CopyPasteStartup.prototype, "copyPasteHandler", void 0);
83
+ __decorate([
84
+ (0, inversify_1.inject)(sprotty_1.TYPES.DOMHelper),
85
+ __metadata("design:type", sprotty_1.DOMHelper)
86
+ ], CopyPasteStartup.prototype, "domHelper", void 0);
72
87
  __decorate([
73
88
  (0, inversify_1.preDestroy)(),
74
89
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"copy-paste-standalone.js","sourceRoot":"","sources":["../../../src/features/copy-paste/copy-paste-standalone.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,mDAAgF;AAChF,yCAAqE;AAGrE;;GAEG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QAKO,cAAS,GAAG,IAAI,8BAAoB,EAAE,CAAC;IAgCrD,CAAC;IA9BG,uBAAuB;QACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,CAAiB,EAAQ,EAAE;;YAC7C,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,CAAiB,EAAQ,EAAE;;YAC5C,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,MAAM,aAAa,GAAG,CAAC,CAAiB,EAAQ,EAAE;;YAC9C,MAAA,IAAI,CAAC,gBAAgB,0CAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAEhD,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,oBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACnB,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACjD,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAGD,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ,CAAA;AArCY,4CAAgB;AAGf;IAFT,IAAA,kBAAM,EAAC,eAAK,CAAC,iBAAiB,CAAC;IAC/B,IAAA,oBAAQ,GAAE;;0DACoC;AA+B/C;IADC,IAAA,sBAAU,GAAE;;;;+CAGZ;2BApCQ,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAqC5B"}
1
+ {"version":3,"file":"copy-paste-standalone.js","sourceRoot":"","sources":["../../../src/features/copy-paste/copy-paste-standalone.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,mDAAmH;AACnH,yCAAqE;AAIrE;;GAEG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAAtB;QAQO,cAAS,GAAG,IAAI,8BAAoB,EAAE,CAAC;IA6CrD,CAAC;IA1CG,gBAAgB,CAAC,IAA0B;QACvC,IAAI,IAAI,CAAC,EAAE,KAAK,oBAAU,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAED,uBAAuB;QACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,CAAiB,EAAQ,EAAE;;YAC7C,IAAI,IAAI,CAAC,cAAc,IAAI,CAAA,MAAA,QAAQ,CAAC,aAAa,0CAAE,EAAE,MAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5E,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,CAAiB,EAAQ,EAAE;;YAC5C,IAAI,IAAI,CAAC,cAAc,IAAI,CAAA,MAAA,QAAQ,CAAC,aAAa,0CAAE,EAAE,MAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5E,MAAA,IAAI,CAAC,gBAAgB,0CAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,aAAa,GAAG,CAAC,CAAiB,EAAQ,EAAE;;YAC9C,IAAI,IAAI,CAAC,cAAc,IAAI,CAAA,MAAA,QAAQ,CAAC,aAAa,0CAAE,EAAE,MAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5E,MAAA,IAAI,CAAC,gBAAgB,0CAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAEhD,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,oBAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YACnB,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACjD,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAGD,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ,CAAA;AArDY,4CAAgB;AAGf;IAFT,IAAA,kBAAM,EAAC,eAAK,CAAC,iBAAiB,CAAC;IAC/B,IAAA,oBAAQ,GAAE;;0DACoC;AAGrC;IADT,IAAA,kBAAM,EAAC,eAAK,CAAC,SAAS,CAAC;8BACH,mBAAS;mDAAC;AA4C/B;IADC,IAAA,sBAAU,GAAE;;;;+CAGZ;2BApDQ,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAqD5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"change-bounds-tool-move-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAuB,MAAM,uBAAuB,CAAC;AAE/H,OAAO,EAAE,aAAa,EAAY,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACH,eAAe,EAKlB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IAUrD,SAAS,CAAC,IAAI,EAAE,gBAAgB;IAT5C,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACvC,SAAS,CAAC,kBAAkB,qBAA4B;IAExD,SAAS,CAAC,sBAAsB,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;IAE7D,SAAS,CAAC,uBAAuB,EAAE,eAAe,CAAC;IACnD,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC;gBAElB,IAAI,EAAE,gBAAgB;IAOnC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAUtE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAcxE,SAAS,CAAC,uBAAuB,IAAI,IAAI;IASzC,SAAS,CAAC,yBAAyB,IAAI,MAAM;IAI7C,SAAS,CAAC,eAAe,IAAI,IAAI;IASjC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,IAAI,eAAe;IAIrE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAOvE,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAQ9E,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAkB1E,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM;IAQ5D,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAIhG,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAK1D,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE;IAMpE,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,EAAE;IAItE,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS;IAK/E,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,EAAE;IAW3D,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAYnE,OAAO,IAAI,IAAI;CAQ3B"}
1
+ {"version":3,"file":"change-bounds-tool-move-feedback.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAuB,MAAM,uBAAuB,CAAC;AAE/H,OAAO,EAAE,aAAa,EAAY,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EACH,eAAe,EAKlB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;IAUrD,SAAS,CAAC,IAAI,EAAE,gBAAgB;IAT5C,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACnC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACvC,SAAS,CAAC,kBAAkB,qBAA4B;IAExD,SAAS,CAAC,sBAAsB,CAAC,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC;IAE7D,SAAS,CAAC,uBAAuB,EAAE,eAAe,CAAC;IACnD,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC;gBAElB,IAAI,EAAE,gBAAgB;IAOnC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAUtE,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAcxE,SAAS,CAAC,uBAAuB,IAAI,IAAI;IASzC,SAAS,CAAC,yBAAyB,IAAI,MAAM;IAI7C,SAAS,CAAC,eAAe,IAAI,IAAI;IASjC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,IAAI,eAAe;IAIrE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAOvE,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAQ9E,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAkB1E,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM;IAQ5D,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAIhG,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAK1D,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE;IAMpE,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,EAAE;IAItE,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS;IAK/E,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,EAAE;IAW3D,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAoBnE,OAAO,IAAI,IAAI;CAQ3B"}
@@ -152,10 +152,19 @@ class FeedbackMoveMouseListener extends drag_aware_mouse_listener_1.DragAwareMou
152
152
  if (!this.tracker.isTracking()) {
153
153
  return [];
154
154
  }
155
- // only reset the move of invalid elements, the others will be handled by the change bounds tool itself
156
- this.getElementsToMove(target)
157
- .filter(element => this.tool.changeBoundsManager.isValid(element))
158
- .forEach(element => this.elementId2startPos.delete(element.id));
155
+ const elementsToMove = this.getElementsToMove(target);
156
+ if (!this.tool.movementOptions.allElementsNeedToBeValid) {
157
+ // only reset the move of invalid elements, the others will be handled by the change bounds tool itself
158
+ elementsToMove
159
+ .filter(element => this.tool.changeBoundsManager.isValid(element))
160
+ .forEach(element => this.elementId2startPos.delete(element.id));
161
+ }
162
+ else {
163
+ if (elementsToMove.every(element => this.tool.changeBoundsManager.isValid(element))) {
164
+ // do not reset any element as all are valid
165
+ this.elementId2startPos.clear();
166
+ }
167
+ }
159
168
  this.dispose();
160
169
  return [];
161
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"change-bounds-tool-move-feedback.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-bounds-tool-move-feedback.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ import { IMovementRestrictor } from '../../change-bounds/movement-restrictor';
9
9
  import { BaseEditTool } from '../base-tools';
10
10
  import { IChangeBoundsManager } from './change-bounds-manager';
11
11
  import { ChangeBoundsTracker, TrackedElementResize, TrackedResize } from './change-bounds-tracker';
12
+ export interface IMovementOptions {
13
+ /** If set to true, a move with multiple elements is only performed if each individual move is valid. */
14
+ readonly allElementsNeedToBeValid: boolean;
15
+ }
12
16
  /**
13
17
  * The change bounds tool has the license to move multiple elements or resize a single element by implementing the ChangeBounds operation.
14
18
  * In contrast to Sprotty's implementation this tool only sends a `ChangeBoundsOperationAction` when an operation has finished and does not
@@ -28,6 +32,7 @@ export declare class ChangeBoundsTool extends BaseEditTool {
28
32
  readonly edgeRouterRegistry?: EdgeRouterRegistry;
29
33
  readonly movementRestrictor?: IMovementRestrictor;
30
34
  readonly changeBoundsManager: IChangeBoundsManager;
35
+ readonly movementOptions: IMovementOptions;
31
36
  get id(): string;
32
37
  enable(): void;
33
38
  createChangeBoundsTracker(): ChangeBoundsTracker;
@@ -1 +1 @@
1
- {"version":3,"file":"change-bounds-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-bounds-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,10 @@ const change_bounds_tool_move_feedback_1 = require("./change-bounds-tool-move-fe
52
52
  * resize and send the server updates we install the `ChangeBoundsListener`.
53
53
  */
54
54
  let ChangeBoundsTool = ChangeBoundsTool_1 = class ChangeBoundsTool extends base_tools_1.BaseEditTool {
55
+ constructor() {
56
+ super(...arguments);
57
+ this.movementOptions = { allElementsNeedToBeValid: true };
58
+ }
55
59
  get id() {
56
60
  return ChangeBoundsTool_1.ID;
57
61
  }
@@ -98,6 +102,11 @@ __decorate([
98
102
  (0, inversify_1.inject)(sprotty_1.TYPES.IChangeBoundsManager),
99
103
  __metadata("design:type", Object)
100
104
  ], ChangeBoundsTool.prototype, "changeBoundsManager", void 0);
105
+ __decorate([
106
+ (0, inversify_1.inject)(sprotty_1.TYPES.IMovementOptions),
107
+ (0, inversify_1.optional)(),
108
+ __metadata("design:type", Object)
109
+ ], ChangeBoundsTool.prototype, "movementOptions", void 0);
101
110
  exports.ChangeBoundsTool = ChangeBoundsTool = ChangeBoundsTool_1 = __decorate([
102
111
  (0, inversify_1.injectable)()
103
112
  ], ChangeBoundsTool);
@@ -216,7 +225,11 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
216
225
  getElementsToMove(target) {
217
226
  const selectedElements = (0, gmodel_util_1.getMatchingElements)(target.index, gmodel_util_1.isNonRoutableSelectedMovableBoundsAware);
218
227
  const selectionSet = new Set(selectedElements);
219
- return selectedElements.filter(element => this.isValidMove(element, selectionSet));
228
+ const elementsToMove = selectedElements.filter(element => this.isValidMove(element, selectionSet));
229
+ if (this.tool.movementOptions.allElementsNeedToBeValid && elementsToMove.length !== selectionSet.size) {
230
+ return [];
231
+ }
232
+ return elementsToMove;
220
233
  }
221
234
  handleMoveElementsOnServer(elementsToMove) {
222
235
  const newBounds = elementsToMove.map(gmodel_util_1.toElementAndBounds);
@@ -1 +1 @@
1
- {"version":3,"file":"change-bounds-tool.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-bounds-tool.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/client",
3
- "version": "2.3.0-next.384+a172687",
3
+ "version": "2.3.0-next.388+352e764",
4
4
  "description": "A sprotty-based client for GLSP",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -46,7 +46,7 @@
46
46
  "watch": "tsc -w"
47
47
  },
48
48
  "dependencies": {
49
- "@eclipse-glsp/sprotty": "2.3.0-next.384+a172687",
49
+ "@eclipse-glsp/sprotty": "2.3.0-next.388+352e764",
50
50
  "autocompleter": "^9.1.2",
51
51
  "file-saver": "^2.0.5",
52
52
  "lodash": "4.17.21",
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "a172687427d52b5aeacc84e1f3f786d36118d31c"
66
+ "gitHead": "352e764f6e68ced5dee50f047af11cec5b95eaf6"
67
67
  }
@@ -33,6 +33,7 @@ export const copyPasteModule = new FeatureModule(
33
33
  export const standaloneCopyPasteModule = new FeatureModule(
34
34
  (bind, _unbind, isBound) => {
35
35
  bindAsService(bind, TYPES.IDiagramStartup, CopyPasteStartup);
36
+ bind(TYPES.IGModelRootListener).toService(CopyPasteStartup);
36
37
  },
37
38
  {
38
39
  featureId: Symbol('standaloneCopyPaste'),
@@ -14,33 +14,50 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { Disposable, DisposableCollection, TYPES } from '@eclipse-glsp/sprotty';
17
+ import { DOMHelper, Disposable, DisposableCollection, EMPTY_ROOT, GModelRoot, TYPES } from '@eclipse-glsp/sprotty';
18
18
  import { inject, injectable, optional, preDestroy } from 'inversify';
19
+ import { IGModelRootListener } from '../../base/editor-context-service';
19
20
  import { IDiagramStartup } from '../../base/model/diagram-loader';
20
21
  import { ICopyPasteHandler } from './copy-paste-handler';
21
22
  /**
22
23
  * Startup service to hook up the copy&paste event handler
23
24
  */
24
25
  @injectable()
25
- export class CopyPasteStartup implements IDiagramStartup, Disposable {
26
+ export class CopyPasteStartup implements IDiagramStartup, Disposable, IGModelRootListener {
26
27
  @inject(TYPES.ICopyPasteHandler)
27
28
  @optional()
28
29
  protected copyPasteHandler?: ICopyPasteHandler;
29
30
 
31
+ @inject(TYPES.DOMHelper)
32
+ protected domHelper: DOMHelper;
33
+
30
34
  protected toDispose = new DisposableCollection();
35
+ protected graphElementId?: string;
36
+
37
+ modelRootChanged(root: Readonly<GModelRoot>): void {
38
+ if (root.id !== EMPTY_ROOT.id) {
39
+ this.graphElementId = this.domHelper.createUniqueDOMElementId(root);
40
+ }
41
+ }
31
42
 
32
43
  postModelInitialization(): void {
33
44
  if (!this.copyPasteHandler) {
34
45
  return;
35
46
  }
36
47
  const copyListener = (e: ClipboardEvent): void => {
37
- this.copyPasteHandler?.handleCopy(e);
48
+ if (this.graphElementId && document.activeElement?.id === this.graphElementId) {
49
+ this.copyPasteHandler?.handleCopy(e);
50
+ }
38
51
  };
39
52
  const cutListener = (e: ClipboardEvent): void => {
40
- this.copyPasteHandler?.handleCut(e);
53
+ if (this.graphElementId && document.activeElement?.id === this.graphElementId) {
54
+ this.copyPasteHandler?.handleCut(e);
55
+ }
41
56
  };
42
57
  const pasteListener = (e: ClipboardEvent): void => {
43
- this.copyPasteHandler?.handlePaste(e);
58
+ if (this.graphElementId && document.activeElement?.id === this.graphElementId) {
59
+ this.copyPasteHandler?.handlePaste(e);
60
+ }
44
61
  };
45
62
  window.addEventListener('copy', copyListener);
46
63
  window.addEventListener('cut', cutListener);
@@ -185,10 +185,18 @@ export class FeedbackMoveMouseListener extends DragAwareMouseListener {
185
185
  if (!this.tracker.isTracking()) {
186
186
  return [];
187
187
  }
188
- // only reset the move of invalid elements, the others will be handled by the change bounds tool itself
189
- this.getElementsToMove(target)
190
- .filter(element => this.tool.changeBoundsManager.isValid(element))
191
- .forEach(element => this.elementId2startPos.delete(element.id));
188
+ const elementsToMove = this.getElementsToMove(target);
189
+ if (!this.tool.movementOptions.allElementsNeedToBeValid) {
190
+ // only reset the move of invalid elements, the others will be handled by the change bounds tool itself
191
+ elementsToMove
192
+ .filter(element => this.tool.changeBoundsManager.isValid(element))
193
+ .forEach(element => this.elementId2startPos.delete(element.id));
194
+ } else {
195
+ if (elementsToMove.every(element => this.tool.changeBoundsManager.isValid(element))) {
196
+ // do not reset any element as all are valid
197
+ this.elementId2startPos.clear();
198
+ }
199
+ }
192
200
  this.dispose();
193
201
  return [];
194
202
  }
@@ -63,6 +63,11 @@ import {
63
63
  import { FeedbackMoveMouseListener } from './change-bounds-tool-move-feedback';
64
64
  import { ChangeBoundsTracker, TrackedElementResize, TrackedResize } from './change-bounds-tracker';
65
65
 
66
+ export interface IMovementOptions {
67
+ /** If set to true, a move with multiple elements is only performed if each individual move is valid. */
68
+ readonly allElementsNeedToBeValid: boolean;
69
+ }
70
+
66
71
  /**
67
72
  * The change bounds tool has the license to move multiple elements or resize a single element by implementing the ChangeBounds operation.
68
73
  * In contrast to Sprotty's implementation this tool only sends a `ChangeBoundsOperationAction` when an operation has finished and does not
@@ -84,6 +89,7 @@ export class ChangeBoundsTool extends BaseEditTool {
84
89
  @inject(EdgeRouterRegistry) @optional() readonly edgeRouterRegistry?: EdgeRouterRegistry;
85
90
  @inject(TYPES.IMovementRestrictor) @optional() readonly movementRestrictor?: IMovementRestrictor;
86
91
  @inject(TYPES.IChangeBoundsManager) readonly changeBoundsManager: IChangeBoundsManager;
92
+ @inject(TYPES.IMovementOptions) @optional() readonly movementOptions: IMovementOptions = { allElementsNeedToBeValid: true };
87
93
 
88
94
  get id(): string {
89
95
  return ChangeBoundsTool.ID;
@@ -260,7 +266,11 @@ export class ChangeBoundsListener extends DragAwareMouseListener implements ISel
260
266
  protected getElementsToMove(target: GModelElement): SelectableBoundsAware[] {
261
267
  const selectedElements = getMatchingElements(target.index, isNonRoutableSelectedMovableBoundsAware);
262
268
  const selectionSet: Set<BoundsAwareModelElement> = new Set(selectedElements);
263
- return selectedElements.filter(element => this.isValidMove(element, selectionSet));
269
+ const elementsToMove = selectedElements.filter(element => this.isValidMove(element, selectionSet));
270
+ if (this.tool.movementOptions.allElementsNeedToBeValid && elementsToMove.length !== selectionSet.size) {
271
+ return [];
272
+ }
273
+ return elementsToMove;
264
274
  }
265
275
 
266
276
  protected handleMoveElementsOnServer(elementsToMove: SelectableBoundsAware[]): Operation[] {