@vcmap/ui 6.0.0-rc.5 → 6.0.0-rc.6
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 -5
- package/config/base.config.json +0 -6
- package/config/dev.config.json +4 -0
- package/config/projects.config.json +2 -1
- package/config/theming.config.json +68 -0
- package/config/www.config.json +31 -30
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core-1c8b8674.js → core-e06aa7a6.js} +1403 -1375
- package/dist/assets/core.js +1 -1
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-5dda32d2.css +1 -0
- package/dist/assets/{ui-7214428e.js → ui-5dda32d2.js} +11632 -11501
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-88a2fabe.css → vuetify-4c4e4217.css} +1 -1
- package/dist/assets/{vuetify-88a2fabe.js → vuetify-4c4e4217.js} +2375 -2369
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +22 -10
- package/index.js +9 -3
- package/package.json +3 -3
- package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
- package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
- package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
- package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
- package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
- package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
- package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +11 -7
- package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
- package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
- package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
- package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
- package/plugins/package.json +5 -1
- package/src/actions/actionHelper.d.ts +4 -11
- package/src/actions/actionHelper.js +2 -5
- package/src/actions/listActions.d.ts +2 -2
- package/src/application/VcsApp.vue +17 -19
- package/src/application/VcsApp.vue.d.ts +5 -1
- package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
- package/src/application/VcsContainer.vue +2 -2
- package/src/application/VcsContainer.vue.d.ts +5 -1
- package/src/application/VcsNavbar.vue +9 -1
- package/src/application/VcsNavbar.vue.d.ts +1 -0
- package/src/application/VcsSplashScreen.vue +11 -2
- package/src/application/attributionsHelper.d.ts +20 -22
- package/src/application/attributionsHelper.js +4 -4
- package/src/callback/vcsCallback.d.ts +2 -2
- package/src/callback/vcsCallback.js +1 -1
- package/src/components/buttons/VcsActionButtonList.vue +2 -3
- package/src/components/buttons/VcsButton.vue +2 -4
- package/src/components/buttons/VcsButton.vue.d.ts +1 -1
- package/src/components/buttons/VcsFormButton.vue +4 -4
- package/src/components/buttons/VcsToolButton.vue +4 -2
- package/src/components/buttons/VcsToolButton.vue.d.ts +2 -2
- package/src/components/composables.d.ts +5 -0
- package/src/components/composables.js +79 -9
- package/src/components/extent/VcsExtent.vue +10 -6
- package/src/components/extent/VcsExtent.vue.d.ts +1 -0
- package/src/components/flight/VcsFlightComponent.vue +13 -13
- package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsCheckbox.vue +8 -3
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +3 -8
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +0 -1
- package/src/components/form-inputs-controls/VcsCoordinate.vue +1 -2
- package/src/components/form-inputs-controls/VcsFileInput.vue +1 -1
- package/src/components/form-inputs-controls/VcsLabel.vue +1 -1
- package/src/components/form-inputs-controls/VcsRadio.vue +8 -6
- package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +1 -1
- package/src/components/form-inputs-controls/VcsSlider.vue +5 -5
- package/src/components/form-inputs-controls/VcsTextArea.vue +1 -1
- package/src/components/form-inputs-controls/VcsTextField.vue +10 -1
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +2 -1
- package/src/components/form-inputs-controls/VcsWizard.vue +3 -3
- package/src/components/form-inputs-controls/VcsWizardStep.vue +5 -1
- package/src/components/form-inputs-controls/vcsTextField.scss +7 -1
- package/src/components/form-output/VcsFormattedNumber.vue +1 -1
- package/src/components/import/VcsImportComponent.vue +7 -4
- package/src/components/import/VcsImportComponent.vue.d.ts +1 -1
- package/src/components/lists/VcsActionList.vue +2 -6
- package/src/components/lists/VcsListItemComponent.vue +20 -10
- package/src/components/lists/VcsListItemComponent.vue.d.ts +11 -1
- package/src/components/lists/VcsTreeview.vue +53 -11
- package/src/components/lists/VcsTreeview.vue.d.ts +2 -0
- package/src/components/lists/VcsTreeviewSearchbar.vue +14 -3
- package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
- package/src/components/lists/VcsTreeviewTitle.vue +36 -0
- package/src/components/modelHelper.d.ts +10 -8
- package/src/components/modelHelper.js +8 -6
- package/src/components/notification/VcsHelp.vue +6 -7
- package/src/components/notification/VcsHelp.vue.d.ts +0 -9
- package/src/components/plugins/AbstractConfigEditor.vue +1 -22
- package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
- package/src/components/section/VcsExpansionPanel.vue +9 -3
- package/src/components/section/VcsExpansionPanel.vue.d.ts +2 -2
- package/src/components/section/VcsFormSection.vue +6 -6
- package/src/components/section/VcsFormSection.vue.d.ts +2 -2
- package/src/components/style/VcsImageSelector.vue +14 -6
- package/src/components/style/VcsImageSelector.vue.d.ts +1 -0
- package/src/components/style/VcsStrokeSelector.vue +5 -2
- package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
- package/src/components/style/VcsTextMenu.vue +2 -2
- package/src/components/tables/VcsDataTable.vue +14 -10
- package/src/components/tables/VcsDataTable.vue.d.ts +1 -0
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +42 -31
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +1 -0
- package/src/components/viewpoint/VcsViewpointComponent.vue +12 -9
- package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
- package/src/contentTree/contentTreeItem.d.ts +2 -2
- package/src/contentTree/contentTreeItem.js +1 -1
- package/src/featureInfo/BalloonComponent.vue +21 -13
- package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
- package/src/featureInfo/abstractFeatureInfoView.d.ts +4 -4
- package/src/featureInfo/abstractFeatureInfoView.js +4 -4
- package/src/featureInfo/featureInfo.d.ts +2 -2
- package/src/featureInfo/featureInfo.js +1 -1
- package/src/i18n/i18nCollection.d.ts +9 -15
- package/src/i18n/i18nCollection.js +3 -3
- package/src/legend/VcsLegend.vue +6 -2
- package/src/legend/VcsLegend.vue.d.ts +1 -0
- package/src/manager/collectionManager/CollectionComponentList.vue +1 -1
- package/src/manager/collectionManager/categoryManager.d.ts +1 -1
- package/src/manager/collectionManager/collectionComponentClass.d.ts +2 -2
- package/src/manager/collectionManager/collectionComponentClass.js +4 -4
- package/src/manager/collectionManager/collectionManager.d.ts +1 -1
- package/src/manager/toolbox/GroupToolboxComponent.vue +8 -6
- package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -1
- package/src/manager/toolbox/SelectToolboxComponent.vue +8 -6
- package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -1
- package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +8 -5
- package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -1
- package/src/manager/window/WindowComponentHeader.vue +6 -3
- package/src/manager/window/WindowComponentHeader.vue.d.ts +1 -0
- package/src/manager/window/windowManager.d.ts +6 -6
- package/src/manager/window/windowManager.js +3 -3
- package/src/navigation/OrientationToolsButton.vue +2 -4
- package/src/navigation/TiltSlider.vue +3 -5
- package/src/search/SearchComponent.vue +8 -6
- package/src/search/SearchComponent.vue.d.ts +1 -1
- package/src/styles/vcsList.scss +1 -1
- package/src/uiConfig.d.ts +12 -3
- package/src/uiConfig.js +2 -1
- package/src/vcsUiApp.d.ts +41 -56
- package/src/vcsUiApp.js +34 -28
- package/src/vuePlugins/vuetify.d.ts +88 -62
- package/src/vuePlugins/vuetify.js +116 -20
- package/dist/assets/ui-7214428e.css +0 -1
- package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
- package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
- package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
- package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
- package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
- package/src/components/lists/VcsTreeviewLeaf.vue +0 -92
- /package/dist/assets/{cesium-126f111a.js → cesium-ccb4cc30.js} +0 -0
- /package/dist/assets/{ol-27f9b3f3.js → ol-e7981d5c.js} +0 -0
- /package/dist/assets/{vue-c78a5f76.js → vue-87bc6efe.js} +0 -0
- /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
package/src/uiConfig.d.ts
CHANGED
@@ -45,7 +45,7 @@ export type UiConfigObject = {
|
|
45
45
|
*/
|
46
46
|
appTitle?: string | undefined;
|
47
47
|
/**
|
48
|
-
* - an optional primary color to use in all themes
|
48
|
+
* - an optional primary color to use in all themes, can be overwritten by `vuetifyTheme`
|
49
49
|
*/
|
50
50
|
primaryColor?: string | undefined;
|
51
51
|
/**
|
@@ -136,6 +136,10 @@ export type UiConfigObject = {
|
|
136
136
|
* - the display quality settings
|
137
137
|
*/
|
138
138
|
displayQuality?: import("@vcmap/core").DisplayQualityOptions | undefined;
|
139
|
+
/**
|
140
|
+
* - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
|
141
|
+
*/
|
142
|
+
vuetifyTheme?: any;
|
139
143
|
};
|
140
144
|
/**
|
141
145
|
* @typedef {{
|
@@ -179,7 +183,7 @@ export type UiConfigObject = {
|
|
179
183
|
* @property {string} [logo] - the company logo to display. this will override any and all css overrides.
|
180
184
|
* @property {string} [mobileLogo] - an alternative logo to display in mobile view
|
181
185
|
* @property {string} [appTitle] - an optional title to display next to the company logo
|
182
|
-
* @property {string} [primaryColor] - an optional primary color to use in all themes
|
186
|
+
* @property {string} [primaryColor] - an optional primary color to use in all themes, can be overwritten by `vuetifyTheme`
|
183
187
|
* @property {boolean} [startingFeatureInfo] - an optional flag whether to activate feature info on startup (default active)
|
184
188
|
* @property {string} [positionDisplayEventType] - mouse event, when position display is updated. Either 'click' (default) or 'move'.
|
185
189
|
* @property {string} [helpBaseUrl='https://help.vc.systems/'] - an optional URL to a help landing page
|
@@ -202,6 +206,7 @@ export type UiConfigObject = {
|
|
202
206
|
* @property {boolean} [hideSettings] - can be used to hide the settings Window
|
203
207
|
* @property {boolean} [overviewMapActiveOnStartup] - can be used to activate the overviewMap on startup
|
204
208
|
* @property {import("@vcmap/core").DisplayQualityOptions} [displayQuality] - the display quality settings
|
209
|
+
* @property {import("./vuetifyPlugins/vuetify.js").VcsThemes} [vuetifyTheme] - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
|
205
210
|
*/
|
206
211
|
/**
|
207
212
|
* @extends {Collection<UiConfigurationItem<unknown>>}
|
@@ -245,7 +250,7 @@ declare class UiConfig extends Collection<UiConfigurationItem<unknown>> {
|
|
245
250
|
*/
|
246
251
|
readonly appTitle?: string | undefined;
|
247
252
|
/**
|
248
|
-
* - an optional primary color to use in all themes
|
253
|
+
* - an optional primary color to use in all themes, can be overwritten by `vuetifyTheme`
|
249
254
|
*/
|
250
255
|
readonly primaryColor?: string | undefined;
|
251
256
|
/**
|
@@ -466,6 +471,10 @@ declare class UiConfig extends Collection<UiConfigurationItem<unknown>> {
|
|
466
471
|
readonly layerSSEFactor?: number | undefined;
|
467
472
|
} | undefined;
|
468
473
|
} | undefined;
|
474
|
+
/**
|
475
|
+
* - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
|
476
|
+
*/
|
477
|
+
readonly vuetifyTheme?: any;
|
469
478
|
};
|
470
479
|
}
|
471
480
|
import { Collection } from '@vcmap/core';
|
package/src/uiConfig.js
CHANGED
@@ -47,7 +47,7 @@ import { reactive, readonly } from 'vue';
|
|
47
47
|
* @property {string} [logo] - the company logo to display. this will override any and all css overrides.
|
48
48
|
* @property {string} [mobileLogo] - an alternative logo to display in mobile view
|
49
49
|
* @property {string} [appTitle] - an optional title to display next to the company logo
|
50
|
-
* @property {string} [primaryColor] - an optional primary color to use in all themes
|
50
|
+
* @property {string} [primaryColor] - an optional primary color to use in all themes, can be overwritten by `vuetifyTheme`
|
51
51
|
* @property {boolean} [startingFeatureInfo] - an optional flag whether to activate feature info on startup (default active)
|
52
52
|
* @property {string} [positionDisplayEventType] - mouse event, when position display is updated. Either 'click' (default) or 'move'.
|
53
53
|
* @property {string} [helpBaseUrl='https://help.vc.systems/'] - an optional URL to a help landing page
|
@@ -70,6 +70,7 @@ import { reactive, readonly } from 'vue';
|
|
70
70
|
* @property {boolean} [hideSettings] - can be used to hide the settings Window
|
71
71
|
* @property {boolean} [overviewMapActiveOnStartup] - can be used to activate the overviewMap on startup
|
72
72
|
* @property {import("@vcmap/core").DisplayQualityOptions} [displayQuality] - the display quality settings
|
73
|
+
* @property {import("./vuetifyPlugins/vuetify.js").VcsThemes} [vuetifyTheme] - Vuetify Theming, also see vuetify configuration https://vuetifyjs.com/en/features/theme/
|
73
74
|
*/
|
74
75
|
|
75
76
|
/**
|
package/src/vcsUiApp.d.ts
CHANGED
@@ -1,64 +1,45 @@
|
|
1
1
|
export default VcsUiApp;
|
2
2
|
export type VcsUiModuleConfig = import("@vcmap/core").VcsModuleConfig & {
|
3
|
-
plugins?:
|
3
|
+
plugins?: Record<string, unknown>[];
|
4
4
|
contentTree?: import("./contentTree/contentTreeItem.js").ContentTreeItemOptions[];
|
5
5
|
uiConfig?: import("./uiConfig.js").UiConfigurationItem<unknown>[];
|
6
6
|
featureInfo?: import("./featureInfo/abstractFeatureInfoView.js").FeatureInfoViewOptions[];
|
7
|
-
i18n?:
|
7
|
+
i18n?: import("./i18n/i18nCollection.js").I18nConfigurationItem[];
|
8
8
|
};
|
9
9
|
export type PluginConfig = {
|
10
10
|
name: string;
|
11
|
-
|
12
|
-
|
13
|
-
*/
|
14
|
-
entry?: string | undefined;
|
15
|
-
/**
|
16
|
-
* - version or version range
|
17
|
-
*/
|
18
|
-
version?: string | undefined;
|
11
|
+
entry?: string;
|
12
|
+
version?: string;
|
19
13
|
};
|
20
14
|
export type PluginConfigEditorComponent<Config extends Object> = import("vue").Component<{
|
21
|
-
getConfig():
|
22
|
-
setConfig(config
|
23
|
-
}
|
15
|
+
getConfig(): Config;
|
16
|
+
setConfig(config?: Config): void;
|
17
|
+
}>;
|
18
|
+
export type PluginConfigEditor<Config extends Object> = {
|
19
|
+
component: PluginConfigEditorComponent<Config>;
|
24
20
|
title?: string;
|
21
|
+
collectionName?: string;
|
22
|
+
itemName?: string;
|
23
|
+
infoUrlCallback?: () => string;
|
25
24
|
};
|
26
|
-
export type
|
27
|
-
/**
|
28
|
-
* - A editor component to configure a plugin or item
|
29
|
-
*/
|
30
|
-
component: PluginConfigEditorComponent<object>;
|
31
|
-
/**
|
32
|
-
* - The collection the item belongs to. Default is plugins collection.
|
33
|
-
*/
|
34
|
-
collectionName?: string | undefined;
|
35
|
-
/**
|
36
|
-
* - The item the editor can be used for. Can be a name or className. Default is the plugin's name.
|
37
|
-
*/
|
38
|
-
itemName?: string | undefined;
|
39
|
-
/**
|
40
|
-
* - An optional function returning an url referencing help or further information regarding the config editor.
|
41
|
-
*/
|
42
|
-
infoUrlCallback?: (() => string) | undefined;
|
43
|
-
};
|
44
|
-
export type createPlugin<P extends Object, S extends Object> = (arg0: P, arg1: string) => VcsPlugin<P, S>;
|
25
|
+
export type createPlugin<Config extends Object, State extends Object> = (arg0: Config, arg1: string) => VcsPlugin<Config, State>;
|
45
26
|
/**
|
46
27
|
* Interface for VcsPlugins.
|
47
28
|
* The function implementing the interface should not throw!
|
48
29
|
*/
|
49
|
-
export type VcsPlugin<
|
30
|
+
export type VcsPlugin<Config extends Object, State extends Object> = {
|
50
31
|
name: string;
|
51
32
|
version: string;
|
52
33
|
mapVersion: string;
|
53
34
|
i18n?: {
|
54
35
|
[x: string]: unknown;
|
55
36
|
};
|
56
|
-
initialize?: (arg0: import("@src/vcsUiApp.js").default, arg1:
|
37
|
+
initialize?: (arg0: import("@src/vcsUiApp.js").default, arg1: State | undefined) => void | Promise<void>;
|
57
38
|
onVcsAppMounted?: (arg0: import("@src/vcsUiApp.js").default) => void;
|
58
|
-
toJSON?: () =>
|
59
|
-
getDefaultOptions?: () =>
|
60
|
-
getState?: (arg0: boolean | undefined) =>
|
61
|
-
getConfigEditors?: () => Array<PluginConfigEditor
|
39
|
+
toJSON?: () => Config;
|
40
|
+
getDefaultOptions?: () => Config;
|
41
|
+
getState?: (arg0: boolean | undefined) => State | Promise<State>;
|
42
|
+
getConfigEditors?: () => Array<PluginConfigEditor<Config>>;
|
62
43
|
destroy?: () => void;
|
63
44
|
};
|
64
45
|
export type VcsComponentManager<T extends Object, O extends Object> = {
|
@@ -89,7 +70,7 @@ declare class VcsUiApp extends VcsApp {
|
|
89
70
|
*/
|
90
71
|
themeChanged: VcsEvent<void>;
|
91
72
|
/**
|
92
|
-
* @type {import("@vcmap/core").OverrideCollection<VcsPlugin>}
|
73
|
+
* @type {import("@vcmap/core").OverrideCollection<VcsPlugin, Collection<VcsPlugin>, Object>}
|
93
74
|
* @private
|
94
75
|
*/
|
95
76
|
private _plugins;
|
@@ -132,7 +113,7 @@ declare class VcsUiApp extends VcsApp {
|
|
132
113
|
*/
|
133
114
|
private _callbackClassRegistry;
|
134
115
|
/**
|
135
|
-
* @type {import("@vcmap/core").OverrideClassRegistry<
|
116
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
|
136
117
|
* @private
|
137
118
|
*/
|
138
119
|
private _contentTreeClassRegistry;
|
@@ -214,25 +195,25 @@ declare class VcsUiApp extends VcsApp {
|
|
214
195
|
mounted: import("@vcmap/core").VcsEvent<string>;
|
215
196
|
_destroySiteConfig: () => void;
|
216
197
|
/**
|
217
|
-
* @type {import("@vcmap/core").OverrideCollection<VcsPlugin
|
198
|
+
* @type {import("@vcmap/core").OverrideCollection<VcsPlugin, Collection<VcsPlugin>, Object>}
|
218
199
|
*/
|
219
|
-
get plugins(): import("@vcmap/core").OverrideCollection<
|
200
|
+
get plugins(): import("@vcmap/core").OverrideCollection<any, Collection<any>, Object>;
|
220
201
|
/**
|
221
202
|
* @type {import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection>}
|
222
203
|
*/
|
223
|
-
get contentTree(): import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection>;
|
204
|
+
get contentTree(): import("@vcmap/core").OverrideCollection<ContentTreeItem, ContentTreeCollection, import("./contentTree/contentTreeItem.js").ContentTreeItemOptions>;
|
224
205
|
/**
|
225
|
-
* @type {import("@vcmap/core").OverrideClassRegistry<
|
206
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof import("./callback/vcsCallback.js").default>}
|
226
207
|
*/
|
227
|
-
get callbackClassRegistry(): OverrideClassRegistry<
|
208
|
+
get callbackClassRegistry(): OverrideClassRegistry<typeof import("./callback/vcsCallback.js").default>;
|
228
209
|
/**
|
229
|
-
* @type {import("@vcmap/core").OverrideClassRegistry<
|
210
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
|
230
211
|
*/
|
231
|
-
get contentTreeClassRegistry(): OverrideClassRegistry<
|
212
|
+
get contentTreeClassRegistry(): OverrideClassRegistry<typeof ContentTreeItem>;
|
232
213
|
/**
|
233
|
-
* @type {import("@vcmap/core").OverrideClassRegistry<
|
214
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof AbstractFeatureInfoView>}
|
234
215
|
*/
|
235
|
-
get featureInfoClassRegistry(): OverrideClassRegistry<
|
216
|
+
get featureInfoClassRegistry(): OverrideClassRegistry<typeof AbstractFeatureInfoView>;
|
236
217
|
/**
|
237
218
|
* @returns {ToolboxManager}
|
238
219
|
*/
|
@@ -278,10 +259,7 @@ declare class VcsUiApp extends VcsApp {
|
|
278
259
|
icons: {
|
279
260
|
defaultSet: string;
|
280
261
|
aliases: Partial<import("vuetify").IconAliases>;
|
281
|
-
sets: Record<string, import("vuetify").IconSet>;
|
282
|
-
* @type {Array<function():void>}
|
283
|
-
* @private
|
284
|
-
*/
|
262
|
+
sets: Record<string, import("vuetify").IconSet>;
|
285
263
|
};
|
286
264
|
locale: {
|
287
265
|
isRtl: import("vue").Ref<boolean>;
|
@@ -328,13 +306,20 @@ declare class VcsUiApp extends VcsApp {
|
|
328
306
|
isEqual: (date: unknown, comparing: unknown) => boolean;
|
329
307
|
isValid: (date: any) => boolean;
|
330
308
|
isWithinRange: (date: unknown, range: [unknown, unknown]) => boolean;
|
331
|
-
addMinutes: (date: unknown, amount: number) => unknown;
|
309
|
+
addMinutes: (date: unknown, amount: number) => unknown; /**
|
310
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof import("./callback/vcsCallback.js").default>}
|
311
|
+
*/
|
332
312
|
addHours: (date: unknown, amount: number) => unknown;
|
333
313
|
addDays: (date: unknown, amount: number) => unknown;
|
334
314
|
addWeeks: (date: unknown, amount: number) => unknown;
|
315
|
+
/**
|
316
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
|
317
|
+
*/
|
335
318
|
addMonths: (date: unknown, amount: number) => unknown;
|
336
319
|
getYear: (date: unknown) => number;
|
337
|
-
setYear: (date: unknown, year: number) => unknown;
|
320
|
+
setYear: (date: unknown, year: number) => unknown; /**
|
321
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof AbstractFeatureInfoView>}
|
322
|
+
*/
|
338
323
|
getDiff: (date: unknown, comparing: unknown, unit?: string | undefined) => number;
|
339
324
|
getWeekArray: (date: unknown, firstDayOfWeek?: string | number | undefined) => unknown[][];
|
340
325
|
getWeekdays: (firstDayOfWeek?: string | number | undefined) => string[];
|
@@ -371,7 +356,7 @@ declare class VcsUiApp extends VcsApp {
|
|
371
356
|
/**
|
372
357
|
* @type {import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig>}
|
373
358
|
*/
|
374
|
-
get uiConfig(): import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig
|
359
|
+
get uiConfig(): import("@vcmap/core").OverrideCollection<import("./uiConfig.js").UiConfigurationItem<unknown>, UiConfig, import("./uiConfig.js").UiConfigurationItem<unknown>>;
|
375
360
|
/**
|
376
361
|
* @type {Notifier}
|
377
362
|
*/
|
package/src/vcsUiApp.js
CHANGED
@@ -48,40 +48,46 @@ import { createVcsVuetify } from './vuePlugins/vuetify.js';
|
|
48
48
|
|
49
49
|
/**
|
50
50
|
* @typedef {import("@vcmap/core").VcsModuleConfig & {
|
51
|
-
* plugins?:
|
51
|
+
* plugins?: Record<string, unknown>[],
|
52
52
|
* contentTree?: import("./contentTree/contentTreeItem.js").ContentTreeItemOptions[],
|
53
53
|
* uiConfig?: import("./uiConfig.js").UiConfigurationItem<unknown>[],
|
54
54
|
* featureInfo?: import("./featureInfo/abstractFeatureInfoView.js").FeatureInfoViewOptions[],
|
55
|
-
* i18n?:
|
55
|
+
* i18n?: import("./i18n/i18nCollection.js").I18nConfigurationItem[]
|
56
56
|
* }} VcsUiModuleConfig
|
57
57
|
*/
|
58
58
|
|
59
59
|
/**
|
60
|
-
* @typedef {
|
60
|
+
* @typedef {{ name: string, entry?: string, version?: string}} PluginConfig
|
61
61
|
* @property {string} name
|
62
62
|
* @property {string|undefined} [entry] - path to the plugin's index.js
|
63
63
|
* @property {string|undefined} [version] - version or version range
|
64
64
|
*/
|
65
65
|
|
66
66
|
/**
|
67
|
-
* @typedef {import("vue").Component<{ getConfig():
|
68
|
-
* title?: string
|
69
|
-
* }} PluginConfigEditorComponent
|
67
|
+
* @typedef {import("vue").Component<{ getConfig(): Config, setConfig(config?: Config): void }>} PluginConfigEditorComponent
|
70
68
|
* @template {Object} Config
|
71
69
|
*/
|
72
70
|
|
73
71
|
/**
|
74
|
-
* @typedef {
|
75
|
-
*
|
72
|
+
* @typedef {{
|
73
|
+
* component: PluginConfigEditorComponent<Config>,
|
74
|
+
* title?: string,
|
75
|
+
* collectionName?: string,
|
76
|
+
* itemName?: string,
|
77
|
+
* infoUrlCallback?: () => string,
|
78
|
+
* }} PluginConfigEditor
|
79
|
+
* @template {Object} Config
|
80
|
+
* @property {PluginConfigEditorComponent<Config>} component - A editor component to configure a plugin or item
|
81
|
+
* @property {string} [title] - optional title to render in the window header & actions of this editor
|
76
82
|
* @property {string} [collectionName='plugins'] - The collection the item belongs to. Default is plugins collection.
|
77
83
|
* @property {string} [itemName] - The item the editor can be used for. Can be a name or className. Default is the plugin's name.
|
78
84
|
* @property {function():string} [infoUrlCallback] - An optional function returning an url referencing help or further information regarding the config editor.
|
79
85
|
*/
|
80
86
|
|
81
87
|
/**
|
82
|
-
* @typedef {function(
|
83
|
-
* @template {Object}
|
84
|
-
* @template {Object}
|
88
|
+
* @typedef {function(Config, string):VcsPlugin<Config, State>} createPlugin
|
89
|
+
* @template {Object} Config
|
90
|
+
* @template {Object} State
|
85
91
|
*/
|
86
92
|
|
87
93
|
/**
|
@@ -92,22 +98,22 @@ import { createVcsVuetify } from './vuePlugins/vuetify.js';
|
|
92
98
|
* version: string,
|
93
99
|
* mapVersion: string,
|
94
100
|
* i18n?: Object<string, unknown>,
|
95
|
-
* initialize?: function(import("@src/vcsUiApp.js").default,
|
101
|
+
* initialize?: function(import("@src/vcsUiApp.js").default, State=):void|Promise<void>,
|
96
102
|
* onVcsAppMounted?: function(import("@src/vcsUiApp.js").default):void,
|
97
|
-
* toJSON?: function():
|
98
|
-
* getDefaultOptions?: function():
|
99
|
-
* getState?: function(boolean=):
|
100
|
-
* getConfigEditors?: function():Array<PluginConfigEditor
|
103
|
+
* toJSON?: function(): Config,
|
104
|
+
* getDefaultOptions?: function(): Config,
|
105
|
+
* getState?: function(boolean=):State|Promise<State>,
|
106
|
+
* getConfigEditors?: function():Array<PluginConfigEditor<Config>>,
|
101
107
|
* destroy?: function(): void
|
102
108
|
* }} VcsPlugin
|
103
|
-
* @template {Object}
|
104
|
-
* @template {Object}
|
109
|
+
* @template {Object} Config
|
110
|
+
* @template {Object} State
|
105
111
|
* @property {Object<string, *>} [i18n] - the i18n messages of this plugin
|
106
|
-
* @property {function(import("@src/vcsUiApp.js").default,
|
112
|
+
* @property {function(import("@src/vcsUiApp.js").default, State=)} initialize - called on plugin added. Is passed the VcsUiApp and optionally, the state for the plugin
|
107
113
|
* @property {function(import("@src/vcsUiApp.js").default)} onVcsAppMounted - called on mounted of VcsApp.vue
|
108
|
-
* @property {function():
|
109
|
-
* @property {function():
|
110
|
-
* @property {function(boolean=):S|Promise<
|
114
|
+
* @property {function():Config} [toJSON] - should return the plugin's serialization excluding all default values
|
115
|
+
* @property {function():Config} [getDefaultOptions] - should return the plugin's default options
|
116
|
+
* @property {function(boolean=):S|Promise<State>} [getState] - should return the plugin's state or a promise for said state. is passed a "for url" flag. If true, only the state relevant for sharing a URL should be passed and short keys shall be used
|
111
117
|
* @property {Array<PluginConfigEditor>} [getConfigEditors] - should return components for configuring the plugin or custom items defined by the plugin
|
112
118
|
* @api
|
113
119
|
*/
|
@@ -164,7 +170,7 @@ class VcsUiApp extends VcsApp {
|
|
164
170
|
*/
|
165
171
|
this.themeChanged = new VcsEvent();
|
166
172
|
/**
|
167
|
-
* @type {import("@vcmap/core").OverrideCollection<VcsPlugin>}
|
173
|
+
* @type {import("@vcmap/core").OverrideCollection<VcsPlugin, Collection<VcsPlugin>, Object>}
|
168
174
|
* @private
|
169
175
|
*/
|
170
176
|
this._plugins = makeOverrideCollection(
|
@@ -260,7 +266,7 @@ class VcsUiApp extends VcsApp {
|
|
260
266
|
);
|
261
267
|
|
262
268
|
/**
|
263
|
-
* @type {import("@vcmap/core").OverrideClassRegistry<
|
269
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
|
264
270
|
* @private
|
265
271
|
*/
|
266
272
|
this._contentTreeClassRegistry = new OverrideClassRegistry(
|
@@ -369,7 +375,7 @@ class VcsUiApp extends VcsApp {
|
|
369
375
|
}
|
370
376
|
|
371
377
|
/**
|
372
|
-
* @type {import("@vcmap/core").OverrideCollection<VcsPlugin
|
378
|
+
* @type {import("@vcmap/core").OverrideCollection<VcsPlugin, Collection<VcsPlugin>, Object>}
|
373
379
|
*/
|
374
380
|
get plugins() {
|
375
381
|
return this._plugins;
|
@@ -383,21 +389,21 @@ class VcsUiApp extends VcsApp {
|
|
383
389
|
}
|
384
390
|
|
385
391
|
/**
|
386
|
-
* @type {import("@vcmap/core").OverrideClassRegistry<
|
392
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof import("./callback/vcsCallback.js").default>}
|
387
393
|
*/
|
388
394
|
get callbackClassRegistry() {
|
389
395
|
return this._callbackClassRegistry;
|
390
396
|
}
|
391
397
|
|
392
398
|
/**
|
393
|
-
* @type {import("@vcmap/core").OverrideClassRegistry<
|
399
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof ContentTreeItem>}
|
394
400
|
*/
|
395
401
|
get contentTreeClassRegistry() {
|
396
402
|
return this._contentTreeClassRegistry;
|
397
403
|
}
|
398
404
|
|
399
405
|
/**
|
400
|
-
* @type {import("@vcmap/core").OverrideClassRegistry<
|
406
|
+
* @type {import("@vcmap/core").OverrideClassRegistry<typeof AbstractFeatureInfoView>}
|
401
407
|
*/
|
402
408
|
get featureInfoClassRegistry() {
|
403
409
|
return this._featureInfoClassRegistry;
|
@@ -1,61 +1,54 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
'medium-emphasis-opacity': number;
|
53
|
-
'vcs-item-height': string;
|
54
|
-
'vcs-font-size': string;
|
55
|
-
'vcs-font-family': string;
|
56
|
-
};
|
57
|
-
};
|
58
|
-
};
|
1
|
+
/**
|
2
|
+
* @typedef {Object} VcsColors
|
3
|
+
* @property {string} [base]
|
4
|
+
* @property {string} [base-lighten-5]
|
5
|
+
* @property {string} [base-lighten-4]
|
6
|
+
* @property {string} [base-lighten-3]
|
7
|
+
* @property {string} [base-lighten-2]
|
8
|
+
* @property {string} [base-lighten-1]
|
9
|
+
* @property {string} [base-darken-1]
|
10
|
+
* @property {string} [base-darken-2]
|
11
|
+
* @property {string} [base-darken-3]
|
12
|
+
* @property {string} [base-darken-4]
|
13
|
+
* @property {string} [primary]
|
14
|
+
* @property {string} [warning]
|
15
|
+
* @property {string} [error]
|
16
|
+
* @property {string} [info]
|
17
|
+
* @property {string} [success]
|
18
|
+
* @property {string} [surface-light]
|
19
|
+
*/
|
20
|
+
/**
|
21
|
+
* @typedef {Object} VcsVariables
|
22
|
+
* @property {string} [hover-opacity]
|
23
|
+
* @property {string} [high-emphasis-opacity]
|
24
|
+
* @property {string} [medium-emphasis-opacity]
|
25
|
+
* @property {string} [vcs-font-size]
|
26
|
+
* @property {string} [vcs-font-family]
|
27
|
+
*/
|
28
|
+
/**
|
29
|
+
* @typedef {Object} VcsTheme
|
30
|
+
* @property {VcsColors} [colors]
|
31
|
+
* @property {VcsVariables} [variables]
|
32
|
+
*/
|
33
|
+
/**
|
34
|
+
* @typedef {Object} VcsThemes
|
35
|
+
* @property {VcsTheme} [dark]
|
36
|
+
* @property {VcsTheme} [light]
|
37
|
+
*/
|
38
|
+
/**
|
39
|
+
* @param {VcsThemes} [options]
|
40
|
+
* @param {{ dark:string, light:string }|string} [primaryColor]
|
41
|
+
* @returns {VcsThemes}
|
42
|
+
*/
|
43
|
+
export function createVcsThemes(options?: VcsThemes | undefined, primaryColor?: string | {
|
44
|
+
dark: string;
|
45
|
+
light: string;
|
46
|
+
} | undefined): VcsThemes;
|
47
|
+
/**
|
48
|
+
* @param {ReturnType<typeof import("vuetify").createVuetify>} vuetify
|
49
|
+
* @param {VcsThemes} theme
|
50
|
+
*/
|
51
|
+
export function setTheme(vuetify: ReturnType<typeof import("vuetify").createVuetify>, theme: VcsThemes): void;
|
59
52
|
/**
|
60
53
|
* @param {import("vue-i18n").I18n} i18n
|
61
54
|
* @returns {ReturnType<typeof import("vuetify").createVuetify>}
|
@@ -81,15 +74,15 @@ export function getDefaultPrimaryColor(app: import("../vcsUiApp.js").default): s
|
|
81
74
|
*/
|
82
75
|
export function getColorByKey(app: import("../vcsUiApp.js").default, value: string, variant?: string | undefined): string;
|
83
76
|
/**
|
84
|
-
* returns the
|
77
|
+
* returns the fontSize as a number
|
85
78
|
* @returns {import("vue").ComputedRef<number>}
|
86
79
|
*/
|
87
|
-
export function
|
80
|
+
export function useFontSize(): import("vue").ComputedRef<number>;
|
88
81
|
/**
|
89
|
-
* returns the
|
82
|
+
* returns the default IconSize as a number, value is based on the fontSize
|
90
83
|
* @returns {import("vue").ComputedRef<number>}
|
91
84
|
*/
|
92
|
-
export function
|
85
|
+
export function useIconSize(): import("vue").ComputedRef<number>;
|
93
86
|
/**
|
94
87
|
* @type {{light:string,dark:string}}
|
95
88
|
*/
|
@@ -97,3 +90,36 @@ export const defaultPrimaryColor: {
|
|
97
90
|
light: string;
|
98
91
|
dark: string;
|
99
92
|
};
|
93
|
+
export type VcsColors = {
|
94
|
+
base?: string | undefined;
|
95
|
+
"base-lighten-5"?: string | undefined;
|
96
|
+
"base-lighten-4"?: string | undefined;
|
97
|
+
"base-lighten-3"?: string | undefined;
|
98
|
+
"base-lighten-2"?: string | undefined;
|
99
|
+
"base-lighten-1"?: string | undefined;
|
100
|
+
"base-darken-1"?: string | undefined;
|
101
|
+
"base-darken-2"?: string | undefined;
|
102
|
+
"base-darken-3"?: string | undefined;
|
103
|
+
"base-darken-4"?: string | undefined;
|
104
|
+
primary?: string | undefined;
|
105
|
+
warning?: string | undefined;
|
106
|
+
error?: string | undefined;
|
107
|
+
info?: string | undefined;
|
108
|
+
success?: string | undefined;
|
109
|
+
"surface-light"?: string | undefined;
|
110
|
+
};
|
111
|
+
export type VcsVariables = {
|
112
|
+
"hover-opacity"?: string | undefined;
|
113
|
+
"high-emphasis-opacity"?: string | undefined;
|
114
|
+
"medium-emphasis-opacity"?: string | undefined;
|
115
|
+
"vcs-font-size"?: string | undefined;
|
116
|
+
"vcs-font-family"?: string | undefined;
|
117
|
+
};
|
118
|
+
export type VcsTheme = {
|
119
|
+
colors?: VcsColors | undefined;
|
120
|
+
variables?: VcsVariables | undefined;
|
121
|
+
};
|
122
|
+
export type VcsThemes = {
|
123
|
+
dark?: VcsTheme | undefined;
|
124
|
+
light?: VcsTheme | undefined;
|
125
|
+
};
|