@eclipse-glsp/client 2.2.0-next.331 → 2.2.0-next.332

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/css/debug.css +25 -0
  2. package/css/grid.css +20 -0
  3. package/css/keyboard-tool-palette.css +0 -6
  4. package/css/tool-palette.css +30 -26
  5. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.d.ts.map +1 -1
  6. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.js +21 -7
  7. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.js.map +1 -1
  8. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +2 -4
  9. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -1
  10. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +11 -7
  11. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -1
  12. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +5 -6
  13. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
  14. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +12 -8
  15. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
  16. package/lib/features/change-bounds/snap.d.ts +1 -22
  17. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  18. package/lib/features/change-bounds/snap.js +1 -37
  19. package/lib/features/change-bounds/snap.js.map +1 -1
  20. package/lib/features/debug/debug-bounds-decorator.d.ts +35 -0
  21. package/lib/features/debug/debug-bounds-decorator.d.ts.map +1 -0
  22. package/lib/features/debug/debug-bounds-decorator.js +149 -0
  23. package/lib/features/debug/debug-bounds-decorator.js.map +1 -0
  24. package/lib/features/debug/debug-manager.d.ts +29 -0
  25. package/lib/features/debug/debug-manager.d.ts.map +1 -0
  26. package/lib/features/debug/debug-manager.js +72 -0
  27. package/lib/features/debug/debug-manager.js.map +1 -0
  28. package/lib/features/debug/debug-model.d.ts +37 -0
  29. package/lib/features/debug/debug-model.d.ts.map +1 -0
  30. package/lib/features/debug/debug-model.js +73 -0
  31. package/lib/features/debug/debug-model.js.map +1 -0
  32. package/lib/features/debug/debug-module.d.ts +19 -0
  33. package/lib/features/debug/debug-module.d.ts.map +1 -0
  34. package/lib/features/debug/debug-module.js +31 -0
  35. package/lib/features/debug/debug-module.js.map +1 -0
  36. package/lib/features/debug/index.d.ts +20 -0
  37. package/lib/features/debug/index.d.ts.map +1 -0
  38. package/lib/features/debug/index.js +36 -0
  39. package/lib/features/debug/index.js.map +1 -0
  40. package/lib/features/grid/grid-manager.d.ts +32 -0
  41. package/lib/features/grid/grid-manager.d.ts.map +1 -0
  42. package/lib/features/grid/grid-manager.js +74 -0
  43. package/lib/features/grid/grid-manager.js.map +1 -0
  44. package/lib/features/grid/grid-model.d.ts +37 -0
  45. package/lib/features/grid/grid-model.d.ts.map +1 -0
  46. package/lib/features/grid/grid-model.js +73 -0
  47. package/lib/features/grid/grid-model.js.map +1 -0
  48. package/lib/features/grid/grid-module.d.ts +19 -0
  49. package/lib/features/grid/grid-module.d.ts.map +1 -0
  50. package/lib/features/grid/grid-module.js +32 -0
  51. package/lib/features/grid/grid-module.js.map +1 -0
  52. package/lib/features/grid/grid-snapper.d.ts +45 -0
  53. package/lib/features/grid/grid-snapper.d.ts.map +1 -0
  54. package/lib/features/grid/grid-snapper.js +83 -0
  55. package/lib/features/grid/grid-snapper.js.map +1 -0
  56. package/lib/features/grid/grid.d.ts +18 -0
  57. package/lib/features/grid/grid.d.ts.map +1 -0
  58. package/lib/features/grid/grid.js +3 -0
  59. package/lib/features/grid/grid.js.map +1 -0
  60. package/lib/features/grid/index.d.ts +21 -0
  61. package/lib/features/grid/index.d.ts.map +1 -0
  62. package/lib/features/grid/index.js +37 -0
  63. package/lib/features/grid/index.js.map +1 -0
  64. package/lib/features/helper-lines/helper-line-manager-default.d.ts +4 -1
  65. package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +1 -1
  66. package/lib/features/helper-lines/helper-line-manager-default.js +11 -1
  67. package/lib/features/helper-lines/helper-line-manager-default.js.map +1 -1
  68. package/lib/features/index.d.ts +2 -0
  69. package/lib/features/index.d.ts.map +1 -1
  70. package/lib/features/index.js +2 -0
  71. package/lib/features/index.js.map +1 -1
  72. package/lib/features/tool-palette/tool-palette.d.ts +7 -0
  73. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  74. package/lib/features/tool-palette/tool-palette.js +80 -2
  75. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  76. package/lib/features/viewport/index.d.ts +1 -0
  77. package/lib/features/viewport/index.d.ts.map +1 -1
  78. package/lib/features/viewport/index.js +1 -0
  79. package/lib/features/viewport/index.js.map +1 -1
  80. package/lib/features/viewport/origin-viewport.d.ts +36 -0
  81. package/lib/features/viewport/origin-viewport.d.ts.map +1 -0
  82. package/lib/features/viewport/origin-viewport.js +75 -0
  83. package/lib/features/viewport/origin-viewport.js.map +1 -0
  84. package/lib/features/viewport/viewport-modules.d.ts.map +1 -1
  85. package/lib/features/viewport/viewport-modules.js +4 -2
  86. package/lib/features/viewport/viewport-modules.js.map +1 -1
  87. package/lib/views/base-view-module.d.ts.map +1 -1
  88. package/lib/views/base-view-module.js +3 -2
  89. package/lib/views/base-view-module.js.map +1 -1
  90. package/lib/views/ggraph-view.d.ts +26 -0
  91. package/lib/views/ggraph-view.d.ts.map +1 -0
  92. package/lib/views/ggraph-view.js +71 -0
  93. package/lib/views/ggraph-view.js.map +1 -0
  94. package/lib/views/glsp-projection-view.d.ts +6 -1
  95. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  96. package/lib/views/glsp-projection-view.js +30 -6
  97. package/lib/views/glsp-projection-view.js.map +1 -1
  98. package/lib/views/index.d.ts +1 -0
  99. package/lib/views/index.d.ts.map +1 -1
  100. package/lib/views/index.js +1 -0
  101. package/lib/views/index.js.map +1 -1
  102. package/package.json +3 -3
  103. package/src/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.ts +24 -7
  104. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +9 -9
  105. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +13 -11
  106. package/src/features/change-bounds/{snap.spec.ts → point-position-updater.spec.ts} +1 -12
  107. package/src/features/change-bounds/snap.ts +1 -24
  108. package/src/features/debug/debug-bounds-decorator.tsx +171 -0
  109. package/src/features/debug/debug-manager.ts +56 -0
  110. package/src/features/debug/debug-model.ts +63 -0
  111. package/src/features/debug/debug-module.ts +32 -0
  112. package/src/features/debug/index.ts +19 -0
  113. package/src/features/grid/grid-manager.ts +60 -0
  114. package/src/features/grid/grid-model.ts +62 -0
  115. package/src/features/grid/grid-module.ts +34 -0
  116. package/src/features/grid/grid-snapper.spec.ts +30 -0
  117. package/src/features/grid/grid-snapper.ts +59 -0
  118. package/src/features/grid/grid.ts +18 -0
  119. package/src/features/grid/index.ts +20 -0
  120. package/src/features/helper-lines/helper-line-manager-default.ts +10 -2
  121. package/src/features/index.ts +2 -0
  122. package/src/features/tool-palette/tool-palette.ts +80 -3
  123. package/src/features/viewport/index.ts +1 -0
  124. package/src/features/viewport/origin-viewport.ts +68 -0
  125. package/src/features/viewport/viewport-modules.ts +4 -2
  126. package/src/views/base-view-module.ts +3 -3
  127. package/src/views/ggraph-view.tsx +56 -0
  128. package/src/views/glsp-projection-view.tsx +34 -7
  129. package/src/views/index.ts +1 -0
@@ -0,0 +1,32 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2024 Axon Ivy AG 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 { IActionHandler, PropertiesOfType } from '@eclipse-glsp/sprotty';
17
+ import { FeedbackEmitter, IFeedbackActionDispatcher } from '../../base';
18
+ import { Grid } from './grid';
19
+ import { ShowGridAction } from './grid-model';
20
+ export type GridStyle = Record<string, string> & Partial<PropertiesOfType<CSSStyleDeclaration, string>>;
21
+ export declare class GridManager implements IActionHandler {
22
+ protected _gridVisible: boolean;
23
+ protected gridFeedback: FeedbackEmitter;
24
+ protected feedbackDispatcher: IFeedbackActionDispatcher;
25
+ readonly grid: Grid;
26
+ get isGridVisible(): boolean;
27
+ protected init(): void;
28
+ handle(action: ShowGridAction): void;
29
+ setGridVisible(visible: boolean): void;
30
+ toggleGridVisible(): void;
31
+ }
32
+ //# sourceMappingURL=grid-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-manager.d.ts","sourceRoot":"","sources":["../../../src/features/grid/grid-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAS,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;AAExG,qBACa,WAAY,YAAW,cAAc;IAC9C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAS;IACxC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC;IAGxC,SAAS,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IAExD,SACgB,IAAI,EAAE,IAAI,CAAC;IAE3B,IAAI,aAAa,IAAI,OAAO,CAE3B;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAIpC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQtC,iBAAiB,IAAI,IAAI;CAG5B"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2024 Axon Ivy AG and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.GridManager = void 0;
28
+ const sprotty_1 = require("@eclipse-glsp/sprotty");
29
+ const inversify_1 = require("inversify");
30
+ const grid_model_1 = require("./grid-model");
31
+ let GridManager = class GridManager {
32
+ constructor() {
33
+ this._gridVisible = false;
34
+ }
35
+ get isGridVisible() {
36
+ return this._gridVisible;
37
+ }
38
+ init() {
39
+ this.gridFeedback = this.feedbackDispatcher.createEmitter();
40
+ }
41
+ handle(action) {
42
+ this._gridVisible = action.show;
43
+ }
44
+ setGridVisible(visible) {
45
+ if (!visible) {
46
+ this.gridFeedback.dispose();
47
+ }
48
+ else {
49
+ this.gridFeedback.add(grid_model_1.ShowGridAction.create({ show: true }), grid_model_1.ShowGridAction.create({ show: false })).submit();
50
+ }
51
+ }
52
+ toggleGridVisible() {
53
+ this.setGridVisible(!this._gridVisible);
54
+ }
55
+ };
56
+ exports.GridManager = GridManager;
57
+ __decorate([
58
+ (0, inversify_1.inject)(sprotty_1.TYPES.IFeedbackActionDispatcher),
59
+ __metadata("design:type", Object)
60
+ ], GridManager.prototype, "feedbackDispatcher", void 0);
61
+ __decorate([
62
+ (0, inversify_1.inject)(sprotty_1.TYPES.Grid),
63
+ __metadata("design:type", Object)
64
+ ], GridManager.prototype, "grid", void 0);
65
+ __decorate([
66
+ (0, inversify_1.postConstruct)(),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", []),
69
+ __metadata("design:returntype", void 0)
70
+ ], GridManager.prototype, "init", null);
71
+ exports.GridManager = GridManager = __decorate([
72
+ (0, inversify_1.injectable)()
73
+ ], GridManager);
74
+ //# sourceMappingURL=grid-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-manager.js","sourceRoot":"","sources":["../../../src/features/grid/grid-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,mDAAgF;AAChF,yCAA8D;AAG9D,6CAA8C;AAKvC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAAjB;QACO,iBAAY,GAAY,KAAK,CAAC;IAiC5C,CAAC;IAxBG,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAGS,IAAI;QACV,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,MAAsB;QACzB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,cAAc,CAAC,OAAgB;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,2BAAc,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,2BAAc,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAClH,CAAC;IACL,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;CACJ,CAAA;AAlCY,kCAAW;AAKV;IADT,IAAA,kBAAM,EAAC,eAAK,CAAC,yBAAyB,CAAC;;uDACgB;AAGxC;IADf,IAAA,kBAAM,EAAC,eAAK,CAAC,IAAI,CAAC;;yCACQ;AAOjB;IADT,IAAA,yBAAa,GAAE;;;;uCAGf;sBAjBQ,WAAW;IADvB,IAAA,sBAAU,GAAE;GACA,WAAW,CAkCvB"}
@@ -0,0 +1,37 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2024 Axon Ivy AG and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Action, CommandExecutionContext, CommandReturn, GModelRoot } from '@eclipse-glsp/sprotty';
17
+ import { FeedbackCommand } from '../../base';
18
+ export interface ShowGridAction extends Action {
19
+ kind: typeof ShowGridCommand.KIND;
20
+ show: boolean;
21
+ }
22
+ export declare namespace ShowGridAction {
23
+ const KIND = "showGrid";
24
+ const CSS_ROOT_CLASS = "grid-background";
25
+ function is(object: any): object is ShowGridAction;
26
+ function create(options: {
27
+ show: boolean;
28
+ }): ShowGridAction;
29
+ }
30
+ export declare class ShowGridCommand extends FeedbackCommand {
31
+ protected readonly action: ShowGridAction;
32
+ static readonly KIND = "showGrid";
33
+ constructor(action: ShowGridAction);
34
+ execute(context: CommandExecutionContext): CommandReturn;
35
+ protected setGrid(root: GModelRoot, show: boolean): CommandReturn;
36
+ }
37
+ //# sourceMappingURL=grid-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-model.d.ts","sourceRoot":"","sources":["../../../src/features/grid/grid-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,aAAa,EAAE,UAAU,EAAyB,MAAM,uBAAuB,CAAC;AAE1H,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC1C,IAAI,EAAE,OAAO,eAAe,CAAC,IAAI,CAAC;IAClC,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,yBAAiB,cAAc,CAAC;IACrB,MAAM,IAAI,aAAa,CAAC;IACxB,MAAM,cAAc,oBAAoB,CAAC;IAEhD,SAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,cAAc,CAExD;IAED,SAAgB,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,cAAc,CAKjE;CACJ;AAED,qBACa,eAAgB,SAAQ,eAAe;IAGd,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IAF3E,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAuB;gBAEU,MAAM,EAAE,cAAc;IAI3E,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IAIxD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,aAAa;CAQpE"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ShowGridCommand = exports.ShowGridAction = void 0;
16
+ /********************************************************************************
17
+ * Copyright (c) 2024 Axon Ivy AG and others.
18
+ *
19
+ * This program and the accompanying materials are made available under the
20
+ * terms of the Eclipse Public License v. 2.0 which is available at
21
+ * http://www.eclipse.org/legal/epl-2.0.
22
+ *
23
+ * This Source Code may also be made available under the following Secondary
24
+ * Licenses when the conditions for such availability set forth in the Eclipse
25
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
26
+ * with the GNU Classpath Exception which is available at
27
+ * https://www.gnu.org/software/classpath/license.html.
28
+ *
29
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
30
+ ********************************************************************************/
31
+ const sprotty_1 = require("@eclipse-glsp/sprotty");
32
+ const inversify_1 = require("inversify");
33
+ const base_1 = require("../../base");
34
+ const utils_1 = require("../../utils");
35
+ var ShowGridAction;
36
+ (function (ShowGridAction) {
37
+ ShowGridAction.KIND = 'showGrid';
38
+ ShowGridAction.CSS_ROOT_CLASS = 'grid-background';
39
+ function is(object) {
40
+ return sprotty_1.Action.hasKind(object, ShowGridAction.KIND) && (0, sprotty_1.hasBooleanProp)(object, 'show');
41
+ }
42
+ ShowGridAction.is = is;
43
+ function create(options) {
44
+ return Object.assign({ kind: ShowGridCommand.KIND }, options);
45
+ }
46
+ ShowGridAction.create = create;
47
+ })(ShowGridAction || (exports.ShowGridAction = ShowGridAction = {}));
48
+ let ShowGridCommand = class ShowGridCommand extends base_1.FeedbackCommand {
49
+ constructor(action) {
50
+ super();
51
+ this.action = action;
52
+ }
53
+ execute(context) {
54
+ return this.setGrid(context.root, this.action.show);
55
+ }
56
+ setGrid(root, show) {
57
+ if (show) {
58
+ (0, utils_1.addCssClasses)(root, [ShowGridAction.CSS_ROOT_CLASS]);
59
+ }
60
+ else {
61
+ (0, utils_1.removeCssClasses)(root, [ShowGridAction.CSS_ROOT_CLASS]);
62
+ }
63
+ return root;
64
+ }
65
+ };
66
+ exports.ShowGridCommand = ShowGridCommand;
67
+ ShowGridCommand.KIND = ShowGridAction.KIND;
68
+ exports.ShowGridCommand = ShowGridCommand = __decorate([
69
+ (0, inversify_1.injectable)(),
70
+ __param(0, (0, inversify_1.inject)(sprotty_1.TYPES.Action)),
71
+ __metadata("design:paramtypes", [Object])
72
+ ], ShowGridCommand);
73
+ //# sourceMappingURL=grid-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-model.js","sourceRoot":"","sources":["../../../src/features/grid/grid-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA0H;AAC1H,yCAA+C;AAC/C,qCAA6C;AAC7C,uCAA8D;AAO9D,IAAiB,cAAc,CAc9B;AAdD,WAAiB,cAAc;IACd,mBAAI,GAAG,UAAU,CAAC;IAClB,6BAAc,GAAG,iBAAiB,CAAC;IAEhD,SAAgB,EAAE,CAAC,MAAW;QAC1B,OAAO,gBAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAA,IAAI,CAAC,IAAI,IAAA,wBAAc,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAFe,iBAAE,KAEjB,CAAA;IAED,SAAgB,MAAM,CAAC,OAA0B;QAC7C,uBACI,IAAI,EAAE,eAAe,CAAC,IAAI,IACvB,OAAO,EACZ;IACN,CAAC;IALe,qBAAM,SAKrB,CAAA;AACL,CAAC,EAdgB,cAAc,8BAAd,cAAc,QAc9B;AAGM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,sBAAe;IAGhD,YAAqD,MAAsB;QACvE,KAAK,EAAE,CAAC;QADyC,WAAM,GAAN,MAAM,CAAgB;IAE3E,CAAC;IAED,OAAO,CAAC,OAAgC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAES,OAAO,CAAC,IAAgB,EAAE,IAAa;QAC7C,IAAI,IAAI,EAAE,CAAC;YACP,IAAA,qBAAa,EAAC,IAAI,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,IAAA,wBAAgB,EAAC,IAAI,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;;AAlBQ,0CAAe;AACR,oBAAI,GAAG,cAAc,CAAC,IAAI,AAAtB,CAAuB;0BADlC,eAAe;IAD3B,IAAA,sBAAU,GAAE;IAII,WAAA,IAAA,kBAAM,EAAC,eAAK,CAAC,MAAM,CAAC,CAAA;;GAHxB,eAAe,CAmB3B"}
@@ -0,0 +1,19 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Axon Ivy AG 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 { FeatureModule } from '@eclipse-glsp/sprotty';
17
+ import '../../../css/grid.css';
18
+ export declare const gridModule: FeatureModule;
19
+ //# sourceMappingURL=grid-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-module.d.ts","sourceRoot":"","sources":["../../../src/features/grid/grid-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,aAAa,EAAkE,MAAM,uBAAuB,CAAC;AACtH,OAAO,uBAAuB,CAAC;AAK/B,eAAO,MAAM,UAAU,eAWrB,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2023 Axon Ivy AG and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.gridModule = void 0;
19
+ const sprotty_1 = require("@eclipse-glsp/sprotty");
20
+ require("../../../css/grid.css");
21
+ const grid_manager_1 = require("./grid-manager");
22
+ const grid_model_1 = require("./grid-model");
23
+ const grid_snapper_1 = require("./grid-snapper");
24
+ exports.gridModule = new sprotty_1.FeatureModule((bind, unbind, isBound, rebind) => {
25
+ const context = { bind, unbind, isBound, rebind };
26
+ bind(sprotty_1.TYPES.Grid).toConstantValue({ x: 10, y: 10 });
27
+ (0, sprotty_1.configureCommand)(context, grid_model_1.ShowGridCommand);
28
+ (0, sprotty_1.bindAsService)(bind, sprotty_1.TYPES.IGridManager, grid_manager_1.GridManager);
29
+ (0, sprotty_1.configureActionHandler)(context, grid_model_1.ShowGridAction.KIND, grid_manager_1.GridManager);
30
+ bind(sprotty_1.TYPES.ISnapper).to(grid_snapper_1.GridSnapper);
31
+ });
32
+ //# sourceMappingURL=grid-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-module.js","sourceRoot":"","sources":["../../../src/features/grid/grid-module.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,mDAAsH;AACtH,iCAA+B;AAC/B,iDAA6C;AAC7C,6CAA+D;AAC/D,iDAA6C;AAEhC,QAAA,UAAU,GAAG,IAAI,uBAAa,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAC1E,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAElD,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnD,IAAA,0BAAgB,EAAC,OAAO,EAAE,4BAAe,CAAC,CAAC;IAE3C,IAAA,uBAAa,EAAC,IAAI,EAAE,eAAK,CAAC,YAAY,EAAE,0BAAW,CAAC,CAAC;IACrD,IAAA,gCAAsB,EAAC,OAAO,EAAE,2BAAc,CAAC,IAAI,EAAE,0BAAW,CAAC,CAAC;IAElE,IAAI,CAAC,eAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,0BAAW,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2024 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 { CenterGridSnapper, GModelElement, ISnapper, Point } from '@eclipse-glsp/sprotty';
17
+ import { Grid } from './grid';
18
+ /**
19
+ * A {@link ISnapper} implementation that snaps all elements onto a fixed gride size.
20
+ * The default grid size is 10x10 pixel.
21
+ * To configure a custom grid size bind the `TYPES.ISnapper` service identifier
22
+ * to constant value, e.g:
23
+ *
24
+ * ```ts
25
+ * bind(TYPES.ISnapper).toConstantValue(new GridSnapper({ x: 25, y: 25 }));
26
+ * ```
27
+ *
28
+ * or use the `Grid` to define the grid size more generically:
29
+ * ```ts
30
+ * bind(TYPES.Grid).toConstantValue({ x: 25, y: 25 });
31
+ * bind(TYPES.ISnapper).to(GridSnapper);
32
+ * ```
33
+ */
34
+ export declare class GridSnapper implements ISnapper {
35
+ readonly grid: Grid;
36
+ constructor(grid?: Grid);
37
+ snap(position: Point, element: GModelElement): Point;
38
+ }
39
+ export declare class GLSPCenterGridSnapper extends CenterGridSnapper {
40
+ readonly grid: Grid;
41
+ constructor(grid?: Grid);
42
+ get gridX(): number;
43
+ get gridY(): number;
44
+ }
45
+ //# sourceMappingURL=grid-snapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-snapper.d.ts","sourceRoot":"","sources":["../../../src/features/grid/grid-snapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAS,MAAM,uBAAuB,CAAC;AAEjG,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;;;;;;;;;;;;;GAeG;AACH,qBACa,WAAY,YAAW,QAAQ;aACoB,IAAI,EAAE,IAAI;gBAAV,IAAI,GAAE,IAAuB;IAEzF,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK;CAGvD;AAED,qBACa,qBAAsB,SAAQ,iBAAiB;aACI,IAAI,EAAE,IAAI;gBAAV,IAAI,GAAE,IAAuB;IAIzF,IAAa,KAAK,IAAI,MAAM,CAE3B;IAED,IAAa,KAAK,IAAI,MAAM,CAE3B;CACJ"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (c) 2024 EclipseSource and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
27
+ return function (target, key) { decorator(target, key, paramIndex); }
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.GLSPCenterGridSnapper = exports.GridSnapper = void 0;
31
+ const sprotty_1 = require("@eclipse-glsp/sprotty");
32
+ const inversify_1 = require("inversify");
33
+ /**
34
+ * A {@link ISnapper} implementation that snaps all elements onto a fixed gride size.
35
+ * The default grid size is 10x10 pixel.
36
+ * To configure a custom grid size bind the `TYPES.ISnapper` service identifier
37
+ * to constant value, e.g:
38
+ *
39
+ * ```ts
40
+ * bind(TYPES.ISnapper).toConstantValue(new GridSnapper({ x: 25, y: 25 }));
41
+ * ```
42
+ *
43
+ * or use the `Grid` to define the grid size more generically:
44
+ * ```ts
45
+ * bind(TYPES.Grid).toConstantValue({ x: 25, y: 25 });
46
+ * bind(TYPES.ISnapper).to(GridSnapper);
47
+ * ```
48
+ */
49
+ let GridSnapper = class GridSnapper {
50
+ constructor(grid = { x: 10, y: 10 }) {
51
+ this.grid = grid;
52
+ }
53
+ snap(position, element) {
54
+ return sprotty_1.Point.snapToGrid(position, this.grid);
55
+ }
56
+ };
57
+ exports.GridSnapper = GridSnapper;
58
+ exports.GridSnapper = GridSnapper = __decorate([
59
+ (0, inversify_1.injectable)(),
60
+ __param(0, (0, inversify_1.optional)()),
61
+ __param(0, (0, inversify_1.inject)(sprotty_1.TYPES.Grid)),
62
+ __metadata("design:paramtypes", [Object])
63
+ ], GridSnapper);
64
+ let GLSPCenterGridSnapper = class GLSPCenterGridSnapper extends sprotty_1.CenterGridSnapper {
65
+ constructor(grid = { x: 10, y: 10 }) {
66
+ super();
67
+ this.grid = grid;
68
+ }
69
+ get gridX() {
70
+ return this.grid.x;
71
+ }
72
+ get gridY() {
73
+ return this.grid.y;
74
+ }
75
+ };
76
+ exports.GLSPCenterGridSnapper = GLSPCenterGridSnapper;
77
+ exports.GLSPCenterGridSnapper = GLSPCenterGridSnapper = __decorate([
78
+ (0, inversify_1.injectable)(),
79
+ __param(0, (0, inversify_1.optional)()),
80
+ __param(0, (0, inversify_1.inject)(sprotty_1.TYPES.Grid)),
81
+ __metadata("design:paramtypes", [Object])
82
+ ], GLSPCenterGridSnapper);
83
+ //# sourceMappingURL=grid-snapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-snapper.js","sourceRoot":"","sources":["../../../src/features/grid/grid-snapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;;;;AAElF,mDAAiG;AACjG,yCAAyD;AAGzD;;;;;;;;;;;;;;;GAeG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAW;IACpB,YAA4D,OAAa,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QAA7B,SAAI,GAAJ,IAAI,CAAyB;IAAG,CAAC;IAE7F,IAAI,CAAC,QAAe,EAAE,OAAsB;QACxC,OAAO,eAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;CACJ,CAAA;AANY,kCAAW;sBAAX,WAAW;IADvB,IAAA,sBAAU,GAAE;IAEI,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,kBAAM,EAAC,eAAK,CAAC,IAAI,CAAC,CAAA;;GADlC,WAAW,CAMvB;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,2BAAiB;IACxD,YAA4D,OAAa,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QACrF,KAAK,EAAE,CAAC;QADgD,SAAI,GAAJ,IAAI,CAAyB;IAEzF,CAAC;IAED,IAAa,KAAK;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,IAAa,KAAK;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvB,CAAC;CACJ,CAAA;AAZY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,sBAAU,GAAE;IAEI,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,kBAAM,EAAC,eAAK,CAAC,IAAI,CAAC,CAAA;;GADlC,qBAAqB,CAYjC"}
@@ -0,0 +1,18 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2024 Axon Ivy AG 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 { Point } from '@eclipse-glsp/sprotty';
17
+ export type Grid = Point;
18
+ //# sourceMappingURL=grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/features/grid/grid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../src/features/grid/grid.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2024 Axon Ivy AG 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
+ export * from './grid';
17
+ export * from './grid-manager';
18
+ export * from './grid-model';
19
+ export * from './grid-module';
20
+ export * from './grid-snapper';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/grid/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /********************************************************************************
18
+ * Copyright (c) 2024 Axon Ivy AG and others.
19
+ *
20
+ * This program and the accompanying materials are made available under the
21
+ * terms of the Eclipse Public License v. 2.0 which is available at
22
+ * http://www.eclipse.org/legal/epl-2.0.
23
+ *
24
+ * This Source Code may also be made available under the following Secondary
25
+ * Licenses when the conditions for such availability set forth in the Eclipse
26
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
27
+ * with the GNU Classpath Exception which is available at
28
+ * https://www.gnu.org/software/classpath/license.html.
29
+ *
30
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
31
+ ********************************************************************************/
32
+ __exportStar(require("./grid"), exports);
33
+ __exportStar(require("./grid-manager"), exports);
34
+ __exportStar(require("./grid-model"), exports);
35
+ __exportStar(require("./grid-module"), exports);
36
+ __exportStar(require("./grid-snapper"), exports);
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/grid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAuB;AACvB,iDAA+B;AAC/B,+CAA6B;AAC7B,gDAA8B;AAC9B,iDAA+B"}
@@ -18,6 +18,7 @@ import { FeedbackEmitter } from '../../base';
18
18
  import { IFeedbackActionDispatcher } from '../../base/feedback/feedback-action-dispatcher';
19
19
  import { ISelectionListener, SelectionService } from '../../base/selection-service';
20
20
  import { SetBoundsFeedbackAction } from '../bounds/set-bounds-feedback-command';
21
+ import { Grid } from '../grid';
21
22
  import { MoveFinishedEventAction, MoveInitializedEventAction } from '../tools/change-bounds/change-bounds-tool-feedback';
22
23
  import { AlignmentElementFilter, DrawHelperLinesFeedbackAction, ViewportLineType } from './helper-line-feedback';
23
24
  import { IHelperLineManager } from './helper-line-manager';
@@ -35,7 +36,7 @@ export interface IHelperLineOptions {
35
36
  viewportLines?: ViewportLineType[];
36
37
  /**
37
38
  * The minimum difference between two coordinates
38
- * Defaults to 1.
39
+ * Defaults to 1 or zero (perfect match) if the optional grid module is loaded.
39
40
  */
40
41
  alignmentEpsilon?: number;
41
42
  /**
@@ -46,6 +47,7 @@ export interface IHelperLineOptions {
46
47
  /**
47
48
  * The minimum move delta that is necessary for an element to break through a helper line.
48
49
  * Defaults to { x: 1, y: 1 } whereas the x represents the horizontal distance and y represents the vertical distance.
50
+ * If the optional grid module is loaded, defaults to twice the grid size, i.e., two grid moves to break through a helper line.
49
51
  */
50
52
  minimumMoveDelta?: Point;
51
53
  /**
@@ -63,6 +65,7 @@ export declare class HelperLineManager implements IActionHandler, ISelectionList
63
65
  protected feedbackDispatcher: IFeedbackActionDispatcher;
64
66
  protected selectionService: SelectionService;
65
67
  protected userOptions?: IHelperLineOptions;
68
+ protected grid?: Grid;
66
69
  protected options: Required<IHelperLineOptions>;
67
70
  protected feedback: FeedbackEmitter;
68
71
  protected init(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"helper-line-manager-default.d.ts","sourceRoot":"","sources":["../../../src/features/helper-lines/helper-line-manager-default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAS,MAAM,uBAAuB,CAAC;AAErI,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AACzH,OAAO,EACH,sBAAsB,EAMtB,6BAA6B,EAE7B,gBAAgB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB;;;CAAiB,CAAC;AAEjD,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,kBAAkB,CAOpE,CAAC;AAEF,qBACa,iBAAkB,YAAW,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;IACnD,SAAS,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvE,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEzF,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChD,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;IAGpC,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAY5B,SAAS,CAAC,2BAA2B,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAIhF,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAI1E,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAQpD,SAAS,CAAC,wBAAwB,CAAC,UAAU,GAAE,MAAM,EAAkD,GAAG,IAAI;IAK9G,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,6BAA6B;IAIvF,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,uBAAuB,GAAG,IAAI;IAIxF,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IAIzH,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;CAQ7F"}
1
+ {"version":3,"file":"helper-line-manager-default.d.ts","sourceRoot":"","sources":["../../../src/features/helper-lines/helper-line-manager-default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAS,MAAM,uBAAuB,CAAC;AAErI,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AACzH,OAAO,EACH,sBAAsB,EAMtB,6BAA6B,EAE7B,gBAAgB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB;;;CAAiB,CAAC;AAEjD,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,kBAAkB,CAOpE,CAAC;AAEF,qBACa,iBAAkB,YAAW,cAAc,EAAE,kBAAkB,EAAE,kBAAkB;IACnD,SAAS,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;IACvE,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACzD,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IAEtD,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChD,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAC;IAGpC,SAAS,CAAC,IAAI,IAAI,IAAI;IAatB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAY5B,SAAS,CAAC,2BAA2B,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAIhF,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAI1E,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAQpD,SAAS,CAAC,wBAAwB,CAAC,UAAU,GAAE,MAAM,EAAkD,GAAG,IAAI;IAK9G,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,6BAA6B;IAIvF,SAAS,CAAC,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,uBAAuB,GAAG,IAAI;IAIxF,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IAIzH,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;CAQ7F"}
@@ -44,7 +44,12 @@ exports.DEFAULT_HELPER_LINE_OPTIONS = {
44
44
  let HelperLineManager = class HelperLineManager {
45
45
  init() {
46
46
  this.feedback = this.feedbackDispatcher.createEmitter();
47
- this.options = Object.assign(Object.assign({}, exports.DEFAULT_HELPER_LINE_OPTIONS), this.userOptions);
47
+ const dynamicOptions = {};
48
+ if (this.grid) {
49
+ dynamicOptions.alignmentEpsilon = 0;
50
+ dynamicOptions.minimumMoveDelta = sprotty_1.Point.multiplyScalar(this.grid, 2);
51
+ }
52
+ this.options = Object.assign(Object.assign(Object.assign({}, exports.DEFAULT_HELPER_LINE_OPTIONS), dynamicOptions), this.userOptions);
48
53
  this.selectionService.onSelectionChanged(change => this.selectionChanged(change.root, change.selectedElements, change.deselectedElements));
49
54
  }
50
55
  handle(action) {
@@ -111,6 +116,11 @@ __decorate([
111
116
  (0, inversify_1.inject)(sprotty_1.TYPES.IHelperLineOptions),
112
117
  __metadata("design:type", Object)
113
118
  ], HelperLineManager.prototype, "userOptions", void 0);
119
+ __decorate([
120
+ (0, inversify_1.optional)(),
121
+ (0, inversify_1.inject)(sprotty_1.TYPES.Grid),
122
+ __metadata("design:type", Object)
123
+ ], HelperLineManager.prototype, "grid", void 0);
114
124
  __decorate([
115
125
  (0, inversify_1.postConstruct)(),
116
126
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"helper-line-manager-default.js","sourceRoot":"","sources":["../../../src/features/helper-lines/helper-line-manager-default.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper-line-manager-default.js","sourceRoot":"","sources":["../../../src/features/helper-lines/helper-line-manager-default.ts"],"names":[],"mappings":"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"}