@eclipse-glsp/client 2.3.0-next.390 → 2.3.0-next.392
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/default.module.d.ts.map +1 -1
- package/lib/base/default.module.js +4 -2
- package/lib/base/default.module.js.map +1 -1
- package/lib/base/feedback/feedback-action-dispatcher.d.ts +18 -5
- package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -1
- package/lib/base/feedback/feedback-action-dispatcher.js +113 -10
- package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -1
- package/lib/base/feedback/feedback-emitter.d.ts +2 -2
- package/lib/base/feedback/feedback-emitter.d.ts.map +1 -1
- package/lib/base/feedback/feedback-emitter.js +1 -2
- package/lib/base/feedback/feedback-emitter.js.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.d.ts +19 -2
- package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
- package/lib/features/context-menu/delete-element-context-menu.js +11 -7
- package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
- package/lib/features/export/glsp-svg-exporter.d.ts +3 -3
- package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
- package/lib/features/export/glsp-svg-exporter.js +6 -5
- package/lib/features/export/glsp-svg-exporter.js.map +1 -1
- package/lib/features/helper-lines/helper-line-manager.d.ts +78 -2
- package/lib/features/helper-lines/helper-line-manager.d.ts.map +1 -1
- package/lib/features/helper-lines/helper-line-manager.js +194 -0
- package/lib/features/helper-lines/helper-line-manager.js.map +1 -1
- package/lib/features/helper-lines/helper-line-module.js +2 -2
- package/lib/features/helper-lines/helper-line-module.js.map +1 -1
- package/lib/features/navigation/navigation-action-handler.d.ts +5 -1
- package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
- package/lib/features/navigation/navigation-action-handler.js +11 -4
- package/lib/features/navigation/navigation-action-handler.js.map +1 -1
- package/lib/features/tools/base-tools.d.ts +2 -2
- package/lib/features/tools/base-tools.d.ts.map +1 -1
- package/lib/features/tools/base-tools.js.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -2
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
- package/src/base/default.module.ts +3 -1
- package/src/base/feedback/feedback-action-dispatcher.ts +114 -11
- package/src/base/feedback/feedback-emitter.ts +2 -2
- package/src/features/context-menu/delete-element-context-menu.ts +11 -7
- package/src/features/export/glsp-svg-exporter.ts +17 -7
- package/src/features/helper-lines/helper-line-manager.ts +234 -2
- package/src/features/helper-lines/helper-line-module.ts +1 -1
- package/src/features/hints/type-hint-provider.spec.ts +1 -1
- package/src/features/navigation/navigation-action-handler.ts +9 -5
- package/src/features/tools/base-tools.ts +2 -2
- package/src/index.ts +0 -2
- package/lib/base/feedback/feedback-action-dispatcher-default.d.ts +0 -36
- package/lib/base/feedback/feedback-action-dispatcher-default.d.ts.map +0 -1
- package/lib/base/feedback/feedback-action-dispatcher-default.js +0 -133
- package/lib/base/feedback/feedback-action-dispatcher-default.js.map +0 -1
- package/lib/features/helper-lines/helper-line-manager-default.d.ts +0 -95
- package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +0 -1
- package/lib/features/helper-lines/helper-line-manager-default.js +0 -197
- package/lib/features/helper-lines/helper-line-manager-default.js.map +0 -1
- package/src/base/feedback/feedback-action-dispatcher-default.ts +0 -130
- package/src/features/helper-lines/helper-line-manager-default.ts +0 -250
|
@@ -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;AAyBpC;;;GAGG;AACH,eAAO,MAAM,aAAa,
|
|
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;AAyBpC;;;GAGG;AACH,eAAO,MAAM,aAAa,eAkFzB,CAAC"}
|
|
@@ -24,7 +24,7 @@ const action_handler_registry_1 = require("./action-handler-registry");
|
|
|
24
24
|
const command_stack_1 = require("./command-stack");
|
|
25
25
|
const editor_context_service_1 = require("./editor-context-service");
|
|
26
26
|
const css_feedback_1 = require("./feedback/css-feedback");
|
|
27
|
-
const
|
|
27
|
+
const feedback_action_dispatcher_1 = require("./feedback/feedback-action-dispatcher");
|
|
28
28
|
const set_model_command_1 = require("./feedback/set-model-command");
|
|
29
29
|
const update_model_command_1 = require("./feedback/update-model-command");
|
|
30
30
|
const focus_state_change_action_1 = require("./focus/focus-state-change-action");
|
|
@@ -53,13 +53,15 @@ exports.defaultModule = new sprotty_1.FeatureModule((bind, unbind, isBound, rebi
|
|
|
53
53
|
(0, sprotty_1.bindLazyInjector)(context);
|
|
54
54
|
bind(editor_context_service_1.EditorContextService).toSelf().inSingletonScope();
|
|
55
55
|
bind(sprotty_1.TYPES.IDiagramStartup).toService(editor_context_service_1.EditorContextService);
|
|
56
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
56
57
|
bind(sprotty_1.TYPES.IEditorContextServiceProvider).toProvider(ctx => async () => ctx.container.get(editor_context_service_1.EditorContextService));
|
|
57
58
|
(0, sprotty_1.configureActionHandler)(context, sprotty_1.SetEditModeAction.KIND, editor_context_service_1.EditorContextService);
|
|
58
59
|
(0, sprotty_1.configureActionHandler)(context, sprotty_1.SetDirtyStateAction.KIND, editor_context_service_1.EditorContextService);
|
|
59
60
|
bind(focus_tracker_1.FocusTracker).toSelf().inSingletonScope();
|
|
61
|
+
bind(sprotty_1.TYPES.IDiagramStartup).toService(focus_tracker_1.FocusTracker);
|
|
60
62
|
(0, sprotty_1.configureActionHandler)(context, focus_state_change_action_1.FocusStateChangedAction.KIND, focus_tracker_1.FocusTracker);
|
|
61
63
|
// Model update initialization ------------------------------------
|
|
62
|
-
bind(sprotty_1.TYPES.IFeedbackActionDispatcher).to(
|
|
64
|
+
bind(sprotty_1.TYPES.IFeedbackActionDispatcher).to(feedback_action_dispatcher_1.FeedbackActionDispatcher).inSingletonScope();
|
|
63
65
|
(0, sprotty_1.configureCommand)(context, update_model_command_1.FeedbackAwareUpdateModelCommand);
|
|
64
66
|
rebind(sprotty_1.SetModelCommand).to(set_model_command_1.FeedbackAwareSetModelCommand);
|
|
65
67
|
bind(mouse_tool_1.GLSPMouseTool).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,
|
|
1
|
+
{"version":3,"file":"default.module.js","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,15 +13,11 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, Command, CommandExecutionContext, Disposable,
|
|
16
|
+
import { Action, ActionHandlerRegistry, Command, CommandExecutionContext, Disposable, IActionDispatcher, ICommand, ILogger, MaybeActions } from '@eclipse-glsp/sprotty';
|
|
17
17
|
import { FeedbackEmitter } from './feedback-emitter';
|
|
18
18
|
export interface IFeedbackEmitter {
|
|
19
19
|
}
|
|
20
20
|
export declare const feedbackFeature: unique symbol;
|
|
21
|
-
export type MaybeActions = MaybeFunction<Action[] | Action | undefined>;
|
|
22
|
-
export declare namespace MaybeActions {
|
|
23
|
-
function asArray(actions?: MaybeActions): Action[];
|
|
24
|
-
}
|
|
25
21
|
/**
|
|
26
22
|
* Dispatcher for actions that are meant to show visual feedback on
|
|
27
23
|
* the diagram that is not part of the diagram sent from the server
|
|
@@ -73,4 +69,21 @@ export interface IFeedbackActionDispatcher {
|
|
|
73
69
|
*/
|
|
74
70
|
createEmitter(): FeedbackEmitter;
|
|
75
71
|
}
|
|
72
|
+
export declare class FeedbackActionDispatcher implements IFeedbackActionDispatcher, Disposable {
|
|
73
|
+
protected registeredFeedback: Map<IFeedbackEmitter, Action[]>;
|
|
74
|
+
protected actionDispatcher: IActionDispatcher;
|
|
75
|
+
protected logger: ILogger;
|
|
76
|
+
protected actionHandlerRegistry: ActionHandlerRegistry;
|
|
77
|
+
protected isDisposed: boolean;
|
|
78
|
+
registerFeedback(feedbackEmitter: IFeedbackEmitter, feedbackActions: Action[], cleanupActions?: MaybeActions): Disposable;
|
|
79
|
+
deregisterFeedback(feedbackEmitter: IFeedbackEmitter, cleanupActions?: MaybeActions): void;
|
|
80
|
+
getRegisteredFeedback(): Action[];
|
|
81
|
+
getRegisteredFeedbackEmitters(action: Action): IFeedbackEmitter[];
|
|
82
|
+
getFeedbackCommands(): Command[];
|
|
83
|
+
applyFeedbackCommands(context: CommandExecutionContext): Promise<void>;
|
|
84
|
+
protected actionToCommands(action: Action): ICommand[];
|
|
85
|
+
createEmitter(): FeedbackEmitter;
|
|
86
|
+
protected dispatchFeedback(actions: Action[], feedbackEmitter: IFeedbackEmitter): Promise<void>;
|
|
87
|
+
dispose(): void;
|
|
88
|
+
}
|
|
76
89
|
//# sourceMappingURL=feedback-action-dispatcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-action-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"feedback-action-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,qBAAqB,EACrB,OAAO,EAEP,uBAAuB,EACvB,UAAU,EAEV,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,YAAY,EAGf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,gBAAgB;CAAG;AAEpC,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;;;OAMG;IACH,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAE1H;;;;;;;;;OASG;IACH,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE3F;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,mBAAmB,IAAI,OAAO,EAAE,CAAC;IAEjC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;;OAGG;IACH,aAAa,IAAI,eAAe,CAAC;CACpC;AAED,qBACa,wBAAyB,YAAW,yBAAyB,EAAE,UAAU;IAClF,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAa;IAEzC,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEtF,SAAS,CAAC,UAAU,UAAS;IAE7B,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU;IAezH,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI;IAQ1F,qBAAqB,IAAI,MAAM,EAAE;IAMjC,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAUjE,mBAAmB,IAAI,OAAO,EAAE;IAM1B,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5E,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAStD,aAAa,IAAI,eAAe;cAIhB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAarG,OAAO,IAAI,IAAI;CAIlB"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
12
|
+
exports.FeedbackActionDispatcher = exports.feedbackFeature = void 0;
|
|
4
13
|
/********************************************************************************
|
|
5
14
|
* Copyright (c) 2019-2024 EclipseSource and others.
|
|
6
15
|
*
|
|
@@ -17,14 +26,108 @@ exports.MaybeActions = exports.feedbackFeature = void 0;
|
|
|
17
26
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
18
27
|
********************************************************************************/
|
|
19
28
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
29
|
+
const inversify_1 = require("inversify");
|
|
30
|
+
const feedback_command_1 = require("./feedback-command");
|
|
31
|
+
const feedback_emitter_1 = require("./feedback-emitter");
|
|
20
32
|
exports.feedbackFeature = Symbol('feedbackFeature');
|
|
21
|
-
|
|
22
|
-
(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
33
|
+
let FeedbackActionDispatcher = class FeedbackActionDispatcher {
|
|
34
|
+
constructor() {
|
|
35
|
+
this.registeredFeedback = new Map();
|
|
36
|
+
this.isDisposed = false;
|
|
37
|
+
}
|
|
38
|
+
registerFeedback(feedbackEmitter, feedbackActions, cleanupActions) {
|
|
39
|
+
if (feedbackEmitter instanceof sprotty_1.GModelElement) {
|
|
40
|
+
this.logger.log(this,
|
|
41
|
+
// eslint-disable-next-line max-len
|
|
42
|
+
'GModelElements as feedback emitters are discouraged, as they usually change between model updates and are considered unstable.');
|
|
43
|
+
}
|
|
44
|
+
if (feedbackActions.length > 0) {
|
|
45
|
+
this.registeredFeedback.set(feedbackEmitter, feedbackActions);
|
|
46
|
+
this.dispatchFeedback(feedbackActions, feedbackEmitter);
|
|
47
|
+
}
|
|
48
|
+
return sprotty_1.Disposable.create(() => this.deregisterFeedback(feedbackEmitter, cleanupActions));
|
|
49
|
+
}
|
|
50
|
+
deregisterFeedback(feedbackEmitter, cleanupActions) {
|
|
51
|
+
this.registeredFeedback.delete(feedbackEmitter);
|
|
52
|
+
const actions = sprotty_1.MaybeActions.asArray(cleanupActions);
|
|
53
|
+
if (actions.length > 0) {
|
|
54
|
+
this.dispatchFeedback(actions, feedbackEmitter);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
getRegisteredFeedback() {
|
|
58
|
+
const result = [];
|
|
59
|
+
this.registeredFeedback.forEach(actions => result.push(...actions));
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
getRegisteredFeedbackEmitters(action) {
|
|
63
|
+
const result = [];
|
|
64
|
+
this.registeredFeedback.forEach((actions, emitter) => {
|
|
65
|
+
if (actions.includes(action)) {
|
|
66
|
+
result.push(emitter);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
getFeedbackCommands() {
|
|
72
|
+
return this.getRegisteredFeedback()
|
|
73
|
+
.flatMap(action => this.actionToCommands(action))
|
|
74
|
+
.sort((left, right) => (0, feedback_command_1.getFeedbackRank)(left) - (0, feedback_command_1.getFeedbackRank)(right));
|
|
75
|
+
}
|
|
76
|
+
async applyFeedbackCommands(context) {
|
|
77
|
+
var _a;
|
|
78
|
+
const feedbackCommands = (_a = this.getFeedbackCommands()) !== null && _a !== void 0 ? _a : [];
|
|
79
|
+
if ((feedbackCommands === null || feedbackCommands === void 0 ? void 0 : feedbackCommands.length) > 0) {
|
|
80
|
+
const results = feedbackCommands.map(command => command.execute(context));
|
|
81
|
+
await Promise.all(results);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
actionToCommands(action) {
|
|
85
|
+
var _a;
|
|
86
|
+
return ((_a = this.actionHandlerRegistry
|
|
87
|
+
.get(action.kind)
|
|
88
|
+
.filter((0, sprotty_1.toTypeGuard)(sprotty_1.CommandActionHandler))
|
|
89
|
+
.map(handler => handler.handle(action))) !== null && _a !== void 0 ? _a : []);
|
|
90
|
+
}
|
|
91
|
+
createEmitter() {
|
|
92
|
+
return new feedback_emitter_1.FeedbackEmitter(this);
|
|
93
|
+
}
|
|
94
|
+
async dispatchFeedback(actions, feedbackEmitter) {
|
|
95
|
+
try {
|
|
96
|
+
if (this.isDisposed) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
await this.actionDispatcher.dispatchAll(actions);
|
|
100
|
+
this.logger.info(this, `Dispatched feedback actions for ${feedbackEmitter}`);
|
|
101
|
+
}
|
|
102
|
+
catch (reason) {
|
|
103
|
+
this.logger.error(this, 'Failed to dispatch feedback actions', reason);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
dispose() {
|
|
107
|
+
this.registeredFeedback.clear();
|
|
108
|
+
this.isDisposed = true;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
exports.FeedbackActionDispatcher = FeedbackActionDispatcher;
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, inversify_1.inject)(sprotty_1.TYPES.IActionDispatcher),
|
|
114
|
+
__metadata("design:type", Object)
|
|
115
|
+
], FeedbackActionDispatcher.prototype, "actionDispatcher", void 0);
|
|
116
|
+
__decorate([
|
|
117
|
+
(0, inversify_1.inject)(sprotty_1.TYPES.ILogger),
|
|
118
|
+
__metadata("design:type", Object)
|
|
119
|
+
], FeedbackActionDispatcher.prototype, "logger", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
(0, inversify_1.inject)(sprotty_1.ActionHandlerRegistry),
|
|
122
|
+
__metadata("design:type", sprotty_1.ActionHandlerRegistry)
|
|
123
|
+
], FeedbackActionDispatcher.prototype, "actionHandlerRegistry", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
(0, inversify_1.preDestroy)(),
|
|
126
|
+
__metadata("design:type", Function),
|
|
127
|
+
__metadata("design:paramtypes", []),
|
|
128
|
+
__metadata("design:returntype", void 0)
|
|
129
|
+
], FeedbackActionDispatcher.prototype, "dispose", null);
|
|
130
|
+
exports.FeedbackActionDispatcher = FeedbackActionDispatcher = __decorate([
|
|
131
|
+
(0, inversify_1.injectable)()
|
|
132
|
+
], FeedbackActionDispatcher);
|
|
30
133
|
//# sourceMappingURL=feedback-action-dispatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-action-dispatcher.js","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feedback-action-dispatcher.js","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { Action, Disposable } from '@eclipse-glsp/sprotty';
|
|
17
|
-
import { IFeedbackActionDispatcher, IFeedbackEmitter
|
|
16
|
+
import { Action, Disposable, MaybeActions } from '@eclipse-glsp/sprotty';
|
|
17
|
+
import type { IFeedbackActionDispatcher, IFeedbackEmitter } from './feedback-action-dispatcher';
|
|
18
18
|
/**
|
|
19
19
|
* A helper object to collect, submit and undo feedback consisting of several actions.
|
|
20
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-emitter.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/feedback-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAW,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"feedback-emitter.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/feedback-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhG;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB,EAAE,UAAU;IAMpD,SAAS,CAAC,kBAAkB,EAAE,yBAAyB;IALnE,SAAS,CAAC,EAAE,SAAe;IAC3B,SAAS,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAM;IACvD,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,CAAM;IAC9C,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;gBAEhB,kBAAkB,EAAE,yBAAyB;IAEnE;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI;IAYxD;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAMtC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,MAAM,IAAI,IAAI;IAad;;;OAGG;IACH,OAAO,IAAI,IAAI;IAMf;;;OAGG;IACH,MAAM,IAAI,IAAI;IAMd;;OAEG;IACH,OAAO,IAAI,IAAI;CAKlB"}
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.FeedbackEmitter = void 0;
|
|
19
19
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
20
|
-
const feedback_action_dispatcher_1 = require("./feedback-action-dispatcher");
|
|
21
20
|
// counter for internal id, mainly useful for debugging
|
|
22
21
|
let idCounter = 0;
|
|
23
22
|
/**
|
|
@@ -90,7 +89,7 @@ class FeedbackEmitter {
|
|
|
90
89
|
const actions = (0, sprotty_1.arrayOf)(...this.feedbackActions);
|
|
91
90
|
const cleanupActions = (0, sprotty_1.arrayOf)(...this.cleanupActions);
|
|
92
91
|
if (actions.length > 0 || cleanupActions.length > 0) {
|
|
93
|
-
this.deregistration = this.feedbackDispatcher.registerFeedback(this, actions, () => cleanupActions.flatMap(
|
|
92
|
+
this.deregistration = this.feedbackDispatcher.registerFeedback(this, actions, () => cleanupActions.flatMap(sprotty_1.MaybeActions.asArray));
|
|
94
93
|
this.clear();
|
|
95
94
|
}
|
|
96
95
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-emitter.js","sourceRoot":"","sources":["../../../src/base/feedback/feedback-emitter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,
|
|
1
|
+
{"version":3,"file":"feedback-emitter.js","sourceRoot":"","sources":["../../../src/base/feedback/feedback-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2019-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 { GModelRoot, IContextMenuItemProvider, MenuItem, Point } from '@eclipse-glsp/sprotty';
|
|
2
17
|
import { EditorContextService, EditorContextServiceProvider } from '../../base/editor-context-service';
|
|
3
18
|
export declare class DeleteElementContextMenuItemProvider implements IContextMenuItemProvider {
|
|
19
|
+
/** @deprecated No longer used. The {@link EditorContextService} is now directly injected.*/
|
|
4
20
|
editorContextServiceProvider: EditorContextServiceProvider;
|
|
21
|
+
protected editorContext: EditorContextService;
|
|
5
22
|
getItems(_root: Readonly<GModelRoot>, _lastMousePosition?: Point): Promise<MenuItem[]>;
|
|
6
|
-
protected createDeleteMenuItem(
|
|
23
|
+
protected createDeleteMenuItem(): MenuItem;
|
|
7
24
|
}
|
|
8
25
|
//# sourceMappingURL=delete-element-context-menu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-element-context-menu.d.ts","sourceRoot":"","sources":["../../../src/features/context-menu/delete-element-context-menu.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete-element-context-menu.d.ts","sourceRoot":"","sources":["../../../src/features/context-menu/delete-element-context-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAA0B,UAAU,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAS,MAAM,uBAAuB,CAAC;AAE7H,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAEvG,qBACa,oCAAqC,YAAW,wBAAwB;IACjF,4FAA4F;IAE/C,4BAA4B,EAAE,4BAA4B,CAAC;IAGxG,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAExC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI5F,SAAS,CAAC,oBAAoB,IAAI,QAAQ;CAU7C"}
|
|
@@ -11,7 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.DeleteElementContextMenuItemProvider = void 0;
|
|
13
13
|
/********************************************************************************
|
|
14
|
-
* Copyright (c) 2019-
|
|
14
|
+
* Copyright (c) 2019-2024 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
|
|
@@ -25,21 +25,21 @@ exports.DeleteElementContextMenuItemProvider = void 0;
|
|
|
25
25
|
*
|
|
26
26
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
27
27
|
********************************************************************************/
|
|
28
|
-
const inversify_1 = require("inversify");
|
|
29
28
|
const sprotty_1 = require("@eclipse-glsp/sprotty");
|
|
29
|
+
const inversify_1 = require("inversify");
|
|
30
|
+
const editor_context_service_1 = require("../../base/editor-context-service");
|
|
30
31
|
let DeleteElementContextMenuItemProvider = class DeleteElementContextMenuItemProvider {
|
|
31
32
|
async getItems(_root, _lastMousePosition) {
|
|
32
|
-
|
|
33
|
-
return [this.createDeleteMenuItem(editorContextService)];
|
|
33
|
+
return [this.createDeleteMenuItem()];
|
|
34
34
|
}
|
|
35
|
-
createDeleteMenuItem(
|
|
35
|
+
createDeleteMenuItem() {
|
|
36
36
|
return {
|
|
37
37
|
id: 'delete',
|
|
38
38
|
label: 'Delete',
|
|
39
39
|
sortString: 'd',
|
|
40
40
|
group: 'edit',
|
|
41
|
-
actions: [sprotty_1.DeleteElementOperation.create(
|
|
42
|
-
isEnabled: () => !
|
|
41
|
+
actions: [sprotty_1.DeleteElementOperation.create(this.editorContext.selectedElements.map(e => e.id))],
|
|
42
|
+
isEnabled: () => !this.editorContext.isReadonly && this.editorContext.selectedElements.length > 0
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
};
|
|
@@ -48,6 +48,10 @@ __decorate([
|
|
|
48
48
|
(0, inversify_1.inject)(sprotty_1.TYPES.IEditorContextServiceProvider),
|
|
49
49
|
__metadata("design:type", Function)
|
|
50
50
|
], DeleteElementContextMenuItemProvider.prototype, "editorContextServiceProvider", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, inversify_1.inject)(editor_context_service_1.EditorContextService),
|
|
53
|
+
__metadata("design:type", editor_context_service_1.EditorContextService)
|
|
54
|
+
], DeleteElementContextMenuItemProvider.prototype, "editorContext", void 0);
|
|
51
55
|
exports.DeleteElementContextMenuItemProvider = DeleteElementContextMenuItemProvider = __decorate([
|
|
52
56
|
(0, inversify_1.injectable)()
|
|
53
57
|
], DeleteElementContextMenuItemProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-element-context-menu.js","sourceRoot":"","sources":["../../../src/features/context-menu/delete-element-context-menu.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"delete-element-context-menu.js","sourceRoot":"","sources":["../../../src/features/context-menu/delete-element-context-menu.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAA6H;AAC7H,yCAA+C;AAC/C,8EAAuG;AAGhG,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAQ7C,KAAK,CAAC,QAAQ,CAAC,KAA2B,EAAE,kBAA0B;QAClE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACzC,CAAC;IAES,oBAAoB;QAC1B,OAAO;YACH,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,CAAC,gCAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5F,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;SACpG,CAAC;IACN,CAAC;CACJ,CAAA;AAtBY,oFAAoC;AAGA;IAA5C,IAAA,kBAAM,EAAC,eAAK,CAAC,6BAA6B,CAAC;;0FAA4D;AAG9F;IADT,IAAA,kBAAM,EAAC,6CAAoB,CAAC;8BACJ,6CAAoB;2EAAC;+CANrC,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAsBhD"}
|
|
@@ -13,10 +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 { ExportSvgAction, GModelRoot, RequestAction, SvgExporter } from '@eclipse-glsp/sprotty';
|
|
16
|
+
import { Action, ExportSvgAction, ExportSvgOptions, GModelRoot, RequestAction, RequestExportSvgAction, SvgExporter } from '@eclipse-glsp/sprotty';
|
|
17
17
|
export declare class GLSPSvgExporter extends SvgExporter {
|
|
18
|
-
export(root: GModelRoot, request?:
|
|
19
|
-
protected createSvg(svgElement: SVGSVGElement, root: GModelRoot): string;
|
|
18
|
+
export(root: GModelRoot, request?: RequestExportSvgAction): void;
|
|
19
|
+
protected createSvg(svgElement: SVGSVGElement, root: GModelRoot, options?: ExportSvgOptions, cause?: Action): string;
|
|
20
20
|
protected findSvgElement(): SVGSVGElement | null;
|
|
21
21
|
protected prepareSvgElement(svgElement: SVGSVGElement, root: GModelRoot, request?: RequestAction<ExportSvgAction>): SVGSVGElement;
|
|
22
22
|
protected copyStyles(source: Element, target: Element, skippedProperties: string[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glsp-svg-exporter.d.ts","sourceRoot":"","sources":["../../../src/features/export/glsp-svg-exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"glsp-svg-exporter.d.ts","sourceRoot":"","sources":["../../../src/features/export/glsp-svg-exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,WAAW,EACd,MAAM,uBAAuB,CAAC;AAI/B,qBACa,eAAgB,SAAQ,WAAW;IACnC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;cAetD,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAW7H,SAAS,CAAC,cAAc,IAAI,aAAa,GAAG,IAAI;IAMhD,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,aAAa;cAI9G,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,IAAI;IAalG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,IAAI;IA0BxF,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,qBAAqB;IAK3E,SAAS,CAAC,YAAY,CAClB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GACzC,MAAM;IAKT,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,MAAM,GAAG,SAAS;CAUtI"}
|
|
@@ -27,23 +27,24 @@ const inversify_1 = require("inversify");
|
|
|
27
27
|
const uuid_1 = require("uuid");
|
|
28
28
|
let GLSPSvgExporter = class GLSPSvgExporter extends sprotty_1.SvgExporter {
|
|
29
29
|
export(root, request) {
|
|
30
|
+
var _a;
|
|
30
31
|
if (typeof document !== 'undefined') {
|
|
31
32
|
let svgElement = this.findSvgElement();
|
|
32
33
|
if (svgElement) {
|
|
33
34
|
svgElement = this.prepareSvgElement(svgElement, root, request);
|
|
34
|
-
const serializedSvg = this.createSvg(svgElement, root);
|
|
35
|
+
const serializedSvg = this.createSvg(svgElement, root, (_a = request === null || request === void 0 ? void 0 : request.options) !== null && _a !== void 0 ? _a : {}, request);
|
|
35
36
|
const svgExport = this.getSvgExport(serializedSvg, svgElement, root, request);
|
|
36
37
|
// do not give request/response id here as otherwise the action is treated as an unrequested response
|
|
37
|
-
this.actionDispatcher.dispatch(sprotty_1.ExportSvgAction.create(svgExport));
|
|
38
|
+
this.actionDispatcher.dispatch(sprotty_1.ExportSvgAction.create(svgExport, { responseId: request === null || request === void 0 ? void 0 : request.requestId, options: request === null || request === void 0 ? void 0 : request.options }));
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
|
-
createSvg(svgElement, root) {
|
|
42
|
+
createSvg(svgElement, root, options, cause) {
|
|
42
43
|
// createSvg requires the svg to have a non-empty id, so we generate one if necessary
|
|
43
44
|
const originalId = svgElement.id;
|
|
44
45
|
try {
|
|
45
46
|
svgElement.id = originalId || (0, uuid_1.v4)();
|
|
46
|
-
return super.createSvg(svgElement, root);
|
|
47
|
+
return super.createSvg(svgElement, root, options, cause);
|
|
47
48
|
}
|
|
48
49
|
finally {
|
|
49
50
|
svgElement.id = originalId;
|
|
@@ -103,7 +104,7 @@ let GLSPSvgExporter = class GLSPSvgExporter extends sprotty_1.SvgExporter {
|
|
|
103
104
|
}
|
|
104
105
|
getSvgExportStyle(svgElement, root, request) {
|
|
105
106
|
// provide generated svg code with respective sizing for proper viewing in browser and remove undesired border
|
|
106
|
-
const bounds = this.getBounds(root);
|
|
107
|
+
const bounds = this.getBounds(root, document);
|
|
107
108
|
return (`width: ${bounds.width}px !important;` +
|
|
108
109
|
`height: ${bounds.height}px !important;` +
|
|
109
110
|
'border: none !important;' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glsp-svg-exporter.js","sourceRoot":"","sources":["../../../src/features/export/glsp-svg-exporter.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"glsp-svg-exporter.js","sourceRoot":"","sources":["../../../src/features/export/glsp-svg-exporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,15 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { GModelElement, Vector } from '@eclipse-glsp/sprotty';
|
|
17
|
-
import {
|
|
16
|
+
import { Action, GModelElement, GModelRoot, IActionHandler, MoveAction, Point, SetBoundsAction, Vector } from '@eclipse-glsp/sprotty';
|
|
17
|
+
import { IFeedbackActionDispatcher } from '../../base/feedback/feedback-action-dispatcher';
|
|
18
|
+
import { FeedbackEmitter } from '../../base/feedback/feedback-emitter';
|
|
19
|
+
import { ISelectionListener, SelectionService } from '../../base/selection-service';
|
|
20
|
+
import { SetBoundsFeedbackAction } from '../bounds/set-bounds-feedback-command';
|
|
21
|
+
import { Grid } from '../grid/grid';
|
|
22
|
+
import { MoveFinishedEventAction, MoveInitializedEventAction } from '../tools/change-bounds/change-bounds-tool-feedback';
|
|
23
|
+
import { AlignmentElementFilter, DrawHelperLinesFeedbackAction, ViewportLineType } from './helper-line-feedback';
|
|
24
|
+
import { Direction, HelperLine, HelperLineType } from './model';
|
|
18
25
|
export interface IHelperLineManager {
|
|
19
26
|
/**
|
|
20
27
|
* Calculates the minimum move delta on one axis that is necessary to break through a helper line.
|
|
@@ -33,4 +40,73 @@ export interface IHelperLineManager {
|
|
|
33
40
|
*/
|
|
34
41
|
getMinimumMoveVector(element: GModelElement, isSnap: boolean, directions: Direction[]): Vector | undefined;
|
|
35
42
|
}
|
|
43
|
+
export interface IHelperLineOptions {
|
|
44
|
+
/**
|
|
45
|
+
* A list of helper line types that should be rendered when elements are aligned.
|
|
46
|
+
* Defaults to all possible alignments.
|
|
47
|
+
*/
|
|
48
|
+
elementLines?: HelperLineType[];
|
|
49
|
+
/**
|
|
50
|
+
* A list of helper line types that should be rendered when an element is aligned with the viewport.
|
|
51
|
+
* Defaults to middle and center alignment.
|
|
52
|
+
*/
|
|
53
|
+
viewportLines?: ViewportLineType[];
|
|
54
|
+
/**
|
|
55
|
+
* The minimum difference between two coordinates
|
|
56
|
+
* Defaults to 1 or zero (perfect match) if the optional grid module is loaded.
|
|
57
|
+
*/
|
|
58
|
+
alignmentEpsilon?: number;
|
|
59
|
+
/**
|
|
60
|
+
* A filter that is applied to determine on which elements the alignment calculation is performed.
|
|
61
|
+
* By default all top-level bounds-aware, non-routable elements that are visible on the canvas are considered.
|
|
62
|
+
*/
|
|
63
|
+
alignmentElementFilter?: AlignmentElementFilter;
|
|
64
|
+
/**
|
|
65
|
+
* The minimum move delta that is necessary for an element to break through a helper line.
|
|
66
|
+
* Defaults to { x: 1, y: 1 } whereas the x represents the horizontal distance and y represents the vertical distance.
|
|
67
|
+
* If the optional grid module is loaded, defaults to twice the grid size, i.e., two grid moves to break through a helper line.
|
|
68
|
+
*/
|
|
69
|
+
minimumMoveDelta?: Point;
|
|
70
|
+
/**
|
|
71
|
+
* Produces debug output.
|
|
72
|
+
* Defaults to false.
|
|
73
|
+
*/
|
|
74
|
+
debug?: boolean;
|
|
75
|
+
}
|
|
76
|
+
export declare const DEFAULT_MOVE_DELTA: {
|
|
77
|
+
x: number;
|
|
78
|
+
y: number;
|
|
79
|
+
};
|
|
80
|
+
export declare const DEFAULT_HELPER_LINE_OPTIONS: Required<IHelperLineOptions>;
|
|
81
|
+
export declare class HelperLineManager implements IActionHandler, ISelectionListener, IHelperLineManager {
|
|
82
|
+
protected feedbackDispatcher: IFeedbackActionDispatcher;
|
|
83
|
+
protected selectionService: SelectionService;
|
|
84
|
+
protected userOptions?: IHelperLineOptions;
|
|
85
|
+
protected grid?: Grid;
|
|
86
|
+
protected options: Required<IHelperLineOptions>;
|
|
87
|
+
protected feedback: FeedbackEmitter;
|
|
88
|
+
protected init(): void;
|
|
89
|
+
handle(action: Action): void;
|
|
90
|
+
protected handleMoveInitializedAction(_action: MoveInitializedEventAction): void;
|
|
91
|
+
protected handleMoveFinishedAction(_action: MoveFinishedEventAction): void;
|
|
92
|
+
protected handleMoveAction(action: MoveAction): void;
|
|
93
|
+
protected submitHelperLineFeedback(elementIds?: string[]): void;
|
|
94
|
+
protected createHelperLineFeedback(elementIds: string[]): DrawHelperLinesFeedbackAction;
|
|
95
|
+
protected handleSetBoundsAction(action: SetBoundsAction | SetBoundsFeedbackAction): void;
|
|
96
|
+
selectionChanged(root: Readonly<GModelRoot>, selectedElements: string[], deselectedElements?: string[] | undefined): void;
|
|
97
|
+
getMinimumMoveDelta(element: GModelElement, isSnap: boolean, direction: Direction): number;
|
|
98
|
+
getMinimumMoveVector(element: GModelElement, isSnap: boolean, move: Direction[]): Vector | undefined;
|
|
99
|
+
protected getHelperLineState(element: GModelElement): HelperLineState;
|
|
100
|
+
}
|
|
101
|
+
export interface HelperLineState {
|
|
102
|
+
helperLines: HelperLine[];
|
|
103
|
+
types: {
|
|
104
|
+
left: boolean;
|
|
105
|
+
right: boolean;
|
|
106
|
+
top: boolean;
|
|
107
|
+
bottom: boolean;
|
|
108
|
+
center: boolean;
|
|
109
|
+
middle: boolean;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
36
112
|
//# sourceMappingURL=helper-line-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper-line-manager.d.ts","sourceRoot":"","sources":["../../../src/features/helper-lines/helper-line-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"helper-line-manager.d.ts","sourceRoot":"","sources":["../../../src/features/helper-lines/helper-line-manager.ts"],"names":[],"mappings":"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"}
|