@vcmap/ui 5.1.7 → 5.2.0
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/build/buildTypes.js +9 -0
- package/config/base.config.json +33 -2
- package/config/dev.config.json +22 -2
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.42b085.js → core.627882.js} +4097 -3978
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-76acacac.js +1 -0
- package/dist/assets/ol.js +1 -1
- package/dist/assets/{ui.d91b1c.css → ui.895896.css} +2 -2
- package/dist/assets/{ui.d91b1c.js → ui.895896.js} +8629 -7658
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.be3c1c.js → vuetify.1621f3.js} +1 -1
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +1 -1
- package/index.d.ts +16 -0
- package/index.js +23 -0
- package/package.json +2 -2
- package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +110 -37
- package/plugins/@vcmap-show-case/collection-manager-example/src/index.js +4 -0
- package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +10 -3
- package/plugins/@vcmap-show-case/panel-tester/README.md +3 -0
- package/plugins/@vcmap-show-case/panel-tester/package.json +5 -0
- package/plugins/@vcmap-show-case/panel-tester/src/IframePanelExample.vue +15 -0
- package/plugins/@vcmap-show-case/panel-tester/src/ImgPanelExample.vue +19 -0
- package/plugins/@vcmap-show-case/panel-tester/src/PanelExample.vue +128 -0
- package/plugins/@vcmap-show-case/panel-tester/src/TextPanelExample.vue +34 -0
- package/plugins/@vcmap-show-case/panel-tester/src/index.js +63 -0
- package/src/actions/actionHelper.js +2 -2
- package/src/actions/flightActions.d.ts +38 -2
- package/src/actions/flightActions.js +257 -6
- package/src/application/VcsApp.vue +4 -104
- package/src/application/VcsApp.vue.d.ts +0 -6
- package/src/application/VcsContainer.vue +105 -0
- package/src/application/VcsContainer.vue.d.ts +14 -0
- package/src/application/VcsMainMap.vue +68 -0
- package/src/application/VcsMainMap.vue.d.ts +9 -0
- package/src/application/markdownHelper.d.ts +7 -0
- package/src/application/markdownHelper.js +57 -1
- package/src/components/form-inputs-controls/VcsRadioGrid.vue +27 -42
- package/src/contentTree/LayerTree.vue +40 -14
- package/src/downloadHelper.d.ts +0 -2
- package/src/downloadHelper.js +2 -4
- package/src/featureInfo/BalloonComponent.vue +31 -3
- package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
- package/src/featureInfo/MarkdownBalloonComponent.vue +24 -0
- package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +12 -0
- package/src/featureInfo/abstractFeatureInfoView.js +54 -22
- package/src/featureInfo/addressBalloonFeatureInfoView.d.ts +2 -2
- package/src/featureInfo/addressBalloonFeatureInfoView.js +1 -1
- package/src/featureInfo/balloonFeatureInfoView.js +1 -1
- package/src/featureInfo/balloonHelper.js +16 -9
- package/src/featureInfo/featureInfo.js +10 -0
- package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +47 -0
- package/src/featureInfo/markdownBalloonFeatureInfoView.js +81 -0
- package/src/featureInfo/markdownFeatureInfoView.d.ts +47 -0
- package/src/featureInfo/markdownFeatureInfoView.js +95 -0
- package/src/i18n/de.d.ts +8 -3
- package/src/i18n/de.js +3 -0
- package/src/i18n/en.d.ts +32 -26
- package/src/i18n/en.js +4 -1
- package/src/manager/collectionManager/CollectionComponent.vue +12 -49
- package/src/manager/collectionManager/CollectionComponent.vue.d.ts +5 -9
- package/src/manager/collectionManager/CollectionComponentContent.vue +102 -0
- package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +17 -0
- package/src/manager/collectionManager/CollectionComponentList.vue +10 -2
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +9 -0
- package/src/manager/collectionManager/CollectionComponentStandalone.vue +91 -0
- package/src/manager/collectionManager/CollectionComponentStandalone.vue.d.ts +9 -0
- package/src/manager/collectionManager/collectionManager.d.ts +2 -2
- package/src/manager/collectionManager/collectionManager.js +21 -19
- package/src/manager/panel/PanelComponent.vue +110 -0
- package/src/manager/panel/PanelComponent.vue.d.ts +19 -0
- package/src/manager/panel/PanelManagerComponent.vue +224 -0
- package/src/manager/panel/PanelManagerComponent.vue.d.ts +36 -0
- package/src/manager/panel/panelHelper.d.ts +83 -0
- package/src/manager/panel/panelHelper.js +272 -0
- package/src/manager/panel/panelManager.d.ts +338 -0
- package/src/manager/panel/panelManager.js +381 -0
- package/src/manager/window/WindowManager.vue +14 -0
- package/src/manager/window/windowHelper.js +1 -1
- package/src/search/ResultItem.vue +1 -1
- package/src/search/search.d.ts +2 -2
- package/src/search/search.js +2 -2
- package/src/vcsUiApp.d.ts +14 -0
- package/src/vcsUiApp.js +18 -0
- package/dist/assets/index-c055a222.js +0 -1
- /package/dist/assets/{cesium.0b68c5.js → cesium.9e39f4.js} +0 -0
- /package/dist/assets/{ol.9e8753.js → ol.fe8c0e.js} +0 -0
- /package/dist/assets/{vue.33980b.js → vue.4b3319.js} +0 -0
- /package/dist/assets/{vuetify.be3c1c.css → vuetify.1621f3.css} +0 -0
@@ -0,0 +1,338 @@
|
|
1
|
+
/**
|
2
|
+
* @typedef {Object} PanelComponentOptions
|
3
|
+
* @property {string} [id] - Optional id, which will be set as HTML container ID. If not provided an uuid will be generated.
|
4
|
+
* @property {import("vue").Component} [component] Optional component to be rendered in the panel.
|
5
|
+
* @property {Partial<PanelState>} [state]
|
6
|
+
* @property {Partial<VerticalPanelPositionOptions|HorizontalPanelPositionOptions>} [position] Will be merged with default position for panel
|
7
|
+
* @property {Object} [props]
|
8
|
+
* @property {Object} [provides]
|
9
|
+
*/
|
10
|
+
/**
|
11
|
+
* @typedef {Object} PanelState
|
12
|
+
* @property {string} id
|
13
|
+
* @property {string|vcsAppSymbol} owner Owner of the panel, set by panelManager on add
|
14
|
+
* @property {PanelLocation} location Location of the panel, set by panelManager on add
|
15
|
+
* @property {boolean} [resizable=true] Whether size of panel can be adapted
|
16
|
+
* @property {Object<string, string>} [styles] Can be used to add additional styles to the root PanelComponent. Use Vue Style Bindings Object Syntax https://vuejs.org/v2/guide/class-and-style.html
|
17
|
+
* @property {Array<string>|Object<string,string>} [classes] Can be used to add additional classes to the root PanelComponent. Use Vue Class Bindings Syntax https://vuejs.org/v2/guide/class-and-style.html
|
18
|
+
*/
|
19
|
+
/**
|
20
|
+
* @typedef {Object} PanelComponent
|
21
|
+
* @property {string} id
|
22
|
+
* @property {import("vue").Component} component
|
23
|
+
* @property {Partial<PanelState>} state
|
24
|
+
* @property {Object} props
|
25
|
+
* @property {Object} provides
|
26
|
+
*/
|
27
|
+
/**
|
28
|
+
* @param {Partial<PanelComponent>} panelComponent
|
29
|
+
* @returns {PanelPosition|undefined}
|
30
|
+
*/
|
31
|
+
export function getPanelPosition(panelComponent: Partial<PanelComponent>): PanelPosition | undefined;
|
32
|
+
/**
|
33
|
+
* @param {PanelComponent} panelComponent
|
34
|
+
* @param {Partial<PanelPosition>} panelPosition
|
35
|
+
*/
|
36
|
+
export function setPanelPosition(panelComponent: PanelComponent, panelPosition: Partial<PanelPosition>): void;
|
37
|
+
export const panelLocationSymbol: unique symbol;
|
38
|
+
export const panelPositionSymbol: unique symbol;
|
39
|
+
/**
|
40
|
+
* *
|
41
|
+
*/
|
42
|
+
export type PanelLocation = string;
|
43
|
+
export namespace PanelLocation {
|
44
|
+
let LEFT: string;
|
45
|
+
let RIGHT: string;
|
46
|
+
let BOTTOM: string;
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* *
|
50
|
+
*/
|
51
|
+
export type DefaultPanelPositions = Partial<PanelPosition>;
|
52
|
+
/**
|
53
|
+
* @typedef {Object} VerticalPanelPositionOptions
|
54
|
+
* @property {string} [width] Can be a css position string (e.g. '320px' or '50%')
|
55
|
+
* @property {string} [maxWidth] Can be a css position string (e.g. '320px' or '50%')
|
56
|
+
* @property {string} [minWidth] Can be a css position string (e.g. '320px' or '50%')
|
57
|
+
*/
|
58
|
+
/**
|
59
|
+
* @typedef {Object} HorizontalPanelPositionOptions
|
60
|
+
* @property {string} [height] Can be a css position string (e.g. '320px' or '50%')
|
61
|
+
* @property {string} [maxHeight] Can be a css position string (e.g. '320px' or '50%')
|
62
|
+
* @property {string} [minHeight] Can be a css position string (e.g. '320px' or '50%')
|
63
|
+
*/
|
64
|
+
/**
|
65
|
+
* @typedef {Object} PanelPosition
|
66
|
+
* @property {string?} left - The left CSS property participates in specifying the horizontal position of a panel.
|
67
|
+
* @property {string?} top - The top CSS property participates in specifying the vertical position of a panel.
|
68
|
+
* @property {string?} right - The right CSS property participates in specifying the horizontal position of a panel.
|
69
|
+
* @property {string?} bottom - The bottom CSS property participates in specifying the vertical position of a panel.
|
70
|
+
* @property {string} width - The width CSS property sets an element's width.
|
71
|
+
* @property {string} height - The height CSS property sets an element's height.
|
72
|
+
* @property {string} maxHeight - The maxHeight CSS property sets an element's maximal height.
|
73
|
+
* @property {string} maxWidth - The maxWidth CSS property sets an element's maximal width.
|
74
|
+
* @property {string} minHeight - The minHeight CSS property sets an element's minimal height.
|
75
|
+
* @property {string} minWidth - The minWidth CSS property sets an element's minimal width.
|
76
|
+
*/
|
77
|
+
/**
|
78
|
+
* @readonly
|
79
|
+
* @enum {Partial<PanelPosition>}
|
80
|
+
* @private
|
81
|
+
*/
|
82
|
+
export const DefaultPanelPositions: {
|
83
|
+
[x: string]: {
|
84
|
+
left: string;
|
85
|
+
width: string;
|
86
|
+
minWidth: string;
|
87
|
+
height: string;
|
88
|
+
right?: undefined;
|
89
|
+
bottom?: undefined;
|
90
|
+
minHeight?: undefined;
|
91
|
+
maxHeight?: undefined;
|
92
|
+
} | {
|
93
|
+
right: string;
|
94
|
+
width: string;
|
95
|
+
minWidth: string;
|
96
|
+
height: string;
|
97
|
+
left?: undefined;
|
98
|
+
bottom?: undefined;
|
99
|
+
minHeight?: undefined;
|
100
|
+
maxHeight?: undefined;
|
101
|
+
} | {
|
102
|
+
bottom: string;
|
103
|
+
width: string;
|
104
|
+
height: string;
|
105
|
+
minHeight: string;
|
106
|
+
maxHeight: string;
|
107
|
+
left?: undefined;
|
108
|
+
minWidth?: undefined;
|
109
|
+
right?: undefined;
|
110
|
+
};
|
111
|
+
};
|
112
|
+
export default PanelManager;
|
113
|
+
export type PanelComponentOptions = {
|
114
|
+
/**
|
115
|
+
* - Optional id, which will be set as HTML container ID. If not provided an uuid will be generated.
|
116
|
+
*/
|
117
|
+
id?: string | undefined;
|
118
|
+
/**
|
119
|
+
* Optional component to be rendered in the panel.
|
120
|
+
*/
|
121
|
+
component?: import("vue").Component<import("vue/types/options.js").DefaultData<never>, import("vue/types/options.js").DefaultMethods<never>, import("vue/types/options.js").DefaultComputed, import("vue/types/options.js").DefaultProps, {}> | undefined;
|
122
|
+
state?: Partial<PanelState> | undefined;
|
123
|
+
/**
|
124
|
+
* Will be merged with default position for panel
|
125
|
+
*/
|
126
|
+
position?: Partial<VerticalPanelPositionOptions | HorizontalPanelPositionOptions> | undefined;
|
127
|
+
props?: Object | undefined;
|
128
|
+
provides?: Object | undefined;
|
129
|
+
};
|
130
|
+
export type PanelState = {
|
131
|
+
id: string;
|
132
|
+
/**
|
133
|
+
* Owner of the panel, set by panelManager on add
|
134
|
+
*/
|
135
|
+
owner: string | symbol;
|
136
|
+
/**
|
137
|
+
* Location of the panel, set by panelManager on add
|
138
|
+
*/
|
139
|
+
location: PanelLocation;
|
140
|
+
/**
|
141
|
+
* Whether size of panel can be adapted
|
142
|
+
*/
|
143
|
+
resizable?: boolean | undefined;
|
144
|
+
/**
|
145
|
+
* Can be used to add additional styles to the root PanelComponent. Use Vue Style Bindings Object Syntax https://vuejs.org/v2/guide/class-and-style.html
|
146
|
+
*/
|
147
|
+
styles?: {
|
148
|
+
[x: string]: string;
|
149
|
+
} | undefined;
|
150
|
+
/**
|
151
|
+
* Can be used to add additional classes to the root PanelComponent. Use Vue Class Bindings Syntax https://vuejs.org/v2/guide/class-and-style.html
|
152
|
+
*/
|
153
|
+
classes?: string[] | {
|
154
|
+
[x: string]: string;
|
155
|
+
} | undefined;
|
156
|
+
};
|
157
|
+
export type PanelComponent = {
|
158
|
+
id: string;
|
159
|
+
component: import("vue").Component;
|
160
|
+
state: Partial<PanelState>;
|
161
|
+
props: Object;
|
162
|
+
provides: Object;
|
163
|
+
};
|
164
|
+
export type VerticalPanelPositionOptions = {
|
165
|
+
/**
|
166
|
+
* Can be a css position string (e.g. '320px' or '50%')
|
167
|
+
*/
|
168
|
+
width?: string | undefined;
|
169
|
+
/**
|
170
|
+
* Can be a css position string (e.g. '320px' or '50%')
|
171
|
+
*/
|
172
|
+
maxWidth?: string | undefined;
|
173
|
+
/**
|
174
|
+
* Can be a css position string (e.g. '320px' or '50%')
|
175
|
+
*/
|
176
|
+
minWidth?: string | undefined;
|
177
|
+
};
|
178
|
+
export type HorizontalPanelPositionOptions = {
|
179
|
+
/**
|
180
|
+
* Can be a css position string (e.g. '320px' or '50%')
|
181
|
+
*/
|
182
|
+
height?: string | undefined;
|
183
|
+
/**
|
184
|
+
* Can be a css position string (e.g. '320px' or '50%')
|
185
|
+
*/
|
186
|
+
maxHeight?: string | undefined;
|
187
|
+
/**
|
188
|
+
* Can be a css position string (e.g. '320px' or '50%')
|
189
|
+
*/
|
190
|
+
minHeight?: string | undefined;
|
191
|
+
};
|
192
|
+
export type PanelPosition = {
|
193
|
+
/**
|
194
|
+
* - The left CSS property participates in specifying the horizontal position of a panel.
|
195
|
+
*/
|
196
|
+
left: string | null;
|
197
|
+
/**
|
198
|
+
* - The top CSS property participates in specifying the vertical position of a panel.
|
199
|
+
*/
|
200
|
+
top: string | null;
|
201
|
+
/**
|
202
|
+
* - The right CSS property participates in specifying the horizontal position of a panel.
|
203
|
+
*/
|
204
|
+
right: string | null;
|
205
|
+
/**
|
206
|
+
* - The bottom CSS property participates in specifying the vertical position of a panel.
|
207
|
+
*/
|
208
|
+
bottom: string | null;
|
209
|
+
/**
|
210
|
+
* - The width CSS property sets an element's width.
|
211
|
+
*/
|
212
|
+
width: string;
|
213
|
+
/**
|
214
|
+
* - The height CSS property sets an element's height.
|
215
|
+
*/
|
216
|
+
height: string;
|
217
|
+
/**
|
218
|
+
* - The maxHeight CSS property sets an element's maximal height.
|
219
|
+
*/
|
220
|
+
maxHeight: string;
|
221
|
+
/**
|
222
|
+
* - The maxWidth CSS property sets an element's maximal width.
|
223
|
+
*/
|
224
|
+
maxWidth: string;
|
225
|
+
/**
|
226
|
+
* - The minHeight CSS property sets an element's minimal height.
|
227
|
+
*/
|
228
|
+
minHeight: string;
|
229
|
+
/**
|
230
|
+
* - The minWidth CSS property sets an element's minimal width.
|
231
|
+
*/
|
232
|
+
minWidth: string;
|
233
|
+
};
|
234
|
+
export type IPanelManager = import("../../vcsUiApp.js").VcsComponentManager<PanelComponent, PanelComponentOptions>;
|
235
|
+
/**
|
236
|
+
* @typedef {import("../../vcsUiApp.js").VcsComponentManager<PanelComponent,PanelComponentOptions>} IPanelManager
|
237
|
+
*/
|
238
|
+
/**
|
239
|
+
* @class PanelManager
|
240
|
+
* @description Manages a set of Panels
|
241
|
+
* @implements {IPanelManager}
|
242
|
+
*/
|
243
|
+
declare class PanelManager implements IPanelManager {
|
244
|
+
/**
|
245
|
+
* @type {import("@vcmap/core").VcsEvent<PanelComponent>}
|
246
|
+
*/
|
247
|
+
added: import("@vcmap/core").VcsEvent<PanelComponent>;
|
248
|
+
/**
|
249
|
+
* @type {import("@vcmap/core").VcsEvent<PanelComponent>}
|
250
|
+
*/
|
251
|
+
removed: import("@vcmap/core").VcsEvent<PanelComponent>;
|
252
|
+
/**
|
253
|
+
* reactive ordered array of ids,
|
254
|
+
* @type {Array<string>}
|
255
|
+
*/
|
256
|
+
componentIds: Array<string>;
|
257
|
+
/**
|
258
|
+
* @type {Map<PanelLocation, string>}
|
259
|
+
* @private
|
260
|
+
*/
|
261
|
+
private _panelLocations;
|
262
|
+
/**
|
263
|
+
* @type {Map<string, PanelComponent>}
|
264
|
+
* @private
|
265
|
+
*/
|
266
|
+
private _panelComponents;
|
267
|
+
/**
|
268
|
+
* @type {Map<string, PanelPosition>}
|
269
|
+
* @private
|
270
|
+
*/
|
271
|
+
private _panelPositionsCache;
|
272
|
+
/**
|
273
|
+
* @param {string} id
|
274
|
+
* @returns {PanelComponent}
|
275
|
+
*/
|
276
|
+
get(id: string): PanelComponent;
|
277
|
+
/**
|
278
|
+
* @param {string} id
|
279
|
+
* @returns {boolean}
|
280
|
+
*/
|
281
|
+
has(id: string): boolean;
|
282
|
+
/**
|
283
|
+
*
|
284
|
+
* @param {PanelLocation} location
|
285
|
+
* @returns {PanelComponent}
|
286
|
+
*/
|
287
|
+
getLocation(location: PanelLocation): PanelComponent;
|
288
|
+
/**
|
289
|
+
*
|
290
|
+
* @param {PanelLocation} location
|
291
|
+
* @returns {boolean}
|
292
|
+
*/
|
293
|
+
hasLocation(location: PanelLocation): boolean;
|
294
|
+
/**
|
295
|
+
*
|
296
|
+
* @param {PanelLocation} location
|
297
|
+
*/
|
298
|
+
removePanelAtLocation(location: PanelLocation): void;
|
299
|
+
/**
|
300
|
+
* @param {string} id
|
301
|
+
* @returns {Partial<PanelPosition>|undefined}
|
302
|
+
*/
|
303
|
+
getCachedPosition(id: string): Partial<PanelPosition> | undefined;
|
304
|
+
/**
|
305
|
+
* removes a panel, Component will not be rendered anymore and will be destroyed. Add PanelComponent again
|
306
|
+
* to show the component again
|
307
|
+
* @param {string} id
|
308
|
+
*/
|
309
|
+
remove(id: string): void;
|
310
|
+
/**
|
311
|
+
* Set width for LEFT and RIGHT or height for BOTTOM panels
|
312
|
+
* @param {string} id
|
313
|
+
* @param {VerticalPanelPositionOptions|HorizontalPanelPositionOptions} panelPositionOptions
|
314
|
+
*/
|
315
|
+
setPanelPosition(id: string, panelPositionOptions: VerticalPanelPositionOptions | HorizontalPanelPositionOptions): void;
|
316
|
+
/**
|
317
|
+
* adds a panelComponent to the PanelManager and renders the Panel
|
318
|
+
* @param {PanelComponentOptions|PanelComponent} panelComponentOptions
|
319
|
+
* @param {string|symbol} owner pluginName or vcsAppSymbol
|
320
|
+
* @param {PanelLocation} location panel render position
|
321
|
+
* @returns {PanelComponent}
|
322
|
+
*/
|
323
|
+
// @ts-ignore
|
324
|
+
add(panelComponentOptions: PanelComponentOptions | PanelComponent, owner: string | symbol, location: PanelLocation): PanelComponent;
|
325
|
+
/**
|
326
|
+
* removes all panelComponents of a specific owner (plugin) and fires removed Events
|
327
|
+
* @param {string|vcsAppSymbol} owner
|
328
|
+
*/
|
329
|
+
removeOwner(owner: string | symbol): void;
|
330
|
+
/**
|
331
|
+
* removes all panelComponents and fires removed Events
|
332
|
+
*/
|
333
|
+
clear(): void;
|
334
|
+
/**
|
335
|
+
* destroys the panelManager;
|
336
|
+
*/
|
337
|
+
destroy(): void;
|
338
|
+
}
|