@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
@@ -1,6 +1,8 @@
|
|
1
1
|
<template>
|
2
2
|
<v-container>
|
3
|
-
<VcsFormButton @click="toggle"
|
3
|
+
<VcsFormButton v-for="num in [1, 2]" :key="num" @click.stop="toggle(num)"
|
4
|
+
>toggle child {{ num }}</VcsFormButton
|
5
|
+
>
|
4
6
|
</v-container>
|
5
7
|
</template>
|
6
8
|
|
@@ -19,24 +21,26 @@
|
|
19
21
|
const app = inject('vcsApp');
|
20
22
|
const parentId = attrs['window-state'].id;
|
21
23
|
const childId = `dynamicChild-${parentId}`;
|
22
|
-
const childComponent = {
|
23
|
-
id: childId,
|
24
|
-
parentId,
|
25
|
-
state: {
|
26
|
-
headerTitle: 'Example dynamicChild',
|
27
|
-
headerIcon: 'mdi-human-child',
|
28
|
-
},
|
29
|
-
component: WindowExampleContent,
|
30
|
-
slot: WindowSlot.DYNAMIC_CHILD,
|
31
|
-
};
|
32
24
|
|
33
25
|
return {
|
34
|
-
toggle(
|
35
|
-
|
36
|
-
|
26
|
+
toggle(num) {
|
27
|
+
const id = `${childId}-${num}`;
|
28
|
+
if (app.windowManager.has(id)) {
|
29
|
+
app.windowManager.remove(id);
|
37
30
|
} else {
|
38
|
-
|
39
|
-
|
31
|
+
app.windowManager.add(
|
32
|
+
{
|
33
|
+
id,
|
34
|
+
parentId,
|
35
|
+
state: {
|
36
|
+
headerTitle: `Example dynamicChild ${num}`,
|
37
|
+
headerIcon: 'mdi-human-child',
|
38
|
+
},
|
39
|
+
component: WindowExampleContent,
|
40
|
+
slot: WindowSlot.DYNAMIC_CHILD,
|
41
|
+
},
|
42
|
+
owner,
|
43
|
+
);
|
40
44
|
}
|
41
45
|
},
|
42
46
|
};
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import { ButtonLocation, createToggleAction
|
1
|
+
import { ButtonLocation, createToggleAction } from '@vcmap/ui';
|
2
2
|
import packageJSON from '../package.json';
|
3
|
-
import { getToolboxData } from './toolboxData.js';
|
4
3
|
import windowExample from './WindowExample.vue';
|
5
4
|
|
6
5
|
/**
|
@@ -42,21 +41,7 @@ export default async function windowTester() {
|
|
42
41
|
packageJSON.name,
|
43
42
|
ButtonLocation.TOOL,
|
44
43
|
);
|
45
|
-
|
46
|
-
toolboxData.forEach(
|
47
|
-
([{ buttonComponents, ...toolboxComponentOptions }, owner]) => {
|
48
|
-
let group;
|
49
|
-
if (app.toolboxManager.has(toolboxComponentOptions.id)) {
|
50
|
-
group = app.toolboxManager.get(toolboxComponentOptions.id);
|
51
|
-
} else {
|
52
|
-
group = app.toolboxManager.add(toolboxComponentOptions, owner);
|
53
|
-
}
|
54
|
-
if (group.type === ToolboxType.GROUP && buttonComponents) {
|
55
|
-
buttonComponents.forEach((c) => group.buttonManager.add(c, owner));
|
56
|
-
}
|
57
|
-
},
|
58
|
-
);
|
59
|
-
this._destroyAction = [destroy, destroyToolboxData];
|
44
|
+
this._destroyAction = [destroy];
|
60
45
|
},
|
61
46
|
i18n: {
|
62
47
|
de: {
|
package/plugins/package.json
CHANGED
@@ -6,7 +6,9 @@
|
|
6
6
|
"@vcmap/shadow": "^1.0.1",
|
7
7
|
"@vcmap/draw": "^1.0.0",
|
8
8
|
"@vcmap/create-link": "^1.0.1",
|
9
|
-
"@vcmap/search-nominatim": "^1.0.1"
|
9
|
+
"@vcmap/search-nominatim": "^1.0.1",
|
10
|
+
"@vcmap/multi-view": "^1.0.1",
|
11
|
+
"@vcmap/cesium-filters": "^1.0.1"
|
10
12
|
},
|
11
13
|
"optionalDependencies": {}
|
12
14
|
}
|
@@ -70,7 +70,7 @@
|
|
70
70
|
},
|
71
71
|
},
|
72
72
|
setup(props, { attrs }) {
|
73
|
-
/** @type {
|
73
|
+
/** @type {import("@src/vcsUiApp.js").default} */
|
74
74
|
const app = inject('vcsApp');
|
75
75
|
/** @type {import("@vcmap/core").FeatureLayer} */
|
76
76
|
const layer = app.layers.getByKey(props.layerName);
|
@@ -99,7 +99,7 @@
|
|
99
99
|
text: app.styles.getByKey(name)?.properties?.title || name,
|
100
100
|
value: name,
|
101
101
|
}));
|
102
|
-
if (props.availableStyles.indexOf(defaultStyle) < 0) {
|
102
|
+
if (defaultStyle && props.availableStyles.indexOf(defaultStyle) < 0) {
|
103
103
|
return [
|
104
104
|
{
|
105
105
|
text: 'Default',
|
@@ -108,11 +108,12 @@
|
|
108
108
|
...styles,
|
109
109
|
];
|
110
110
|
}
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
111
|
+
return styles.sort((a) => {
|
112
|
+
if (a === defaultStyle) {
|
113
|
+
return -1;
|
114
|
+
}
|
115
|
+
return 0;
|
116
|
+
});
|
116
117
|
});
|
117
118
|
|
118
119
|
function select(styleName) {
|
@@ -0,0 +1,27 @@
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
2
|
+
availableStyles: {
|
3
|
+
type: ArrayConstructor;
|
4
|
+
default: () => never[];
|
5
|
+
};
|
6
|
+
layerName: {
|
7
|
+
type: StringConstructor;
|
8
|
+
required: true;
|
9
|
+
};
|
10
|
+
}, {
|
11
|
+
currentStyleName: import("vue").Ref<string>;
|
12
|
+
currentStyleLegend: import("vue").Ref<never[]>;
|
13
|
+
items: import("vue").ComputedRef<any>;
|
14
|
+
select: (styleName: any) => void;
|
15
|
+
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
|
16
|
+
availableStyles: {
|
17
|
+
type: ArrayConstructor;
|
18
|
+
default: () => never[];
|
19
|
+
};
|
20
|
+
layerName: {
|
21
|
+
type: StringConstructor;
|
22
|
+
required: true;
|
23
|
+
};
|
24
|
+
}>>, {
|
25
|
+
availableStyles: unknown[];
|
26
|
+
}>;
|
27
|
+
export default _default;
|
@@ -0,0 +1,153 @@
|
|
1
|
+
/**
|
2
|
+
* @typedef {Object} ActionOptions
|
3
|
+
* @property {string} name
|
4
|
+
* @property {string} [title]
|
5
|
+
* @property {string} [icon]
|
6
|
+
*/
|
7
|
+
/**
|
8
|
+
* @typedef {function(PointerEvent): void | Promise<void>} ActionCallback
|
9
|
+
*/
|
10
|
+
/**
|
11
|
+
* @typedef {Object} VcsAction
|
12
|
+
* @property {string} name - reactive and translatable name rendered in overflow
|
13
|
+
* @property {string} [title] - reactive and translatable title rendered as tooltip
|
14
|
+
* @property {string} [icon] - icon rendered on the button. If no icon provided, item is rendered in overflow
|
15
|
+
* @property {ActionCallback} callback - callback function is triggered when the button is clicked
|
16
|
+
* @property {boolean} [active=false] - optional state of button. If active, button is rendered in primary color
|
17
|
+
* @property {boolean} [hasUpdate=false] - optional hasUpdate of button. If true, a yellow notification is rendered next to the button
|
18
|
+
* @property {boolean} [background=false] - optional background state. If active and background, button is rendered in primary color outlined
|
19
|
+
* @property {boolean} [disabled=false] - optional flag to indicate that the action is disabled
|
20
|
+
*/
|
21
|
+
/**
|
22
|
+
* merges action options with defaults
|
23
|
+
* @param {VcsAction|ActionOptions & { callback: ActionCallback}} options
|
24
|
+
* @returns {VcsAction}
|
25
|
+
*/
|
26
|
+
export function getActionFromOptions(options: VcsAction | (ActionOptions & {
|
27
|
+
callback: ActionCallback;
|
28
|
+
})): VcsAction;
|
29
|
+
/**
|
30
|
+
* @param {ActionOptions} actionOptions
|
31
|
+
* @param {string} mapName
|
32
|
+
* @param {import("@vcmap/core").OverrideCollection<import("@vcmap/core").VcsMap, import("@vcmap/core").MapCollection>} maps
|
33
|
+
* @returns {{action: VcsAction, destroy: () => void}}
|
34
|
+
*/
|
35
|
+
export function createMapButtonAction(actionOptions: ActionOptions, mapName: string, maps: import("@vcmap/core").OverrideCollection<import("@vcmap/core").VcsMap, import("@vcmap/core").MapCollection>): {
|
36
|
+
action: VcsAction;
|
37
|
+
destroy: () => void;
|
38
|
+
};
|
39
|
+
/**
|
40
|
+
* Creates an action which will toggle the given window component (opening & closing the window). The window component must have an id set.
|
41
|
+
* @param {ActionOptions} actionOptions
|
42
|
+
* @param {import("../manager/window/windowManager.js").WindowComponentOptions} windowComponent
|
43
|
+
* @param {import("../manager/window/windowManager.js").default} windowManager
|
44
|
+
* @param {string|symbol} owner
|
45
|
+
* @returns {{action: VcsAction, destroy: function(): void}}
|
46
|
+
*/
|
47
|
+
export function createToggleAction(actionOptions: ActionOptions, windowComponent: import("../manager/window/windowManager.js").WindowComponentOptions, windowManager: import("../manager/window/windowManager.js").default, owner: string | symbol): {
|
48
|
+
action: VcsAction;
|
49
|
+
destroy: () => void;
|
50
|
+
};
|
51
|
+
/**
|
52
|
+
* Creates a toggle button for the search tool, which is only available, if at least one search implementation is registered.
|
53
|
+
* @param {import("../vcsUiApp.js").default} app
|
54
|
+
* @returns {{ searchAction: import("vue").Ref<import("vue").UnwrapRef<VcsAction>|null>, destroy: function():void }}
|
55
|
+
*/
|
56
|
+
export function createSearchButtonAction(app: import("../vcsUiApp.js").default): {
|
57
|
+
searchAction: import("vue").Ref<import("vue").UnwrapRef<VcsAction> | null>;
|
58
|
+
destroy: () => void;
|
59
|
+
};
|
60
|
+
/**
|
61
|
+
* Creates an action which will toggle the overview map (opening & closing the window and activating/ deactivating the overview map).
|
62
|
+
* @param {import("../navigation/overviewMap.js").default} overviewMap
|
63
|
+
* @param {import("../manager/window/windowManager.js").WindowComponentOptions} windowComponent
|
64
|
+
* @param {import("../manager/window/windowManager.js").default} windowManager
|
65
|
+
* @returns {{action: VcsAction, destroy: function(): void}}
|
66
|
+
*/
|
67
|
+
export function createOverviewMapAction(overviewMap: import("../navigation/overviewMap.js").default, windowComponent: import("../manager/window/windowManager.js").WindowComponentOptions, windowManager: import("../manager/window/windowManager.js").default): {
|
68
|
+
action: VcsAction;
|
69
|
+
destroy: () => void;
|
70
|
+
};
|
71
|
+
/**
|
72
|
+
* Creates a header less window which will close if anything outside of the window is clicked. The window will open
|
73
|
+
* at the clicked position (the actions position) by default, unless the window component already has a position set.
|
74
|
+
* @param {ActionOptions} actionOptions
|
75
|
+
* @param {import("../manager/window/windowManager.js").WindowComponentOptions} modalComponent
|
76
|
+
* @param {import("../vcsUiApp.js").default} app
|
77
|
+
* @param {string|symbol} owner
|
78
|
+
* @returns {{action: VcsAction, destroy: function(): void}}
|
79
|
+
*/
|
80
|
+
export function createModalAction(actionOptions: ActionOptions, modalComponent: import("../manager/window/windowManager.js").WindowComponentOptions, app: import("../vcsUiApp.js").default, owner: string | symbol): {
|
81
|
+
action: VcsAction;
|
82
|
+
destroy: () => void;
|
83
|
+
};
|
84
|
+
/**
|
85
|
+
* Creates an action which opens a given link in a new tab
|
86
|
+
* @param {ActionOptions} actionOptions
|
87
|
+
* @param {string|function():string} url
|
88
|
+
* @returns {VcsAction}
|
89
|
+
*/
|
90
|
+
export function createLinkAction(actionOptions: ActionOptions, url: string | (() => string)): VcsAction;
|
91
|
+
/**
|
92
|
+
* @param {ActionOptions} actionOptions
|
93
|
+
* @param {string|import("@vcmap/core").Viewpoint} viewpoint
|
94
|
+
* @param {import("@vcmap/core").Collection<import("@vcmap/core").Viewpoint>} viewpointCollection
|
95
|
+
* @param {import("@vcmap/core").MapCollection} mapCollection
|
96
|
+
* @returns {VcsAction}
|
97
|
+
*/
|
98
|
+
export function createGoToViewpointAction(actionOptions: ActionOptions, viewpoint: string | import("@vcmap/core").Viewpoint, viewpointCollection: import("@vcmap/core").Collection<import("@vcmap/core").Viewpoint>, mapCollection: import("@vcmap/core").MapCollection): VcsAction;
|
99
|
+
/**
|
100
|
+
* calculates and returns a viewpoint using feature's extent
|
101
|
+
* @param {import("ol").Feature} feature
|
102
|
+
* @returns {Viewpoint|null}
|
103
|
+
*/
|
104
|
+
export function getViewpointFromFeature(feature: import("ol").Feature): Viewpoint | null;
|
105
|
+
/**
|
106
|
+
* Creates an action, which when clicked, zooms to the provided feature
|
107
|
+
* @param {ActionOptions} actionOptions
|
108
|
+
* @param {import("ol").Feature} feature
|
109
|
+
* @param {import("@vcmap/core").MapCollection} mapCollection
|
110
|
+
* @returns {VcsAction|null} returns null if the feature does not have a geometry with a valid extent
|
111
|
+
*/
|
112
|
+
export function createZoomToFeatureAction(actionOptions: ActionOptions, feature: import("ol").Feature, mapCollection: import("@vcmap/core").MapCollection): VcsAction | null;
|
113
|
+
export type ActionOptions = {
|
114
|
+
name: string;
|
115
|
+
title?: string | undefined;
|
116
|
+
icon?: string | undefined;
|
117
|
+
};
|
118
|
+
export type ActionCallback = (arg0: PointerEvent) => void | Promise<void>;
|
119
|
+
export type VcsAction = {
|
120
|
+
/**
|
121
|
+
* - reactive and translatable name rendered in overflow
|
122
|
+
*/
|
123
|
+
name: string;
|
124
|
+
/**
|
125
|
+
* - reactive and translatable title rendered as tooltip
|
126
|
+
*/
|
127
|
+
title?: string | undefined;
|
128
|
+
/**
|
129
|
+
* - icon rendered on the button. If no icon provided, item is rendered in overflow
|
130
|
+
*/
|
131
|
+
icon?: string | undefined;
|
132
|
+
/**
|
133
|
+
* - callback function is triggered when the button is clicked
|
134
|
+
*/
|
135
|
+
callback: ActionCallback;
|
136
|
+
/**
|
137
|
+
* - optional state of button. If active, button is rendered in primary color
|
138
|
+
*/
|
139
|
+
active?: boolean | undefined;
|
140
|
+
/**
|
141
|
+
* - optional hasUpdate of button. If true, a yellow notification is rendered next to the button
|
142
|
+
*/
|
143
|
+
hasUpdate?: boolean | undefined;
|
144
|
+
/**
|
145
|
+
* - optional background state. If active and background, button is rendered in primary color outlined
|
146
|
+
*/
|
147
|
+
background?: boolean | undefined;
|
148
|
+
/**
|
149
|
+
* - optional flag to indicate that the action is disabled
|
150
|
+
*/
|
151
|
+
disabled?: boolean | undefined;
|
152
|
+
};
|
153
|
+
import { Viewpoint } from '@vcmap/core';
|
@@ -12,7 +12,10 @@ import { reactive, ref } from 'vue';
|
|
12
12
|
import { parseBoolean } from '@vcsuite/parsers';
|
13
13
|
import { vcsAppSymbol } from '../pluginHelper.js';
|
14
14
|
import { WindowSlot } from '../manager/window/windowManager.js';
|
15
|
-
import {
|
15
|
+
import {
|
16
|
+
getFittedWindowPositionOptionsFromMapEvent,
|
17
|
+
getTargetSize,
|
18
|
+
} from '../manager/window/windowHelper.js';
|
16
19
|
import SearchComponent from '../search/SearchComponent.vue';
|
17
20
|
|
18
21
|
/**
|
@@ -22,9 +25,25 @@ import SearchComponent from '../search/SearchComponent.vue';
|
|
22
25
|
* @property {string} [icon]
|
23
26
|
*/
|
24
27
|
|
28
|
+
/**
|
29
|
+
* @typedef {function(PointerEvent): void | Promise<void>} ActionCallback
|
30
|
+
*/
|
31
|
+
|
32
|
+
/**
|
33
|
+
* @typedef {Object} VcsAction
|
34
|
+
* @property {string} name - reactive and translatable name rendered in overflow
|
35
|
+
* @property {string} [title] - reactive and translatable title rendered as tooltip
|
36
|
+
* @property {string} [icon] - icon rendered on the button. If no icon provided, item is rendered in overflow
|
37
|
+
* @property {ActionCallback} callback - callback function is triggered when the button is clicked
|
38
|
+
* @property {boolean} [active=false] - optional state of button. If active, button is rendered in primary color
|
39
|
+
* @property {boolean} [hasUpdate=false] - optional hasUpdate of button. If true, a yellow notification is rendered next to the button
|
40
|
+
* @property {boolean} [background=false] - optional background state. If active and background, button is rendered in primary color outlined
|
41
|
+
* @property {boolean} [disabled=false] - optional flag to indicate that the action is disabled
|
42
|
+
*/
|
43
|
+
|
25
44
|
/**
|
26
45
|
* merges action options with defaults
|
27
|
-
* @param {VcsAction|ActionOptions & { callback:
|
46
|
+
* @param {VcsAction|ActionOptions & { callback: ActionCallback}} options
|
28
47
|
* @returns {VcsAction}
|
29
48
|
*/
|
30
49
|
export function getActionFromOptions(options) {
|
@@ -42,8 +61,8 @@ export function getActionFromOptions(options) {
|
|
42
61
|
/**
|
43
62
|
* @param {ActionOptions} actionOptions
|
44
63
|
* @param {string} mapName
|
45
|
-
* @param {import("@vcmap/core").
|
46
|
-
* @returns {{action: VcsAction, destroy:
|
64
|
+
* @param {import("@vcmap/core").OverrideCollection<import("@vcmap/core").VcsMap, import("@vcmap/core").MapCollection>} maps
|
65
|
+
* @returns {{action: VcsAction, destroy: () => void}}
|
47
66
|
*/
|
48
67
|
export function createMapButtonAction(actionOptions, mapName, maps) {
|
49
68
|
check(actionOptions, {
|
@@ -72,10 +91,10 @@ export function createMapButtonAction(actionOptions, mapName, maps) {
|
|
72
91
|
/**
|
73
92
|
* Creates an action which will toggle the given window component (opening & closing the window). The window component must have an id set.
|
74
93
|
* @param {ActionOptions} actionOptions
|
75
|
-
* @param {WindowComponentOptions} windowComponent
|
76
|
-
* @param {
|
94
|
+
* @param {import("../manager/window/windowManager.js").WindowComponentOptions} windowComponent
|
95
|
+
* @param {import("../manager/window/windowManager.js").default} windowManager
|
77
96
|
* @param {string|symbol} owner
|
78
|
-
* @returns {{action: VcsAction, destroy:
|
97
|
+
* @returns {{action: VcsAction, destroy: function(): void}}
|
79
98
|
*/
|
80
99
|
export function createToggleAction(
|
81
100
|
actionOptions,
|
@@ -128,7 +147,7 @@ export function createToggleAction(
|
|
128
147
|
|
129
148
|
/**
|
130
149
|
* Creates a toggle button for the search tool, which is only available, if at least one search implementation is registered.
|
131
|
-
* @param {
|
150
|
+
* @param {import("../vcsUiApp.js").default} app
|
132
151
|
* @returns {{ searchAction: import("vue").Ref<import("vue").UnwrapRef<VcsAction>|null>, destroy: function():void }}
|
133
152
|
*/
|
134
153
|
export function createSearchButtonAction(app) {
|
@@ -182,10 +201,10 @@ export function createSearchButtonAction(app) {
|
|
182
201
|
|
183
202
|
/**
|
184
203
|
* Creates an action which will toggle the overview map (opening & closing the window and activating/ deactivating the overview map).
|
185
|
-
* @param {
|
186
|
-
* @param {WindowComponentOptions} windowComponent
|
187
|
-
* @param {
|
188
|
-
* @returns {
|
204
|
+
* @param {import("../navigation/overviewMap.js").default} overviewMap
|
205
|
+
* @param {import("../manager/window/windowManager.js").WindowComponentOptions} windowComponent
|
206
|
+
* @param {import("../manager/window/windowManager.js").default} windowManager
|
207
|
+
* @returns {{action: VcsAction, destroy: function(): void}}
|
189
208
|
*/
|
190
209
|
export function createOverviewMapAction(
|
191
210
|
overviewMap,
|
@@ -229,10 +248,10 @@ export function createOverviewMapAction(
|
|
229
248
|
* Creates a header less window which will close if anything outside of the window is clicked. The window will open
|
230
249
|
* at the clicked position (the actions position) by default, unless the window component already has a position set.
|
231
250
|
* @param {ActionOptions} actionOptions
|
232
|
-
* @param {WindowComponentOptions} modalComponent
|
233
|
-
* @param {
|
251
|
+
* @param {import("../manager/window/windowManager.js").WindowComponentOptions} modalComponent
|
252
|
+
* @param {import("../vcsUiApp.js").default} app
|
234
253
|
* @param {string|symbol} owner
|
235
|
-
* @returns {{action: VcsAction, destroy:
|
254
|
+
* @returns {{action: VcsAction, destroy: function(): void}}
|
236
255
|
*/
|
237
256
|
export function createModalAction(actionOptions, modalComponent, app, owner) {
|
238
257
|
check(actionOptions, {
|
@@ -268,9 +287,16 @@ export function createModalAction(actionOptions, modalComponent, app, owner) {
|
|
268
287
|
event.currentTarget.getBoundingClientRect();
|
269
288
|
modalActivator = event.currentTarget;
|
270
289
|
const position = {
|
271
|
-
...
|
290
|
+
...getFittedWindowPositionOptionsFromMapEvent(
|
291
|
+
{ x: left + width, y: top - getTargetSize(app.maps.target).top },
|
292
|
+
windowPositionOptions?.width || 320,
|
293
|
+
windowPositionOptions?.height || 0,
|
294
|
+
app.maps.target,
|
295
|
+
),
|
272
296
|
...windowPositionOptions,
|
273
297
|
};
|
298
|
+
position.maxWidth = 320;
|
299
|
+
position.width = windowPositionOptions?.width || -1; // unset width magic. dont touch.
|
274
300
|
const state = { ...modalComponent?.state, hideHeader: true };
|
275
301
|
app.windowManager.add({ position, ...component, id, state }, owner);
|
276
302
|
document.addEventListener('mousedown', handleMouseDown);
|
@@ -367,7 +393,7 @@ export function createGoToViewpointAction(
|
|
367
393
|
|
368
394
|
/**
|
369
395
|
* calculates and returns a viewpoint using feature's extent
|
370
|
-
* @param {import("ol").Feature
|
396
|
+
* @param {import("ol").Feature} feature
|
371
397
|
* @returns {Viewpoint|null}
|
372
398
|
*/
|
373
399
|
export function getViewpointFromFeature(feature) {
|
@@ -385,7 +411,7 @@ export function getViewpointFromFeature(feature) {
|
|
385
411
|
/**
|
386
412
|
* Creates an action, which when clicked, zooms to the provided feature
|
387
413
|
* @param {ActionOptions} actionOptions
|
388
|
-
* @param {import("ol").Feature
|
414
|
+
* @param {import("ol").Feature} feature
|
389
415
|
* @param {import("@vcmap/core").MapCollection} mapCollection
|
390
416
|
* @returns {VcsAction|null} returns null if the feature does not have a geometry with a valid extent
|
391
417
|
*/
|
@@ -402,13 +428,14 @@ export function createZoomToFeatureAction(
|
|
402
428
|
check(feature, Feature);
|
403
429
|
check(mapCollection, MapCollection);
|
404
430
|
|
405
|
-
const viewpoint = getViewpointFromFeature(feature);
|
406
|
-
|
407
431
|
return {
|
408
432
|
title: 'search.zoomToFeatureAction',
|
409
433
|
...actionOptions,
|
410
434
|
async callback() {
|
411
|
-
|
435
|
+
const viewpoint = getViewpointFromFeature(feature);
|
436
|
+
if (viewpoint && viewpoint.isValid()) {
|
437
|
+
await mapCollection.activeMap.gotoViewpoint(viewpoint);
|
438
|
+
}
|
412
439
|
},
|
413
440
|
};
|
414
441
|
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
/**
|
2
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
3
|
+
* @param {import("vue").ComputedRef<import("@vcmap/core").Extent>|import("vue").Ref<import("@vcmap/core").Extent>} extent
|
4
|
+
* @returns {import("./actionHelper.js").VcsAction}
|
5
|
+
*/
|
6
|
+
export function createZoomToExtentAction(app: import("@src/vcsUiApp.js").default, extent: import("vue").ComputedRef<import("@vcmap/core").Extent> | import("vue").Ref<import("@vcmap/core").Extent>): import("./actionHelper.js").VcsAction;
|
7
|
+
/**
|
8
|
+
* @param {import("@vcmap/core").Layer} layer
|
9
|
+
* @param {boolean} disabled
|
10
|
+
* @returns {{action: import("./actionHelper.js").VcsAction, destroy: (function(): void)}}
|
11
|
+
*/
|
12
|
+
export function createLayerToggleAction(layer: import("@vcmap/core").Layer, disabled: boolean): {
|
13
|
+
action: import("./actionHelper.js").VcsAction;
|
14
|
+
destroy: (() => void);
|
15
|
+
};
|
16
|
+
/**
|
17
|
+
*
|
18
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
19
|
+
* @param {import("@vcmap/core").VectorLayer} layer
|
20
|
+
* @param {import("vue").ComputedRef<import("@vcmap/core").Extent>|import("vue").Ref<import("@vcmap/core").Extent>} extent
|
21
|
+
* @param {string} featureId
|
22
|
+
* @param {boolean} disabled
|
23
|
+
* @returns {{ action: import("./actionHelper.js").VcsAction, destroy:()=>void}}
|
24
|
+
*/
|
25
|
+
export function createExtentFeatureAction(app: import("@src/vcsUiApp.js").default, layer: import("@vcmap/core").VectorLayer, extent: import("vue").ComputedRef<import("@vcmap/core").Extent> | import("vue").Ref<import("@vcmap/core").Extent>, featureId: string, disabled: boolean): {
|
26
|
+
action: import("./actionHelper.js").VcsAction;
|
27
|
+
destroy: () => void;
|
28
|
+
};
|
29
|
+
/**
|
30
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
31
|
+
* @param {import("vue").ComputedRef<import("@vcmap/core").Extent>|import("vue").Ref<import("@vcmap/core").Extent>|import("vue").WritableComputedRef<import("@vcmap/core").Extent>} extent
|
32
|
+
* @param {boolean} disabled
|
33
|
+
* @returns {{ actions: Array<import("./actionHelper.js").VcsAction>, destroy: () => void, layer: import("@vcmap/core").VectorLayer, featureId: string }}
|
34
|
+
*/
|
35
|
+
export function setupExtentComponentActions(app: import("@src/vcsUiApp.js").default, extent: import("vue").ComputedRef<import("@vcmap/core").Extent> | import("vue").Ref<import("@vcmap/core").Extent> | import("vue").WritableComputedRef<import("@vcmap/core").Extent>, disabled: boolean): {
|
36
|
+
actions: Array<import("./actionHelper.js").VcsAction>;
|
37
|
+
destroy: () => void;
|
38
|
+
layer: import("@vcmap/core").VectorLayer;
|
39
|
+
featureId: string;
|
40
|
+
};
|