@vcmap/ui 5.0.2 → 5.1.0-rc.2
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 +22 -0
- package/config/dev.config.json +176 -5
- package/config/www.config.json +32 -0
- package/dist/assets/{cesium.a3a1dc.js → cesium.b97c3b.js} +1859 -1828
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.bb64ed.js → core.5b03e5.js} +5859 -5041
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-92075a75.js +1 -0
- package/dist/assets/{ol.833fa9.js → ol.0cd250.js} +7257 -7252
- package/dist/assets/ol.js +1 -1
- package/dist/assets/{ui.aeb2ec.css → ui.67779e.css} +2 -2
- package/dist/assets/{ui.aeb2ec.js → ui.67779e.js} +14199 -9198
- package/dist/assets/ui.js +1 -1
- package/dist/assets/{vue.8e1850.js → vue.62ecd5.js} +1243 -1234
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.3ed426.css → vuetify.3b3e23.css} +1 -1
- package/dist/assets/{vuetify.3ed426.js → vuetify.3b3e23.js} +155 -154
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +1 -1
- package/index.d.ts +256 -0
- package/index.js +48 -11
- package/package.json +21 -14
- 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 +6 -2
- 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 +36 -19
- 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 -42
- package/src/manager/collectionManager/CollectionComponent.vue.d.ts +17 -0
- package/src/manager/collectionManager/CollectionComponentList.vue +53 -18
- 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 +58 -54
- 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-661636d9.js +0 -1
- package/plugins/@vcmap-show-case/window-tester/src/toolboxData.js +0 -288
@@ -1,5 +1,6 @@
|
|
1
1
|
import { VcsObject } from '@vcmap/core';
|
2
2
|
import { WindowSlot } from '../manager/window/windowManager.js';
|
3
|
+
import { defaultTagOptions } from '../components/tables/VcsTable.vue';
|
3
4
|
|
4
5
|
/**
|
5
6
|
* @typedef {Object} FeatureInfoProps
|
@@ -7,14 +8,28 @@ import { WindowSlot } from '../manager/window/windowManager.js';
|
|
7
8
|
* @property {string} layerName
|
8
9
|
* @property {Object} layerProperties
|
9
10
|
* @property {Object} attributes
|
11
|
+
* @property {Object} tags
|
10
12
|
*/
|
11
13
|
|
12
14
|
/**
|
13
|
-
* @typedef {
|
15
|
+
* @typedef {Object} HTMLTagOptions
|
16
|
+
* @property {string} tag - the html element type
|
17
|
+
* ... further html options, which can contain template string $value for reusing the attribute's value
|
18
|
+
*/
|
19
|
+
|
20
|
+
/**
|
21
|
+
* @typedef {import("@vcmap/core").VcsObjectOptions & {
|
22
|
+
* attributeKeys?: string[],
|
23
|
+
* keyMapping?: Record<string,string>,
|
24
|
+
* valueMapping?: Record<string, string|Record<string,string>>,
|
25
|
+
* tags?: Record<string, HTMLTagOptions>,
|
26
|
+
* window?: import("../manager/window/windowManager.js").WindowComponentOptions
|
27
|
+
* }} FeatureInfoViewOptions
|
14
28
|
* @property {Array<string>} [attributeKeys] - list of keys to filter attributes of selected feature
|
15
29
|
* @property {Object<string,string>} [keyMapping] - object providing text replacements or i18n strings for attribute keys
|
16
30
|
* @property {Object<string, string|Object<string,string>>} [valueMapping] - object providing text replacements or i18n strings for attribute values
|
17
|
-
* @property {
|
31
|
+
* @property {Object<string,HTMLTagOptions>} [tags] - object with keys rendered as special html element. Value contains html options
|
32
|
+
* @property {import("../manager/window/windowManager.js").WindowComponentOptions} [window] - state, slot, position can be set. Other options are predefined.
|
18
33
|
*/
|
19
34
|
|
20
35
|
/**
|
@@ -31,7 +46,7 @@ function getMappedValue(mappedValue, value) {
|
|
31
46
|
|
32
47
|
/**
|
33
48
|
* Replaces values by new values according to mapping table. Nested keys are represented by a "."
|
34
|
-
* @param {
|
49
|
+
* @param {Record<string, unknown>} attributes
|
35
50
|
* @param {Object<string, string|Object<string,string>>} mapping - value mapping
|
36
51
|
*/
|
37
52
|
export function applyValueMapping(attributes, mapping) {
|
@@ -93,7 +108,7 @@ export function applyValueMapping(attributes, mapping) {
|
|
93
108
|
* // apply flat mapping of a key with a period. this will overwrite an existing _other_ key
|
94
109
|
* const periodAttrs = applyKeyMapping(getAttrs(), periodMapping);
|
95
110
|
* assert(periodAttrs.foo === true);
|
96
|
-
* @param {Object<string,
|
111
|
+
* @param {Object<string, unknown>} attributes
|
97
112
|
* @param {Object<string,string>} mapping - key mapping
|
98
113
|
*/
|
99
114
|
export function applyKeyMapping(attributes, mapping) {
|
@@ -130,6 +145,22 @@ export function applyKeyMapping(attributes, mapping) {
|
|
130
145
|
});
|
131
146
|
}
|
132
147
|
|
148
|
+
/**
|
149
|
+
* Applies value mapping on tag options
|
150
|
+
* @param {Object<string, unknown>} attributes
|
151
|
+
* @param {Object<string,HTMLTagOptions>} tags
|
152
|
+
*/
|
153
|
+
function applyTagMapping(attributes, tags) {
|
154
|
+
Object.keys(tags).forEach((key) => {
|
155
|
+
Object.keys(tags[key]).forEach((option) => {
|
156
|
+
const mappedValue = tags[key][option];
|
157
|
+
if (typeof mappedValue === 'string') {
|
158
|
+
tags[key][option] = getMappedValue(tags[key][option], attributes[key]);
|
159
|
+
}
|
160
|
+
});
|
161
|
+
});
|
162
|
+
}
|
163
|
+
|
133
164
|
/**
|
134
165
|
* Applies an attribute filtering. Nested attributes are represented by a ".".
|
135
166
|
* @example
|
@@ -144,10 +175,10 @@ export function applyKeyMapping(attributes, mapping) {
|
|
144
175
|
* assert(filtered.baz === true);
|
145
176
|
* // if filtering parent top level keys, will pass on a reference of the actual value and its children.
|
146
177
|
* assert(deepEquals(filtered.foobar, attrs.foobar));
|
147
|
-
* @param {Object<string,
|
178
|
+
* @param {Object<string, unknown>} attributes
|
148
179
|
* @param {Array<string>} keys
|
149
|
-
* @param {Object<string,
|
150
|
-
* @returns {Object<string,
|
180
|
+
* @param {Object<string, unknown>=} result
|
181
|
+
* @returns {Object<string, unknown>}
|
151
182
|
*/
|
152
183
|
export function applyAttributeFilter(attributes, keys, result = {}) {
|
153
184
|
const nestedKeys = {};
|
@@ -174,7 +205,7 @@ export function applyAttributeFilter(attributes, keys, result = {}) {
|
|
174
205
|
|
175
206
|
/**
|
176
207
|
* Filters all olcs attributes, not provided as keys
|
177
|
-
* @param {Object<string,
|
208
|
+
* @param {Object<string, unknown>} attributes
|
178
209
|
* @param {Array<string>} keys
|
179
210
|
* @returns {Object}
|
180
211
|
*/
|
@@ -208,6 +239,7 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
208
239
|
attributeKeys: [],
|
209
240
|
keyMapping: undefined,
|
210
241
|
valueMapping: undefined,
|
242
|
+
tags: undefined,
|
211
243
|
window: {},
|
212
244
|
};
|
213
245
|
}
|
@@ -232,7 +264,11 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
232
264
|
*/
|
233
265
|
this.valueMapping = options.valueMapping || defaultOptions.valueMapping;
|
234
266
|
/**
|
235
|
-
* @type {
|
267
|
+
* @type {null|Object<string,HTMLTagOptions>}
|
268
|
+
*/
|
269
|
+
this.tags = options.tags || defaultOptions.tags;
|
270
|
+
/**
|
271
|
+
* @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
|
236
272
|
* @private
|
237
273
|
*/
|
238
274
|
this._window = options.window || defaultOptions.window;
|
@@ -245,8 +281,7 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
245
281
|
|
246
282
|
/**
|
247
283
|
* window options, configured in a module, used only internally by AbstractFeatureInfoView or subclass
|
248
|
-
* @type {WindowComponentOptions|Object}
|
249
|
-
* @readonly
|
284
|
+
* @type {import("../manager/window/windowManager.js").WindowComponentOptions|Object}
|
250
285
|
*/
|
251
286
|
get window() {
|
252
287
|
return this._window;
|
@@ -255,7 +290,6 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
255
290
|
/**
|
256
291
|
* component provided by a FeatureInfoView class, passed to featureInfo via `getWindowComponentOptions()`
|
257
292
|
* @type {import("vue").Component|undefined}
|
258
|
-
* @readonly
|
259
293
|
*/
|
260
294
|
get component() {
|
261
295
|
return this._component;
|
@@ -266,7 +300,7 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
266
300
|
* Called by `getProperties()` to pass attributes as props object to the VueComponent of this view.
|
267
301
|
* May be overwritten by classes extending AbstractFeatureInfoView.
|
268
302
|
* It filters attributes of the feature by keys, performs value and key mapping, if provided.
|
269
|
-
* @param {undefined|import("ol").Feature
|
303
|
+
* @param {undefined|import("ol").Feature|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
|
270
304
|
* @returns {Object}
|
271
305
|
*/
|
272
306
|
getAttributes(feature) {
|
@@ -283,11 +317,40 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
283
317
|
return applyOlcsAttributeFilter(attributes, this.attributeKeys);
|
284
318
|
}
|
285
319
|
|
320
|
+
/**
|
321
|
+
* This method returns an object with keys rendered as special html elements.
|
322
|
+
* Applies value mapping, when using $value html option.
|
323
|
+
* Ensures key mapping on defined anchor keys.
|
324
|
+
* @param {undefined|import("ol").Feature|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
|
325
|
+
* @returns {Object|undefined}
|
326
|
+
*/
|
327
|
+
getTags(feature) {
|
328
|
+
if (this.tags) {
|
329
|
+
const attributes = feature.getProperty('attributes') || {};
|
330
|
+
const tags = Object.keys(this.tags)
|
331
|
+
.filter(
|
332
|
+
(key) =>
|
333
|
+
Object.keys(attributes).includes(key) &&
|
334
|
+
Object.keys(defaultTagOptions).includes(this.tags[key].tag),
|
335
|
+
)
|
336
|
+
.reduce((obj, key) => {
|
337
|
+
obj[key] = { ...this.tags[key] };
|
338
|
+
return obj;
|
339
|
+
}, {});
|
340
|
+
applyTagMapping(attributes, tags);
|
341
|
+
if (this.keyMapping) {
|
342
|
+
applyKeyMapping(tags, this.keyMapping);
|
343
|
+
}
|
344
|
+
return tags;
|
345
|
+
}
|
346
|
+
return undefined;
|
347
|
+
}
|
348
|
+
|
286
349
|
/**
|
287
350
|
* This method returns all relevant properties passed to the VueComponent of this view.
|
288
351
|
* May be overwritten by classes extending AbstractFeatureInfoView.
|
289
352
|
* Called by `getWindowComponentOptions()`.
|
290
|
-
* @param {FeatureInfoEvent} featureInfo
|
353
|
+
* @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
|
291
354
|
* @param {import("@vcmap/core").Layer} layer
|
292
355
|
* @returns {FeatureInfoProps}
|
293
356
|
*/
|
@@ -297,16 +360,17 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
297
360
|
layerName: layer.name,
|
298
361
|
layerProperties: layer.properties,
|
299
362
|
attributes: this.getAttributes(feature),
|
363
|
+
tags: this.getTags(feature),
|
300
364
|
};
|
301
365
|
}
|
302
366
|
|
303
367
|
/**
|
304
368
|
* This method is being called by featureInfo, whenever a new window is created (added to the windowManager).
|
305
369
|
* May be overwritten by classes extending AbstractFeatureInfoView.
|
306
|
-
* @param {
|
307
|
-
* @param {FeatureInfoEvent} featureInfo
|
370
|
+
* @param {import("../vcsUiApp.js").default} app
|
371
|
+
* @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
|
308
372
|
* @param {import("@vcmap/core").Layer} layer
|
309
|
-
* @returns {WindowComponentOptions}
|
373
|
+
* @returns {import("../manager/window/windowManager.js").WindowComponentOptions}
|
310
374
|
*/
|
311
375
|
getWindowComponentOptions(app, featureInfo, layer) {
|
312
376
|
return {
|
@@ -315,7 +379,7 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
315
379
|
headerIcon: '$vcsInfo',
|
316
380
|
infoUrl: app.getHelpUrlCallback('/tools/infoTool.html'),
|
317
381
|
},
|
318
|
-
slot: this.window.slot ?? WindowSlot.
|
382
|
+
slot: this.window.slot ?? WindowSlot.DYNAMIC_RIGHT,
|
319
383
|
component: this.component,
|
320
384
|
position: this.window.position,
|
321
385
|
props: this.getProperties(featureInfo, layer),
|
@@ -0,0 +1,67 @@
|
|
1
|
+
export default AddressBalloonFeatureInfoView;
|
2
|
+
export type AddressBalloonFeatureInfoViewOptions = import("./abstractFeatureInfoView.js").FeatureInfoViewOptions & {
|
3
|
+
addressName?: string | null;
|
4
|
+
street?: string | null;
|
5
|
+
number?: string | null;
|
6
|
+
city?: string | null;
|
7
|
+
zip?: string | null;
|
8
|
+
country?: string | null;
|
9
|
+
};
|
10
|
+
/**
|
11
|
+
* @typedef {import("./abstractFeatureInfoView.js").FeatureInfoViewOptions &{
|
12
|
+
* addressName?: string|null,
|
13
|
+
* street?: string|null,
|
14
|
+
* number?: string|null,
|
15
|
+
* city?: string|null,
|
16
|
+
* zip?: string|null,
|
17
|
+
* country?: string|null,
|
18
|
+
* }} AddressBalloonFeatureInfoViewOptions
|
19
|
+
* @property {string|null} [addressName='gml:name'] key to evaluate for name. Use null to suppress
|
20
|
+
* @property {string|null} [street='Address.Street'] key to evaluate for street. Use null to suppress
|
21
|
+
* @property {string|null} [number='Address.HouseNumber'] key to evaluate for house number. Use null to suppress
|
22
|
+
* @property {string|null} [city='Address.City'] key to evaluate for city. Use null to suppress
|
23
|
+
* @property {string|null} [zip='Address.ZipCode'] key to evaluate for zip code. Use null to suppress
|
24
|
+
* @property {string|null} [country='Address.Country'] key to evaluate for country. Use null to suppress
|
25
|
+
*/
|
26
|
+
/**
|
27
|
+
* @class
|
28
|
+
* @description An balloon view.
|
29
|
+
* @extends {BalloonFeatureInfoView}
|
30
|
+
*/
|
31
|
+
declare class AddressBalloonFeatureInfoView extends BalloonFeatureInfoView {
|
32
|
+
/** @returns {AddressBalloonFeatureInfoViewOptions} */
|
33
|
+
static getDefaultOptions(): AddressBalloonFeatureInfoViewOptions;
|
34
|
+
/**
|
35
|
+
* @param {AddressBalloonFeatureInfoViewOptions} options
|
36
|
+
*/
|
37
|
+
constructor(options: AddressBalloonFeatureInfoViewOptions);
|
38
|
+
/**
|
39
|
+
* @type {string|null}
|
40
|
+
*/
|
41
|
+
addressName: string | null;
|
42
|
+
/**
|
43
|
+
* @type {string|null}
|
44
|
+
*/
|
45
|
+
street: string | null;
|
46
|
+
/**
|
47
|
+
* @type {string|null}
|
48
|
+
*/
|
49
|
+
number: string | null;
|
50
|
+
/**
|
51
|
+
* @type {string|null}
|
52
|
+
*/
|
53
|
+
city: string | null;
|
54
|
+
/**
|
55
|
+
* @type {string|null}
|
56
|
+
*/
|
57
|
+
zip: string | null;
|
58
|
+
/**
|
59
|
+
* @type {string|null}
|
60
|
+
*/
|
61
|
+
country: string | null;
|
62
|
+
/**
|
63
|
+
* @returns {AddressBalloonFeatureInfoViewOptions}
|
64
|
+
*/
|
65
|
+
toJSON(): AddressBalloonFeatureInfoViewOptions;
|
66
|
+
}
|
67
|
+
import BalloonFeatureInfoView from './balloonFeatureInfoView.js';
|
@@ -4,7 +4,14 @@ import BalloonFeatureInfoView, {
|
|
4
4
|
import AddressBalloonComponent from './AddressBalloonComponent.vue';
|
5
5
|
|
6
6
|
/**
|
7
|
-
* @typedef {FeatureInfoViewOptions
|
7
|
+
* @typedef {import("./abstractFeatureInfoView.js").FeatureInfoViewOptions &{
|
8
|
+
* addressName?: string|null,
|
9
|
+
* street?: string|null,
|
10
|
+
* number?: string|null,
|
11
|
+
* city?: string|null,
|
12
|
+
* zip?: string|null,
|
13
|
+
* country?: string|null,
|
14
|
+
* }} AddressBalloonFeatureInfoViewOptions
|
8
15
|
* @property {string|null} [addressName='gml:name'] key to evaluate for name. Use null to suppress
|
9
16
|
* @property {string|null} [street='Address.Street'] key to evaluate for street. Use null to suppress
|
10
17
|
* @property {string|null} [number='Address.HouseNumber'] key to evaluate for house number. Use null to suppress
|
@@ -79,7 +86,7 @@ class AddressBalloonFeatureInfoView extends BalloonFeatureInfoView {
|
|
79
86
|
|
80
87
|
/**
|
81
88
|
* derives address attributes from addressKeys
|
82
|
-
* @param {undefined|import("ol").Feature
|
89
|
+
* @param {undefined|import("ol").Feature|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
|
83
90
|
* @returns {Object}
|
84
91
|
*/
|
85
92
|
getAttributes(feature) {
|
@@ -0,0 +1,49 @@
|
|
1
|
+
/**
|
2
|
+
* derive value from attributes
|
3
|
+
* @param {string} key - key or nested key
|
4
|
+
* @param {Object} attrs
|
5
|
+
* @param {string|null} [defaultValue]
|
6
|
+
* @returns {string|null}
|
7
|
+
*/
|
8
|
+
export function extractNestedKey(key: string, attrs: Object, defaultValue?: string | null | undefined): string | null;
|
9
|
+
export default BalloonFeatureInfoView;
|
10
|
+
export type BalloonFeatureInfoViewOptions = import("./abstractFeatureInfoView.js").FeatureInfoViewOptions & {
|
11
|
+
balloonTitle?: string;
|
12
|
+
balloonSubtitle?: string;
|
13
|
+
};
|
14
|
+
export type BalloonFeatureInfoViewProps = import("./abstractFeatureInfoView.js").FeatureInfoProps & {
|
15
|
+
balloonTitle: string;
|
16
|
+
balloonSubtitle: string;
|
17
|
+
position: import("ol/coordinate.js").Coordinate;
|
18
|
+
};
|
19
|
+
/**
|
20
|
+
* @class
|
21
|
+
* @description An balloon view.
|
22
|
+
* @extends {AbstractFeatureInfoView}
|
23
|
+
*/
|
24
|
+
declare class BalloonFeatureInfoView extends AbstractFeatureInfoView {
|
25
|
+
/**
|
26
|
+
* @param {BalloonFeatureInfoViewOptions} options
|
27
|
+
* @param {import("vue").Component} [component=BalloonComponent]
|
28
|
+
*/
|
29
|
+
constructor(options: BalloonFeatureInfoViewOptions, component?: import("vue").Component<import("vue/types/options.js").DefaultData<never>, import("vue/types/options.js").DefaultMethods<never>, import("vue/types/options.js").DefaultComputed, import("vue/types/options.js").DefaultProps, {}> | undefined);
|
30
|
+
/**
|
31
|
+
* @type {string}
|
32
|
+
*/
|
33
|
+
balloonTitle: string;
|
34
|
+
/**
|
35
|
+
* @type {string}
|
36
|
+
*/
|
37
|
+
balloonSubtitle: string;
|
38
|
+
/**
|
39
|
+
* @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
|
40
|
+
* @param {import("@vcmap/core").Layer} layer
|
41
|
+
* @returns {BalloonFeatureInfoViewProps}
|
42
|
+
*/
|
43
|
+
getProperties(featureInfo: import("./featureInfo.js").FeatureInfoEvent, layer: import("@vcmap/core").Layer): BalloonFeatureInfoViewProps;
|
44
|
+
/**
|
45
|
+
* @returns {BalloonFeatureInfoViewOptions}
|
46
|
+
*/
|
47
|
+
toJSON(): BalloonFeatureInfoViewOptions;
|
48
|
+
}
|
49
|
+
import AbstractFeatureInfoView from './abstractFeatureInfoView.js';
|
@@ -24,21 +24,22 @@ export function extractNestedKey(key, attrs, defaultValue = null) {
|
|
24
24
|
}
|
25
25
|
|
26
26
|
/**
|
27
|
-
* @typedef {FeatureInfoViewOptions} BalloonFeatureInfoViewOptions
|
27
|
+
* @typedef {import("./abstractFeatureInfoView.js").FeatureInfoViewOptions & { balloonTitle?: string, balloonSubtitle?: string }} BalloonFeatureInfoViewOptions
|
28
28
|
* @property {string} [balloonTitle] - optional title to overwrite default (layerName). Can be attribute key (nested key using '.'), i18n key or text
|
29
29
|
* @property {string} [balloonSubtitle] - optional window title to overwrite default (featureId). Can be attribute key (nested key using '.'), i18n key or text
|
30
30
|
*/
|
31
31
|
|
32
32
|
/**
|
33
|
-
* @typedef {FeatureInfoProps
|
34
|
-
*
|
35
|
-
*
|
36
|
-
*
|
33
|
+
* @typedef {import("./abstractFeatureInfoView.js").FeatureInfoProps & {
|
34
|
+
* balloonTitle: string,
|
35
|
+
* balloonSubtitle: string,
|
36
|
+
* position: import("ol/coordinate.js").Coordinate
|
37
|
+
* }} BalloonFeatureInfoViewProps
|
37
38
|
*/
|
38
39
|
|
39
40
|
/**
|
40
41
|
* @param {import("@vcmap/core").Cartesian3} cartesian
|
41
|
-
* @returns {import("ol/coordinate").Coordinate}
|
42
|
+
* @returns {import("ol/coordinate.js").Coordinate}
|
42
43
|
*/
|
43
44
|
function cartesian3ToCoordinate(cartesian) {
|
44
45
|
const cartographic = Cartographic.fromCartesian(cartesian);
|
@@ -52,7 +53,7 @@ function cartesian3ToCoordinate(cartesian) {
|
|
52
53
|
|
53
54
|
/**
|
54
55
|
* @param {FeatureType} feature
|
55
|
-
* @returns {import("ol/coordinate").Coordinate|null}
|
56
|
+
* @returns {import("ol/coordinate.js").Coordinate|null}
|
56
57
|
*/
|
57
58
|
function getPositionFromFeature(feature) {
|
58
59
|
if (feature instanceof Feature && feature.getGeometry()) {
|
@@ -97,7 +98,7 @@ class BalloonFeatureInfoView extends AbstractFeatureInfoView {
|
|
97
98
|
}
|
98
99
|
|
99
100
|
/**
|
100
|
-
* @param {FeatureInfoEvent} featureInfo
|
101
|
+
* @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
|
101
102
|
* @param {import("@vcmap/core").Layer} layer
|
102
103
|
* @returns {BalloonFeatureInfoViewProps}
|
103
104
|
*/
|
@@ -127,10 +128,10 @@ class BalloonFeatureInfoView extends AbstractFeatureInfoView {
|
|
127
128
|
}
|
128
129
|
|
129
130
|
/**
|
130
|
-
* @param {
|
131
|
-
* @param {FeatureInfoEvent} featureInfo
|
131
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
132
|
+
* @param {import("./featureInfo.js").FeatureInfoEvent} featureInfo
|
132
133
|
* @param {import("@vcmap/core").Layer} layer
|
133
|
-
* @returns {WindowComponentOptions}
|
134
|
+
* @returns {import("../manager/window/windowManager.js").WindowComponentOptions}
|
134
135
|
*/
|
135
136
|
getWindowComponentOptions(app, featureInfo, layer) {
|
136
137
|
const options = super.getWindowComponentOptions(app, featureInfo, layer);
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/**
|
2
|
+
* returns the windowPosition of a balloon from a map position
|
3
|
+
* @param {import("@vcmap/core").VcsApp} app
|
4
|
+
* @param {import("ol/coordinate.js").Coordinate} position - position in mercator
|
5
|
+
* @returns {Promise<undefined|Cartesian2>}
|
6
|
+
*/
|
7
|
+
export function getBalloonPosition(app: import("@vcmap/core").VcsApp, position: import("ol/coordinate.js").Coordinate): Promise<undefined | Cartesian2>;
|
8
|
+
/**
|
9
|
+
* sets the windowPosition of a balloon
|
10
|
+
* @param {import("../manager/window/windowManager.js").default} windowManager
|
11
|
+
* @param {string} id - windowId of balloon
|
12
|
+
* @param {import("@vcmap-cesium/engine").Cartesian2|undefined} windowPosition
|
13
|
+
* @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
|
14
|
+
*/
|
15
|
+
export function setBalloonPosition(windowManager: import("../manager/window/windowManager.js").default, id: string, windowPosition: import("@vcmap-cesium/engine").Cartesian2 | undefined, target: HTMLElement): void;
|
16
|
+
/**
|
17
|
+
* @param {import("@vcmap/core").VcsApp} vcsApp
|
18
|
+
* @param {string} windowId
|
19
|
+
* @param {import("ol/coordinate.js").Coordinate} clickedPosition - position in mercator
|
20
|
+
* @returns {Promise<(() => void)>}
|
21
|
+
*/
|
22
|
+
export function setupBalloonPositionListener(vcsApp: import("@vcmap/core").VcsApp, windowId: string, clickedPosition: import("ol/coordinate.js").Coordinate): Promise<(() => void)>;
|
23
|
+
/**
|
24
|
+
* balloon offset from location or click position in pixel
|
25
|
+
* @type {{x: number, y: number}}
|
26
|
+
*/
|
27
|
+
export const balloonOffset: {
|
28
|
+
x: number;
|
29
|
+
y: number;
|
30
|
+
};
|
31
|
+
import { Cartesian2 } from '@vcmap-cesium/engine';
|
@@ -33,7 +33,7 @@ function getBalloonPositionCesium(scene, cartesian) {
|
|
33
33
|
|
34
34
|
/**
|
35
35
|
* @param {import("@vcmap/core").OpenlayersMap} olMap
|
36
|
-
* @param {import("ol/coordinate").Coordinate} position
|
36
|
+
* @param {import("ol/coordinate.js").Coordinate} position
|
37
37
|
* @returns {undefined|import("@vcmap-cesium/engine").Cartesian2}
|
38
38
|
*/
|
39
39
|
function getBalloonPositionOL(olMap, position) {
|
@@ -46,8 +46,8 @@ function getBalloonPositionOL(olMap, position) {
|
|
46
46
|
|
47
47
|
/**
|
48
48
|
* returns the windowPosition of a balloon from a map position
|
49
|
-
* @param {VcsApp} app
|
50
|
-
* @param {import("ol/coordinate").Coordinate} position - position in mercator
|
49
|
+
* @param {import("@vcmap/core").VcsApp} app
|
50
|
+
* @param {import("ol/coordinate.js").Coordinate} position - position in mercator
|
51
51
|
* @returns {Promise<undefined|Cartesian2>}
|
52
52
|
*/
|
53
53
|
export async function getBalloonPosition(app, position) {
|
@@ -69,7 +69,7 @@ export async function getBalloonPosition(app, position) {
|
|
69
69
|
|
70
70
|
/**
|
71
71
|
* sets the windowPosition of a balloon
|
72
|
-
* @param {
|
72
|
+
* @param {import("../manager/window/windowManager.js").default} windowManager
|
73
73
|
* @param {string} id - windowId of balloon
|
74
74
|
* @param {import("@vcmap-cesium/engine").Cartesian2|undefined} windowPosition
|
75
75
|
* @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
|
@@ -92,9 +92,9 @@ export function setBalloonPosition(windowManager, id, windowPosition, target) {
|
|
92
92
|
}
|
93
93
|
|
94
94
|
/**
|
95
|
-
* @param {VcsApp} vcsApp
|
95
|
+
* @param {import("@vcmap/core").VcsApp} vcsApp
|
96
96
|
* @param {string} windowId
|
97
|
-
* @param {import("ol/coordinate").Coordinate} clickedPosition - position in mercator
|
97
|
+
* @param {import("ol/coordinate.js").Coordinate} clickedPosition - position in mercator
|
98
98
|
* @returns {Promise<(() => void)>}
|
99
99
|
*/
|
100
100
|
export async function setupBalloonPositionListener(
|
@@ -0,0 +1,146 @@
|
|
1
|
+
/**
|
2
|
+
* @param {FeatureType} feature
|
3
|
+
* @param {import("@vcmap/core").Layer} layer
|
4
|
+
* @param {string} defaultFillColor
|
5
|
+
* @returns {import("ol/style/Style.js").default|import("@vcmap/core").VectorStyleItem}
|
6
|
+
*/
|
7
|
+
export function getHighlightStyle(feature: FeatureType, layer: import("@vcmap/core").Layer, defaultFillColor: string): import("ol/style/Style.js").default | import("@vcmap/core").VectorStyleItem;
|
8
|
+
/**
|
9
|
+
* @param {import("../vcsUiApp.js").default} app
|
10
|
+
* @returns {FeatureInfoSession}
|
11
|
+
*/
|
12
|
+
export function createFeatureInfoSession(app: import("../vcsUiApp.js").default): FeatureInfoSession;
|
13
|
+
/**
|
14
|
+
* @typedef {Object} FeatureInfoSession
|
15
|
+
* @property {VcsEvent<void>} stopped
|
16
|
+
* @property {function():void} stop
|
17
|
+
*/
|
18
|
+
/**
|
19
|
+
* @type {ClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>}
|
20
|
+
*/
|
21
|
+
export const featureInfoClassRegistry: ClassRegistry<import("@vcmap/core").Ctor<typeof AbstractFeatureInfoView>>;
|
22
|
+
/**
|
23
|
+
* Symbol added to features to overwrite the layers predefined feature info
|
24
|
+
* @type {symbol}
|
25
|
+
*/
|
26
|
+
export const featureInfoViewSymbol: symbol;
|
27
|
+
export default FeatureInfo;
|
28
|
+
export type FeatureType = import("ol").Feature | import("@vcmap-cesium/engine").Cesium3DTileFeature | import("@vcmap-cesium/engine").Cesium3DTilePointFeature | import("@vcmap-cesium/engine").Entity;
|
29
|
+
export type FeatureInfoEvent = {
|
30
|
+
feature: FeatureType;
|
31
|
+
/**
|
32
|
+
* - potential position to place the balloon at
|
33
|
+
*/
|
34
|
+
position?: import("ol/coordinate.js").Coordinate | undefined;
|
35
|
+
/**
|
36
|
+
* - potential window position to initially place the balloon at
|
37
|
+
*/
|
38
|
+
windowPosition?: import("ol/coordinate.js").Coordinate | undefined;
|
39
|
+
};
|
40
|
+
export type FeatureInfoSession = {
|
41
|
+
stopped: VcsEvent<void>;
|
42
|
+
stop: () => void;
|
43
|
+
};
|
44
|
+
import { ClassRegistry } from '@vcmap/core';
|
45
|
+
import AbstractFeatureInfoView from './abstractFeatureInfoView.js';
|
46
|
+
/**
|
47
|
+
* @class FeatureInfo
|
48
|
+
* @description Provides registration of featureInfoClasses and stores featureInfoView instances.
|
49
|
+
* @extends {Collection<AbstractFeatureInfoView>}
|
50
|
+
*/
|
51
|
+
declare class FeatureInfo extends Collection<AbstractFeatureInfoView> {
|
52
|
+
/**
|
53
|
+
* @param {import("@src/vcsUiApp.js").default} app
|
54
|
+
*/
|
55
|
+
constructor(app: import("@src/vcsUiApp.js").default);
|
56
|
+
/**
|
57
|
+
* @type {import("@src/vcsUiApp.js").default}
|
58
|
+
* @private
|
59
|
+
*/
|
60
|
+
private _app;
|
61
|
+
/**
|
62
|
+
* @type {function():void|null}
|
63
|
+
* @private
|
64
|
+
*/
|
65
|
+
private _clearHighlightingCb;
|
66
|
+
/**
|
67
|
+
* @type {string|null}
|
68
|
+
* @private
|
69
|
+
*/
|
70
|
+
private _windowId;
|
71
|
+
/**
|
72
|
+
* @type {VcsEvent<FeatureType>}
|
73
|
+
* @private
|
74
|
+
*/
|
75
|
+
private _featureChanged;
|
76
|
+
/**
|
77
|
+
* @type {FeatureType|null}
|
78
|
+
* @private
|
79
|
+
*/
|
80
|
+
private _selectedFeature;
|
81
|
+
/**
|
82
|
+
* @type {string|null}
|
83
|
+
* @private
|
84
|
+
*/
|
85
|
+
private _selectedFeatureId;
|
86
|
+
/**
|
87
|
+
* @type {Array<function():void>}
|
88
|
+
* @private
|
89
|
+
*/
|
90
|
+
private _listeners;
|
91
|
+
_destroyFeatureInfoTool: () => void;
|
92
|
+
/**
|
93
|
+
* A vector layer to render provided features on
|
94
|
+
* @type {VectorLayer|null}
|
95
|
+
* @private
|
96
|
+
*/
|
97
|
+
private _scratchLayer;
|
98
|
+
/**
|
99
|
+
* @type {VcsEvent<null|FeatureType>}
|
100
|
+
*/
|
101
|
+
get featureChanged(): VcsEvent<FeatureType | null>;
|
102
|
+
/**
|
103
|
+
* @type {null|FeatureType}
|
104
|
+
*/
|
105
|
+
get selectedFeature(): FeatureType | null;
|
106
|
+
/**
|
107
|
+
* @type {null|string}
|
108
|
+
*/
|
109
|
+
get selectedFeatureId(): string | null;
|
110
|
+
/**
|
111
|
+
* The window id of the current features FeatureInfoView window
|
112
|
+
* @type {string|null}
|
113
|
+
*/
|
114
|
+
get windowId(): string | null;
|
115
|
+
/**
|
116
|
+
* @private
|
117
|
+
*/
|
118
|
+
private _ensureScratchLayer;
|
119
|
+
/**
|
120
|
+
* @param {FeatureType} feature
|
121
|
+
* @returns {null|AbstractFeatureInfoView}
|
122
|
+
* @private
|
123
|
+
*/
|
124
|
+
private _getFeatureInfoViewForFeature;
|
125
|
+
/**
|
126
|
+
* Selecting a feature highlights said feature and opens a FeatureInfoView, if configured on the layer. For a successful selection,
|
127
|
+
* the feature must meet the following criteria: a) the feature must be part of a layer, b) said layer must be managed in
|
128
|
+
* the same VcsApp as provided to the FeatureInfo on construction. if not providing a feature info view, then c) said layer must have a featureInfo property set on
|
129
|
+
* its properties bag and d) said featureInfo property must provide the name of a FeatureInfoView present on this FeatureInfos
|
130
|
+
* collection.
|
131
|
+
* If passing a feature create by a FeatureProvider, the feature will be highlighted on an internal scratch layer.
|
132
|
+
* @param {FeatureType} feature
|
133
|
+
* @param {import("ol/coordinate.js").Coordinate=} [position] - optional clicked position. If not given feature's center point is used to place balloons
|
134
|
+
* @param {import("ol/coordinate.js").Coordinate=} [windowPosition] - optional clicked window position. If not given derived from position for balloons
|
135
|
+
* @param {AbstractFeatureInfoView=} featureInfoView
|
136
|
+
* @returns {Promise<void>}
|
137
|
+
*/
|
138
|
+
selectFeature(feature: FeatureType, position?: import("ol/coordinate.js").Coordinate | undefined, windowPosition?: import("ol/coordinate.js").Coordinate | undefined, featureInfoView?: AbstractFeatureInfoView | undefined): Promise<void>;
|
139
|
+
/**
|
140
|
+
* Clears the current feature. remove window, highlighting and provided feature.
|
141
|
+
* @private
|
142
|
+
*/
|
143
|
+
private _clearInternal;
|
144
|
+
}
|
145
|
+
import { VcsEvent } from '@vcmap/core';
|
146
|
+
import { Collection } from '@vcmap/core';
|