@vcmap/ui 6.0.0-rc.1 → 6.0.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/build.js +40 -60
- package/build/buildHelpers.js +63 -20
- package/build/buildTypes.js +9 -5
- package/build/bundle.js +1 -1
- package/build/info/conf.json +1 -1
- package/build/info/publish.js +25 -31
- package/build/lintTypes.js +5 -0
- package/config/aerowest.config.json +12 -2
- package/config/base.config.json +22 -17
- package/config/dev.config.json +164 -4
- package/config/projects.config.json +3 -1
- package/config/solar.config.json +65 -0
- package/config/splashscreen.config.json +45 -0
- package/config/theming.config.json +68 -0
- package/config/www.config.json +39 -23
- package/dist/.htaccess +7 -0
- package/dist/assets/@mdi/font/README.md +25 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min-680621ca.css +3 -0
- package/dist/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
- package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -1
- package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -1
- package/dist/assets/cesium/Workers/{chunk-JB2LWGH4.js → chunk-2LOWCAMW.js} +14 -14
- package/dist/assets/cesium/Workers/{chunk-Z24VKNDO.js → chunk-2PTKXHJB.js} +12 -12
- package/dist/assets/cesium/Workers/{chunk-AHKEZ2OE.js → chunk-3HQMMUPU.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-V3NGATMV.js → chunk-3IFRSGEY.js} +11 -13
- package/dist/assets/cesium/Workers/{chunk-66QLLS45.js → chunk-44QAAS4P.js} +11 -9
- package/dist/assets/cesium/Workers/{chunk-TFC6TZ3S.js → chunk-56EDBCGT.js} +33 -22
- package/dist/assets/cesium/Workers/{chunk-3W63OHNJ.js → chunk-57H6I3SV.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-PFQBCKBM.js → chunk-6SQMLVGV.js} +5206 -3483
- package/dist/assets/cesium/Workers/{chunk-OZJDGN5F.js → chunk-7YIOHQWH.js} +16 -16
- package/dist/assets/cesium/Workers/{chunk-XTY7B2N6.js → chunk-7ZZ5LMZY.js} +17 -16
- package/dist/assets/cesium/Workers/{chunk-HARLBUOL.js → chunk-BVKITG4N.js} +11 -8
- package/dist/assets/cesium/Workers/{chunk-AFFLIKOH.js → chunk-C3EQ27WF.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-RW6LU2CJ.js → chunk-C4WPMOKT.js} +6 -5
- package/dist/assets/cesium/Workers/{chunk-OYFCF4PL.js → chunk-EDLRS3AW.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-C3SXRKRW.js → chunk-EJVGYGLF.js} +7 -7
- package/dist/assets/cesium/Workers/{chunk-PCJWUS4M.js → chunk-FFLMY4TE.js} +830 -14
- package/dist/assets/cesium/Workers/{chunk-MPAZH4BF.js → chunk-GBT7MJ6X.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-ZA25DG4Y.js → chunk-HJMNR3GC.js} +11 -11
- package/dist/assets/cesium/Workers/{chunk-JS3AW5BK.js → chunk-HP5XLODI.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-34YUDLRP.js → chunk-IBRIWOCM.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-XY7MGBKC.js → chunk-IZGUQO6Q.js} +14 -16
- package/dist/assets/cesium/Workers/{chunk-KTJSNCK4.js → chunk-IZJ42N4W.js} +230 -20
- package/dist/assets/cesium/Workers/{chunk-QMEMZIJI.js → chunk-JBSKHTNX.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-QIKODV5G.js → chunk-JISPSEF3.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-K36FEYS7.js → chunk-JSQJDZI4.js} +16 -12
- package/dist/assets/cesium/Workers/{chunk-X4SU25DT.js → chunk-JXVLNVXC.js} +10 -12
- package/dist/assets/cesium/Workers/chunk-KHZNBFOH.js +963 -0
- package/dist/assets/cesium/Workers/{chunk-KD4Y7CZL.js → chunk-L5GODJAR.js} +15 -17
- package/dist/assets/cesium/Workers/{chunk-O5AMBQ36.js → chunk-LJ2JQHJT.js} +13 -8
- package/dist/assets/cesium/Workers/{chunk-ABADGKYE.js → chunk-LLAF3CPH.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-CHHNOC2C.js → chunk-M24KHENR.js} +95 -155
- package/dist/assets/cesium/Workers/{chunk-2R5O53JW.js → chunk-NDDI2LWR.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-QT3MPEMI.js → chunk-NGZJIN5Z.js} +4 -4
- package/dist/assets/cesium/Workers/{chunk-ZFOBYDGF.js → chunk-O72GZTSE.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-IPA4EACJ.js → chunk-OPP2SKMA.js} +12 -12
- package/dist/assets/cesium/Workers/{chunk-4MFFIWUA.js → chunk-P6TRGU3S.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-GLZBE3ML.js → chunk-QN6TBED4.js} +13 -13
- package/dist/assets/cesium/Workers/{chunk-MYZB7C4T.js → chunk-QQOZO7KO.js} +10 -10
- package/dist/assets/cesium/Workers/{chunk-HQF437NJ.js → chunk-RJM36CNY.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-CTELOFLA.js → chunk-RTJKHZWU.js} +6 -6
- package/dist/assets/cesium/Workers/{chunk-J3JY6I2C.js → chunk-TI3TRKIC.js} +425 -489
- package/dist/assets/cesium/Workers/{chunk-OAVNIRB4.js → chunk-TK5IIG2F.js} +5 -7
- package/dist/assets/cesium/Workers/{chunk-WXTV4ATB.js → chunk-U5HSOKPQ.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-N3JIFFX2.js → chunk-WGDFYAGC.js} +5 -6
- package/dist/assets/cesium/Workers/{chunk-EW2GWJYB.js → chunk-X7IQYYHF.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-LLUNNUJV.js → chunk-XIUSRWL6.js} +9 -5
- package/dist/assets/cesium/Workers/{chunk-CCFQRR6D.js → chunk-XWOUPGUF.js} +1 -1
- package/dist/assets/cesium/Workers/{chunk-6BTKZDRG.js → chunk-YCDZX5LS.js} +3 -5
- package/dist/assets/cesium/Workers/{chunk-RP2A7BR5.js → chunk-YK3QIKY7.js} +12 -14
- package/dist/assets/cesium/Workers/{chunk-227AJNOA.js → chunk-YSIJTJ7N.js} +5 -5
- package/dist/assets/cesium/Workers/{chunk-A4JVFBQ3.js → chunk-Z2QP3CXW.js} +2 -2
- package/dist/assets/cesium/Workers/{chunk-VLGOATD6.js → chunk-ZVUUPJEM.js} +22 -22
- package/dist/assets/cesium/Workers/combineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/createBoxGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +14 -15
- package/dist/assets/cesium/Workers/createCircleGeometry.js +29 -26
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +35 -36
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +27 -28
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +18 -19
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +17 -19
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +24 -25
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +18 -18
- package/dist/assets/cesium/Workers/createGeometry.js +52 -33
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +28 -29
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +14 -15
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +13 -14
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +451 -176
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +29 -30
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +24 -25
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +31 -33
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +27 -29
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +30 -31
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +21 -24
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/createSphereGeometry.js +17 -18
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +16 -17
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +3 -3
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +14 -16
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +22 -23
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +12 -12
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +20 -21
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +14 -16
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +24 -25
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +29 -26
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +19 -21
- package/dist/assets/cesium/Workers/createWallGeometry.js +23 -24
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +22 -23
- package/dist/assets/cesium/Workers/decodeDraco.js +11 -11
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +35 -19
- package/dist/assets/cesium/Workers/decodeI3S.js +600 -92
- package/dist/assets/cesium/Workers/transcodeKTX2.js +58 -93
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -1
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +21 -22
- package/dist/assets/{cesium.6b12b4.js → cesium-9ea5ba6e.js} +73315 -68035
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.074b78.js → core-9b003470.js} +7135 -5664
- package/dist/assets/core.js +1 -1
- package/dist/assets/{ol.8b2e3a.js → ol-8373d6ac.js} +43066 -44325
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui-163311a7.css +1 -0
- package/dist/assets/{ui.715986.js → ui-163311a7.js} +14696 -13170
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue-0f6dd813.js +6083 -0
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify.28d881.css → vuetify-e2c4b35c.css} +2 -2
- package/dist/assets/{vuetify.28d881.js → vuetify-e2c4b35c.js} +8699 -8824
- package/dist/assets/vuetify.js +1 -1
- package/dist/index.html +11 -10
- package/index.d.ts +36 -20
- package/index.html +5 -5
- package/index.js +20 -10
- package/lib/olLib.js +90 -23
- package/package.json +25 -23
- package/plugins/@vcmap-show-case/custom-icons-example/README.md +3 -0
- package/plugins/@vcmap-show-case/custom-icons-example/assets/imageExample.png +0 -0
- package/plugins/@vcmap-show-case/custom-icons-example/assets/svgExample.svg +1 -0
- package/plugins/@vcmap-show-case/custom-icons-example/package.json +5 -0
- package/plugins/@vcmap-show-case/custom-icons-example/src/CustomIconsExample.vue +90 -0
- package/plugins/@vcmap-show-case/custom-icons-example/src/index.js +45 -0
- package/plugins/@vcmap-show-case/flight-component-example/src/FlightExample.vue +41 -1
- package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +73 -34
- package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +7 -11
- package/plugins/@vcmap-show-case/form-inputs-example/src/index.js +2 -2
- package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +50 -96
- package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +14 -11
- package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +18 -11
- package/plugins/@vcmap-show-case/search-example/src/index.js +1 -0
- package/plugins/@vcmap-show-case/search-example/src/searchImpl.js +35 -5
- package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +29 -90
- package/plugins/@vcmap-show-case/theming-example/README.md +3 -0
- package/plugins/@vcmap-show-case/theming-example/package.json +5 -0
- package/plugins/@vcmap-show-case/theming-example/src/ThemingExample.vue +116 -0
- package/plugins/@vcmap-show-case/theming-example/src/index.js +53 -0
- package/plugins/@vcmap-show-case/toolbox-example/src/index.js +2 -1
- package/plugins/@vcmap-show-case/vector-properties-example/src/GeometrySettings.vue +420 -0
- package/plugins/@vcmap-show-case/vector-properties-example/src/LayoutHandler.vue +97 -0
- package/plugins/@vcmap-show-case/vector-properties-example/src/TerrainSettings.vue +90 -0
- package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +86 -70
- package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +34 -1
- package/plugins/@vcmap-show-case/vector-properties-example/src/lib.js +294 -0
- package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +40 -54
- package/plugins/package.json +23 -21
- package/public/assets/@mdi/font/README.md +25 -0
- package/public/assets/@mdi/font/css/materialdesignicons.min.css +2 -2
- package/public/assets/@mdi/font/css/materialdesignicons.min.css.map +16 -0
- package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
- package/src/actions/StyleSelector.vue +37 -21
- package/src/actions/StyleSelector.vue.d.ts +5 -5
- package/src/actions/actionHelper.d.ts +4 -11
- package/src/actions/actionHelper.js +35 -27
- package/src/actions/flightActions.js +44 -23
- package/src/actions/listActions.d.ts +5 -12
- package/src/actions/listActions.js +6 -22
- package/src/actions/stateRefAction.js +2 -2
- package/src/application/VcsApp.vue +196 -85
- package/src/application/VcsApp.vue.d.ts +309 -4
- package/src/application/VcsAppWrapper.vue +1 -1
- package/src/application/VcsAttributions.vue +4 -15
- package/src/application/VcsAttributionsFooter.vue +28 -18
- package/src/application/VcsAttributionsFooter.vue.d.ts +1 -1
- package/src/application/VcsContainer.vue +27 -10
- package/src/application/VcsContainer.vue.d.ts +248 -0
- package/src/application/VcsMainMap.vue +8 -8
- package/src/application/VcsMainMap.vue.d.ts +2 -2
- package/src/application/VcsMap.vue +1 -0
- package/src/application/VcsNavbar.vue +15 -3
- package/src/application/VcsNavbar.vue.d.ts +2 -1
- package/src/application/VcsPositionDisplay.vue +10 -25
- package/src/application/VcsPositionDisplay.vue.d.ts +0 -1
- package/src/application/VcsSettings.vue +11 -18
- package/src/application/VcsSplashScreen.vue +43 -55
- package/src/application/VcsSplashScreen.vue.d.ts +4 -6
- package/src/application/VcsTextPage.vue +13 -44
- package/src/application/VcsTextPage.vue.d.ts +4 -8
- package/src/application/VcsTextPageFooter.vue +26 -41
- package/src/application/attributionsHelper.d.ts +20 -22
- package/src/application/attributionsHelper.js +14 -10
- package/src/callback/vcsCallback.d.ts +2 -2
- package/src/callback/vcsCallback.js +1 -1
- package/src/components/buttons/VcsActionButtonList.vue +66 -7
- package/src/components/buttons/VcsActionButtonList.vue.d.ts +28 -0
- package/src/components/buttons/VcsButton.vue +8 -10
- package/src/components/buttons/VcsButton.vue.d.ts +4 -4
- package/src/components/buttons/VcsFormButton.vue +9 -9
- package/src/components/buttons/VcsFormButton.vue.d.ts +3 -3
- package/src/components/buttons/VcsToolButton.vue +9 -7
- package/src/components/buttons/VcsToolButton.vue.d.ts +5 -5
- package/src/components/composables.d.ts +14 -2
- package/src/components/composables.js +106 -4
- package/src/components/extent/VcsExtent.vue +11 -7
- package/src/components/extent/VcsExtent.vue.d.ts +1 -0
- package/src/components/extent/VcsExtentEditor.vue +2 -1
- package/src/components/flight/VcsFlightAnchorsComponent.vue +64 -36
- package/src/components/flight/VcsFlightComponent.vue +25 -30
- package/src/components/flight/VcsFlightComponent.vue.d.ts +1 -0
- package/src/components/flight/VcsFlightEditor.vue +1 -0
- package/src/components/flight/VcsFlightPlayer.vue +47 -19
- package/src/components/form-inputs-controls/VcsCheckbox.vue +32 -13
- package/src/components/form-inputs-controls/VcsCheckbox.vue.d.ts +10 -0
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +14 -17
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue.d.ts +2 -4
- package/src/components/form-inputs-controls/VcsCoordinate.vue +17 -5
- package/src/components/form-inputs-controls/VcsCoordinate.vue.d.ts +5 -2
- package/src/components/form-inputs-controls/VcsDatePicker.vue +53 -59
- package/src/components/form-inputs-controls/VcsDatePicker.vue.d.ts +2 -64
- package/src/components/form-inputs-controls/VcsFileInput.vue +18 -19
- package/src/components/form-inputs-controls/VcsFileInput.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsLabel.vue +65 -3
- package/src/components/form-inputs-controls/VcsLabel.vue.d.ts +32 -1
- package/src/components/form-inputs-controls/VcsRadio.vue +26 -10
- package/src/components/form-inputs-controls/VcsRadio.vue.d.ts +2 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +47 -47
- package/src/components/form-inputs-controls/VcsSelect.vue.d.ts +9 -6
- package/src/components/form-inputs-controls/VcsSlider.vue +53 -15
- package/src/components/form-inputs-controls/VcsSlider.vue.d.ts +26 -2
- package/src/components/form-inputs-controls/VcsTextArea.vue +56 -40
- package/src/components/form-inputs-controls/VcsTextArea.vue.d.ts +1 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +46 -16
- package/src/components/form-inputs-controls/VcsTextField.vue.d.ts +12 -1
- package/src/components/form-inputs-controls/VcsWizard.vue +89 -112
- package/src/components/form-inputs-controls/VcsWizard.vue.d.ts +3 -13
- package/src/components/form-inputs-controls/VcsWizardStep.vue +78 -58
- package/src/components/form-inputs-controls/VcsWizardStep.vue.d.ts +24 -11
- package/src/components/form-inputs-controls/vcsTextField.scss +21 -13
- package/src/components/form-output/VcsFormattedNumber.vue +46 -14
- package/src/components/form-output/VcsFormattedNumber.vue.d.ts +27 -0
- package/src/components/form-output/VcsMarkdown.vue +56 -0
- package/src/{application/VcsCustomScreen.vue.d.ts → components/form-output/VcsMarkdown.vue.d.ts} +7 -5
- package/src/components/form-output/markdownHelper.d.ts +30 -0
- package/src/components/form-output/markdownHelper.js +398 -0
- package/src/components/import/VcsFileDrop.vue +9 -6
- package/src/components/import/VcsImportComponent.vue +12 -8
- package/src/components/import/VcsImportComponent.vue.d.ts +1 -2
- package/src/components/lists/VcsActionList.vue +50 -34
- package/src/components/lists/VcsActionList.vue.d.ts +3 -1
- package/src/components/lists/VcsList.vue +105 -192
- package/src/components/lists/VcsList.vue.d.ts +18 -66
- package/src/components/lists/VcsListItemComponent.vue +216 -0
- package/src/components/lists/VcsListItemComponent.vue.d.ts +83 -0
- package/src/components/lists/VcsTreeview.vue +119 -26
- package/src/components/lists/VcsTreeview.vue.d.ts +26 -3
- package/src/components/lists/VcsTreeviewSearchbar.vue +17 -6
- package/src/components/lists/VcsTreeviewSearchbar.vue.d.ts +3 -1
- package/src/components/lists/VcsTreeviewTitle.vue +40 -0
- package/src/components/modelHelper.d.ts +21 -8
- package/src/components/modelHelper.js +50 -8
- package/src/components/notification/VcsBadge.vue +2 -2
- package/src/components/notification/VcsHelp.vue +6 -7
- package/src/components/notification/VcsHelp.vue.d.ts +0 -8
- package/src/components/notification/VcsHelpTooltip.vue +48 -0
- package/src/components/notification/VcsHelpTooltip.vue.d.ts +25 -0
- package/src/components/plugins/AbstractConfigEditor.vue +2 -23
- package/src/components/plugins/AbstractConfigEditor.vue.d.ts +6 -29
- package/src/components/section/VcsExpansionPanel.vue +111 -0
- package/src/components/section/VcsExpansionPanel.vue.d.ts +19 -0
- package/src/components/{form-inputs-controls → section}/VcsFormSection.vue +13 -7
- package/src/components/{form-inputs-controls → section}/VcsFormSection.vue.d.ts +2 -3
- package/src/components/style/MenuWrapper.vue +25 -27
- package/src/components/style/MenuWrapper.vue.d.ts +4 -4
- package/src/components/style/VcsFeatureStyleComponent.vue +1 -0
- package/src/components/style/VcsFillMenu.vue +10 -16
- package/src/components/style/VcsFillMenu.vue.d.ts +0 -18
- package/src/components/style/VcsFillSelector.vue +14 -16
- package/src/components/style/VcsImageMenu.vue +9 -25
- package/src/components/style/VcsImageMenu.vue.d.ts +0 -27
- package/src/components/style/VcsImageSelector.vue +115 -172
- package/src/components/style/VcsImageSelector.vue.d.ts +16 -15
- package/src/components/style/VcsStrokeMenu.vue +9 -15
- package/src/components/style/VcsStrokeMenu.vue.d.ts +0 -18
- package/src/components/style/VcsStrokeSelector.vue +17 -21
- package/src/components/style/VcsStrokeSelector.vue.d.ts +1 -0
- package/src/components/style/VcsTextMenu.vue +12 -14
- package/src/components/style/VcsTextMenu.vue.d.ts +0 -9
- package/src/components/style/VcsTextSelector.vue +80 -96
- package/src/components/style/VcsTextSelector.vue.d.ts +20 -22
- package/src/components/style/VcsVectorStyleComponent.vue +9 -20
- package/src/components/style/VcsVectorStyleComponent.vue.d.ts +1 -1
- package/src/components/style/composables.d.ts +0 -14
- package/src/components/style/composables.js +0 -49
- package/src/components/tables/VcsDataTable.vue +43 -33
- package/src/components/tables/VcsDataTable.vue.d.ts +2 -1
- package/src/components/tables/VcsTable.vue +46 -62
- package/src/components/tables/VcsTable.vue.d.ts +30 -17
- package/src/components/tables/VcsTableCell.vue +72 -0
- package/src/components/tables/VcsTableCell.vue.d.ts +13 -0
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue +87 -51
- package/src/components/vector-properties/VcsFeatureEditingWindow.vue.d.ts +9 -7
- package/src/components/vector-properties/VcsFeatureTransforms.vue +45 -6
- package/src/components/vector-properties/VcsFeatureTransforms.vue.d.ts +2 -1
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +541 -596
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue.d.ts +222 -24
- package/src/components/viewpoint/VcsViewpointComponent.vue +36 -20
- package/src/components/viewpoint/VcsViewpointComponent.vue.d.ts +1 -0
- package/src/components/viewpoint/VcsViewpointEditor.vue +3 -1
- package/src/contentTree/LayerTree.vue +10 -28
- package/src/contentTree/LayerTree.vue.d.ts +1 -1
- package/src/contentTree/contentTreeCollection.d.ts +1 -0
- package/src/contentTree/contentTreeCollection.js +45 -11
- package/src/contentTree/contentTreeItem.d.ts +4 -4
- package/src/contentTree/contentTreeItem.js +8 -8
- package/src/contentTree/layerContentTreeItem.d.ts +8 -5
- package/src/contentTree/layerContentTreeItem.js +48 -34
- package/src/contentTree/layerGroupContentTreeItem.d.ts +7 -1
- package/src/contentTree/layerGroupContentTreeItem.js +22 -3
- package/src/contentTree/obliqueCollectionContentTreeItem.js +6 -1
- package/src/featureInfo/AddressBalloonComponent.vue +1 -1
- package/src/featureInfo/BalloonComponent.vue +33 -26
- package/src/featureInfo/BalloonComponent.vue.d.ts +1 -0
- package/src/featureInfo/IframeComponent.vue +6 -1
- package/src/featureInfo/MarkdownBalloonComponent.vue +5 -3
- package/src/featureInfo/MarkdownBalloonComponent.vue.d.ts +2 -2
- package/src/featureInfo/abstractFeatureInfoView.d.ts +19 -4
- package/src/featureInfo/abstractFeatureInfoView.js +38 -13
- package/src/featureInfo/balloonHelper.js +1 -1
- package/src/featureInfo/featureInfo.d.ts +7 -7
- package/src/featureInfo/featureInfo.js +59 -41
- package/src/featureInfo/iframeFeatureInfoView.d.ts +8 -2
- package/src/featureInfo/iframeFeatureInfoView.js +15 -5
- package/src/featureInfo/markdownBalloonFeatureInfoView.d.ts +1 -1
- package/src/featureInfo/markdownBalloonFeatureInfoView.js +5 -5
- package/src/featureInfo/markdownFeatureInfoView.d.ts +1 -1
- package/src/featureInfo/markdownFeatureInfoView.js +9 -11
- package/src/featureInfo/tableFeatureInfoView.js +13 -4
- package/src/i18n/de.d.ts +59 -32
- package/src/i18n/de.js +28 -5
- package/src/i18n/en.d.ts +59 -32
- package/src/i18n/en.js +25 -2
- package/src/i18n/i18nCollection.d.ts +9 -15
- package/src/i18n/i18nCollection.js +3 -3
- package/src/init.d.ts +5 -38
- package/src/init.js +19 -18
- package/src/legend/StyleLegendItem.vue +4 -9
- package/src/legend/VcsLegend.vue +33 -55
- package/src/legend/VcsLegend.vue.d.ts +1 -0
- package/src/manager/buttonManager.js +4 -4
- package/src/manager/collectionManager/CollectionComponent.vue +18 -42
- package/src/manager/collectionManager/CollectionComponent.vue.d.ts +4 -2
- package/src/manager/collectionManager/CollectionComponentContent.vue +7 -6
- package/src/manager/collectionManager/CollectionComponentContent.vue.d.ts +3 -1
- package/src/manager/collectionManager/CollectionComponentList.vue +11 -9
- package/src/manager/collectionManager/CollectionComponentList.vue.d.ts +6 -4
- package/src/manager/collectionManager/CollectionComponentProvider.vue +1 -1
- package/src/manager/collectionManager/CollectionComponentStandalone.vue +3 -2
- package/src/manager/collectionManager/CollectionManager.vue +1 -1
- package/src/manager/collectionManager/categoryManager.d.ts +1 -1
- package/src/manager/collectionManager/collectionComponentClass.d.ts +3 -3
- package/src/manager/collectionManager/collectionComponentClass.js +16 -15
- package/src/manager/collectionManager/collectionManager.d.ts +1 -1
- package/src/manager/collectionManager/collectionManager.js +10 -10
- package/src/manager/collectionManager/editorCollectionComponentClass.js +11 -8
- package/src/manager/contextMenu/ContextMenuComponent.vue +1 -1
- package/src/manager/contextMenu/contextMenuManager.js +2 -2
- package/src/manager/navbarManager.js +2 -2
- package/src/manager/panel/PanelComponent.vue +2 -9
- package/src/manager/panel/PanelManagerComponent.vue +9 -5
- package/src/manager/panel/panelHelper.js +3 -3
- package/src/manager/panel/panelManager.d.ts +9 -1
- package/src/manager/panel/panelManager.js +18 -6
- package/src/manager/toolbox/GroupToolboxComponent.vue +13 -7
- package/src/manager/toolbox/GroupToolboxComponent.vue.d.ts +1 -0
- package/src/manager/toolbox/SelectToolboxComponent.vue +13 -8
- package/src/manager/toolbox/SelectToolboxComponent.vue.d.ts +1 -0
- package/src/manager/toolbox/{ToolboxManager.vue → ToolboxManagerComponent.vue} +28 -8
- package/src/manager/toolbox/{ToolboxManager.vue.d.ts → ToolboxManagerComponent.vue.d.ts} +1 -0
- package/src/manager/toolbox/toolboxManager.js +10 -10
- package/src/manager/window/WindowComponent.vue +13 -9
- package/src/manager/window/WindowComponentHeader.vue +33 -9
- package/src/manager/window/WindowComponentHeader.vue.d.ts +3 -0
- package/src/manager/window/WindowManager.vue +6 -3
- package/src/manager/window/windowManager.d.ts +71 -15
- package/src/manager/window/windowManager.js +32 -11
- package/src/navigation/MapNavigation.vue +52 -9
- package/src/navigation/ObliqueRotation.vue +2 -2
- package/src/navigation/OrientationToolsButton.vue +37 -26
- package/src/navigation/OrientationToolsButton.vue.d.ts +5 -1
- package/src/navigation/TiltSlider.vue +82 -88
- package/src/navigation/TiltSlider.vue.d.ts +10 -7
- package/src/navigation/VcsCompass.vue +17 -11
- package/src/navigation/VcsCompass.vue.d.ts +2 -0
- package/src/navigation/VcsZoomButton.vue +1 -1
- package/src/navigation/locatorHelper.js +4 -22
- package/src/navigation/overviewMap.js +5 -2
- package/src/notifier/NotifierComponent.vue +19 -16
- package/src/obliqueFallbackWarnings.d.ts +5 -0
- package/src/obliqueFallbackWarnings.js +54 -0
- package/src/search/ResultItem.vue +18 -6
- package/src/search/ResultsComponent.vue +32 -21
- package/src/search/ResultsComponent.vue.d.ts +2 -1
- package/src/search/SearchComponent.vue +14 -16
- package/src/search/SearchComponent.vue.d.ts +1 -0
- package/src/search/search.js +2 -2
- package/src/siteConfig.js +9 -9
- package/src/state.js +4 -4
- package/src/styles/_typography.scss +1 -2
- package/src/styles/main.scss +0 -4
- package/src/styles/vcsList.scss +1 -1
- package/src/uiConfig.d.ts +323 -7
- package/src/uiConfig.js +31 -17
- package/src/vcsUiApp.d.ts +90 -80
- package/src/vcsUiApp.js +61 -41
- package/src/vuePlugins/i18n.js +8 -0
- package/src/vuePlugins/vuetify.d.ts +88 -60
- package/src/vuePlugins/vuetify.js +134 -20
- package/dist/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
- package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +0 -3
- package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +0 -3273
- package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +0 -73
- package/dist/assets/index-ca7EmZ3d.js +0 -1
- package/dist/assets/ui.715986.css +0 -1
- package/dist/assets/vue.0f2c53.js +0 -6096
- package/plugins/@vcmap-show-case/theme-changer/README.md +0 -23
- package/plugins/@vcmap-show-case/theme-changer/config.json +0 -69
- package/plugins/@vcmap-show-case/theme-changer/package.json +0 -11
- package/plugins/@vcmap-show-case/theme-changer/src/ThemeChangerComponent.vue +0 -120
- package/plugins/@vcmap-show-case/theme-changer/src/index.js +0 -108
- package/public/assets/@mdi/font/css/materialdesignicons.css.map +0 -16
- package/src/application/VcsCustomScreen.vue +0 -45
- package/src/application/markdownHelper.d.ts +0 -12
- package/src/application/markdownHelper.js +0 -85
- package/src/components/lists/VcsTreeviewLeaf.vue +0 -83
- package/src/components/notification/VcsTooltip.vue +0 -156
- package/src/components/notification/VcsTooltip.vue.d.ts +0 -27
- package/src/components/vector-properties/composables.d.ts +0 -33
- package/src/components/vector-properties/composables.js +0 -100
- package/src/featureInfo/MarkdownComponent.vue +0 -16
- package/src/featureInfo/MarkdownComponent.vue.d.ts +0 -7
- package/src/styles/_theming.scss +0 -73
- package/src/styles/settings.scss +0 -6
- package/src/styles/shades.scss +0 -4
- package/src/styles/variables.scss +0 -140
- package/src/styles/vcsFont.scss +0 -2
- package/src/styles/vcsGrid.scss +0 -3
- /package/dist/assets/{favicon-128.4c4ce5.png → favicon-128-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-180.5b99c0.png → favicon-180-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-192.0e205e.png → favicon-192-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon-32.6b9add.png → favicon-32-4c4ce5df.png} +0 -0
- /package/dist/assets/{favicon.d5ec97.svg → favicon-4c4ce5df.svg} +0 -0
- /package/dist/assets/font/{TitilliumWeb-Regular.9ca076.woff2 → TitilliumWeb-Regular-9ca076be.woff2} +0 -0
- /package/dist/assets/style/{icon-marker.70960f.png → icon-marker-70960f05.png} +0 -0
- /package/dist/assets/style/{icon-marker-blue.534e37.png → icon-marker-blue-534e374b.png} +0 -0
- /package/dist/assets/style/{icon-marker-green.0b6a92.png → icon-marker-green-0b6a92bc.png} +0 -0
- /package/dist/assets/style/{icon-marker-o.036477.png → icon-marker-o-036477fa.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-blue.7b6d62.png → icon-marker-o-blue-7b6d6279.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-green.c863c0.png → icon-marker-o-green-c863c0fa.png} +0 -0
- /package/dist/assets/style/{icon-marker-o-red.93ff58.png → icon-marker-o-red-93ff58df.png} +0 -0
- /package/dist/assets/style/{icon-marker-red.313d03.png → icon-marker-red-313d03e8.png} +0 -0
- /package/dist/assets/style/{icon-pin.b7ce77.png → icon-pin-b7ce771e.png} +0 -0
- /package/dist/assets/style/{icon-pin-blue.7be369.png → icon-pin-blue-7be369a3.png} +0 -0
- /package/dist/assets/style/{icon-pin-green.cbb935.png → icon-pin-green-cbb935fe.png} +0 -0
- /package/dist/assets/style/{icon-pin-red.3f25b2.png → icon-pin-red-3f25b245.png} +0 -0
- /package/public/assets/{favicon-128.png → favicon-128-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-180.png → favicon-180-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-192.png → favicon-192-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon-32.png → favicon-32-4c4ce5df.png} +0 -0
- /package/public/assets/{favicon.svg → favicon-4c4ce5df.svg} +0 -0
- /package/src/components/lists/{VcsTreeviewLeaf.vue.d.ts → VcsTreeviewTitle.vue.d.ts} +0 -0
package/build/build.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import path from 'path';
|
2
2
|
import fs from 'fs';
|
3
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
3
4
|
import { build } from 'vite';
|
4
5
|
import { v4 as uuid } from 'uuid';
|
5
6
|
|
@@ -13,7 +14,6 @@ import {
|
|
13
14
|
getFileMd5,
|
14
15
|
getFilesInDirectory,
|
15
16
|
libraries,
|
16
|
-
writeRewrittenFile,
|
17
17
|
} from './buildHelpers.js';
|
18
18
|
|
19
19
|
/**
|
@@ -97,8 +97,8 @@ function hashLibraries() {
|
|
97
97
|
throw new Error(`Trying to build unexported library ${key}`);
|
98
98
|
}
|
99
99
|
value.lib = libraries[key];
|
100
|
-
value.hash = `${uuid().substring(0,
|
101
|
-
libraryPaths[key] = `./${value.lib}
|
100
|
+
value.hash = `${uuid().substring(0, 8)}`;
|
101
|
+
libraryPaths[key] = `./${value.lib}-${value.hash}.js`;
|
102
102
|
value.rollupOptions = value.rollupOptions ? value.rollupOptions : {};
|
103
103
|
});
|
104
104
|
|
@@ -121,11 +121,13 @@ const { libraryBuildOptions, libraryPaths } = hashLibraries();
|
|
121
121
|
console.log('Building ol dump file');
|
122
122
|
await generateOLLib();
|
123
123
|
|
124
|
+
const distFolder = path.join(process.cwd(), 'dist');
|
125
|
+
const assetsFolder = path.join(distFolder, 'assets');
|
126
|
+
|
124
127
|
/** Cleaning/recreating Dist Folder */
|
125
|
-
if (await fs.existsSync(
|
126
|
-
await fs.promises.rm(
|
128
|
+
if (await fs.existsSync(distFolder)) {
|
129
|
+
await fs.promises.rm(distFolder, { recursive: true });
|
127
130
|
}
|
128
|
-
const assetsFolder = path.join(process.cwd(), 'dist', 'assets');
|
129
131
|
await fs.promises.mkdir(assetsFolder, { recursive: true });
|
130
132
|
|
131
133
|
/**
|
@@ -141,6 +143,8 @@ const fileTypesToHash = ['.png', '.css', '.svg', '.woff2'];
|
|
141
143
|
* we exclude the materialDesignIcons font because we do not want to also rewrite the materialDesignIcons.css file.
|
142
144
|
* The .woff2 is loaded with the materialDesignIcons Version number as a query parameter. So this also makes sure,
|
143
145
|
* that the browser can cache the file.
|
146
|
+
*
|
147
|
+
* we also exclude favicons from hashing, to just use the index.html as is.
|
144
148
|
*/
|
145
149
|
const filesToExclude = [
|
146
150
|
path.join(
|
@@ -150,6 +154,11 @@ const filesToExclude = [
|
|
150
154
|
'fonts',
|
151
155
|
'materialdesignicons-webfont.woff2',
|
152
156
|
),
|
157
|
+
path.join('assets', 'favicon-4c4ce5df.svg'),
|
158
|
+
path.join('assets', 'favicon-32-4c4ce5df.png'),
|
159
|
+
path.join('assets', 'favicon-128-4c4ce5df.png'),
|
160
|
+
path.join('assets', 'favicon-180-4c4ce5df.png'),
|
161
|
+
path.join('assets', 'favicon-192-4c4ce5df.png'),
|
153
162
|
];
|
154
163
|
const hashedPublicFiles = new Map();
|
155
164
|
const filesToCopy = new Map();
|
@@ -165,7 +174,7 @@ for await (const filePath of getFilesInDirectory(publicAssetsFolder)) {
|
|
165
174
|
const fileHash = await getFileMd5(filePath);
|
166
175
|
const hashedFileUrl = path.posix.join(
|
167
176
|
...path.dirname(relativePathInDist).split(path.sep),
|
168
|
-
`${path.basename(filePath, fileType)}
|
177
|
+
`${path.basename(filePath, fileType)}-${fileHash.slice(0, 8)}${fileType}`,
|
169
178
|
);
|
170
179
|
hashedPublicFiles.set(
|
171
180
|
path.posix.join(...relativePath.split(path.sep)),
|
@@ -174,9 +183,9 @@ for await (const filePath of getFilesInDirectory(publicAssetsFolder)) {
|
|
174
183
|
const newFilePath = path.join(
|
175
184
|
assetsFolder,
|
176
185
|
path.dirname(relativePathInDist),
|
177
|
-
`${path.basename(relativePath, fileType)}
|
186
|
+
`${path.basename(relativePath, fileType)}-${fileHash.slice(
|
178
187
|
0,
|
179
|
-
|
188
|
+
8,
|
180
189
|
)}${fileType}`,
|
181
190
|
);
|
182
191
|
filesToCopy.set(filePath, newFilePath);
|
@@ -191,57 +200,28 @@ for await (const [originalFilePath, newFilePath] of filesToCopy) {
|
|
191
200
|
}
|
192
201
|
|
193
202
|
console.log('Building app');
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
},
|
200
|
-
build: {
|
201
|
-
write: false,
|
202
|
-
modulePreload: false,
|
203
|
-
emptyOutDir: true,
|
204
|
-
rollupOptions: {
|
205
|
-
external: Object.keys(libraries),
|
206
|
-
output: {
|
207
|
-
paths: libraryPaths,
|
208
|
-
},
|
209
|
-
},
|
210
|
-
},
|
211
|
-
});
|
212
|
-
|
213
|
-
/**
|
214
|
-
* Building the Main entrypoint (index.html + index.js)
|
215
|
-
* This will ensure that all references to public assets will be rewritten to the hashed filename
|
216
|
-
*/
|
217
|
-
await Promise.all(
|
218
|
-
buildoutput.output?.map((output) => {
|
219
|
-
if (output.type === 'asset') {
|
220
|
-
const { source, fileName } = output;
|
221
|
-
// remove loading of materialdesignicons from index.html, we will later inject this in the ui.js
|
222
|
-
const fileContent = source.replace(
|
223
|
-
/<link[^>]*href=".*materialdesignicons\.min\.css"[^>]*(>[^<]*<\/link>|\/>)/,
|
224
|
-
'',
|
225
|
-
);
|
226
|
-
return writeRewrittenFile(
|
227
|
-
path.join(process.cwd(), 'dist', fileName),
|
228
|
-
fileContent,
|
229
|
-
hashedPublicFiles,
|
230
|
-
'assets',
|
231
|
-
);
|
232
|
-
}
|
233
|
-
if (output.type === 'chunk') {
|
234
|
-
const { code, fileName } = output;
|
235
|
-
return writeRewrittenFile(
|
236
|
-
path.join(process.cwd(), 'dist', fileName),
|
237
|
-
code,
|
238
|
-
hashedPublicFiles,
|
239
|
-
'assets',
|
240
|
-
);
|
241
|
-
}
|
242
|
-
return undefined;
|
243
|
-
}),
|
203
|
+
let indexHTMLContent = await readFile('./index.html', { encoding: 'utf8' });
|
204
|
+
// remove mdi icons link, will be later loaded from the ui.js
|
205
|
+
indexHTMLContent = indexHTMLContent.replace(
|
206
|
+
/<link[^>]*href=".*materialdesignicons\.min\.css"[^>]*>/,
|
207
|
+
'',
|
244
208
|
);
|
209
|
+
// replace @vcmap/ui with './assets/ui.js'
|
210
|
+
indexHTMLContent = indexHTMLContent.replace(/@vcmap\/ui/, './assets/ui.js');
|
211
|
+
await writeFile(path.join(distFolder, 'index.html'), indexHTMLContent, {
|
212
|
+
encoding: 'utf8',
|
213
|
+
});
|
214
|
+
const htaccessContent = `
|
215
|
+
<FilesMatch "-[\\w\\d]{8}\\.(js|css)$">
|
216
|
+
Header set Cache-Control "public, max-age=31540000, immutable"
|
217
|
+
</FilesMatch>
|
218
|
+
<FilesMatch "(index\\.html|config\\.json|ui\\.js|vue\\.js|vuetify\\.js|ol\\.js|cesium\\.js|core\\.js)$">
|
219
|
+
Header set Cache-Control "no-store, max-age=0"
|
220
|
+
</FilesMatch>
|
221
|
+
`;
|
222
|
+
await writeFile(path.join(distFolder, '.htaccess'), htaccessContent, {
|
223
|
+
encoding: 'utf8',
|
224
|
+
});
|
245
225
|
|
246
226
|
/**
|
247
227
|
* Building the Libraries, (vue, vuetify, openlayers, cesium, core, and ui). This will build one hashed library.hash.js
|
@@ -271,7 +251,7 @@ await Promise.all(
|
|
271
251
|
lib: {
|
272
252
|
entry: path.resolve(process.cwd(), value.entry),
|
273
253
|
formats: ['es'],
|
274
|
-
fileName: `${value.lib}
|
254
|
+
fileName: `${value.lib}-${value.hash}`,
|
275
255
|
},
|
276
256
|
rollupOptions: {
|
277
257
|
...value.rollupOptions,
|
package/build/buildHelpers.js
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
/* eslint import/no-extraneous-dependencies: ["error", { "devDependencies": false }] */
|
2
1
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
3
2
|
import { build } from 'vite'; // vite is also a plugin-cli dep
|
4
3
|
import fs from 'fs';
|
@@ -159,18 +158,12 @@ export async function buildLibrary(
|
|
159
158
|
base64Css = false,
|
160
159
|
rewrittenPublicAssets = undefined,
|
161
160
|
) {
|
162
|
-
// Base64 contains the characters '+', '/', and '=', which have a reserved meaning in URLs.
|
163
|
-
// Base64url solves this by replacing '+' with '-' and '/' with '_'.
|
164
|
-
// See https://stackoverflow.com/a/55389212
|
165
161
|
const cssInjectorCode = `
|
166
162
|
function loadCss(href) {
|
167
|
-
const base64url = href
|
168
|
-
.replace(/-/g, '+')
|
169
|
-
.replace(/_/g, '/');
|
170
163
|
return new Promise((resolve, reject) => {
|
171
164
|
const elem = document.createElement('link');
|
172
165
|
elem.rel = 'stylesheet';
|
173
|
-
elem.href =
|
166
|
+
elem.href = href;
|
174
167
|
elem.defer = false;
|
175
168
|
elem.async = false;
|
176
169
|
elem.onload = resolve;
|
@@ -180,12 +173,12 @@ function loadCss(href) {
|
|
180
173
|
}`;
|
181
174
|
|
182
175
|
const write = async (output) => {
|
183
|
-
const addedHash = hash ?
|
176
|
+
const addedHash = hash ? `-${hash}` : '';
|
184
177
|
let css = false;
|
185
178
|
if (output[1] && output[1].type === 'asset') {
|
186
179
|
if (base64Css) {
|
187
180
|
css = `data:text/css;base64,${Buffer.from(output[1].source).toString(
|
188
|
-
'
|
181
|
+
'base64',
|
189
182
|
)}`;
|
190
183
|
} else {
|
191
184
|
await writeRewrittenFile(
|
@@ -285,7 +278,12 @@ const toCopy = [
|
|
285
278
|
'README.md',
|
286
279
|
];
|
287
280
|
|
288
|
-
async function buildInlinePlugin(
|
281
|
+
async function buildInlinePlugin(
|
282
|
+
plugin,
|
283
|
+
baseConfig,
|
284
|
+
minify,
|
285
|
+
isDependend = false,
|
286
|
+
) {
|
289
287
|
// the relative path between plugins and libraries, is not known beforehand, so we calculate the distance.
|
290
288
|
// posixRelativePath is the relative path between the index.js of the plugin and the specific library.
|
291
289
|
const relativePluginPaths = {};
|
@@ -298,7 +296,15 @@ async function buildInlinePlugin(plugin, baseConfig, minify) {
|
|
298
296
|
.join(path.posix.sep);
|
299
297
|
});
|
300
298
|
|
301
|
-
const pluginDir =
|
299
|
+
const pluginDir = isDependend
|
300
|
+
? getProjectPath('plugins', 'node_modules', plugin)
|
301
|
+
: getProjectPath('plugins', plugin);
|
302
|
+
|
303
|
+
const isTs = fs.existsSync(path.join(pluginDir, 'src', 'index.ts'));
|
304
|
+
const entry = isTs
|
305
|
+
? path.join(pluginDir, 'src', 'index.ts')
|
306
|
+
: path.join(pluginDir, 'src', 'index.js');
|
307
|
+
|
302
308
|
const pluginConfig = {
|
303
309
|
...baseConfig,
|
304
310
|
esbuild: {
|
@@ -309,13 +315,14 @@ async function buildInlinePlugin(plugin, baseConfig, minify) {
|
|
309
315
|
emptyOutDir: false,
|
310
316
|
outDir: `dist/plugins/${plugin}/`,
|
311
317
|
lib: {
|
312
|
-
entry
|
318
|
+
entry,
|
313
319
|
formats: ['es'],
|
314
320
|
fileName: 'index',
|
315
321
|
},
|
316
322
|
rollupOptions: {
|
317
323
|
external: Object.keys(libraries),
|
318
324
|
output: {
|
325
|
+
manualChunks: () => 'index.js',
|
319
326
|
paths: relativePluginPaths,
|
320
327
|
},
|
321
328
|
},
|
@@ -327,11 +334,11 @@ async function buildInlinePlugin(plugin, baseConfig, minify) {
|
|
327
334
|
}
|
328
335
|
await buildLibrary(pluginConfig, `plugins/${plugin}`, 'index', '', true);
|
329
336
|
await Promise.all(
|
330
|
-
toCopy.map(async (
|
331
|
-
if (fs.existsSync(path.join(pluginDir,
|
337
|
+
toCopy.map(async (fileEntry) => {
|
338
|
+
if (fs.existsSync(path.join(pluginDir, fileEntry))) {
|
332
339
|
await fs.promises.cp(
|
333
|
-
path.join(pluginDir,
|
334
|
-
path.join(distPath,
|
340
|
+
path.join(pluginDir, fileEntry),
|
341
|
+
path.join(distPath, fileEntry),
|
335
342
|
{ recursive: true, force: true },
|
336
343
|
);
|
337
344
|
}
|
@@ -339,6 +346,10 @@ async function buildInlinePlugin(plugin, baseConfig, minify) {
|
|
339
346
|
);
|
340
347
|
}
|
341
348
|
|
349
|
+
/**
|
350
|
+
* Dependent Plugins which are installed from npm are already build and we just copy the relevant files
|
351
|
+
* @param {string} pluginName
|
352
|
+
*/
|
342
353
|
async function buildDependentPlugin(pluginName) {
|
343
354
|
const pluginsDirectory = getPluginDirectory();
|
344
355
|
let scope = '';
|
@@ -371,6 +382,19 @@ async function buildDependentPlugin(pluginName) {
|
|
371
382
|
);
|
372
383
|
}
|
373
384
|
|
385
|
+
function filterDependentPlugins(dependentPlugins, pluginIsBuild = true) {
|
386
|
+
const pluginsDir = getPluginDirectory();
|
387
|
+
return dependentPlugins.filter((pluginName) => {
|
388
|
+
const pluginExists = fs.existsSync(
|
389
|
+
path.join(pluginsDir, 'node_modules', ...pluginName.split('/'), 'dist'),
|
390
|
+
);
|
391
|
+
if (pluginIsBuild) {
|
392
|
+
return pluginExists;
|
393
|
+
}
|
394
|
+
return !pluginExists;
|
395
|
+
});
|
396
|
+
}
|
397
|
+
|
374
398
|
/**
|
375
399
|
* Will build a preview of all the current plugins & inline plugins
|
376
400
|
* @param {import("vite").InlineConfig} [baseConfig={}] - the base config to use. build & esbuild will be completely overwritten
|
@@ -380,14 +404,25 @@ async function buildDependentPlugin(pluginName) {
|
|
380
404
|
export async function buildPluginsForPreview(baseConfig = {}, minify = true) {
|
381
405
|
const inlinePlugins = await getInlinePlugins();
|
382
406
|
const dependentPlugins = await getPluginNames();
|
407
|
+
// only take already build plugins into account.
|
408
|
+
// Plugins loaded from a git repository do not have a dist folder.
|
409
|
+
// These plugins need to be build, same as the inline plugins
|
410
|
+
const buildDependentPlugins = filterDependentPlugins(dependentPlugins, true);
|
411
|
+
const notBuildDependentPlugins = filterDependentPlugins(
|
412
|
+
dependentPlugins,
|
413
|
+
false,
|
414
|
+
);
|
383
415
|
|
384
416
|
const promises = inlinePlugins.map((plugin) =>
|
385
417
|
buildInlinePlugin(plugin, baseConfig, minify),
|
386
418
|
);
|
387
419
|
|
388
420
|
promises.push(
|
389
|
-
...
|
390
|
-
buildDependentPlugin(pluginName
|
421
|
+
...buildDependentPlugins.map(async (pluginName) =>
|
422
|
+
buildDependentPlugin(pluginName),
|
423
|
+
),
|
424
|
+
...notBuildDependentPlugins.map(async (pluginName) =>
|
425
|
+
buildInlinePlugin(pluginName, baseConfig, minify, true),
|
391
426
|
),
|
392
427
|
);
|
393
428
|
await Promise.all(promises);
|
@@ -396,14 +431,22 @@ export async function buildPluginsForPreview(baseConfig = {}, minify = true) {
|
|
396
431
|
export async function buildPluginsForBundle(baseConfig = {}) {
|
397
432
|
const inlinePlugins = await getInlinePlugins();
|
398
433
|
const dependentPlugins = await getPluginNames(false);
|
434
|
+
const buildDependentPlugins = filterDependentPlugins(dependentPlugins, true);
|
435
|
+
const notBuildDependentPlugins = filterDependentPlugins(
|
436
|
+
dependentPlugins,
|
437
|
+
false,
|
438
|
+
);
|
399
439
|
const promises = inlinePlugins
|
400
440
|
.filter((plugin) => plugin.startsWith('@vcmap/'))
|
401
441
|
.map((plugin) => buildInlinePlugin(plugin, baseConfig, true));
|
402
442
|
|
403
443
|
promises.push(
|
404
|
-
...
|
444
|
+
...buildDependentPlugins.map(async (pluginName) =>
|
405
445
|
buildDependentPlugin(pluginName),
|
406
446
|
),
|
447
|
+
...notBuildDependentPlugins.map(async (pluginName) =>
|
448
|
+
buildInlinePlugin(pluginName, baseConfig, true, true),
|
449
|
+
),
|
407
450
|
);
|
408
451
|
await Promise.all(promises);
|
409
452
|
}
|
package/build/buildTypes.js
CHANGED
@@ -113,12 +113,16 @@ async function vueAugmentations() {
|
|
113
113
|
let content = await readFile('./index.d.ts', 'utf-8');
|
114
114
|
content = `${content}
|
115
115
|
declare module 'vue' {
|
116
|
-
type ReplaceFirstParam<TParams extends readonly any[], TReplace> = {
|
117
|
-
[K in keyof TParams]: K extends "0" ? TReplace : TParams[K]
|
118
|
-
}
|
119
|
-
|
120
116
|
interface ComponentCustomProperties {
|
121
|
-
$st
|
117
|
+
$st(key: string | number | undefined | null): string;
|
118
|
+
$st(key: string | number | undefined | null, plural: number, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
|
119
|
+
$st(key: string | number | undefined | null, defaultMsg: string, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
|
120
|
+
$st(key: string | number | undefined | null, list: unknown[], options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
|
121
|
+
$st(key: string | number | undefined | null, list: unknown[], plural: number): string;
|
122
|
+
$st(key: string | number | undefined | null, list: unknown[], defaultMsg: string): string;
|
123
|
+
$st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, options?: import("vue-i18n").TranslateOptions<import("vue-i18n").Locale>): string;
|
124
|
+
$st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, plural: number): string;
|
125
|
+
$st(key: string | number | undefined | null, named: import("vue-i18n").NamedValue, defaultMsg: string): string;
|
122
126
|
}
|
123
127
|
}
|
124
128
|
`;
|
package/build/bundle.js
CHANGED
package/build/info/conf.json
CHANGED
package/build/info/publish.js
CHANGED
@@ -20,37 +20,31 @@ exports.publish = function publish(data) {
|
|
20
20
|
|
21
21
|
// get all doclets that have exports
|
22
22
|
const classes = {};
|
23
|
-
const docs = data(
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
);
|
49
|
-
},
|
50
|
-
],
|
51
|
-
{ kind: { '!is': 'file' } },
|
52
|
-
{ kind: { '!is': 'event' } },
|
53
|
-
).get();
|
23
|
+
const docs = data(function someKindOfExportsTransformer() {
|
24
|
+
if (this?.meta?.code?.name) {
|
25
|
+
if (this.meta.code.name === 'module.exports') {
|
26
|
+
this.exports = 'default';
|
27
|
+
} else if (String(this.meta.code.name).startsWith('exports.')) {
|
28
|
+
this.exports = this.meta.code.name.replace(/exports./, '');
|
29
|
+
}
|
30
|
+
}
|
31
|
+
if (this.kind === 'class') {
|
32
|
+
if (
|
33
|
+
!('extends' in this) ||
|
34
|
+
typeof this.api === 'boolean' ||
|
35
|
+
this.exports
|
36
|
+
) {
|
37
|
+
classes[this.longname] = this;
|
38
|
+
return true;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
return (
|
42
|
+
!['file', 'event', 'module'].includes(this.kind) &&
|
43
|
+
(typeof this.api === 'boolean' ||
|
44
|
+
this.exports ||
|
45
|
+
(this.meta && /[\\/]externs$/.test(this.meta.path)))
|
46
|
+
);
|
47
|
+
}).get();
|
54
48
|
|
55
49
|
// get symbols data, filter out those that are members of private classes
|
56
50
|
const symbols = [];
|
package/build/lintTypes.js
CHANGED
@@ -15,6 +15,11 @@ async function lintTypes() {
|
|
15
15
|
// eslint-disable-next-line no-continue
|
16
16
|
continue;
|
17
17
|
}
|
18
|
+
if (path.endsWith('uiConfig.d.ts')) {
|
19
|
+
// we do not check the vcsUiApp.d.ts, because import("vue").DeepReadonly creates an any type
|
20
|
+
// eslint-disable-next-line no-continue
|
21
|
+
continue;
|
22
|
+
}
|
18
23
|
// eslint-disable-next-line no-loop-func
|
19
24
|
content.split(EOL).forEach((line, index) => {
|
20
25
|
const matches = line.match(anyRegex);
|
@@ -271,7 +271,12 @@
|
|
271
271
|
"minZoom": 2,
|
272
272
|
"hideLevels": null,
|
273
273
|
"properties": {
|
274
|
-
"title": "Schrägluftbilder 2020"
|
274
|
+
"title": "Schrägluftbilder 2020",
|
275
|
+
"attributions": {
|
276
|
+
"provider": "Aerowest",
|
277
|
+
"year": "2020",
|
278
|
+
"url": "https://www.aerowest.de/"
|
279
|
+
}
|
275
280
|
}
|
276
281
|
},
|
277
282
|
{
|
@@ -292,7 +297,12 @@
|
|
292
297
|
"minZoom": 2,
|
293
298
|
"hideLevels": null,
|
294
299
|
"properties": {
|
295
|
-
"title": "Schrägluftbilder 2019"
|
300
|
+
"title": "Schrägluftbilder 2019",
|
301
|
+
"attributions": {
|
302
|
+
"provider": "Aerowest",
|
303
|
+
"year": "2019",
|
304
|
+
"url": "https://www.aerowest.de/"
|
305
|
+
}
|
296
306
|
}
|
297
307
|
}
|
298
308
|
],
|
package/config/base.config.json
CHANGED
@@ -89,10 +89,10 @@
|
|
89
89
|
}
|
90
90
|
},
|
91
91
|
"MyImpressum": {
|
92
|
-
"content": "
|
92
|
+
"content": "\n\n**Firmierung:** \nMusterfirma GmbH\n\n**Sitz:**\nMusterstadt\n\n**Adresse:**\nMusterstraße 1 a\n12345 Musterstadt\nDeutschland\n\n **Telefon:** +49 (0) 00 . 0000 . 000 . 00\n\n **Telefax:** +49 (0) 00 . 0000 . 000 . 00\n\n **E-Mail:** [info@musterfirma.de](mailto:info@musterfirma.de)\n\n**Geschäftsführer:**\nMax Mustermann\n\n**Registergericht:**\nMusterstadt 1234567\n\n**Steuernummer:**\n11/222/33333\n\n**Umsatzsteuer-ID:**\nDE1234567890\n\n**Copyright:**\n\nAlle Rechte vorbehalten. Sämtliche Inhalte (Texte, Bilder, Grafiken, Animationen) sind urheberrechtlich geschützt. Sie dürfen ohne Zustimmung der Musterfirma GmbH zu kommerziellen Zwecken weder kopiert, verbreitet noch verändert werden.\n\n(Copyright 2023 Musterfirma GmbH)\n\n**Inhalte:**\n\nTrotz sorgfältiger Bearbeitung kann die Musterfirma GmbH für die Fehlerfreiheit und Genauigkeit der angebotenen Informationen auf [www.musterfirma.de](http://www.musterfirma.de) nicht garantieren. Jegliche Haftung für Schäden, die direkt oder indirekt aus der Benutzung von [www.musterfirma.de](http://www.musterfirma.de) entstehen und nicht auf Vorsatz oder grober Fahrlässigkeit der Musterfirma GmbH beruhen, ist ausgeschlossen. Für die Inhalte von mit [www.musterfirma.de](http://www.musterfirma.de) verlinkter Websites ist grundsätzlich jede Haftung ausgeschlossen.\n\n**Datenschutz:**\n\nDie Musterfirma GmbH nimmt den Schutz Ihrer persönlichen Daten sehr ernst. Wir halten uns strikt an die Regeln der Datenschutzgesetze. Personenbezogene Daten werden auf dieser Webseite nur im technisch notwendigen Umfang erhoben. In keinem Fall werden die erhobenen Daten verkauft oder aus anderen Gründen an Dritte weitergegeben. Unsere vollständige Datenschutzerklärung können Sie [hier](#) nachlesen.\n"
|
93
93
|
},
|
94
94
|
"MyCustomScreen": {
|
95
|
-
"content": "\n\
|
95
|
+
"content": "\n\nProjekt: \n--------\n\nErste Schritte\n\nZusammenfassung:\n--------\nDies ist ein **Beispieltext**, der Ihnen den Einstieg erleichtern soll. **Marked** wird verwendet, um Ihren Text _von Markdown nach HTML_ zu konvertieren. Um mehr über die __*korrekte Syntax*__ zu erfahren, besuchen Sie bitte diesen [Link](https://marked.js.org/demo/) für eine Demo. \n \nInhalt:\n-------\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n \nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.\n \nHow to add lists:\n-----------------\n\n\n\n1. Enumeration, lorem ipsum dolor sit amet.\n2. Enumeration, lorem ipsum dolor sit amet.\n\n\n- Punkt 1: einer Liste mit Aufzählungspunkten.\n- Punkt 2: einer Liste mit Aufzählungspunkten.\n\n\n\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.",
|
96
96
|
"name": "Meine benutzerdefinierte Anzeige",
|
97
97
|
"title": "Meine benutzerdefinierte Anzeige"
|
98
98
|
}
|
@@ -116,10 +116,10 @@
|
|
116
116
|
}
|
117
117
|
},
|
118
118
|
"MyImpressum": {
|
119
|
-
"content": "
|
119
|
+
"content": "\n\n**Company name:** \n\nMusterfirma GmbH\n\n**Company headquarters:**\n\nMusterstadt\n\n\n\n**Address:**\n\nMusterstraße 1 a\n\n12345 Musterstadt\n\nGermany\n\n **Phone:** +49 (0) 00 . 0000 . 000 . 00\n\n **Fax:** +49 (0) 00 . 0000 . 000 . 00\n\n **E-Mail:** [info@musterfirma.de](mailto:info@musterfirma.de)\n\n\n\n**Managing Director:**\n\n- Max Mustermann\n\n\n\n**Registry court:**\n\nMusterstadt 1234567\n\n\n\n**Tax number:**\n\n11/222/33333\n\n\n\n**VAT ID:**\n\nDE1234567890\n\n\n\n**Copyright:**\n\nAll rights reserved. All contents (texts, images, graphics, animations) are protected by copyright. They may not be copied, distributed or modified for commercial purposes without the consent of Musterfirma GmbH.\n\n(Copyright 2023 Musterfirma GmbH)\n\n\n\n**Contents:**\n\nDespite careful editing, Musterfirma GmbH cannot guarantee the correctness and accuracy of the information provided on [www.musterfirma.de](http://www.musterfirma.de). Any liability for damages arising directly or indirectly from the use of [www.musterfirma.de](http://www.musterfirma.de) and which are not based on intent or gross negligence on the part of Musterfirma GmbH is excluded. No liability is accepted for the content of websites linked to [www.musterfirma.de](http://www.musterfirma.de).\n\n\n\n**Data protection:**\n\nMusterfirma GmbH takes the protection of your personal data very seriously. We adhere strictly to the rules of the data protection laws. Personal data is only collected on this website to the extent that is technically necessary. Under no circumstances will the data collected be sold or passed on to third parties for other reasons. You can read our complete privacy policy [here](#).\n\n"
|
120
120
|
},
|
121
121
|
"MyCustomScreen": {
|
122
|
-
"content": "\n\n
|
122
|
+
"content": "\n\n\n\nProject: \n--------\n\nGetting started\n\nSummary:\n--------\nThis is a sample text to help you get started. **Marked** is used to convert your text _from Markdown to HTML_. To learn more about the __*correct syntax*__, please visit this [link](https://marked.js.org/demo/) for a demo.\n \nContent:\n-------\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n \nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.\n \nHow to add lists:\n-----------------\n\n\n\n1. Enumeration, lorem ipsum dolor sit amet.\n2. Enumeration, lorem ipsum dolor sit amet.\n\n\n- Bullet Point 1: Lorem ipsum dolor sit amet.\n- Bullet Point 2: Lorem ipsum dolor sit amet.\n\n\n\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.",
|
123
123
|
"name": "My Custom Screen",
|
124
124
|
"title": "My Custom Screen"
|
125
125
|
}
|
@@ -571,7 +571,8 @@
|
|
571
571
|
"name": "tableAllWithTemplateHeader",
|
572
572
|
"keyMapping": {
|
573
573
|
"roofType": "codeLists.keys.roofType",
|
574
|
-
"function": "codeLists.keys.function"
|
574
|
+
"function": "codeLists.keys.function",
|
575
|
+
"featureId": "Feature ID"
|
575
576
|
},
|
576
577
|
"valueMapping": {
|
577
578
|
"roofType": "codeLists.values.roofType.${value}",
|
@@ -649,7 +650,9 @@
|
|
649
650
|
"name": "Oblique Map",
|
650
651
|
"showObliqueImageName": true,
|
651
652
|
"obliqueImageNameTemplate": "Oblique Image Name : {0}",
|
652
|
-
"type": "ObliqueMap"
|
653
|
+
"type": "ObliqueMap",
|
654
|
+
"maintainViewpointOnCollectionChange": true,
|
655
|
+
"fallbackToCurrentMap": true
|
653
656
|
}
|
654
657
|
],
|
655
658
|
"layers": [
|
@@ -679,7 +682,8 @@
|
|
679
682
|
"screenSpaceError": 16,
|
680
683
|
"screenSpaceErrorMobile": 32,
|
681
684
|
"tilesetOptions": {
|
682
|
-
"skipLevelOfDetail": true
|
685
|
+
"skipLevelOfDetail": true,
|
686
|
+
"enableCollision": true
|
683
687
|
},
|
684
688
|
"exclusiveGroups": ["bldg"],
|
685
689
|
"properties": {
|
@@ -728,8 +732,8 @@
|
|
728
732
|
{
|
729
733
|
"name": "osmBuildingFootprints",
|
730
734
|
"type": "VectorTileLayer",
|
731
|
-
"minLevel":
|
732
|
-
"maxLevel":
|
735
|
+
"minLevel": 18,
|
736
|
+
"maxLevel": 18,
|
733
737
|
"zIndex": 11,
|
734
738
|
"tileProvider": {
|
735
739
|
"baseLevels": [14],
|
@@ -739,10 +743,12 @@
|
|
739
743
|
"url": "https://www.virtualcitymap.de/datasource-data/BerlinFootprintsMVT/{z}/{x}/{y}.pbf"
|
740
744
|
},
|
741
745
|
"activeOnStartup": false,
|
746
|
+
"debug": false,
|
742
747
|
"properties": {
|
743
748
|
"featureInfo": "addressBalloon",
|
744
749
|
"title": "layers.osmBuildingFootprints.title",
|
745
|
-
"tooltip": "OpenStreetMap Building Polygons"
|
750
|
+
"tooltip": "OpenStreetMap Building Polygons",
|
751
|
+
"availableStyles": ["Transparentbuildings"]
|
746
752
|
}
|
747
753
|
},
|
748
754
|
{
|
@@ -1074,7 +1080,12 @@
|
|
1074
1080
|
"name": "reasonableLayerGroup",
|
1075
1081
|
"type": "LayerGroupContentTreeItem",
|
1076
1082
|
"layerNames": ["buildings", "Bäume", "GermanyBaseTerrain.4"],
|
1077
|
-
"title": "Buildings - Trees - Terrain. A Layer Group Item"
|
1083
|
+
"title": "Buildings - Trees - Terrain. A Layer Group Item",
|
1084
|
+
"availableStyles": [
|
1085
|
+
"MeasuredHeightGreen",
|
1086
|
+
"MeasuredHeightBrown",
|
1087
|
+
"MeasuredHeightBlue"
|
1088
|
+
]
|
1078
1089
|
},
|
1079
1090
|
{
|
1080
1091
|
"name": "berlin_obliques",
|
@@ -1111,12 +1122,6 @@
|
|
1111
1122
|
}
|
1112
1123
|
}
|
1113
1124
|
],
|
1114
|
-
"plugins": [
|
1115
|
-
{
|
1116
|
-
"name": "@vcmap-show-case/theme-changer",
|
1117
|
-
"entry": "plugins/@vcmap-show-case/theme-changer/index.js"
|
1118
|
-
}
|
1119
|
-
],
|
1120
1125
|
"plugins2": [
|
1121
1126
|
{
|
1122
1127
|
"name": "@vcmap/create-link",
|