@vcmap/ui 5.0.1 → 5.1.0-rc.1
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/README.md +2 -2
- package/build/buildTypes.js +176 -0
- package/build/lintTypes.js +30 -0
- package/config/aerowest.config.json +4 -0
- package/config/base.config.json +24 -2
- package/config/dev.config.json +176 -5
- package/config/www.config.json +25 -1
- package/dist/assets/{cesium.888ef7.js → cesium.e9b3ca.js} +1859 -1828
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.860907.js → core.a9fe5a.js} +5865 -5041
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-bb2549d6.js +1 -0
- package/dist/assets/{ol.5e8a90.js → ol.5f0496.js} +7257 -7252
- package/dist/assets/ol.js +1 -1
- package/dist/assets/{ui.7758a8.css → ui.3c73c2.css} +2 -2
- package/dist/assets/{ui.7758a8.js → ui.3c73c2.js} +14281 -9264
- package/dist/assets/ui.js +1 -1
- package/dist/assets/{vue.9771b3.js → vue.4fe14e.js} +1243 -1234
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.2818ff.css → vuetify.260d9a.css} +1 -1
- package/dist/assets/{vuetify.2818ff.js → vuetify.260d9a.js} +155 -154
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +2 -2
- package/index.d.ts +256 -0
- package/index.html +1 -1
- package/index.js +48 -11
- package/package.json +22 -15
- package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +3 -0
- package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +312 -43
- package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +48 -182
- package/plugins/@vcmap-show-case/category-tester/src/FoobarEditor.vue +118 -0
- package/plugins/@vcmap-show-case/category-tester/src/importExportHelper.js +29 -0
- package/plugins/@vcmap-show-case/category-tester/src/index.js +16 -0
- package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +2 -1
- package/plugins/@vcmap-show-case/collection-manager-example/src/index.js +8 -4
- package/plugins/@vcmap-show-case/extent-example/README.md +3 -0
- package/plugins/@vcmap-show-case/extent-example/package.json +5 -0
- package/plugins/@vcmap-show-case/extent-example/src/ExtentExample.vue +71 -0
- package/plugins/@vcmap-show-case/extent-example/src/index.js +68 -0
- package/plugins/@vcmap-show-case/flight-component-example/README.md +3 -0
- package/plugins/@vcmap-show-case/flight-component-example/package.json +5 -0
- package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +53 -0
- package/plugins/@vcmap-show-case/flight-component-example/src/index.js +42 -0
- package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +78 -5
- package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +2 -2
- package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +22 -10
- package/plugins/@vcmap-show-case/toolbox-example/README.md +9 -0
- package/plugins/@vcmap-show-case/toolbox-example/package.json +5 -0
- package/plugins/@vcmap-show-case/toolbox-example/src/TriStateExampleWindow.vue +21 -0
- package/plugins/@vcmap-show-case/toolbox-example/src/dummyToolboxActions.js +94 -0
- package/plugins/@vcmap-show-case/toolbox-example/src/index.js +260 -0
- package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +12 -2
- package/plugins/@vcmap-show-case/viewpoint-component-example/README.md +3 -0
- package/plugins/@vcmap-show-case/viewpoint-component-example/package.json +5 -0
- package/plugins/@vcmap-show-case/viewpoint-component-example/src/ViewpointExample.vue +52 -0
- package/plugins/@vcmap-show-case/viewpoint-component-example/src/index.js +42 -0
- package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +31 -1
- package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +20 -16
- package/plugins/@vcmap-show-case/window-tester/src/index.js +2 -17
- package/plugins/package.json +3 -1
- package/src/actions/StyleSelector.vue +8 -7
- package/src/actions/StyleSelector.vue.d.ts +27 -0
- package/src/actions/actionHelper.d.ts +153 -0
- package/src/actions/actionHelper.js +48 -21
- package/src/actions/extentActions.d.ts +40 -0
- package/src/actions/extentActions.js +359 -0
- package/src/actions/flightActions.d.ts +59 -0
- package/src/actions/flightActions.js +232 -0
- package/src/actions/listActions.d.ts +63 -0
- package/src/actions/listActions.js +185 -0
- package/src/actions/stateRefAction.d.ts +19 -0
- package/src/actions/stateRefAction.js +1 -1
- package/src/application/VcsApp.vue +103 -28
- package/src/application/VcsApp.vue.d.ts +86 -0
- package/src/application/VcsAppWrapper.vue.d.ts +12 -0
- package/src/application/VcsAttributions.vue.d.ts +14 -0
- package/src/application/VcsAttributionsFooter.vue +1 -4
- package/src/application/VcsAttributionsFooter.vue.d.ts +26 -0
- package/src/application/VcsMap.vue.d.ts +12 -0
- package/src/application/VcsNavbar.vue.d.ts +45 -0
- package/src/application/VcsPositionDisplay.vue +208 -0
- package/src/application/VcsPositionDisplay.vue.d.ts +18 -0
- package/src/application/VcsSettings.vue.d.ts +5 -0
- package/src/application/VcsTextPage.vue +65 -0
- package/src/application/VcsTextPage.vue.d.ts +16 -0
- package/src/application/VcsTextPageFooter.vue +89 -0
- package/src/application/VcsTextPageFooter.vue.d.ts +22 -0
- package/src/application/attributionsHelper.d.ts +64 -0
- package/src/application/attributionsHelper.js +1 -1
- package/src/application/markdownHelper.d.ts +5 -0
- package/src/application/markdownHelper.js +11 -0
- package/src/application/positionDisplayInteraction.d.ts +42 -0
- package/src/application/positionDisplayInteraction.js +65 -0
- package/src/callback/activateLayersCallback.d.ts +29 -0
- package/src/callback/activateLayersCallback.js +2 -2
- package/src/callback/applyLayerStyleCallback.d.ts +36 -0
- package/src/callback/applyLayerStyleCallback.js +2 -2
- package/src/callback/deactivateLayersCallback.d.ts +29 -0
- package/src/callback/deactivateLayersCallback.js +2 -2
- package/src/callback/goToViewpointCallback.d.ts +29 -0
- package/src/callback/goToViewpointCallback.js +2 -2
- package/src/callback/vcsCallback.d.ts +44 -0
- package/src/callback/vcsCallback.js +4 -9
- package/src/components/ImageElementInjector.vue.d.ts +24 -0
- package/src/components/buttons/VcsActionButtonList.vue +24 -16
- package/src/components/buttons/VcsActionButtonList.vue.d.ts +68 -0
- package/src/components/buttons/VcsButton.vue +7 -0
- package/src/components/buttons/VcsButton.vue.d.ts +89 -0
- package/src/components/buttons/VcsFormButton.vue +9 -0
- package/src/components/buttons/VcsFormButton.vue.d.ts +91 -0
- package/src/components/buttons/VcsToolButton.vue +9 -0
- package/src/components/buttons/VcsToolButton.vue.d.ts +91 -0
- package/src/components/flight/VcsFlightAnchorsComponent.vue +329 -0
- package/src/components/flight/VcsFlightAnchorsComponent.vue.d.ts +45 -0
- package/src/components/flight/VcsFlightComponent.vue +284 -0
- package/src/components/flight/VcsFlightComponent.vue.d.ts +104 -0
- package/src/components/flight/VcsFlightEditor.vue +77 -0
- package/src/components/flight/VcsFlightEditor.vue.d.ts +34 -0
- package/src/components/flight/VcsFlightPlayer.vue +124 -0
- package/src/components/flight/VcsFlightPlayer.vue.d.ts +25 -0
- package/src/components/flight/composables.d.ts +11 -0
- package/src/components/flight/composables.js +39 -0
- package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +18 -0
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +82 -0
- package/src/components/form-inputs-controls/VcsCoordinate.vue +152 -0
- package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +90 -0
- package/src/components/form-inputs-controls/VcsDatePicker.vue +2 -2
- package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +31 -0
- package/src/components/form-inputs-controls/VcsExtent.vue +122 -0
- package/src/components/form-inputs-controls/VcsExtent.vue.d.ts +36 -0
- package/src/components/form-inputs-controls/VcsFormSection.vue +6 -1
- package/src/components/form-inputs-controls/VcsFormSection.vue.d.ts +75 -0
- package/src/components/form-inputs-controls/VcsLabel.vue +18 -0
- package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +41 -0
- package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +32 -0
- package/src/components/form-inputs-controls/VcsRadioGrid.vue.d.ts +35 -0
- package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +31 -0
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +2 -0
- package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +22 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +57 -10
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +65 -0
- package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +14 -0
- package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +89 -0
- package/src/components/form-inputs-controls/composables.d.ts +7 -0
- package/src/components/form-inputs-controls/composables.js +1 -1
- package/src/components/form-output/VcsFormattedNumber.vue +13 -2
- package/src/components/form-output/VcsFormattedNumber.vue.d.ts +89 -0
- package/src/components/icons/+all.d.ts +9 -0
- package/src/components/icons/+all.js +16 -0
- package/src/components/icons/2DAreaIcon.vue.d.ts +2 -0
- package/src/components/icons/2DDistanceIcon.vue.d.ts +2 -0
- package/src/components/icons/2DHeightObliqueIcon.vue +20 -0
- package/src/components/icons/2DHeightObliqueIcon.vue.d.ts +2 -0
- package/src/components/icons/3DAreaIcon.vue.d.ts +2 -0
- package/src/components/icons/3DDistanceIcon.vue.d.ts +2 -0
- package/src/components/icons/3DHeightIcon.vue.d.ts +2 -0
- package/src/components/icons/AngleIcon.vue.d.ts +2 -0
- package/src/components/icons/AssociationsIcon.vue.d.ts +2 -0
- package/src/components/icons/AxisIcon.vue.d.ts +2 -0
- package/src/components/icons/BoundingBoxIcon.vue.d.ts +2 -0
- package/src/components/icons/CheckboxCheckedIcon.vue.d.ts +2 -0
- package/src/components/icons/CheckboxIcon.vue.d.ts +2 -0
- package/src/components/icons/CheckboxIndeterminateIcon.vue.d.ts +2 -0
- package/src/components/icons/CircleIcon.vue.d.ts +2 -0
- package/src/components/icons/ClippingHorizontalIcon.vue.d.ts +2 -0
- package/src/components/icons/ClippingIcon.vue.d.ts +2 -0
- package/src/components/icons/ClippingVerticalIcon.vue.d.ts +2 -0
- package/src/components/icons/ColorPickerIcon.vue.d.ts +2 -0
- package/src/components/icons/ColorSwatchIcon.vue.d.ts +2 -0
- package/src/components/icons/CommentIcon.vue.d.ts +2 -0
- package/src/components/icons/CompassIcon.vue.d.ts +2 -0
- package/src/components/icons/ComponentsIcon.vue.d.ts +2 -0
- package/src/components/icons/ComponentsPlusIcon.vue +17 -0
- package/src/components/icons/ComponentsPlusIcon.vue.d.ts +2 -0
- package/src/components/icons/ConeIcon.vue.d.ts +2 -0
- package/src/components/icons/DimensionsHouseIcon.vue.d.ts +2 -0
- package/src/components/icons/EditIcon.vue.d.ts +2 -0
- package/src/components/icons/EditVerticesIcon.vue.d.ts +2 -0
- package/src/components/icons/ElevationProfileIcon.vue.d.ts +2 -0
- package/src/components/icons/ExportAreaIcon.vue.d.ts +2 -0
- package/src/components/icons/ExportFlightIcon.vue.d.ts +2 -0
- package/src/components/icons/ExportIcon.vue.d.ts +2 -0
- package/src/components/icons/ExternalLinkIcon.vue.d.ts +2 -0
- package/src/components/icons/EyeIcon.vue.d.ts +2 -0
- package/src/components/icons/FastForwardIcon.vue.d.ts +2 -0
- package/src/components/icons/FilterIcon.vue.d.ts +2 -0
- package/src/components/icons/GlobalTerrainIcon.vue.d.ts +2 -0
- package/src/components/icons/GlobeNatureIcon.vue.d.ts +2 -0
- package/src/components/icons/GroundIcon.vue.d.ts +2 -0
- package/src/components/icons/HealthCareIndustriesIcon.vue.d.ts +2 -0
- package/src/components/icons/HelpIcon.vue.d.ts +2 -0
- package/src/components/icons/HideIcon.vue.d.ts +2 -0
- package/src/components/icons/HomePointIcon.vue.d.ts +2 -0
- package/src/components/icons/HospitalsIcon.vue.d.ts +2 -0
- package/src/components/icons/HouseIcon.vue.d.ts +2 -0
- package/src/components/icons/ImportIcon.vue.d.ts +2 -0
- package/src/components/icons/InfoIcon.vue.d.ts +2 -0
- package/src/components/icons/KebabIcon.vue.d.ts +2 -0
- package/src/components/icons/LabelIcon.vue.d.ts +2 -0
- package/src/components/icons/LayersIcon.vue.d.ts +2 -0
- package/src/components/icons/LegendIcon.vue.d.ts +2 -0
- package/src/components/icons/LineIcon.vue.d.ts +2 -0
- package/src/components/icons/LinkIcon.vue.d.ts +2 -0
- package/src/components/icons/LogoutIcon.vue.d.ts +2 -0
- package/src/components/icons/MapIcon.vue.d.ts +2 -0
- package/src/components/icons/MenuIcon.vue.d.ts +2 -0
- package/src/components/icons/MinusIcon.vue.d.ts +2 -0
- package/src/components/icons/MultiViewIcon.vue +16 -0
- package/src/components/icons/MultiViewIcon.vue.d.ts +2 -0
- package/src/components/icons/ObjectAttributeIcon.vue.d.ts +2 -0
- package/src/components/icons/ObjectSelectIcon.vue.d.ts +2 -0
- package/src/components/icons/ObliqueViewIcon.vue.d.ts +2 -0
- package/src/components/icons/PdfIcon.vue.d.ts +2 -0
- package/src/components/icons/PedestrianIcon.vue.d.ts +2 -0
- package/src/components/icons/PenIcon.vue.d.ts +2 -0
- package/src/components/icons/PlayCircleIcon.vue.d.ts +2 -0
- package/src/components/icons/PlusIcon.vue.d.ts +2 -0
- package/src/components/icons/PoiIcon.vue.d.ts +2 -0
- package/src/components/icons/PointIcon.vue.d.ts +2 -0
- package/src/components/icons/PointMeasurementIcon.vue +36 -0
- package/src/components/icons/PointMeasurementIcon.vue.d.ts +2 -0
- package/src/components/icons/PointSelectIcon.vue.d.ts +2 -0
- package/src/components/icons/PresentationModeIcon.vue.d.ts +2 -0
- package/src/components/icons/ProgressIcon.vue.d.ts +2 -0
- package/src/components/icons/QueryIcon.vue.d.ts +2 -0
- package/src/components/icons/RectangleIcon.vue.d.ts +2 -0
- package/src/components/icons/ReturnIcon.vue.d.ts +2 -0
- package/src/components/icons/RewindIcon.vue.d.ts +2 -0
- package/src/components/icons/RotateLeftIcon.vue.d.ts +2 -0
- package/src/components/icons/RotateRightIcon.vue.d.ts +2 -0
- package/src/components/icons/ScreenshotIcon.vue.d.ts +2 -0
- package/src/components/icons/SearchIcon.vue.d.ts +2 -0
- package/src/components/icons/ShadowIcon.vue.d.ts +2 -0
- package/src/components/icons/ShapesIcon.vue.d.ts +2 -0
- package/src/components/icons/ShareIcon.vue.d.ts +2 -0
- package/src/components/icons/SimpleCircleFilledIcon.vue.d.ts +2 -0
- package/src/components/icons/SimpleCircleHalfFilledIcon.vue.d.ts +2 -0
- package/src/components/icons/SimpleCircleOutlinedIcon.vue.d.ts +2 -0
- package/src/components/icons/SkipNextIcon.vue.d.ts +2 -0
- package/src/components/icons/SkipPreviousIcon.vue.d.ts +2 -0
- package/src/components/icons/SplitViewIcon.vue.d.ts +2 -0
- package/src/components/icons/TerrainBoxIcon.vue.d.ts +2 -0
- package/src/components/icons/TextStyleIcon.vue.d.ts +2 -0
- package/src/components/icons/ThreeDimensionsIcon.vue.d.ts +2 -0
- package/src/components/icons/ToolsIcon.vue.d.ts +2 -0
- package/src/components/icons/TouchIcon.vue.d.ts +2 -0
- package/src/components/icons/TrashCanIcon.vue.d.ts +2 -0
- package/src/components/icons/TriangleIcon.vue.d.ts +2 -0
- package/src/components/icons/TwoDimensionsIcon.vue.d.ts +2 -0
- package/src/components/icons/UploadIcon.vue.d.ts +2 -0
- package/src/components/icons/UserProfileIcon.vue.d.ts +2 -0
- package/src/components/icons/UserShareIcon.vue.d.ts +2 -0
- package/src/components/icons/VideoRecorderIcon.vue.d.ts +2 -0
- package/src/components/icons/ViewpointFlightIcon.vue.d.ts +2 -0
- package/src/components/icons/ViewpointIcon.vue.d.ts +2 -0
- package/src/components/icons/Viewshed360Icon.vue.d.ts +2 -0
- package/src/components/icons/ViewshedConeIcon.vue.d.ts +2 -0
- package/src/components/icons/ViewshedIcon.vue.d.ts +2 -0
- package/src/components/icons/WalkingIcon.vue.d.ts +2 -0
- package/src/components/icons/WallIcon.vue.d.ts +2 -0
- package/src/components/icons/WandIcon.vue.d.ts +2 -0
- package/src/components/import/FileDrop.vue +69 -0
- package/src/components/import/FileDrop.vue.d.ts +26 -0
- package/src/components/import/ImportComponent.vue +78 -0
- package/src/components/import/ImportComponent.vue.d.ts +34 -0
- package/src/components/lists/VcsActionList.vue +8 -15
- package/src/components/lists/VcsActionList.vue.d.ts +66 -0
- package/src/components/lists/VcsList.vue +207 -116
- package/src/components/lists/VcsList.vue.d.ts +227 -0
- package/src/components/lists/VcsTreeview.vue +3 -1
- package/src/components/lists/VcsTreeview.vue.d.ts +28 -0
- package/src/components/lists/VcsTreeviewLeaf.vue +1 -0
- package/src/components/lists/VcsTreeviewLeaf.vue.d.ts +19 -0
- package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +41 -0
- package/src/components/notification/VcsBadge.vue.d.ts +14 -0
- package/src/components/notification/VcsHelp.vue.d.ts +22 -0
- package/src/components/notification/VcsTooltip.vue.d.ts +27 -0
- package/src/components/notification/validation.d.ts +8 -0
- package/src/components/notification/validation.js +3 -2
- package/src/components/plugins/AbstractConfigEditor.vue +25 -4
- package/src/components/plugins/AbstractConfigEditor.vue.d.ts +55 -0
- package/src/components/style/MenuWrapper.vue.d.ts +55 -0
- package/src/components/style/VcsFeatureStyleComponent.vue +389 -0
- package/src/components/style/VcsFeatureStyleComponent.vue.d.ts +31 -0
- package/src/components/style/VcsFillMenu.vue.d.ts +34 -0
- package/src/components/style/VcsFillSelector.vue.d.ts +22 -0
- package/src/components/style/VcsImageMenu.vue.d.ts +43 -0
- package/src/components/style/VcsImageSelector.vue.d.ts +128 -0
- package/src/components/style/VcsStrokeMenu.vue.d.ts +34 -0
- package/src/components/style/VcsStrokeSelector.vue.d.ts +23 -0
- package/src/components/style/VcsTextMenu.vue.d.ts +52 -0
- package/src/components/style/VcsTextSelector.vue.d.ts +58 -0
- package/src/components/style/VcsVectorStyleComponent.vue.d.ts +76 -0
- package/src/components/style/composables.d.ts +43 -0
- package/src/components/style/composables.js +11 -8
- package/src/components/tables/VcsDataTable.vue +11 -3
- package/src/components/tables/VcsDataTable.vue.d.ts +142 -0
- package/src/components/tables/VcsTable.vue +71 -2
- package/src/components/tables/VcsTable.vue.d.ts +88 -0
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +392 -0
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +87 -0
- package/src/components/vector-properties/VcsFeatureTransforms.vue +217 -0
- package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +45 -0
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +96 -52
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +119 -0
- package/src/components/vector-properties/composables.d.ts +33 -0
- package/src/components/vector-properties/composables.js +21 -14
- package/src/components/viewpoint/VcsViewpointComponent.vue +514 -0
- package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +126 -0
- package/src/components/viewpoint/VcsViewpointEditor.vue +87 -0
- package/src/components/viewpoint/VcsViewpointEditor.vue.d.ts +25 -0
- package/src/contentTree/LayerTree.vue.d.ts +15 -0
- package/src/contentTree/contentTreeCollection.d.ts +113 -0
- package/src/contentTree/contentTreeCollection.js +10 -20
- package/src/contentTree/contentTreeItem.d.ts +334 -0
- package/src/contentTree/contentTreeItem.js +31 -17
- package/src/contentTree/flightContentTreeItem.d.ts +53 -0
- package/src/contentTree/flightContentTreeItem.js +201 -0
- package/src/contentTree/groupContentTreeItem.d.ts +14 -0
- package/src/contentTree/groupContentTreeItem.js +2 -2
- package/src/contentTree/layerContentTreeItem.d.ts +76 -0
- package/src/contentTree/layerContentTreeItem.js +7 -9
- package/src/contentTree/layerGroupContentTreeItem.d.ts +50 -0
- package/src/contentTree/layerGroupContentTreeItem.js +2 -3
- package/src/contentTree/nodeContentTreeItem.d.ts +10 -0
- package/src/contentTree/nodeContentTreeItem.js +2 -2
- package/src/contentTree/obliqueCollectionContentTreeItem.d.ts +46 -0
- package/src/contentTree/obliqueCollectionContentTreeItem.js +3 -5
- package/src/contentTree/subContentTreeItem.d.ts +15 -0
- package/src/contentTree/subContentTreeItem.js +3 -3
- package/src/contentTree/vcsObjectContentTreeItem.d.ts +56 -0
- package/src/contentTree/vcsObjectContentTreeItem.js +3 -4
- package/src/contentTree/viewpointContentTreeItem.d.ts +46 -0
- package/src/contentTree/viewpointContentTreeItem.js +3 -4
- package/src/downloadHelper.d.ts +27 -0
- package/src/featureInfo/AddressBalloonComponent.vue.d.ts +2 -0
- package/src/featureInfo/BalloonComponent.vue +16 -3
- package/src/featureInfo/BalloonComponent.vue.d.ts +61 -0
- package/src/featureInfo/abstractFeatureInfoView.d.ts +199 -0
- package/src/featureInfo/abstractFeatureInfoView.js +82 -18
- package/src/featureInfo/addressBalloonFeatureInfoView.d.ts +67 -0
- package/src/featureInfo/addressBalloonFeatureInfoView.js +9 -2
- package/src/featureInfo/balloonFeatureInfoView.d.ts +49 -0
- package/src/featureInfo/balloonFeatureInfoView.js +12 -11
- package/src/featureInfo/balloonHelper.d.ts +31 -0
- package/src/featureInfo/balloonHelper.js +6 -6
- package/src/featureInfo/featureInfo.d.ts +146 -0
- package/src/featureInfo/featureInfo.js +11 -16
- package/src/featureInfo/featureInfoInteraction.d.ts +21 -0
- package/src/featureInfo/featureInfoInteraction.js +2 -2
- package/src/featureInfo/iframeFeatureInfoView.d.ts +48 -0
- package/src/featureInfo/iframeFeatureInfoView.js +3 -5
- package/src/featureInfo/tableFeatureInfoView.d.ts +75 -0
- package/src/featureInfo/tableFeatureInfoView.js +19 -9
- package/src/i18n/de.d.ts +353 -0
- package/src/i18n/de.js +114 -2
- package/src/i18n/en.d.ts +352 -0
- package/src/i18n/en.js +113 -1
- package/src/i18n/i18nCollection.d.ts +82 -0
- package/src/i18n/i18nCollection.js +3 -3
- package/src/init.d.ts +58 -0
- package/src/init.js +3 -5
- package/src/legend/StyleLegendItem.vue.d.ts +25 -0
- package/src/legend/VcsLegend.vue.d.ts +20 -0
- package/src/legend/legendHelper.d.ts +172 -0
- package/src/legend/legendHelper.js +21 -21
- package/src/manager/buttonManager.d.ts +106 -0
- package/src/manager/buttonManager.js +8 -4
- package/src/manager/collectionManager/CollectionComponent.vue +38 -38
- package/src/manager/collectionManager/CollectionComponent.vue.d.ts +17 -0
- package/src/manager/collectionManager/CollectionComponentList.vue +78 -24
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +38 -0
- package/src/manager/collectionManager/CollectionComponentProvider.vue +3 -2
- package/src/manager/collectionManager/CollectionComponentProvider.vue.d.ts +12 -0
- package/src/manager/collectionManager/CollectionManager.vue +29 -4
- package/src/manager/collectionManager/CollectionManager.vue.d.ts +8 -0
- package/src/manager/collectionManager/categoryManager.d.ts +56 -0
- package/src/manager/collectionManager/categoryManager.js +21 -7
- package/src/manager/collectionManager/collectionComponentClass.d.ts +257 -0
- package/src/manager/collectionManager/{collectionComponent.js → collectionComponentClass.js} +210 -57
- package/src/manager/collectionManager/collectionManager.d.ts +200 -0
- package/src/manager/collectionManager/collectionManager.js +45 -39
- package/src/manager/collectionManager/editorCollectionComponentClass.d.ts +60 -0
- package/src/manager/collectionManager/editorCollectionComponentClass.js +295 -0
- package/src/manager/contextMenu/ContextMenuComponent.vue.d.ts +18 -0
- package/src/manager/contextMenu/contextMenuInteraction.d.ts +24 -0
- package/src/manager/contextMenu/contextMenuManager.d.ts +70 -0
- package/src/manager/contextMenu/contextMenuManager.js +5 -5
- package/src/manager/navbarManager.d.ts +60 -0
- package/src/manager/navbarManager.js +10 -6
- package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +17 -0
- package/src/manager/toolbox/SelectToolboxComponent.vue +1 -0
- package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +15 -0
- package/src/manager/toolbox/ToolboxManager.vue +33 -7
- package/src/manager/toolbox/ToolboxManager.vue.d.ts +21 -0
- package/src/manager/toolbox/toolboxManager.d.ts +177 -0
- package/src/manager/toolbox/toolboxManager.js +86 -31
- package/src/manager/window/WindowComponent.vue.d.ts +40 -0
- package/src/manager/window/WindowComponentHeader.vue +1 -1
- package/src/manager/window/WindowComponentHeader.vue.d.ts +36 -0
- package/src/manager/window/WindowManager.vue +1 -0
- package/src/manager/window/WindowManager.vue.d.ts +19 -0
- package/src/manager/window/windowHelper.d.ts +134 -0
- package/src/manager/window/windowHelper.js +20 -20
- package/src/manager/window/windowManager.d.ts +422 -0
- package/src/manager/window/windowManager.js +95 -40
- package/src/navigation/MapNavCompass.vue.d.ts +25 -0
- package/src/navigation/MapNavigation.vue +2 -2
- package/src/navigation/MapNavigation.vue.d.ts +46 -0
- package/src/navigation/ObliqueRotation.vue +8 -4
- package/src/navigation/ObliqueRotation.vue.d.ts +14 -0
- package/src/navigation/OrientationToolsButton.vue.d.ts +30 -0
- package/src/navigation/TiltSlider.vue.d.ts +19 -0
- package/src/navigation/VcsCompass.vue.d.ts +25 -0
- package/src/navigation/VcsZoomButton.vue +6 -3
- package/src/navigation/VcsZoomButton.vue.d.ts +2 -0
- package/src/navigation/overviewMap.d.ts +199 -0
- package/src/navigation/overviewMap.js +3 -7
- package/src/navigation/overviewMapClickedInteraction.d.ts +21 -0
- package/src/notifier/NotifierComponent.vue.d.ts +10 -0
- package/src/notifier/notifier.d.ts +53 -0
- package/src/notifier/notifier.js +0 -1
- package/src/pluginHelper.d.ts +67 -0
- package/src/pluginHelper.js +11 -9
- package/src/search/ResultItem.vue.d.ts +25 -0
- package/src/search/ResultsComponent.vue +1 -1
- package/src/search/ResultsComponent.vue.d.ts +24 -0
- package/src/search/SearchComponent.vue +1 -1
- package/src/search/SearchComponent.vue.d.ts +10 -0
- package/src/search/search.d.ts +129 -0
- package/src/search/search.js +8 -11
- package/src/setup.d.ts +1 -0
- package/src/state.d.ts +57 -0
- package/src/state.js +7 -5
- package/src/uiConfig.d.ts +99 -0
- package/src/uiConfig.js +17 -7
- package/src/vcsUiApp.d.ts +301 -0
- package/src/vcsUiApp.js +57 -53
- package/src/vuePlugins/i18n.d.ts +10 -0
- package/src/vuePlugins/i18n.js +3 -3
- package/src/vuePlugins/vuetify.d.ts +27 -0
- package/tsconfig.json +36 -0
- package/dist/assets/index-f265c560.js +0 -1
- package/plugins/@vcmap-show-case/window-tester/src/toolboxData.js +0 -288
@@ -0,0 +1,70 @@
|
|
1
|
+
export default ContextMenuManager;
|
2
|
+
export type ContextMenuEventHandler = {
|
3
|
+
owner: string | symbol;
|
4
|
+
handler: (arg0: import("@vcmap/core").InteractionEvent) => Promise<Array<import("../../actions/actionHelper.js").VcsAction>> | Array<import("../../actions/actionHelper.js").VcsAction>;
|
5
|
+
};
|
6
|
+
/**
|
7
|
+
* The context menu manager handles right click events in the current map and displays a
|
8
|
+
* context menu based on registered action providers.
|
9
|
+
* @class
|
10
|
+
*/
|
11
|
+
declare class ContextMenuManager {
|
12
|
+
/**
|
13
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
14
|
+
*/
|
15
|
+
constructor(app: import("@src/vcsUiApp.js").default);
|
16
|
+
/**
|
17
|
+
* @type {import("@src/vcsUiApp.js").default}
|
18
|
+
* @private
|
19
|
+
*/
|
20
|
+
private _app;
|
21
|
+
/**
|
22
|
+
* @type {ContextMenuInteraction}
|
23
|
+
* @private
|
24
|
+
*/
|
25
|
+
private _interaction;
|
26
|
+
/**
|
27
|
+
* @type {Array<ContextMenuEventHandler>}
|
28
|
+
* @private
|
29
|
+
*/
|
30
|
+
private _eventHandlers;
|
31
|
+
/**
|
32
|
+
* @type {function():void|null}
|
33
|
+
* @private
|
34
|
+
*/
|
35
|
+
private _interactionListener;
|
36
|
+
/**
|
37
|
+
* @type {Array<function():void>}
|
38
|
+
* @private
|
39
|
+
*/
|
40
|
+
private _listeners;
|
41
|
+
_ensureInteraction(): void;
|
42
|
+
_setupListeners(): void;
|
43
|
+
/**
|
44
|
+
* @param {import("@vcmap/core").InteractionEvent} event
|
45
|
+
* @private
|
46
|
+
*/
|
47
|
+
private _handleRightClick;
|
48
|
+
/**
|
49
|
+
* Adds a handler to the context menu. A handler is called with the interaction event on each right click.
|
50
|
+
* If the handler returns an array of valid actions, said actions will be displayed in the context menu
|
51
|
+
* @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
|
52
|
+
* @param {string|symbol} owner
|
53
|
+
*/
|
54
|
+
addEventHandler(handler: (arg0: import("@vcmap/core").InteractionEvent) => Promise<Array<import("../../actions/actionHelper.js").VcsAction>> | Array<import("../../actions/actionHelper.js").VcsAction>, owner: string | symbol): void;
|
55
|
+
/**
|
56
|
+
* Remove a single handler
|
57
|
+
* @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
|
58
|
+
*/
|
59
|
+
removeHandler(handler: (arg0: import("@vcmap/core").InteractionEvent) => Promise<Array<import("../../actions/actionHelper.js").VcsAction>> | Array<import("../../actions/actionHelper.js").VcsAction>): void;
|
60
|
+
/**
|
61
|
+
* Remove all handlers associated with this owner
|
62
|
+
* @param {string|symbol} owner
|
63
|
+
*/
|
64
|
+
removeOwner(owner: string | symbol): void;
|
65
|
+
/**
|
66
|
+
* Clear any currently opened context menus
|
67
|
+
*/
|
68
|
+
clear(): void;
|
69
|
+
destroy(): void;
|
70
|
+
}
|
@@ -14,7 +14,7 @@ import { sortByOwner } from '../navbarManager.js';
|
|
14
14
|
/**
|
15
15
|
* @typedef {Object} ContextMenuEventHandler
|
16
16
|
* @property {string|symbol} owner
|
17
|
-
* @property {function(import("@vcmap/core").InteractionEvent):Promise<Array<VcsAction>>|Array<VcsAction>} handler
|
17
|
+
* @property {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
|
18
18
|
*/
|
19
19
|
|
20
20
|
/**
|
@@ -48,11 +48,11 @@ function setupViewpointChanged(map, clear) {
|
|
48
48
|
*/
|
49
49
|
class ContextMenuManager {
|
50
50
|
/**
|
51
|
-
* @param {
|
51
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
52
52
|
*/
|
53
53
|
constructor(app) {
|
54
54
|
/**
|
55
|
-
* @type {
|
55
|
+
* @type {import("@src/vcsUiApp.js").default}
|
56
56
|
* @private
|
57
57
|
*/
|
58
58
|
this._app = app;
|
@@ -153,7 +153,7 @@ class ContextMenuManager {
|
|
153
153
|
/**
|
154
154
|
* Adds a handler to the context menu. A handler is called with the interaction event on each right click.
|
155
155
|
* If the handler returns an array of valid actions, said actions will be displayed in the context menu
|
156
|
-
* @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<VcsAction>>|Array<VcsAction>} handler
|
156
|
+
* @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
|
157
157
|
* @param {string|symbol} owner
|
158
158
|
*/
|
159
159
|
addEventHandler(handler, owner) {
|
@@ -170,7 +170,7 @@ class ContextMenuManager {
|
|
170
170
|
|
171
171
|
/**
|
172
172
|
* Remove a single handler
|
173
|
-
* @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<VcsAction>>|Array<VcsAction>} handler
|
173
|
+
* @param {function(import("@vcmap/core").InteractionEvent):Promise<Array<import("../../actions/actionHelper.js").VcsAction>>|Array<import("../../actions/actionHelper.js").VcsAction>} handler
|
174
174
|
*/
|
175
175
|
removeHandler(handler) {
|
176
176
|
this._eventHandlers = this._eventHandlers.filter(
|
@@ -0,0 +1,60 @@
|
|
1
|
+
/**
|
2
|
+
* sorts by owner and optionally plugin order
|
3
|
+
* @param {string | symbol} ownerA
|
4
|
+
* @param {string | symbol} ownerB
|
5
|
+
* @param {string[]} [order] order of owners to sort by
|
6
|
+
* @returns {number}
|
7
|
+
*/
|
8
|
+
export function sortByOwner(ownerA: string | symbol, ownerB: string | symbol, order?: string[] | undefined): number;
|
9
|
+
/**
|
10
|
+
* filters actions by button location and returns actions (optionally sorted)
|
11
|
+
* @param {Array<import("./buttonManager.js").ButtonComponent>} buttonComponents
|
12
|
+
* @param {ButtonLocation} location Button render position
|
13
|
+
* @param {string[]} [order] optional order to sort by (plugin names)
|
14
|
+
* @param {function(import("./buttonManager.js").ButtonComponent, import("./buttonManager.js").ButtonComponent):number} [compareFn=sortByOwner] Per default components are sorted by weight (highest first) and owner (app first, then plugins)
|
15
|
+
* @returns {Array<import("../actions/actionHelper.js").VcsAction>}
|
16
|
+
*/
|
17
|
+
export function getActionsByLocation(buttonComponents: Array<import("./buttonManager.js").ButtonComponent>, location: ButtonLocation, order?: string[] | undefined, compareFn?: ((arg0: import("./buttonManager.js").ButtonComponent, arg1: import("./buttonManager.js").ButtonComponent) => number) | undefined): Array<import("../actions/actionHelper.js").VcsAction>;
|
18
|
+
export const locationSymbol: unique symbol;
|
19
|
+
/**
|
20
|
+
* *
|
21
|
+
*/
|
22
|
+
export type ButtonLocation = number;
|
23
|
+
export namespace ButtonLocation {
|
24
|
+
let MAP: number;
|
25
|
+
let CONTENT: number;
|
26
|
+
let TOOL: number;
|
27
|
+
let PROJECT: number;
|
28
|
+
let SHARE: number;
|
29
|
+
let MENU: number;
|
30
|
+
}
|
31
|
+
export default NavbarManager;
|
32
|
+
export type INavbarManager = import("../vcsUiApp.js").VcsComponentManager<import("./buttonManager.js").ButtonComponent, import("./buttonManager.js").ButtonComponentOptions>;
|
33
|
+
/**
|
34
|
+
* @typedef {import("../vcsUiApp.js").VcsComponentManager<import("./buttonManager.js").ButtonComponent,import("./buttonManager.js").ButtonComponentOptions>} INavbarManager
|
35
|
+
*/
|
36
|
+
/**
|
37
|
+
* @class NavbarManager
|
38
|
+
* @description Manages a set of Map Buttons in the Navbar
|
39
|
+
* @implements {INavbarManager}
|
40
|
+
*/
|
41
|
+
declare class NavbarManager extends ButtonManager implements INavbarManager {
|
42
|
+
/**
|
43
|
+
* adds a buttonComponent
|
44
|
+
* @param {import("./buttonManager.js").ButtonComponentOptions} buttonComponentOptions
|
45
|
+
* @param {string|symbol} owner pluginName or vcsAppSymbol
|
46
|
+
* @param {ButtonLocation} location Button render position
|
47
|
+
* @throws {Error} if a buttonComponent with the same ID has already been added
|
48
|
+
* @returns {import("./buttonManager.js").ButtonComponent}
|
49
|
+
*/
|
50
|
+
// @ts-ignore
|
51
|
+
add(buttonComponentOptions: import("./buttonManager.js").ButtonComponentOptions, owner: string | symbol, location: ButtonLocation): import("./buttonManager.js").ButtonComponent;
|
52
|
+
/**
|
53
|
+
* Toggles a button of provided id by executing its callback.
|
54
|
+
* Use active flag to force a state to be applied.
|
55
|
+
* @param {string} id
|
56
|
+
* @param {boolean} [active]
|
57
|
+
*/
|
58
|
+
toggle(id: string, active?: boolean | undefined): void;
|
59
|
+
}
|
60
|
+
import ButtonManager from './buttonManager.js';
|
@@ -32,11 +32,11 @@ export function sortByOwner(ownerA, ownerB, order = []) {
|
|
32
32
|
|
33
33
|
/**
|
34
34
|
* filters actions by button location and returns actions (optionally sorted)
|
35
|
-
* @param {Array<ButtonComponent>} buttonComponents
|
35
|
+
* @param {Array<import("./buttonManager.js").ButtonComponent>} buttonComponents
|
36
36
|
* @param {ButtonLocation} location Button render position
|
37
37
|
* @param {string[]} [order] optional order to sort by (plugin names)
|
38
|
-
* @param {function(
|
39
|
-
* @returns {Array<VcsAction>}
|
38
|
+
* @param {function(import("./buttonManager.js").ButtonComponent, import("./buttonManager.js").ButtonComponent):number} [compareFn=sortByOwner] Per default components are sorted by weight (highest first) and owner (app first, then plugins)
|
39
|
+
* @returns {Array<import("../actions/actionHelper.js").VcsAction>}
|
40
40
|
*/
|
41
41
|
export function getActionsByLocation(
|
42
42
|
buttonComponents,
|
@@ -70,19 +70,23 @@ export const ButtonLocation = {
|
|
70
70
|
MENU: 5,
|
71
71
|
};
|
72
72
|
|
73
|
+
/**
|
74
|
+
* @typedef {import("../vcsUiApp.js").VcsComponentManager<import("./buttonManager.js").ButtonComponent,import("./buttonManager.js").ButtonComponentOptions>} INavbarManager
|
75
|
+
*/
|
76
|
+
|
73
77
|
/**
|
74
78
|
* @class NavbarManager
|
75
79
|
* @description Manages a set of Map Buttons in the Navbar
|
76
|
-
* @implements
|
80
|
+
* @implements {INavbarManager}
|
77
81
|
*/
|
78
82
|
class NavbarManager extends ButtonManager {
|
79
83
|
/**
|
80
84
|
* adds a buttonComponent
|
81
|
-
* @param {ButtonComponentOptions} buttonComponentOptions
|
85
|
+
* @param {import("./buttonManager.js").ButtonComponentOptions} buttonComponentOptions
|
82
86
|
* @param {string|symbol} owner pluginName or vcsAppSymbol
|
83
87
|
* @param {ButtonLocation} location Button render position
|
84
88
|
* @throws {Error} if a buttonComponent with the same ID has already been added
|
85
|
-
* @returns {ButtonComponent}
|
89
|
+
* @returns {import("./buttonManager.js").ButtonComponent}
|
86
90
|
*/
|
87
91
|
add(buttonComponentOptions, owner, location) {
|
88
92
|
check(location, Object.values(ButtonLocation));
|
@@ -0,0 +1,17 @@
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
2
|
+
group: {
|
3
|
+
type: ObjectConstructor;
|
4
|
+
required: true;
|
5
|
+
};
|
6
|
+
}, {
|
7
|
+
open: import("vue").Ref<boolean>;
|
8
|
+
orderedButtons: import("vue").ComputedRef<(import("../buttonManager.js").ButtonComponent | import("./toolboxManager.js").ToolboxComponent)[]>;
|
9
|
+
nudgeLeft: ComputedRef<number>;
|
10
|
+
hasActiveAction: import("vue").ComputedRef<boolean>;
|
11
|
+
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
|
12
|
+
group: {
|
13
|
+
type: ObjectConstructor;
|
14
|
+
required: true;
|
15
|
+
};
|
16
|
+
}>>, {}>;
|
17
|
+
export default _default;
|
@@ -10,6 +10,7 @@
|
|
10
10
|
:icon="group.action.tools[group.action.currentIndex].icon"
|
11
11
|
:active="group.action.active"
|
12
12
|
:disabled="group.action.disabled"
|
13
|
+
:background="group.action.background"
|
13
14
|
@click.stop="group.action.callback($event)"
|
14
15
|
v-bind="{ ...$attrs }"
|
15
16
|
class="vcs-toolbox-action-selected"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
2
|
+
group: {
|
3
|
+
type: ObjectConstructor;
|
4
|
+
required: true;
|
5
|
+
};
|
6
|
+
}, {
|
7
|
+
open: import("vue").Ref<boolean>;
|
8
|
+
nudgeLeft: ComputedRef<number>;
|
9
|
+
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
|
10
|
+
group: {
|
11
|
+
type: ObjectConstructor;
|
12
|
+
required: true;
|
13
|
+
};
|
14
|
+
}>>, {}>;
|
15
|
+
export default _default;
|
@@ -3,8 +3,11 @@
|
|
3
3
|
v-if="
|
4
4
|
toolboxOpen && orderedGroups.length > 0 && $vuetify.breakpoint.mdAndUp
|
5
5
|
"
|
6
|
-
class="vcs-toolbox
|
7
|
-
:class="{
|
6
|
+
class="vcs-toolbox mx-auto v-sheet marginToTop"
|
7
|
+
:class="{
|
8
|
+
'rounded-b': !open,
|
9
|
+
toolbar__secondary: !isDefaultToolbox,
|
10
|
+
}"
|
8
11
|
:height="40"
|
9
12
|
width="fit-content"
|
10
13
|
dense
|
@@ -46,7 +49,14 @@
|
|
46
49
|
top: 0;
|
47
50
|
left: 0;
|
48
51
|
right: 0;
|
49
|
-
|
52
|
+
&.vcs-toolbox.theme {
|
53
|
+
&--light {
|
54
|
+
background-color: var(--v-primary-lighten3) !important;
|
55
|
+
}
|
56
|
+
&--dark {
|
57
|
+
background-color: var(--v-primary-darken4) !important;
|
58
|
+
}
|
59
|
+
}
|
50
60
|
&.v-toolbar {
|
51
61
|
::v-deep .v-toolbar__content {
|
52
62
|
padding: 0;
|
@@ -68,7 +78,11 @@
|
|
68
78
|
import { inject, ref, computed, watch, onUnmounted } from 'vue';
|
69
79
|
import { ButtonLocation, vcsAppSymbol } from '@vcmap/ui';
|
70
80
|
import { VToolbar, VToolbarItems } from 'vuetify/lib';
|
71
|
-
import {
|
81
|
+
import {
|
82
|
+
defaultToolboxName,
|
83
|
+
getComponentsByOrder,
|
84
|
+
ToolboxType,
|
85
|
+
} from './toolboxManager.js';
|
72
86
|
import ToolboxActionSelect from './SelectToolboxComponent.vue';
|
73
87
|
import ToolboxActionGroup from './GroupToolboxComponent.vue';
|
74
88
|
import VcsToolButton from '../../components/buttons/VcsToolButton.vue';
|
@@ -79,9 +93,9 @@
|
|
79
93
|
* @property {string} type
|
80
94
|
* @property {string} icon
|
81
95
|
* @property {string} title
|
82
|
-
* @property {Array<ButtonComponent>} buttons
|
96
|
+
* @property {Array<import("../buttonManager.js").ButtonComponent>} buttons
|
83
97
|
* @property {string} [selected]
|
84
|
-
* @property {function(
|
98
|
+
* @property {function(number):void} [selectCb]
|
85
99
|
*/
|
86
100
|
|
87
101
|
/**
|
@@ -113,6 +127,12 @@
|
|
113
127
|
);
|
114
128
|
});
|
115
129
|
|
130
|
+
const toolboxName = ref(app.toolboxManager.toolboxName);
|
131
|
+
const nameChangeListener =
|
132
|
+
app.toolboxManager.toolboxNameChanged.addEventListener((name) => {
|
133
|
+
toolboxName.value = name;
|
134
|
+
});
|
135
|
+
|
116
136
|
/**
|
117
137
|
* To be rendered in Toolbox components must meet certain conditions:
|
118
138
|
* - SingleToolboxComponent: no further conditions
|
@@ -129,7 +149,9 @@
|
|
129
149
|
);
|
130
150
|
}
|
131
151
|
const orderedGroups = computed(() =>
|
132
|
-
getComponentsByOrder(groups.value)
|
152
|
+
getComponentsByOrder(groups.value)
|
153
|
+
.filter((comp) => comp.toolboxNames.includes(toolboxName.value))
|
154
|
+
.filter(filterFunc),
|
133
155
|
);
|
134
156
|
|
135
157
|
const toolboxOpen = ref(true);
|
@@ -166,11 +188,15 @@
|
|
166
188
|
|
167
189
|
onUnmounted(() => {
|
168
190
|
stopWatching();
|
191
|
+
nameChangeListener();
|
169
192
|
});
|
170
193
|
|
171
194
|
return {
|
172
195
|
toolboxOpen,
|
173
196
|
orderedGroups,
|
197
|
+
isDefaultToolbox: computed(
|
198
|
+
() => toolboxName.value === defaultToolboxName,
|
199
|
+
),
|
174
200
|
ToolboxType,
|
175
201
|
open: ref(false),
|
176
202
|
};
|
@@ -0,0 +1,21 @@
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
2
|
+
toolboxOpen: import("vue").Ref<boolean>;
|
3
|
+
orderedGroups: import("vue").ComputedRef<(import("../buttonManager.js").ButtonComponent | import("./toolboxManager.js").ToolboxComponent)[]>;
|
4
|
+
isDefaultToolbox: import("vue").ComputedRef<boolean>;
|
5
|
+
ToolboxType: {
|
6
|
+
SINGLE: number;
|
7
|
+
SELECT: number;
|
8
|
+
GROUP: number;
|
9
|
+
};
|
10
|
+
open: import("vue").Ref<boolean>;
|
11
|
+
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
12
|
+
export default _default;
|
13
|
+
export type ToolboxButtonGroup = {
|
14
|
+
id: string;
|
15
|
+
type: string;
|
16
|
+
icon: string;
|
17
|
+
title: string;
|
18
|
+
buttons: Array<import("../buttonManager.js").ButtonComponent>;
|
19
|
+
selected?: string | undefined;
|
20
|
+
selectCb?: ((arg0: number) => void) | undefined;
|
21
|
+
};
|
@@ -0,0 +1,177 @@
|
|
1
|
+
/**
|
2
|
+
* returns ToolboxComponents sorted by owner (or other sort function)
|
3
|
+
* @param {Array<ToolboxComponent|import("../buttonManager.js").ButtonComponent>} components
|
4
|
+
* @param {string[]} [order] optional order to sort by (plugin names)
|
5
|
+
* @param {function(ownerA:string, ownerB:string, order: string[]):number} [compareFn=sortByOwner] Per default components are sorted by owner: app first, then plugins
|
6
|
+
* @returns {Array<ToolboxComponent|import("../buttonManager.js").ButtonComponent>}
|
7
|
+
*/
|
8
|
+
export function getComponentsByOrder(components: Array<ToolboxComponent | import("../buttonManager.js").ButtonComponent>, order?: string[] | undefined, compareFn?: typeof sortByOwner): Array<ToolboxComponent | import("../buttonManager.js").ButtonComponent>;
|
9
|
+
/**
|
10
|
+
* Adds default groups for a toolboxManager.
|
11
|
+
* Once requested, group id, icon and title are defined and cannot be changed or overwritten.
|
12
|
+
* @param {ToolboxManager} toolboxManager
|
13
|
+
* @param {Array<ToolboxComponentOptions>} groups
|
14
|
+
*/
|
15
|
+
export function setupDefaultGroups(toolboxManager: ToolboxManager, groups?: Array<ToolboxComponentOptions>): void;
|
16
|
+
/**
|
17
|
+
* Possible group types. Define behaviour of group:
|
18
|
+
*/
|
19
|
+
export type ToolboxType = number;
|
20
|
+
export namespace ToolboxType {
|
21
|
+
let SINGLE: number;
|
22
|
+
let SELECT: number;
|
23
|
+
let GROUP: number;
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* The default toolbox name
|
27
|
+
* @type {symbol}
|
28
|
+
*/
|
29
|
+
export const defaultToolboxName: symbol;
|
30
|
+
export default ToolboxManager;
|
31
|
+
export type ToolboxComponentOptions = {
|
32
|
+
/**
|
33
|
+
* - Optional ID, If not provided an uuid will be generated.
|
34
|
+
*/
|
35
|
+
id?: string | undefined;
|
36
|
+
/**
|
37
|
+
* - Group type, defining the behaviour of the group
|
38
|
+
*/
|
39
|
+
type: ToolboxType;
|
40
|
+
/**
|
41
|
+
* - optional specific toolboxes to render this component in.
|
42
|
+
*/
|
43
|
+
toolboxNames?: (string | symbol)[] | undefined;
|
44
|
+
};
|
45
|
+
export type SingleToolboxComponentOptions = ToolboxComponentOptions & {
|
46
|
+
action: import("../../actions/actionHelper.js").VcsAction;
|
47
|
+
};
|
48
|
+
export type SelectToolboxComponentOptions = ToolboxComponentOptions & {
|
49
|
+
action: ToolboxSelectAction;
|
50
|
+
};
|
51
|
+
export type GroupToolboxComponentOptions = ToolboxComponentOptions & {
|
52
|
+
icon: string;
|
53
|
+
title?: string;
|
54
|
+
disabled?: boolean;
|
55
|
+
};
|
56
|
+
export type ToolboxComponent = {
|
57
|
+
id: string;
|
58
|
+
/**
|
59
|
+
* - Group type, defining the behaviour of the group
|
60
|
+
*/
|
61
|
+
type: ToolboxType;
|
62
|
+
owner: string | symbol;
|
63
|
+
toolboxNames: (string | symbol)[];
|
64
|
+
};
|
65
|
+
export type SingleToolboxComponent = ToolboxComponent & {
|
66
|
+
action: import("vue").UnwrapRef<import("../../actions/actionHelper.js").VcsAction>;
|
67
|
+
};
|
68
|
+
export type GroupToolboxComponent = ToolboxComponent & {
|
69
|
+
icon: string;
|
70
|
+
title?: string;
|
71
|
+
buttonManager: ButtonManager;
|
72
|
+
disabled?: boolean;
|
73
|
+
};
|
74
|
+
export type SelectToolboxComponent = ToolboxComponent & {
|
75
|
+
action: import("vue").UnwrapRef<ToolboxSelectAction>;
|
76
|
+
};
|
77
|
+
export type ToolboxSelectAction = import("../../actions/actionHelper.js").VcsAction & {
|
78
|
+
selected: (arg0: number) => void;
|
79
|
+
tools: ToolboxSelectItem[];
|
80
|
+
currentIndex: number;
|
81
|
+
};
|
82
|
+
export type ToolboxSelectItem = {
|
83
|
+
name: string;
|
84
|
+
title?: string | undefined;
|
85
|
+
icon: string;
|
86
|
+
disabled?: boolean | undefined;
|
87
|
+
};
|
88
|
+
export type IToolboxManager = import("../../vcsUiApp.js").VcsComponentManager<ToolboxComponent, ToolboxComponentOptions>;
|
89
|
+
/**
|
90
|
+
* sorts by owner and optionally plugin order
|
91
|
+
* If both components are owned by vcsApp, defaultOrder is used to compare
|
92
|
+
* @param {ToolboxComponent|import("../buttonManager.js").ButtonComponent} compA
|
93
|
+
* @param {ToolboxComponent|import("../buttonManager.js").ButtonComponent} compB
|
94
|
+
* @param {string[]} [order] order of owners to sort by
|
95
|
+
* @returns {number}
|
96
|
+
*/
|
97
|
+
declare function sortByOwner(compA: ToolboxComponent | import("../buttonManager.js").ButtonComponent, compB: ToolboxComponent | import("../buttonManager.js").ButtonComponent, order?: string[] | undefined): number;
|
98
|
+
/**
|
99
|
+
* @typedef {import("../../vcsUiApp.js").VcsComponentManager<ToolboxComponent,ToolboxComponentOptions>} IToolboxManager
|
100
|
+
*/
|
101
|
+
/**
|
102
|
+
* @class ToolboxManager
|
103
|
+
* @description Manages a set of Toolbox Components
|
104
|
+
* @implements {IToolboxManager}
|
105
|
+
*/
|
106
|
+
declare class ToolboxManager implements IToolboxManager {
|
107
|
+
/**
|
108
|
+
* @type {import("@vcmap/core").VcsEvent<ToolboxComponent>}
|
109
|
+
*/
|
110
|
+
added: import("@vcmap/core").VcsEvent<ToolboxComponent>;
|
111
|
+
/**
|
112
|
+
* @type {import("@vcmap/core").VcsEvent<ToolboxComponent>}
|
113
|
+
*/
|
114
|
+
removed: import("@vcmap/core").VcsEvent<ToolboxComponent>;
|
115
|
+
/**
|
116
|
+
* reactive ordered array of ids,
|
117
|
+
* @type {Array<string>}
|
118
|
+
*/
|
119
|
+
componentIds: Array<string>;
|
120
|
+
/**
|
121
|
+
* @type {Map<string, ToolboxComponent>}
|
122
|
+
* @private
|
123
|
+
*/
|
124
|
+
private _toolboxGroups;
|
125
|
+
/**
|
126
|
+
* @type {symbol|string}
|
127
|
+
* @private
|
128
|
+
*/
|
129
|
+
private _toolboxName;
|
130
|
+
/**
|
131
|
+
* @type {VcsEvent<string>}
|
132
|
+
*/
|
133
|
+
toolboxNameChanged: VcsEvent<string>;
|
134
|
+
set toolboxName(arg: string | symbol);
|
135
|
+
get toolboxName(): string | symbol;
|
136
|
+
setDefaultToolboxName(): void;
|
137
|
+
/**
|
138
|
+
* @param {string} id
|
139
|
+
* @returns {ToolboxComponent}
|
140
|
+
*/
|
141
|
+
get(id: string): ToolboxComponent;
|
142
|
+
/**
|
143
|
+
* @param {string} id
|
144
|
+
* @returns {boolean}
|
145
|
+
*/
|
146
|
+
has(id: string): boolean;
|
147
|
+
/**
|
148
|
+
* removes a ToolboxComponent, Component will not be rendered anymore and will be destroyed.
|
149
|
+
* Add ToolboxComponent again to show the component again
|
150
|
+
* @param {string} id
|
151
|
+
*/
|
152
|
+
remove(id: string): void;
|
153
|
+
/**
|
154
|
+
* adds a ToolboxComponent
|
155
|
+
* @param {SingleToolboxComponentOptions|SelectToolboxComponentOptions|GroupToolboxComponentOptions} toolboxComponentOptions
|
156
|
+
* @param {string|symbol} owner pluginName or vcsAppSymbol
|
157
|
+
* @throws {Error} if a toolboxComponent with the same ID has already been added
|
158
|
+
* @returns {SingleToolboxComponent|SelectToolboxComponent|import("vue").ShallowReactive<GroupToolboxComponent>}
|
159
|
+
*/
|
160
|
+
// @ts-ignore
|
161
|
+
add(toolboxComponentOptions: SingleToolboxComponentOptions | SelectToolboxComponentOptions | GroupToolboxComponentOptions, owner: string | symbol): SingleToolboxComponent | SelectToolboxComponent | import("vue").ShallowReactive<GroupToolboxComponent>;
|
162
|
+
/**
|
163
|
+
* removes all {@link ToolboxComponent}s of a specific owner and fires removed Events
|
164
|
+
* @param {string|vcsAppSymbol} owner
|
165
|
+
*/
|
166
|
+
removeOwner(owner: string | symbol): void;
|
167
|
+
/**
|
168
|
+
* removes all toolboxComponents and fires removed Events
|
169
|
+
*/
|
170
|
+
clear(): void;
|
171
|
+
/**
|
172
|
+
* destroys the ToolboxManager;
|
173
|
+
*/
|
174
|
+
destroy(): void;
|
175
|
+
}
|
176
|
+
import ButtonManager from '../buttonManager.js';
|
177
|
+
import { VcsEvent } from '@vcmap/core';
|