@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
@@ -0,0 +1,422 @@
|
|
1
|
+
/**
|
2
|
+
* Return true, if all values of pos1 match with the corresponding values of pos2
|
3
|
+
* @param {WindowPosition} pos1
|
4
|
+
* @param {WindowPosition} pos2
|
5
|
+
* @returns {boolean}
|
6
|
+
*/
|
7
|
+
export function compareWindowPositions(pos1: WindowPosition, pos2: WindowPosition): boolean;
|
8
|
+
/**
|
9
|
+
* Returns true, if the provided position is a slot position
|
10
|
+
* @param {WindowPosition} windowPosition
|
11
|
+
* @returns {boolean}
|
12
|
+
*/
|
13
|
+
export function isSlotPosition(windowPosition: WindowPosition): boolean;
|
14
|
+
/**
|
15
|
+
* @typedef {Object} WindowComponentOptions
|
16
|
+
* @property {string} [id] Optional ID, If not provided an uuid will be generated.
|
17
|
+
* @property {string} [parentId] An optional ID of a parent window for 'dynamicChild' slot. Parent windows with slot dynamicRight are not supported.
|
18
|
+
* @property {import("vue").Component} component Main Component which is shown below the header.
|
19
|
+
* @property {import("vue").Component} [headerComponent] Replaces the Header Component.
|
20
|
+
* @property {Partial<WindowState>} [state]
|
21
|
+
* @property {Partial<WindowPositionOptions>} [position] Will be merged with default position for slot
|
22
|
+
* @property {WindowSlot} [slot]
|
23
|
+
* @property {Object} [props]
|
24
|
+
* @property {Object} [provides]
|
25
|
+
*/
|
26
|
+
/**
|
27
|
+
* @typedef {Object} WindowState
|
28
|
+
* @property {string} id
|
29
|
+
* @property {string|vcsAppSymbol} owner Owner of the window, set by windowManager on add
|
30
|
+
* @property {boolean} [hideHeader] be used to not show the header.
|
31
|
+
* @property {boolean} [hidePin] be used to not show the pin button.
|
32
|
+
* @property {string|string[]} [headerTitle] An optional translatable header. If an array is provided all elements are translated and joined afterward.
|
33
|
+
* @property {string} [headerIcon]
|
34
|
+
* @property {Array<import("../../actions/actionHelper.js").VcsAction>} [headerActions]
|
35
|
+
* @property {number} [headerActionsOverflow]
|
36
|
+
* @property {string} [infoUrl] An optional url referencing help or further information on the window's content.
|
37
|
+
* @property {function():string} [infoUrlCallback] An optional function returning an url referencing help or further information. Can be used for urls depending on the app's locale, e.g. app.getHelpUrl()
|
38
|
+
* @property {boolean} [dockable] Auto derived from hidePin, current slot, current position and initial position.
|
39
|
+
* @property {Object<string, string>} [styles] Can be used to add additional styles to the root WindowComponent. Use Vue Style Bindings Object Syntax https://vuejs.org/v2/guide/class-and-style.html
|
40
|
+
* @property {Array<string>|Object<string,string>} [classes] Can be used to add additional classes to the root WindowComponent. Use Vue Class Bindings Syntax https://vuejs.org/v2/guide/class-and-style.html
|
41
|
+
*/
|
42
|
+
/**
|
43
|
+
* @typedef {Object} WindowComponent
|
44
|
+
* @property {string} id
|
45
|
+
* @property {string} [parentId]
|
46
|
+
* @property {import("vue").Component} component
|
47
|
+
* @property {import("vue").Component} [headerComponent]
|
48
|
+
* @property {WindowState} state
|
49
|
+
* @property {WindowPosition} [position]
|
50
|
+
* @property {WindowPositionOptions} initialPositionOptions
|
51
|
+
* @property {import("vue").Ref<WindowSlot>} slot
|
52
|
+
* @property {WindowSlot} initialSlot
|
53
|
+
* @property {Object} props
|
54
|
+
* @property {Object} provides
|
55
|
+
* @property {import("vue").ComputedGetter<number>} zIndex
|
56
|
+
*/
|
57
|
+
/**
|
58
|
+
* @param {string|number|undefined} pos
|
59
|
+
* @returns {string|undefined}
|
60
|
+
*/
|
61
|
+
export function posToPixel(pos: string | number | undefined): string | undefined;
|
62
|
+
/**
|
63
|
+
* Returns CSS position string properties
|
64
|
+
* @param {WindowPositionOptions} windowPositionOptions
|
65
|
+
* @param {WindowPosition=} windowPosition
|
66
|
+
* @returns {WindowPosition}
|
67
|
+
*/
|
68
|
+
export function windowPositionFromOptions(windowPositionOptions: WindowPositionOptions, windowPosition?: WindowPosition | undefined): WindowPosition;
|
69
|
+
/**
|
70
|
+
* *
|
71
|
+
*/
|
72
|
+
export type WindowSlot = string;
|
73
|
+
export namespace WindowSlot {
|
74
|
+
let STATIC: string;
|
75
|
+
let DYNAMIC_LEFT: string;
|
76
|
+
let DYNAMIC_RIGHT: string;
|
77
|
+
let DYNAMIC_CHILD: string;
|
78
|
+
let DETACHED: string;
|
79
|
+
}
|
80
|
+
/**
|
81
|
+
* *
|
82
|
+
*/
|
83
|
+
export type WindowPositions = WindowPosition;
|
84
|
+
export namespace WindowPositions {
|
85
|
+
export namespace TOP_LEFT {
|
86
|
+
let left: string;
|
87
|
+
let top: string;
|
88
|
+
}
|
89
|
+
export namespace TOP_LEFT2 {
|
90
|
+
let left_1: string;
|
91
|
+
export { left_1 as left };
|
92
|
+
let top_1: string;
|
93
|
+
export { top_1 as top };
|
94
|
+
}
|
95
|
+
export namespace TOP_RIGHT {
|
96
|
+
export let right: string;
|
97
|
+
let top_2: string;
|
98
|
+
export { top_2 as top };
|
99
|
+
}
|
100
|
+
export namespace DETACHED_1 {
|
101
|
+
let left_2: string;
|
102
|
+
export { left_2 as left };
|
103
|
+
let top_3: string;
|
104
|
+
export { top_3 as top };
|
105
|
+
}
|
106
|
+
export { DETACHED_1 as DETACHED };
|
107
|
+
}
|
108
|
+
export default WindowManager;
|
109
|
+
export type WindowComponentOptions = {
|
110
|
+
/**
|
111
|
+
* Optional ID, If not provided an uuid will be generated.
|
112
|
+
*/
|
113
|
+
id?: string | undefined;
|
114
|
+
/**
|
115
|
+
* An optional ID of a parent window for 'dynamicChild' slot. Parent windows with slot dynamicRight are not supported.
|
116
|
+
*/
|
117
|
+
parentId?: string | undefined;
|
118
|
+
/**
|
119
|
+
* Main Component which is shown below the header.
|
120
|
+
*/
|
121
|
+
component: import("vue").Component;
|
122
|
+
/**
|
123
|
+
* Replaces the Header Component.
|
124
|
+
*/
|
125
|
+
headerComponent?: 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;
|
126
|
+
state?: Partial<WindowState> | undefined;
|
127
|
+
/**
|
128
|
+
* Will be merged with default position for slot
|
129
|
+
*/
|
130
|
+
position?: Partial<WindowPositionOptions> | undefined;
|
131
|
+
slot?: string | undefined;
|
132
|
+
props?: Object | undefined;
|
133
|
+
provides?: Object | undefined;
|
134
|
+
};
|
135
|
+
export type WindowState = {
|
136
|
+
id: string;
|
137
|
+
/**
|
138
|
+
* Owner of the window, set by windowManager on add
|
139
|
+
*/
|
140
|
+
owner: string | symbol;
|
141
|
+
/**
|
142
|
+
* be used to not show the header.
|
143
|
+
*/
|
144
|
+
hideHeader?: boolean | undefined;
|
145
|
+
/**
|
146
|
+
* be used to not show the pin button.
|
147
|
+
*/
|
148
|
+
hidePin?: boolean | undefined;
|
149
|
+
/**
|
150
|
+
* An optional translatable header. If an array is provided all elements are translated and joined afterward.
|
151
|
+
*/
|
152
|
+
headerTitle?: string | string[] | undefined;
|
153
|
+
headerIcon?: string | undefined;
|
154
|
+
headerActions?: import("../../actions/actionHelper.js").VcsAction[] | undefined;
|
155
|
+
headerActionsOverflow?: number | undefined;
|
156
|
+
/**
|
157
|
+
* An optional url referencing help or further information on the window's content.
|
158
|
+
*/
|
159
|
+
infoUrl?: string | undefined;
|
160
|
+
/**
|
161
|
+
* An optional function returning an url referencing help or further information. Can be used for urls depending on the app's locale, e.g. app.getHelpUrl()
|
162
|
+
*/
|
163
|
+
infoUrlCallback?: (() => string) | undefined;
|
164
|
+
/**
|
165
|
+
* Auto derived from hidePin, current slot, current position and initial position.
|
166
|
+
*/
|
167
|
+
dockable?: boolean | undefined;
|
168
|
+
/**
|
169
|
+
* Can be used to add additional styles to the root WindowComponent. Use Vue Style Bindings Object Syntax https://vuejs.org/v2/guide/class-and-style.html
|
170
|
+
*/
|
171
|
+
styles?: {
|
172
|
+
[x: string]: string;
|
173
|
+
} | undefined;
|
174
|
+
/**
|
175
|
+
* Can be used to add additional classes to the root WindowComponent. Use Vue Class Bindings Syntax https://vuejs.org/v2/guide/class-and-style.html
|
176
|
+
*/
|
177
|
+
classes?: string[] | {
|
178
|
+
[x: string]: string;
|
179
|
+
} | undefined;
|
180
|
+
};
|
181
|
+
export type WindowComponent = {
|
182
|
+
id: string;
|
183
|
+
parentId?: string | undefined;
|
184
|
+
component: import("vue").Component;
|
185
|
+
headerComponent?: 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;
|
186
|
+
state: WindowState;
|
187
|
+
position?: WindowPosition | undefined;
|
188
|
+
initialPositionOptions: WindowPositionOptions;
|
189
|
+
slot: import("vue").Ref<WindowSlot>;
|
190
|
+
initialSlot: WindowSlot;
|
191
|
+
props: Object;
|
192
|
+
provides: Object;
|
193
|
+
zIndex: import("vue").ComputedGetter<number>;
|
194
|
+
};
|
195
|
+
export type WindowPositionOptions = {
|
196
|
+
/**
|
197
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
198
|
+
*/
|
199
|
+
left?: string | number | undefined;
|
200
|
+
/**
|
201
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
202
|
+
*/
|
203
|
+
top?: string | number | undefined;
|
204
|
+
/**
|
205
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
206
|
+
*/
|
207
|
+
right?: string | number | undefined;
|
208
|
+
/**
|
209
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
210
|
+
*/
|
211
|
+
bottom?: string | number | undefined;
|
212
|
+
/**
|
213
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
214
|
+
*/
|
215
|
+
width?: string | number | undefined;
|
216
|
+
/**
|
217
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
218
|
+
*/
|
219
|
+
height?: string | number | undefined;
|
220
|
+
/**
|
221
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
222
|
+
*/
|
223
|
+
maxHeight?: string | number | undefined;
|
224
|
+
/**
|
225
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
226
|
+
*/
|
227
|
+
maxWidth?: string | number | undefined;
|
228
|
+
/**
|
229
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
230
|
+
*/
|
231
|
+
minHeight?: string | number | undefined;
|
232
|
+
/**
|
233
|
+
* Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
234
|
+
*/
|
235
|
+
minWidth?: string | number | undefined;
|
236
|
+
};
|
237
|
+
export type WindowPosition = {
|
238
|
+
/**
|
239
|
+
* - The left CSS property participates in specifying the horizontal position of a window.
|
240
|
+
*/
|
241
|
+
left: string;
|
242
|
+
/**
|
243
|
+
* - The top CSS property participates in specifying the vertical position of a window.
|
244
|
+
*/
|
245
|
+
top: string;
|
246
|
+
/**
|
247
|
+
* - The right CSS property participates in specifying the horizontal position of a window.
|
248
|
+
*/
|
249
|
+
right: string;
|
250
|
+
/**
|
251
|
+
* - The bottom CSS property participates in specifying the vertical position of a window.
|
252
|
+
*/
|
253
|
+
bottom: string;
|
254
|
+
/**
|
255
|
+
* - The width CSS property sets an element's width.
|
256
|
+
*/
|
257
|
+
width: string;
|
258
|
+
/**
|
259
|
+
* - The height CSS property sets an element's height.
|
260
|
+
*/
|
261
|
+
height: string;
|
262
|
+
/**
|
263
|
+
* - It prevents the used value of the height property from becoming larger than the value specified for max-height. (max is target height, will be automatically updated)
|
264
|
+
*/
|
265
|
+
maxHeight?: string | undefined;
|
266
|
+
/**
|
267
|
+
* - It prevents the used value of the width property from becoming larger than the value specified by max-width. (max is target width, will be automatically updated)
|
268
|
+
*/
|
269
|
+
maxWidth?: string | undefined;
|
270
|
+
/**
|
271
|
+
* - It prevents the used value of the height property from becoming smaller than the value specified for min-height.
|
272
|
+
*/
|
273
|
+
minHeight?: string | undefined;
|
274
|
+
/**
|
275
|
+
* - It prevents the used value of the width property from becoming smaller than the value specified for min-width.
|
276
|
+
*/
|
277
|
+
minWidth?: string | undefined;
|
278
|
+
};
|
279
|
+
export type IWindowManager = import("../../vcsUiApp.js").VcsComponentManager<WindowComponent, WindowComponentOptions>;
|
280
|
+
/**
|
281
|
+
* @typedef {import("../../vcsUiApp.js").VcsComponentManager<WindowComponent,WindowComponentOptions>} IWindowManager
|
282
|
+
*/
|
283
|
+
/**
|
284
|
+
* @class WindowManager
|
285
|
+
* @description Manages a set of Draggable Windows
|
286
|
+
* @implements {IWindowManager}
|
287
|
+
*/
|
288
|
+
declare class WindowManager implements IWindowManager {
|
289
|
+
/**
|
290
|
+
* @type {import("@vcmap/core").VcsEvent<WindowComponent>}
|
291
|
+
*/
|
292
|
+
added: import("@vcmap/core").VcsEvent<WindowComponent>;
|
293
|
+
/**
|
294
|
+
* @type {import("@vcmap/core").VcsEvent<WindowComponent>}
|
295
|
+
*/
|
296
|
+
removed: import("@vcmap/core").VcsEvent<WindowComponent>;
|
297
|
+
/**
|
298
|
+
* reactive ordered array of ids,
|
299
|
+
* @type {Array<string>}
|
300
|
+
*/
|
301
|
+
componentIds: Array<string>;
|
302
|
+
/**
|
303
|
+
* reactive ordered array of ids, defining the zIndex of a component
|
304
|
+
* @type {import("vue").Ref<Array<string>>}
|
305
|
+
*/
|
306
|
+
_zIndices: import("vue").Ref<Array<string>>;
|
307
|
+
/**
|
308
|
+
* @type {Map<string, WindowComponent>}
|
309
|
+
* @private
|
310
|
+
*/
|
311
|
+
private _windowComponents;
|
312
|
+
/**
|
313
|
+
* @type {Map<string, WindowPosition>}
|
314
|
+
* @private
|
315
|
+
*/
|
316
|
+
private _windowPositionsCache;
|
317
|
+
/**
|
318
|
+
* @param {string} id
|
319
|
+
* @returns {WindowComponent}
|
320
|
+
*/
|
321
|
+
get(id: string): WindowComponent;
|
322
|
+
/**
|
323
|
+
* @param {string} id
|
324
|
+
* @returns {boolean}
|
325
|
+
*/
|
326
|
+
has(id: string): boolean;
|
327
|
+
/**
|
328
|
+
* removes a window, Component will not be rendered anymore and will be destroyed. Add WindowComponent again
|
329
|
+
* to show the component again
|
330
|
+
* @param {string} id
|
331
|
+
*/
|
332
|
+
remove(id: string): void;
|
333
|
+
/**
|
334
|
+
* @param {string} id
|
335
|
+
* @param {WindowPositionOptions} windowPositionOptions
|
336
|
+
*/
|
337
|
+
setWindowPositionOptions(id: string, windowPositionOptions: WindowPositionOptions): void;
|
338
|
+
/**
|
339
|
+
* handles changes in the Slots. Makes sure that a STATIC Window is positioned on the right to the DYNAMIC_LEFT Slot.
|
340
|
+
* If a STATIC Window is removed again, the DYNAMIC_LEFT will be moved back.
|
341
|
+
* @param {WindowSlot} changedSlot
|
342
|
+
* @private
|
343
|
+
*/
|
344
|
+
private _handleSlotsChanged;
|
345
|
+
/**
|
346
|
+
* @param {WindowSlot} slot
|
347
|
+
* @param {string=} parentId
|
348
|
+
* @param {string=} id
|
349
|
+
* @returns {WindowComponent}
|
350
|
+
* @private
|
351
|
+
*/
|
352
|
+
private _findWindowBySlot;
|
353
|
+
/**
|
354
|
+
* @param {WindowSlot} slot
|
355
|
+
* @param {WindowPositionOptions=} position
|
356
|
+
* @param {string=} parentId
|
357
|
+
* @returns {WindowPositionOptions}
|
358
|
+
* @private
|
359
|
+
*/
|
360
|
+
private _getPositionOptionsForSlot;
|
361
|
+
/**
|
362
|
+
* removes the window at the given slot if it exists (not for DETACHED)
|
363
|
+
* @param {WindowSlot} slot
|
364
|
+
* @param {string} parentId
|
365
|
+
* @param {string} id
|
366
|
+
* @private
|
367
|
+
*/
|
368
|
+
private _removeWindowAtSlot;
|
369
|
+
/**
|
370
|
+
* @param {string} id
|
371
|
+
* @returns {WindowPosition|undefined}
|
372
|
+
*/
|
373
|
+
getCachedPosition(id: string): WindowPosition | undefined;
|
374
|
+
/**
|
375
|
+
* Caches the position, if it differs from the initial position
|
376
|
+
* @param {WindowComponent} windowComponent
|
377
|
+
* @private
|
378
|
+
*/
|
379
|
+
private _cachePosition;
|
380
|
+
/**
|
381
|
+
* Returns true, if cached position was assigned.
|
382
|
+
* @param {WindowComponent} windowComponent
|
383
|
+
* @returns {boolean}
|
384
|
+
* @private
|
385
|
+
*/
|
386
|
+
private _assignCachedPosition;
|
387
|
+
/**
|
388
|
+
* adds a windowComponent to the WindowManager and renders the Window at the provided position/slot.
|
389
|
+
* The reactive WindowState Object can be used to watch Changes on position/WindowSlot.
|
390
|
+
* The WindowState Object can also be used to change hideHeader, headerTitle, headerIcon, headerActions, styles and classes
|
391
|
+
* @param {WindowComponentOptions|WindowComponent} windowComponentOptions
|
392
|
+
* @param {string|symbol} owner pluginName or vcsAppSymbol
|
393
|
+
* @throws {Error} if a windowComponent with the same ID has already been added
|
394
|
+
* @returns {WindowComponent}
|
395
|
+
*/
|
396
|
+
add(windowComponentOptions: WindowComponentOptions | WindowComponent, owner: string | symbol): WindowComponent;
|
397
|
+
/**
|
398
|
+
* reorders the order of all windows to bring the given ID on top
|
399
|
+
* @param {string} id
|
400
|
+
*/
|
401
|
+
bringWindowToTop(id: string): void;
|
402
|
+
/**
|
403
|
+
* Docks a window by resetting detached to its initial slot.
|
404
|
+
* Updates position according to its initial slot or initial position.
|
405
|
+
* Clears any cached position for this window.
|
406
|
+
* @param {string} id
|
407
|
+
*/
|
408
|
+
pinWindow(id: string): void;
|
409
|
+
/**
|
410
|
+
* removes all windowComponents of a specific owner (plugin) and fires removed Events
|
411
|
+
* @param {string|vcsAppSymbol} owner
|
412
|
+
*/
|
413
|
+
removeOwner(owner: string | symbol): void;
|
414
|
+
/**
|
415
|
+
* removes all windowComponents and fires removed Events
|
416
|
+
*/
|
417
|
+
clear(): void;
|
418
|
+
/**
|
419
|
+
* destroys the windowManager;
|
420
|
+
*/
|
421
|
+
destroy(): void;
|
422
|
+
}
|
@@ -24,16 +24,16 @@ export const WindowSlot = {
|
|
24
24
|
|
25
25
|
/**
|
26
26
|
* @typedef {Object} WindowPositionOptions
|
27
|
-
* @property {string|number|undefined} left Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
28
|
-
* @property {string|number|undefined} top Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
29
|
-
* @property {string|number|undefined} right Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
30
|
-
* @property {string|number|undefined} bottom Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
31
|
-
* @property {string|number|undefined} width Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
32
|
-
* @property {string|number|undefined} height Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
33
|
-
* @property {string|number|undefined} maxHeight Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
34
|
-
* @property {string|number|undefined} maxWidth Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
35
|
-
* @property {string|number|undefined} minHeight Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
36
|
-
* @property {string|number|undefined} minWidth Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
27
|
+
* @property {string|number|undefined} [left] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
28
|
+
* @property {string|number|undefined} [top] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
29
|
+
* @property {string|number|undefined} [right] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
30
|
+
* @property {string|number|undefined} [bottom] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
31
|
+
* @property {string|number|undefined} [width] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
32
|
+
* @property {string|number|undefined} [height] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
33
|
+
* @property {string|number|undefined} [maxHeight] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
34
|
+
* @property {string|number|undefined} [maxWidth] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
35
|
+
* @property {string|number|undefined} [minHeight] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
36
|
+
* @property {string|number|undefined} [minWidth] Can be a css position string (e.g. '320px' or '50%') number values are treated as `px` values
|
37
37
|
*/
|
38
38
|
|
39
39
|
/**
|
@@ -102,27 +102,27 @@ export function isSlotPosition(windowPosition) {
|
|
102
102
|
}
|
103
103
|
|
104
104
|
/**
|
105
|
-
* @typedef WindowComponentOptions
|
105
|
+
* @typedef {Object} WindowComponentOptions
|
106
106
|
* @property {string} [id] Optional ID, If not provided an uuid will be generated.
|
107
107
|
* @property {string} [parentId] An optional ID of a parent window for 'dynamicChild' slot. Parent windows with slot dynamicRight are not supported.
|
108
108
|
* @property {import("vue").Component} component Main Component which is shown below the header.
|
109
109
|
* @property {import("vue").Component} [headerComponent] Replaces the Header Component.
|
110
|
-
* @property {WindowState} [state]
|
111
|
-
* @property {WindowPositionOptions} [position] Will be merged with default position for slot
|
110
|
+
* @property {Partial<WindowState>} [state]
|
111
|
+
* @property {Partial<WindowPositionOptions>} [position] Will be merged with default position for slot
|
112
112
|
* @property {WindowSlot} [slot]
|
113
113
|
* @property {Object} [props]
|
114
114
|
* @property {Object} [provides]
|
115
115
|
*/
|
116
116
|
|
117
117
|
/**
|
118
|
-
* @typedef WindowState
|
118
|
+
* @typedef {Object} WindowState
|
119
119
|
* @property {string} id
|
120
120
|
* @property {string|vcsAppSymbol} owner Owner of the window, set by windowManager on add
|
121
121
|
* @property {boolean} [hideHeader] be used to not show the header.
|
122
122
|
* @property {boolean} [hidePin] be used to not show the pin button.
|
123
123
|
* @property {string|string[]} [headerTitle] An optional translatable header. If an array is provided all elements are translated and joined afterward.
|
124
124
|
* @property {string} [headerIcon]
|
125
|
-
* @property {Array<VcsAction>} [headerActions]
|
125
|
+
* @property {Array<import("../../actions/actionHelper.js").VcsAction>} [headerActions]
|
126
126
|
* @property {number} [headerActionsOverflow]
|
127
127
|
* @property {string} [infoUrl] An optional url referencing help or further information on the window's content.
|
128
128
|
* @property {function():string} [infoUrlCallback] An optional function returning an url referencing help or further information. Can be used for urls depending on the app's locale, e.g. app.getHelpUrl()
|
@@ -132,7 +132,7 @@ export function isSlotPosition(windowPosition) {
|
|
132
132
|
*/
|
133
133
|
|
134
134
|
/**
|
135
|
-
* @typedef WindowComponent
|
135
|
+
* @typedef {Object} WindowComponent
|
136
136
|
* @property {string} id
|
137
137
|
* @property {string} [parentId]
|
138
138
|
* @property {import("vue").Component} component
|
@@ -242,10 +242,14 @@ function setWindowPosition(windowComponent, windowPositionOptions) {
|
|
242
242
|
}
|
243
243
|
}
|
244
244
|
|
245
|
+
/**
|
246
|
+
* @typedef {import("../../vcsUiApp.js").VcsComponentManager<WindowComponent,WindowComponentOptions>} IWindowManager
|
247
|
+
*/
|
248
|
+
|
245
249
|
/**
|
246
250
|
* @class WindowManager
|
247
251
|
* @description Manages a set of Draggable Windows
|
248
|
-
* @implements
|
252
|
+
* @implements {IWindowManager}
|
249
253
|
*/
|
250
254
|
class WindowManager {
|
251
255
|
constructor() {
|
@@ -311,11 +315,13 @@ class WindowManager {
|
|
311
315
|
this._windowComponents.delete(id);
|
312
316
|
this._handleSlotsChanged(windowComponent.slot.value);
|
313
317
|
this.removed.raiseEvent(windowComponent);
|
314
|
-
const
|
318
|
+
const childs = Array.from(this._windowComponents.values()).filter(
|
315
319
|
({ parentId }) => id === parentId,
|
316
320
|
);
|
317
|
-
if (
|
318
|
-
|
321
|
+
if (childs.length) {
|
322
|
+
childs.forEach((child) => {
|
323
|
+
this.remove(child.id);
|
324
|
+
});
|
319
325
|
}
|
320
326
|
}
|
321
327
|
}
|
@@ -337,13 +343,21 @@ class WindowManager {
|
|
337
343
|
* @param {WindowSlot} changedSlot
|
338
344
|
* @private
|
339
345
|
*/
|
340
|
-
_handleSlotsChanged(changedSlot) {
|
346
|
+
_handleSlotsChanged(changedSlot, parentId) {
|
341
347
|
if (
|
342
348
|
changedSlot === WindowSlot.STATIC ||
|
343
|
-
changedSlot === WindowSlot.DYNAMIC_LEFT
|
349
|
+
changedSlot === WindowSlot.DYNAMIC_LEFT ||
|
350
|
+
(parentId != null &&
|
351
|
+
changedSlot === WindowSlot.DETACHED &&
|
352
|
+
!this.has(parentId))
|
344
353
|
) {
|
345
354
|
const staticWindow = this._findWindowBySlot(WindowSlot.STATIC);
|
346
|
-
const dynamicWindowLeft =
|
355
|
+
const dynamicWindowLeft =
|
356
|
+
this._findWindowBySlot(WindowSlot.DYNAMIC_LEFT) ??
|
357
|
+
[...this._windowComponents.values()].find(
|
358
|
+
(c) => parentId != null && c.parentId === parentId,
|
359
|
+
);
|
360
|
+
|
347
361
|
if (staticWindow && dynamicWindowLeft) {
|
348
362
|
this.setWindowPositionOptions(dynamicWindowLeft.id, {
|
349
363
|
...dynamicWindowLeft.position,
|
@@ -360,26 +374,61 @@ class WindowManager {
|
|
360
374
|
|
361
375
|
/**
|
362
376
|
* @param {WindowSlot} slot
|
377
|
+
* @param {string=} parentId
|
378
|
+
* @param {string=} id
|
363
379
|
* @returns {WindowComponent}
|
364
380
|
* @private
|
365
381
|
*/
|
366
|
-
_findWindowBySlot(slot) {
|
367
|
-
|
368
|
-
(
|
382
|
+
_findWindowBySlot(slot, parentId, id) {
|
383
|
+
const components = /** @type {WindowComponent[]} */ (
|
384
|
+
Array.from(this._windowComponents.values())
|
369
385
|
);
|
386
|
+
let parent;
|
387
|
+
let usedSlot = slot;
|
388
|
+
if (parentId) {
|
389
|
+
parent = components.find((i) => i.id === parentId);
|
390
|
+
usedSlot = parent ? slot : WindowSlot.DYNAMIC_LEFT;
|
391
|
+
}
|
392
|
+
|
393
|
+
return components.find((item) => {
|
394
|
+
if (item.id === id) {
|
395
|
+
return false;
|
396
|
+
}
|
397
|
+
if (parent) {
|
398
|
+
return item.parentId === parentId && item.slot.value === usedSlot;
|
399
|
+
} else if (
|
400
|
+
item.slot.value === WindowSlot.DYNAMIC_CHILD &&
|
401
|
+
!this.has(item.parentId) &&
|
402
|
+
item.parentId !== id &&
|
403
|
+
usedSlot === WindowSlot.DYNAMIC_LEFT
|
404
|
+
) {
|
405
|
+
return true;
|
406
|
+
}
|
407
|
+
|
408
|
+
if (id != null) {
|
409
|
+
return item.slot.value === usedSlot && item.parentId !== id;
|
410
|
+
}
|
411
|
+
return item.slot.value === usedSlot;
|
412
|
+
});
|
370
413
|
}
|
371
414
|
|
372
415
|
/**
|
373
416
|
* @param {WindowSlot} slot
|
374
417
|
* @param {WindowPositionOptions=} position
|
418
|
+
* @param {string=} parentId
|
375
419
|
* @returns {WindowPositionOptions}
|
376
420
|
* @private
|
377
421
|
*/
|
378
|
-
_getPositionOptionsForSlot(slot, position) {
|
422
|
+
_getPositionOptionsForSlot(slot, position, parentId) {
|
379
423
|
if (slot === WindowSlot.STATIC) {
|
380
424
|
return { ...WindowPositions.TOP_LEFT, maxWidth: '320px' };
|
381
425
|
}
|
382
|
-
if (
|
426
|
+
if (
|
427
|
+
slot === WindowSlot.DYNAMIC_LEFT ||
|
428
|
+
(parentId != null &&
|
429
|
+
slot === WindowSlot.DYNAMIC_CHILD &&
|
430
|
+
!this.has(parentId))
|
431
|
+
) {
|
383
432
|
const windowAtStatic = this._findWindowBySlot(WindowSlot.STATIC);
|
384
433
|
if (windowAtStatic) {
|
385
434
|
return { ...position, ...WindowPositions.TOP_LEFT2 };
|
@@ -399,11 +448,13 @@ class WindowManager {
|
|
399
448
|
/**
|
400
449
|
* removes the window at the given slot if it exists (not for DETACHED)
|
401
450
|
* @param {WindowSlot} slot
|
451
|
+
* @param {string} parentId
|
452
|
+
* @param {string} id
|
402
453
|
* @private
|
403
454
|
*/
|
404
|
-
_removeWindowAtSlot(slot) {
|
455
|
+
_removeWindowAtSlot(slot, parentId, id) {
|
405
456
|
if (slot !== WindowSlot.DETACHED) {
|
406
|
-
const toRemove = this._findWindowBySlot(slot);
|
457
|
+
const toRemove = this._findWindowBySlot(slot, parentId, id);
|
407
458
|
if (toRemove) {
|
408
459
|
this.remove(toRemove.id);
|
409
460
|
}
|
@@ -469,22 +520,21 @@ class WindowManager {
|
|
469
520
|
`A window with id ${windowComponentOptions.id} has already been registered.`,
|
470
521
|
);
|
471
522
|
}
|
523
|
+
if (
|
524
|
+
windowComponentOptions.slot === WindowSlot.DYNAMIC_CHILD &&
|
525
|
+
!windowComponentOptions.parentId
|
526
|
+
) {
|
527
|
+
throw new Error('A child window must have a parent id');
|
528
|
+
}
|
472
529
|
const id = windowComponentOptions.id || uuidv4();
|
473
530
|
const parentId = windowComponentOptions?.parentId;
|
474
531
|
const slotOption =
|
475
532
|
windowComponentOptions.slot?.value || windowComponentOptions.slot;
|
476
533
|
const slot = parseEnumValue(slotOption, WindowSlot, WindowSlot.DETACHED);
|
477
|
-
if (
|
478
|
-
slot === WindowSlot.DYNAMIC_CHILD &&
|
479
|
-
!this.has(windowComponentOptions.parentId)
|
480
|
-
) {
|
481
|
-
throw new Error(
|
482
|
-
`The mandatory parent window with id ${windowComponentOptions.parentId} is not registered. Add the parent window or choose another slot than dynamicChild.`,
|
483
|
-
);
|
484
|
-
}
|
485
534
|
const windowPositionOptions = this._getPositionOptionsForSlot(
|
486
535
|
slot,
|
487
536
|
windowComponentOptions.position,
|
537
|
+
parentId,
|
488
538
|
);
|
489
539
|
const windowPosition = windowPositionFromOptions(windowPositionOptions);
|
490
540
|
|
@@ -562,7 +612,7 @@ class WindowManager {
|
|
562
612
|
};
|
563
613
|
const cached = this._assignCachedPosition(windowComponent);
|
564
614
|
if (!cached) {
|
565
|
-
this._removeWindowAtSlot(slot);
|
615
|
+
this._removeWindowAtSlot(slot, state.parentId, state.id);
|
566
616
|
}
|
567
617
|
this._windowComponents.set(id, windowComponent);
|
568
618
|
this.componentIds.push(id);
|
@@ -597,12 +647,17 @@ class WindowManager {
|
|
597
647
|
if (!component?.state?.dockable) {
|
598
648
|
return;
|
599
649
|
}
|
600
|
-
this._removeWindowAtSlot(
|
650
|
+
this._removeWindowAtSlot(
|
651
|
+
component.initialSlot,
|
652
|
+
component.parentId,
|
653
|
+
component.id,
|
654
|
+
);
|
601
655
|
component.slot.value = component.initialSlot;
|
602
656
|
component.state.dockable = false;
|
603
657
|
const dockedPosition = this._getPositionOptionsForSlot(
|
604
658
|
component.initialSlot,
|
605
659
|
component.initialPositionOptions,
|
660
|
+
component.parentId,
|
606
661
|
);
|
607
662
|
windowPositionFromOptions(dockedPosition, component.position);
|
608
663
|
this._windowPositionsCache.delete(id);
|