@vcmap/ui 5.0.0-rc.22 → 5.0.0-rc.24
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 +38 -20
- package/app.config.json +3 -0
- package/build/.eslintrc +3 -0
- package/build/build.js +184 -174
- package/build/buildCesium.js +32 -19
- package/build/buildHelpers.js +117 -48
- package/build/buildPreview.js +9 -6
- package/build/commonViteConfig.js +1 -3
- package/build/determineHost.js +17 -4
- package/build/generateOLLib.js +13 -16
- package/build/getPluginProxies.js +16 -3
- package/build/info/conf.json +21 -21
- package/build/info/publish.js +15 -4
- package/config/aerowest.config.json +18 -44
- package/config/base.config.json +72 -246
- package/config/codes.config.json +4 -0
- package/config/dev.config.json +11 -13
- package/config/graphFeatureInfo.config.json +58 -17
- package/config/projects.config.json +30 -0
- package/config/www.config.json +98 -297
- package/dist/assets/cesium/Workers/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
- package/dist/assets/cesium/Workers/{AttributeCompression-b646d393.js → AttributeCompression-f9f6c717.js} +24 -24
- package/dist/assets/cesium/Workers/{AxisAlignedBoundingBox-ff186ccc.js → AxisAlignedBoundingBox-85d9e53a.js} +3 -3
- package/dist/assets/cesium/Workers/{BoundingRectangle-be5924f4.js → BoundingRectangle-1ee7eb47.js} +18 -18
- package/dist/assets/cesium/Workers/{BoxGeometry-12eeccaf.js → BoxGeometry-3b2be784.js} +9 -9
- package/dist/assets/cesium/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
- package/dist/assets/cesium/Workers/{Color-a84038cb.js → Color-f107c84d.js} +59 -59
- package/dist/assets/cesium/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
- package/dist/assets/cesium/Workers/{CoplanarPolygonGeometryLibrary-3272c1b3.js → CoplanarPolygonGeometryLibrary-78d71993.js} +1 -1
- package/dist/assets/cesium/Workers/{CorridorGeometryLibrary-0170e093.js → CorridorGeometryLibrary-50d99b33.js} +1 -1
- package/dist/assets/cesium/Workers/{CylinderGeometry-7c5da648.js → CylinderGeometry-51b0d9bf.js} +12 -12
- package/dist/assets/cesium/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipseGeometry-797d580e.js → EllipseGeometry-bcfb5d87.js} +20 -20
- package/dist/assets/cesium/Workers/{EllipseGeometryLibrary-2939e1dc.js → EllipseGeometryLibrary-e94f8472.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipseOutlineGeometry-8b50870f.js → EllipseOutlineGeometry-28e3a1bb.js} +15 -15
- package/dist/assets/cesium/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-5b3623dc.js} +6 -6
- package/dist/assets/cesium/Workers/{EllipsoidGeometry-21c0e3a5.js → EllipsoidGeometry-b222fa63.js} +14 -14
- package/dist/assets/cesium/Workers/{EllipsoidOutlineGeometry-eff247c8.js → EllipsoidOutlineGeometry-38a3fb5b.js} +15 -15
- package/dist/assets/cesium/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-ef872433.js} +9 -9
- package/dist/assets/cesium/Workers/{EllipsoidTangentPlane-214683dc.js → EllipsoidTangentPlane-8c89f28c.js} +1 -1
- package/dist/assets/cesium/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-57415c8a.js} +6 -6
- package/dist/assets/cesium/Workers/{FrustumGeometry-ac42a6d9.js → FrustumGeometry-bdd3a04d.js} +139 -111
- package/dist/assets/cesium/Workers/{GeometryAttribute-7d6f1732.js → GeometryAttribute-153115c5.js} +20 -20
- package/dist/assets/cesium/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
- package/dist/assets/cesium/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-34d9e21e.js} +6 -6
- package/dist/assets/cesium/Workers/{GeometryPipeline-ce4339ed.js → GeometryPipeline-acb2399c.js} +22 -22
- package/dist/assets/cesium/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-2643aa47.js} +13 -13
- package/dist/assets/cesium/Workers/{IntersectionTests-f6e6bd8a.js → IntersectionTests-271e513e.js} +37 -37
- package/dist/assets/cesium/Workers/{Math-2dbd6b93.js → Math-0a2ac845.js} +149 -139
- package/dist/assets/cesium/Workers/{Matrix2-13178034.js → Matrix2-e1298525.js} +256 -256
- package/dist/assets/cesium/Workers/{Matrix3-315394f6.js → Matrix3-41c58dde.js} +150 -150
- package/dist/assets/cesium/Workers/{OrientedBoundingBox-04920dc7.js → OrientedBoundingBox-5e04e31f.js} +19 -17
- package/dist/assets/cesium/Workers/{Plane-900aa728.js → Plane-4c3d403b.js} +5 -5
- package/dist/assets/cesium/Workers/{PolygonGeometryLibrary-a8680d96.js → PolygonGeometryLibrary-6762b65b.js} +6 -6
- package/dist/assets/cesium/Workers/PolygonPipeline-7dc7a431.js +1344 -0
- package/dist/assets/cesium/Workers/{PolylinePipeline-32f36d2a.js → PolylinePipeline-15fde655.js} +16 -16
- package/dist/assets/cesium/Workers/{PolylineVolumeGeometryLibrary-a510d657.js → PolylineVolumeGeometryLibrary-ba7dfed5.js} +7 -7
- package/dist/assets/cesium/Workers/{PrimitivePipeline-ba38434a.js → PrimitivePipeline-68f0b9a2.js} +6 -6
- package/dist/assets/cesium/Workers/{RectangleGeometryLibrary-bdba697e.js → RectangleGeometryLibrary-8eaf23da.js} +1 -1
- package/dist/assets/cesium/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
- package/dist/assets/cesium/Workers/{TerrainEncoding-833187da.js → TerrainEncoding-eb8a645a.js} +30 -30
- package/dist/assets/cesium/Workers/Transforms-f6451f99.js +14698 -0
- package/dist/assets/cesium/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
- package/dist/assets/cesium/Workers/{WallGeometryLibrary-919eed92.js → WallGeometryLibrary-feef3109.js} +1 -1
- package/dist/assets/cesium/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
- package/dist/assets/cesium/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-13ed1a6e.js} +6 -6
- package/dist/assets/cesium/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-d2061e85.js} +5 -5
- package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +5 -5
- package/dist/assets/cesium/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
- package/dist/assets/cesium/Workers/combineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createBoxGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +9 -9
- package/dist/assets/cesium/Workers/createCircleGeometry.js +13 -13
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +13 -13
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +11 -11
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +14 -14
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +12 -12
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +13 -13
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +8 -8
- package/dist/assets/cesium/Workers/createGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +33 -33
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +8 -8
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +6 -6
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +25 -25
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +17 -17
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +11 -11
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +9 -9
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +16 -16
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +12 -12
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +10 -10
- package/dist/assets/cesium/Workers/createSphereGeometry.js +11 -11
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +12 -12
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +2 -2
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +1 -1
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +8 -8
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +1 -1
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +1 -1
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +1 -1
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +27 -28
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +33 -38
- package/dist/assets/cesium/Workers/createWallGeometry.js +14 -14
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +14 -14
- package/dist/assets/cesium/Workers/decodeDraco.js +10 -2
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
- package/dist/assets/cesium/Workers/decodeI3S.js +1 -1
- package/dist/assets/cesium/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
- package/dist/assets/cesium/Workers/package.js +1 -1
- package/dist/assets/cesium/Workers/transcodeKTX2.js +46 -26
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +24 -24
- package/dist/assets/{cesium.88cffd.js → cesium.253914.js} +36578 -33768
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.a66593.js → core.3a8205.js} +7824 -5377
- package/dist/assets/core.js +1 -1
- package/dist/assets/index.91ae2d55.js +1 -0
- package/dist/assets/{ol.d4539f.js → ol.1c946a.js} +5550 -5491
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui.0025be.css +5 -0
- package/dist/assets/{ui.d760e4.js → ui.0025be.js} +6260 -5164
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.427322.css → vuetify.6efa21.css} +2 -2
- package/dist/assets/{vuetify.427322.js → vuetify.6efa21.js} +1 -1
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +27 -7
- package/index.html +26 -6
- package/index.js +68 -15
- package/lib/cesium.js +1 -1
- package/lib/core.js +1 -1
- package/lib/ui.js +1 -1
- package/lib/vue.js +2 -2
- package/lib/vuetify.js +2 -2
- package/package.json +19 -10
- package/plugins/.eslintrc +9 -0
- package/plugins/@vcmap/create-link/fallbackCreateLink.vue +13 -9
- package/plugins/@vcmap/create-link/index.js +15 -6
- package/plugins/@vcmap/project-selector/{ContextsListComponent.vue → ModulesListComponent.vue} +14 -18
- package/plugins/@vcmap/project-selector/ProjectSelectorComponent.vue +19 -24
- package/plugins/@vcmap/project-selector/README.md +16 -20
- package/plugins/@vcmap/project-selector/config.json +13 -13
- package/plugins/@vcmap/project-selector/de.json +4 -1
- package/plugins/@vcmap/project-selector/en.json +4 -1
- package/plugins/@vcmap/project-selector/index.js +117 -107
- package/plugins/@vcmap/search-nominatim/LICENSE.md +5 -6
- package/plugins/@vcmap/search-nominatim/README.md +2 -1
- package/plugins/@vcmap/search-nominatim/config.json +1 -2
- package/plugins/@vcmap/search-nominatim/index.js +7 -4
- package/plugins/@vcmap/search-nominatim/nominatim.js +7 -2
- package/plugins/@vcmap/search-nominatim/package.json +2 -36
- package/plugins/@vcmap/simple-graph/README.md +29 -9
- package/plugins/@vcmap/simple-graph/SimpleGraphComponent.vue +2 -7
- package/plugins/@vcmap/simple-graph/index.js +2 -2
- package/plugins/@vcmap/simple-graph/simpleGraphView.js +3 -1
- package/plugins/@vcmap/theme-changer/README.md +5 -3
- package/plugins/@vcmap/theme-changer/ThemeChangerComponent.vue +6 -10
- package/plugins/@vcmap/theme-changer/config.json +67 -67
- package/plugins/@vcmap/theme-changer/index.js +11 -5
- package/plugins/@vcmap-show-case/buttons-example/ButtonsExample.vue +76 -11
- package/plugins/@vcmap-show-case/buttons-example/index.js +10 -8
- package/plugins/@vcmap-show-case/category-tester/Categories.vue +144 -117
- package/plugins/@vcmap-show-case/category-tester/Category.vue +46 -29
- package/plugins/@vcmap-show-case/category-tester/index.js +9 -3
- package/plugins/@vcmap-show-case/config-editor/ConfigEditor.vue +62 -0
- package/plugins/@vcmap-show-case/config-editor/index.js +13 -11
- package/plugins/@vcmap-show-case/context-menu-tester/index.js +18 -10
- package/plugins/@vcmap-show-case/form-inputs-example/FormInputsExample.vue +97 -109
- package/plugins/@vcmap-show-case/form-inputs-example/config.json +3 -3
- package/plugins/@vcmap-show-case/form-inputs-example/exampleActions.js +14 -4
- package/plugins/@vcmap-show-case/form-inputs-example/index.js +42 -19
- package/plugins/@vcmap-show-case/form-inputs-example/validation.js +2 -1
- package/plugins/@vcmap-show-case/icons-example/README.md +1 -1
- package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +10 -10
- package/plugins/@vcmap-show-case/icons-example/index.js +10 -8
- package/plugins/@vcmap-show-case/list-example/ListExample.vue +221 -103
- package/plugins/@vcmap-show-case/list-example/index.js +10 -8
- package/plugins/@vcmap-show-case/notifier-tester/index.js +9 -3
- package/plugins/@vcmap-show-case/notifier-tester/notifierTester.vue +15 -21
- package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +183 -0
- package/plugins/@vcmap-show-case/table-example/README.md +3 -0
- package/plugins/@vcmap-show-case/table-example/index.js +49 -0
- package/plugins/@vcmap-show-case/table-example/package.json +5 -0
- package/plugins/@vcmap-show-case/textfields-example/TextfieldsExample.vue +7 -30
- package/plugins/@vcmap-show-case/textfields-example/index.js +10 -4
- package/plugins/@vcmap-show-case/window-tester/WindowExample.vue +16 -13
- package/plugins/@vcmap-show-case/window-tester/emptyComponent.vue +4 -7
- package/plugins/@vcmap-show-case/window-tester/index.js +26 -20
- package/plugins/@vcmap-show-case/window-tester/myCustomHeader.vue +7 -3
- package/plugins/@vcmap-show-case/window-tester/toolbox-data.js +82 -5
- package/plugins/@vcmap-show-case/window-tester/windowExampleContent.vue +3 -7
- package/plugins/@vcmap-show-case/wizard-example/index.js +9 -3
- package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +36 -38
- package/src/actions/actionHelper.js +64 -37
- package/src/actions/styleSelector.vue +40 -24
- package/src/application/VcsApp.vue +117 -80
- package/src/application/VcsAttributions.vue +8 -9
- package/src/application/VcsAttributionsFooter.vue +12 -9
- package/src/application/VcsMap.vue +9 -5
- package/src/application/VcsNavbar.vue +44 -27
- package/src/application/VcsSettings.vue +5 -12
- package/src/application/attributionsHelper.js +23 -11
- package/src/application/vcsAppWrapper.vue +1 -3
- package/src/components/buttons/VcsActionButtonList.vue +20 -17
- package/src/components/buttons/VcsButton.vue +19 -23
- package/src/components/buttons/VcsFormButton.vue +176 -0
- package/src/components/form-inputs-controls/VcsCheckbox.vue +6 -7
- package/src/components/form-inputs-controls/VcsDatePicker.vue +142 -0
- package/src/components/form-inputs-controls/VcsFormSection.vue +11 -12
- package/src/components/form-inputs-controls/VcsLabel.vue +9 -10
- package/src/components/form-inputs-controls/VcsRadio.vue +44 -44
- package/src/components/form-inputs-controls/VcsSelect.vue +16 -13
- package/src/components/form-inputs-controls/VcsTextArea.vue +21 -14
- package/src/components/form-inputs-controls/VcsTextField.vue +44 -19
- package/src/components/form-inputs-controls/VcsWizard.vue +79 -77
- package/src/components/form-inputs-controls/VcsWizardStep.vue +20 -20
- package/src/components/form-inputs-controls/composables.js +13 -8
- package/src/components/form-output/VcsFormattedNumber.vue +26 -26
- package/src/components/icons/+all.js +13 -5
- package/src/components/icons/2DAreaIcon.vue +62 -10
- package/src/components/icons/2DDistanceIcon.vue +14 -2
- package/src/components/icons/3DAreaIcon.vue +62 -10
- package/src/components/icons/3DDistanceIcon.vue +14 -2
- package/src/components/icons/3DHeightIcon.vue +14 -2
- package/src/components/icons/AngleIcon.vue +12 -3
- package/src/components/icons/AssociationsIcon.vue +6 -1
- package/src/components/icons/AxisIcon.vue +34 -5
- package/src/components/icons/BoundingBoxIcon.vue +31 -5
- package/src/components/icons/CheckboxCheckedIcon.vue +4 -1
- package/src/components/icons/CheckboxIcon.vue +1 -8
- package/src/components/icons/CheckboxIndeterminateIcon.vue +9 -2
- package/src/components/icons/CircleIcon.vue +24 -4
- package/src/components/icons/ClippingHorizontalIcon.vue +14 -2
- package/src/components/icons/ClippingIcon.vue +13 -2
- package/src/components/icons/ClippingVerticalIcon.vue +14 -2
- package/src/components/icons/ColorPickerIcon.vue +13 -2
- package/src/components/icons/ColorSwatchIcon.vue +7 -1
- package/src/components/icons/CommentIcon.vue +6 -1
- package/src/components/icons/CompassIcon.vue +21 -3
- package/src/components/icons/ComponentsIcon.vue +14 -2
- package/src/components/icons/ConeIcon.vue +26 -4
- package/src/components/icons/DimensionsHouseIcon.vue +7 -1
- package/src/components/icons/EditIcon.vue +13 -2
- package/src/components/icons/ElevationProfileIcon.vue +6 -1
- package/src/components/icons/ExportAreaIcon.vue +13 -2
- package/src/components/icons/ExportFlightIcon.vue +13 -2
- package/src/components/icons/ExportIcon.vue +14 -2
- package/src/components/icons/ExternalLinkIcon.vue +18 -3
- package/src/components/icons/EyeIcon.vue +12 -2
- package/src/components/icons/FastForwardIcon.vue +13 -2
- package/src/components/icons/FilterIcon.vue +13 -2
- package/src/components/icons/GlobalTerrainIcon.vue +12 -2
- package/src/components/icons/GlobeNatureIcon.vue +7 -1
- package/src/components/icons/GroundIcon.vue +12 -2
- package/src/components/icons/HealthCareIndustriesIcon.vue +6 -1
- package/src/components/icons/HelpIcon.vue +12 -2
- package/src/components/icons/HideIcon.vue +17 -3
- package/src/components/icons/HomePointIcon.vue +13 -3
- package/src/components/icons/HospitalsIcon.vue +6 -1
- package/src/components/icons/HouseIcon.vue +20 -3
- package/src/components/icons/ImportIcon.vue +21 -3
- package/src/components/icons/InfoIcon.vue +19 -3
- package/src/components/icons/KebabIcon.vue +12 -2
- package/src/components/icons/LabelIcon.vue +21 -3
- package/src/components/icons/LayersIcon.vue +12 -2
- package/src/components/icons/LegendIcon.vue +20 -60
- package/src/components/icons/LineIcon.vue +20 -3
- package/src/components/icons/LinkIcon.vue +13 -2
- package/src/components/icons/LogoutIcon.vue +13 -2
- package/src/components/icons/MapIcon.vue +14 -2
- package/src/components/icons/MenuIcon.vue +7 -1
- package/src/components/icons/MinusIcon.vue +14 -2
- package/src/components/icons/ObjectAttributeIcon.vue +13 -2
- package/src/components/icons/ObjectSelectIcon.vue +14 -2
- package/src/components/icons/ObliqueViewIcon.vue +11 -2
- package/src/components/icons/PdfIcon.vue +12 -2
- package/src/components/icons/PedestrianIcon.vue +13 -2
- package/src/components/icons/PenIcon.vue +13 -3
- package/src/components/icons/PlayCircleIcon.vue +20 -3
- package/src/components/icons/PlusIcon.vue +14 -3
- package/src/components/icons/PoiIcon.vue +17 -3
- package/src/components/icons/PointSelectIcon.vue +12 -2
- package/src/components/icons/PolygonIcon.vue +7 -1
- package/src/components/icons/PresentationModeIcon.vue +13 -2
- package/src/components/icons/ProgressIcon.vue +8 -6
- package/src/components/icons/QueryIcon.vue +31 -5
- package/src/components/icons/RectangleIcon.vue +24 -4
- package/src/components/icons/ReturnIcon.vue +13 -2
- package/src/components/icons/RewindIcon.vue +13 -2
- package/src/components/icons/RotateLeftIcon.vue +13 -2
- package/src/components/icons/RotateRightIcon.vue +13 -2
- package/src/components/icons/ScreenshotIcon.vue +52 -10
- package/src/components/icons/SearchIcon.vue +13 -3
- package/src/components/icons/ShadowIcon.vue +14 -3
- package/src/components/icons/ShapesIcon.vue +13 -3
- package/src/components/icons/ShareIcon.vue +17 -4
- package/src/components/icons/SimpleCircleFilledIcon.vue +14 -10
- package/src/components/icons/SimpleCircleHalfFilledIcon.vue +6 -1
- package/src/components/icons/SimpleCircleOutlinedIcon.vue +14 -10
- package/src/components/icons/SkipNextIcon.vue +11 -2
- package/src/components/icons/SkipPreviousIcon.vue +17 -3
- package/src/components/icons/SplitViewIcon.vue +6 -1
- package/src/components/icons/TerrainBoxIcon.vue +12 -2
- package/src/components/icons/TextStyleIcon.vue +7 -1
- package/src/components/icons/ThreeDimensionsIcon.vue +13 -2
- package/src/components/icons/ToolsIcon.vue +12 -2
- package/src/components/icons/TouchIcon.vue +13 -2
- package/src/components/icons/TrashCanIcon.vue +13 -2
- package/src/components/icons/TriangleIcon.vue +6 -2
- package/src/components/icons/TwoDimensionsIcon.vue +14 -2
- package/src/components/icons/UploadIcon.vue +13 -2
- package/src/components/icons/UserProfileIcon.vue +13 -2
- package/src/components/icons/UserShareIcon.vue +12 -2
- package/src/components/icons/VideoRecorderIcon.vue +16 -3
- package/src/components/icons/ViewpointFlightIcon.vue +22 -4
- package/src/components/icons/ViewpointIcon.vue +22 -4
- package/src/components/icons/Viewshed360Icon.vue +14 -2
- package/src/components/icons/ViewshedConeIcon.vue +13 -2
- package/src/components/icons/ViewshedIcon.vue +14 -2
- package/src/components/icons/WalkingIcon.vue +13 -2
- package/src/components/icons/WallIcon.vue +19 -3
- package/src/components/icons/WandIcon.vue +129 -21
- package/src/components/imageElementInjector.vue +1 -3
- package/src/components/lists/VcsActionList.vue +21 -18
- package/src/components/lists/VcsList.vue +226 -97
- package/src/components/lists/VcsTreeview.vue +30 -26
- package/src/components/lists/VcsTreeviewLeaf.vue +23 -22
- package/src/components/lists/VcsTreeviewSearchbar.vue +19 -15
- package/src/components/notification/VcsBadge.vue +4 -6
- package/src/components/notification/VcsTooltip.vue +95 -94
- package/src/components/notification/validation.js +1 -1
- package/src/components/tables/VcsDataTable.vue +398 -0
- package/src/components/tables/VcsTable.vue +63 -300
- package/src/contentTree/LayerTree.vue +2 -3
- package/src/contentTree/contentTreeCollection.js +49 -23
- package/src/contentTree/contentTreeItem.js +36 -14
- package/src/contentTree/groupContentTreeItem.js +44 -22
- package/src/contentTree/layerContentTreeItem.js +45 -20
- package/src/contentTree/layerGroupContentTreeItem.js +53 -31
- package/src/contentTree/nodeContentTreeItem.js +18 -7
- package/src/contentTree/obliqueCollectionContentTreeItem.js +45 -20
- package/src/contentTree/subContentTreeItem.js +13 -4
- package/src/contentTree/vcsObjectContentTreeItem.js +24 -15
- package/src/contentTree/viewpointContentTreeItem.js +19 -6
- package/src/downloadHelper.js +52 -0
- package/src/featureInfo/AddressBalloonComponent.vue +11 -16
- package/src/featureInfo/BalloonComponent.vue +41 -31
- package/src/featureInfo/abstractFeatureInfoView.js +30 -14
- package/src/featureInfo/addressBalloonFeatureInfoView.js +19 -7
- package/src/featureInfo/balloonFeatureInfoView.js +22 -9
- package/src/featureInfo/balloonHelper.js +61 -42
- package/src/featureInfo/featureInfo.js +74 -34
- package/src/featureInfo/featureInfoInteraction.js +13 -7
- package/src/featureInfo/iframeFeatureInfoView.js +3 -1
- package/src/featureInfo/tableFeatureInfoView.js +15 -5
- package/src/i18n/de.js +8 -0
- package/src/i18n/en.js +8 -0
- package/src/i18n/i18nCollection.js +183 -155
- package/src/init.js +124 -38
- package/src/legend/legendHelper.js +11 -6
- package/src/legend/styleLegendItem.vue +18 -12
- package/src/legend/vcsLegend.vue +15 -17
- package/src/manager/buttonManager.js +6 -3
- package/src/manager/categoryManager/CategoryComponent.vue +99 -63
- package/src/manager/categoryManager/CategoryComponentList.vue +33 -8
- package/src/manager/categoryManager/CategoryManager.vue +23 -11
- package/src/manager/categoryManager/categoryManager.js +90 -45
- package/src/manager/contextMenu/contextMenuComponent.vue +2 -6
- package/src/manager/contextMenu/contextMenuInteraction.js +6 -1
- package/src/manager/contextMenu/contextMenuManager.js +37 -22
- package/src/manager/navbarManager.js +28 -3
- package/src/manager/toolbox/GroupToolboxComponent.vue +22 -21
- package/src/manager/toolbox/SelectToolboxComponent.vue +36 -35
- package/src/manager/toolbox/ToolboxManager.vue +18 -10
- package/src/manager/toolbox/toolboxManager.js +30 -12
- package/src/manager/window/WindowComponent.vue +24 -32
- package/src/manager/window/WindowComponentHeader.vue +38 -28
- package/src/manager/window/WindowManager.vue +45 -35
- package/src/manager/window/windowHelper.js +80 -24
- package/src/manager/window/windowManager.js +79 -39
- package/src/navigation/mapNavCompass.vue +18 -4
- package/src/navigation/mapNavigation.vue +65 -46
- package/src/navigation/obliqueRotation.vue +34 -13
- package/src/navigation/orientationToolsButton.vue +6 -10
- package/src/navigation/overviewMap.js +76 -45
- package/src/navigation/overviewMapClickedInteraction.js +6 -1
- package/src/navigation/tiltSlider.vue +6 -10
- package/src/navigation/vcsCompass.vue +1 -9
- package/src/navigation/vcsZoomButton.vue +36 -11
- package/src/notifier/notifier.js +22 -13
- package/src/notifier/notifierComponent.vue +21 -21
- package/src/pluginHelper.js +39 -5
- package/src/search/resultItem.vue +10 -15
- package/src/search/resultsComponent.vue +30 -24
- package/src/search/search.js +48 -22
- package/src/search/searchComponent.vue +35 -10
- package/src/setup.js +9 -9
- package/src/state.js +28 -12
- package/src/styles/_typography.scss +0 -1
- package/src/styles/shades.scss +4 -2
- package/src/styles/utils/_border.scss +1 -1
- package/src/styles/utils/_display.scss +1 -1
- package/src/styles/variables.scss +39 -34
- package/src/styles/vcsFont.scss +6 -5
- package/src/styles/vcsGrid.scss +9 -0
- package/src/uiConfig.js +6 -4
- package/src/vcsUiApp.js +192 -91
- package/src/vuePlugins/i18n.js +5 -4
- package/src/vuePlugins/vuetify.js +4 -0
- package/start.js +8 -2
- package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +0 -1345
- package/dist/assets/cesium/Workers/Transforms-40229881.js +0 -14696
- package/dist/assets/index.8b833ead.js +0 -1
- package/dist/assets/ui.d760e4.css +0 -5
- package/map.config.json +0 -44
- package/plugins/@vcmap-show-case/config-editor/editor.vue +0 -66
- /package/dist/assets/cesium/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
- /package/dist/assets/{vue.db5102.js → vue.c1ece7.js} +0 -0
@@ -1,29 +1,25 @@
|
|
1
1
|
# VC Map Plugin Project Selector
|
2
2
|
|
3
|
-
This is a plugin to select and load `
|
3
|
+
This is a plugin to select and load `Projects` and `VcsModules`.
|
4
4
|
|
5
5
|
## configuration
|
6
6
|
|
7
|
-
You can add projects or
|
7
|
+
You can add projects or modules and define the startup behavior of the plugin:
|
8
8
|
|
9
9
|
### ProjectSelectorConfig
|
10
|
-
| Property | Type | default | Description |
|
11
|
-
|------------------|----------------------------|---------------|------------------------------|
|
12
|
-
| selected | string | 'VC Map Base' | selected project on startup |
|
13
|
-
| selectedContexts | string[] | [] | selected contexts on startup |
|
14
|
-
| projects | Array<VCMapProjectOptions> | [] | |
|
15
|
-
| contexts | Array<VCMapContextOptions> | [] | |
|
16
10
|
|
17
|
-
|
18
|
-
|
|
19
|
-
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
| Property | Type | default | Description |
|
12
|
+
| --------------- | --------------------- | ------------- | --------------------------- |
|
13
|
+
| selected | string | 'VC Map Base' | selected project on startup |
|
14
|
+
| selectedModules | string[] | [] | selected modules on startup |
|
15
|
+
| open | boolean | false | open plugin on startup |
|
16
|
+
| projects | Array<ProjectOptions> | [] | |
|
17
|
+
| modules | Array<string> | [] | list of config urls |
|
23
18
|
|
24
|
-
###
|
25
|
-
|
26
|
-
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
### ProjectOptions
|
20
|
+
|
21
|
+
| Property | Type | Description |
|
22
|
+
| ----------- | ------------- | -------------------------- |
|
23
|
+
| name | string | name of the project |
|
24
|
+
| description | string | description of the project |
|
25
|
+
| modules | Array<string> | list of config urls |
|
@@ -1,15 +1,15 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
2
|
+
"name": "projectSelector",
|
3
|
+
"entry": "plugins/@vcmap/project-selector/index.js",
|
4
|
+
"selected": "VC Map Base",
|
5
|
+
"selectedModules": [],
|
6
|
+
"open": false,
|
7
|
+
"projects": [
|
8
|
+
{
|
9
|
+
"name": "VC Map Base",
|
10
|
+
"description": "Base Layout with basic datasets",
|
11
|
+
"modules": ["config/base.config.json"]
|
12
|
+
}
|
13
|
+
],
|
14
|
+
"modules": []
|
15
15
|
}
|
@@ -1,50 +1,42 @@
|
|
1
|
-
import {
|
1
|
+
import { reactive } from 'vue';
|
2
2
|
import { ButtonLocation, createToggleAction } from '@vcmap/ui';
|
3
|
-
import {
|
3
|
+
import { VcsModule } from '@vcmap/core';
|
4
4
|
import { getLogger } from '@vcsuite/logger';
|
5
5
|
import ProjectsComponent from './ProjectSelectorComponent.vue';
|
6
6
|
import packageJSON from './package.json';
|
7
7
|
import defaultConfig from './config.json';
|
8
8
|
import de from './de.json';
|
9
9
|
import en from './en.json';
|
10
|
-
/**
|
11
|
-
* @typedef {Object} VCMapContextOptions
|
12
|
-
* @property {string} [name]
|
13
|
-
* @property {string} [description]
|
14
|
-
* @property {string} configUrl
|
15
|
-
*/
|
16
10
|
|
17
11
|
/**
|
18
|
-
* @typedef {Object}
|
12
|
+
* @typedef {Object} VcsModuleState
|
13
|
+
* @property {string} _id
|
19
14
|
* @property {string} [name]
|
20
15
|
* @property {string} [description]
|
21
16
|
* @property {string} configUrl
|
22
|
-
* @property {string} contextId
|
23
17
|
* @property {boolean} active
|
24
18
|
*/
|
25
19
|
|
26
20
|
/**
|
27
|
-
* @typedef {Object}
|
21
|
+
* @typedef {Object} ProjectOptions
|
28
22
|
* @property {string} name
|
29
23
|
* @property {string} [description]
|
30
|
-
* @property {Array<
|
24
|
+
* @property {Array<string>} modules - a list of config urls
|
31
25
|
*/
|
32
26
|
|
33
27
|
/**
|
34
|
-
* @typedef {
|
35
|
-
* @property {string} name
|
36
|
-
* @property {string} [description]
|
37
|
-
* @property {Array<VCMapContext>} contexts
|
28
|
+
* @typedef {ProjectOptions} Project
|
38
29
|
* @property {boolean} active
|
30
|
+
* @property {Array<VcsModuleState>} modules
|
39
31
|
*/
|
40
32
|
|
41
33
|
/**
|
42
34
|
* @typedef {Object} ProjectSelectorConfig
|
43
35
|
* @property {string} [selected='VC Map Base'] - selected project on startup
|
44
|
-
* @property {string[]} [
|
36
|
+
* @property {string[]} [selectedModules] - selected modules on startup
|
45
37
|
* @property {boolean} [open=false] - open plugin on startup
|
46
|
-
* @property {Array<
|
47
|
-
* @property {Array<
|
38
|
+
* @property {Array<Project>} projects
|
39
|
+
* @property {Array<string>} modules
|
48
40
|
*/
|
49
41
|
|
50
42
|
/**
|
@@ -52,156 +44,172 @@ import en from './en.json';
|
|
52
44
|
* @returns {VcsPlugin}
|
53
45
|
*/
|
54
46
|
export default async function projectSelector(config) {
|
55
|
-
const {
|
47
|
+
const {
|
48
|
+
selected,
|
49
|
+
selectedModules,
|
50
|
+
open,
|
51
|
+
projects = [],
|
52
|
+
modules = [],
|
53
|
+
} = config;
|
56
54
|
|
57
|
-
const pluginConfig = {
|
58
|
-
selected:
|
59
|
-
|
60
|
-
open:
|
61
|
-
projects:
|
62
|
-
|
63
|
-
|
55
|
+
const pluginConfig = reactive({
|
56
|
+
selected: selected || defaultConfig.selected,
|
57
|
+
selectedModules: selectedModules || defaultConfig.selectedModules,
|
58
|
+
open: open || defaultConfig.open,
|
59
|
+
projects: /** @type {Array<ProjectOptions>} */ [
|
60
|
+
...defaultConfig.projects,
|
61
|
+
...projects,
|
62
|
+
],
|
63
|
+
modules: /** @type {Array<string>} */ [
|
64
|
+
...defaultConfig.modules,
|
65
|
+
...modules,
|
66
|
+
],
|
67
|
+
});
|
64
68
|
|
65
|
-
const pluginState = {
|
66
|
-
projects:
|
67
|
-
|
68
|
-
};
|
69
|
+
const pluginState = reactive({
|
70
|
+
projects: /** @type {Array<Project>} */ [],
|
71
|
+
modules: /** @type {Array<VcsModuleState>} */ [],
|
72
|
+
});
|
69
73
|
|
70
74
|
/**
|
71
|
-
* @param {
|
75
|
+
* @param {string} configUrl
|
72
76
|
*/
|
73
|
-
function
|
74
|
-
|
75
|
-
* @type {VCMapContext}
|
76
|
-
*/
|
77
|
-
const context = {
|
78
|
-
name: undefined,
|
79
|
-
description: undefined,
|
80
|
-
configUrl: undefined,
|
81
|
-
...contextOptions,
|
82
|
-
contextId: undefined,
|
83
|
-
active: false,
|
84
|
-
};
|
85
|
-
pluginState.contexts.value.push(context);
|
77
|
+
function addModule(configUrl) {
|
78
|
+
pluginState.modules.push({ _id: undefined, configUrl, active: false });
|
86
79
|
}
|
87
80
|
|
88
81
|
/**
|
89
|
-
* @param {
|
82
|
+
* @param {string} moduleId
|
90
83
|
*/
|
91
|
-
function
|
92
|
-
const idx = pluginState.
|
93
|
-
pluginState.
|
84
|
+
function removeModule(moduleId) {
|
85
|
+
const idx = pluginState.modules.findIndex(({ _id }) => _id === moduleId);
|
86
|
+
pluginState.modules.splice(idx, 1);
|
94
87
|
}
|
95
88
|
|
96
89
|
/**
|
97
|
-
* @param {
|
90
|
+
* @param {ProjectOptions} projectOptions
|
98
91
|
*/
|
99
|
-
function
|
100
|
-
const { name, description, contexts: contextsOptions = [] } = projectOptions;
|
101
|
-
/**
|
102
|
-
* @type {VCMapProject}
|
103
|
-
*/
|
92
|
+
function addProject({ name, description, modules: configUrls }) {
|
104
93
|
const project = {
|
105
94
|
name,
|
106
95
|
description,
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
configUrl: undefined,
|
111
|
-
...options,
|
112
|
-
contextId: undefined,
|
96
|
+
modules: configUrls.map((configUrl) => ({
|
97
|
+
_id: undefined,
|
98
|
+
configUrl,
|
113
99
|
active: false,
|
114
100
|
})),
|
115
101
|
active: false,
|
116
102
|
};
|
117
|
-
pluginState.projects.
|
103
|
+
pluginState.projects.push(project);
|
118
104
|
}
|
119
105
|
|
120
106
|
/**
|
121
|
-
* @param {
|
107
|
+
* @param {Project} project
|
122
108
|
*/
|
123
109
|
function removeProject(project) {
|
124
|
-
const projectIdx = pluginState.projects.findIndex(
|
125
|
-
|
110
|
+
const projectIdx = pluginState.projects.findIndex(
|
111
|
+
(p) => p.name === project.name,
|
112
|
+
);
|
113
|
+
pluginState.projects.splice(projectIdx, 1);
|
126
114
|
}
|
127
115
|
|
128
116
|
/**
|
129
117
|
* @param {VcsApp} app
|
130
|
-
* @param {
|
118
|
+
* @param {VcsModuleState} moduleState
|
131
119
|
* @returns {Promise<void>}
|
132
120
|
*/
|
133
|
-
async function
|
121
|
+
async function loadModule(app, moduleState) {
|
134
122
|
try {
|
135
|
-
const
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
123
|
+
const response = await fetch(moduleState.configUrl);
|
124
|
+
if (response.ok) {
|
125
|
+
const configJson = await response.json();
|
126
|
+
const module = new VcsModule(configJson);
|
127
|
+
if (!app.getModuleById(module._id)) {
|
128
|
+
await app.addModule(module);
|
129
|
+
moduleState._id = module._id;
|
130
|
+
moduleState.name = module.name;
|
131
|
+
moduleState.description = module.description;
|
132
|
+
moduleState.active = true;
|
133
|
+
}
|
140
134
|
}
|
141
|
-
vcMapContext.contextId = context.id;
|
142
|
-
vcMapContext.active = true;
|
143
135
|
} catch (err) {
|
144
|
-
getLogger().error(
|
136
|
+
getLogger().error(
|
137
|
+
`Failed loading module from ${moduleState.configUrl}`,
|
138
|
+
err,
|
139
|
+
);
|
145
140
|
}
|
146
141
|
}
|
147
142
|
|
148
143
|
/**
|
149
144
|
* @param {VcsApp} app
|
150
|
-
* @param {
|
145
|
+
* @param {VcsModuleState} moduleState
|
151
146
|
* @returns {Promise<void>}
|
152
147
|
*/
|
153
|
-
async function
|
154
|
-
if (app.
|
155
|
-
await app.
|
148
|
+
async function unloadModule(app, moduleState) {
|
149
|
+
if (app.getModuleById(moduleState._id)) {
|
150
|
+
await app.removeModule(moduleState._id);
|
151
|
+
moduleState.active = false;
|
152
|
+
moduleState._id = undefined;
|
156
153
|
}
|
157
|
-
vcMapContext.active = false;
|
158
154
|
}
|
159
155
|
|
160
156
|
/**
|
161
157
|
* @param {VcsApp} app
|
162
|
-
* @param {
|
158
|
+
* @param {Project} project
|
163
159
|
* @returns {Promise<void>}
|
164
160
|
*/
|
165
161
|
async function deselectProject(app, project) {
|
166
162
|
if (project.active) {
|
167
|
-
await Promise.all(
|
168
|
-
|
169
|
-
|
163
|
+
await Promise.all(
|
164
|
+
[...project.modules].map((moduleState) => {
|
165
|
+
return unloadModule(app, moduleState);
|
166
|
+
}),
|
167
|
+
);
|
170
168
|
project.active = false;
|
171
169
|
}
|
172
170
|
}
|
173
171
|
|
174
172
|
/**
|
175
173
|
* @param {VcsApp} app
|
176
|
-
* @param {
|
174
|
+
* @param {Project} project
|
177
175
|
* @returns {Promise<void>}
|
178
176
|
*/
|
179
177
|
async function selectProject(app, project) {
|
180
178
|
if (!project.active) {
|
181
|
-
await Promise.all(
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
179
|
+
await Promise.all(
|
180
|
+
[...pluginState.projects].map((p) => {
|
181
|
+
return deselectProject(app, p);
|
182
|
+
}),
|
183
|
+
);
|
184
|
+
await Promise.all(
|
185
|
+
[...project.modules].map((moduleState) => {
|
186
|
+
return loadModule(app, moduleState);
|
187
|
+
}),
|
188
|
+
);
|
187
189
|
project.active = true;
|
188
190
|
}
|
189
191
|
}
|
190
192
|
|
191
193
|
return {
|
192
|
-
get name() {
|
193
|
-
|
194
|
-
|
194
|
+
get name() {
|
195
|
+
return packageJSON.name;
|
196
|
+
},
|
197
|
+
get version() {
|
198
|
+
return packageJSON.version;
|
199
|
+
},
|
200
|
+
get vcMapVersion() {
|
201
|
+
return packageJSON.vcMapVersion;
|
202
|
+
},
|
195
203
|
config: pluginConfig,
|
196
204
|
state: pluginState,
|
197
|
-
|
198
|
-
|
199
|
-
|
205
|
+
addModule,
|
206
|
+
removeModule,
|
207
|
+
addProject,
|
200
208
|
removeProject,
|
201
209
|
selectProject,
|
202
210
|
deselectProject,
|
203
|
-
|
204
|
-
|
211
|
+
loadModule,
|
212
|
+
unloadModule,
|
205
213
|
onVcsAppMounted(app) {
|
206
214
|
const windowComponent = {
|
207
215
|
id: 'project-selector',
|
@@ -232,15 +240,17 @@ export default async function projectSelector(config) {
|
|
232
240
|
);
|
233
241
|
this._destroyAction = destroy;
|
234
242
|
|
235
|
-
pluginConfig.
|
236
|
-
pluginConfig.projects.
|
237
|
-
const projectToSelect =
|
238
|
-
.find(
|
239
|
-
|
243
|
+
pluginConfig.modules.forEach((c) => addModule(c));
|
244
|
+
pluginConfig.projects.forEach((p) => addProject(p));
|
245
|
+
const projectToSelect =
|
246
|
+
[...pluginState.projects].find(
|
247
|
+
(p) => p.name === pluginConfig.selected,
|
248
|
+
) || pluginState.projects[0];
|
240
249
|
selectProject(app, projectToSelect);
|
241
|
-
const
|
242
|
-
|
243
|
-
|
250
|
+
const modulesToSelect = [...pluginState.modules].filter((m) =>
|
251
|
+
pluginConfig.selectedModules.includes(m.configUrl),
|
252
|
+
);
|
253
|
+
modulesToSelect.forEach((m) => loadModule(app, m));
|
244
254
|
if (pluginConfig.open) {
|
245
255
|
app.windowManager.add(windowComponent, packageJSON.name);
|
246
256
|
}
|
@@ -1,14 +1,13 @@
|
|
1
|
-
|
2
1
|
Copyright 2022 support@vc.systems
|
3
2
|
|
4
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
5
4
|
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
6
|
-
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
5
|
+
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
|
7
6
|
and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
8
7
|
|
9
8
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
10
9
|
|
11
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
12
|
-
THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
|
13
|
-
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
10
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
11
|
+
THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
|
12
|
+
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
14
13
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,19 +1,22 @@
|
|
1
1
|
import { version, name } from './package.json';
|
2
2
|
import Nominatim from './nominatim.js';
|
3
3
|
|
4
|
-
|
5
4
|
/**
|
6
5
|
* @param {NominatimSearchOptions} config - the configuration of this plugin instance, passed in from the app.
|
7
6
|
* @returns {import("@vcmap/ui/src/vcsUiApp").VcsPlugin<T>}
|
8
7
|
* @template {Object} T
|
9
8
|
* @template {Object} S
|
10
9
|
*/
|
11
|
-
export default function
|
10
|
+
export default function searchNominatim(config) {
|
12
11
|
return {
|
13
12
|
_instance: null,
|
14
13
|
_app: null,
|
15
|
-
get name() {
|
16
|
-
|
14
|
+
get name() {
|
15
|
+
return name;
|
16
|
+
},
|
17
|
+
get version() {
|
18
|
+
return version;
|
19
|
+
},
|
17
20
|
/**
|
18
21
|
* @param {import("@vcmap/ui").VcsUiApp} vcsUiApp
|
19
22
|
*/
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import { Extent, parseGeoJSON, wgs84Projection } from '@vcmap/core';
|
2
|
-
import {
|
2
|
+
import {
|
3
|
+
AddressBalloonFeatureInfoView,
|
4
|
+
featureInfoViewSymbol,
|
5
|
+
} from '@vcmap/ui';
|
3
6
|
|
4
7
|
/**
|
5
8
|
*
|
@@ -120,7 +123,9 @@ class Nominatim {
|
|
120
123
|
}
|
121
124
|
|
122
125
|
if (this.extent) {
|
123
|
-
params.viewbox = this.extent
|
126
|
+
params.viewbox = this.extent
|
127
|
+
.getCoordinatesInProjection(wgs84Projection)
|
128
|
+
.join(',');
|
124
129
|
params.bounded = 1;
|
125
130
|
}
|
126
131
|
|
@@ -2,42 +2,8 @@
|
|
2
2
|
"name": "@vcmap/search-nominatim",
|
3
3
|
"version": "1.0.0",
|
4
4
|
"description": "A search plugin for OSM Nominatim",
|
5
|
-
"main": "index.js",
|
6
|
-
"scripts": {
|
7
|
-
"prepublishOnly": "vcmplugin build",
|
8
|
-
"build": "vcmplugin build",
|
9
|
-
"pack": "vcmplugin pack",
|
10
|
-
"start": "vcmplugin serve",
|
11
|
-
"preview": "vcmplugin preview",
|
12
|
-
"buildStagingApp": "vcmplugin buildStagingApp",
|
13
|
-
"lint": "eslint \"{src,tests}/**/*.{js,vue}\""
|
14
|
-
},
|
15
|
-
"author": "support@vc.systems",
|
16
|
-
"license": "MIT",
|
17
|
-
"dependencies": {},
|
18
5
|
"peerDependencies": {
|
19
|
-
"@vcmap/core": "^5.0.0-rc.
|
20
|
-
|
21
|
-
"keywords": [
|
22
|
-
"vcmap",
|
23
|
-
"plugin"
|
24
|
-
],
|
25
|
-
"files": [
|
26
|
-
"src/",
|
27
|
-
"dist/",
|
28
|
-
"plugin-assets/",
|
29
|
-
"LICENSE.md",
|
30
|
-
"README.md"
|
31
|
-
],
|
32
|
-
"exports": {
|
33
|
-
".": "./src/index.js",
|
34
|
-
"./dist": "./dist/index.js"
|
35
|
-
},
|
36
|
-
"eslintIgnore": [
|
37
|
-
"node_modules"
|
38
|
-
],
|
39
|
-
"eslintConfig": {
|
40
|
-
"root": true,
|
41
|
-
"extends": "@vcsuite/eslint-config/vue"
|
6
|
+
"@vcmap/core": "^5.0.0-rc.30",
|
7
|
+
"@vcmap/ui": "^5.0.0-rc.23"
|
42
8
|
}
|
43
9
|
}
|
@@ -2,11 +2,10 @@
|
|
2
2
|
|
3
3
|
This is a plugin adding a new Feature Info View using {@link https://vuetifyjs.com/en/api/v-sparkline/#props|vuetify v-sparkline }.
|
4
4
|
|
5
|
-
| View class
|
6
|
-
|
5
|
+
| View class | VueComponent | description |
|
6
|
+
| ------------------------------------- | ------------------------------------------------ | -------------------------------------------------------- |
|
7
7
|
| [SimpleGraphView](simpleGraphView.js) | [SimpleGraphComponent](SimpleGraphComponent.vue) | A simple graph view including trend lines and bar graph. |
|
8
8
|
|
9
|
-
|
10
9
|
## configuration
|
11
10
|
|
12
11
|
See `{FeatureInfoViewOptions}` for general configuration of Feature Views.
|
@@ -15,7 +14,7 @@ Use `{WindowComponentOptions} window` to define the position and size of the gra
|
|
15
14
|
The graph can be configured as follows:
|
16
15
|
|
17
16
|
| Property | Type | default | Description |
|
18
|
-
|
17
|
+
| -------- | ------------------------ | --------- | ---------------------------------------------------- |
|
19
18
|
| labels | string[] | number[] | [] | optional array of strings labeling all data points |
|
20
19
|
| graph | string | 'trend' | Choose between a trendline or bars |
|
21
20
|
| color | string | 'primary' | optional color of the sparkline of the graph |
|
@@ -30,12 +29,33 @@ The graph can be configured as follows:
|
|
30
29
|
"type": "SimpleGraphView",
|
31
30
|
"name": "graphBar",
|
32
31
|
"attributeKeys": [
|
33
|
-
"globalRadRoofsMonth_01",
|
34
|
-
"
|
35
|
-
"
|
36
|
-
"
|
32
|
+
"globalRadRoofsMonth_01",
|
33
|
+
"globalRadRoofsMonth_02",
|
34
|
+
"globalRadRoofsMonth_03",
|
35
|
+
"globalRadRoofsMonth_04",
|
36
|
+
"globalRadRoofsMonth_05",
|
37
|
+
"globalRadRoofsMonth_06",
|
38
|
+
"globalRadRoofsMonth_07",
|
39
|
+
"globalRadRoofsMonth_08",
|
40
|
+
"globalRadRoofsMonth_09",
|
41
|
+
"globalRadRoofsMonth_10",
|
42
|
+
"globalRadRoofsMonth_11",
|
43
|
+
"globalRadRoofsMonth_12"
|
44
|
+
],
|
45
|
+
"labels": [
|
46
|
+
"Jan",
|
47
|
+
"Feb",
|
48
|
+
"Mar",
|
49
|
+
"Apr",
|
50
|
+
"May",
|
51
|
+
"Jun",
|
52
|
+
"Jul",
|
53
|
+
"Aug",
|
54
|
+
"Sep",
|
55
|
+
"Oct",
|
56
|
+
"Nov",
|
57
|
+
"Dec"
|
37
58
|
],
|
38
|
-
"labels": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
39
59
|
"color": "secondary",
|
40
60
|
"graph": "bar",
|
41
61
|
"gradient": ["red", "orange", "yellow"],
|
@@ -13,14 +13,11 @@
|
|
13
13
|
/>
|
14
14
|
</template>
|
15
15
|
<script>
|
16
|
-
|
17
16
|
import { VSparkline } from 'vuetify/lib';
|
18
17
|
|
19
18
|
export default {
|
20
19
|
name: 'SimpleGraphComponent',
|
21
|
-
components: [
|
22
|
-
VSparkline,
|
23
|
-
],
|
20
|
+
components: [VSparkline],
|
24
21
|
props: {
|
25
22
|
attributes: {
|
26
23
|
type: Object,
|
@@ -59,6 +56,4 @@
|
|
59
56
|
};
|
60
57
|
</script>
|
61
58
|
|
62
|
-
<style scoped>
|
63
|
-
|
64
|
-
</style>
|
59
|
+
<style scoped></style>
|