@vcmap/ui 6.0.0-rc.1 → 6.0.0-rc.10
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/build/build.js +40 -60
- package/build/buildHelpers.js +63 -20
- package/build/buildTypes.js +9 -5
- package/build/bundle.js +1 -1
- package/build/info/conf.json +1 -1
- package/build/info/publish.js +25 -31
- package/build/lintTypes.js +5 -0
- package/config/aerowest.config.json +12 -2
- package/config/base.config.json +22 -17
- package/config/dev.config.json +164 -4
- package/config/projects.config.json +3 -1
- package/config/solar.config.json +65 -0
- package/config/splashscreen.config.json +45 -0
- package/config/theming.config.json +68 -0
- package/config/www.config.json +39 -23
- package/dist/.htaccess +7 -0
- package/dist/assets/@mdi/font/README.md +25 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min-680621ca.css +3 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
- package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -1
- package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
- package/dist/assets/cesium/Workers/{chunk-JB2LWGH4.js → chunk-2LOWCAMW.js} +14 -14
- package/dist/assets/cesium/Workers/{chunk-Z24VKNDO.js → chunk-2PTKXHJB.js} +12 -12
- package/dist/assets/cesium/Workers/{chunk-AHKEZ2OE.js → chunk-3HQMMUPU.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-V3NGATMV.js → chunk-3IFRSGEY.js} +11 -13
- package/dist/assets/cesium/Workers/{chunk-66QLLS45.js → chunk-44QAAS4P.js} +11 -9
- package/dist/assets/cesium/Workers/{chunk-TFC6TZ3S.js → chunk-56EDBCGT.js} +33 -22
- package/dist/assets/cesium/Workers/{chunk-3W63OHNJ.js → chunk-57H6I3SV.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-PFQBCKBM.js → chunk-6SQMLVGV.js} +5206 -3483
- package/dist/assets/cesium/Workers/{chunk-OZJDGN5F.js → chunk-7YIOHQWH.js} +16 -16
- package/dist/assets/cesium/Workers/{chunk-XTY7B2N6.js → chunk-7ZZ5LMZY.js} +17 -16
- package/dist/assets/cesium/Workers/{chunk-HARLBUOL.js → chunk-BVKITG4N.js} +11 -8
- package/dist/assets/cesium/Workers/{chunk-AFFLIKOH.js → chunk-C3EQ27WF.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-RW6LU2CJ.js → chunk-C4WPMOKT.js} +6 -5
- package/dist/assets/cesium/Workers/{chunk-OYFCF4PL.js → chunk-EDLRS3AW.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-C3SXRKRW.js → chunk-EJVGYGLF.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-PCJWUS4M.js → chunk-FFLMY4TE.js} +830 -14
- package/dist/assets/cesium/Workers/{chunk-MPAZH4BF.js → chunk-GBT7MJ6X.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-ZA25DG4Y.js → chunk-HJMNR3GC.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-JS3AW5BK.js → chunk-HP5XLODI.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-34YUDLRP.js → chunk-IBRIWOCM.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-XY7MGBKC.js → chunk-IZGUQO6Q.js} +14 -16
- package/dist/assets/cesium/Workers/{chunk-KTJSNCK4.js → chunk-IZJ42N4W.js} +230 -20
- package/dist/assets/cesium/Workers/{chunk-QMEMZIJI.js → chunk-JBSKHTNX.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-QIKODV5G.js → chunk-JISPSEF3.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-K36FEYS7.js → chunk-JSQJDZI4.js} +16 -12
- package/dist/assets/cesium/Workers/{chunk-X4SU25DT.js → chunk-JXVLNVXC.js} +10 -12
- package/dist/assets/cesium/Workers/chunk-KHZNBFOH.js +963 -0
- package/dist/assets/cesium/Workers/{chunk-KD4Y7CZL.js → chunk-L5GODJAR.js} +15 -17
- package/dist/assets/cesium/Workers/{chunk-O5AMBQ36.js → chunk-LJ2JQHJT.js} +13 -8
- package/dist/assets/cesium/Workers/{chunk-ABADGKYE.js → chunk-LLAF3CPH.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-CHHNOC2C.js → chunk-M24KHENR.js} +95 -155
- package/dist/assets/cesium/Workers/{chunk-2R5O53JW.js → chunk-NDDI2LWR.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-QT3MPEMI.js → chunk-NGZJIN5Z.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-ZFOBYDGF.js → chunk-O72GZTSE.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-IPA4EACJ.js → chunk-OPP2SKMA.js} +12 -12
- package/dist/assets/cesium/Workers/{chunk-4MFFIWUA.js → chunk-P6TRGU3S.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-GLZBE3ML.js → chunk-QN6TBED4.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-MYZB7C4T.js → chunk-QQOZO7KO.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-HQF437NJ.js → chunk-RJM36CNY.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-CTELOFLA.js → chunk-RTJKHZWU.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-J3JY6I2C.js → chunk-TI3TRKIC.js} +425 -489
- package/dist/assets/cesium/Workers/{chunk-OAVNIRB4.js → chunk-TK5IIG2F.js} +5 -7
- package/dist/assets/cesium/Workers/{chunk-WXTV4ATB.js → chunk-U5HSOKPQ.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-N3JIFFX2.js → chunk-WGDFYAGC.js} +5 -6
- package/dist/assets/cesium/Workers/{chunk-EW2GWJYB.js → chunk-X7IQYYHF.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-LLUNNUJV.js → chunk-XIUSRWL6.js} +9 -5
- package/dist/assets/cesium/Workers/{chunk-CCFQRR6D.js → chunk-XWOUPGUF.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-6BTKZDRG.js → chunk-YCDZX5LS.js} +3 -5
- package/dist/assets/cesium/Workers/{chunk-RP2A7BR5.js → chunk-YK3QIKY7.js} +12 -14
- package/dist/assets/cesium/Workers/{chunk-227AJNOA.js → chunk-YSIJTJ7N.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-A4JVFBQ3.js → chunk-Z2QP3CXW.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-VLGOATD6.js → chunk-ZVUUPJEM.js} +22 -22
- package/dist/assets/cesium/Workers/combineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -15
- package/dist/assets/cesium/Workers/createCircleGeometry.js +29 -26
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +35 -36
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +27 -28
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -19
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +17 -19
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -25
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +18 -18
- package/dist/assets/cesium/Workers/createGeometry.js +52 -33
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +28 -29
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -15
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -14
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +451 -176
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +24 -25
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +31 -33
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +27 -29
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +30 -31
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +21 -24
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +14 -16
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -23
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -21
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +14 -16
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +24 -25
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +29 -26
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -21
- package/dist/assets/cesium/Workers/createWallGeometry.js +23 -24
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +35 -19
- package/dist/assets/cesium/Workers/decodeI3S.js +600 -92
- package/dist/assets/cesium/Workers/transcodeKTX2.js +58 -93
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +21 -22
- package/dist/assets/{cesium.6b12b4.js → cesium-9ea5ba6e.js} +73315 -68035
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.074b78.js → core-9b003470.js} +7135 -5664
- package/dist/assets/core.js +1 -1
- package/dist/assets/{ol.8b2e3a.js → ol-8373d6ac.js} +43066 -44325
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-163311a7.css +1 -0
- package/dist/assets/{ui.715986.js → ui-163311a7.js} +14696 -13170
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue-0f6dd813.js +6083 -0
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify.28d881.css → vuetify-e2c4b35c.css} +2 -2
- package/dist/assets/{vuetify.28d881.js → vuetify-e2c4b35c.js} +8699 -8824
- package/dist/assets/vuetify.js +1 -1
- package/dist/index.html +11 -10
- package/index.d.ts +36 -20
- package/index.html +5 -5
- package/index.js +20 -10
- package/lib/olLib.js +90 -23
- package/package.json +25 -23
- package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
- package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
- package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
- package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
- package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
- package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
- package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +41 -1
- package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +73 -34
- package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
- package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +2 -2
- package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +50 -96
- package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +14 -11
- package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
- package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
- package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
- package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +29 -90
- package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
- package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
- package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
- package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
- package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
- package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
- package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
- package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
- package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +86 -70
- package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
- package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
- package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +40 -54
- package/plugins/package.json +23 -21
- package/public/assets/@mdi/font/README.md +25 -0
- package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
- package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
- package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/src/actions/StyleSelector.vue +37 -21
- package/src/actions/StyleSelector.vue.d.ts +5 -5
- package/src/actions/actionHelper.d.ts +4 -11
- package/src/actions/actionHelper.js +35 -27
- package/src/actions/flightActions.js +44 -23
- package/src/actions/listActions.d.ts +5 -12
- package/src/actions/listActions.js +6 -22
- package/src/actions/stateRefAction.js +2 -2
- package/src/application/VcsApp.vue +196 -85
- package/src/application/VcsApp.vue.d.ts +309 -4
- package/src/application/VcsAppWrapper.vue +1 -1
- package/src/application/VcsAttributions.vue +4 -15
- package/src/application/VcsAttributionsFooter.vue +28 -18
- package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
- package/src/application/VcsContainer.vue +27 -10
- package/src/application/VcsContainer.vue.d.ts +248 -0
- package/src/application/VcsMainMap.vue +8 -8
- package/src/application/VcsMainMap.vue.d.ts +2 -2
- package/src/application/VcsMap.vue +1 -0
- package/src/application/VcsNavbar.vue +15 -3
- package/src/application/VcsNavbar.vue.d.ts +2 -1
- package/src/application/VcsPositionDisplay.vue +10 -25
- package/src/application/VcsPositionDisplay.vue.d.ts +0 -1
- package/src/application/VcsSettings.vue +11 -18
- package/src/application/VcsSplashScreen.vue +43 -55
- package/src/application/VcsSplashScreen.vue.d.ts +4 -6
- package/src/application/VcsTextPage.vue +13 -44
- package/src/application/VcsTextPage.vue.d.ts +4 -8
- package/src/application/VcsTextPageFooter.vue +26 -41
- package/src/application/attributionsHelper.d.ts +20 -22
- package/src/application/attributionsHelper.js +14 -10
- package/src/callback/vcsCallback.d.ts +2 -2
- package/src/callback/vcsCallback.js +1 -1
- package/src/components/buttons/VcsActionButtonList.vue +66 -7
- package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
- package/src/components/buttons/VcsButton.vue +8 -10
- package/src/components/buttons/VcsButton.vue.d.ts +4 -4
- package/src/components/buttons/VcsFormButton.vue +9 -9
- package/src/components/buttons/VcsFormButton.vue.d.ts +3 -3
- package/src/components/buttons/VcsToolButton.vue +9 -7
- package/src/components/buttons/VcsToolButton.vue.d.ts +5 -5
- package/src/components/composables.d.ts +14 -2
- package/src/components/composables.js +106 -4
- package/src/components/extent/VcsExtent.vue +11 -7
- package/src/components/extent/VcsExtent.vue.d.ts +1 -0
- package/src/components/extent/VcsExtentEditor.vue +2 -1
- package/src/components/flight/VcsFlightAnchorsComponent.vue +64 -36
- package/src/components/flight/VcsFlightComponent.vue +25 -30
- package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
- package/src/components/flight/VcsFlightEditor.vue +1 -0
- package/src/components/flight/VcsFlightPlayer.vue +47 -19
- package/src/components/form-inputs-controls/VcsCheckbox.vue +32 -13
- package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +10 -0
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +14 -17
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +2 -4
- package/src/components/form-inputs-controls/VcsCoordinate.vue +17 -5
- package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +5 -2
- package/src/components/form-inputs-controls/VcsDatePicker.vue +53 -59
- package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +2 -64
- package/src/components/form-inputs-controls/VcsFileInput.vue +18 -19
- package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsLabel.vue +65 -3
- package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +32 -1
- package/src/components/form-inputs-controls/VcsRadio.vue +26 -10
- package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +2 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +47 -47
- package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +9 -6
- package/src/components/form-inputs-controls/VcsSlider.vue +53 -15
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +26 -2
- package/src/components/form-inputs-controls/VcsTextArea.vue +56 -40
- package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +46 -16
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +12 -1
- package/src/components/form-inputs-controls/VcsWizard.vue +89 -112
- package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +3 -13
- package/src/components/form-inputs-controls/VcsWizardStep.vue +78 -58
- package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +24 -11
- package/src/components/form-inputs-controls/vcsTextField.scss +21 -13
- package/src/components/form-output/VcsFormattedNumber.vue +46 -14
- package/src/components/form-output/VcsFormattedNumber.vue.d.ts +27 -0
- package/src/components/form-output/VcsMarkdown.vue +56 -0
- package/src/{application/VcsCustomScreen.vue.d.ts → components/form-output/VcsMarkdown.vue.d.ts} +7 -5
- package/src/components/form-output/markdownHelper.d.ts +30 -0
- package/src/components/form-output/markdownHelper.js +398 -0
- package/src/components/import/VcsFileDrop.vue +9 -6
- package/src/components/import/VcsImportComponent.vue +12 -8
- package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
- package/src/components/lists/VcsActionList.vue +50 -34
- package/src/components/lists/VcsActionList.vue.d.ts +3 -1
- package/src/components/lists/VcsList.vue +105 -192
- package/src/components/lists/VcsList.vue.d.ts +18 -66
- package/src/components/lists/VcsListItemComponent.vue +216 -0
- package/src/components/lists/VcsListItemComponent.vue.d.ts +83 -0
- package/src/components/lists/VcsTreeview.vue +119 -26
- package/src/components/lists/VcsTreeview.vue.d.ts +26 -3
- package/src/components/lists/VcsTreeviewSearchbar.vue +17 -6
- package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
- package/src/components/lists/VcsTreeviewTitle.vue +40 -0
- package/src/components/modelHelper.d.ts +21 -8
- package/src/components/modelHelper.js +50 -8
- package/src/components/notification/VcsBadge.vue +2 -2
- package/src/components/notification/VcsHelp.vue +6 -7
- package/src/components/notification/VcsHelp.vue.d.ts +0 -8
- package/src/components/notification/VcsHelpTooltip.vue +48 -0
- package/src/components/notification/VcsHelpTooltip.vue.d.ts +25 -0
- package/src/components/plugins/AbstractConfigEditor.vue +2 -23
- package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
- package/src/components/section/VcsExpansionPanel.vue +111 -0
- package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
- package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +13 -7
- package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +2 -3
- package/src/components/style/MenuWrapper.vue +25 -27
- package/src/components/style/MenuWrapper.vue.d.ts +4 -4
- package/src/components/style/VcsFeatureStyleComponent.vue +1 -0
- package/src/components/style/VcsFillMenu.vue +10 -16
- package/src/components/style/VcsFillMenu.vue.d.ts +0 -18
- package/src/components/style/VcsFillSelector.vue +14 -16
- package/src/components/style/VcsImageMenu.vue +9 -25
- package/src/components/style/VcsImageMenu.vue.d.ts +0 -27
- package/src/components/style/VcsImageSelector.vue +115 -172
- package/src/components/style/VcsImageSelector.vue.d.ts +16 -15
- package/src/components/style/VcsStrokeMenu.vue +9 -15
- package/src/components/style/VcsStrokeMenu.vue.d.ts +0 -18
- package/src/components/style/VcsStrokeSelector.vue +17 -21
- package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
- package/src/components/style/VcsTextMenu.vue +12 -14
- package/src/components/style/VcsTextMenu.vue.d.ts +0 -9
- package/src/components/style/VcsTextSelector.vue +80 -96
- package/src/components/style/VcsTextSelector.vue.d.ts +20 -22
- package/src/components/style/VcsVectorStyleComponent.vue +9 -20
- package/src/components/style/VcsVectorStyleComponent.vue.d.ts +1 -1
- package/src/components/style/composables.d.ts +0 -14
- package/src/components/style/composables.js +0 -49
- package/src/components/tables/VcsDataTable.vue +43 -33
- package/src/components/tables/VcsDataTable.vue.d.ts +2 -1
- package/src/components/tables/VcsTable.vue +46 -62
- package/src/components/tables/VcsTable.vue.d.ts +30 -17
- package/src/components/tables/VcsTableCell.vue +72 -0
- package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +87 -51
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +9 -7
- package/src/components/vector-properties/VcsFeatureTransforms.vue +45 -6
- package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +2 -1
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +541 -596
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +222 -24
- package/src/components/viewpoint/VcsViewpointComponent.vue +36 -20
- package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
- package/src/components/viewpoint/VcsViewpointEditor.vue +3 -1
- package/src/contentTree/LayerTree.vue +10 -28
- package/src/contentTree/LayerTree.vue.d.ts +1 -1
- package/src/contentTree/contentTreeCollection.d.ts +1 -0
- package/src/contentTree/contentTreeCollection.js +45 -11
- package/src/contentTree/contentTreeItem.d.ts +4 -4
- package/src/contentTree/contentTreeItem.js +8 -8
- package/src/contentTree/layerContentTreeItem.d.ts +8 -5
- package/src/contentTree/layerContentTreeItem.js +48 -34
- package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
- package/src/contentTree/layerGroupContentTreeItem.js +22 -3
- package/src/contentTree/obliqueCollectionContentTreeItem.js +6 -1
- package/src/featureInfo/AddressBalloonComponent.vue +1 -1
- package/src/featureInfo/BalloonComponent.vue +33 -26
- package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
- package/src/featureInfo/IframeComponent.vue +6 -1
- package/src/featureInfo/MarkdownBalloonComponent.vue +5 -3
- package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
- package/src/featureInfo/abstractFeatureInfoView.d.ts +19 -4
- package/src/featureInfo/abstractFeatureInfoView.js +38 -13
- package/src/featureInfo/balloonHelper.js +1 -1
- package/src/featureInfo/featureInfo.d.ts +7 -7
- package/src/featureInfo/featureInfo.js +59 -41
- package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
- package/src/featureInfo/iframeFeatureInfoView.js +15 -5
- package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
- package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
- package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
- package/src/featureInfo/markdownFeatureInfoView.js +9 -11
- package/src/featureInfo/tableFeatureInfoView.js +13 -4
- package/src/i18n/de.d.ts +59 -32
- package/src/i18n/de.js +28 -5
- package/src/i18n/en.d.ts +59 -32
- package/src/i18n/en.js +25 -2
- package/src/i18n/i18nCollection.d.ts +9 -15
- package/src/i18n/i18nCollection.js +3 -3
- package/src/init.d.ts +5 -38
- package/src/init.js +19 -18
- package/src/legend/StyleLegendItem.vue +4 -9
- package/src/legend/VcsLegend.vue +33 -55
- package/src/legend/VcsLegend.vue.d.ts +1 -0
- package/src/manager/buttonManager.js +4 -4
- package/src/manager/collectionManager/CollectionComponent.vue +18 -42
- package/src/manager/collectionManager/CollectionComponent.vue.d.ts +4 -2
- package/src/manager/collectionManager/CollectionComponentContent.vue +7 -6
- package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
- package/src/manager/collectionManager/CollectionComponentList.vue +11 -9
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +6 -4
- package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
- package/src/manager/collectionManager/CollectionComponentStandalone.vue +3 -2
- package/src/manager/collectionManager/CollectionManager.vue +1 -1
- package/src/manager/collectionManager/categoryManager.d.ts +1 -1
- package/src/manager/collectionManager/collectionComponentClass.d.ts +3 -3
- package/src/manager/collectionManager/collectionComponentClass.js +16 -15
- package/src/manager/collectionManager/collectionManager.d.ts +1 -1
- package/src/manager/collectionManager/collectionManager.js +10 -10
- package/src/manager/collectionManager/editorCollectionComponentClass.js +11 -8
- package/src/manager/contextMenu/ContextMenuComponent.vue +1 -1
- package/src/manager/contextMenu/contextMenuManager.js +2 -2
- package/src/manager/navbarManager.js +2 -2
- package/src/manager/panel/PanelComponent.vue +2 -9
- package/src/manager/panel/PanelManagerComponent.vue +9 -5
- package/src/manager/panel/panelHelper.js +3 -3
- package/src/manager/panel/panelManager.d.ts +9 -1
- package/src/manager/panel/panelManager.js +18 -6
- package/src/manager/toolbox/GroupToolboxComponent.vue +13 -7
- package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
- package/src/manager/toolbox/SelectToolboxComponent.vue +13 -8
- package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
- package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +28 -8
- package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -0
- package/src/manager/toolbox/toolboxManager.js +10 -10
- package/src/manager/window/WindowComponent.vue +13 -9
- package/src/manager/window/WindowComponentHeader.vue +33 -9
- package/src/manager/window/WindowComponentHeader.vue.d.ts +3 -0
- package/src/manager/window/WindowManager.vue +6 -3
- package/src/manager/window/windowManager.d.ts +71 -15
- package/src/manager/window/windowManager.js +32 -11
- package/src/navigation/MapNavigation.vue +52 -9
- package/src/navigation/ObliqueRotation.vue +2 -2
- package/src/navigation/OrientationToolsButton.vue +37 -26
- package/src/navigation/OrientationToolsButton.vue.d.ts +5 -1
- package/src/navigation/TiltSlider.vue +82 -88
- package/src/navigation/TiltSlider.vue.d.ts +10 -7
- package/src/navigation/VcsCompass.vue +17 -11
- package/src/navigation/VcsCompass.vue.d.ts +2 -0
- package/src/navigation/VcsZoomButton.vue +1 -1
- package/src/navigation/locatorHelper.js +4 -22
- package/src/navigation/overviewMap.js +5 -2
- package/src/notifier/NotifierComponent.vue +19 -16
- package/src/obliqueFallbackWarnings.d.ts +5 -0
- package/src/obliqueFallbackWarnings.js +54 -0
- package/src/search/ResultItem.vue +18 -6
- package/src/search/ResultsComponent.vue +32 -21
- package/src/search/ResultsComponent.vue.d.ts +2 -1
- package/src/search/SearchComponent.vue +14 -16
- package/src/search/SearchComponent.vue.d.ts +1 -0
- package/src/search/search.js +2 -2
- package/src/siteConfig.js +9 -9
- package/src/state.js +4 -4
- package/src/styles/_typography.scss +1 -2
- package/src/styles/main.scss +0 -4
- package/src/styles/vcsList.scss +1 -1
- package/src/uiConfig.d.ts +323 -7
- package/src/uiConfig.js +31 -17
- package/src/vcsUiApp.d.ts +90 -80
- package/src/vcsUiApp.js +61 -41
- package/src/vuePlugins/i18n.js +8 -0
- package/src/vuePlugins/vuetify.d.ts +88 -60
- package/src/vuePlugins/vuetify.js +134 -20
- package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
- package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
- package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +0 -3273
- package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +0 -73
- package/dist/assets/index-ca7EmZ3d.js +0 -1
- package/dist/assets/ui.715986.css +0 -1
- package/dist/assets/vue.0f2c53.js +0 -6096
- package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
- package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
- package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
- package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
- package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
- package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
- package/src/application/VcsCustomScreen.vue +0 -45
- package/src/application/markdownHelper.d.ts +0 -12
- package/src/application/markdownHelper.js +0 -85
- package/src/components/lists/VcsTreeviewLeaf.vue +0 -83
- package/src/components/notification/VcsTooltip.vue +0 -156
- package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
- package/src/components/vector-properties/composables.d.ts +0 -33
- package/src/components/vector-properties/composables.js +0 -100
- package/src/featureInfo/MarkdownComponent.vue +0 -16
- package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
- package/src/styles/_theming.scss +0 -73
- package/src/styles/settings.scss +0 -6
- package/src/styles/shades.scss +0 -4
- package/src/styles/variables.scss +0 -140
- package/src/styles/vcsFont.scss +0 -2
- package/src/styles/vcsGrid.scss +0 -3
- /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
- /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
- /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
- /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
- /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
- /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
- /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
- /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
- /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
- /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
- /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
- /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
- /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
@@ -1,26 +1,25 @@
|
|
1
1
|
<template>
|
2
|
-
<div class="d-contents">
|
2
|
+
<div class="d-contents vcs-list">
|
3
3
|
<vcs-treeview-searchbar
|
4
4
|
v-if="searchable"
|
5
5
|
:placeholder="searchbarPlaceholder"
|
6
6
|
v-model="query"
|
7
7
|
/>
|
8
|
-
<v-list
|
9
|
-
<v-list-item v-if="showTitle
|
8
|
+
<v-list :class="{ 'vcs-list__selectable': selectable }">
|
9
|
+
<v-list-item v-if="showTitle && title">
|
10
10
|
<template #prepend>
|
11
11
|
<v-icon v-if="icon">
|
12
12
|
{{ icon }}
|
13
13
|
</v-icon>
|
14
14
|
</template>
|
15
|
-
<v-list-item-title>
|
16
|
-
<
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
<span v-if="selectable && selected.length > 0">
|
15
|
+
<v-list-item-title class="font-weight-bold" ref="listHeader">
|
16
|
+
<span :class="{ 'vcs-list-title__selected': selected.length > 0 }">
|
17
|
+
{{ $st(title) }}
|
18
|
+
</span>
|
19
|
+
<v-tooltip v-if="listHeaderTooltip" activator="parent">
|
20
|
+
{{ $st(listHeaderTooltip) }}
|
21
|
+
</v-tooltip>
|
22
|
+
<span v-if="selectable && selected.length > 0" class="ml-1">
|
24
23
|
{{ `(${selected.length})` }}
|
25
24
|
</span>
|
26
25
|
</v-list-item-title>
|
@@ -32,90 +31,51 @@
|
|
32
31
|
/>
|
33
32
|
</template>
|
34
33
|
</v-list-item>
|
35
|
-
<
|
36
|
-
<
|
34
|
+
<template v-for="(item, index) in renderingItems">
|
35
|
+
<VcsListItemComponent
|
36
|
+
v-if="item"
|
37
|
+
:dragging="dragging === index"
|
38
|
+
:item="item"
|
39
|
+
:key="`item-${index}`"
|
37
40
|
:active="selected.includes(item)"
|
38
|
-
:disabled="item.disabled"
|
39
41
|
@mousedown.shift="$event.preventDefault()"
|
40
42
|
@mouseover="hovering = index"
|
41
43
|
@mouseout="hovering = undefined"
|
42
44
|
:draggable="isDraggable"
|
43
45
|
@dragstart="drag($event, item, index)"
|
44
46
|
@mouseup="drop($event, index)"
|
45
|
-
color="primary"
|
46
47
|
:class="{
|
47
48
|
'v-list-item__selected': selected.includes(item),
|
48
49
|
'v-list-item__lighten_even': lightenEven,
|
49
50
|
'v-list-item__lighten_odd': !lightenEven,
|
50
51
|
'vcs-draggable-item': isDraggable,
|
51
52
|
'v-list-item__dragged': dragging === index,
|
53
|
+
'v-list-item__dragged_over': dragging !== undefined,
|
52
54
|
'border-bottom': borderBottom(index),
|
53
55
|
'border-top': borderTop(index),
|
54
56
|
'cursor-pointer': selectable && !isDraggable,
|
55
57
|
}"
|
56
58
|
@click="select(item, $event)"
|
57
59
|
>
|
58
|
-
<template #
|
59
|
-
<
|
60
|
-
|
61
|
-
|
60
|
+
<template #append="scope">
|
61
|
+
<slot name="item.append" v-bind="{ ...scope, index, item }" />
|
62
|
+
</template>
|
63
|
+
<template #title="scope">
|
64
|
+
<slot name="item.title" v-bind="{ ...scope, index, item }" />
|
65
|
+
</template>
|
66
|
+
<template #subtitle="scope">
|
67
|
+
<slot name="item.subtitle" v-bind="{ ...scope, index, item }" />
|
62
68
|
</template>
|
63
|
-
<
|
64
|
-
|
65
|
-
dragging !== undefined
|
66
|
-
? undefined
|
67
|
-
: $st(item.tooltip || overflowTitle(index, item.title))
|
68
|
-
"
|
69
|
-
>
|
70
|
-
<template #activator="{ props }">
|
71
|
-
<v-list-item-title
|
72
|
-
v-bind="props"
|
73
|
-
ref="titles"
|
74
|
-
class="d-flex gc-2"
|
75
|
-
>
|
76
|
-
<slot name="item.prepend-title" :item="item" :index="index" />
|
77
|
-
<slot name="item.title" :item="item" :index="index">
|
78
|
-
<VcsTextField
|
79
|
-
v-if="item.rename"
|
80
|
-
:model-value="item.title"
|
81
|
-
autofocus
|
82
|
-
:no-padding="true"
|
83
|
-
@update:model-value="(value) => rename(item, value)"
|
84
|
-
@click.stop
|
85
|
-
@keydown.enter="item.rename = false"
|
86
|
-
@blur="item.rename = false"
|
87
|
-
:rules="[(v) => !!v || 'components.validation.required']"
|
88
|
-
/>
|
89
|
-
<span v-else>
|
90
|
-
{{ $st(item.title) }}
|
91
|
-
</span>
|
92
|
-
</slot>
|
93
|
-
<slot
|
94
|
-
name="item.append-title"
|
95
|
-
:item="item"
|
96
|
-
:index="index"
|
97
|
-
class="ml-auto"
|
98
|
-
/>
|
99
|
-
</v-list-item-title>
|
100
|
-
</template>
|
101
|
-
</VcsTooltip>
|
102
|
-
<template #append>
|
103
|
-
<VcsBadge v-if="item.hasUpdate" :color="'warning'" />
|
104
|
-
<vcs-action-button-list
|
105
|
-
v-if="item.actions?.length > 0"
|
106
|
-
:actions="item.actions"
|
107
|
-
:disabled="item.disabled"
|
108
|
-
:block-overflow="true"
|
109
|
-
:overflow-count="actionButtonListOverflowCount"
|
110
|
-
/>
|
69
|
+
<template #prepend="scope">
|
70
|
+
<slot name="item.prepend" v-bind="{ ...scope, index, item }" />
|
111
71
|
</template>
|
112
|
-
</
|
72
|
+
</VcsListItemComponent>
|
113
73
|
<slot name="item.intermediate" :item="item" :index="index" />
|
114
74
|
<div
|
115
75
|
v-if="hasIntermediateSlot"
|
116
76
|
:key="`item-intermediate-child-balance-${index}`"
|
117
77
|
/>
|
118
|
-
</
|
78
|
+
</template>
|
119
79
|
</v-list>
|
120
80
|
</div>
|
121
81
|
</template>
|
@@ -130,16 +90,21 @@
|
|
130
90
|
shallowRef,
|
131
91
|
watch,
|
132
92
|
} from 'vue';
|
133
|
-
import {
|
93
|
+
import {
|
94
|
+
VList,
|
95
|
+
VListItem,
|
96
|
+
VIcon,
|
97
|
+
VListItemTitle,
|
98
|
+
VTooltip,
|
99
|
+
} from 'vuetify/components';
|
100
|
+
import VcsListItemComponent from './VcsListItemComponent.vue';
|
134
101
|
import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
|
135
|
-
import VcsTooltip from '../notification/VcsTooltip.vue';
|
136
102
|
import VcsTreeviewSearchbar from './VcsTreeviewSearchbar.vue';
|
137
|
-
import
|
138
|
-
import VcsTextField from '../form-inputs-controls/VcsTextField.vue';
|
103
|
+
import { createEllipseTooltip } from '../composables.js';
|
139
104
|
|
140
105
|
/**
|
141
|
-
* @param {import("vue").Ref<VcsListItem[]>} items
|
142
|
-
* @param {import("vue").ShallowRef<VcsListItem[]>} selected
|
106
|
+
* @param {import("vue").Ref<import("./VcsListItemComponent.vue").VcsListItem[]>} items
|
107
|
+
* @param {import("vue").ShallowRef<import("./VcsListItemComponent.vue").VcsListItem[]>} selected
|
143
108
|
* @param {function(string, ...any[]):void} emit
|
144
109
|
* @returns {Array<import("../../actions/actionHelper.js").VcsAction>}
|
145
110
|
*/
|
@@ -176,34 +141,12 @@
|
|
176
141
|
];
|
177
142
|
}
|
178
143
|
|
179
|
-
/**
|
180
|
-
* @typedef {Object} VcsListItem
|
181
|
-
* @property {string} name
|
182
|
-
* @property {boolean} [visible] - Whether to display this item or not.
|
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.
|
185
|
-
* @property {string} title - The title to be displayed
|
186
|
-
* @property {string} [tooltip]
|
187
|
-
* @property {string|HTMLCanvasElement|HTMLImageElement|undefined} [icon] - An optional icon to display with this item. Can be a URL or HTMLElement.
|
188
|
-
* @property {boolean} [hasUpdate] - Shows badge, if item has an update.
|
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
|
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
|
193
|
-
*/
|
194
|
-
|
195
144
|
/**
|
196
145
|
* @typedef {Object} ItemMovedEvent
|
197
|
-
* @property {VcsListItem} item
|
146
|
+
* @property {import("./VcsListItemComponent.vue").VcsListItem} item
|
198
147
|
* @property {number} targetIndex
|
199
148
|
*/
|
200
149
|
|
201
|
-
/**
|
202
|
-
* @typedef {Object} ItemRenamedEvent
|
203
|
-
* @property {VcsListItem} item
|
204
|
-
* @property {string} newTitle
|
205
|
-
*/
|
206
|
-
|
207
150
|
/**
|
208
151
|
* @description
|
209
152
|
* The VCS list is intended to render items. Items can be selectable (by default, more than one) or only a single item can
|
@@ -216,12 +159,12 @@
|
|
216
159
|
* Clicking with CTRL adds or removes to a selection set.
|
217
160
|
* Clicking with SHIFT will create a selection range, starting or ending with the first item in the list
|
218
161
|
* or the last normally selected item (not the last item clicked with CTRL for instance).
|
219
|
-
* @vue-prop {Array<VcsListItem>} items
|
162
|
+
* @vue-prop {Array<import("./VcsListItemComponent.vue").VcsListItem>} items
|
220
163
|
* @vue-prop {boolean} [draggable=false]
|
221
164
|
* @vue-prop {boolean} [selectable=false]
|
222
165
|
* @vue-prop {boolean} [singleSelect=false]
|
223
|
-
* @vue-prop {Array<VcsListItem>} [value=[]] - the initial items to be selected.
|
224
|
-
* @vue-prop {boolean} [searchable=false] - if this list can have its items searched. you can provide your own predicate function by providing "filterPredicate" which is of type function(VcsListItem, string):boolean
|
166
|
+
* @vue-prop {Array<import("./VcsListItemComponent.vue").VcsListItem>} [value=[]] - the initial items to be selected.
|
167
|
+
* @vue-prop {boolean} [searchable=false] - if this list can have its items searched. you can provide your own predicate function by providing "filterPredicate" which is of type function(import("./VcsListItemComponent.vue").VcsListItem, string):boolean
|
225
168
|
* @vue-prop {string} [searchbarPlaceholder] - placeholder to render inside the search field
|
226
169
|
* @vue-prop {boolean} [showTitle=true] - show the title component
|
227
170
|
* @vue-prop {number} [actionButtonListOverflowCount] - overflow count to use for action lists in the title and items
|
@@ -230,24 +173,23 @@
|
|
230
173
|
* @vue-prop {string} [tooltip] - tooltip to render on the list title
|
231
174
|
* @vue-prop {Array<import("../../actions/actionHelper.js").VcsAction>} [actions] - actions to render in the list title
|
232
175
|
* @vue-event {ItemMovedEvent} item-moved - event triggered after item was dragged and is dropped
|
233
|
-
* @vue-
|
234
|
-
* @vue-data {slot} [#item.
|
235
|
-
* @vue-data {slot} [#item.
|
236
|
-
* @vue-data {slot} [#item.append
|
237
|
-
* @vue-data {slot} [#item.intermediate] - A slot to introduce content, e.g. buttons between two list items. Binds item and index.
|
176
|
+
* @vue-data {slot} [#item.prepend] - A slot that forwads to v-list-item prepend slot. Binds v-list-item append slot props, item and item index.
|
177
|
+
* @vue-data {slot} [#item.title] - A slot that forwards to v-list-item title slot. Binds v-list-item title slot props, item and item index.
|
178
|
+
* @vue-data {slot} [#item.subtitle] - A slot that forwards to v-list-item subtitle slot. Binds v-list-item subtitle slot props, item and item index.
|
179
|
+
* @vue-data {slot} [#item.append] - A slot that forwards to v-list-item append slot. Binds v-list-item append slot props, item and item index.
|
180
|
+
* @vue-data {slot} [#item.intermediate] - A slot to introduce content, e.g. buttons between two list items. Binds item and item index.
|
238
181
|
*/
|
239
182
|
export default {
|
240
183
|
name: 'VcsList',
|
241
184
|
components: {
|
242
|
-
|
185
|
+
VcsListItemComponent,
|
243
186
|
VcsTreeviewSearchbar,
|
244
187
|
VcsActionButtonList,
|
245
|
-
|
188
|
+
VTooltip,
|
246
189
|
VList,
|
247
190
|
VListItem,
|
248
191
|
VIcon,
|
249
192
|
VListItemTitle,
|
250
|
-
VcsTextField,
|
251
193
|
},
|
252
194
|
props: {
|
253
195
|
items: {
|
@@ -309,7 +251,7 @@
|
|
309
251
|
},
|
310
252
|
},
|
311
253
|
setup(props, { emit, slots }) {
|
312
|
-
/** @type {import("vue").ShallowRef<Array<VcsListItem>>} */
|
254
|
+
/** @type {import("vue").ShallowRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>} */
|
313
255
|
const selected = shallowRef([]);
|
314
256
|
/** @type {import("vue").Ref<string>} */
|
315
257
|
const query = ref('');
|
@@ -335,8 +277,7 @@
|
|
335
277
|
return !(!props.searchable && !props.showTitle);
|
336
278
|
});
|
337
279
|
let firstSelected = null;
|
338
|
-
const
|
339
|
-
const listHeader = ref(null);
|
280
|
+
const listHeader = ref();
|
340
281
|
|
341
282
|
watch(
|
342
283
|
props,
|
@@ -366,7 +307,7 @@
|
|
366
307
|
);
|
367
308
|
|
368
309
|
const vm = getCurrentInstance().proxy;
|
369
|
-
/** @type {function(VcsListItem, string):boolean} */
|
310
|
+
/** @type {function(import("./VcsListItemComponent.vue").VcsListItem, string):boolean} */
|
370
311
|
const filterPredicate = inject(
|
371
312
|
'filterPredicate',
|
372
313
|
(item, queryString = '') => {
|
@@ -378,12 +319,12 @@
|
|
378
319
|
);
|
379
320
|
|
380
321
|
/**
|
381
|
-
* @type {VcsListItem|null}
|
322
|
+
* @type {import("./VcsListItemComponent.vue").VcsListItem|null}
|
382
323
|
*/
|
383
324
|
let draggedItem = null;
|
384
325
|
|
385
326
|
const isDraggable = computed(() => {
|
386
|
-
return query.value
|
327
|
+
return !query.value && props.draggable;
|
387
328
|
});
|
388
329
|
|
389
330
|
/**
|
@@ -403,7 +344,7 @@
|
|
403
344
|
|
404
345
|
/**
|
405
346
|
* @param {MouseEvent} e
|
406
|
-
* @param {VcsListItem} item
|
347
|
+
* @param {import("./VcsListItemComponent.vue").VcsListItem} item
|
407
348
|
* @param {number} index
|
408
349
|
*/
|
409
350
|
function drag(e, item, index) {
|
@@ -416,7 +357,7 @@
|
|
416
357
|
}
|
417
358
|
|
418
359
|
/**
|
419
|
-
* @type {import("vue").ComputedRef<Array<VcsListItem>>}
|
360
|
+
* @type {import("vue").ComputedRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>}
|
420
361
|
*/
|
421
362
|
const renderingItems = computed(() => {
|
422
363
|
let items = props.items.filter((i) => i.visible !== false);
|
@@ -455,13 +396,13 @@
|
|
455
396
|
*/
|
456
397
|
renderingActions,
|
457
398
|
/**
|
458
|
-
* @type {import("vue").ComputedRef<Array<VcsListItem>>}
|
399
|
+
* @type {import("vue").ComputedRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>}
|
459
400
|
*/
|
460
401
|
renderingItems,
|
461
|
-
/** @type {import("vue").ShallowRef<Array<VcsListItem>>} */
|
402
|
+
/** @type {import("vue").ShallowRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>} */
|
462
403
|
selected,
|
463
404
|
/**
|
464
|
-
* @param {import("vue").UnwrapNestedRef<VcsListItem>} item
|
405
|
+
* @param {import("vue").UnwrapNestedRef<import("./VcsListItemComponent.vue").VcsListItem>} item
|
465
406
|
* @param {PointerEvent} event
|
466
407
|
*/
|
467
408
|
select(item, event) {
|
@@ -555,7 +496,7 @@
|
|
555
496
|
emit('update:modelValue', selected.value);
|
556
497
|
},
|
557
498
|
/**
|
558
|
-
* @param {import("vue").UnwrapNestedRefs<VcsListItem>} item
|
499
|
+
* @param {import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>} item
|
559
500
|
*/
|
560
501
|
add(item) {
|
561
502
|
if (!isReactive(item)) {
|
@@ -568,7 +509,7 @@
|
|
568
509
|
}
|
569
510
|
},
|
570
511
|
/**
|
571
|
-
* @param {import("vue").UnwrapNestedRefs<VcsListItem>} item
|
512
|
+
* @param {import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>} item
|
572
513
|
*/
|
573
514
|
remove(item) {
|
574
515
|
if (selected.value.includes(item) && !item.disabled) {
|
@@ -587,31 +528,12 @@
|
|
587
528
|
},
|
588
529
|
drag,
|
589
530
|
drop,
|
590
|
-
titles,
|
591
|
-
overflowTitle(index, alternative) {
|
592
|
-
const elem = titles.value[index];
|
593
|
-
if (elem && elem.offsetWidth < elem.scrollWidth) {
|
594
|
-
return alternative;
|
595
|
-
}
|
596
|
-
return '';
|
597
|
-
},
|
598
531
|
listHeader,
|
599
|
-
listHeaderTooltip:
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
if (elem && elem.offsetWidth < elem.scrollWidth) {
|
605
|
-
return props.title;
|
606
|
-
}
|
607
|
-
return '';
|
608
|
-
}),
|
609
|
-
rename(item, newTitle) {
|
610
|
-
if (newTitle) {
|
611
|
-
emit('item-renamed', { item, newTitle });
|
612
|
-
item.titleChanged?.(newTitle);
|
613
|
-
}
|
614
|
-
},
|
532
|
+
listHeaderTooltip: createEllipseTooltip(
|
533
|
+
computed(() => listHeader.value?.$el),
|
534
|
+
computed(() => props.tooltip),
|
535
|
+
computed(() => props.title),
|
536
|
+
),
|
615
537
|
hasIntermediateSlot: computed(() => !!slots['item.intermediate']),
|
616
538
|
};
|
617
539
|
},
|
@@ -620,67 +542,58 @@
|
|
620
542
|
|
621
543
|
<style lang="scss" scoped>
|
622
544
|
:deep(.v-list) {
|
623
|
-
.v-list-item__lighten_even {
|
624
|
-
|
625
|
-
background-color: var(--v-base-lighten4);
|
626
|
-
}
|
545
|
+
.v-list-item__lighten_even:nth-child(even) {
|
546
|
+
background-color: rgb(var(--v-theme-base-lighten-4));
|
627
547
|
}
|
628
|
-
.v-list-item__lighten_odd {
|
629
|
-
|
630
|
-
background-color: var(--v-base-lighten4);
|
631
|
-
}
|
548
|
+
.v-list-item__lighten_odd:nth-child(odd) {
|
549
|
+
background-color: rgb(var(--v-theme-base-lighten-4));
|
632
550
|
}
|
633
551
|
.v-list-item__dragged {
|
634
|
-
background-color: var(--v-base-
|
552
|
+
background-color: rgb(var(--v-theme-base-lighten-2)) !important;
|
553
|
+
}
|
554
|
+
.v-list-item__dragged_over:hover {
|
555
|
+
background-color: rgb(var(--v-theme-base-lighten-1)) !important;
|
635
556
|
}
|
636
557
|
.v-list-item__selected {
|
637
558
|
border-left: solid 4px;
|
638
|
-
border-left-color: var(--v-primary
|
559
|
+
border-left-color: rgb(var(--v-theme-primary));
|
560
|
+
color: rgb(var(--v-theme-primary));
|
639
561
|
padding-left: 12px !important;
|
640
562
|
}
|
563
|
+
.v-list-item--active {
|
564
|
+
.v-list-item__append {
|
565
|
+
color: rgb(var(--v-theme-on-surface));
|
566
|
+
}
|
567
|
+
}
|
641
568
|
.v-list-item {
|
642
|
-
padding: 4px 8px 4px 16px;
|
643
569
|
&.vcs-draggable-item:hover {
|
644
570
|
cursor: grab;
|
645
571
|
user-select: none;
|
646
572
|
}
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
}
|
651
|
-
&.border-top {
|
652
|
-
border-top: solid;
|
653
|
-
border-top-color: var(--v-base-lighten2);
|
654
|
-
}
|
655
|
-
&:after {
|
656
|
-
display: none;
|
657
|
-
}
|
658
|
-
&.font-weight-bold {
|
659
|
-
.v-list-item__title {
|
660
|
-
font-weight: 700;
|
573
|
+
&:hover {
|
574
|
+
.v-list-item__overlay {
|
575
|
+
background-color: rgb(var(--v-theme-base));
|
661
576
|
}
|
662
577
|
}
|
663
|
-
.
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
}
|
578
|
+
.vcs-list-title__selected {
|
579
|
+
width: 90%;
|
580
|
+
display: inline-block;
|
581
|
+
overflow: hidden;
|
582
|
+
text-overflow: ellipsis;
|
583
|
+
vertical-align: bottom;
|
670
584
|
}
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
}
|
585
|
+
}
|
586
|
+
|
587
|
+
&:not(.vcs-list__selectable) {
|
588
|
+
cursor: auto;
|
589
|
+
|
590
|
+
.v-list-item--link {
|
591
|
+
cursor: auto;
|
592
|
+
}
|
593
|
+
|
594
|
+
&:hover {
|
595
|
+
.v-list-item__overlay {
|
596
|
+
background-color: transparent;
|
684
597
|
}
|
685
598
|
}
|
686
599
|
}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
/**
|
2
|
-
* @param {import("vue").Ref<VcsListItem[]>} items
|
3
|
-
* @param {import("vue").ShallowRef<VcsListItem[]>} selected
|
2
|
+
* @param {import("vue").Ref<import("./VcsListItemComponent.vue").VcsListItem[]>} items
|
3
|
+
* @param {import("vue").ShallowRef<import("./VcsListItemComponent.vue").VcsListItem[]>} selected
|
4
4
|
* @param {function(string, ...any[]):void} emit
|
5
5
|
* @returns {Array<import("../../actions/actionHelper.js").VcsAction>}
|
6
6
|
*/
|
7
|
-
export function createSelectionActions(items: import("vue").Ref<VcsListItem[]>, selected: import("vue").ShallowRef<VcsListItem[]>, emit: (arg0: string, ...args: any[][]) => void): Array<import("../../actions/actionHelper.js").VcsAction>;
|
7
|
+
export function createSelectionActions(items: import("vue").Ref<import("./VcsListItemComponent.vue").VcsListItem[]>, selected: import("vue").ShallowRef<import("./VcsListItemComponent.vue").VcsListItem[]>, emit: (arg0: string, ...args: any[][]) => void): Array<import("../../actions/actionHelper.js").VcsAction>;
|
8
8
|
declare const _default: import("vue").DefineComponent<{
|
9
9
|
items: {
|
10
10
|
type: ArrayConstructor;
|
@@ -76,32 +76,29 @@ declare const _default: import("vue").DefineComponent<{
|
|
76
76
|
*/
|
77
77
|
renderingActions: import("vue").ComputedRef<Array<import("../../actions/actionHelper.js").VcsAction>>;
|
78
78
|
/**
|
79
|
-
* @type {import("vue").ComputedRef<Array<VcsListItem>>}
|
79
|
+
* @type {import("vue").ComputedRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>}
|
80
80
|
*/
|
81
|
-
renderingItems: import("vue").ComputedRef<Array<VcsListItem>>;
|
82
|
-
/** @type {import("vue").ShallowRef<Array<VcsListItem>>} */
|
83
|
-
selected: import("vue").ShallowRef<Array<VcsListItem>>;
|
81
|
+
renderingItems: import("vue").ComputedRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>;
|
82
|
+
/** @type {import("vue").ShallowRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>} */
|
83
|
+
selected: import("vue").ShallowRef<Array<import("./VcsListItemComponent.vue").VcsListItem>>;
|
84
84
|
/**
|
85
|
-
* @param {import("vue").UnwrapNestedRef<VcsListItem>} item
|
85
|
+
* @param {import("vue").UnwrapNestedRef<import("./VcsListItemComponent.vue").VcsListItem>} item
|
86
86
|
* @param {PointerEvent} event
|
87
87
|
*/
|
88
88
|
select(item: any, event: PointerEvent): void;
|
89
89
|
/**
|
90
|
-
* @param {import("vue").UnwrapNestedRefs<VcsListItem>} item
|
90
|
+
* @param {import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>} item
|
91
91
|
*/
|
92
|
-
add(item: import("vue").UnwrapNestedRefs<VcsListItem>): void;
|
92
|
+
add(item: import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>): void;
|
93
93
|
/**
|
94
|
-
* @param {import("vue").UnwrapNestedRefs<VcsListItem>} item
|
94
|
+
* @param {import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>} item
|
95
95
|
*/
|
96
|
-
remove(item: import("vue").UnwrapNestedRefs<VcsListItem>): void;
|
96
|
+
remove(item: import("vue").UnwrapNestedRefs<import("./VcsListItemComponent.vue").VcsListItem>): void;
|
97
97
|
clear(): void;
|
98
|
-
drag: (e: MouseEvent, item: VcsListItem, index: number) => void;
|
98
|
+
drag: (e: MouseEvent, item: import("./VcsListItemComponent.vue").VcsListItem, index: number) => void;
|
99
99
|
drop: (e: MouseEvent, targetIndex: number) => void;
|
100
|
-
|
101
|
-
overflowTitle(index: any, alternative: any): any;
|
102
|
-
listHeader: import("vue").Ref<null>;
|
100
|
+
listHeader: import("vue").Ref<any>;
|
103
101
|
listHeaderTooltip: import("vue").ComputedRef<string>;
|
104
|
-
rename(item: any, newTitle: any): void;
|
105
102
|
hasIntermediateSlot: import("vue").ComputedRef<boolean>;
|
106
103
|
}, any, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
107
104
|
items: {
|
@@ -163,65 +160,20 @@ declare const _default: import("vue").DefineComponent<{
|
|
163
160
|
};
|
164
161
|
}>>, {
|
165
162
|
title: string;
|
166
|
-
modelValue: unknown[];
|
167
|
-
tooltip: string;
|
168
163
|
icon: string;
|
164
|
+
modelValue: unknown[];
|
169
165
|
draggable: boolean;
|
166
|
+
tooltip: string;
|
170
167
|
selectable: boolean;
|
171
168
|
actions: unknown[];
|
172
169
|
searchbarPlaceholder: string;
|
170
|
+
actionButtonListOverflowCount: number;
|
173
171
|
singleSelect: boolean;
|
174
172
|
searchable: boolean;
|
175
173
|
showTitle: boolean;
|
176
|
-
actionButtonListOverflowCount: number;
|
177
174
|
}, {}>;
|
178
175
|
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", { with: { "resolution-mode": "import" } }).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
176
|
export type ItemMovedEvent = {
|
221
|
-
item: VcsListItem;
|
177
|
+
item: import("./VcsListItemComponent.vue").VcsListItem;
|
222
178
|
targetIndex: number;
|
223
179
|
};
|
224
|
-
export type ItemRenamedEvent = {
|
225
|
-
item: VcsListItem;
|
226
|
-
newTitle: string;
|
227
|
-
};
|