@vcmap/ui 6.3.0-rc.3 → 6.3.0-rc.5
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/config/i3s.config.json +1 -1
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core-a9703a41.js → core-c619c3cb.js} +15 -12
- package/dist/assets/core-workers/panoramaImageWorker.js +1 -1
- package/dist/assets/core.js +1 -1
- package/dist/assets/ol.js +1 -1
- package/dist/assets/{ui-e0eb19f4.css → ui-1477acda.css} +1 -1
- package/dist/assets/{ui-e0eb19f4.js → ui-1477acda.js} +5775 -5516
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-8a5a634a.js → vuetify-fdf20bf9.js} +1 -1
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +14 -2
- package/index.js +9 -0
- package/package.json +2 -2
- package/src/application/VcsNavbar.vue +8 -1
- package/src/application/VcsNavbar.vue.d.ts +8 -0
- package/src/application/VcsNavbarMobile.vue +2 -0
- package/src/callback/activateClippingPolygonCallback.d.ts +1 -0
- package/src/callback/activateLayersCallback.d.ts +1 -0
- package/src/callback/activateMapCallback.d.ts +4 -0
- package/src/callback/activateOverviewMapCallback.d.ts +1 -0
- package/src/callback/addModuleCallback.d.ts +1 -0
- package/src/callback/applyLayerStyleCallback.d.ts +1 -0
- package/src/callback/closeSplashScreenCallback.d.ts +1 -0
- package/src/callback/deactivateClippingPolygonCallback.d.ts +1 -0
- package/src/callback/deactivateLayersCallback.d.ts +1 -0
- package/src/callback/deactivateOverviewMapCallback.d.ts +1 -0
- package/src/callback/goToViewpointCallback.d.ts +1 -0
- package/src/callback/goToViewpointCallback.js +2 -2
- package/src/callback/hideObjectsCallback.d.ts +28 -0
- package/src/callback/hideObjectsCallback.js +62 -0
- package/src/callback/highlightObjectsCallback.d.ts +32 -0
- package/src/callback/highlightObjectsCallback.js +68 -0
- package/src/callback/openSplashScreenCallback.d.ts +1 -0
- package/src/callback/removeModuleCallback.d.ts +1 -0
- package/src/callback/showObjectsCallback.d.ts +28 -0
- package/src/callback/showObjectsCallback.js +62 -0
- package/src/callback/startFlightCallback.d.ts +29 -0
- package/src/callback/startFlightCallback.js +78 -0
- package/src/callback/stopFlightCallback.d.ts +24 -0
- package/src/callback/stopFlightCallback.js +50 -0
- package/src/callback/stopRotationCallback.d.ts +1 -0
- package/src/callback/toggleNavbarButtonCallback.d.ts +1 -0
- package/src/callback/toggleToolbarButtonCallback.d.ts +1 -0
- package/src/callback/unHighlightObjectsCallback.d.ts +28 -0
- package/src/callback/unHighlightObjectsCallback.js +59 -0
- package/src/callback/vcsCallback.d.ts +16 -2
- package/src/callback/vcsCallback.js +27 -1
- package/src/components/projection/VcsProjection.vue +1 -1
- package/src/manager/navbarManager.d.ts +27 -15
- package/src/manager/navbarManager.js +24 -8
- package/src/manager/toolbox/toolboxManager.d.ts +1 -1
- /package/dist/assets/{cesium-2e65c850.js → cesium-2c8fbb1c.js} +0 -0
- /package/dist/assets/core-workers/{panoramaImageWorker.js-8122ca44.js → panoramaImageWorker.js-d20b3c02.js} +0 -0
- /package/dist/assets/{ol-b4f2ad56.js → ol-ec143a2b.js} +0 -0
- /package/dist/assets/{vue-2cae5c1e.js → vue-1a3ae885.js} +0 -0
- /package/dist/assets/{vuetify-8a5a634a.css → vuetify-fdf20bf9.css} +0 -0
package/dist/assets/ui.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./ui-
|
|
1
|
+
export * from "./ui-1477acda.js";
|
package/dist/assets/vue.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./vue-
|
|
1
|
+
export * from "./vue-1a3ae885.js";
|
|
@@ -10,7 +10,7 @@ function loadCss(href) {
|
|
|
10
10
|
elem.onerror = reject;
|
|
11
11
|
document.head.appendChild(elem);
|
|
12
12
|
});
|
|
13
|
-
} await loadCss('./assets/vuetify-
|
|
13
|
+
} await loadCss('./assets/vuetify-fdf20bf9.css');import { watch as Q, onScopeDispose as Ze, effectScope as Zl, shallowRef as K, Fragment as ie, reactive as it, computed as b, watchEffect as Fe, toRefs as Yt, capitalize as Nn, isVNode as Rc, Comment as Nc, unref as ot, warn as ja, getCurrentInstance as Hc, ref as j, provide as De, inject as ye, defineComponent as zc, camelize as Ir, h as Gt, toRaw as Be, createVNode as r, mergeProps as O, onBeforeUnmount as Qe, readonly as Ql, onDeactivated as _r, onActivated as Wc, onMounted as Ye, nextTick as we, TransitionGroup as Jl, Transition as jt, isRef as Tn, toRef as $, onBeforeMount as ra, withDirectives as $e, resolveDirective as gt, vShow as Ct, onUpdated as jc, Text as Uc, resolveDynamicComponent as Yc, markRaw as Gc, Teleport as Kc, cloneVNode as qc, createTextVNode as Tt, onUnmounted as Tr, onBeforeUpdate as Xc, withModifiers as Tl, toDisplayString as Zc, vModelText as Qc, resolveComponent as Jc, render as Ar } from "./vue-1a3ae885.js";
|
|
14
14
|
function rt(e, n) {
|
|
15
15
|
let t;
|
|
16
16
|
function a() {
|
package/dist/assets/vuetify.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./vuetify-
|
|
1
|
+
export * from "./vuetify-fdf20bf9.js";
|
package/index.d.ts
CHANGED
|
@@ -37,6 +37,18 @@ export { default as ActivateOverviewMapCallback } from "./src/callback/activateO
|
|
|
37
37
|
export type * from "./src/callback/activateOverviewMapCallback.d.ts";
|
|
38
38
|
export { default as DeactivateOverviewMapCallback } from "./src/callback/deactivateOverviewMapCallback.js";
|
|
39
39
|
export type * from "./src/callback/deactivateOverviewMapCallback.d.ts";
|
|
40
|
+
export { default as HighlightObjectsCallback } from "./src/callback/highlightObjectsCallback.js";
|
|
41
|
+
export type * from "./src/callback/highlightObjectsCallback.d.ts";
|
|
42
|
+
export { default as ShowObjectsCallback } from "./src/callback/showObjectsCallback.js";
|
|
43
|
+
export type * from "./src/callback/showObjectsCallback.d.ts";
|
|
44
|
+
export { default as StartFlightCallback } from "./src/callback/startFlightCallback.js";
|
|
45
|
+
export type * from "./src/callback/startFlightCallback.d.ts";
|
|
46
|
+
export { default as StopFlightCallback } from "./src/callback/stopFlightCallback.js";
|
|
47
|
+
export type * from "./src/callback/stopFlightCallback.d.ts";
|
|
48
|
+
export { default as UnHighlightObjectsCallback } from "./src/callback/unHighlightObjectsCallback.js";
|
|
49
|
+
export type * from "./src/callback/unHighlightObjectsCallback.d.ts";
|
|
50
|
+
export { default as HideObjectsCallback } from "./src/callback/hideObjectsCallback.js";
|
|
51
|
+
export type * from "./src/callback/hideObjectsCallback.d.ts";
|
|
40
52
|
export { default as VcsNavbar } from "./src/application/VcsNavbar.vue";
|
|
41
53
|
export type * from "./src/application/VcsNavbar.vue.d.ts";
|
|
42
54
|
export { default as VcsAppWrapper } from "./src/application/VcsAppWrapper.vue";
|
|
@@ -299,7 +311,7 @@ export { createPlayAction, PlayerDirection, createStepAction, createFastAction,
|
|
|
299
311
|
export type * from "./src/actions/flightActions.d.ts";
|
|
300
312
|
export { createListItemDeleteAction, createListItemBulkAction, createListExportAction, createListImportAction, importIntoLayer } from "./src/actions/listActions.js";
|
|
301
313
|
export type * from "./src/actions/listActions.d.ts";
|
|
302
|
-
export { default as VcsCallback, executeCallbacks } from "./src/callback/vcsCallback.js";
|
|
314
|
+
export { default as VcsCallback, executeCallbacks, executeAsyncCallbacks } from "./src/callback/vcsCallback.js";
|
|
303
315
|
export type * from "./src/callback/vcsCallback.d.ts";
|
|
304
316
|
export { default as VcsApp, setupMapNavbar, setupPluginMountedListeners, setupCategoryManagerWindow, attributionsComponentId, categoryManagerWindowId, customScreenComponentId, helpComponentId, legendComponentId, settingsComponentId, splashScreenComponentId } from "./src/application/VcsApp.vue";
|
|
305
317
|
export type * from "./src/application/VcsApp.vue.d.ts";
|
|
@@ -315,7 +327,7 @@ export { WindowAlignment, getFittedWindowPositionOptions, getFittedWindowPositio
|
|
|
315
327
|
export type * from "./src/manager/window/windowHelper.d.ts";
|
|
316
328
|
export { default as PanelManager, PanelLocation } from "./src/manager/panel/panelManager.js";
|
|
317
329
|
export type * from "./src/manager/panel/panelManager.d.ts";
|
|
318
|
-
export { default as NavbarManager, ButtonLocation, getActionsByLocation } from "./src/manager/navbarManager.js";
|
|
330
|
+
export { default as NavbarManager, ButtonLocation, getActionsByLocation, locationSymbol, deviceSymbol } from "./src/manager/navbarManager.js";
|
|
319
331
|
export type * from "./src/manager/navbarManager.d.ts";
|
|
320
332
|
export { default as ToolboxManager, ToolboxType, defaultToolboxName } from "./src/manager/toolbox/toolboxManager.js";
|
|
321
333
|
export type * from "./src/manager/toolbox/toolboxManager.d.ts";
|
package/index.js
CHANGED
|
@@ -51,6 +51,7 @@ export {
|
|
|
51
51
|
export {
|
|
52
52
|
default as VcsCallback,
|
|
53
53
|
executeCallbacks,
|
|
54
|
+
executeAsyncCallbacks,
|
|
54
55
|
} from './src/callback/vcsCallback.js';
|
|
55
56
|
export { default as ActivateLayersCallback } from './src/callback/activateLayersCallback.js';
|
|
56
57
|
export { default as DeactivateLayersCallback } from './src/callback/deactivateLayersCallback.js';
|
|
@@ -69,6 +70,12 @@ export { default as ToggleToolbarButtonCallback } from './src/callback/toggleToo
|
|
|
69
70
|
export { default as ActivateMapCallback } from './src/callback/activateMapCallback.js';
|
|
70
71
|
export { default as ActivateOverviewMapCallback } from './src/callback/activateOverviewMapCallback.js';
|
|
71
72
|
export { default as DeactivateOverviewMapCallback } from './src/callback/deactivateOverviewMapCallback.js';
|
|
73
|
+
export { default as HighlightObjectsCallback } from './src/callback/highlightObjectsCallback.js';
|
|
74
|
+
export { default as ShowObjectsCallback } from './src/callback/showObjectsCallback.js';
|
|
75
|
+
export { default as StartFlightCallback } from './src/callback/startFlightCallback.js';
|
|
76
|
+
export { default as StopFlightCallback } from './src/callback/stopFlightCallback.js';
|
|
77
|
+
export { default as UnHighlightObjectsCallback } from './src/callback/unHighlightObjectsCallback.js';
|
|
78
|
+
export { default as HideObjectsCallback } from './src/callback/hideObjectsCallback.js';
|
|
72
79
|
export { default as VcsNavbar } from './src/application/VcsNavbar.vue';
|
|
73
80
|
export {
|
|
74
81
|
default as VcsApp,
|
|
@@ -147,6 +154,8 @@ export {
|
|
|
147
154
|
default as NavbarManager,
|
|
148
155
|
ButtonLocation,
|
|
149
156
|
getActionsByLocation,
|
|
157
|
+
locationSymbol,
|
|
158
|
+
deviceSymbol,
|
|
150
159
|
} from './src/manager/navbarManager.js';
|
|
151
160
|
export {
|
|
152
161
|
default as ToolboxManager,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vcmap/ui",
|
|
3
|
-
"version": "6.3.0-rc.
|
|
3
|
+
"version": "6.3.0-rc.5",
|
|
4
4
|
"author": "Virtual City Systems",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"scripts": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"@vcmap-cesium/engine": "^11.0.4",
|
|
61
|
-
"@vcmap/core": "^6.3.0-rc.
|
|
61
|
+
"@vcmap/core": "^6.3.0-rc.3",
|
|
62
62
|
"ol": "^10.4.0",
|
|
63
63
|
"vue": "~3.4.38",
|
|
64
64
|
"vuetify": "~3.7.14"
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
:overflow-count="smAndDown ? 2 : 4"
|
|
18
18
|
:force-overflow="false"
|
|
19
19
|
button="VcsToolButton"
|
|
20
|
+
:data-vcs-button-location="ButtonLocation.MAP"
|
|
20
21
|
/>
|
|
21
22
|
<v-divider
|
|
22
23
|
v-if="
|
|
@@ -32,6 +33,7 @@
|
|
|
32
33
|
:overflow-count="smAndDown ? 2 : 3"
|
|
33
34
|
:force-overflow="false"
|
|
34
35
|
button="VcsToolButton"
|
|
36
|
+
:data-vcs-button-location="ButtonLocation.CONTENT"
|
|
35
37
|
/>
|
|
36
38
|
<v-divider
|
|
37
39
|
v-if="contentActions.length > 0 && toolActions.length > 0"
|
|
@@ -45,6 +47,7 @@
|
|
|
45
47
|
:force-overflow="false"
|
|
46
48
|
v-if="smAndUp"
|
|
47
49
|
button="VcsToolButton"
|
|
50
|
+
:data-vcs-button-location="ButtonLocation.TOOL"
|
|
48
51
|
/>
|
|
49
52
|
</div>
|
|
50
53
|
</v-toolbar-items>
|
|
@@ -71,6 +74,7 @@
|
|
|
71
74
|
:overflow-count="smAndDown ? 1 : 2"
|
|
72
75
|
:force-overflow="false"
|
|
73
76
|
button="VcsToolButton"
|
|
77
|
+
:data-vcs-button-location="ButtonLocation.PROJECT"
|
|
74
78
|
/>
|
|
75
79
|
<v-divider
|
|
76
80
|
v-if="projectActions.length > 0 && menuActions.length > 0"
|
|
@@ -78,7 +82,7 @@
|
|
|
78
82
|
inset
|
|
79
83
|
class="mx-2"
|
|
80
84
|
/>
|
|
81
|
-
<div class="d-flex gc-2">
|
|
85
|
+
<div class="d-flex gc-2" data-vcs-nav-general-buttons>
|
|
82
86
|
<v-menu
|
|
83
87
|
v-if="!config.hideShareButton && shareActions.length > 0"
|
|
84
88
|
>
|
|
@@ -94,6 +98,7 @@
|
|
|
94
98
|
:actions="shareActions"
|
|
95
99
|
tooltip-position="left"
|
|
96
100
|
:show-icon="true"
|
|
101
|
+
:data-vcs-button-location="ButtonLocation.SHARE"
|
|
97
102
|
/>
|
|
98
103
|
</v-menu>
|
|
99
104
|
<VcsToolButton
|
|
@@ -121,6 +126,7 @@
|
|
|
121
126
|
:actions="menuActions"
|
|
122
127
|
tooltip-position="left"
|
|
123
128
|
:show-icon="true"
|
|
129
|
+
:data-vcs-button-location="ButtonLocation.MENU"
|
|
124
130
|
/>
|
|
125
131
|
</v-menu>
|
|
126
132
|
</div>
|
|
@@ -237,6 +243,7 @@
|
|
|
237
243
|
mdAndUp,
|
|
238
244
|
smAndUp,
|
|
239
245
|
toolbarHeight,
|
|
246
|
+
ButtonLocation,
|
|
240
247
|
};
|
|
241
248
|
},
|
|
242
249
|
};
|
|
@@ -47,5 +47,13 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
47
47
|
mdAndUp: import("vue").Ref<boolean>;
|
|
48
48
|
smAndUp: import("vue").Ref<boolean>;
|
|
49
49
|
toolbarHeight: import("vue").ComputedRef<number>;
|
|
50
|
+
ButtonLocation: {
|
|
51
|
+
MAP: number;
|
|
52
|
+
CONTENT: number;
|
|
53
|
+
TOOL: number;
|
|
54
|
+
PROJECT: number;
|
|
55
|
+
SHARE: number;
|
|
56
|
+
MENU: number;
|
|
57
|
+
};
|
|
50
58
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
|
|
51
59
|
export default _default;
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
:tooltip="action.title"
|
|
42
42
|
:icon="action.icon"
|
|
43
43
|
:active="action.active"
|
|
44
|
+
:data-action-name="action.name"
|
|
44
45
|
@click.stop="action.callback($event)"
|
|
45
46
|
v-bind="{ ...$attrs }"
|
|
46
47
|
/>
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
:tooltip="toolboxToggleAction.title"
|
|
52
53
|
:icon="toolboxToggleAction.icon"
|
|
53
54
|
:active="toolboxToggleAction.active"
|
|
55
|
+
:data-action-name="toolboxToggleAction.name"
|
|
54
56
|
@click.stop="toolboxToggleAction.callback($event)"
|
|
55
57
|
v-bind="{ ...$attrs }"
|
|
56
58
|
/>
|
|
@@ -30,10 +30,10 @@ class GoToViewpointCallback extends VcsCallback {
|
|
|
30
30
|
this._viewpoint = options.viewpoint;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
callback() {
|
|
33
|
+
async callback() {
|
|
34
34
|
const vp = this._app.viewpoints.getByKey(this._viewpoint);
|
|
35
35
|
if (this._app.maps.activeMap && vp) {
|
|
36
|
-
this._app.maps.activeMap.gotoViewpoint(vp);
|
|
36
|
+
await this._app.maps.activeMap.gotoViewpoint(vp);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
3
|
+
* layerName?: string;
|
|
4
|
+
* objectIds: string[];
|
|
5
|
+
* }} HideObjectsCallbackOptions
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* A callback to hide objects with given ids in a specific layer or globally if no layer is given.
|
|
9
|
+
*/
|
|
10
|
+
export default class HideObjectsCallback extends VcsCallback {
|
|
11
|
+
/**
|
|
12
|
+
* @param {HideObjectsCallbackOptions} options
|
|
13
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
14
|
+
*/
|
|
15
|
+
constructor(options: HideObjectsCallbackOptions, app: import('@vcmap/ui').VcsUiApp);
|
|
16
|
+
/** @type {string | undefined} */
|
|
17
|
+
_layerName: string | undefined;
|
|
18
|
+
/** @type {string[]} */
|
|
19
|
+
_objectIds: string[];
|
|
20
|
+
callback(): void;
|
|
21
|
+
/** @returns {HideObjectsCallbackOptions} */
|
|
22
|
+
toJSON(): HideObjectsCallbackOptions;
|
|
23
|
+
}
|
|
24
|
+
export type HideObjectsCallbackOptions = import('@vcmap/ui').VcsCallbackOptions & {
|
|
25
|
+
layerName?: string;
|
|
26
|
+
objectIds: string[];
|
|
27
|
+
};
|
|
28
|
+
import VcsCallback from './vcsCallback.js';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { FeatureLayer } from '@vcmap/core';
|
|
2
|
+
import VcsCallback, { callbackClassRegistry } from './vcsCallback.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
6
|
+
* layerName?: string;
|
|
7
|
+
* objectIds: string[];
|
|
8
|
+
* }} HideObjectsCallbackOptions
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A callback to hide objects with given ids in a specific layer or globally if no layer is given.
|
|
13
|
+
*/
|
|
14
|
+
export default class HideObjectsCallback extends VcsCallback {
|
|
15
|
+
static get className() {
|
|
16
|
+
return 'HideObjectsCallback';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @type {string | undefined} */
|
|
20
|
+
_layerName;
|
|
21
|
+
|
|
22
|
+
/** @type {string[]} */
|
|
23
|
+
_objectIds;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {HideObjectsCallbackOptions} options
|
|
27
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
28
|
+
*/
|
|
29
|
+
constructor(options, app) {
|
|
30
|
+
super(options, app);
|
|
31
|
+
|
|
32
|
+
this._layerName = options.layerName;
|
|
33
|
+
this._objectIds = options.objectIds;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
callback() {
|
|
37
|
+
/** @type {import('@vcmap/ui').VcsUiApp} */
|
|
38
|
+
const app = this._app;
|
|
39
|
+
if (this._layerName) {
|
|
40
|
+
const layer = app.layers.getByKey(this._layerName);
|
|
41
|
+
if (layer instanceof FeatureLayer) {
|
|
42
|
+
layer.featureVisibility.hideObjects(this._objectIds);
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
app.layers.globalHider.hideObjects(this._objectIds);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** @returns {HideObjectsCallbackOptions} */
|
|
50
|
+
toJSON() {
|
|
51
|
+
return {
|
|
52
|
+
...super.toJSON(),
|
|
53
|
+
layerName: this._layerName,
|
|
54
|
+
objectIds: [...this._objectIds],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
callbackClassRegistry.registerClass(
|
|
60
|
+
HideObjectsCallback.className,
|
|
61
|
+
HideObjectsCallback,
|
|
62
|
+
);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('@vcmap/core').VectorStyleItemOptions} VectorStyleItemOptions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
6
|
+
* layerName: string;
|
|
7
|
+
* toHighlight: Record<string, VectorStyleItemOptions>;
|
|
8
|
+
* }} HighlightObjectsCallbackOptions
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* A callback to highlight objects of FeatureLayers.
|
|
12
|
+
*/
|
|
13
|
+
export default class HighlightObjectsCallback extends VcsCallback {
|
|
14
|
+
/**
|
|
15
|
+
* @param {HighlightObjectsCallbackOptions} options
|
|
16
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
17
|
+
*/
|
|
18
|
+
constructor(options: HighlightObjectsCallbackOptions, app: import('@vcmap/ui').VcsUiApp);
|
|
19
|
+
/** @type {string} */
|
|
20
|
+
_layerName: string;
|
|
21
|
+
/** @type {Record<string, VectorStyleItemOptions>} */
|
|
22
|
+
_toHighlight: Record<string, VectorStyleItemOptions>;
|
|
23
|
+
callback(): void;
|
|
24
|
+
/** @returns {HighlightObjectsCallbackOptions} */
|
|
25
|
+
toJSON(): HighlightObjectsCallbackOptions;
|
|
26
|
+
}
|
|
27
|
+
export type VectorStyleItemOptions = import('@vcmap/core').VectorStyleItemOptions;
|
|
28
|
+
export type HighlightObjectsCallbackOptions = import('@vcmap/ui').VcsCallbackOptions & {
|
|
29
|
+
layerName: string;
|
|
30
|
+
toHighlight: Record<string, VectorStyleItemOptions>;
|
|
31
|
+
};
|
|
32
|
+
import VcsCallback from './vcsCallback.js';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { FeatureLayer, VectorStyleItem } from '@vcmap/core';
|
|
2
|
+
import VcsCallback, { callbackClassRegistry } from './vcsCallback.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/core').VectorStyleItemOptions} VectorStyleItemOptions
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
10
|
+
* layerName: string;
|
|
11
|
+
* toHighlight: Record<string, VectorStyleItemOptions>;
|
|
12
|
+
* }} HighlightObjectsCallbackOptions
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A callback to highlight objects of FeatureLayers.
|
|
17
|
+
*/
|
|
18
|
+
export default class HighlightObjectsCallback extends VcsCallback {
|
|
19
|
+
static get className() {
|
|
20
|
+
return 'HighlightObjectsCallback';
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @type {string} */
|
|
24
|
+
_layerName;
|
|
25
|
+
|
|
26
|
+
/** @type {Record<string, VectorStyleItemOptions>} */
|
|
27
|
+
_toHighlight;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @param {HighlightObjectsCallbackOptions} options
|
|
31
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
32
|
+
*/
|
|
33
|
+
constructor(options, app) {
|
|
34
|
+
super(options, app);
|
|
35
|
+
|
|
36
|
+
this._layerName = options.layerName;
|
|
37
|
+
this._toHighlight = options.toHighlight;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
callback() {
|
|
41
|
+
/** @type {import('@vcmap/ui').VcsUiApp} */
|
|
42
|
+
const app = this._app;
|
|
43
|
+
const layer = app.layers.getByKey(this._layerName);
|
|
44
|
+
|
|
45
|
+
if (layer instanceof FeatureLayer) {
|
|
46
|
+
/** @type {Record<string, VectorStyleItem>} */
|
|
47
|
+
const toHighlightInstances = {};
|
|
48
|
+
Object.keys(this._toHighlight).forEach((key) => {
|
|
49
|
+
toHighlightInstances[key] = new VectorStyleItem(this._toHighlight[key]);
|
|
50
|
+
});
|
|
51
|
+
layer.featureVisibility.highlight(toHighlightInstances);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** @returns {HighlightObjectsCallbackOptions} */
|
|
56
|
+
toJSON() {
|
|
57
|
+
return {
|
|
58
|
+
...super.toJSON(),
|
|
59
|
+
layerName: this._layerName,
|
|
60
|
+
toHighlight: structuredClone(this._toHighlight),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
callbackClassRegistry.registerClass(
|
|
66
|
+
HighlightObjectsCallback.className,
|
|
67
|
+
HighlightObjectsCallback,
|
|
68
|
+
);
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
3
|
+
* layerName?: string;
|
|
4
|
+
* objectIds: string[];
|
|
5
|
+
* }} ShowObjectsCallbackOptions
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* A callback to show objects that were previously hidden.
|
|
9
|
+
*/
|
|
10
|
+
export default class ShowObjectsCallback extends VcsCallback {
|
|
11
|
+
/**
|
|
12
|
+
* @param {ShowObjectsCallbackOptions} options
|
|
13
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
14
|
+
*/
|
|
15
|
+
constructor(options: ShowObjectsCallbackOptions, app: import('@vcmap/ui').VcsUiApp);
|
|
16
|
+
/** @type {string | undefined} */
|
|
17
|
+
_layerName: string | undefined;
|
|
18
|
+
/** @type {string[]} */
|
|
19
|
+
_objectIds: string[];
|
|
20
|
+
callback(): void;
|
|
21
|
+
/** @returns {ShowObjectsCallbackOptions} */
|
|
22
|
+
toJSON(): ShowObjectsCallbackOptions;
|
|
23
|
+
}
|
|
24
|
+
export type ShowObjectsCallbackOptions = import('@vcmap/ui').VcsCallbackOptions & {
|
|
25
|
+
layerName?: string;
|
|
26
|
+
objectIds: string[];
|
|
27
|
+
};
|
|
28
|
+
import VcsCallback from './vcsCallback.js';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { FeatureLayer } from '@vcmap/core';
|
|
2
|
+
import VcsCallback, { callbackClassRegistry } from './vcsCallback.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
6
|
+
* layerName?: string;
|
|
7
|
+
* objectIds: string[];
|
|
8
|
+
* }} ShowObjectsCallbackOptions
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A callback to show objects that were previously hidden.
|
|
13
|
+
*/
|
|
14
|
+
export default class ShowObjectsCallback extends VcsCallback {
|
|
15
|
+
static get className() {
|
|
16
|
+
return 'ShowObjectsCallback';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @type {string | undefined} */
|
|
20
|
+
_layerName;
|
|
21
|
+
|
|
22
|
+
/** @type {string[]} */
|
|
23
|
+
_objectIds;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param {ShowObjectsCallbackOptions} options
|
|
27
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
28
|
+
*/
|
|
29
|
+
constructor(options, app) {
|
|
30
|
+
super(options, app);
|
|
31
|
+
|
|
32
|
+
this._layerName = options.layerName;
|
|
33
|
+
this._objectIds = options.objectIds;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
callback() {
|
|
37
|
+
/** @type {import('@vcmap/ui').VcsUiApp} */
|
|
38
|
+
const app = this._app;
|
|
39
|
+
if (this._layerName) {
|
|
40
|
+
const layer = app.layers.getByKey(this._layerName);
|
|
41
|
+
if (layer instanceof FeatureLayer) {
|
|
42
|
+
layer.featureVisibility.showObjects(this._objectIds);
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
app.layers.globalHider.showObjects(this._objectIds);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** @returns {ShowObjectsCallbackOptions} */
|
|
50
|
+
toJSON() {
|
|
51
|
+
return {
|
|
52
|
+
...super.toJSON(),
|
|
53
|
+
layerName: this._layerName,
|
|
54
|
+
objectIds: [...this._objectIds],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
callbackClassRegistry.registerClass(
|
|
60
|
+
ShowObjectsCallback.className,
|
|
61
|
+
ShowObjectsCallback,
|
|
62
|
+
);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('@vcmap/core').FlightInstanceOptions} FlightInstanceOptions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {import('@vcmap/ui').VcsCallbackOptions & {
|
|
6
|
+
* flight: string | FlightInstanceOptions;
|
|
7
|
+
* }} StartFlightCallbackOptions
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* A callback to start a flight.
|
|
11
|
+
*/
|
|
12
|
+
export default class StartFlightCallback extends VcsCallback {
|
|
13
|
+
/**
|
|
14
|
+
* @param {StartFlightCallbackOptions} options
|
|
15
|
+
* @param {import('@vcmap/ui').VcsUiApp} app
|
|
16
|
+
*/
|
|
17
|
+
constructor(options: StartFlightCallbackOptions, app: import('@vcmap/ui').VcsUiApp);
|
|
18
|
+
/** @type {string | FlightInstanceOptions} */
|
|
19
|
+
_flight: string | FlightInstanceOptions;
|
|
20
|
+
/** @returns {Promise<void>} */
|
|
21
|
+
callback(): Promise<void>;
|
|
22
|
+
/** @returns {StartFlightCallbackOptions} */
|
|
23
|
+
toJSON(): StartFlightCallbackOptions;
|
|
24
|
+
}
|
|
25
|
+
export type FlightInstanceOptions = import('@vcmap/core').FlightInstanceOptions;
|
|
26
|
+
export type StartFlightCallbackOptions = import('@vcmap/ui').VcsCallbackOptions & {
|
|
27
|
+
flight: string | FlightInstanceOptions;
|
|
28
|
+
};
|
|
29
|
+
import VcsCallback from './vcsCallback.js';
|