@vcmap/ui 5.0.2 → 5.1.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/build/buildTypes.js +176 -0
- package/build/lintTypes.js +30 -0
- package/config/aerowest.config.json +4 -0
- package/config/base.config.json +22 -0
- package/config/dev.config.json +176 -5
- package/config/www.config.json +24 -0
- package/dist/assets/{cesium.a3a1dc.js → cesium.e9b3ca.js} +1859 -1828
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.bb64ed.js → core.a9fe5a.js} +5859 -5041
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-bb2549d6.js +1 -0
- package/dist/assets/{ol.833fa9.js → ol.5f0496.js} +7257 -7252
- package/dist/assets/ol.js +1 -1
- package/dist/assets/{ui.aeb2ec.css → ui.3c73c2.css} +2 -2
- package/dist/assets/{ui.aeb2ec.js → ui.3c73c2.js} +14199 -9198
- package/dist/assets/ui.js +1 -1
- package/dist/assets/{vue.8e1850.js → vue.4fe14e.js} +1243 -1234
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.3ed426.css → vuetify.260d9a.css} +1 -1
- package/dist/assets/{vuetify.3ed426.js → vuetify.260d9a.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 +3 -1
- package/src/actions/StyleSelector.vue +8 -7
- package/src/actions/StyleSelector.vue.d.ts +27 -0
- package/src/actions/actionHelper.d.ts +153 -0
- package/src/actions/actionHelper.js +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
@@ -7,108 +7,117 @@
|
|
7
7
|
/>
|
8
8
|
<v-list dense>
|
9
9
|
<v-list-item v-if="showTitle" class="font-weight-bold">
|
10
|
-
<v-list-item-action v-if="selectable">
|
11
|
-
<v-spacer v-if="singleSelect" />
|
12
|
-
<v-icon
|
13
|
-
v-else-if="
|
14
|
-
selected.length ===
|
15
|
-
renderingItems.filter((item) => !item.disabled).length
|
16
|
-
"
|
17
|
-
@click="clear"
|
18
|
-
>
|
19
|
-
mdi-check-circle
|
20
|
-
</v-icon>
|
21
|
-
<v-icon
|
22
|
-
v-else-if="
|
23
|
-
selected.length > 0 && selected.length < renderingItems.length
|
24
|
-
"
|
25
|
-
@click="selectAll()"
|
26
|
-
>
|
27
|
-
mdi-minus-circle
|
28
|
-
</v-icon>
|
29
|
-
<v-icon v-else @click="selectAll()"> mdi-circle-outline </v-icon>
|
30
|
-
</v-list-item-action>
|
31
10
|
<v-list-item-content>
|
32
11
|
<v-icon v-if="icon">
|
33
12
|
{{ icon }}
|
34
13
|
</v-icon>
|
35
|
-
<
|
36
|
-
<
|
37
|
-
<
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
14
|
+
<v-list-item-title>
|
15
|
+
<VcsTooltip :tooltip="$t(listHeaderTooltip)">
|
16
|
+
<template #activator="{ on, attrs }">
|
17
|
+
<span v-bind="attrs" v-on="on" ref="listHeader">
|
18
|
+
{{ $t(title) }}
|
19
|
+
</span>
|
20
|
+
</template>
|
21
|
+
</VcsTooltip>
|
22
|
+
<span v-if="selectable && selected.length > 0">
|
23
|
+
{{ `(${selected.length})` }}
|
24
|
+
</span>
|
25
|
+
</v-list-item-title>
|
42
26
|
<vcs-action-button-list
|
43
|
-
v-if="
|
44
|
-
:actions="
|
27
|
+
v-if="renderingActions?.length > 0"
|
28
|
+
:actions="renderingActions"
|
45
29
|
:block-overflow="true"
|
46
30
|
:overflow-count="actionButtonListOverflowCount"
|
47
31
|
/>
|
48
32
|
</v-list-item-content>
|
49
33
|
</v-list-item>
|
50
|
-
<v-
|
51
|
-
v-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
<v-icon v-if="selected.includes(item)" @click="remove(item)">
|
72
|
-
mdi-check-circle
|
73
|
-
</v-icon>
|
74
|
-
<v-icon
|
75
|
-
v-else
|
76
|
-
@click="singleSelect ? select(item, $event) : add(item)"
|
77
|
-
>
|
78
|
-
mdi-circle-outline
|
79
|
-
</v-icon>
|
80
|
-
</v-list-item-action>
|
81
|
-
<v-list-item-content
|
82
|
-
:class="[selectable && !isDraggable ? 'cursor-pointer' : '']"
|
83
|
-
@click="select(item, $event)"
|
34
|
+
<template v-for="(item, index) in renderingItems">
|
35
|
+
<v-list-item
|
36
|
+
:key="`item-${index}`"
|
37
|
+
:input-value="selected.includes(item)"
|
38
|
+
:disabled="item.disabled"
|
39
|
+
@mousedown.shift="$event.preventDefault()"
|
40
|
+
@mouseover="hovering = index"
|
41
|
+
@mouseout="hovering = undefined"
|
42
|
+
:draggable="isDraggable"
|
43
|
+
@dragstart="drag($event, item, index)"
|
44
|
+
@mouseup="drop($event, index)"
|
45
|
+
color="primary"
|
46
|
+
:class="{
|
47
|
+
'v-list-item__selected': selected.includes(item),
|
48
|
+
'v-list-item__lighten_even': lightenEven,
|
49
|
+
'v-list-item__lighten_odd': !lightenEven,
|
50
|
+
'vcs-draggable-item': isDraggable,
|
51
|
+
'v-list-item__dragged': dragging === index,
|
52
|
+
'border-bottom': borderBottom(index),
|
53
|
+
'border-top': borderTop(index),
|
54
|
+
}"
|
84
55
|
>
|
85
|
-
<v-
|
86
|
-
|
87
|
-
|
88
|
-
<VcsTooltip
|
89
|
-
:tooltip="
|
90
|
-
dragging !== undefined
|
91
|
-
? undefined
|
92
|
-
: $t(item.tooltip || overflowTitle(index, item.title))
|
93
|
-
"
|
56
|
+
<v-list-item-content
|
57
|
+
:class="[selectable && !isDraggable ? 'cursor-pointer' : '']"
|
58
|
+
@click="select(item, $event)"
|
94
59
|
>
|
95
|
-
<
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
60
|
+
<v-icon v-if="item.icon">
|
61
|
+
{{ item.icon }}
|
62
|
+
</v-icon>
|
63
|
+
<VcsTooltip
|
64
|
+
:tooltip="
|
65
|
+
dragging !== undefined
|
66
|
+
? undefined
|
67
|
+
: $t(item.tooltip || overflowTitle(index, item.title))
|
68
|
+
"
|
69
|
+
>
|
70
|
+
<template #activator="{ on, attrs }">
|
71
|
+
<v-list-item-title
|
72
|
+
v-bind="attrs"
|
73
|
+
v-on="on"
|
74
|
+
ref="titles"
|
75
|
+
class="d-flex gap-2"
|
76
|
+
>
|
77
|
+
<slot name="item.prepend-title" :item="item" :index="index" />
|
78
|
+
<slot name="item.title" :item="item" :index="index">
|
79
|
+
<VcsTextField
|
80
|
+
v-if="item.rename"
|
81
|
+
:value="item.title"
|
82
|
+
autofocus
|
83
|
+
:no-padding="true"
|
84
|
+
@input="(value) => rename(item, value)"
|
85
|
+
@click.stop
|
86
|
+
@keydown.enter="item.rename = false"
|
87
|
+
@blur="item.rename = false"
|
88
|
+
:rules="[(v) => !!v || 'components.validation.required']"
|
89
|
+
/>
|
90
|
+
<span v-else>
|
91
|
+
{{ $t(item.title) }}
|
92
|
+
</span>
|
93
|
+
</slot>
|
94
|
+
<slot
|
95
|
+
name="item.append-title"
|
96
|
+
:item="item"
|
97
|
+
:index="index"
|
98
|
+
class="ml-auto"
|
99
|
+
/>
|
100
|
+
</v-list-item-title>
|
101
|
+
</template>
|
102
|
+
</VcsTooltip>
|
103
|
+
</v-list-item-content>
|
104
|
+
<VcsBadge v-if="item.hasUpdate" :color="'warning'" />
|
105
|
+
<v-list-item-action>
|
106
|
+
<vcs-action-button-list
|
107
|
+
v-if="item.actions?.length > 0"
|
108
|
+
:actions="item.actions"
|
109
|
+
:disabled="item.disabled"
|
110
|
+
:block-overflow="true"
|
111
|
+
:overflow-count="actionButtonListOverflowCount"
|
112
|
+
/>
|
113
|
+
</v-list-item-action>
|
114
|
+
</v-list-item>
|
115
|
+
<slot name="item.intermediate" :item="item" :index="index" />
|
116
|
+
<div
|
117
|
+
v-if="hasIntermediateSlot"
|
118
|
+
:key="`item-intermediate-child-balance-${index}`"
|
119
|
+
/>
|
120
|
+
</template>
|
112
121
|
</v-list>
|
113
122
|
</div>
|
114
123
|
</template>
|
@@ -122,24 +131,65 @@
|
|
122
131
|
VListItemAction,
|
123
132
|
VIcon,
|
124
133
|
VListItemTitle,
|
125
|
-
VSpacer,
|
126
134
|
} from 'vuetify/lib';
|
127
135
|
import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
|
128
136
|
import VcsTooltip from '../notification/VcsTooltip.vue';
|
129
137
|
import VcsTreeviewSearchbar from './VcsTreeviewSearchbar.vue';
|
130
138
|
import VcsBadge from '../notification/VcsBadge.vue';
|
139
|
+
import VcsTextField from '../form-inputs-controls/VcsTextField.vue';
|
140
|
+
|
141
|
+
/**
|
142
|
+
* @param {import("vue").Ref<VcsListItem[]>} items
|
143
|
+
* @param {import("vue").Ref<VcsListItem[]>} selected
|
144
|
+
* @param {function(string, ...any[]):void} emit
|
145
|
+
* @returns {Array<import("../../actions/actionHelper.js").VcsAction>}
|
146
|
+
*/
|
147
|
+
export function createSelectionActions(items, selected, emit) {
|
148
|
+
return [
|
149
|
+
{
|
150
|
+
name: 'list.selectAll',
|
151
|
+
tooltip: 'list.selectAll',
|
152
|
+
callback() {
|
153
|
+
const currentSelection = [...selected.value];
|
154
|
+
selected.value = items.value.filter((item) => !item.disabled);
|
155
|
+
selected.value.forEach((item) => {
|
156
|
+
if (item.selectionChanged && !currentSelection.includes(item)) {
|
157
|
+
item.selectionChanged(true);
|
158
|
+
}
|
159
|
+
});
|
160
|
+
emit('input', selected.value);
|
161
|
+
},
|
162
|
+
},
|
163
|
+
{
|
164
|
+
name: 'list.clearSelection',
|
165
|
+
tooltip: 'list.clearSelection',
|
166
|
+
callback() {
|
167
|
+
[...selected.value].forEach((item) => {
|
168
|
+
if (item.selectionChanged) {
|
169
|
+
item.selectionChanged(false);
|
170
|
+
}
|
171
|
+
});
|
172
|
+
selected.value = [];
|
173
|
+
emit('input', selected.value);
|
174
|
+
},
|
175
|
+
},
|
176
|
+
];
|
177
|
+
}
|
131
178
|
|
132
179
|
/**
|
133
180
|
* @typedef {Object} VcsListItem
|
134
181
|
* @property {string} name
|
135
182
|
* @property {boolean} [visible] - Whether to display this item or not.
|
136
183
|
* @property {boolean} [disabled] - Whether this item should be displayed as disabled.
|
184
|
+
* @property {boolean} [rename] - Whether the title of this item is currently in edit mode.
|
137
185
|
* @property {string} title - The title to be displayed
|
138
186
|
* @property {string} [tooltip]
|
139
187
|
* @property {string|HTMLCanvasElement|HTMLImageElement|undefined} [icon] - An optional icon to display with this item. Can be a URL or HTMLElement.
|
140
188
|
* @property {boolean} [hasUpdate] - Shows badge, if item has an update.
|
141
|
-
* @property {Array<VcsAction>} [actions]
|
189
|
+
* @property {Array<import("../../actions/actionHelper.js").VcsAction>} [actions]
|
190
|
+
* @property {Array<function(PointerEvent):void>|undefined} [clickedCallbacks] - An array of callbacks called on item click. called before selection update
|
142
191
|
* @property {function(boolean):void} [selectionChanged] - A callback called if the selection changes with the current selection status. called before value update
|
192
|
+
* @property {function(string):void} [titleChanged] - A callback called if the title changes via rename action. called before value update
|
143
193
|
*/
|
144
194
|
|
145
195
|
/**
|
@@ -148,6 +198,12 @@
|
|
148
198
|
* @property {number} targetIndex
|
149
199
|
*/
|
150
200
|
|
201
|
+
/**
|
202
|
+
* @typedef {Object} ItemRenamedEvent
|
203
|
+
* @property {VcsListItem} item
|
204
|
+
* @property {string} newTitle
|
205
|
+
*/
|
206
|
+
|
151
207
|
/**
|
152
208
|
* @description
|
153
209
|
* The VCS list is intended to render items. Items can be selectable (by default, more than one) or only a single item can
|
@@ -172,8 +228,13 @@
|
|
172
228
|
* @vue-prop {string} [title] - the lists title
|
173
229
|
* @vue-prop {string} [icon] - icon to prepend to the list title
|
174
230
|
* @vue-prop {string} [tooltip] - tooltip to render on the list title
|
175
|
-
* @vue-prop {Array<VcsAction>} [actions] - actions to render in the list title
|
231
|
+
* @vue-prop {Array<import("../../actions/actionHelper.js").VcsAction>} [actions] - actions to render in the list title
|
176
232
|
* @vue-event {ItemMovedEvent} item-moved - event triggered after item was dragged and is dropped
|
233
|
+
* @vue-event {ItemRenamedEvent} item-renamed - event triggered after item was renamed
|
234
|
+
* @vue-data {slot} [#item.prepend-title] - A slot to adapt the list item titel, adding content before the title. Binds item and index.
|
235
|
+
* @vue-data {slot} [#item.title] - A slot to adapt the list item titel. Default content is a span or VcsTextField for active rename action. Binds item and index.
|
236
|
+
* @vue-data {slot} [#item.append-title] - A slot to adapt the list item titel, adding content after the title. Binds item and index.
|
237
|
+
* @vue-data {slot} [#item.intermediate] - A slot to introduce content, e.g. buttons between two list items. Binds item and index.
|
177
238
|
*/
|
178
239
|
export default {
|
179
240
|
name: 'VcsList',
|
@@ -188,7 +249,7 @@
|
|
188
249
|
VListItemAction,
|
189
250
|
VIcon,
|
190
251
|
VListItemTitle,
|
191
|
-
|
252
|
+
VcsTextField,
|
192
253
|
},
|
193
254
|
props: {
|
194
255
|
items: {
|
@@ -246,10 +307,10 @@
|
|
246
307
|
actions: {
|
247
308
|
type: Array,
|
248
309
|
required: false,
|
249
|
-
default:
|
310
|
+
default: () => [],
|
250
311
|
},
|
251
312
|
},
|
252
|
-
setup(props, { emit }) {
|
313
|
+
setup(props, { emit, slots }) {
|
253
314
|
/** @type {import("vue").Ref<Array<VcsListItem>>} */
|
254
315
|
const selected = ref(props.value);
|
255
316
|
/** @type {import("vue").Ref<string>} */
|
@@ -356,6 +417,33 @@
|
|
356
417
|
}
|
357
418
|
}
|
358
419
|
|
420
|
+
/**
|
421
|
+
* @type {import("vue").ComputedRef<Array<VcsListItem>>}
|
422
|
+
*/
|
423
|
+
const renderingItems = computed(() => {
|
424
|
+
let items = props.items.filter((i) => i.visible !== false);
|
425
|
+
if (query.value) {
|
426
|
+
items = items.filter((i) => filterPredicate(i, query.value));
|
427
|
+
}
|
428
|
+
return items;
|
429
|
+
});
|
430
|
+
|
431
|
+
const selectionActions = createSelectionActions(
|
432
|
+
renderingItems,
|
433
|
+
selected,
|
434
|
+
emit,
|
435
|
+
);
|
436
|
+
|
437
|
+
/**
|
438
|
+
* @type {import("vue").ComputedRef<Array<import("../../actions/actionHelper.js").VcsAction>>}
|
439
|
+
*/
|
440
|
+
const renderingActions = computed(() => {
|
441
|
+
if (props.selectable && !props.singleSelect) {
|
442
|
+
return [...selectionActions, ...props.actions];
|
443
|
+
}
|
444
|
+
return props.actions;
|
445
|
+
});
|
446
|
+
|
359
447
|
return {
|
360
448
|
query,
|
361
449
|
hovering,
|
@@ -364,16 +452,14 @@
|
|
364
452
|
borderBottom,
|
365
453
|
borderTop,
|
366
454
|
lightenEven,
|
455
|
+
/**
|
456
|
+
* @type {import("vue").ComputedRef<Array<import("../../actions/actionHelper.js").VcsAction>>}
|
457
|
+
*/
|
458
|
+
renderingActions,
|
367
459
|
/**
|
368
460
|
* @type {import("vue").ComputedRef<Array<VcsListItem>>}
|
369
461
|
*/
|
370
|
-
renderingItems
|
371
|
-
let items = props.items.filter((i) => i.visible !== false);
|
372
|
-
if (query.value) {
|
373
|
-
items = items.filter((i) => filterPredicate(i, query.value));
|
374
|
-
}
|
375
|
-
return items;
|
376
|
-
}),
|
462
|
+
renderingItems,
|
377
463
|
/** @type {import("vue").Ref<Array<VcsListItem>>} */
|
378
464
|
selected,
|
379
465
|
/**
|
@@ -381,6 +467,9 @@
|
|
381
467
|
* @param {PointerEvent} event
|
382
468
|
*/
|
383
469
|
select(item, event) {
|
470
|
+
if (Array.isArray(item.clickedCallbacks)) {
|
471
|
+
item.clickedCallbacks.forEach((cb) => cb(event));
|
472
|
+
}
|
384
473
|
if (!props.selectable || item.disabled) {
|
385
474
|
return;
|
386
475
|
}
|
@@ -398,12 +487,12 @@
|
|
398
487
|
} else if (event.shiftKey) {
|
399
488
|
let firstIndex = 0;
|
400
489
|
if (firstSelected) {
|
401
|
-
firstIndex =
|
490
|
+
firstIndex = renderingItems.value.indexOf(firstSelected);
|
402
491
|
}
|
403
|
-
const currentIndex =
|
492
|
+
const currentIndex = renderingItems.value.indexOf(item);
|
404
493
|
if (firstIndex > -1 && currentIndex > -1) {
|
405
494
|
const currentSelection = [...selected.value];
|
406
|
-
selected.value =
|
495
|
+
selected.value = renderingItems.value.slice(
|
407
496
|
Math.min(firstIndex, currentIndex),
|
408
497
|
Math.max(firstIndex, currentIndex) + 1,
|
409
498
|
);
|
@@ -490,16 +579,6 @@
|
|
490
579
|
firstSelected = null;
|
491
580
|
emit('input', selected.value);
|
492
581
|
},
|
493
|
-
selectAll() {
|
494
|
-
const currentSelection = [...selected.value];
|
495
|
-
selected.value = this.renderingItems.filter((item) => !item.disabled);
|
496
|
-
selected.value.forEach((item) => {
|
497
|
-
if (item.selectionChanged && !currentSelection.includes(item)) {
|
498
|
-
item.selectionChanged(true);
|
499
|
-
}
|
500
|
-
});
|
501
|
-
emit('input', selected.value);
|
502
|
-
},
|
503
582
|
drag,
|
504
583
|
drop,
|
505
584
|
titles,
|
@@ -521,6 +600,13 @@
|
|
521
600
|
}
|
522
601
|
return '';
|
523
602
|
}),
|
603
|
+
rename(item, newTitle) {
|
604
|
+
if (newTitle) {
|
605
|
+
emit('item-renamed', { item, newTitle });
|
606
|
+
item.titleChanged?.(newTitle);
|
607
|
+
}
|
608
|
+
},
|
609
|
+
hasIntermediateSlot: computed(() => !!slots['item.intermediate']),
|
524
610
|
};
|
525
611
|
},
|
526
612
|
};
|
@@ -542,6 +628,11 @@
|
|
542
628
|
.v-list-item__dragged {
|
543
629
|
background-color: var(--v-base-lighten2) !important;
|
544
630
|
}
|
631
|
+
.v-list-item__selected {
|
632
|
+
border-left: solid 4px;
|
633
|
+
border-left-color: var(--v-primary-base);
|
634
|
+
padding-left: 12px !important;
|
635
|
+
}
|
545
636
|
.v-list-item {
|
546
637
|
padding: 4px 8px 4px 16px;
|
547
638
|
&.vcs-draggable-item:hover {
|
@@ -0,0 +1,227 @@
|
|
1
|
+
/**
|
2
|
+
* @param {import("vue").Ref<VcsListItem[]>} items
|
3
|
+
* @param {import("vue").Ref<VcsListItem[]>} selected
|
4
|
+
* @param {function(string, ...any[]):void} emit
|
5
|
+
* @returns {Array<import("../../actions/actionHelper.js").VcsAction>}
|
6
|
+
*/
|
7
|
+
export function createSelectionActions(items: import("vue").Ref<VcsListItem[]>, selected: import("vue").Ref<VcsListItem[]>, emit: (arg0: string, ...args: any[][]) => void): Array<import("../../actions/actionHelper.js").VcsAction>;
|
8
|
+
declare const _default: import("vue").DefineComponent<{
|
9
|
+
items: {
|
10
|
+
type: ArrayConstructor;
|
11
|
+
required: true;
|
12
|
+
};
|
13
|
+
draggable: {
|
14
|
+
type: BooleanConstructor;
|
15
|
+
default: boolean;
|
16
|
+
};
|
17
|
+
selectable: {
|
18
|
+
type: BooleanConstructor;
|
19
|
+
default: boolean;
|
20
|
+
};
|
21
|
+
singleSelect: {
|
22
|
+
type: BooleanConstructor;
|
23
|
+
default: boolean;
|
24
|
+
};
|
25
|
+
value: {
|
26
|
+
type: ArrayConstructor;
|
27
|
+
default: () => never[];
|
28
|
+
};
|
29
|
+
searchable: {
|
30
|
+
type: BooleanConstructor;
|
31
|
+
default: boolean;
|
32
|
+
};
|
33
|
+
searchbarPlaceholder: {
|
34
|
+
type: StringConstructor;
|
35
|
+
default: undefined;
|
36
|
+
};
|
37
|
+
showTitle: {
|
38
|
+
type: BooleanConstructor;
|
39
|
+
default: boolean;
|
40
|
+
};
|
41
|
+
actionButtonListOverflowCount: {
|
42
|
+
type: NumberConstructor;
|
43
|
+
required: false;
|
44
|
+
default: undefined;
|
45
|
+
};
|
46
|
+
title: {
|
47
|
+
type: StringConstructor;
|
48
|
+
required: false;
|
49
|
+
default: string;
|
50
|
+
};
|
51
|
+
icon: {
|
52
|
+
type: StringConstructor;
|
53
|
+
required: false;
|
54
|
+
default: undefined;
|
55
|
+
};
|
56
|
+
tooltip: {
|
57
|
+
type: StringConstructor;
|
58
|
+
required: false;
|
59
|
+
default: string;
|
60
|
+
};
|
61
|
+
actions: {
|
62
|
+
type: ArrayConstructor;
|
63
|
+
required: false;
|
64
|
+
default: () => never[];
|
65
|
+
};
|
66
|
+
}, {
|
67
|
+
query: import("vue").Ref<string>;
|
68
|
+
hovering: import("vue").Ref<number | undefined>;
|
69
|
+
dragging: import("vue").Ref<number | undefined>;
|
70
|
+
isDraggable: import("vue").ComputedRef<any>;
|
71
|
+
borderBottom: (index: any) => boolean;
|
72
|
+
borderTop: (index: any) => boolean;
|
73
|
+
lightenEven: import("vue").ComputedRef<boolean>;
|
74
|
+
/**
|
75
|
+
* @type {import("vue").ComputedRef<Array<import("../../actions/actionHelper.js").VcsAction>>}
|
76
|
+
*/
|
77
|
+
renderingActions: import("vue").ComputedRef<Array<import("../../actions/actionHelper.js").VcsAction>>;
|
78
|
+
/**
|
79
|
+
* @type {import("vue").ComputedRef<Array<VcsListItem>>}
|
80
|
+
*/
|
81
|
+
renderingItems: import("vue").ComputedRef<Array<VcsListItem>>;
|
82
|
+
/** @type {import("vue").Ref<Array<VcsListItem>>} */
|
83
|
+
selected: import("vue").Ref<Array<VcsListItem>>;
|
84
|
+
/**
|
85
|
+
* @param {VcsListItem} item
|
86
|
+
* @param {PointerEvent} event
|
87
|
+
*/
|
88
|
+
select(item: VcsListItem, event: PointerEvent): void;
|
89
|
+
/**
|
90
|
+
* @param {VcsListItem} item
|
91
|
+
*/
|
92
|
+
add(item: VcsListItem): void;
|
93
|
+
/**
|
94
|
+
* @param {VcsListItem} item
|
95
|
+
*/
|
96
|
+
remove(item: VcsListItem): void;
|
97
|
+
clear(): void;
|
98
|
+
drag: (e: MouseEvent, item: VcsListItem, index: number) => void;
|
99
|
+
drop: (e: MouseEvent, targetIndex: number) => void;
|
100
|
+
titles: import("vue").Ref<never[]>;
|
101
|
+
overflowTitle(index: any, alternative: any): any;
|
102
|
+
listHeader: import("vue").Ref<null>;
|
103
|
+
listHeaderTooltip: import("vue").ComputedRef<any>;
|
104
|
+
rename(item: any, newTitle: any): void;
|
105
|
+
hasIntermediateSlot: import("vue").ComputedRef<boolean>;
|
106
|
+
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{
|
107
|
+
items: {
|
108
|
+
type: ArrayConstructor;
|
109
|
+
required: true;
|
110
|
+
};
|
111
|
+
draggable: {
|
112
|
+
type: BooleanConstructor;
|
113
|
+
default: boolean;
|
114
|
+
};
|
115
|
+
selectable: {
|
116
|
+
type: BooleanConstructor;
|
117
|
+
default: boolean;
|
118
|
+
};
|
119
|
+
singleSelect: {
|
120
|
+
type: BooleanConstructor;
|
121
|
+
default: boolean;
|
122
|
+
};
|
123
|
+
value: {
|
124
|
+
type: ArrayConstructor;
|
125
|
+
default: () => never[];
|
126
|
+
};
|
127
|
+
searchable: {
|
128
|
+
type: BooleanConstructor;
|
129
|
+
default: boolean;
|
130
|
+
};
|
131
|
+
searchbarPlaceholder: {
|
132
|
+
type: StringConstructor;
|
133
|
+
default: undefined;
|
134
|
+
};
|
135
|
+
showTitle: {
|
136
|
+
type: BooleanConstructor;
|
137
|
+
default: boolean;
|
138
|
+
};
|
139
|
+
actionButtonListOverflowCount: {
|
140
|
+
type: NumberConstructor;
|
141
|
+
required: false;
|
142
|
+
default: undefined;
|
143
|
+
};
|
144
|
+
title: {
|
145
|
+
type: StringConstructor;
|
146
|
+
required: false;
|
147
|
+
default: string;
|
148
|
+
};
|
149
|
+
icon: {
|
150
|
+
type: StringConstructor;
|
151
|
+
required: false;
|
152
|
+
default: undefined;
|
153
|
+
};
|
154
|
+
tooltip: {
|
155
|
+
type: StringConstructor;
|
156
|
+
required: false;
|
157
|
+
default: string;
|
158
|
+
};
|
159
|
+
actions: {
|
160
|
+
type: ArrayConstructor;
|
161
|
+
required: false;
|
162
|
+
default: () => never[];
|
163
|
+
};
|
164
|
+
}>>, {
|
165
|
+
value: unknown[];
|
166
|
+
title: string;
|
167
|
+
tooltip: string;
|
168
|
+
icon: string;
|
169
|
+
actions: unknown[];
|
170
|
+
searchbarPlaceholder: string;
|
171
|
+
draggable: boolean;
|
172
|
+
selectable: boolean;
|
173
|
+
singleSelect: boolean;
|
174
|
+
searchable: boolean;
|
175
|
+
showTitle: boolean;
|
176
|
+
actionButtonListOverflowCount: number;
|
177
|
+
}>;
|
178
|
+
export default _default;
|
179
|
+
export type VcsListItem = {
|
180
|
+
name: string;
|
181
|
+
/**
|
182
|
+
* - Whether to display this item or not.
|
183
|
+
*/
|
184
|
+
visible?: boolean | undefined;
|
185
|
+
/**
|
186
|
+
* - Whether this item should be displayed as disabled.
|
187
|
+
*/
|
188
|
+
disabled?: boolean | undefined;
|
189
|
+
/**
|
190
|
+
* - Whether the title of this item is currently in edit mode.
|
191
|
+
*/
|
192
|
+
rename?: boolean | undefined;
|
193
|
+
/**
|
194
|
+
* - The title to be displayed
|
195
|
+
*/
|
196
|
+
title: string;
|
197
|
+
tooltip?: string | undefined;
|
198
|
+
/**
|
199
|
+
* - An optional icon to display with this item. Can be a URL or HTMLElement.
|
200
|
+
*/
|
201
|
+
icon?: string | HTMLCanvasElement | HTMLImageElement | undefined;
|
202
|
+
/**
|
203
|
+
* - Shows badge, if item has an update.
|
204
|
+
*/
|
205
|
+
hasUpdate?: boolean | undefined;
|
206
|
+
actions?: import("../../actions/actionHelper.js").VcsAction[] | undefined;
|
207
|
+
/**
|
208
|
+
* - An array of callbacks called on item click. called before selection update
|
209
|
+
*/
|
210
|
+
clickedCallbacks?: Array<(arg0: PointerEvent) => void> | undefined;
|
211
|
+
/**
|
212
|
+
* - A callback called if the selection changes with the current selection status. called before value update
|
213
|
+
*/
|
214
|
+
selectionChanged?: ((arg0: boolean) => void) | undefined;
|
215
|
+
/**
|
216
|
+
* - A callback called if the title changes via rename action. called before value update
|
217
|
+
*/
|
218
|
+
titleChanged?: ((arg0: string) => void) | undefined;
|
219
|
+
};
|
220
|
+
export type ItemMovedEvent = {
|
221
|
+
item: VcsListItem;
|
222
|
+
targetIndex: number;
|
223
|
+
};
|
224
|
+
export type ItemRenamedEvent = {
|
225
|
+
item: VcsListItem;
|
226
|
+
newTitle: string;
|
227
|
+
};
|
@@ -18,7 +18,9 @@
|
|
18
18
|
<VcsTreeviewLeaf
|
19
19
|
:item="item"
|
20
20
|
:class="[item.clickable ? 'cursor-pointer' : '']"
|
21
|
-
@click.native="
|
21
|
+
@click.native="
|
22
|
+
item.clickable && !item.disabled && item.clicked($event)
|
23
|
+
"
|
22
24
|
/>
|
23
25
|
</template>
|
24
26
|
</v-treeview>
|