@vcmap/ui 6.0.0-rc.3 → 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/buildHelpers.js +60 -11
- package/build/buildTypes.js +9 -5
- package/build/bundle.js +1 -1
- package/build/info/publish.js +25 -31
- package/build/lintTypes.js +5 -0
- package/config/base.config.json +2 -7
- package/config/dev.config.json +11 -1
- package/config/projects.config.json +2 -1
- package/config/theming.config.json +68 -0
- package/config/www.config.json +27 -23
- package/dist/assets/@mdi/font/css/{materialdesignicons.min-7a4f6be0.css → materialdesignicons.min-680621ca.css} +1 -1
- package/dist/assets/{cesium-cb4dbfba.js → cesium-ccb4cc30.js} +272 -385
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core-72f21835.js → core-e06aa7a6.js} +2313 -2321
- package/dist/assets/core.js +1 -1
- package/dist/assets/{ol-2d33bc8b.js → ol-e7981d5c.js} +233 -329
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-5dda32d2.css +1 -0
- package/dist/assets/{ui-2ab43a16.js → ui-5dda32d2.js} +11344 -11078
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue-87bc6efe.js +6083 -0
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify-760ced3b.css → vuetify-4c4e4217.css} +2 -2
- package/dist/assets/{vuetify-760ced3b.js → vuetify-4c4e4217.js} +8063 -8262
- package/dist/assets/vuetify.js +1 -1
- package/index.d.ts +27 -17
- package/index.js +16 -8
- package/package.json +17 -17
- 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/form-inputs-example/src/FormInputsExample.vue +2 -3
- package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +11 -7
- package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
- package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
- package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
- 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/@vcmap-show-case/toolbox-example/src/index.js +2 -1
- package/plugins/package.json +7 -23
- package/public/assets/@mdi/font/css/materialdesignicons.min.css +1 -1
- package/src/actions/StyleSelector.vue +1 -1
- package/src/actions/actionHelper.d.ts +4 -11
- package/src/actions/actionHelper.js +15 -7
- package/src/actions/listActions.d.ts +5 -5
- package/src/actions/listActions.js +2 -2
- package/src/application/VcsApp.vue +113 -50
- package/src/application/VcsApp.vue.d.ts +301 -4
- package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
- package/src/application/VcsContainer.vue +27 -10
- package/src/application/VcsContainer.vue.d.ts +241 -0
- package/src/application/VcsMainMap.vue +7 -7
- package/src/application/VcsMainMap.vue.d.ts +2 -2
- package/src/application/VcsNavbar.vue +14 -2
- package/src/application/VcsNavbar.vue.d.ts +1 -0
- package/src/application/VcsSplashScreen.vue +33 -26
- package/src/application/VcsTextPageFooter.vue +2 -1
- 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 +61 -6
- package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
- 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 +13 -16
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +2 -4
- package/src/components/form-inputs-controls/VcsCoordinate.vue +4 -4
- 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 +2 -5
- package/src/components/form-inputs-controls/VcsSlider.vue +5 -6
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -4
- package/src/components/form-inputs-controls/VcsTextArea.vue +2 -5
- package/src/components/form-inputs-controls/VcsTextField.vue +24 -1
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +11 -1
- package/src/components/form-inputs-controls/VcsWizard.vue +3 -3
- package/src/components/form-inputs-controls/VcsWizardStep.vue +6 -5
- package/src/components/form-inputs-controls/vcsTextField.scss +8 -5
- package/src/components/form-output/VcsFormattedNumber.vue +7 -5
- package/src/components/form-output/VcsMarkdown.vue +15 -12
- package/src/components/form-output/VcsMarkdown.vue.d.ts +1 -0
- package/src/components/form-output/markdownHelper.d.ts +30 -0
- package/src/components/form-output/markdownHelper.js +398 -0
- package/src/components/import/VcsFileDrop.vue +8 -5
- package/src/components/import/VcsImportComponent.vue +8 -4
- package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
- package/src/components/lists/VcsActionList.vue +6 -6
- package/src/components/lists/VcsList.vue +22 -37
- package/src/components/lists/VcsList.vue.d.ts +14 -55
- package/src/components/lists/{VcsListItem.vue → VcsListItemComponent.vue} +37 -11
- package/src/components/lists/VcsListItemComponent.vue.d.ts +79 -0
- package/src/components/lists/VcsTreeview.vue +95 -26
- package/src/components/lists/VcsTreeview.vue.d.ts +16 -3
- package/src/components/lists/VcsTreeviewSearchbar.vue +16 -5
- 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 -8
- 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 +13 -7
- package/src/components/section/VcsFormSection.vue.d.ts +2 -3
- 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 +3 -3
- package/src/components/style/VcsVectorStyleComponent.vue +1 -1
- package/src/components/tables/VcsDataTable.vue +42 -32
- package/src/components/tables/VcsDataTable.vue.d.ts +1 -0
- package/src/components/tables/VcsTable.vue +45 -62
- package/src/components/tables/VcsTable.vue.d.ts +30 -17
- package/src/components/tables/VcsTableCell.vue +72 -0
- package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +6 -5
- package/src/components/vector-properties/VcsFeatureTransforms.vue +5 -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 +14 -11
- package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
- package/src/components/viewpoint/VcsViewpointEditor.vue +2 -2
- package/src/contentTree/LayerTree.vue +9 -27
- package/src/contentTree/LayerTree.vue.d.ts +1 -1
- package/src/contentTree/contentTreeCollection.d.ts +1 -0
- package/src/contentTree/contentTreeCollection.js +45 -11
- package/src/contentTree/contentTreeItem.d.ts +2 -2
- package/src/contentTree/contentTreeItem.js +1 -1
- package/src/featureInfo/BalloonComponent.vue +32 -25
- package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
- package/src/featureInfo/MarkdownBalloonComponent.vue +4 -2
- package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
- package/src/featureInfo/abstractFeatureInfoView.d.ts +10 -4
- package/src/featureInfo/abstractFeatureInfoView.js +19 -11
- package/src/featureInfo/featureInfo.d.ts +7 -7
- package/src/featureInfo/featureInfo.js +51 -31
- package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
- package/src/featureInfo/iframeFeatureInfoView.js +15 -5
- package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
- package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
- package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
- package/src/featureInfo/markdownFeatureInfoView.js +9 -11
- package/src/featureInfo/tableFeatureInfoView.js +13 -4
- 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 +2 -2
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +2 -2
- package/src/manager/collectionManager/categoryManager.d.ts +1 -1
- package/src/manager/collectionManager/collectionComponentClass.d.ts +3 -3
- package/src/manager/collectionManager/collectionComponentClass.js +6 -6
- package/src/manager/collectionManager/collectionManager.d.ts +1 -1
- package/src/manager/collectionManager/editorCollectionComponentClass.js +2 -1
- package/src/manager/panel/PanelComponent.vue +2 -9
- package/src/manager/panel/PanelManagerComponent.vue +7 -3
- package/src/manager/panel/panelHelper.js +3 -3
- package/src/manager/panel/panelManager.d.ts +9 -1
- package/src/manager/panel/panelManager.js +15 -3
- package/src/manager/toolbox/GroupToolboxComponent.vue +11 -5
- package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
- package/src/manager/toolbox/SelectToolboxComponent.vue +11 -6
- package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
- package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +13 -7
- package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -0
- package/src/manager/window/WindowComponent.vue +12 -8
- package/src/manager/window/WindowComponentHeader.vue +33 -9
- package/src/manager/window/WindowComponentHeader.vue.d.ts +3 -0
- package/src/manager/window/WindowManager.vue +2 -2
- package/src/manager/window/windowManager.d.ts +6 -6
- package/src/manager/window/windowManager.js +3 -3
- package/src/navigation/MapNavigation.vue +20 -0
- package/src/navigation/OrientationToolsButton.vue +2 -4
- package/src/navigation/TiltSlider.vue +3 -5
- package/src/navigation/locatorHelper.js +1 -1
- package/src/navigation/overviewMap.js +1 -1
- package/src/notifier/NotifierComponent.vue +18 -15
- package/src/search/ResultItem.vue +18 -6
- package/src/search/ResultsComponent.vue +31 -20
- package/src/search/ResultsComponent.vue.d.ts +2 -1
- package/src/search/SearchComponent.vue +11 -15
- package/src/search/SearchComponent.vue.d.ts +1 -0
- package/src/siteConfig.js +8 -8
- package/src/styles/_typography.scss +0 -2
- package/src/styles/main.scss +0 -4
- package/src/styles/vcsList.scss +1 -1
- package/src/uiConfig.d.ts +311 -7
- package/src/uiConfig.js +30 -17
- package/src/vcsUiApp.d.ts +48 -63
- package/src/vcsUiApp.js +44 -37
- package/src/vuePlugins/vuetify.d.ts +88 -62
- package/src/vuePlugins/vuetify.js +119 -20
- package/dist/assets/ui-2ab43a16.css +0 -1
- package/dist/assets/vue-03b265aa.js +0 -6096
- 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/application/markdownHelper.d.ts +0 -12
- package/src/application/markdownHelper.js +0 -70
- package/src/components/lists/VcsListItem.vue.d.ts +0 -27
- package/src/components/lists/VcsTreeviewLeaf.vue +0 -83
- package/src/components/notification/VcsTooltip.vue +0 -156
- package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
- package/src/featureInfo/MarkdownComponent.vue +0 -16
- package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
- package/src/styles/_theming.scss +0 -73
- package/src/styles/settings.scss +0 -6
- package/src/styles/shades.scss +0 -4
- package/src/styles/variables.scss +0 -140
- package/src/styles/vcsFont.scss +0 -2
- package/src/styles/vcsGrid.scss +0 -3
- /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
package/dist/assets/vuetify.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export * from "./vuetify-
|
1
|
+
export * from "./vuetify-4c4e4217.js";
|
package/index.d.ts
CHANGED
@@ -46,6 +46,8 @@ export { default as PanelComponent } from "./src/manager/panel/PanelComponent.vu
|
|
46
46
|
export type * from "./src/manager/panel/PanelComponent.vue.d.ts";
|
47
47
|
export { default as ButtonManager } from "./src/manager/buttonManager.js";
|
48
48
|
export type * from "./src/manager/buttonManager.d.ts";
|
49
|
+
export { default as ToolboxManagerComponent } from "./src/manager/toolbox/ToolboxManagerComponent.vue";
|
50
|
+
export type * from "./src/manager/toolbox/ToolboxManagerComponent.vue.d.ts";
|
49
51
|
export { default as CategoryManager } from "./src/manager/collectionManager/categoryManager.js";
|
50
52
|
export type * from "./src/manager/collectionManager/categoryManager.d.ts";
|
51
53
|
export { default as CollectionManager } from "./src/manager/collectionManager/collectionManager.js";
|
@@ -102,8 +104,8 @@ export { default as VcsCompass } from "./src/navigation/VcsCompass.vue";
|
|
102
104
|
export type * from "./src/navigation/VcsCompass.vue.d.ts";
|
103
105
|
export { default as VcsZoomButton } from "./src/navigation/VcsZoomButton.vue";
|
104
106
|
export type * from "./src/navigation/VcsZoomButton.vue.d.ts";
|
105
|
-
export {
|
106
|
-
export type * from "./src/
|
107
|
+
export { default as UiConfig } from "./src/uiConfig.js";
|
108
|
+
export type * from "./src/uiConfig.d.ts";
|
107
109
|
export { default as VcsUiApp } from "./src/vcsUiApp.js";
|
108
110
|
export type * from "./src/vcsUiApp.d.ts";
|
109
111
|
export { default as Icons } from "./src/components/icons/+all.js";
|
@@ -116,8 +118,6 @@ export { default as VcsFormButton } from "./src/components/buttons/VcsFormButton
|
|
116
118
|
export type * from "./src/components/buttons/VcsFormButton.vue.d.ts";
|
117
119
|
export { default as VcsActionButtonList } from "./src/components/buttons/VcsActionButtonList.vue";
|
118
120
|
export type * from "./src/components/buttons/VcsActionButtonList.vue.d.ts";
|
119
|
-
export { default as VcsTooltip } from "./src/components/notification/VcsTooltip.vue";
|
120
|
-
export type * from "./src/components/notification/VcsTooltip.vue.d.ts";
|
121
121
|
export { default as VcsHelp } from "./src/components/notification/VcsHelp.vue";
|
122
122
|
export type * from "./src/components/notification/VcsHelp.vue.d.ts";
|
123
123
|
export { default as VcsTable } from "./src/components/tables/VcsTable.vue";
|
@@ -160,12 +160,12 @@ export { default as VcsTextPage } from "./src/application/VcsTextPage.vue";
|
|
160
160
|
export type * from "./src/application/VcsTextPage.vue.d.ts";
|
161
161
|
export { default as VcsList } from "./src/components/lists/VcsList.vue";
|
162
162
|
export type * from "./src/components/lists/VcsList.vue.d.ts";
|
163
|
-
export { default as
|
164
|
-
export type * from "./src/components/lists/
|
163
|
+
export { default as VcsListItemComponent } from "./src/components/lists/VcsListItemComponent.vue";
|
164
|
+
export type * from "./src/components/lists/VcsListItemComponent.vue.d.ts";
|
165
165
|
export { default as VcsTreeview } from "./src/components/lists/VcsTreeview.vue";
|
166
166
|
export type * from "./src/components/lists/VcsTreeview.vue.d.ts";
|
167
|
-
export { default as
|
168
|
-
export type * from "./src/components/lists/
|
167
|
+
export { default as VcsTreeviewTitle } from "./src/components/lists/VcsTreeviewTitle.vue";
|
168
|
+
export type * from "./src/components/lists/VcsTreeviewTitle.vue.d.ts";
|
169
169
|
export { default as VcsTreeviewSearchbar } from "./src/components/lists/VcsTreeviewSearchbar.vue";
|
170
170
|
export type * from "./src/components/lists/VcsTreeviewSearchbar.vue.d.ts";
|
171
171
|
export { default as VcsBadge } from "./src/components/notification/VcsBadge.vue";
|
@@ -216,14 +216,18 @@ export { default as VcsExpansionPanel } from "./src/components/section/VcsExpans
|
|
216
216
|
export type * from "./src/components/section/VcsExpansionPanel.vue.d.ts";
|
217
217
|
export { default as VcsSplashScreen } from "./src/application/VcsSplashScreen.vue";
|
218
218
|
export type * from "./src/application/VcsSplashScreen.vue.d.ts";
|
219
|
+
export * from "./src/application/attributionsHelper.js";
|
220
|
+
export type * from "./src/application/attributionsHelper.d.ts";
|
219
221
|
export * from "./src/components/attrsHelpers.js";
|
220
222
|
export type * from "./src/components/attrsHelpers.d.ts";
|
221
223
|
export * from "./src/components/modelHelper.js";
|
222
224
|
export type * from "./src/components/modelHelper.d.ts";
|
225
|
+
export * from "./src/components/composables.js";
|
226
|
+
export type * from "./src/components/composables.d.ts";
|
223
227
|
export { createMapButtonAction, createToggleAction, createOverviewMapAction, createModalAction, createLinkAction, createGoToViewpointAction, createZoomToFeatureAction } from "./src/actions/actionHelper.js";
|
224
228
|
export type * from "./src/actions/actionHelper.d.ts";
|
225
|
-
export { parseAndSanitizeMarkdown,
|
226
|
-
export type * from "./src/
|
229
|
+
export { parseAndSanitizeMarkdown, renderTemplate } from "./src/components/form-output/markdownHelper.js";
|
230
|
+
export type * from "./src/components/form-output/markdownHelper.d.ts";
|
227
231
|
export { createStateRefAction, StateActionState } from "./src/actions/stateRefAction.js";
|
228
232
|
export type * from "./src/actions/stateRefAction.d.ts";
|
229
233
|
export { createLayerToggleAction, createZoomToExtentAction, createExtentFeatureAction, setupExtentComponentActions } from "./src/actions/extentActions.js";
|
@@ -234,7 +238,7 @@ export { createListItemDeleteAction, createListItemBulkAction, createListExportA
|
|
234
238
|
export type * from "./src/actions/listActions.d.ts";
|
235
239
|
export { default as VcsCallback, executeCallbacks } from "./src/callback/vcsCallback.js";
|
236
240
|
export type * from "./src/callback/vcsCallback.d.ts";
|
237
|
-
export { default as VcsApp, setupMapNavbar, setupPluginMountedListeners, setupCategoryManagerWindow } from "./src/application/VcsApp.vue";
|
241
|
+
export { default as VcsApp, setupMapNavbar, setupPluginMountedListeners, setupCategoryManagerWindow, categoryManagerWindowId } from "./src/application/VcsApp.vue";
|
238
242
|
export type * from "./src/application/VcsApp.vue.d.ts";
|
239
243
|
export { default as ContentTreeCollection, createContentTreeCollection } from "./src/contentTree/contentTreeCollection.js";
|
240
244
|
export type * from "./src/contentTree/contentTreeCollection.d.ts";
|
@@ -266,7 +270,9 @@ export { getWindowComponentOptions, default as OverviewMap } from "./src/navigat
|
|
266
270
|
export type * from "./src/navigation/overviewMap.d.ts";
|
267
271
|
export { createVueI18n, setupI18n } from "./src/vuePlugins/i18n.js";
|
268
272
|
export type * from "./src/vuePlugins/i18n.d.ts";
|
269
|
-
export {
|
273
|
+
export { default as I18nCollection, i18nPluginSymbol } from "./src/i18n/i18nCollection.js";
|
274
|
+
export type * from "./src/i18n/i18nCollection.d.ts";
|
275
|
+
export { createVcsThemes, createVcsVuetify, isDark, getDefaultPrimaryColor, getColorByKey, useFontSize } from "./src/vuePlugins/vuetify.js";
|
270
276
|
export type * from "./src/vuePlugins/vuetify.d.ts";
|
271
277
|
export { downloadURI, downloadBlob, downloadText, downloadCanvas } from "./src/downloadHelper.js";
|
272
278
|
export type * from "./src/downloadHelper.d.ts";
|
@@ -290,11 +296,15 @@ export { default as VcsFeatureEditingWindow, EditorTransformationIcons, getAllow
|
|
290
296
|
export type * from "./src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts";
|
291
297
|
|
292
298
|
declare module 'vue' {
|
293
|
-
type ReplaceFirstParam<TParams extends readonly any[], TReplace> = {
|
294
|
-
[K in keyof TParams]: K extends "0" ? TReplace : TParams[K]
|
295
|
-
}
|
296
|
-
|
297
299
|
interface ComponentCustomProperties {
|
298
|
-
$st
|
300
|
+
$st(key: string | number | undefined | null): string;
|
301
|
+
$st(key: string | number | undefined | null, plural: number, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
|
302
|
+
$st(key: string | number | undefined | null, defaultMsg: string, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
|
303
|
+
$st(key: string | number | undefined | null, list: unknown[], options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
|
304
|
+
$st(key: string | number | undefined | null, list: unknown[], plural: number): string;
|
305
|
+
$st(key: string | number | undefined | null, list: unknown[], defaultMsg: string): string;
|
306
|
+
$st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
|
307
|
+
$st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, plural: number): string;
|
308
|
+
$st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, defaultMsg: string): string;
|
299
309
|
}
|
300
310
|
}
|
package/index.js
CHANGED
@@ -13,8 +13,8 @@ export {
|
|
13
13
|
} from './src/actions/actionHelper.js';
|
14
14
|
export {
|
15
15
|
parseAndSanitizeMarkdown,
|
16
|
-
|
17
|
-
} from './src/
|
16
|
+
renderTemplate,
|
17
|
+
} from './src/components/form-output/markdownHelper.js';
|
18
18
|
export {
|
19
19
|
createStateRefAction,
|
20
20
|
StateActionState,
|
@@ -58,6 +58,7 @@ export {
|
|
58
58
|
setupMapNavbar,
|
59
59
|
setupPluginMountedListeners,
|
60
60
|
setupCategoryManagerWindow,
|
61
|
+
categoryManagerWindowId,
|
61
62
|
} from './src/application/VcsApp.vue';
|
62
63
|
export { default as VcsAppWrapper } from './src/application/VcsAppWrapper.vue';
|
63
64
|
export { default as VcsMap } from './src/application/VcsMap.vue';
|
@@ -123,6 +124,7 @@ export {
|
|
123
124
|
ToolboxType,
|
124
125
|
defaultToolboxName,
|
125
126
|
} from './src/manager/toolbox/toolboxManager.js';
|
127
|
+
export { default as ToolboxManagerComponent } from './src/manager/toolbox/ToolboxManagerComponent.vue';
|
126
128
|
export { default as CategoryManager } from './src/manager/collectionManager/categoryManager.js';
|
127
129
|
export { default as CollectionManager } from './src/manager/collectionManager/collectionManager.js';
|
128
130
|
export { default as CollectionManagerComponent } from './src/manager/collectionManager/CollectionManager.vue';
|
@@ -184,13 +186,18 @@ export { default as VcsCompass } from './src/navigation/VcsCompass.vue';
|
|
184
186
|
export { default as VcsZoomButton } from './src/navigation/VcsZoomButton.vue';
|
185
187
|
//
|
186
188
|
export { createVueI18n, setupI18n } from './src/vuePlugins/i18n.js';
|
187
|
-
export {
|
189
|
+
export {
|
190
|
+
default as I18nCollection,
|
191
|
+
i18nPluginSymbol,
|
192
|
+
} from './src/i18n/i18nCollection.js';
|
193
|
+
export { default as UiConfig } from './src/uiConfig.js'; // export UiConfig types
|
188
194
|
export {
|
189
195
|
createVcsThemes,
|
190
196
|
createVcsVuetify,
|
191
|
-
|
197
|
+
isDark,
|
192
198
|
getDefaultPrimaryColor,
|
193
|
-
|
199
|
+
getColorByKey,
|
200
|
+
useFontSize,
|
194
201
|
} from './src/vuePlugins/vuetify.js';
|
195
202
|
export {
|
196
203
|
downloadURI,
|
@@ -231,7 +238,6 @@ export { default as VcsButton } from './src/components/buttons/VcsButton.vue';
|
|
231
238
|
export { default as VcsToolButton } from './src/components/buttons/VcsToolButton.vue';
|
232
239
|
export { default as VcsFormButton } from './src/components/buttons/VcsFormButton.vue';
|
233
240
|
export { default as VcsActionButtonList } from './src/components/buttons/VcsActionButtonList.vue';
|
234
|
-
export { default as VcsTooltip } from './src/components/notification/VcsTooltip.vue';
|
235
241
|
export { default as VcsHelp } from './src/components/notification/VcsHelp.vue';
|
236
242
|
export { default as VcsTable } from './src/components/tables/VcsTable.vue';
|
237
243
|
export { default as VcsDataTable } from './src/components/tables/VcsDataTable.vue';
|
@@ -258,9 +264,9 @@ export {
|
|
258
264
|
validateActions,
|
259
265
|
} from './src/components/lists/VcsActionList.vue';
|
260
266
|
export { default as VcsList } from './src/components/lists/VcsList.vue';
|
261
|
-
export { default as
|
267
|
+
export { default as VcsListItemComponent } from './src/components/lists/VcsListItemComponent.vue';
|
262
268
|
export { default as VcsTreeview } from './src/components/lists/VcsTreeview.vue';
|
263
|
-
export { default as
|
269
|
+
export { default as VcsTreeviewTitle } from './src/components/lists/VcsTreeviewTitle.vue';
|
264
270
|
export { default as VcsTreeviewSearchbar } from './src/components/lists/VcsTreeviewSearchbar.vue';
|
265
271
|
export { default as VcsBadge } from './src/components/notification/VcsBadge.vue';
|
266
272
|
export { default as VcsDefaultLogo } from './src/logo.svg';
|
@@ -305,5 +311,7 @@ export { default as VcsFileDrop } from './src/components/import/VcsFileDrop.vue'
|
|
305
311
|
export { default as VcsImportComponent } from './src/components/import/VcsImportComponent.vue';
|
306
312
|
export { default as VcsExpansionPanel } from './src/components/section/VcsExpansionPanel.vue';
|
307
313
|
export { default as VcsSplashScreen } from './src/application/VcsSplashScreen.vue';
|
314
|
+
export * from './src/application/attributionsHelper.js';
|
308
315
|
export * from './src/components/attrsHelpers.js';
|
309
316
|
export * from './src/components/modelHelper.js';
|
317
|
+
export * from './src/components/composables.js';
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vcmap/ui",
|
3
|
-
"version": "6.0.0-rc.
|
3
|
+
"version": "6.0.0-rc.6",
|
4
4
|
"author": "Virtual City Systems",
|
5
5
|
"license": "MIT",
|
6
6
|
"scripts": {
|
@@ -50,42 +50,42 @@
|
|
50
50
|
"@vcsuite/parsers": "^1.0.3",
|
51
51
|
"dompurify": "^3.1.6",
|
52
52
|
"fast-deep-equal": "^3.1.3",
|
53
|
-
"marked": "^
|
54
|
-
"semver": "^7.
|
53
|
+
"marked": "^14.0.0",
|
54
|
+
"semver": "^7.6.3",
|
55
55
|
"uuid": "^10.0.0",
|
56
56
|
"vue-i18n": "^9.13.1"
|
57
57
|
},
|
58
58
|
"peerDependencies": {
|
59
59
|
"@vcmap-cesium/engine": "^10.0.1",
|
60
|
-
"@vcmap/core": "6.0.0-rc.
|
60
|
+
"@vcmap/core": "^6.0.0-rc.5",
|
61
61
|
"ol": "^10.0.0",
|
62
|
-
"vue": "~3.4.
|
63
|
-
"vuetify": "^3.
|
62
|
+
"vue": "~3.4.38",
|
63
|
+
"vuetify": "^3.7.1"
|
64
64
|
},
|
65
65
|
"devDependencies": {
|
66
66
|
"@histoire/plugin-vue": "^0.17.17",
|
67
67
|
"@vcmap/rollup-plugin-vcs-ol": "^1.0.2",
|
68
68
|
"@vcsuite/eslint-config": "^3.0.5",
|
69
|
-
"@vitejs/plugin-vue": "^5.
|
70
|
-
"@vitest/coverage-v8": "^
|
69
|
+
"@vitejs/plugin-vue": "^5.1.2",
|
70
|
+
"@vitest/coverage-v8": "^2.0.5",
|
71
71
|
"@vue/test-utils": "^2.4.6",
|
72
72
|
"eslint-import-resolver-alias": "^1.1.2",
|
73
73
|
"eslint-plugin-vuetify": "^2.4.0",
|
74
74
|
"histoire": "^0.17.17",
|
75
75
|
"jest-canvas-mock": "^2.5.2",
|
76
|
-
"jsdoc": "^
|
76
|
+
"jsdoc": "^4.0.3",
|
77
77
|
"jsdoc-plugin-intersection": "^1.0.4",
|
78
|
-
"jsdoc-plugin-typescript": "^2.
|
79
|
-
"jsdom": "^
|
78
|
+
"jsdoc-plugin-typescript": "^2.2.1",
|
79
|
+
"jsdom": "^24.1.1",
|
80
80
|
"resize-observer-polyfill": "1.5.1",
|
81
81
|
"rollup-plugin-strip-pragma": "^1.0.0",
|
82
|
-
"sass": "^1.77.
|
83
|
-
"tar": "^
|
82
|
+
"sass": "^1.77.8",
|
83
|
+
"tar": "^7.4.3",
|
84
84
|
"typescript": "^5.4.5",
|
85
|
-
"vite": "^5.
|
86
|
-
"vite-plugin-vuetify": "^2.0.
|
87
|
-
"vitest": "^
|
88
|
-
"vue-tsc": "^2.0.
|
85
|
+
"vite": "^5.4.1",
|
86
|
+
"vite-plugin-vuetify": "^2.0.4",
|
87
|
+
"vitest": "^2.0.5",
|
88
|
+
"vue-tsc": "^2.0.29"
|
89
89
|
},
|
90
90
|
"stylelint": {
|
91
91
|
"extends": "stylelint-config-standard",
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg fill="#000000" width="200px" height="200px" viewBox="0 0 480 480" xmlns="http://www.w3.org/2000/svg"><path id="test" d="M296.482 395.294c0 31.144 -25.327 56.471 -56.471 56.471s-56.471 -25.327 -56.471 -56.471zM240.011 56.471c85.609 0 155.294 69.656 155.294 155.294v98.823c0 21.685 8.188 41.477 21.6 56.471H63.089c13.44 -14.993 21.628 -34.786 21.628 -56.471V211.765c0 -85.638 69.656 -155.294 155.294 -155.294m183.53 254.118V211.765c0 -96.424 -74.823 -175.567 -169.412 -182.823V0H225.894v28.941c-94.617 7.256 -169.412 86.4 -169.412 182.823v98.823c0 31.143 -25.327 56.471 -56.471 56.471v28.235h155.294c0 46.701 37.977 84.706 84.706 84.706 46.701 0 84.706 -38.005 84.706 -84.706h155.294v-28.235c-31.143 0 -56.471 -25.327 -56.471 -56.471Z" fill-rule="evenodd"/></svg>
|
@@ -0,0 +1,90 @@
|
|
1
|
+
<template>
|
2
|
+
<div>
|
3
|
+
<VcsFormSection heading="VIcon">
|
4
|
+
<v-row no-gutters v-for="icon in icons" :key="icon.title">
|
5
|
+
<v-col cols="6">
|
6
|
+
<VcsLabel>{{ icon.title }}</VcsLabel>
|
7
|
+
</v-col>
|
8
|
+
<v-col>
|
9
|
+
<VIcon size="x-small">{{ `${icon.set}:${icon.icon}` }}</VIcon>
|
10
|
+
</v-col>
|
11
|
+
<v-col>
|
12
|
+
<VIcon>{{ `${icon.set}:${icon.icon}` }}</VIcon>
|
13
|
+
</v-col>
|
14
|
+
<v-col>
|
15
|
+
<VIcon size="large">{{ `${icon.set}:${icon.icon}` }}</VIcon>
|
16
|
+
</v-col>
|
17
|
+
</v-row>
|
18
|
+
</VcsFormSection>
|
19
|
+
</div>
|
20
|
+
</template>
|
21
|
+
|
22
|
+
<script>
|
23
|
+
import { VcsFormSection, VcsLabel } from '@vcmap/ui';
|
24
|
+
import { VRow, VCol, VIcon } from 'vuetify/components';
|
25
|
+
|
26
|
+
export default {
|
27
|
+
name: 'CustomIconsExample',
|
28
|
+
components: {
|
29
|
+
VcsLabel,
|
30
|
+
VcsFormSection,
|
31
|
+
VIcon,
|
32
|
+
VRow,
|
33
|
+
VCol,
|
34
|
+
},
|
35
|
+
setup() {
|
36
|
+
const icons = [
|
37
|
+
{
|
38
|
+
title: 'Base64 image',
|
39
|
+
set: 'imageUrl',
|
40
|
+
icon: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhLS0gTGljZW5zZTogQ0MwLiBNYWRlIGJ5IFNWRyBSZXBvOiBodHRwczovL3d3dy5zdmdyZXBvLmNvbS9zdmcvNjUxNjMvYmVhY2ggLS0+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHJlY3QgeT0iMjcwLjMyNyIgc3R5bGU9ImZpbGw6IzNGQTlGNTsiIHdpZHRoPSI1MTIiIGhlaWdodD0iMTA0LjQ5Ii8+CjxyZWN0IHk9IjM3NC44MTciIHN0eWxlPSJmaWxsOiNGRkQ0NkE7IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjEzMC42MTIiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0ZGRDI0ODsiIGQ9Ik00MTIuNzM1LDcxLjc5OWMzNC41ODYsMCw2Mi42OTQsMjguMTA4LDYyLjY5NCw2Mi42OTRzLTI4LjEwOCw2Mi42OTQtNjIuNjk0LDYyLjY5NAoJcy02Mi42OTQtMjguMTA4LTYyLjY5NC02Mi42OTRTMzc4LjE0OSw3MS43OTksNDEyLjczNSw3MS43OTl6Ii8+CjxwYXRoIHN0eWxlPSJmaWxsOiNCM0IzQjM7IiBkPSJNMjQ1LjU1MSwxOTcuMTg2aC02Mi42OTRjMC02Mi42OTQtMzYuNTcxLTk5LjI2NS0zNi41NzEtOTkuMjY1CglDMjAxLjE0Myw5Ny45MjEsMjQ1LjU1MSwxNDIuMzI5LDI0NS41NTEsMTk3LjE4NnoiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0NDQ0NDQzsiIGQ9Ik0xNDYuMjg2LDk3LjkyMWMwLDAsMzYuNTcxLDM2LjU3MSwzNi41NzEsOTkuMjY1aC0zNi41NzFIMTA0LjQ5CglDMTA0LjQ5LDE0NC45NDEsMTQ2LjI4Niw5Ny45MjEsMTQ2LjI4Niw5Ny45MjF6Ii8+CjxwYXRoIHN0eWxlPSJmaWxsOiNFNkU2RTY7IiBkPSJNMTQ2LjI4Niw5Ny45MjFjMCwwLTQxLjc5Niw0Ny4wMi00MS43OTYsOTkuMjY1SDQ3LjAyQzQ3LjAyLDE0Mi4zMjksOTEuNDI5LDk3LjkyMSwxNDYuMjg2LDk3LjkyMXoiCgkvPgo8cGF0aCBkPSJNMTgwLjI0NSw0MC40NTJoMTUuNjczYzAtNS4xODYsNC40NzItOS43NTcsMTMuMjkyLTEzLjU5YzguMDg5LTMuNTE0LDE2LjQ3OS00Ljc2NSwxNi41NjMtNC43NzZsLTEuMTItNy43NTZsLTEuMTA5LTcuNzU4CgljLTEwLjY1LDEuNTIyLTI2LjE4NCw2LjMtMzUuNDYzLDE1LjcwM2MtOS4yNzktOS40MDMtMjQuODEzLTE0LjE4MS0zNS40NjMtMTUuNzAzbC0yLjIxNiwxNS41MTcKCUMxNTYuNzA2LDIyLjk4OCwxODAuMjQ1LDI4Ljc0NCwxODAuMjQ1LDQwLjQ1MnoiLz4KPHBhdGggZD0iTTI2My44MzcsOTIuNjk3aDE1LjY3M2MwLTUuMTg2LDQuNDcyLTkuNzU3LDEzLjI5Mi0xMy41OWM4LjA4OS0zLjUxNCwxNi40NzktNC43NjUsMTYuNTYzLTQuNzc2bC0xLjEyLTcuNzU2bC0xLjEwOS03Ljc1OAoJYy0xMC42NSwxLjUyMS0yNi4xODUsNi4zLTM1LjQ2MywxNS43MDNjLTkuMjc5LTkuNDAzLTI0LjgxMy0xNC4xODEtMzUuNDYzLTE1LjcwM2wtMi4yMTYsMTUuNTE3CglDMjQwLjI5OCw3NS4yMzMsMjYzLjgzNyw4MC45ODgsMjYzLjgzNyw5Mi42OTd6Ii8+CjxyZWN0IHg9IjI2LjEyMiIgeT0iNDUwLjU3MiIgd2lkdGg9IjIwLjg5OCIgaGVpZ2h0PSIxNS42NzMiLz4KPHJlY3QgeD0iNjcuOTE4IiB5PSI0MDguNzc2IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSI2Ny45MTgiIHk9IjQ3MS40NyIgd2lkdGg9IjIwLjg5OCIgaGVpZ2h0PSIxNS42NzMiLz4KPHJlY3QgeD0iMTMwLjYxMiIgeT0iNDYxLjAyMSIgd2lkdGg9IjIwLjg5OCIgaGVpZ2h0PSIxNS42NzMiLz4KPHJlY3QgeD0iMjAzLjc1NSIgeT0iNDcxLjQ3IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIyMDMuNzU1IiB5PSI0MTkuMjI1IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIyNjYuNDQ5IiB5PSI0MDguNzc2IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIzMzkuNTkyIiB5PSI0NDAuMTIzIiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIyODcuMzQ3IiB5PSI0NzEuNDciIHdpZHRoPSIyMC44OTgiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjM5MS44MzciIHk9IjQwOC43NzYiIHdpZHRoPSIyMC44OTgiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjM5MS44MzciIHk9IjQ3MS40NyIgd2lkdGg9IjIwLjg5OCIgaGVpZ2h0PSIxNS42NzMiLz4KPHJlY3QgeD0iNDY0Ljk4IiB5PSI0NDAuMTIzIiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIyMTkuNDI5IiB5PSIzMDkuNTExIiB3aWR0aD0iNDcuMDIiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjI3Ni44OTgiIHk9IjMwOS41MTEiIHdpZHRoPSIyMC44OTgiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjIwLjg5OCIgeT0iMzMwLjQwOSIgd2lkdGg9IjQ3LjAyIiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSI3OC4zNjciIHk9IjMzMC40MDkiIHdpZHRoPSIyMC44OTgiIGhlaWdodD0iMTUuNjczIi8+CjxyZWN0IHg9IjQwNy41MSIgeT0iMzMwLjQwOSIgd2lkdGg9IjQ3LjAyIiBoZWlnaHQ9IjE1LjY3MyIvPgo8cmVjdCB4PSIzNzYuMTYzIiB5PSIzMzAuNDA5IiB3aWR0aD0iMjAuODk4IiBoZWlnaHQ9IjE1LjY3MyIvPgo8cGF0aCBkPSJNNTEyLDI2Mi40OTJIMTU0LjEyMnYtNTcuNDY5aDk5LjI2NXYtNy44MzdjMC01OS4wNTctNDguMDQ1LTEwNy4xMDItMTA3LjEwMi0xMDcuMTAyUzM5LjE4NCwxMzguMTMsMzkuMTg0LDE5Ny4xODZ2Ny44MzcKCWg5OS4yNjV2NTcuNDY5SDB2MTUuNjczaDEzOC40NDl2ODguODE2SDB2MTUuNjczaDEzOC40NDl2MzEuMzQ3aC0yMy41MXYxNS42NzNoNjIuNjk0di0xNS42NzNoLTIzLjUxdi0zMS4zNDdINTEydi0xNS42NzNIMTU0LjEyMgoJdi04OC44MTZINTEyVjI2Mi40OTJ6IE0xMTIuNjY2LDE4OS4zNWMyLjg2OC0zNC4xODEsMjMuNTI2LTY1LjQ2NiwzMy43NjMtNzkuMDY2YzkuMTUxLDEyLjA3NCwyNi4yOTUsMzkuNywyOC4zNjQsNzkuMDY2SDExMi42NjZ6CgkgTTIzNy4zODIsMTg5LjM1aC00Ni44OTFjLTEuNzY4LTM4LjA1NC0xNi4wMzktNjYuMDQyLTI2Ljc1NS04MS45MjFDMjAzLjMzMiwxMTUuMTEzLDIzMy44OTEsMTQ4LjQzLDIzNy4zODIsMTg5LjM1egoJIE0xMjkuMTAzLDEwNy4zODRjLTEyLjA3LDE3LjI2OC0yOS43MjcsNDcuODktMzIuMTY1LDgxLjk2Nkg1NS4xODlDNTguNjg5LDE0OC4zMzgsODkuMzc4LDExNC45NywxMjkuMTAzLDEwNy4zODR6Ii8+CjxwYXRoIGQ9Ik00MTIuNzM1LDIwNS4wMjNjMzguODkxLDAsNzAuNTMxLTMxLjY0LDcwLjUzMS03MC41MzFzLTMxLjY0LTcwLjUzMS03MC41MzEtNzAuNTMxcy03MC41MzEsMzEuNjQtNzAuNTMxLDcwLjUzMQoJUzM3My44NDQsMjA1LjAyMyw0MTIuNzM1LDIwNS4wMjN6IE00MTIuNzM1LDc5LjYzNWMzMC4yNDgsMCw1NC44NTcsMjQuNjA4LDU0Ljg1Nyw1NC44NTdzLTI0LjYwOSw1NC44NTctNTQuODU3LDU0Ljg1NwoJcy01NC44NTctMjQuNjA4LTU0Ljg1Ny01NC44NTdTMzgyLjQ4Nyw3OS42MzUsNDEyLjczNSw3OS42MzV6Ii8+Cjwvc3ZnPgo=',
|
41
|
+
},
|
42
|
+
{
|
43
|
+
title: 'Image file',
|
44
|
+
set: 'imageUrl',
|
45
|
+
icon: './plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png',
|
46
|
+
},
|
47
|
+
{
|
48
|
+
title: 'SVG File as image',
|
49
|
+
set: 'imageUrl',
|
50
|
+
icon: './plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg',
|
51
|
+
},
|
52
|
+
{
|
53
|
+
title: 'SVG Path',
|
54
|
+
set: 'svgPathData',
|
55
|
+
icon: 'M20.1 15.9A10 10 0 0 1 19.5 12.3v-3A8 8 0 0 0 17.6 4.1 8 8 0 0 0 12.7 1.5a10 10 0 0 0 -3.1 0.3 10 10 0 0 0 -2.7 1.6 10 10 0 0 0 -1.8 2.5 10 10 0 0 0 -0.6 3v3.3a10 10 0 0 1 -0.6 3.6L3 18.5l0.7 1H9q0 1.3 0.9 2.1T12 22.5C13.2 22.5 13.6 22.2 14.1 21.6S15 20.3 15 19.5h5.3L21 18.5zm-7 4.7A2 2 0 0 1 12 21 2 2 0 0 1 10.9 20.6 2 2 0 0 1 10.5 19.5h3a1 1 0 0 1 -0.4 1.1M4.8 18 5.4 16.3a10 10 0 0 0 0.7 -4V9q0 -1.3 0.5 -2.4a4 4 0 0 1 1.5 -2 10 10 0 0 1 2.2 -1.3Q11.6 2.9 12.8 3a6 6 0 0 1 3.9 2.1 6 6 0 0 1 1.5 4.2v3q0 2 0.7 4L19.5 18H5.1z',
|
56
|
+
},
|
57
|
+
{
|
58
|
+
title: 'SVG File',
|
59
|
+
set: 'svgString',
|
60
|
+
icon: `<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
61
|
+
viewBox="0 0 475.279 475.279" style="enable-background:new 0 0 475.279 475.279;" xml:space="preserve">
|
62
|
+
<g>
|
63
|
+
<path d="M361.531,395.98c-33.02,0-50.146,11.539-65.257,21.718c-13.766,9.274-24.639,16.599-48.496,16.599
|
64
|
+
c-23.856,0-34.729-7.325-48.495-16.599c-15.111-10.18-32.237-21.718-65.257-21.718c-2.381,0-4.67,0.067-6.891,0.182V236.423
|
65
|
+
c23.946,6.592,41.592,28.547,41.592,54.559h30c0-28.366-13.71-53.59-34.852-69.394c14.009,2.427,27.128,10.074,36.125,22.457
|
66
|
+
l24.271-17.634c-16.673-22.948-42.59-35.296-68.983-35.655c12.76-6.271,27.868-7.796,42.424-3.066l9.271-28.531
|
67
|
+
c-22.013-7.154-45.479-5.311-66.078,5.185c-11.382,5.799-21.13,13.869-28.791,23.635c-21.817-27.68-59.396-40.329-94.824-28.82
|
68
|
+
l9.271,28.532c14.556-4.729,29.664-3.205,42.424,3.066C42.59,191.115,16.672,203.463,0,226.411l24.271,17.634
|
69
|
+
c8.997-12.385,22.116-20.032,36.126-22.458c-21.143,15.804-34.854,41.028-34.854,69.395h30c0-26.012,17.646-47.967,41.592-54.559
|
70
|
+
v165.655c-11.486,4.257-20.22,10.135-28.364,15.621c-13.765,9.273-24.637,16.599-48.492,16.599v30
|
71
|
+
c33.018,0,50.145-11.539,65.255-21.719c13.765-9.273,24.637-16.599,48.492-16.599c23.856,0,34.729,7.325,48.495,16.599
|
72
|
+
c15.111,10.18,32.237,21.718,65.257,21.718s50.146-11.539,65.257-21.718c13.766-9.274,24.639-16.599,48.496-16.599
|
73
|
+
c23.855,0,34.728,7.325,48.493,16.599c15.11,10.18,32.237,21.719,65.255,21.719v-30c-23.855,0-34.728-7.325-48.493-16.599
|
74
|
+
C411.676,407.519,394.55,395.98,361.531,395.98z"/>
|
75
|
+
<path d="M438.776,105.982c-1.944-9.575-5.72-18.48-10.933-26.351l25.824-25.824l-21.213-21.213l-25.824,25.824
|
76
|
+
c-7.871-5.213-16.777-8.989-26.351-10.933V10.982h-30v36.503c-9.575,1.944-18.48,5.72-26.351,10.933l-25.824-25.824l-21.213,21.213
|
77
|
+
l25.824,25.824c-5.213,7.871-8.989,16.777-10.933,26.351h-36.503v30h36.503c1.944,9.575,5.72,18.48,10.933,26.351l-25.824,25.824
|
78
|
+
l21.213,21.213l25.824-25.824c7.871,5.213,16.777,8.989,26.351,10.933v36.503h30v-36.503c9.575-1.944,18.48-5.72,26.351-10.933
|
79
|
+
l25.824,25.824l21.213-21.213l-25.824-25.824c5.213-7.871,8.989-16.777,10.933-26.351h36.503v-30H438.776z"/>
|
80
|
+
</g>
|
81
|
+
</svg>`,
|
82
|
+
},
|
83
|
+
];
|
84
|
+
|
85
|
+
return {
|
86
|
+
icons,
|
87
|
+
};
|
88
|
+
},
|
89
|
+
};
|
90
|
+
</script>
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import { ButtonLocation, createToggleAction } from '@vcmap/ui';
|
2
|
+
import CustomIconsExample from './CustomIconsExample.vue';
|
3
|
+
import packageJSON from '../package.json';
|
4
|
+
|
5
|
+
export default async function customIconExample() {
|
6
|
+
return {
|
7
|
+
get name() {
|
8
|
+
return packageJSON.name;
|
9
|
+
},
|
10
|
+
get version() {
|
11
|
+
return packageJSON.version;
|
12
|
+
},
|
13
|
+
get mapVersion() {
|
14
|
+
return packageJSON.mapVersion;
|
15
|
+
},
|
16
|
+
onVcsAppMounted(app) {
|
17
|
+
const { action, destroy } = createToggleAction(
|
18
|
+
{
|
19
|
+
name: 'Custom icons example',
|
20
|
+
},
|
21
|
+
{
|
22
|
+
id: 'custom-icons-example',
|
23
|
+
state: {
|
24
|
+
headerTitle: 'Custom icons example',
|
25
|
+
},
|
26
|
+
component: CustomIconsExample,
|
27
|
+
},
|
28
|
+
app.windowManager,
|
29
|
+
packageJSON.name,
|
30
|
+
);
|
31
|
+
app.navbarManager.add(
|
32
|
+
{ id: 'custom-icons-example', action },
|
33
|
+
packageJSON.name,
|
34
|
+
ButtonLocation.TOOL,
|
35
|
+
);
|
36
|
+
this._destoryAction = [destroy];
|
37
|
+
},
|
38
|
+
destroy() {
|
39
|
+
if (this._destroyActions) {
|
40
|
+
this._destroyActions.forEach((cb) => cb());
|
41
|
+
this._destroyActions = null;
|
42
|
+
}
|
43
|
+
},
|
44
|
+
};
|
45
|
+
}
|
@@ -77,7 +77,7 @@
|
|
77
77
|
:disabled="disabled"
|
78
78
|
id="arrayInput"
|
79
79
|
type="number"
|
80
|
-
v-model="
|
80
|
+
v-model="state.arrayInput"
|
81
81
|
:rules="[arrayTest]"
|
82
82
|
/>
|
83
83
|
</v-col>
|
@@ -272,7 +272,7 @@
|
|
272
272
|
/>
|
273
273
|
</v-col>
|
274
274
|
</v-row>
|
275
|
-
<VcsCoordinate :disabled="disabled" v-model="
|
275
|
+
<VcsCoordinate :disabled="disabled" v-model="state.arrayInput" />
|
276
276
|
</v-container>
|
277
277
|
</template>
|
278
278
|
</VcsFormSection>
|
@@ -556,7 +556,6 @@
|
|
556
556
|
return {
|
557
557
|
// no object-destruction of reactive objects! or use toRef()
|
558
558
|
state: plugin.state,
|
559
|
-
array: ref([1, 2, 3]),
|
560
559
|
// do not put the whole config here, since it would become reactive
|
561
560
|
selectOptions: plugin.config.selectOptions,
|
562
561
|
form,
|
@@ -1,15 +1,21 @@
|
|
1
1
|
<template>
|
2
|
-
<
|
2
|
+
<div>
|
3
|
+
<VcsHelp
|
4
|
+
text="Below all config editors provided by plugins are listed. Important Note: Changes made in editors are not applied!"
|
5
|
+
></VcsHelp>
|
6
|
+
<VcsList :items="plugins" :show-title="false" />
|
7
|
+
</div>
|
3
8
|
</template>
|
4
9
|
|
5
10
|
<script>
|
6
11
|
import { inject, onUnmounted, ref } from 'vue';
|
7
|
-
import { VcsList, createToggleAction, WindowSlot } from '@vcmap/ui';
|
12
|
+
import { VcsList, createToggleAction, WindowSlot, VcsHelp } from '@vcmap/ui';
|
8
13
|
import { name } from '../package.json';
|
9
14
|
|
10
15
|
export default {
|
11
16
|
name: 'PluginEditors',
|
12
17
|
components: {
|
18
|
+
VcsHelp,
|
13
19
|
VcsList,
|
14
20
|
},
|
15
21
|
setup() {
|
@@ -41,12 +47,10 @@
|
|
41
47
|
if (config) {
|
42
48
|
vcsApp.notifier.add({
|
43
49
|
type: 'info',
|
44
|
-
|
45
|
-
|
46
|
-
null,
|
47
|
-
2,
|
48
|
-
)}`,
|
50
|
+
title: plugin.name,
|
51
|
+
message: JSON.stringify(config, null, 2),
|
49
52
|
});
|
53
|
+
console.log(config);
|
50
54
|
} else {
|
51
55
|
vcsApp.notifier.add({
|
52
56
|
type: 'warning',
|
@@ -10,29 +10,36 @@
|
|
10
10
|
@click="toggle(module)"
|
11
11
|
>
|
12
12
|
{{ module.name || module.configUrl }}
|
13
|
-
<
|
13
|
+
<v-icon
|
14
14
|
v-if="module.description && toggleable"
|
15
|
-
|
15
|
+
right
|
16
|
+
v-bind="{ ...$attrs, ...props }"
|
16
17
|
>
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
mdi-help-circle
|
19
|
+
</v-icon>
|
20
|
+
<v-tooltip
|
21
|
+
v-if="module.description && toggleable"
|
22
|
+
:text="module.description"
|
23
|
+
activator="parent"
|
24
|
+
/>
|
23
25
|
</v-chip>
|
24
26
|
</v-list>
|
25
27
|
</v-container>
|
26
28
|
</template>
|
27
29
|
|
28
30
|
<script>
|
29
|
-
import {
|
30
|
-
|
31
|
+
import {
|
32
|
+
VChip,
|
33
|
+
VContainer,
|
34
|
+
VIcon,
|
35
|
+
VList,
|
36
|
+
VTooltip,
|
37
|
+
} from 'vuetify/components';
|
31
38
|
|
32
39
|
export default {
|
33
40
|
name: 'ModulesListComponent',
|
34
41
|
components: {
|
35
|
-
|
42
|
+
VTooltip,
|
36
43
|
VContainer,
|
37
44
|
VList,
|
38
45
|
VChip,
|
@@ -36,17 +36,42 @@ function randomPOI(title) {
|
|
36
36
|
return feature;
|
37
37
|
}
|
38
38
|
|
39
|
+
function getRandomIcon() {
|
40
|
+
const keys = Object.keys(Icons);
|
41
|
+
const index = Math.floor(keys.length * Math.random());
|
42
|
+
return `$${keys[index]}`;
|
43
|
+
}
|
44
|
+
|
39
45
|
/**
|
40
46
|
* @param {string} line
|
41
47
|
* @param {boolean} withIcon
|
42
48
|
* @param {boolean} withPOI
|
49
|
+
* @param {boolean} withActions
|
43
50
|
* @returns {import("@vcmap/ui").ResultItem}
|
44
51
|
*/
|
45
|
-
function lineToResultItem(line, withIcon, withPOI) {
|
52
|
+
function lineToResultItem(line, withIcon, withPOI, withActions) {
|
46
53
|
let icon;
|
47
54
|
if (withIcon) {
|
48
|
-
|
49
|
-
|
55
|
+
icon = getRandomIcon();
|
56
|
+
}
|
57
|
+
|
58
|
+
let actions;
|
59
|
+
if (withActions) {
|
60
|
+
actions = [
|
61
|
+
{
|
62
|
+
name: 'action-1',
|
63
|
+
icon,
|
64
|
+
callback() {
|
65
|
+
console.log('Action 1');
|
66
|
+
},
|
67
|
+
},
|
68
|
+
{
|
69
|
+
name: 'action-2',
|
70
|
+
callback() {
|
71
|
+
console.log('Action 2');
|
72
|
+
},
|
73
|
+
},
|
74
|
+
];
|
50
75
|
}
|
51
76
|
|
52
77
|
let clicked;
|
@@ -64,6 +89,7 @@ function lineToResultItem(line, withIcon, withPOI) {
|
|
64
89
|
icon,
|
65
90
|
clicked,
|
66
91
|
feature,
|
92
|
+
actions,
|
67
93
|
};
|
68
94
|
}
|
69
95
|
|
@@ -75,19 +101,23 @@ export default class SearchImpl {
|
|
75
101
|
* @param {string[]} lines
|
76
102
|
* @param {boolean} withIcon
|
77
103
|
* @param {boolean} withPOI
|
104
|
+
* @param {boolean} withActions
|
78
105
|
*/
|
79
|
-
constructor(lines, withIcon, withPOI) {
|
106
|
+
constructor(lines, withIcon, withPOI, withActions) {
|
80
107
|
this.name = name;
|
81
108
|
this.lines = lines;
|
82
109
|
this.withIcon = withIcon;
|
83
110
|
this.withPOI = withPOI;
|
111
|
+
this.withActions = withActions;
|
84
112
|
}
|
85
113
|
|
86
114
|
search(query) {
|
87
115
|
return Promise.resolve(
|
88
116
|
this.lines
|
89
117
|
.filter((l) => l.toLowerCase().includes(query.toLowerCase()))
|
90
|
-
.map((line) =>
|
118
|
+
.map((line) =>
|
119
|
+
lineToResultItem(line, this.withIcon, this.withPOI, this.withActions),
|
120
|
+
),
|
91
121
|
);
|
92
122
|
}
|
93
123
|
|