@eclipse-glsp/client 0.10.0-next.6bee8eb.163 → 0.10.0-next.79193da.164
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/features/select/selection-service.js +1 -1
- package/lib/features/select/selection-service.js.map +1 -1
- package/lib/utils/smodel-util.d.ts +10 -1
- package/lib/utils/smodel-util.d.ts.map +1 -1
- package/lib/utils/smodel-util.js +20 -1
- package/lib/utils/smodel-util.js.map +1 -1
- package/package.json +3 -3
- package/src/features/select/selection-service.ts +2 -2
- package/src/utils/smodel-util.ts +19 -1
|
@@ -101,7 +101,7 @@ let SelectionService = class SelectionService {
|
|
|
101
101
|
return this.root;
|
|
102
102
|
}
|
|
103
103
|
getSelectedElements() {
|
|
104
|
-
return (0, smodel_util_1.
|
|
104
|
+
return (0, smodel_util_1.getElements)(this.root.index, Array.from(this.selectedElementIDs), sprotty_1.isSelectable);
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
107
|
* QUERY METHODS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-service.js","sourceRoot":"","sources":["../../../src/features/select/selection-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAAoG;AACpG,yCAAsE;AACtE,qCAaiB;AAEjB,4CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"selection-service.js","sourceRoot":"","sources":["../../../src/features/select/selection-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 { ElementAndRoutingPoints } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { ElementAndRoutingPoints, TypeGuard } from '@eclipse-glsp/protocol';
|
|
17
17
|
import { BoundsAware, ElementAndBounds, Selectable, SModelElement, SModelElementSchema, SModelIndex, SRoutableElement, SRoutingHandle } from 'sprotty';
|
|
18
18
|
import { FluentIterable } from 'sprotty/lib/utils/iterable';
|
|
19
19
|
/**
|
|
@@ -46,6 +46,15 @@ export declare function forEachElement<T>(index: SModelIndex<SModelElement>, pre
|
|
|
46
46
|
* (correctly casted to also include the additional type of the predicate).
|
|
47
47
|
*/
|
|
48
48
|
export declare function getMatchingElements<T>(index: SModelIndex<SModelElement>, predicate: ModelFilterPredicate<T>): (SModelElement & T)[];
|
|
49
|
+
/**
|
|
50
|
+
* Invokes the given model index to retrieve the corresponding model elements for the given set of ids. Ids that
|
|
51
|
+
* have no corresponding element in the index will be ignored.
|
|
52
|
+
* @param index THe model index.
|
|
53
|
+
* @param elementsIDs The element ids.
|
|
54
|
+
* @param guard Optional typeguard. If defined only elements that match the guard will be returned.
|
|
55
|
+
* @returns An array of the model elements that correspond to the given ids and filter predicate.
|
|
56
|
+
*/
|
|
57
|
+
export declare function getElements<S extends SModelElement>(index: SModelIndex<SModelElement>, elementsIDs: string[], guard?: TypeGuard<S>): S[];
|
|
49
58
|
/**
|
|
50
59
|
* Retrieves the amount of currently selected elements in the given {@link SModelIndex}.
|
|
51
60
|
* @param index The {@link SModelIndex}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAe,uBAAuB,EAAU,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"smodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/smodel-util.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getElementTypeId = exports.hasCompatibleType = exports.toElementAndRoutingPoints = exports.toElementAndBounds = exports.isSelectableAndBoundsAware = exports.isRoutingHandle = exports.isRoutable = exports.isNonRoutableSelectedBoundsAware = exports.isNonRoutableSelectedMovableBoundsAware = exports.removeCssClasses = exports.addCssClasses = exports.isNotUndefined = exports.hasSelectedElements = exports.getSelectedElementCount = exports.getMatchingElements = exports.forEachElement = exports.filter = void 0;
|
|
3
|
+
exports.getElementTypeId = exports.hasCompatibleType = exports.toElementAndRoutingPoints = exports.toElementAndBounds = exports.isSelectableAndBoundsAware = exports.isRoutingHandle = exports.isRoutable = exports.isNonRoutableSelectedBoundsAware = exports.isNonRoutableSelectedMovableBoundsAware = exports.removeCssClasses = exports.addCssClasses = exports.isNotUndefined = exports.hasSelectedElements = exports.getSelectedElementCount = exports.getElements = exports.getMatchingElements = exports.forEachElement = exports.filter = void 0;
|
|
4
4
|
/********************************************************************************
|
|
5
5
|
* Copyright (c) 2019-2022 EclipseSource and others.
|
|
6
6
|
*
|
|
@@ -51,6 +51,25 @@ function getMatchingElements(index, predicate) {
|
|
|
51
51
|
return Array.from(filter(index, predicate));
|
|
52
52
|
}
|
|
53
53
|
exports.getMatchingElements = getMatchingElements;
|
|
54
|
+
/**
|
|
55
|
+
* Invokes the given model index to retrieve the corresponding model elements for the given set of ids. Ids that
|
|
56
|
+
* have no corresponding element in the index will be ignored.
|
|
57
|
+
* @param index THe model index.
|
|
58
|
+
* @param elementsIDs The element ids.
|
|
59
|
+
* @param guard Optional typeguard. If defined only elements that match the guard will be returned.
|
|
60
|
+
* @returns An array of the model elements that correspond to the given ids and filter predicate.
|
|
61
|
+
*/
|
|
62
|
+
function getElements(index, elementsIDs, guard) {
|
|
63
|
+
// Internal filter function that filters out undefined model elements and runs an optional typeguard check.
|
|
64
|
+
const filterFn = (element) => {
|
|
65
|
+
if (element !== undefined) {
|
|
66
|
+
return guard ? guard(element) : true;
|
|
67
|
+
}
|
|
68
|
+
return false;
|
|
69
|
+
};
|
|
70
|
+
return elementsIDs.map(id => index.getById(id)).filter(filterFn);
|
|
71
|
+
}
|
|
72
|
+
exports.getElements = getElements;
|
|
54
73
|
/**
|
|
55
74
|
* Retrieves the amount of currently selected elements in the given {@link SModelIndex}.
|
|
56
75
|
* @param index The {@link SModelIndex}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smodel-util.js","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,
|
|
1
|
+
{"version":3,"file":"smodel-util.js","sourceRoot":"","sources":["../../src/utils/smodel-util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/client",
|
|
3
|
-
"version": "0.10.0-next.
|
|
3
|
+
"version": "0.10.0-next.79193da.164+79193da",
|
|
4
4
|
"description": "A sprotty-based client for GLSP",
|
|
5
5
|
"license": "(EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0)",
|
|
6
6
|
"keywords": [
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"css"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@eclipse-glsp/protocol": "0.10.0-next.
|
|
37
|
+
"@eclipse-glsp/protocol": "0.10.0-next.79193da.164+79193da",
|
|
38
38
|
"autocompleter": "5.1.0",
|
|
39
39
|
"sprotty": "0.10.0"
|
|
40
40
|
},
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
},
|
|
57
57
|
"main": "lib/index",
|
|
58
58
|
"types": "lib/index",
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "79193da558670f9e116c4fd0e798feb0970fa681"
|
|
60
60
|
}
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
} from 'sprotty';
|
|
32
32
|
import { SModelRootListener } from '../../base/model/update-model-command';
|
|
33
33
|
import { GLSP_TYPES } from '../../base/types';
|
|
34
|
-
import {
|
|
34
|
+
import { getElements } from '../../utils/smodel-util';
|
|
35
35
|
import { IFeedbackActionDispatcher } from '../tool-feedback/feedback-action-dispatcher';
|
|
36
36
|
import { SelectFeedbackAction } from './select-feedback-action';
|
|
37
37
|
|
|
@@ -124,7 +124,7 @@ export class SelectionService implements SModelRootListener {
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
getSelectedElements(): Readonly<SModelElement & Selectable>[] {
|
|
127
|
-
return
|
|
127
|
+
return getElements(this.root.index, Array.from(this.selectedElementIDs), isSelectable);
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
/**
|
package/src/utils/smodel-util.ts
CHANGED
|
@@ -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 { distinctAdd, ElementAndRoutingPoints, remove } from '@eclipse-glsp/protocol';
|
|
16
|
+
import { distinctAdd, ElementAndRoutingPoints, remove, TypeGuard } from '@eclipse-glsp/protocol';
|
|
17
17
|
import {
|
|
18
18
|
BoundsAware,
|
|
19
19
|
ElementAndBounds,
|
|
@@ -74,6 +74,24 @@ export function getMatchingElements<T>(index: SModelIndex<SModelElement>, predic
|
|
|
74
74
|
return Array.from(filter(index, predicate));
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
/**
|
|
78
|
+
* Invokes the given model index to retrieve the corresponding model elements for the given set of ids. Ids that
|
|
79
|
+
* have no corresponding element in the index will be ignored.
|
|
80
|
+
* @param index THe model index.
|
|
81
|
+
* @param elementsIDs The element ids.
|
|
82
|
+
* @param guard Optional typeguard. If defined only elements that match the guard will be returned.
|
|
83
|
+
* @returns An array of the model elements that correspond to the given ids and filter predicate.
|
|
84
|
+
*/
|
|
85
|
+
export function getElements<S extends SModelElement>(index: SModelIndex<SModelElement>, elementsIDs: string[], guard?: TypeGuard<S>): S[] {
|
|
86
|
+
// Internal filter function that filters out undefined model elements and runs an optional typeguard check.
|
|
87
|
+
const filterFn = (element?: SModelElement): element is S => {
|
|
88
|
+
if (element !== undefined) {
|
|
89
|
+
return guard ? guard(element) : true;
|
|
90
|
+
}
|
|
91
|
+
return false;
|
|
92
|
+
};
|
|
93
|
+
return elementsIDs.map(id => index.getById(id)).filter(filterFn);
|
|
94
|
+
}
|
|
77
95
|
/**
|
|
78
96
|
* Retrieves the amount of currently selected elements in the given {@link SModelIndex}.
|
|
79
97
|
* @param index The {@link SModelIndex}.
|