@vcmap/ui 5.0.0-rc.17 → 5.0.0-rc.20
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 +6 -6
- package/build/build.js +2 -2
- package/build/buildCesium.js +3 -3
- package/build/buildHelpers.js +2 -1
- package/config/base.config.json +0 -4
- package/config/dev.config.json +35 -14
- package/config/www.config.json +752 -123
- package/dist/assets/cesium/Workers/ArcType-ce2e50ab.js +37 -0
- package/dist/assets/cesium/Workers/AttributeCompression-b646d393.js +716 -0
- package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-ff186ccc.js +258 -0
- package/dist/assets/cesium/Workers/BoundingRectangle-be5924f4.js +369 -0
- package/dist/assets/cesium/Workers/BoxGeometry-12eeccaf.js +884 -0
- package/dist/assets/cesium/Workers/Check-666ab1a0.js +290 -0
- package/dist/assets/cesium/Workers/Color-a84038cb.js +2262 -0
- package/dist/assets/cesium/Workers/ComponentDatatype-f7b11d02.js +341 -0
- package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-3272c1b3.js +132 -0
- package/dist/assets/cesium/Workers/CorridorGeometryLibrary-0170e093.js +498 -0
- package/dist/assets/cesium/Workers/CylinderGeometry-7c5da648.js +467 -0
- package/dist/assets/cesium/Workers/CylinderGeometryLibrary-372c07d8.js +63 -0
- package/dist/assets/cesium/Workers/EllipseGeometry-797d580e.js +1304 -0
- package/dist/assets/cesium/Workers/EllipseGeometryLibrary-2939e1dc.js +366 -0
- package/dist/assets/cesium/Workers/EllipseOutlineGeometry-8b50870f.js +443 -0
- package/dist/assets/cesium/Workers/EllipsoidGeodesic-98c62a56.js +520 -0
- package/dist/assets/cesium/Workers/EllipsoidGeometry-21c0e3a5.js +637 -0
- package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-eff247c8.js +454 -0
- package/dist/assets/cesium/Workers/EllipsoidRhumbLine-19756602.js +741 -0
- package/dist/assets/cesium/Workers/EllipsoidTangentPlane-214683dc.js +373 -0
- package/dist/assets/cesium/Workers/EncodedCartesian3-81f70735.js +171 -0
- package/dist/assets/cesium/Workers/FrustumGeometry-ac42a6d9.js +2512 -0
- package/dist/assets/cesium/Workers/GeometryAttribute-7d6f1732.js +619 -0
- package/dist/assets/cesium/Workers/GeometryAttributes-f06a2792.js +91 -0
- package/dist/assets/cesium/Workers/GeometryInstance-451dc1cd.js +121 -0
- package/dist/assets/cesium/Workers/GeometryOffsetAttribute-04332ce7.js +16 -0
- package/dist/assets/cesium/Workers/GeometryPipeline-ce4339ed.js +3690 -0
- package/dist/assets/cesium/Workers/IndexDatatype-a55ceaa1.js +200 -0
- package/dist/assets/cesium/Workers/IntersectionTests-f6e6bd8a.js +1836 -0
- package/dist/assets/cesium/Workers/Math-2dbd6b93.js +1330 -0
- package/dist/assets/cesium/Workers/Matrix2-13178034.js +7086 -0
- package/dist/assets/cesium/Workers/Matrix3-315394f6.js +4283 -0
- package/dist/assets/cesium/Workers/OrientedBoundingBox-04920dc7.js +1257 -0
- package/dist/assets/cesium/Workers/Plane-900aa728.js +309 -0
- package/dist/assets/cesium/Workers/PolygonGeometryLibrary-a8680d96.js +1074 -0
- package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +1345 -0
- package/dist/assets/cesium/Workers/PolylinePipeline-32f36d2a.js +573 -0
- package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-a510d657.js +781 -0
- package/dist/assets/cesium/Workers/PrimitivePipeline-ba38434a.js +966 -0
- package/dist/assets/cesium/Workers/RectangleGeometryLibrary-bdba697e.js +280 -0
- package/dist/assets/cesium/Workers/RuntimeError-06c93819.js +68 -0
- package/dist/assets/cesium/Workers/TerrainEncoding-833187da.js +1227 -0
- package/dist/assets/cesium/Workers/Transforms-40229881.js +14696 -0
- package/dist/assets/cesium/Workers/VertexFormat-6b480673.js +312 -0
- package/dist/assets/cesium/Workers/WallGeometryLibrary-919eed92.js +211 -0
- package/dist/assets/cesium/Workers/WebGLConstants-a8cc3e8c.js +620 -0
- package/dist/assets/cesium/Workers/WebMercatorProjection-13a90d41.js +151 -0
- package/dist/assets/cesium/Workers/arrayRemoveDuplicates-c2038105.js +129 -0
- package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +1336 -4
- package/dist/assets/cesium/Workers/combine-ca22a614.js +82 -0
- package/dist/assets/cesium/Workers/combineGeometry.js +17 -25
- package/dist/assets/cesium/Workers/createBoxGeometry.js +12 -25
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +313 -25
- package/dist/assets/cesium/Workers/createCircleGeometry.js +213 -25
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +160 -25
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +586 -25
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +236 -25
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +1407 -25
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +603 -25
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +12 -25
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +265 -25
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +14 -25
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +14 -25
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +12 -25
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +15 -25
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +12 -25
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +251 -25
- package/dist/assets/cesium/Workers/createGeometry.js +55 -25
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +2134 -25
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +250 -25
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +115 -25
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +1420 -25
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +683 -25
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +571 -25
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +411 -25
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +301 -25
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +1476 -25
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +535 -25
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +458 -25
- package/dist/assets/cesium/Workers/createSphereGeometry.js +123 -25
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +126 -25
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +127 -25
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +535 -25
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +445 -25
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +79 -25
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +406 -25
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +254 -25
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +640 -25
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +2711 -27
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +994 -25
- package/dist/assets/cesium/Workers/createWallGeometry.js +623 -25
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +432 -25
- package/dist/assets/cesium/Workers/decodeDraco.js +381 -25
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +3687 -25
- package/dist/assets/cesium/Workers/decodeI3S.js +1040 -0
- package/dist/assets/cesium/Workers/defaultValue-0a909f67.js +51 -0
- package/dist/assets/cesium/Workers/package.js +2 -2
- package/dist/assets/cesium/Workers/transcodeKTX2.js +1516 -25
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +18 -2
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +1023 -25
- package/dist/assets/{cesium.41de56.js → cesium.adbd45.js} +112161 -108735
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.af84e3.js → core.60e74d.js} +1616 -1629
- package/dist/assets/core.f198cf.js +15993 -0
- package/dist/assets/core.js +1 -1
- package/dist/assets/{index.5b773cad.js → index.884a53ef.js} +1 -1
- package/dist/assets/{ol.5c7490.js → ol.c6ff35.js} +6992 -6972
- package/dist/assets/ol.dbd604.js +44299 -0
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui.bf504d.css +1 -0
- package/dist/assets/{ui.dffe32.js → ui.bf504d.js} +6171 -6821
- package/dist/assets/ui.js +1 -1
- package/dist/assets/{vue.25da17.js → vue.75b819.js} +0 -0
- package/dist/assets/vue.a831f1.js +4675 -0
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.e4ece7.css → vuetify.0d7360.css} +0 -0
- package/dist/assets/{vuetify.e4ece7.js → vuetify.0d7360.js} +1 -1
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +1 -1
- package/index.js +2 -1
- package/lib/cesium.js +1 -1
- package/package.json +3 -4
- package/plugins/{simple-graph → @vcmap/simple-graph}/README.md +1 -1
- package/plugins/{simple-graph → @vcmap/simple-graph}/SimpleGraphComponent.vue +0 -0
- package/plugins/{simple-graph → @vcmap/simple-graph}/index.js +0 -0
- package/plugins/{simple-graph → @vcmap/simple-graph}/package.json +0 -0
- package/plugins/{simple-graph → @vcmap/simple-graph}/simpleGraphView.js +0 -0
- package/plugins/@vcmap-show-case/README.md +20 -0
- package/plugins/{buttonExamples/ButtonExamples.vue → @vcmap-show-case/buttons-example/ButtonsExample.vue} +19 -1
- package/plugins/@vcmap-show-case/buttons-example/README.md +4 -0
- package/plugins/{buttonExamples → @vcmap-show-case/buttons-example}/index.js +16 -8
- package/plugins/@vcmap-show-case/buttons-example/package.json +5 -0
- package/plugins/{categoryTest → @vcmap-show-case/category-tester}/Categories.vue +7 -6
- package/plugins/{categoryTest → @vcmap-show-case/category-tester}/Category.vue +4 -3
- package/plugins/@vcmap-show-case/category-tester/README.md +3 -0
- package/plugins/{categoryTest → @vcmap-show-case/category-tester}/index.js +12 -4
- package/plugins/@vcmap-show-case/category-tester/package.json +5 -0
- package/plugins/@vcmap-show-case/config-editor/README.md +3 -0
- package/plugins/{test → @vcmap-show-case/config-editor}/editor.vue +0 -0
- package/plugins/@vcmap-show-case/config-editor/index.js +47 -0
- package/plugins/@vcmap-show-case/config-editor/package.json +5 -0
- package/plugins/@vcmap-show-case/context-menu-tester/README.md +3 -0
- package/plugins/@vcmap-show-case/context-menu-tester/index.js +33 -0
- package/plugins/@vcmap-show-case/context-menu-tester/package.json +5 -0
- package/plugins/{@vcmap/pluginExample/pluginExampleComponent.vue → @vcmap-show-case/form-inputs-example/FormInputsExample.vue} +14 -13
- package/plugins/@vcmap-show-case/form-inputs-example/README.md +4 -0
- package/plugins/@vcmap-show-case/form-inputs-example/config.json +5 -0
- package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/exampleActions.js +1 -1
- package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/index.js +23 -22
- package/plugins/@vcmap-show-case/form-inputs-example/package.json +5 -0
- package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/validation.js +0 -0
- package/plugins/@vcmap-show-case/icons-example/README.md +5 -0
- package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +51 -0
- package/plugins/@vcmap-show-case/icons-example/index.js +44 -0
- package/plugins/@vcmap-show-case/icons-example/package.json +5 -0
- package/plugins/{test/testList.vue → @vcmap-show-case/list-example/ListExample.vue} +1 -1
- package/plugins/@vcmap-show-case/list-example/README.md +3 -0
- package/plugins/@vcmap-show-case/list-example/index.js +44 -0
- package/plugins/@vcmap-show-case/list-example/package.json +5 -0
- package/plugins/@vcmap-show-case/notifier-tester/README.md +3 -0
- package/plugins/{notifier → @vcmap-show-case/notifier-tester}/index.js +11 -6
- package/plugins/{notifier → @vcmap-show-case/notifier-tester}/notifierTester.vue +0 -0
- package/plugins/@vcmap-show-case/notifier-tester/package.json +5 -0
- package/plugins/@vcmap-show-case/textfields-example/README.md +3 -0
- package/plugins/{example/mySuperComponent.vue → @vcmap-show-case/textfields-example/TextfieldsExample.vue} +1 -7
- package/plugins/{example → @vcmap-show-case/textfields-example}/index.js +58 -62
- package/plugins/@vcmap-show-case/textfields-example/package.json +5 -0
- package/plugins/@vcmap-show-case/window-tester/README.md +3 -0
- package/plugins/{test/windowManagerExample.vue → @vcmap-show-case/window-tester/WindowExample.vue} +36 -20
- package/plugins/{test → @vcmap-show-case/window-tester}/emptyComponent.vue +8 -3
- package/plugins/@vcmap-show-case/window-tester/index.js +62 -0
- package/plugins/{test → @vcmap-show-case/window-tester}/myCustomHeader.vue +0 -0
- package/plugins/@vcmap-show-case/window-tester/package.json +5 -0
- package/plugins/@vcmap-show-case/window-tester/toolbox-data.js +211 -0
- package/plugins/{test/vcsContent.vue → @vcmap-show-case/window-tester/windowExampleContent.vue} +1 -5
- package/plugins/@vcmap-show-case/wizard-example/README.md +3 -0
- package/plugins/{wizardExample → @vcmap-show-case/wizard-example}/index.js +12 -6
- package/plugins/@vcmap-show-case/wizard-example/package.json +5 -0
- package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +95 -0
- package/plugins/package.json +2 -1
- package/src/actions/actionHelper.js +4 -4
- package/src/actions/stateRefAction.js +0 -10
- package/src/application/VcsApp.vue +42 -23
- package/src/application/VcsMap.vue +9 -0
- package/src/application/VcsNavbar.vue +1 -1
- package/src/components/buttons/VcsActionButtonList.vue +1 -0
- package/src/components/buttons/VcsButton.vue +14 -3
- package/src/components/form-inputs-controls/VcsCheckbox.vue +3 -1
- package/src/components/form-inputs-controls/VcsWizard.vue +17 -20
- package/src/components/form-inputs-controls/VcsWizardStep.vue +160 -0
- package/src/{icons → components/icons}/+all.js +0 -0
- package/src/{icons → components/icons}/2DAreaIcon.vue +0 -0
- package/src/{icons → components/icons}/2DDistanceIcon.vue +0 -0
- package/src/{icons → components/icons}/3DAreaIcon.vue +0 -0
- package/src/{icons → components/icons}/3DDistanceIcon.vue +0 -0
- package/src/{icons → components/icons}/3DHeightIcon.vue +0 -0
- package/src/{icons → components/icons}/AngleIcon.vue +0 -0
- package/src/{icons → components/icons}/AssociationsIcon.vue +0 -0
- package/src/{icons → components/icons}/AxisIcon.vue +0 -0
- package/src/{icons → components/icons}/BoundingBoxIcon.vue +0 -0
- package/src/{icons → components/icons}/CheckboxCheckedIcon.vue +0 -0
- package/src/{icons → components/icons}/CheckboxIcon.vue +0 -0
- package/src/{icons → components/icons}/CheckboxIndeterminateIcon.vue +0 -0
- package/src/{icons → components/icons}/CircleIcon.vue +0 -0
- package/src/{icons → components/icons}/ClippingHorizontalIcon.vue +0 -0
- package/src/{icons → components/icons}/ClippingIcon.vue +0 -0
- package/src/{icons → components/icons}/ClippingVerticalIcon.vue +0 -0
- package/src/{icons → components/icons}/ColorPickerIcon.vue +0 -0
- package/src/{icons → components/icons}/ColorSwatchIcon.vue +0 -0
- package/src/{icons → components/icons}/CommentIcon.vue +0 -0
- package/src/{icons → components/icons}/CompassIcon.vue +0 -0
- package/src/{icons → components/icons}/ComponentsIcon.vue +0 -0
- package/src/{icons → components/icons}/ConeIcon.vue +0 -0
- package/src/{icons → components/icons}/DimensionsHouseIcon.vue +0 -0
- package/src/{icons → components/icons}/EditIcon.vue +0 -0
- package/src/{icons → components/icons}/ElevationProfileIcon.vue +0 -0
- package/src/{icons → components/icons}/ExportAreaIcon.vue +0 -0
- package/src/{icons → components/icons}/ExportFlightIcon.vue +0 -0
- package/src/{icons → components/icons}/ExportIcon.vue +0 -0
- package/src/{icons → components/icons}/ExternalLinkIcon.vue +0 -0
- package/src/{icons → components/icons}/EyeIcon.vue +0 -0
- package/src/{icons → components/icons}/FastForwardIcon.vue +0 -0
- package/src/{icons → components/icons}/FilterIcon.vue +0 -0
- package/src/{icons → components/icons}/GlobalTerrainIcon.vue +0 -0
- package/src/{icons → components/icons}/GlobeNatureIcon.vue +0 -0
- package/src/{icons → components/icons}/GroundIcon.vue +0 -0
- package/src/{icons → components/icons}/HealthCareIndustriesIcon.vue +0 -0
- package/src/{icons → components/icons}/HelpIcon.vue +0 -0
- package/src/{icons → components/icons}/HideIcon.vue +0 -0
- package/src/{icons → components/icons}/HomePointIcon.vue +0 -0
- package/src/{icons → components/icons}/HospitalsIcon.vue +0 -0
- package/src/{icons → components/icons}/HouseIcon.vue +0 -0
- package/src/{icons → components/icons}/ImportIcon.vue +0 -0
- package/src/{icons → components/icons}/InfoIcon.vue +0 -0
- package/src/{icons → components/icons}/KebabIcon.vue +0 -0
- package/src/{icons → components/icons}/LabelIcon.vue +0 -0
- package/src/{icons → components/icons}/LayersIcon.vue +0 -0
- package/src/{icons → components/icons}/LegendIcon.vue +0 -0
- package/src/{icons → components/icons}/LineIcon.vue +0 -0
- package/src/{icons → components/icons}/LinkIcon.vue +0 -0
- package/src/{icons → components/icons}/LogoutIcon.vue +0 -0
- package/src/{icons → components/icons}/MapIcon.vue +0 -0
- package/src/{icons → components/icons}/MenuIcon.vue +0 -0
- package/src/{icons → components/icons}/MinusIcon.vue +0 -0
- package/src/{icons → components/icons}/ObjectAttributeIcon.vue +0 -0
- package/src/{icons → components/icons}/ObjectSelectIcon.vue +0 -0
- package/src/{icons → components/icons}/ObliqueViewIcon.vue +0 -0
- package/src/{icons → components/icons}/PdfIcon.vue +0 -0
- package/src/{icons → components/icons}/PedestrianIcon.vue +0 -0
- package/src/{icons → components/icons}/PenIcon.vue +0 -0
- package/src/{icons → components/icons}/PlayCircleIcon.vue +0 -0
- package/src/{icons → components/icons}/PlusIcon.vue +0 -0
- package/src/{icons → components/icons}/PoiIcon.vue +0 -0
- package/src/{icons → components/icons}/PointSelectIcon.vue +0 -0
- package/src/{icons → components/icons}/PolygonIcon.vue +0 -0
- package/src/{icons → components/icons}/PresentationModeIcon.vue +0 -0
- package/src/{icons → components/icons}/ProgressIcon.vue +0 -0
- package/src/{icons → components/icons}/QueryIcon.vue +0 -0
- package/src/{icons → components/icons}/RectangleIcon.vue +0 -0
- package/src/{icons → components/icons}/ReturnIcon.vue +0 -0
- package/src/{icons → components/icons}/RewindIcon.vue +0 -0
- package/src/{icons → components/icons}/RotateLeftIcon.vue +0 -0
- package/src/{icons → components/icons}/RotateRightIcon.vue +0 -0
- package/src/{icons → components/icons}/ScreenshotIcon.vue +0 -0
- package/src/{icons → components/icons}/SearchIcon.vue +0 -0
- package/src/{icons → components/icons}/ShadowIcon.vue +0 -0
- package/src/{icons → components/icons}/ShapesIcon.vue +0 -0
- package/src/{icons → components/icons}/ShareIcon.vue +0 -0
- package/src/{icons → components/icons}/SimpleCircleFilledIcon.vue +0 -0
- package/src/{icons → components/icons}/SimpleCircleHalfFilledIcon.vue +0 -0
- package/src/{icons → components/icons}/SimpleCircleOutlinedIcon.vue +0 -0
- package/src/{icons → components/icons}/SkipNextIcon.vue +0 -0
- package/src/{icons → components/icons}/SkipPreviousIcon.vue +0 -0
- package/src/{icons → components/icons}/SplitViewIcon.vue +0 -0
- package/src/{icons → components/icons}/TerrainBoxIcon.vue +0 -0
- package/src/{icons → components/icons}/TextStyleIcon.vue +0 -0
- package/src/{icons → components/icons}/ThreeDimensionsIcon.vue +0 -0
- package/src/{icons → components/icons}/ToolsIcon.vue +0 -0
- package/src/{icons → components/icons}/TouchIcon.vue +0 -0
- package/src/{icons → components/icons}/TrashCanIcon.vue +0 -0
- package/src/{icons → components/icons}/TriangleIcon.vue +0 -0
- package/src/{icons → components/icons}/TwoDimensionsIcon.vue +0 -0
- package/src/{icons → components/icons}/UploadIcon.vue +0 -0
- package/src/{icons → components/icons}/UserProfileIcon.vue +0 -0
- package/src/{icons → components/icons}/UserShareIcon.vue +0 -0
- package/src/{icons → components/icons}/VideoRecorderIcon.vue +0 -0
- package/src/{icons → components/icons}/ViewpointFlightIcon.vue +0 -0
- package/src/{icons → components/icons}/ViewpointIcon.vue +0 -0
- package/src/{icons → components/icons}/Viewshed360Icon.vue +0 -0
- package/src/{icons → components/icons}/ViewshedConeIcon.vue +0 -0
- package/src/{icons → components/icons}/ViewshedIcon.vue +0 -0
- package/src/{icons → components/icons}/WalkingIcon.vue +0 -0
- package/src/{icons → components/icons}/WallIcon.vue +0 -0
- package/src/{icons → components/icons}/WandIcon.vue +0 -0
- package/src/components/lists/VcsActionList.vue +2 -0
- package/src/components/lists/VcsList.vue +21 -12
- package/src/components/lists/VcsTreeviewLeaf.vue +14 -2
- package/src/components/notification/VcsTooltip.vue +1 -1
- package/src/contentTree/layerContentTreeItem.js +2 -2
- package/src/featureInfo/BalloonComponent.vue +2 -2
- package/src/featureInfo/abstractFeatureInfoView.js +1 -1
- package/src/featureInfo/addressBalloonFeatureInfoView.js +1 -1
- package/src/featureInfo/balloonFeatureInfoView.js +1 -1
- package/src/featureInfo/balloonHelper.js +6 -6
- package/src/featureInfo/featureInfo.js +2 -2
- package/src/i18n/de.js +8 -8
- package/src/i18n/en.js +6 -6
- package/src/legend/legendHelper.js +8 -8
- package/src/legend/vcsLegend.vue +33 -5
- package/src/manager/toolbox/ToolboxManager.vue +1 -0
- package/src/manager/window/WindowComponent.vue +42 -4
- package/src/manager/window/WindowComponentHeader.vue +1 -1
- package/src/manager/window/windowHelper.js +7 -11
- package/src/manager/window/windowManager.js +15 -11
- package/src/navigation/mapNavCompass.vue +13 -7
- package/src/navigation/mapNavigation.vue +66 -4
- package/src/navigation/orientationToolsButton.vue +1 -1
- package/src/navigation/overviewMap.js +26 -10
- package/src/navigation/vcsCompass.vue +4 -73
- package/src/setup.js +1 -1
- package/src/vuePlugins/vuetify.js +1 -1
- package/dist/assets/cesium/Workers/ArcType-c9b2b290.js +0 -25
- package/dist/assets/cesium/Workers/AttributeCompression-7b0f288d.js +0 -25
- package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-d0c22774.js +0 -25
- package/dist/assets/cesium/Workers/BoundingRectangle-201b1a81.js +0 -25
- package/dist/assets/cesium/Workers/BoxGeometry-4985457c.js +0 -25
- package/dist/assets/cesium/Workers/Color-cc8c18b3.js +0 -25
- package/dist/assets/cesium/Workers/ComponentDatatype-0200bf8c.js +0 -25
- package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4345acdf.js +0 -25
- package/dist/assets/cesium/Workers/CorridorGeometryLibrary-850a6c35.js +0 -25
- package/dist/assets/cesium/Workers/CylinderGeometry-57a1051a.js +0 -25
- package/dist/assets/cesium/Workers/CylinderGeometryLibrary-62ce5a1f.js +0 -25
- package/dist/assets/cesium/Workers/EllipseGeometry-8627398f.js +0 -25
- package/dist/assets/cesium/Workers/EllipseGeometryLibrary-e5919563.js +0 -25
- package/dist/assets/cesium/Workers/EllipseOutlineGeometry-96fd4ae1.js +0 -25
- package/dist/assets/cesium/Workers/EllipsoidGeodesic-8bfefbff.js +0 -25
- package/dist/assets/cesium/Workers/EllipsoidGeometry-377329b9.js +0 -25
- package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-e6e16e49.js +0 -25
- package/dist/assets/cesium/Workers/EllipsoidRhumbLine-03528f73.js +0 -25
- package/dist/assets/cesium/Workers/EllipsoidTangentPlane-c080fd1b.js +0 -25
- package/dist/assets/cesium/Workers/EncodedCartesian3-ea0e408f.js +0 -25
- package/dist/assets/cesium/Workers/FrustumGeometry-a8b5d817.js +0 -25
- package/dist/assets/cesium/Workers/GeometryAttribute-8458a8fd.js +0 -25
- package/dist/assets/cesium/Workers/GeometryAttributes-ac0f8485.js +0 -25
- package/dist/assets/cesium/Workers/GeometryInstance-ee3aa3ba.js +0 -25
- package/dist/assets/cesium/Workers/GeometryOffsetAttribute-08ae0c50.js +0 -25
- package/dist/assets/cesium/Workers/GeometryPipeline-33ca229c.js +0 -25
- package/dist/assets/cesium/Workers/IndexDatatype-e713bfd2.js +0 -25
- package/dist/assets/cesium/Workers/IntersectionTests-eb4db8e0.js +0 -25
- package/dist/assets/cesium/Workers/Matrix2-eefef8eb.js +0 -25
- package/dist/assets/cesium/Workers/OrientedBoundingBox-5193f9a2.js +0 -25
- package/dist/assets/cesium/Workers/Plane-b0299683.js +0 -25
- package/dist/assets/cesium/Workers/PolygonGeometryLibrary-b61295f3.js +0 -25
- package/dist/assets/cesium/Workers/PolygonPipeline-eb527514.js +0 -25
- package/dist/assets/cesium/Workers/PolylinePipeline-0f23dd84.js +0 -25
- package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-2d903430.js +0 -25
- package/dist/assets/cesium/Workers/PrimitivePipeline-e2640413.js +0 -25
- package/dist/assets/cesium/Workers/RectangleGeometryLibrary-ae8bf8a5.js +0 -25
- package/dist/assets/cesium/Workers/RuntimeError-5baf5c66.js +0 -25
- package/dist/assets/cesium/Workers/TerrainEncoding-bc10ab54.js +0 -25
- package/dist/assets/cesium/Workers/Transforms-d2e5867e.js +0 -63
- package/dist/assets/cesium/Workers/VertexFormat-5ec0d9ff.js +0 -25
- package/dist/assets/cesium/Workers/WallGeometryLibrary-1a33e416.js +0 -25
- package/dist/assets/cesium/Workers/WebGLConstants-5b50ced1.js +0 -25
- package/dist/assets/cesium/Workers/WebMercatorProjection-cd2f30c2.js +0 -25
- package/dist/assets/cesium/Workers/_commonjsHelpers-bc29abbc.js +0 -25
- package/dist/assets/cesium/Workers/arrayRemoveDuplicates-f13aceb1.js +0 -25
- package/dist/assets/cesium/Workers/combine-7533016d.js +0 -25
- package/dist/assets/cesium/Workers/defaultValue-0c475b81.js +0 -25
- package/dist/assets/cesium/Workers/package.json +0 -1
- package/dist/assets/ui.dffe32.css +0 -1
- package/plugins/@vcmap/pluginExample/config.json +0 -6
- package/plugins/@vcmap/pluginExample/package.json +0 -7
- package/plugins/categoryTest/ItemEditor.vue +0 -13
- package/plugins/test/allIconsComponent.vue +0 -50
- package/plugins/test/index.js +0 -207
- package/plugins/test/toolbox-data.js +0 -154
- package/plugins/wizardExample/wizardExample.vue +0 -77
- package/src/components/form-inputs-controls/VcsColorPicker.vue +0 -85
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -52,6 +52,7 @@
|
|
52
52
|
* @property {string} [icon] - icon rendered on the button. If no icon provided, item is rendered in overflow
|
53
53
|
* @property {Function} callback - callback function is triggered when the button is clicked
|
54
54
|
* @property {boolean} [active=false] - optional state of button. If active, button is rendered in primary color
|
55
|
+
* @property {boolean} [background=false] - optional background state. If active and background, button is rendered in primary color outlined
|
55
56
|
*/
|
56
57
|
|
57
58
|
/**
|
@@ -64,6 +65,7 @@
|
|
64
65
|
icon: [undefined, String],
|
65
66
|
callback: Function,
|
66
67
|
active: [undefined, Boolean],
|
68
|
+
background: [undefined, Boolean],
|
67
69
|
};
|
68
70
|
|
69
71
|
/**
|
@@ -31,16 +31,20 @@
|
|
31
31
|
</v-icon>
|
32
32
|
</v-list-item-action>
|
33
33
|
|
34
|
-
<v-list-item-content
|
35
|
-
:title="$t(tooltip || title)"
|
36
|
-
>
|
34
|
+
<v-list-item-content>
|
37
35
|
<v-icon v-if="icon">
|
38
36
|
{{ icon }}
|
39
37
|
</v-icon>
|
40
38
|
|
41
|
-
<
|
42
|
-
|
43
|
-
|
39
|
+
<VcsTooltip
|
40
|
+
:tooltip="tooltip || title"
|
41
|
+
>
|
42
|
+
<template #activator="{ on, attrs }">
|
43
|
+
<v-list-item-title v-bind="attrs" v-on="on">
|
44
|
+
{{ $t(title) }}
|
45
|
+
</v-list-item-title>
|
46
|
+
</template>
|
47
|
+
</VcsTooltip>
|
44
48
|
|
45
49
|
<vcs-action-button-list
|
46
50
|
v-if="actions?.length > 0"
|
@@ -85,7 +89,6 @@
|
|
85
89
|
</v-list-item-action>
|
86
90
|
|
87
91
|
<v-list-item-content
|
88
|
-
:title="$t(item.tooltip || item.title)"
|
89
92
|
:class="[selectable ? 'cursor-pointer' : '']"
|
90
93
|
@click="select(item, $event)"
|
91
94
|
>
|
@@ -93,9 +96,15 @@
|
|
93
96
|
{{ item.icon }}
|
94
97
|
</v-icon>
|
95
98
|
|
96
|
-
<
|
97
|
-
|
98
|
-
|
99
|
+
<VcsTooltip
|
100
|
+
:tooltip="item.tooltip || item.title"
|
101
|
+
>
|
102
|
+
<template #activator="{ on, attrs }">
|
103
|
+
<v-list-item-title v-bind="attrs" v-on="on">
|
104
|
+
{{ $t(item.title) }}
|
105
|
+
</v-list-item-title>
|
106
|
+
</template>
|
107
|
+
</VcsTooltip>
|
99
108
|
|
100
109
|
<vcs-action-button-list
|
101
110
|
v-if="item.actions?.length > 0"
|
@@ -122,6 +131,7 @@
|
|
122
131
|
VListItemTitle,
|
123
132
|
} from 'vuetify/lib';
|
124
133
|
import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
|
134
|
+
import VcsTooltip from '../notification/VcsTooltip.vue';
|
125
135
|
import VcsTreeviewSearchbar from './VcsTreeviewSearchbar.vue';
|
126
136
|
|
127
137
|
/**
|
@@ -165,6 +175,7 @@
|
|
165
175
|
components: {
|
166
176
|
VcsTreeviewSearchbar,
|
167
177
|
VcsActionButtonList,
|
178
|
+
VcsTooltip,
|
168
179
|
VList,
|
169
180
|
VListItem,
|
170
181
|
VListItemContent,
|
@@ -410,8 +421,6 @@
|
|
410
421
|
.v-list{
|
411
422
|
.v-list-item {
|
412
423
|
padding: 4px 8px 4px 16px;
|
413
|
-
display: grid;
|
414
|
-
grid-template-columns: auto auto;
|
415
424
|
&:after{
|
416
425
|
display: none;
|
417
426
|
}
|
@@ -5,7 +5,6 @@
|
|
5
5
|
>
|
6
6
|
<div
|
7
7
|
class="position-relative col-8 pa-0 d-flex align-center vcs-treeview-leaf"
|
8
|
-
:title="$t(item.tooltip || item.title)"
|
9
8
|
>
|
10
9
|
<span
|
11
10
|
v-if="item.icon"
|
@@ -18,8 +17,19 @@
|
|
18
17
|
/>
|
19
18
|
<ImageElementInjector :element="item.icon" v-else />
|
20
19
|
</span>
|
21
|
-
<
|
20
|
+
<VcsTooltip
|
21
|
+
:tooltip="item.tooltip || item.title"
|
22
|
+
>
|
23
|
+
<template #activator="{ on, attrs }">
|
24
|
+
<span
|
25
|
+
v-bind="attrs"
|
26
|
+
v-on="on"
|
27
|
+
class="vcs-treeview-item-title"
|
28
|
+
>{{ $t(item.title) }}</span>
|
29
|
+
</template>
|
30
|
+
</VcsTooltip>
|
22
31
|
</div>
|
32
|
+
|
23
33
|
<VcsActionButtonList
|
24
34
|
v-if="item.actions.length > 0"
|
25
35
|
:actions="item.actions"
|
@@ -44,6 +54,7 @@
|
|
44
54
|
import { VIcon } from 'vuetify/lib';
|
45
55
|
import VcsActionButtonList from '../buttons/VcsActionButtonList.vue';
|
46
56
|
import ImageElementInjector from '../imageElementInjector.vue';
|
57
|
+
import VcsTooltip from '../notification/VcsTooltip.vue';
|
47
58
|
|
48
59
|
/**
|
49
60
|
* @description
|
@@ -53,6 +64,7 @@
|
|
53
64
|
*/
|
54
65
|
export default {
|
55
66
|
components: {
|
67
|
+
VcsTooltip,
|
56
68
|
VcsActionButtonList,
|
57
69
|
VIcon,
|
58
70
|
ImageElementInjector,
|
@@ -6,7 +6,7 @@
|
|
6
6
|
:top="tooltipPosition === 'top'"
|
7
7
|
:left="tooltipPosition === 'left'"
|
8
8
|
:right="tooltipPosition === 'right'"
|
9
|
-
|
9
|
+
transition="expand-x-transition"
|
10
10
|
v-bind="{...$props, ...$attrs}"
|
11
11
|
>
|
12
12
|
<template #activator="{ on, attrs }">
|
@@ -139,7 +139,7 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
|
|
139
139
|
* @private
|
140
140
|
*/
|
141
141
|
_setLayerExtentAction() {
|
142
|
-
const name = '
|
142
|
+
const name = 'content.layerExtentAction.name';
|
143
143
|
this.removeAction(name);
|
144
144
|
if (this._layer) {
|
145
145
|
const { extent } = this._layer.toJSON();
|
@@ -147,7 +147,7 @@ class LayerContentTreeItem extends VcsObjectContentTreeItem {
|
|
147
147
|
const viewpoint = Viewpoint.createViewpointFromExtent(this._layer.extent);
|
148
148
|
const action = createGoToViewpointAction(
|
149
149
|
{
|
150
|
-
name
|
150
|
+
name,
|
151
151
|
title: 'content.layerExtentAction.title',
|
152
152
|
},
|
153
153
|
viewpoint,
|
@@ -40,9 +40,9 @@
|
|
40
40
|
<v-list-item class="px-2">
|
41
41
|
<v-list-item-content>
|
42
42
|
<v-list-item-title>
|
43
|
-
{{ name }}
|
43
|
+
{{ $t(name) }}
|
44
44
|
</v-list-item-title>
|
45
|
-
<v-list-item-subtitle>{{ value }}</v-list-item-subtitle>
|
45
|
+
<v-list-item-subtitle>{{ $t(value) }}</v-list-item-subtitle>
|
46
46
|
</v-list-item-content>
|
47
47
|
</v-list-item>
|
48
48
|
</v-list>
|
@@ -235,7 +235,7 @@ class AbstractFeatureInfoView extends VcsObject {
|
|
235
235
|
* Called by `getProperties()` to pass attributes as props object to the VueComponent of this view.
|
236
236
|
* May be overwritten by classes extending AbstractFeatureInfoView.
|
237
237
|
* It filters attributes of the feature by keys, performs value and key mapping, if provided.
|
238
|
-
* @param {undefined|import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap/
|
238
|
+
* @param {undefined|import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
|
239
239
|
* @returns {Object}
|
240
240
|
*/
|
241
241
|
getAttributes(feature) {
|
@@ -69,7 +69,7 @@ class AddressBalloonFeatureInfoView extends BalloonFeatureInfoView {
|
|
69
69
|
|
70
70
|
/**
|
71
71
|
* derives address attributes from addressKeys
|
72
|
-
* @param {undefined|import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap/
|
72
|
+
* @param {undefined|import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature} feature
|
73
73
|
* @returns {Object}
|
74
74
|
*/
|
75
75
|
getAttributes(feature) {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Feature } from 'ol';
|
2
2
|
import { getCenter } from 'ol/extent.js';
|
3
|
-
import { Cartographic, Entity, Math as CesiumMath } from '@vcmap/
|
3
|
+
import { Cartographic, Entity, Math as CesiumMath } from '@vcmap-cesium/engine';
|
4
4
|
import { Projection } from '@vcmap/core';
|
5
5
|
import { check } from '@vcsuite/check';
|
6
6
|
import AbstractFeatureInfoView from './abstractFeatureInfoView.js';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Cartesian2, Cartographic, SceneTransforms } from '@vcmap/
|
1
|
+
import { Cartesian2, Cartographic, SceneTransforms } from '@vcmap-cesium/engine';
|
2
2
|
import { CesiumMap, ObliqueMap, OpenlayersMap, Projection, transformToImage } from '@vcmap/core';
|
3
3
|
import { unByKey } from 'ol/Observable.js';
|
4
4
|
import {
|
@@ -13,9 +13,9 @@ import {
|
|
13
13
|
export const balloonOffset = { x: 55, y: 25 };
|
14
14
|
|
15
15
|
/**
|
16
|
-
* @param {import("@vcmap/
|
17
|
-
* @param {import("@vcmap/
|
18
|
-
* @returns {undefined|import("@vcmap/
|
16
|
+
* @param {import("@vcmap-cesium/engine").Scene} scene
|
17
|
+
* @param {import("@vcmap-cesium/engine").Cartesian3} cartesian
|
18
|
+
* @returns {undefined|import("@vcmap-cesium/engine").Cartesian2}
|
19
19
|
*/
|
20
20
|
function getBalloonPositionCesium(scene, cartesian) {
|
21
21
|
return SceneTransforms.wgs84ToWindowCoordinates(scene, cartesian);
|
@@ -24,7 +24,7 @@ function getBalloonPositionCesium(scene, cartesian) {
|
|
24
24
|
/**
|
25
25
|
* @param {import("@vcmap/core").OpenlayersMap} olMap
|
26
26
|
* @param {import("ol/coordinate").Coordinate} position
|
27
|
-
* @returns {undefined|import("@vcmap/
|
27
|
+
* @returns {undefined|import("@vcmap-cesium/engine").Cartesian2}
|
28
28
|
*/
|
29
29
|
function getBalloonPositionOL(olMap, position) {
|
30
30
|
const pixel = olMap.getPixelFromCoordinate(position);
|
@@ -62,7 +62,7 @@ export async function getBalloonPosition(app, position) {
|
|
62
62
|
* sets the windowPosition of a balloon
|
63
63
|
* @param {WindowManager} windowManager
|
64
64
|
* @param {string} id - windowId of balloon
|
65
|
-
* @param {import("@vcmap/
|
65
|
+
* @param {import("@vcmap-cesium/engine").Cartesian2|undefined} windowPosition
|
66
66
|
* @param {HTMLElement} target - the map's target { @link @import("@vcmap/core").MapCollection }
|
67
67
|
*/
|
68
68
|
export function setBalloonPosition(windowManager, id, windowPosition, target) {
|
@@ -22,7 +22,7 @@ import {
|
|
22
22
|
Cesium3DTilePointFeature,
|
23
23
|
Color,
|
24
24
|
Entity,
|
25
|
-
} from '@vcmap/
|
25
|
+
} from '@vcmap-cesium/engine';
|
26
26
|
import { Feature } from 'ol';
|
27
27
|
import { check, checkMaybe } from '@vcsuite/check';
|
28
28
|
|
@@ -36,7 +36,7 @@ import BalloonFeatureInfoView from './balloonFeatureInfoView.js';
|
|
36
36
|
import { defaultPrimaryColor } from '../vuePlugins/vuetify.js';
|
37
37
|
import { ToolboxType } from '../manager/toolbox/toolboxManager.js';
|
38
38
|
|
39
|
-
/** @typedef {import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap/
|
39
|
+
/** @typedef {import("ol").Feature<import("ol/geom/Geometry").default>|import("@vcmap-cesium/engine").Cesium3DTileFeature|import("@vcmap-cesium/engine").Cesium3DTilePointFeature|import("@vcmap-cesium/engine").Entity} FeatureType */
|
40
40
|
|
41
41
|
/**
|
42
42
|
* @typedef {Object} FeatureInfoEvent
|
package/src/i18n/de.js
CHANGED
@@ -8,6 +8,9 @@ const messages = {
|
|
8
8
|
menu: {
|
9
9
|
tooltip: 'Menü',
|
10
10
|
},
|
11
|
+
share: {
|
12
|
+
tooltip: 'Den aktuellen Kartenausschnitt teilen.',
|
13
|
+
},
|
11
14
|
},
|
12
15
|
content: {
|
13
16
|
title: 'Inhalte',
|
@@ -17,12 +20,6 @@ const messages = {
|
|
17
20
|
infoAction: {
|
18
21
|
title: 'Weitere Informationen',
|
19
22
|
},
|
20
|
-
stateAction: {
|
21
|
-
titleInactive: 'Deaktiviert',
|
22
|
-
titleActive: 'Aktiviert',
|
23
|
-
titleIndeterminate: 'Unbestimmbar',
|
24
|
-
titleLoading: 'Lädt...',
|
25
|
-
},
|
26
23
|
viewpointAction: {
|
27
24
|
title: 'Springe zur Ansicht',
|
28
25
|
},
|
@@ -30,7 +27,8 @@ const messages = {
|
|
30
27
|
title: 'Öffne Stil Auswahl',
|
31
28
|
},
|
32
29
|
layerExtentAction: {
|
33
|
-
|
30
|
+
name: 'Ebenenausdehnung',
|
31
|
+
title: 'Auf Ebenenausdehnung zoomen',
|
34
32
|
},
|
35
33
|
},
|
36
34
|
navigation: {
|
@@ -38,8 +36,9 @@ const messages = {
|
|
38
36
|
obliqueRightTooltip: 'Schrägluftbild nach rechts drehen',
|
39
37
|
zoomInTooltip: 'Hineinzoomen',
|
40
38
|
zoomOutTooltip: 'Herauszoomen',
|
41
|
-
pitchTooltip: '
|
39
|
+
pitchTooltip: 'Kameraneigung: {0}°',
|
42
40
|
overviewMapTooltip: 'Übersichtskarte',
|
41
|
+
homeButton: 'Springe zur Startansicht',
|
43
42
|
},
|
44
43
|
categoryManager: {
|
45
44
|
title: 'Komponenten',
|
@@ -76,6 +75,7 @@ const messages = {
|
|
76
75
|
legend: {
|
77
76
|
title: 'Legende',
|
78
77
|
tooltip: 'Legende',
|
78
|
+
empty: 'Aktuell sind keine Legendeneinträge verfügbar.',
|
79
79
|
openInNew: 'In neuem Browser Tab öffnen',
|
80
80
|
defaultLabelText: 'Text',
|
81
81
|
},
|
package/src/i18n/en.js
CHANGED
@@ -8,6 +8,9 @@ const messages = {
|
|
8
8
|
menu: {
|
9
9
|
tooltip: 'Menu',
|
10
10
|
},
|
11
|
+
share: {
|
12
|
+
tooltip: 'Share current view of the map.',
|
13
|
+
},
|
11
14
|
},
|
12
15
|
content: {
|
13
16
|
title: 'Content',
|
@@ -17,12 +20,6 @@ const messages = {
|
|
17
20
|
infoAction: {
|
18
21
|
title: 'Info',
|
19
22
|
},
|
20
|
-
stateAction: {
|
21
|
-
titleInactive: 'Inactive',
|
22
|
-
titleActive: 'Active',
|
23
|
-
titleIndeterminate: 'Indetermine',
|
24
|
-
titleLoading: 'Loading',
|
25
|
-
},
|
26
23
|
viewpointAction: {
|
27
24
|
title: 'Go to viewpoint',
|
28
25
|
},
|
@@ -30,6 +27,7 @@ const messages = {
|
|
30
27
|
title: 'Open Style selector',
|
31
28
|
},
|
32
29
|
layerExtentAction: {
|
30
|
+
name: 'Layer extent',
|
33
31
|
title: 'Jump to layer extent',
|
34
32
|
},
|
35
33
|
},
|
@@ -40,6 +38,7 @@ const messages = {
|
|
40
38
|
zoomOutTooltip: 'Zoom out',
|
41
39
|
pitchTooltip: 'Camera pitch: {0}°',
|
42
40
|
overviewMapTooltip: 'Overview Map',
|
41
|
+
homeButton: 'Go to starting view',
|
43
42
|
},
|
44
43
|
categoryManager: {
|
45
44
|
title: 'Components',
|
@@ -76,6 +75,7 @@ const messages = {
|
|
76
75
|
legend: {
|
77
76
|
title: 'Legend',
|
78
77
|
tooltip: 'Legend',
|
78
|
+
empty: 'Currently there are no legend entries available.',
|
79
79
|
openInNew: 'Open in new tab',
|
80
80
|
defaultLabelText: 'Text',
|
81
81
|
},
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { getShapeFromOptions } from '@vcmap/core';
|
2
|
-
import {
|
2
|
+
import { shallowRef } from 'vue';
|
3
3
|
|
4
4
|
/**
|
5
5
|
* @enum {string}
|
@@ -106,6 +106,7 @@ export function getImageSrcFromShape(image) {
|
|
106
106
|
* @typedef {Object} LegendEntry
|
107
107
|
* @property {string} key
|
108
108
|
* @property {string} title - layer or entry name
|
109
|
+
* @property {boolean} [open=true] - panel state of entry
|
109
110
|
* @property {Array<LegendItem>} legend - legend properties
|
110
111
|
* @property {Array<VcsAction>} actions - popout actions
|
111
112
|
*/
|
@@ -130,7 +131,7 @@ export function createLayerLegendEntry(key, title, legend) {
|
|
130
131
|
});
|
131
132
|
}
|
132
133
|
});
|
133
|
-
return { key, title, legend, actions };
|
134
|
+
return { key, title, legend, actions, open: true };
|
134
135
|
}
|
135
136
|
|
136
137
|
/**
|
@@ -142,7 +143,7 @@ export function getLegendEntries(app) {
|
|
142
143
|
/**
|
143
144
|
* @type {import("vue").Ref<Array<LegendEntry>>}>}
|
144
145
|
*/
|
145
|
-
const entries =
|
146
|
+
const entries = shallowRef([]);
|
146
147
|
/**
|
147
148
|
* @type {Object<string,function():void>}
|
148
149
|
*/
|
@@ -153,10 +154,8 @@ export function getLegendEntries(app) {
|
|
153
154
|
*/
|
154
155
|
function removeEntryForLayer(layer) {
|
155
156
|
const layerName = layer.name;
|
156
|
-
|
157
|
-
|
158
|
-
entries.value.splice(index, 1);
|
159
|
-
}
|
157
|
+
// reassign to trigger update
|
158
|
+
entries.value = entries.value.filter(({ key }) => key !== layerName);
|
160
159
|
if (styleChangedListener[layerName]) {
|
161
160
|
styleChangedListener[layerName]();
|
162
161
|
delete styleChangedListener[layerName];
|
@@ -176,7 +175,8 @@ export function getLegendEntries(app) {
|
|
176
175
|
const legend = layer.style?.properties?.legend ?? layer.properties?.legend;
|
177
176
|
if (legend) {
|
178
177
|
const legendEntry = createLayerLegendEntry(key, title, legend);
|
179
|
-
entries
|
178
|
+
// use spread since push won't trigger updates. Put new entries at the start
|
179
|
+
entries.value = [legendEntry, ...entries.value];
|
180
180
|
}
|
181
181
|
if (layer.styleChanged) {
|
182
182
|
styleChangedListener[layer.name] = layer.styleChanged.addEventListener(() => syncLayerLegendEntries(layer));
|
package/src/legend/vcsLegend.vue
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
<template>
|
2
2
|
<v-card
|
3
3
|
class="overflow-y-auto"
|
4
|
-
max-height="500"
|
5
4
|
>
|
6
5
|
<v-expansion-panels
|
7
6
|
accordion
|
8
7
|
multiple
|
8
|
+
v-if="entries.length > 0"
|
9
|
+
v-model="panels"
|
9
10
|
>
|
10
11
|
<v-expansion-panel
|
11
12
|
v-for="(entry,i) in entries"
|
12
13
|
:key="i"
|
13
14
|
class="pa-0 ma-0"
|
15
|
+
@change="entry.open = !entry.open"
|
14
16
|
>
|
15
17
|
<v-expansion-panel-header hide-actions>
|
16
18
|
{{ $t(entry.title) }}
|
@@ -27,7 +29,13 @@
|
|
27
29
|
<v-list dense>
|
28
30
|
<div v-for="(item, idx) in entry.legend" :key="idx">
|
29
31
|
<div v-if="item.type === LegendType.Image" class="mx-2">
|
30
|
-
<
|
32
|
+
<img
|
33
|
+
:src="$t(item.src)"
|
34
|
+
max-width="287"
|
35
|
+
max-height="auto"
|
36
|
+
class="mx-2 legend-image"
|
37
|
+
:title="item.tooltip"
|
38
|
+
>
|
31
39
|
</div>
|
32
40
|
<div v-else-if="item.type === LegendType.Iframe" class="mx-2">
|
33
41
|
<iframe
|
@@ -45,6 +53,9 @@
|
|
45
53
|
</v-expansion-panel-content>
|
46
54
|
</v-expansion-panel>
|
47
55
|
</v-expansion-panels>
|
56
|
+
<v-sheet v-else class="ma-2">
|
57
|
+
{{ $t('legend.empty') }}
|
58
|
+
</v-sheet>
|
48
59
|
</v-card>
|
49
60
|
</template>
|
50
61
|
|
@@ -58,8 +69,9 @@
|
|
58
69
|
VExpansionPanelContent,
|
59
70
|
VIcon,
|
60
71
|
VList,
|
61
|
-
|
72
|
+
VSheet,
|
62
73
|
} from 'vuetify/lib';
|
74
|
+
import { computed } from 'vue';
|
63
75
|
import { LegendType } from './legendHelper.js';
|
64
76
|
import StyleLegendItem from './styleLegendItem.vue';
|
65
77
|
import VcsTreeviewLeaf from '../components/lists/VcsTreeviewLeaf.vue';
|
@@ -67,6 +79,7 @@
|
|
67
79
|
/**
|
68
80
|
* @description A component rendering configured legend information for active layers.
|
69
81
|
* @vue-prop {import("vue").Ref<Array<LegendEntry>>} entries - legend entries to be displayed
|
82
|
+
* @vue-computed {import("vue").ComputedRef<number[]>} panels - derives indices from entries array to define all panels as open
|
70
83
|
*/
|
71
84
|
export default {
|
72
85
|
name: 'VcsLegend',
|
@@ -80,7 +93,7 @@
|
|
80
93
|
VExpansionPanelContent,
|
81
94
|
VIcon,
|
82
95
|
VList,
|
83
|
-
|
96
|
+
VSheet,
|
84
97
|
},
|
85
98
|
props: {
|
86
99
|
entries: {
|
@@ -88,7 +101,7 @@
|
|
88
101
|
required: true,
|
89
102
|
},
|
90
103
|
},
|
91
|
-
setup() {
|
104
|
+
setup(props) {
|
92
105
|
/**
|
93
106
|
* adapts the iframe height on load
|
94
107
|
* @param {string} id - iframe's html id
|
@@ -98,9 +111,19 @@
|
|
98
111
|
iframe.style.height = `${iframe.contentWindow.document.documentElement.scrollHeight}px`;
|
99
112
|
};
|
100
113
|
|
114
|
+
/**
|
115
|
+
* Sets all entry panels open
|
116
|
+
* @type {import("vue").ComputedRef<number[]>}
|
117
|
+
*/
|
118
|
+
const panels = computed(() => {
|
119
|
+
return [...Array(props.entries.length).keys()]
|
120
|
+
.filter((p, idx) => !!props.entries[idx].open);
|
121
|
+
});
|
122
|
+
|
101
123
|
return {
|
102
124
|
LegendType,
|
103
125
|
setIframeHeight,
|
126
|
+
panels,
|
104
127
|
};
|
105
128
|
},
|
106
129
|
};
|
@@ -115,4 +138,9 @@
|
|
115
138
|
max-width: 189px;
|
116
139
|
}
|
117
140
|
}
|
141
|
+
.legend-image {
|
142
|
+
max-width: 287px;
|
143
|
+
height: auto;
|
144
|
+
width: auto;
|
145
|
+
}
|
118
146
|
</style>
|