@vcmap/ui 5.0.0-rc.23 → 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 +36 -18
- package/app.config.json +2 -4
- 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 +7 -4
- 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 +16 -44
- package/config/base.config.json +71 -246
- package/config/codes.config.json +3 -1
- package/config/dev.config.json +5 -13
- package/config/graphFeatureInfo.config.json +55 -16
- package/config/projects.config.json +5 -2
- package/config/www.config.json +96 -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.166f91.js → cesium.253914.js} +36578 -33768
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.9342a1.js → core.3a8205.js} +53 -58
- package/dist/assets/core.js +1 -1
- package/dist/assets/{index.fd041928.js → index.91ae2d55.js} +1 -1
- package/dist/assets/{ol.d2cba3.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.c27597.js → ui.0025be.js} +5494 -4759
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.2f1432.css → vuetify.6efa21.css} +2 -2
- package/dist/assets/{vuetify.2f1432.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 +65 -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 +18 -9
- 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/ModulesListComponent.vue +4 -8
- package/plugins/@vcmap/project-selector/ProjectSelectorComponent.vue +5 -10
- package/plugins/@vcmap/project-selector/README.md +4 -2
- package/plugins/@vcmap/project-selector/config.json +13 -13
- package/plugins/@vcmap/project-selector/de.json +2 -2
- package/plugins/@vcmap/project-selector/en.json +2 -2
- package/plugins/@vcmap/project-selector/index.js +63 -28
- 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 +1 -1
- 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 +143 -116
- package/plugins/@vcmap-show-case/category-tester/Category.vue +46 -26
- package/plugins/@vcmap-show-case/category-tester/index.js +9 -3
- package/plugins/@vcmap-show-case/config-editor/{editor.vue → ConfigEditor.vue} +20 -24
- 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 +89 -118
- 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 +41 -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 +22 -41
- package/plugins/@vcmap-show-case/table-example/index.js +10 -8
- 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 +49 -11
- package/src/actions/styleSelector.vue +20 -11
- 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 +50 -19
- 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 +26 -12
- package/src/components/form-inputs-controls/VcsWizard.vue +78 -78
- 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 +13 -3
- 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 +208 -98
- 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 +107 -95
- package/src/components/tables/VcsTable.vue +38 -30
- package/src/contentTree/LayerTree.vue +2 -3
- package/src/contentTree/contentTreeCollection.js +48 -22
- package/src/contentTree/contentTreeItem.js +36 -14
- package/src/contentTree/groupContentTreeItem.js +44 -22
- package/src/contentTree/layerContentTreeItem.js +42 -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 +4 -1
- package/src/featureInfo/AddressBalloonComponent.vue +11 -16
- package/src/featureInfo/BalloonComponent.vue +35 -26
- package/src/featureInfo/abstractFeatureInfoView.js +29 -13
- 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 +71 -31
- package/src/featureInfo/featureInfoInteraction.js +13 -7
- package/src/featureInfo/iframeFeatureInfoView.js +3 -1
- package/src/featureInfo/tableFeatureInfoView.js +15 -5
- package/src/i18n/i18nCollection.js +183 -155
- package/src/init.js +124 -121
- 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 +52 -25
- package/src/manager/categoryManager/CategoryComponentList.vue +33 -8
- package/src/manager/categoryManager/CategoryManager.vue +4 -5
- package/src/manager/categoryManager/categoryManager.js +82 -37
- 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 +15 -8
- 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 +18 -21
- package/src/manager/window/WindowComponentHeader.vue +34 -26
- package/src/manager/window/WindowManager.vue +33 -22
- package/src/manager/window/windowHelper.js +79 -23
- package/src/manager/window/windowManager.js +61 -32
- package/src/navigation/mapNavCompass.vue +17 -3
- package/src/navigation/mapNavigation.vue +59 -40
- package/src/navigation/obliqueRotation.vue +6 -8
- package/src/navigation/orientationToolsButton.vue +6 -9
- package/src/navigation/overviewMap.js +72 -41
- 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 +16 -17
- package/src/notifier/notifier.js +22 -13
- package/src/notifier/notifierComponent.vue +21 -21
- package/src/pluginHelper.js +23 -9
- package/src/search/resultItem.vue +10 -15
- package/src/search/resultsComponent.vue +30 -24
- package/src/search/search.js +36 -19
- package/src/search/searchComponent.vue +20 -10
- package/src/setup.js +9 -9
- package/src/state.js +22 -6
- 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 +3 -1
- package/src/vcsUiApp.js +156 -59
- package/src/vuePlugins/i18n.js +4 -4
- package/src/vuePlugins/vuetify.js +4 -0
- package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +0 -1345
- package/dist/assets/cesium/Workers/Transforms-40229881.js +0 -14696
- package/dist/assets/ui.c27597.css +0 -5
- /package/dist/assets/cesium/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
- /package/dist/assets/{vue.5d00e9.js → vue.c1ece7.js} +0 -0
package/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# VC Map
|
2
|
+
|
2
3
|
VC Map is an Open-Source JavaScript framework and API for building dynamic and interactive maps on the web. It can display
|
3
4
|
2D data, oblique imagery and massive 3D data including terrain data, vector data, mesh models, and point clouds making it
|
4
5
|
easy for users to explore and interact with the data in an integrated and high-performance map application. VC Map apps can
|
@@ -13,31 +14,38 @@ to integrate VC Maps into any web page and to extend its functionalities with ow
|
|
13
14
|
is structured into the following four main architectural layers:
|
14
15
|
|
15
16
|
#### [VC Map Core](https://github.com/virtualcitySYSTEMS/map-core)
|
17
|
+
|
16
18
|
The VC Map Core is a thin abstraction layer and wrapper around OpenLayers and Cesium. It provides a common data and feature
|
17
19
|
management API and automatically synchronizes data and user actions between the 2D, oblique and 3D views. Map functions and
|
18
20
|
tools can be developed against this Core API to make them available in 2D, 3D and the oblique view rather than having to
|
19
21
|
develop them redundantly and based on different technologies.
|
20
22
|
|
21
23
|
#### Configuration Management
|
24
|
+
|
22
25
|
The VC Map framework offers a flexible and fully customizable map configuration management. All contents of a VC Map application
|
23
26
|
such as available layers, views, tools, and plugins are managed in a JSON-based configuration file that is loaded when starting
|
24
27
|
the application. Every VC Map application can thus be easily configured according to the end-user needs. Map configurations can
|
25
28
|
be dynamically changed, extended, and serialized at runtime through a corresponding API.
|
26
29
|
|
27
30
|
#### Modern User Interface
|
31
|
+
|
28
32
|
VC Map comes with a modern UI interface for VC Map applications that provides UI components for all map tools and widgets
|
29
33
|
implemented based on Vue.js and HTML5. In addition, the VC Map framework provides pre-built, low-level UI elements that can
|
30
34
|
be used by developers to easily build more complex user dialogs from and include them in a map application.
|
31
35
|
|
32
36
|
#### [Plugin API](https://github.com/virtualcitySYSTEMS/map-plugin-cli)
|
37
|
+
|
33
38
|
VC Map is easy to customize and extend through a well-defined Plugin API. Plugins allow for adding new functionalities,
|
34
39
|
tools, and user dialogs to a VC Map application. Plugins can be added to a VC Map through the configuration file or loaded
|
35
40
|
dynamically to an existing map application using the Plugin API. Plugin developers can use the entire VC Map stack
|
36
41
|
(VC Map Core, configuration management, UI components) for building their own extensions.
|
37
42
|
|
38
43
|
# Components
|
44
|
+
|
39
45
|
### [@vcmap/core](https://github.com/virtualcitySYSTEMS/map-core)
|
46
|
+
|
40
47
|
Provides an abstraction layer around 2D, 3D and oblique Maps. Provides the following components:
|
48
|
+
|
41
49
|
- map abstraction for Cesium, Openlayers and Oblique Images
|
42
50
|
- layers
|
43
51
|
- interactions
|
@@ -45,36 +53,45 @@ Provides an abstraction layer around 2D, 3D and oblique Maps. Provides the follo
|
|
45
53
|
- application and module/config handling
|
46
54
|
|
47
55
|
### [@vcmap/ui](https://github.com/virtualcitySYSTEMS/map-ui)
|
56
|
+
|
48
57
|
This Project, provides
|
58
|
+
|
49
59
|
- a configurable and extendable ui
|
50
60
|
- extends the @vcmap/core application handling with a plugin Concept, see [@vcmap/plugin-cli](https://github.com/virtualcitySYSTEMS/map-plugin-cli)
|
51
|
-
- extends the @vcmap/core application with a windowManager
|
61
|
+
- extends the @vcmap/core application with a windowManager
|
52
62
|
|
53
63
|
### [@vcmap/plugin-cli](https://github.com/virtualcitySYSTEMS/map-plugin-cli)
|
64
|
+
|
54
65
|
Provides a tool to create, develop and build Plugins for the @vcmap/ui.
|
55
|
-
Plugin Concept documentation can also be found there.
|
66
|
+
Plugin Concept documentation can also be found there.
|
56
67
|
|
57
68
|
### [@vcmap/ui webpack5 integration template](https://github.com/virtualcitySYSTEMS/map-ui-webpack5-example)
|
69
|
+
|
58
70
|
Example Template to show how to integrate the @vcmap/ui in a webpack5 project.
|
59
71
|
|
60
72
|
### [@vcmap/core demo](https://github.com/virtualcitySYSTEMS/map-core-demo)
|
73
|
+
|
61
74
|
Example demo Application based on the @vcmap/core, shows how to implement a different UI on top of the @vcmap/core
|
62
75
|
|
63
76
|
## Component Diagram
|
77
|
+
|
64
78
|

|
65
79
|
|
66
80
|
# Project and Component Status
|
67
|
-
|
81
|
+
|
82
|
+
The Project is currently in Alpha status. Different components have different states. For development check here
|
68
83
|
how safe it is to start developing with these components.
|
69
84
|
|
70
85
|
#### States:
|
86
|
+
|
71
87
|
- TODO: not yet usable
|
72
88
|
- ALPHA: 1. version, style and API will probably change
|
73
89
|
- BETA: Style and API may change, we will provide a changelog from here on.
|
74
90
|
- RC: Styles and API are most likely stable for the release / Featurecomplete.
|
75
|
-
- STABLE: conforms to SemVer concept.
|
91
|
+
- STABLE: conforms to SemVer concept.
|
76
92
|
|
77
93
|
### @vcmap/core
|
94
|
+
|
78
95
|
- Module Concept RC
|
79
96
|
- Categories Concept BETA
|
80
97
|
- Layers/Maps RC
|
@@ -86,6 +103,7 @@ how safe it is to start developing with these components.
|
|
86
103
|
- Editor BETA
|
87
104
|
|
88
105
|
### @vcmap/ui
|
106
|
+
|
89
107
|
- contentTree API BETA [CONTENT_TREE](documentation/CONTENT_TREE.md) // TODO doc
|
90
108
|
- windowManager API BETA [WINDOWS](documentation/WINDOWS.md) // TODO doc
|
91
109
|
- Navbar/ButtonManager/ToolboxManager ALPHA [BUTTONS](documentation/BUTTONS.md)/[TOOLBOX](documentation/TOOLBOX.md)
|
@@ -95,13 +113,14 @@ how safe it is to start developing with these components.
|
|
95
113
|
- SEARCH API BETA [SEARCH](documentation/SEARCH.md)
|
96
114
|
- I18n API RC [INTERNATIONALIZATION](documentation/INTERNATIONALIZATION.md).
|
97
115
|
- CATEGORIES API RC [CATEGORIES](documentation/CATEGORIES.md).
|
98
|
-
- Context Menu API RC [CONTEXT_MENU](documentation/CONTEXT_MENU.md)
|
116
|
+
- Context Menu API RC [CONTEXT_MENU](documentation/CONTEXT_MENU.md)
|
99
117
|
- FeatureInfo RC [FEATURE_INFO](documentation/FEATURE_INFO.md)
|
100
118
|
- [State & Application Link](documentation/STATE.md) RC
|
101
119
|
- [Help Concept](documentation/HELP.md) RC
|
102
120
|
- Copyright RC [ATTRIBUTIONS](documentation/ATTRIBUTIONS.md)
|
103
121
|
|
104
122
|
##### components
|
123
|
+
|
105
124
|
- VcsTextField BETA
|
106
125
|
- VcsCheckbox BETA
|
107
126
|
- VcsSelect BETA
|
@@ -122,35 +141,39 @@ how safe it is to start developing with these components.
|
|
122
141
|
- VcsDatePicker TODO
|
123
142
|
|
124
143
|
# Roadmap / Future Development
|
144
|
+
|
125
145
|
- Phase 1 Currently worked on
|
126
146
|
- Phase 2 Beta Version stable feature complete Plugin API
|
127
147
|
- Phase 3 Integration in VC Publisher for next major release
|
128
148
|
- Phase 4 Feature Complete with v4.x with all Plugins...
|
129
149
|
|
130
150
|
### Core
|
151
|
+
|
131
152
|
- Editor (WIP) Prio 1
|
132
153
|
- Clustering Prio 4
|
133
154
|
- Style Refactoring Prio 4
|
134
155
|
|
135
156
|
### Ui
|
157
|
+
|
136
158
|
- Responsive View / mobile view DONE
|
137
159
|
- Toolbar DONE
|
138
160
|
- Search API + UI DONE
|
139
|
-
- Overlay API Support
|
161
|
+
- Overlay API Support Prio 3
|
140
162
|
- i18n DONE.
|
141
163
|
- FeatureInfo Concept/API (Balloon) DONE
|
142
164
|
- Context API DONE
|
143
165
|
- Hierachy B3dm
|
144
166
|
- Legend Concept/API DONE
|
145
|
-
- Copyright/Attributions Concept / API
|
146
|
-
- Ui Configuration (title/themes, usw, projectInfo/Impressum/usw. ) / API
|
147
|
-
- Help Concept / Beispielhaft implementieren
|
167
|
+
- Copyright/Attributions Concept / API DONE
|
168
|
+
- Ui Configuration (title/themes, usw, projectInfo/Impressum/usw. ) / API DONE
|
169
|
+
- Help Concept / Beispielhaft implementieren DONE
|
148
170
|
- Components Concept/Categories / API DONE.
|
149
171
|
- Notification Concept DONE
|
150
172
|
|
151
173
|
### Plugins
|
174
|
+
|
152
175
|
| Plugin | Dev Prio | Proj Prio |
|
153
|
-
|
176
|
+
| :--------------------------: | :------: | :-------: |
|
154
177
|
| Drawing (WIP) | 1 | 1 |
|
155
178
|
| Measurement | 1 | 1 |
|
156
179
|
| PDF Export (DONE) | 1 | 1 |
|
@@ -176,19 +199,14 @@ how safe it is to start developing with these components.
|
|
176
199
|
| Search esri | 4 | 4 |
|
177
200
|
| Search WFS | 4 | 4 |
|
178
201
|
|
179
|
-
|
180
202
|
# Getting started
|
181
|
-
|
203
|
+
|
204
|
+
For a first start, clone the repo and call `npm i` `npm run start` This will start a development server. The
|
182
205
|
app can be opened with http://localhost:8080.
|
183
206
|
|
184
207
|
Further Information see [GET_STARTED](documentation/GET_STARTED.md) and [Plugin-cli](https://github.com/virtualcitySYSTEMS/map-plugin-cli).
|
185
208
|
|
186
209
|
## Included Dataset
|
210
|
+
|
187
211
|
The included datasets for Berlin and Osnabrück in the app configurations in the project can only be used for Development.
|
188
212
|
For further usage of the datasets please contact [Virtual City Systems](https://vc.systems).
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
package/app.config.json
CHANGED
package/build/.eslintrc
CHANGED
package/build/build.js
CHANGED
@@ -1,174 +1,184 @@
|
|
1
|
-
import path from 'path';
|
2
|
-
import fs from 'fs';
|
3
|
-
import { build } from 'vite';
|
4
|
-
import { v4 as uuid } from 'uuid';
|
5
|
-
import rollupPluginStripPragma from 'rollup-plugin-strip-pragma';
|
6
|
-
import vcsOl from '@vcmap/rollup-plugin-vcs-ol';
|
7
|
-
import generateOLLib from './generateOLLib.js';
|
8
|
-
import buildCesium from './buildCesium.js';
|
9
|
-
import { buildLibrary, libraries } from './buildHelpers.js';
|
10
|
-
|
11
|
-
/**
|
12
|
-
* @typedef {Object} LibraryBuildOption
|
13
|
-
* @property {string} lib
|
14
|
-
* @property {string} entry
|
15
|
-
* @property {string} [libraryEntry]
|
16
|
-
* @property {import("rollup").RollupOptions} [rollupOptions]
|
17
|
-
*/
|
18
|
-
|
19
|
-
/**
|
20
|
-
* @returns {{ libraryBuildOptions: Object<string, LibraryBuildOption>, libraryPaths: Object<string, string> }}
|
21
|
-
*/
|
22
|
-
function hashLibraries() {
|
23
|
-
/** @type {Object<string, LibraryBuildOption>} */
|
24
|
-
const libraryBuildOptions = {
|
25
|
-
vue: {
|
26
|
-
entry: path.join('lib', 'vue.js'),
|
27
|
-
},
|
28
|
-
'@vcmap-cesium/engine': {
|
29
|
-
entry: path.join('lib', 'cesium.js'),
|
30
|
-
rollupOptions: {
|
31
|
-
plugins: [
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
}
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
},
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
}
|
172
|
-
|
173
|
-
|
174
|
-
|
1
|
+
import path from 'path';
|
2
|
+
import fs from 'fs';
|
3
|
+
import { build } from 'vite';
|
4
|
+
import { v4 as uuid } from 'uuid';
|
5
|
+
import rollupPluginStripPragma from 'rollup-plugin-strip-pragma';
|
6
|
+
import vcsOl from '@vcmap/rollup-plugin-vcs-ol';
|
7
|
+
import generateOLLib from './generateOLLib.js';
|
8
|
+
import buildCesium from './buildCesium.js';
|
9
|
+
import { buildLibrary, libraries } from './buildHelpers.js';
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @typedef {Object} LibraryBuildOption
|
13
|
+
* @property {string} lib
|
14
|
+
* @property {string} entry
|
15
|
+
* @property {string} [libraryEntry]
|
16
|
+
* @property {import("rollup").RollupOptions} [rollupOptions]
|
17
|
+
*/
|
18
|
+
|
19
|
+
/**
|
20
|
+
* @returns {{ libraryBuildOptions: Object<string, LibraryBuildOption>, libraryPaths: Object<string, string> }}
|
21
|
+
*/
|
22
|
+
function hashLibraries() {
|
23
|
+
/** @type {Object<string, LibraryBuildOption>} */
|
24
|
+
const libraryBuildOptions = {
|
25
|
+
vue: {
|
26
|
+
entry: path.join('lib', 'vue.js'),
|
27
|
+
},
|
28
|
+
'@vcmap-cesium/engine': {
|
29
|
+
entry: path.join('lib', 'cesium.js'),
|
30
|
+
rollupOptions: {
|
31
|
+
plugins: [
|
32
|
+
rollupPluginStripPragma({
|
33
|
+
pragmas: ['debug'],
|
34
|
+
}),
|
35
|
+
],
|
36
|
+
},
|
37
|
+
},
|
38
|
+
ol: {
|
39
|
+
entry: path.join('lib', 'olLib.js'),
|
40
|
+
libraryEntry: path.join('lib', 'ol.js'), // openlayers special case, the entry to compile is the olLib, but the public entry must be ol.js
|
41
|
+
rollupOptions: {
|
42
|
+
output: {
|
43
|
+
manualChunks: () => 'ol.js', // this is needed, otherwise vitejs will create multiple chunks for openlayers.
|
44
|
+
},
|
45
|
+
},
|
46
|
+
},
|
47
|
+
'@vcmap/core': {
|
48
|
+
entry: path.join('lib', 'core.js'),
|
49
|
+
rollupOptions: {
|
50
|
+
plugins: [vcsOl()],
|
51
|
+
},
|
52
|
+
},
|
53
|
+
'@vcmap/ui': {
|
54
|
+
rollupOptions: {
|
55
|
+
plugins: [
|
56
|
+
vcsOl(),
|
57
|
+
{
|
58
|
+
transform(source, sid) {
|
59
|
+
if (/src(\/|\\)setup.js/.test(sid)) {
|
60
|
+
return source.replace(
|
61
|
+
'/node_modules/@vcmap-cesium/engine/Build/',
|
62
|
+
'./assets/cesium/',
|
63
|
+
);
|
64
|
+
}
|
65
|
+
return source;
|
66
|
+
},
|
67
|
+
},
|
68
|
+
],
|
69
|
+
},
|
70
|
+
entry: path.join('lib', 'ui.js'),
|
71
|
+
},
|
72
|
+
'vuetify/lib': {
|
73
|
+
entry: path.join('lib', 'vuetify.js'),
|
74
|
+
},
|
75
|
+
};
|
76
|
+
|
77
|
+
const libraryPaths = {};
|
78
|
+
Object.entries(libraryBuildOptions).forEach(([key, value]) => {
|
79
|
+
if (!libraries[key]) {
|
80
|
+
throw new Error(`Trying to build unexported library ${key}`);
|
81
|
+
}
|
82
|
+
value.lib = libraries[key];
|
83
|
+
value.hash = `${uuid().substring(0, 6)}`;
|
84
|
+
libraryPaths[key] = `./${value.lib}.${value.hash}.js`;
|
85
|
+
value.rollupOptions = value.rollupOptions ? value.rollupOptions : {};
|
86
|
+
});
|
87
|
+
|
88
|
+
return { libraryBuildOptions, libraryPaths };
|
89
|
+
}
|
90
|
+
|
91
|
+
const { libraryBuildOptions, libraryPaths } = hashLibraries();
|
92
|
+
console.log('Building ol dump file');
|
93
|
+
await generateOLLib();
|
94
|
+
|
95
|
+
console.log('Building app');
|
96
|
+
await build({
|
97
|
+
configFile: './build/commonViteConfig.js',
|
98
|
+
base: './',
|
99
|
+
define: {
|
100
|
+
'process.env.NODE_ENV': '"production"',
|
101
|
+
},
|
102
|
+
build: {
|
103
|
+
minify: true,
|
104
|
+
emptyOutDir: true,
|
105
|
+
rollupOptions: {
|
106
|
+
external: Object.keys(libraries),
|
107
|
+
output: {
|
108
|
+
paths: libraryPaths,
|
109
|
+
},
|
110
|
+
},
|
111
|
+
},
|
112
|
+
});
|
113
|
+
|
114
|
+
console.log('Building Libraries');
|
115
|
+
await Promise.all(
|
116
|
+
Object.entries(libraryBuildOptions).map(async ([key, value]) => {
|
117
|
+
console.log('Building Library: ', key);
|
118
|
+
const external = Object.keys(libraryBuildOptions).filter((library) => {
|
119
|
+
return key !== library;
|
120
|
+
});
|
121
|
+
const output = {
|
122
|
+
...value.rollupOptions?.output,
|
123
|
+
paths: libraryPaths,
|
124
|
+
};
|
125
|
+
const libraryConfig = {
|
126
|
+
configFile: './build/commonViteConfig.js',
|
127
|
+
esbuild: {
|
128
|
+
minify: true,
|
129
|
+
},
|
130
|
+
define: {
|
131
|
+
'process.env.NODE_ENV': '"production"',
|
132
|
+
},
|
133
|
+
build: {
|
134
|
+
write: false,
|
135
|
+
emptyOutDir: false,
|
136
|
+
lib: {
|
137
|
+
entry: path.resolve(process.cwd(), value.entry),
|
138
|
+
formats: ['es'],
|
139
|
+
fileName: `assets/${value.lib}.${value.hash}`,
|
140
|
+
},
|
141
|
+
rollupOptions: {
|
142
|
+
...value.rollupOptions,
|
143
|
+
output,
|
144
|
+
external,
|
145
|
+
},
|
146
|
+
},
|
147
|
+
};
|
148
|
+
await buildLibrary(libraryConfig, 'assets', value.lib, value.hash);
|
149
|
+
console.log('Building Library Entry: ', key);
|
150
|
+
|
151
|
+
const libraryEntryConfig = {
|
152
|
+
configFile: false,
|
153
|
+
define: {
|
154
|
+
'process.env.NODE_ENV': '"production"',
|
155
|
+
},
|
156
|
+
build: {
|
157
|
+
emptyOutDir: false,
|
158
|
+
lib: {
|
159
|
+
entry: path.resolve(process.cwd(), value.libraryEntry || value.entry),
|
160
|
+
formats: ['es'],
|
161
|
+
fileName: () => {
|
162
|
+
return `assets/${value.lib}.js`;
|
163
|
+
},
|
164
|
+
},
|
165
|
+
rollupOptions: {
|
166
|
+
...value.rollupOptions,
|
167
|
+
external: [key],
|
168
|
+
output: {
|
169
|
+
paths: libraryPaths,
|
170
|
+
},
|
171
|
+
},
|
172
|
+
},
|
173
|
+
};
|
174
|
+
await build(libraryEntryConfig);
|
175
|
+
await fs.promises.cp(
|
176
|
+
path.join('src', 'assets', 'font'),
|
177
|
+
path.join('dist', 'assets', 'font'),
|
178
|
+
{ recursive: true },
|
179
|
+
);
|
180
|
+
}),
|
181
|
+
);
|
182
|
+
|
183
|
+
await buildCesium();
|
184
|
+
console.log('Finished Building vcMap');
|
package/build/buildCesium.js
CHANGED
@@ -1,19 +1,32 @@
|
|
1
|
-
import fs from 'fs';
|
2
|
-
import path from 'path';
|
3
|
-
|
4
|
-
/**
|
5
|
-
* copies Cesium Assets and Workers to dist folder
|
6
|
-
* @returns {Promise<void>}
|
7
|
-
*/
|
8
|
-
export default async function buildCesium() {
|
9
|
-
const cesiumPath = path.join(
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
1
|
+
import fs from 'fs';
|
2
|
+
import path from 'path';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* copies Cesium Assets and Workers to dist folder
|
6
|
+
* @returns {Promise<void>}
|
7
|
+
*/
|
8
|
+
export default async function buildCesium() {
|
9
|
+
const cesiumPath = path.join(
|
10
|
+
process.cwd(),
|
11
|
+
'node_modules',
|
12
|
+
'@vcmap-cesium',
|
13
|
+
'engine',
|
14
|
+
);
|
15
|
+
const buildPath = path.join(process.cwd(), 'dist', 'assets', 'cesium');
|
16
|
+
return Promise.all([
|
17
|
+
fs.promises.cp(
|
18
|
+
path.join(cesiumPath, 'Source', 'Assets'),
|
19
|
+
path.join(buildPath, 'Assets'),
|
20
|
+
{
|
21
|
+
recursive: true,
|
22
|
+
},
|
23
|
+
),
|
24
|
+
fs.promises.cp(
|
25
|
+
path.join(cesiumPath, 'Build', 'Workers'),
|
26
|
+
path.join(buildPath, 'Workers'),
|
27
|
+
{
|
28
|
+
recursive: true,
|
29
|
+
},
|
30
|
+
),
|
31
|
+
]);
|
32
|
+
}
|