@eclipse-glsp/client 2.5.0-next.427 → 2.5.0-next.429
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/command-stack.d.ts +6 -4
- package/lib/base/command-stack.d.ts.map +1 -1
- package/lib/base/command-stack.js +16 -7
- package/lib/base/command-stack.js.map +1 -1
- package/lib/base/default.module.d.ts.map +1 -1
- package/lib/base/default.module.js +2 -0
- package/lib/base/default.module.js.map +1 -1
- package/lib/base/editor-context-service.d.ts +9 -12
- package/lib/base/editor-context-service.d.ts.map +1 -1
- package/lib/base/editor-context-service.js +22 -26
- package/lib/base/editor-context-service.js.map +1 -1
- package/lib/base/focus/focus-tracker.d.ts +3 -2
- package/lib/base/focus/focus-tracker.d.ts.map +1 -1
- package/lib/base/focus/focus-tracker.js +9 -0
- package/lib/base/focus/focus-tracker.js.map +1 -1
- package/lib/base/model/model-change-service.d.ts +65 -0
- package/lib/base/model/model-change-service.d.ts.map +1 -0
- package/lib/base/model/model-change-service.js +113 -0
- package/lib/base/model/model-change-service.js.map +1 -0
- package/lib/default-modules.d.ts.map +1 -1
- package/lib/default-modules.js +2 -1
- package/lib/default-modules.js.map +1 -1
- package/lib/features/zorder/bring-to-front-command.d.ts +23 -0
- package/lib/features/zorder/bring-to-front-command.d.ts.map +1 -0
- package/lib/features/zorder/bring-to-front-command.js +54 -0
- package/lib/features/zorder/bring-to-front-command.js.map +1 -0
- package/lib/features/zorder/zorder-module.d.ts +18 -0
- package/lib/features/zorder/zorder-module.d.ts.map +1 -0
- package/lib/features/zorder/zorder-module.js +26 -0
- package/lib/features/zorder/zorder-module.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
- package/src/base/command-stack.ts +19 -13
- package/src/base/default.module.ts +2 -0
- package/src/base/editor-context-service.ts +22 -29
- package/src/base/focus/focus-tracker.ts +8 -3
- package/src/base/model/model-change-service.ts +151 -0
- package/src/default-modules.ts +2 -2
- package/src/features/zorder/bring-to-front-command.ts +46 -0
- package/src/features/zorder/zorder-module.ts +26 -0
- package/src/index.ts +2 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2019-
|
|
2
|
+
* Copyright (c) 2019-2025 EclipseSource and others.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials are made available under the
|
|
5
5
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -13,11 +13,14 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { CommandExecutionContext, CommandStack, Disposable, DisposableCollection, Event, GModelRoot, ICommand, LazyInjector } from '@eclipse-glsp/sprotty';
|
|
16
|
+
import { CommandExecutionContext, CommandExecutionData, CommandStack, Disposable, DisposableCollection, Emitter, Event, GModelRoot, ICommand, ICommandStack, LazyInjector } from '@eclipse-glsp/sprotty';
|
|
17
17
|
import { EditorContextService } from './editor-context-service';
|
|
18
|
-
export declare class GLSPCommandStack extends CommandStack implements Disposable {
|
|
18
|
+
export declare class GLSPCommandStack extends CommandStack implements ICommandStack, Disposable {
|
|
19
19
|
protected lazyInjector: LazyInjector;
|
|
20
20
|
protected toDispose: DisposableCollection;
|
|
21
|
+
protected onCommandExecutedEmitter: Emitter<CommandExecutionData>;
|
|
22
|
+
get onCommandExecuted(): Event<CommandExecutionData>;
|
|
23
|
+
protected initialize(): void;
|
|
21
24
|
dispose(): void;
|
|
22
25
|
get editorContext(): EditorContextService;
|
|
23
26
|
/**
|
|
@@ -47,6 +50,5 @@ export declare class GLSPCommandStack extends CommandStack implements Disposable
|
|
|
47
50
|
*/
|
|
48
51
|
protected mergeOrPush(command: ICommand, context: CommandExecutionContext): void;
|
|
49
52
|
execute(command: ICommand): Promise<GModelRoot>;
|
|
50
|
-
protected notifyListeners(root: Readonly<GModelRoot>): void;
|
|
51
53
|
}
|
|
52
54
|
//# sourceMappingURL=command-stack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-stack.d.ts","sourceRoot":"","sources":["../../src/base/command-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,uBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,KAAK,EACL,UAAU,EACV,QAAQ,EACR,YAAY,
|
|
1
|
+
{"version":3,"file":"command-stack.d.ts","sourceRoot":"","sources":["../../src/base/command-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,KAAK,EACL,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,qBACa,gBAAiB,SAAQ,YAAa,YAAW,aAAa,EAAE,UAAU;IAEnF,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,SAAS,uBAA8B;IAEjD,SAAS,CAAC,wBAAwB,gCAAuC;IACzE,IAAI,iBAAiB,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAEnD;cAGkB,UAAU,IAAI,IAAI;IAMrC,OAAO,IAAI,IAAI;IAMf,IAAI,aAAa,IAAI,oBAAoB,CAExC;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAEpD;IAED;;;OAGG;IACM,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAQpC;;;OAGG;IACM,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAQpC;;;;OAIG;cACgB,eAAe,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAI3D;;;;OAIG;cACgB,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAG1E,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CAKjE"}
|
|
@@ -11,7 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.GLSPCommandStack = void 0;
|
|
13
13
|
/********************************************************************************
|
|
14
|
-
* Copyright (c) 2019-
|
|
14
|
+
* Copyright (c) 2019-2025 EclipseSource and others.
|
|
15
15
|
*
|
|
16
16
|
* This program and the accompanying materials are made available under the
|
|
17
17
|
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -32,6 +32,14 @@ let GLSPCommandStack = class GLSPCommandStack extends sprotty_1.CommandStack {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
super(...arguments);
|
|
34
34
|
this.toDispose = new sprotty_1.DisposableCollection();
|
|
35
|
+
this.onCommandExecutedEmitter = new sprotty_1.Emitter();
|
|
36
|
+
}
|
|
37
|
+
get onCommandExecuted() {
|
|
38
|
+
return this.onCommandExecutedEmitter.event;
|
|
39
|
+
}
|
|
40
|
+
initialize() {
|
|
41
|
+
super.initialize();
|
|
42
|
+
this.toDispose.push(this.onCommandExecutedEmitter);
|
|
35
43
|
}
|
|
36
44
|
dispose() {
|
|
37
45
|
this.toDispose.dispose();
|
|
@@ -81,20 +89,21 @@ let GLSPCommandStack = class GLSPCommandStack extends sprotty_1.CommandStack {
|
|
|
81
89
|
}
|
|
82
90
|
async execute(command) {
|
|
83
91
|
const result = await super.execute(command);
|
|
84
|
-
|
|
85
|
-
this.notifyListeners(result);
|
|
86
|
-
}
|
|
92
|
+
this.onCommandExecutedEmitter.fire({ command, newRoot: result });
|
|
87
93
|
return result;
|
|
88
94
|
}
|
|
89
|
-
notifyListeners(root) {
|
|
90
|
-
this.editorContext.notifyModelRootChanged(root, this);
|
|
91
|
-
}
|
|
92
95
|
};
|
|
93
96
|
exports.GLSPCommandStack = GLSPCommandStack;
|
|
94
97
|
__decorate([
|
|
95
98
|
(0, inversify_1.inject)(sprotty_1.LazyInjector),
|
|
96
99
|
__metadata("design:type", Object)
|
|
97
100
|
], GLSPCommandStack.prototype, "lazyInjector", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, inversify_1.postConstruct)(),
|
|
103
|
+
__metadata("design:type", Function),
|
|
104
|
+
__metadata("design:paramtypes", []),
|
|
105
|
+
__metadata("design:returntype", void 0)
|
|
106
|
+
], GLSPCommandStack.prototype, "initialize", null);
|
|
98
107
|
__decorate([
|
|
99
108
|
(0, inversify_1.preDestroy)(),
|
|
100
109
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-stack.js","sourceRoot":"","sources":["../../src/base/command-stack.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"command-stack.js","sourceRoot":"","sources":["../../src/base/command-stack.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAY+B;AAC/B,yCAA0E;AAC1E,qEAAgE;AAGzD,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,sBAAY;IAA3C;;QAGO,cAAS,GAAG,IAAI,8BAAoB,EAAE,CAAC;QAEvC,6BAAwB,GAAG,IAAI,iBAAO,EAAwB,CAAC;IA2E7E,CAAC;IA1EG,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC/C,CAAC;IAGkB,UAAU;QACzB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvD,CAAC;IAGD,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,kDAAkD;IAClD,+FAA+F;IAC/F,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,6CAAoB,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,IAAI,kBAAkB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC;IACjD,CAAC;IAED;;;OAGG;IACM,IAAI;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,IAAI,EACJ,2HAA2H,CAC9H,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACM,IAAI;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,IAAI,EACJ,2HAA2H,CAC9H,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACgB,eAAe,CAAC,OAAiB;QAChD,QAAQ;IACZ,CAAC;IAED;;;;OAIG;IACgB,WAAW,CAAC,OAAiB,EAAE,OAAgC;QAC9E,QAAQ;IACZ,CAAC;IACQ,KAAK,CAAC,OAAO,CAAC,OAAiB;QACpC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AAhFY,4CAAgB;AAEf;IADT,IAAA,kBAAM,EAAC,sBAAY,CAAC;;sDACgB;AASlB;IADlB,IAAA,yBAAa,GAAE;;;;kDAIf;AAGD;IADC,IAAA,sBAAU,GAAE;;;;+CAGZ;2BAnBQ,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAgF5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.module.d.ts","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAEH,aAAa,EAgBhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"default.module.d.ts","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAEH,aAAa,EAgBhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AA2BpC;;;GAGG;AACH,eAAO,MAAM,aAAa,eAwFzB,CAAC"}
|
|
@@ -31,6 +31,7 @@ const focus_state_change_action_1 = require("./focus/focus-state-change-action")
|
|
|
31
31
|
const focus_tracker_1 = require("./focus/focus-tracker");
|
|
32
32
|
const diagram_loader_1 = require("./model/diagram-loader");
|
|
33
33
|
const glsp_model_source_1 = require("./model/glsp-model-source");
|
|
34
|
+
const model_change_service_1 = require("./model/model-change-service");
|
|
34
35
|
const model_initialization_constraint_1 = require("./model/model-initialization-constraint");
|
|
35
36
|
const model_registry_1 = require("./model/model-registry");
|
|
36
37
|
const mouse_position_tracker_1 = require("./mouse-position-tracker");
|
|
@@ -56,6 +57,7 @@ exports.defaultModule = new sprotty_1.FeatureModule((bind, unbind, isBound, rebi
|
|
|
56
57
|
bind(sprotty_1.TYPES.IDiagramStartup).toService(editor_context_service_1.EditorContextService);
|
|
57
58
|
// eslint-disable-next-line deprecation/deprecation
|
|
58
59
|
bind(sprotty_1.TYPES.IEditorContextServiceProvider).toProvider(ctx => async () => ctx.container.get(editor_context_service_1.EditorContextService));
|
|
60
|
+
bind(sprotty_1.TYPES.IModelChangeService).to(model_change_service_1.ModelChangeService).inSingletonScope();
|
|
59
61
|
(0, sprotty_1.configureActionHandler)(context, sprotty_1.SetEditModeAction.KIND, editor_context_service_1.EditorContextService);
|
|
60
62
|
(0, sprotty_1.configureActionHandler)(context, sprotty_1.SetDirtyStateAction.KIND, editor_context_service_1.EditorContextService);
|
|
61
63
|
bind(focus_tracker_1.FocusTracker).toSelf().inSingletonScope();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.module.js","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAkB+B;AAC/B,6CAA2C;AAC3C,sCAAoC;AACpC,2DAA2D;AAC3D,uEAAsE;AACtE,mDAAmD;AACnD,qEAAgE;AAChE,0DAAmE;AACnE,sFAAiF;AACjF,oEAA4E;AAC5E,0EAAkF;AAClF,iFAA4E;AAC5E,yDAAqD;AACrD,2DAAuD;AACvD,iEAA4D;AAC5D,6FAA8H;AAC9H,2DAAwD;AACxD,qEAAoE;AACpE,2FAAqF;AACrF,2DAAuD;AACvD,qEAAgE;AAChE,8CAAkF;AAClF,8DAAqH;AACrH,gFAA+E;AAC/E,8CAA8C;AAC9C,kDAAkD;AAClD,wDAAqD;AAErD;;;GAGG;AACU,QAAA,aAAa,GAAG,IAAI,uBAAa,CAC1C,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;IACvC,wEAAwE;IACxE,8BAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAElD,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC;IAE1B,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,eAAK,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,6CAAoB,CAAC,CAAC;IAC5D,mDAAmD;IACnD,IAAI,CAAC,eAAK,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAChD,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,6CAAoB,CAAC,CAC7D,CAAC;
|
|
1
|
+
{"version":3,"file":"default.module.js","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action,
|
|
16
|
+
import { Action, Args, Bounds, Disposable, DisposableCollection, EditorContext, Emitter, Event, GModelElement, GModelRoot, IActionDispatcher, IActionHandler, LazyInjector, MaybePromise, MousePositionTracker, SetDirtyStateAction, SetEditModeAction, ValueChange, Viewport } from '@eclipse-glsp/sprotty';
|
|
17
17
|
import { FocusChange, FocusTracker } from './focus/focus-tracker';
|
|
18
18
|
import { IDiagramOptions, IDiagramStartup } from './model/diagram-loader';
|
|
19
|
+
import { IModelChangeService, ViewportChange } from './model/model-change-service';
|
|
19
20
|
import { SelectionChange, SelectionService } from './selection-service';
|
|
20
21
|
/**
|
|
21
22
|
* A hook to listen for model root changes. Will be called after a server update
|
|
@@ -50,6 +51,7 @@ export type DirtyStateChange = Pick<SetDirtyStateAction, 'isDirty' | 'reason'>;
|
|
|
50
51
|
*/
|
|
51
52
|
export declare class EditorContextService implements IActionHandler, Disposable, IDiagramStartup {
|
|
52
53
|
protected selectionService: SelectionService;
|
|
54
|
+
protected modelChangeService: IModelChangeService;
|
|
53
55
|
protected mousePositionTracker: MousePositionTracker;
|
|
54
56
|
protected lazyInjector: LazyInjector;
|
|
55
57
|
protected diagramOptions: IDiagramOptions;
|
|
@@ -67,11 +69,9 @@ export declare class EditorContextService implements IActionHandler, Disposable,
|
|
|
67
69
|
* Event that is fired when the dirty state of the diagram changes i.e. after a {@link SetDirtyStateAction} has been handled.
|
|
68
70
|
*/
|
|
69
71
|
get onDirtyStateChanged(): Event<DirtyStateChange>;
|
|
70
|
-
protected _modelRoot?: Readonly<GModelRoot>;
|
|
71
72
|
/**
|
|
72
73
|
* Event that is fired when the model root of the diagram changes i.e. after the `CommandStack` has processed a model update.
|
|
73
74
|
*/
|
|
74
|
-
protected onModelRootChangedEmitter: Emitter<Readonly<GModelRoot>>;
|
|
75
75
|
get onModelRootChanged(): Event<Readonly<GModelRoot>>;
|
|
76
76
|
/**
|
|
77
77
|
* Event that is fired when the focus state of the diagram changes i.e. after a {@link FocusStateChangedAction} has been handled
|
|
@@ -83,20 +83,17 @@ export declare class EditorContextService implements IActionHandler, Disposable,
|
|
|
83
83
|
* by the {@link SelectionService}.
|
|
84
84
|
*/
|
|
85
85
|
get onSelectionChanged(): Event<SelectionChange>;
|
|
86
|
+
/**
|
|
87
|
+
* Event that is fired when the viewport of the diagram changes i.e. after the `CommandStack` has processed a viewport update.
|
|
88
|
+
* By default, this event is only fired if the viewport was changed via a `SetViewportCommand` or `BoundsAwareViewportCommand`
|
|
89
|
+
*/
|
|
90
|
+
get onViewportChanged(): Event<ViewportChange>;
|
|
86
91
|
protected toDispose: DisposableCollection;
|
|
87
92
|
protected initialize(): void;
|
|
88
|
-
preLoadDiagram(): MaybePromise<void>;
|
|
89
93
|
dispose(): void;
|
|
94
|
+
preLoadDiagram(): MaybePromise<void>;
|
|
90
95
|
get(args?: Args): EditorContext;
|
|
91
96
|
getWithSelection(selectedElementIds: string[], args?: Args): EditorContext;
|
|
92
|
-
/**
|
|
93
|
-
* Notifies the service about a model root change. This method should not be called
|
|
94
|
-
* directly. It is called by the `CommandStack` after a model update has been processed.
|
|
95
|
-
* @throws an error if the notifier is not a `CommandStack`
|
|
96
|
-
* @param root the new model root
|
|
97
|
-
* @param notifier the object that triggered the model root change
|
|
98
|
-
*/
|
|
99
|
-
notifyModelRootChanged(root: Readonly<GModelRoot>, notifier: AnyObject): void;
|
|
100
97
|
handle(action: Action): void;
|
|
101
98
|
protected handleSetEditModeAction(action: SetEditModeAction): void;
|
|
102
99
|
protected handleSetDirtyStateAction(action: SetDirtyStateAction): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-context-service.d.ts","sourceRoot":"","sources":["../../src/base/editor-context-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"editor-context-service.d.ts","sourceRoot":"","sources":["../../src/base/editor-context-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,10 +45,6 @@ let EditorContextService = class EditorContextService {
|
|
|
45
45
|
constructor() {
|
|
46
46
|
this.onEditModeChangedEmitter = new sprotty_1.Emitter();
|
|
47
47
|
this.onDirtyStateChangedEmitter = new sprotty_1.Emitter();
|
|
48
|
-
/**
|
|
49
|
-
* Event that is fired when the model root of the diagram changes i.e. after the `CommandStack` has processed a model update.
|
|
50
|
-
*/
|
|
51
|
-
this.onModelRootChangedEmitter = new sprotty_1.Emitter();
|
|
52
48
|
this.toDispose = new sprotty_1.DisposableCollection();
|
|
53
49
|
}
|
|
54
50
|
/**
|
|
@@ -63,8 +59,11 @@ let EditorContextService = class EditorContextService {
|
|
|
63
59
|
get onDirtyStateChanged() {
|
|
64
60
|
return this.onDirtyStateChangedEmitter.event;
|
|
65
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Event that is fired when the model root of the diagram changes i.e. after the `CommandStack` has processed a model update.
|
|
64
|
+
*/
|
|
66
65
|
get onModelRootChanged() {
|
|
67
|
-
return this.
|
|
66
|
+
return this.modelChangeService.onModelRootChanged;
|
|
68
67
|
}
|
|
69
68
|
/**
|
|
70
69
|
* Event that is fired when the focus state of the diagram changes i.e. after a {@link FocusStateChangedAction} has been handled
|
|
@@ -80,11 +79,21 @@ let EditorContextService = class EditorContextService {
|
|
|
80
79
|
get onSelectionChanged() {
|
|
81
80
|
return this.selectionService.onSelectionChanged;
|
|
82
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Event that is fired when the viewport of the diagram changes i.e. after the `CommandStack` has processed a viewport update.
|
|
84
|
+
* By default, this event is only fired if the viewport was changed via a `SetViewportCommand` or `BoundsAwareViewportCommand`
|
|
85
|
+
*/
|
|
86
|
+
get onViewportChanged() {
|
|
87
|
+
return this.modelChangeService.onViewportChanged;
|
|
88
|
+
}
|
|
83
89
|
initialize() {
|
|
84
90
|
var _a;
|
|
85
91
|
this._editMode = (_a = this.diagramOptions.editMode) !== null && _a !== void 0 ? _a : sprotty_1.EditMode.EDITABLE;
|
|
86
92
|
this.toDispose.push(this.onEditModeChangedEmitter, this.onDirtyStateChangedEmitter);
|
|
87
93
|
}
|
|
94
|
+
dispose() {
|
|
95
|
+
this.toDispose.dispose();
|
|
96
|
+
}
|
|
88
97
|
preLoadDiagram() {
|
|
89
98
|
this.lazyInjector.getAll(sprotty_1.TYPES.IGModelRootListener).forEach(listener => {
|
|
90
99
|
this.onModelRootChanged(event => listener.modelRootChanged(event));
|
|
@@ -93,9 +102,6 @@ let EditorContextService = class EditorContextService {
|
|
|
93
102
|
this.onEditModeChanged(event => listener.editModeChanged(event.newValue, event.oldValue));
|
|
94
103
|
});
|
|
95
104
|
}
|
|
96
|
-
dispose() {
|
|
97
|
-
this.toDispose.dispose();
|
|
98
|
-
}
|
|
99
105
|
get(args) {
|
|
100
106
|
return {
|
|
101
107
|
selectedElementIds: Array.from(this.selectionService.getSelectedElementIDs()),
|
|
@@ -110,20 +116,6 @@ let EditorContextService = class EditorContextService {
|
|
|
110
116
|
args
|
|
111
117
|
};
|
|
112
118
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Notifies the service about a model root change. This method should not be called
|
|
115
|
-
* directly. It is called by the `CommandStack` after a model update has been processed.
|
|
116
|
-
* @throws an error if the notifier is not a `CommandStack`
|
|
117
|
-
* @param root the new model root
|
|
118
|
-
* @param notifier the object that triggered the model root change
|
|
119
|
-
*/
|
|
120
|
-
notifyModelRootChanged(root, notifier) {
|
|
121
|
-
if (!(notifier instanceof sprotty_1.CommandStack)) {
|
|
122
|
-
throw new Error('Invalid model root change notification. Notifier is not an instance of `CommandStack`.');
|
|
123
|
-
}
|
|
124
|
-
this._modelRoot = root;
|
|
125
|
-
this.onModelRootChangedEmitter.fire(root);
|
|
126
|
-
}
|
|
127
119
|
handle(action) {
|
|
128
120
|
if (sprotty_1.SetEditModeAction.is(action)) {
|
|
129
121
|
this.handleSetEditModeAction(action);
|
|
@@ -156,13 +148,13 @@ let EditorContextService = class EditorContextService {
|
|
|
156
148
|
return this.diagramOptions.clientId;
|
|
157
149
|
}
|
|
158
150
|
get modelRoot() {
|
|
159
|
-
if (!this.
|
|
151
|
+
if (!this.modelChangeService.currentRoot) {
|
|
160
152
|
throw new Error('Model root not available yet');
|
|
161
153
|
}
|
|
162
|
-
return this.
|
|
154
|
+
return this.modelChangeService.currentRoot;
|
|
163
155
|
}
|
|
164
156
|
get viewport() {
|
|
165
|
-
return this.
|
|
157
|
+
return this.modelRoot ? (0, sprotty_1.findParentByFeature)(this.modelRoot, sprotty_1.isViewport) : undefined;
|
|
166
158
|
}
|
|
167
159
|
get viewportData() {
|
|
168
160
|
var _a, _b;
|
|
@@ -176,7 +168,7 @@ let EditorContextService = class EditorContextService {
|
|
|
176
168
|
get canvasBounds() {
|
|
177
169
|
var _a, _b;
|
|
178
170
|
// default value aligned with the initialization of canvasBounds in GModelRoot
|
|
179
|
-
return (_b = (_a = this.
|
|
171
|
+
return (_b = (_a = this.modelRoot) === null || _a === void 0 ? void 0 : _a.canvasBounds) !== null && _b !== void 0 ? _b : sprotty_1.Bounds.EMPTY;
|
|
180
172
|
}
|
|
181
173
|
get selectedElements() {
|
|
182
174
|
return this.selectionService.getSelectedElements();
|
|
@@ -193,6 +185,10 @@ __decorate([
|
|
|
193
185
|
(0, inversify_1.inject)(selection_service_1.SelectionService),
|
|
194
186
|
__metadata("design:type", selection_service_1.SelectionService)
|
|
195
187
|
], EditorContextService.prototype, "selectionService", void 0);
|
|
188
|
+
__decorate([
|
|
189
|
+
(0, inversify_1.inject)(sprotty_1.TYPES.IModelChangeService),
|
|
190
|
+
__metadata("design:type", Object)
|
|
191
|
+
], EditorContextService.prototype, "modelChangeService", void 0);
|
|
196
192
|
__decorate([
|
|
197
193
|
(0, inversify_1.inject)(sprotty_1.MousePositionTracker),
|
|
198
194
|
__metadata("design:type", sprotty_1.MousePositionTracker)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-context-service.js","sourceRoot":"","sources":["../../src/base/editor-context-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"editor-context-service.js","sourceRoot":"","sources":["../../src/base/editor-context-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, Emitter, Event, IActionHandler, ICommand, ViewerOptions } from '@eclipse-glsp/sprotty';
|
|
16
|
+
import { Action, Disposable, Emitter, Event, IActionHandler, ICommand, ViewerOptions } from '@eclipse-glsp/sprotty';
|
|
17
17
|
export interface FocusChange {
|
|
18
18
|
hasFocus: boolean;
|
|
19
19
|
focusElement: HTMLOrSVGElement | null;
|
|
@@ -24,7 +24,7 @@ export interface FocusChange {
|
|
|
24
24
|
* Emits a {@link FocusChange} event when the focus state changes.
|
|
25
25
|
* Allows querying of the current focus state and the focused root diagram element and the currently focused element within the diagram.
|
|
26
26
|
*/
|
|
27
|
-
export declare class FocusTracker implements IActionHandler {
|
|
27
|
+
export declare class FocusTracker implements IActionHandler, Disposable {
|
|
28
28
|
protected inActiveCssClass: string;
|
|
29
29
|
protected _hasFocus: boolean;
|
|
30
30
|
protected _focusElement: HTMLOrSVGElement | null;
|
|
@@ -39,5 +39,6 @@ export declare class FocusTracker implements IActionHandler {
|
|
|
39
39
|
get focusElement(): HTMLOrSVGElement | null;
|
|
40
40
|
get diagramElement(): HTMLElement | null;
|
|
41
41
|
handle(action: Action): void | Action | ICommand;
|
|
42
|
+
dispose(): void;
|
|
42
43
|
}
|
|
43
44
|
//# sourceMappingURL=focus-tracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-tracker.d.ts","sourceRoot":"","sources":["../../../src/base/focus/focus-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAS,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"focus-tracker.d.ts","sourceRoot":"","sources":["../../../src/base/focus/focus-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAS,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3H,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED;;;;GAIG;AACH,qBACa,YAAa,YAAW,cAAc,EAAE,UAAU;IAC3D,SAAS,CAAC,gBAAgB,SAAc;IACxC,SAAS,CAAC,SAAS,UAAQ;IAC3B,SAAS,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjD,SAAS,CAAC,eAAe,EAAE,WAAW,GAAG,IAAI,CAAC;IAEjB,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;IAE9D,SAAS,CAAC,qBAAqB,uBAA8B;IAC7D;;OAEG;IACH,IAAI,cAAc,IAAI,KAAK,CAAC,WAAW,CAAC,CAEvC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,YAAY,IAAI,gBAAgB,GAAG,IAAI,CAE1C;IAED,IAAI,cAAc,IAAI,WAAW,GAAG,IAAI,CAEvC;IAED,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ;IAsBhD,OAAO,IAAI,IAAI;CAGlB"}
|
|
@@ -74,12 +74,21 @@ let FocusTracker = class FocusTracker {
|
|
|
74
74
|
}
|
|
75
75
|
this.onFocusChangedEmitter.fire({ hasFocus: this.hasFocus, focusElement: this.focusElement, diagramElement: this.diagramElement });
|
|
76
76
|
}
|
|
77
|
+
dispose() {
|
|
78
|
+
this.onFocusChangedEmitter.dispose();
|
|
79
|
+
}
|
|
77
80
|
};
|
|
78
81
|
exports.FocusTracker = FocusTracker;
|
|
79
82
|
__decorate([
|
|
80
83
|
(0, inversify_1.inject)(sprotty_1.TYPES.ViewerOptions),
|
|
81
84
|
__metadata("design:type", Object)
|
|
82
85
|
], FocusTracker.prototype, "options", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, inversify_1.preDestroy)(),
|
|
88
|
+
__metadata("design:type", Function),
|
|
89
|
+
__metadata("design:paramtypes", []),
|
|
90
|
+
__metadata("design:returntype", void 0)
|
|
91
|
+
], FocusTracker.prototype, "dispose", null);
|
|
83
92
|
exports.FocusTracker = FocusTracker = __decorate([
|
|
84
93
|
(0, inversify_1.injectable)()
|
|
85
94
|
], FocusTracker);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-tracker.js","sourceRoot":"","sources":["../../../src/base/focus/focus-tracker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"focus-tracker.js","sourceRoot":"","sources":["../../../src/base/focus/focus-tracker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA2H;AAC3H,yCAA2D;AAC3D,2EAAsE;AAQtE;;;;GAIG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACO,qBAAgB,GAAG,UAAU,CAAC;QAC9B,cAAS,GAAG,IAAI,CAAC;QAMjB,0BAAqB,GAAG,IAAI,iBAAO,EAAe,CAAC;IA6CjE,CAAC;IA5CG;;OAEG;IACH,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAc;QACjB,IAAI,CAAC,mDAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAwC,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACjE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACvI,CAAC;IAGD,OAAO;QACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;CACJ,CAAA;AArDY,oCAAY;AAMkB;IAAtC,IAAA,kBAAM,EAAC,eAAK,CAAC,aAAa,CAAC;;6CAAkC;AA4C9D;IADC,IAAA,sBAAU,GAAE;;;;2CAGZ;uBApDQ,YAAY;IADxB,IAAA,sBAAU,GAAE;GACA,YAAY,CAqDxB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2025 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 { Disposable, DisposableCollection, Emitter, Event, GModelRoot, ICommand, ICommandStack, LazyInjector, Viewport } from '@eclipse-glsp/sprotty';
|
|
17
|
+
/**
|
|
18
|
+
* Service that tracks changes to the model root and the viewport.
|
|
19
|
+
* Allows to register listeners that are notified when the model root or the viewport changes.
|
|
20
|
+
* The current model root can be queried at any time.
|
|
21
|
+
*/
|
|
22
|
+
export interface IModelChangeService {
|
|
23
|
+
/** The current model root */
|
|
24
|
+
readonly currentRoot: Readonly<GModelRoot> | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Event that is fired when the model root of the diagram changes i.e. after the `CommandStack` has processed a model update.
|
|
27
|
+
*/
|
|
28
|
+
onModelRootChanged: Event<Readonly<GModelRoot>>;
|
|
29
|
+
/**
|
|
30
|
+
* Event that is fired when the viewport of the diagram changes i.e. after the `CommandStack` has processed a viewport update.
|
|
31
|
+
* By default, this event is only fired if the viewport was changed via a `SetViewportCommand` or `BoundsAwareViewportCommand`
|
|
32
|
+
*/
|
|
33
|
+
onViewportChanged: Event<ViewportChange>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Event data for the {@link IModelChangeService.onViewportChanged} event.
|
|
37
|
+
*/
|
|
38
|
+
export interface ViewportChange {
|
|
39
|
+
/** The new viewport */
|
|
40
|
+
newViewport: Readonly<Viewport>;
|
|
41
|
+
/** The old viewport */
|
|
42
|
+
oldViewport?: Readonly<Viewport>;
|
|
43
|
+
}
|
|
44
|
+
export declare class ModelChangeService implements IModelChangeService, Disposable {
|
|
45
|
+
protected lazyInjector: LazyInjector;
|
|
46
|
+
protected _currentRoot?: Readonly<GModelRoot>;
|
|
47
|
+
protected lastViewport?: Readonly<Viewport>;
|
|
48
|
+
protected toDispose: DisposableCollection;
|
|
49
|
+
get currentRoot(): Readonly<GModelRoot> | undefined;
|
|
50
|
+
protected get commandStack(): ICommandStack;
|
|
51
|
+
protected onModelRootChangedEmitter: Emitter<Readonly<GModelRoot>>;
|
|
52
|
+
get onModelRootChanged(): Event<Readonly<GModelRoot>>;
|
|
53
|
+
protected onViewportChangedEmitter: Emitter<ViewportChange>;
|
|
54
|
+
get onViewportChanged(): Event<ViewportChange>;
|
|
55
|
+
protected initialize(): void;
|
|
56
|
+
dispose(): void;
|
|
57
|
+
protected handleCommandExecution(command: ICommand, newRoot: GModelRoot): void;
|
|
58
|
+
protected isModelRootChangeCommand(command: ICommand): boolean;
|
|
59
|
+
protected isViewportChangeCommand(command: ICommand): boolean;
|
|
60
|
+
protected handleModelRootChangeCommand(command: ICommand, newRoot: GModelRoot): void;
|
|
61
|
+
protected handleViewportChangeCommand(command: ICommand, newRoot: GModelRoot): void;
|
|
62
|
+
protected hasViewportChanged(newViewport: Readonly<Viewport>): boolean;
|
|
63
|
+
protected toViewport(root: Readonly<GModelRoot>): Readonly<Viewport> | undefined;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=model-change-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-change-service.d.ts","sourceRoot":"","sources":["../../../src/base/model/model-change-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAEH,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,KAAK,EACL,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EAKZ,QAAQ,EAGX,MAAM,uBAAuB,CAAC;AAG/B;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IACvD;;OAEG;IACH,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhD;;;OAGG;IACH,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,uBAAuB;IACvB,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,uBAAuB;IACvB,WAAW,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;CACpC;AAED,qBAAa,kBAAmB,YAAW,mBAAmB,EAAE,UAAU;IAEtE,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9C,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5C,SAAS,CAAC,SAAS,uBAA8B;IAEjD,IAAI,WAAW,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAElD;IAED,SAAS,KAAK,YAAY,IAAI,aAAa,CAE1C;IAED,SAAS,CAAC,yBAAyB,gCAAuC;IAC1E,IAAI,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAEpD;IAED,SAAS,CAAC,wBAAwB,0BAAiC;IACnE,IAAI,iBAAiB,IAAI,KAAK,CAAC,cAAc,CAAC,CAE7C;IAGD,SAAS,CAAC,UAAU,IAAI,IAAI;IAM5B,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAS9E,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAI9D,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAI7D,SAAS,CAAC,4BAA4B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAMpF,SAAS,CAAC,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAYnF,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO;IAWtE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS;CAGnF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ModelChangeService = void 0;
|
|
13
|
+
/********************************************************************************
|
|
14
|
+
* Copyright (c) 2025 EclipseSource and others.
|
|
15
|
+
*
|
|
16
|
+
* This program and the accompanying materials are made available under the
|
|
17
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
18
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
19
|
+
*
|
|
20
|
+
* This Source Code may also be made available under the following Secondary
|
|
21
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
22
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
23
|
+
* with the GNU Classpath Exception which is available at
|
|
24
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
25
|
+
*
|
|
26
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
27
|
+
********************************************************************************/
|
|
28
|
+
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
29
|
+
const inversify_1 = require("inversify");
|
|
30
|
+
class ModelChangeService {
|
|
31
|
+
constructor() {
|
|
32
|
+
this.toDispose = new sprotty_1.DisposableCollection();
|
|
33
|
+
this.onModelRootChangedEmitter = new sprotty_1.Emitter();
|
|
34
|
+
this.onViewportChangedEmitter = new sprotty_1.Emitter();
|
|
35
|
+
}
|
|
36
|
+
get currentRoot() {
|
|
37
|
+
return this._currentRoot;
|
|
38
|
+
}
|
|
39
|
+
get commandStack() {
|
|
40
|
+
return this.lazyInjector.get(sprotty_1.TYPES.ICommandStack);
|
|
41
|
+
}
|
|
42
|
+
get onModelRootChanged() {
|
|
43
|
+
return this.onModelRootChangedEmitter.event;
|
|
44
|
+
}
|
|
45
|
+
get onViewportChanged() {
|
|
46
|
+
return this.onViewportChangedEmitter.event;
|
|
47
|
+
}
|
|
48
|
+
initialize() {
|
|
49
|
+
this.toDispose.push(this.onModelRootChangedEmitter, this.onViewportChangedEmitter);
|
|
50
|
+
this.commandStack.onCommandExecuted(data => this.handleCommandExecution(data.command, data.newRoot));
|
|
51
|
+
}
|
|
52
|
+
dispose() {
|
|
53
|
+
this.toDispose.dispose();
|
|
54
|
+
}
|
|
55
|
+
handleCommandExecution(command, newRoot) {
|
|
56
|
+
if (this.isModelRootChangeCommand(command)) {
|
|
57
|
+
this.handleModelRootChangeCommand(command, newRoot);
|
|
58
|
+
}
|
|
59
|
+
if (this.isViewportChangeCommand(command)) {
|
|
60
|
+
this.handleViewportChangeCommand(command, newRoot);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
isModelRootChangeCommand(command) {
|
|
64
|
+
return command instanceof sprotty_1.SetModelCommand || command instanceof sprotty_1.UpdateModelCommand;
|
|
65
|
+
}
|
|
66
|
+
isViewportChangeCommand(command) {
|
|
67
|
+
return command instanceof sprotty_1.SetViewportCommand || command instanceof sprotty_1.BoundsAwareViewportCommand;
|
|
68
|
+
}
|
|
69
|
+
handleModelRootChangeCommand(command, newRoot) {
|
|
70
|
+
this._currentRoot = newRoot;
|
|
71
|
+
this.lastViewport = this.toViewport(newRoot);
|
|
72
|
+
this.onModelRootChangedEmitter.fire(newRoot);
|
|
73
|
+
}
|
|
74
|
+
handleViewportChangeCommand(command, newRoot) {
|
|
75
|
+
const viewport = this.toViewport(newRoot);
|
|
76
|
+
if (!viewport) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (this.hasViewportChanged(viewport)) {
|
|
80
|
+
this.onViewportChangedEmitter.fire({ newViewport: viewport, oldViewport: this.lastViewport });
|
|
81
|
+
this.lastViewport = viewport;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
hasViewportChanged(newViewport) {
|
|
85
|
+
if (!this.lastViewport) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
return !((0, sprotty_1.almostEquals)(newViewport.zoom, this.lastViewport.zoom) &&
|
|
89
|
+
(0, sprotty_1.almostEquals)(newViewport.scroll.x, this.lastViewport.scroll.x) &&
|
|
90
|
+
(0, sprotty_1.almostEquals)(newViewport.scroll.y, this.lastViewport.scroll.y));
|
|
91
|
+
}
|
|
92
|
+
toViewport(root) {
|
|
93
|
+
return (0, sprotty_1.isViewport)(root) ? { scroll: root.scroll, zoom: root.zoom } : undefined;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.ModelChangeService = ModelChangeService;
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, inversify_1.inject)(sprotty_1.LazyInjector),
|
|
99
|
+
__metadata("design:type", Object)
|
|
100
|
+
], ModelChangeService.prototype, "lazyInjector", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, inversify_1.postConstruct)(),
|
|
103
|
+
__metadata("design:type", Function),
|
|
104
|
+
__metadata("design:paramtypes", []),
|
|
105
|
+
__metadata("design:returntype", void 0)
|
|
106
|
+
], ModelChangeService.prototype, "initialize", null);
|
|
107
|
+
__decorate([
|
|
108
|
+
(0, inversify_1.preDestroy)(),
|
|
109
|
+
__metadata("design:type", Function),
|
|
110
|
+
__metadata("design:paramtypes", []),
|
|
111
|
+
__metadata("design:returntype", void 0)
|
|
112
|
+
], ModelChangeService.prototype, "dispose", null);
|
|
113
|
+
//# sourceMappingURL=model-change-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-change-service.js","sourceRoot":"","sources":["../../../src/base/model/model-change-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-modules.d.ts","sourceRoot":"","sources":["../src/default-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,aAAa,EAEb,aAAa,
|
|
1
|
+
{"version":3,"file":"default-modules.d.ts","sourceRoot":"","sources":["../src/default-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,aAAa,EAEb,aAAa,EAShB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAgC9D,eAAO,MAAM,eAAe,qkBAuClB,CAAC;AAEX;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAIjI;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,cAAc,EACvB,cAAc,EAAE,eAAe,EAC/B,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GACvC,IAAI,CAQN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,uBAAuB,EAAE,sBAAsB,GAAG,SAAS,CAY9H"}
|