@vcmap/ui 5.0.0-rc.6 → 5.0.0-rc.9
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 +72 -22
- package/build/build.js +0 -3
- package/build/buildHelpers.js +0 -1
- package/build/commonViteConfig.js +1 -1
- package/config/aerowest.config.json +2 -1
- package/config/base.config.json +7 -7
- package/config/dev.config.json +4 -4
- package/dist/assets/cesium/Workers/{AttributeCompression-27507afe.js → AttributeCompression-80665726.js} +1 -1
- package/dist/assets/cesium/Workers/{AxisAlignedBoundingBox-7565c1e8.js → AxisAlignedBoundingBox-a655a4bc.js} +1 -1
- package/dist/assets/cesium/Workers/{BoundingRectangle-9d707275.js → BoundingRectangle-c3b79029.js} +1 -1
- package/dist/assets/cesium/Workers/{BoxGeometry-fb31d3b5.js → BoxGeometry-f8f9c981.js} +1 -1
- package/dist/assets/cesium/Workers/{Color-56bb5728.js → Color-de06a177.js} +1 -1
- package/dist/assets/cesium/Workers/{CoplanarPolygonGeometryLibrary-72143c19.js → CoplanarPolygonGeometryLibrary-48cdc26d.js} +1 -1
- package/dist/assets/cesium/Workers/{CorridorGeometryLibrary-7bae1712.js → CorridorGeometryLibrary-ddc027d3.js} +1 -1
- package/dist/assets/cesium/Workers/{CylinderGeometry-331891fe.js → CylinderGeometry-82a8cbe6.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipseGeometry-5e3f67b6.js → EllipseGeometry-32d55454.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipseGeometryLibrary-dbc15162.js → EllipseGeometryLibrary-b2ae188a.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipseOutlineGeometry-21191fce.js → EllipseOutlineGeometry-f05a5a27.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipsoidGeodesic-cc3bace8.js → EllipsoidGeodesic-19e75e11.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipsoidGeometry-8bfa24a9.js → EllipsoidGeometry-7c99fc81.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipsoidOutlineGeometry-48d9c023.js → EllipsoidOutlineGeometry-21c243df.js} +1 -1
- package/dist/assets/cesium/Workers/{EllipsoidRhumbLine-125a8b72.js → EllipsoidRhumbLine-6145377b.js} +1 -1
- package/dist/assets/cesium/Workers/EllipsoidTangentPlane-a01286f6.js +1 -0
- package/dist/assets/cesium/Workers/{EncodedCartesian3-96fdc0ef.js → EncodedCartesian3-d9f5c4a4.js} +1 -1
- package/dist/assets/cesium/Workers/{FrustumGeometry-9ab86004.js → FrustumGeometry-17776af8.js} +1 -1
- package/dist/assets/cesium/Workers/GeometryAttribute-89a520b9.js +1 -0
- package/dist/assets/cesium/Workers/{GeometryInstance-13e4ff38.js → GeometryInstance-4fbf16ba.js} +1 -1
- package/dist/assets/cesium/Workers/{GeometryPipeline-e0eb4567.js → GeometryPipeline-309fad76.js} +1 -1
- package/dist/assets/cesium/Workers/IntersectionTests-58aa8f80.js +1 -0
- package/dist/assets/cesium/Workers/{Matrix2-37e55508.js → Matrix2-47e98d76.js} +0 -0
- package/dist/assets/cesium/Workers/{OrientedBoundingBox-e9c07538.js → OrientedBoundingBox-fcb5b750.js} +1 -1
- package/dist/assets/cesium/Workers/{Plane-6ee42cab.js → Plane-3f01019d.js} +1 -1
- package/dist/assets/cesium/Workers/{PolygonGeometryLibrary-b408c688.js → PolygonGeometryLibrary-0b29eb16.js} +1 -1
- package/dist/assets/cesium/Workers/{PolygonPipeline-7b8e4643.js → PolygonPipeline-a934c4dd.js} +1 -1
- package/dist/assets/cesium/Workers/{PolylinePipeline-6757400c.js → PolylinePipeline-8095c9bc.js} +1 -1
- package/dist/assets/cesium/Workers/{PolylineVolumeGeometryLibrary-eb972210.js → PolylineVolumeGeometryLibrary-67d12fff.js} +1 -1
- package/dist/assets/cesium/Workers/{PrimitivePipeline-f244975e.js → PrimitivePipeline-980e44c5.js} +1 -1
- package/dist/assets/cesium/Workers/{RectangleGeometryLibrary-1bd6152a.js → RectangleGeometryLibrary-621c6de8.js} +1 -1
- package/dist/assets/cesium/Workers/{TerrainEncoding-5a21a97f.js → TerrainEncoding-f96552d5.js} +1 -1
- package/dist/assets/cesium/Workers/{Transforms-eb5c1a84.js → Transforms-c8cb8f43.js} +3 -3
- package/dist/assets/cesium/Workers/{WallGeometryLibrary-a6b6a368.js → WallGeometryLibrary-c03d8479.js} +1 -1
- package/dist/assets/cesium/Workers/{WebMercatorProjection-2839e524.js → WebMercatorProjection-79b3214e.js} +1 -1
- 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 +1 -1
- package/dist/assets/cesium/Workers/createCircleGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +1 -1
- 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 +1 -1
- package/dist/assets/cesium/Workers/createGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createSphereGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +1 -1
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +1 -1
- 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 +1 -1
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
- package/dist/assets/cesium/Workers/createWallGeometry.js +1 -1
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +1 -1
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +1 -1
- package/dist/assets/{cesium.fba8ca.js → cesium.4e40f4.js} +955 -968
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/core.edcf5e.js +4 -0
- package/dist/assets/core.js +1 -1
- package/dist/assets/{index.6a83278e.js → index.889d0f3a.js} +1 -1
- package/dist/assets/{ol.abea3a.js → ol.246fd4.js} +0 -0
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui.df4f6d.css +1 -0
- package/dist/assets/ui.df4f6d.js +43 -0
- package/dist/assets/ui.js +1 -1
- package/dist/assets/{vue-composition-api.7051d7.js → vue-composition-api.a520f3.js} +1 -1
- package/dist/assets/vue-composition-api.js +2 -2
- package/dist/assets/{vue.9fd7f6.js → vue.2cee44.js} +0 -0
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify.33dafc.css → vuetify.cc817b.css} +1 -1
- package/dist/assets/{vuetify.33dafc.js → vuetify.cc817b.js} +1 -1
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +1 -1
- package/index.js +96 -6
- package/package.json +3 -4
- package/plugins/@vcmap/pluginExample/index.js +5 -5
- package/plugins/@vcmap/pluginExample/pluginExampleComponent.vue +1 -1
- package/plugins/@vcmap/project-selector/ContextsListComponent.vue +1 -1
- package/plugins/@vcmap/project-selector/index.js +5 -5
- package/plugins/@vcmap/project-selector/package.json +1 -2
- package/plugins/@vcmap/theme-changer/index.js +6 -6
- package/plugins/buttonExamples/ButtonExamples.vue +1 -1
- package/plugins/buttonExamples/index.js +5 -4
- package/plugins/categoryTest/Categories.vue +1 -1
- package/plugins/categoryTest/Category.vue +1 -1
- package/plugins/categoryTest/index.js +5 -5
- package/plugins/example/index.js +33 -14
- package/plugins/test/allIconsComponent.vue +34 -0
- package/plugins/test/editor.vue +1 -1
- package/plugins/test/index.js +40 -17
- package/plugins/test/toolbox-data.js +106 -26
- package/plugins/test/windowManagerExample.vue +1 -2
- package/src/actions/actionHelper.js +41 -1
- package/src/actions/styleSelector.vue +1 -1
- package/src/application/Navbar.vue +47 -6
- package/src/application/VcsApp.vue +37 -29
- package/src/application/VcsMap.vue +1 -20
- package/src/assets/logo-mobile.svg +9 -0
- package/src/assets/logo.svg +23 -23
- package/src/components/buttons/VcsActionButtonList.vue +99 -0
- package/src/components/buttons/VcsButton.vue +201 -0
- package/src/components/form-inputs-controls/VcsCheckbox.vue +73 -0
- package/src/components/form-inputs-controls/VcsColorPicker.vue +81 -0
- package/src/components/form-inputs-controls/VcsFormSection.vue +46 -0
- package/src/components/form-inputs-controls/VcsLabel.vue +38 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +97 -0
- package/src/components/form-inputs-controls/VcsTextArea.vue +130 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +129 -0
- package/src/components/form-output/VcsFormattedNumber.vue +103 -0
- package/src/components/lists/VcsActionList.vue +100 -0
- package/src/components/lists/VcsTreeview.vue +109 -0
- package/src/components/lists/VcsTreeviewLeaf.vue +105 -0
- package/src/components/lists/VcsTreeviewSearchbar.vue +156 -0
- package/src/components/notification/VcsBadge.vue +27 -0
- package/src/components/notification/VcsTooltip.vue +154 -0
- package/src/components/notification/validation.js +19 -0
- package/src/contentTree/LayerTree.vue +1 -1
- package/src/contentTree/contentTreeCollection.js +6 -2
- package/src/icons/+all.js +359 -0
- package/src/icons/2DAreaIcon.vue +21 -0
- package/src/icons/2DDistanceIcon.vue +18 -0
- package/src/icons/3DAreaIcon.vue +21 -0
- package/src/icons/3DDistanceIcon.vue +18 -0
- package/src/icons/3DHeightIcon.vue +18 -0
- package/src/icons/AngleIcon.vue +8 -0
- package/src/icons/AssociationsIcon.vue +34 -0
- package/src/icons/AxisIcon.vue +10 -0
- package/src/icons/BoundingBoxIcon.vue +15 -0
- package/src/icons/CheckboxCheckedIcon.vue +16 -0
- package/src/icons/CheckboxIcon.vue +23 -0
- package/src/icons/CheckboxIndeterminateIcon.vue +24 -0
- package/src/icons/CircleIcon.vue +10 -0
- package/src/icons/ColorSwatchIcon.vue +17 -0
- package/src/icons/CommentIcon.vue +19 -0
- package/src/icons/CompassIcon.vue +8 -0
- package/src/icons/ComponentsIcon.vue +7 -0
- package/src/icons/ConeIcon.vue +11 -0
- package/src/icons/DimensionsHouseIcon.vue +14 -0
- package/src/icons/ElevationProfileIcon.vue +111 -0
- package/src/icons/ExportAreaIcon.vue +7 -0
- package/src/icons/ExportFlightIcon.vue +7 -0
- package/src/icons/ExportIcon.vue +8 -0
- package/src/icons/ExternalLinkIcon.vue +10 -0
- package/src/icons/EyeIcon.vue +7 -0
- package/src/icons/FastForwardIcon.vue +7 -0
- package/src/icons/FilterIcon.vue +8 -0
- package/src/icons/GlobeNatureIcon.vue +14 -0
- package/src/icons/HealthCareIndustriesIcon.vue +118 -0
- package/src/icons/HelpIcon.vue +7 -0
- package/src/icons/HomePointIcon.vue +8 -0
- package/src/icons/HospitalsIcon.vue +237 -0
- package/src/icons/HouseIcon.vue +25 -0
- package/src/icons/ImportIcon.vue +8 -0
- package/src/icons/InfoIcon.vue +10 -0
- package/src/icons/KebabIcon.vue +36 -0
- package/src/icons/LabelIcon.vue +7 -0
- package/src/icons/LayersIcon.vue +26 -0
- package/src/icons/LegendIcon.vue +65 -0
- package/src/icons/LineIcon.vue +7 -0
- package/src/icons/LinkIcon.vue +7 -0
- package/src/icons/MapIcon.vue +8 -0
- package/src/icons/MenuIcon.vue +34 -0
- package/src/icons/MinusIcon.vue +8 -0
- package/src/icons/ObjectAttributeIcon.vue +18 -0
- package/src/icons/ObjectSelectIcon.vue +8 -0
- package/src/icons/ObliqueViewIcon.vue +13 -0
- package/src/icons/PdfIcon.vue +10 -0
- package/src/icons/PedestrianIcon.vue +8 -0
- package/src/icons/PenIcon.vue +14 -0
- package/src/icons/PlayCircleIcon.vue +10 -0
- package/src/icons/PlusIcon.vue +9 -0
- package/src/icons/PoiIcon.vue +7 -0
- package/src/icons/PointSelectIcon.vue +7 -0
- package/src/icons/PolygonIcon.vue +38 -0
- package/src/icons/PresentationModeIcon.vue +7 -0
- package/src/icons/ProgressIcon.vue +24 -0
- package/src/icons/QueryIcon.vue +15 -0
- package/src/icons/RectangleIcon.vue +9 -0
- package/src/icons/ReturnIcon.vue +7 -0
- package/src/icons/RewindIcon.vue +6 -0
- package/src/icons/SearchIcon.vue +8 -0
- package/src/icons/ShadowIcon.vue +9 -0
- package/src/icons/ShapesIcon.vue +28 -0
- package/src/icons/ShareIcon.vue +22 -0
- package/src/icons/SimpleCircleFilledIcon.vue +15 -0
- package/src/icons/SimpleCircleHalfFilledIcon.vue +12 -0
- package/src/icons/SimpleCircleOutlinedIcon.vue +15 -0
- package/src/icons/SkipNextIcon.vue +7 -0
- package/src/icons/SkipPreviousIcon.vue +9 -0
- package/src/icons/SplitViewIcon.vue +19 -0
- package/src/icons/TextStyleIcon.vue +14 -0
- package/src/icons/ThreeDimensionsIcon.vue +7 -0
- package/src/icons/ToolsIcon.vue +35 -0
- package/src/icons/TouchIcon.vue +8 -0
- package/src/icons/TrashCanIcon.vue +7 -0
- package/src/icons/TriangleIcon.vue +15 -0
- package/src/icons/TwoDimensionsIcon.vue +8 -0
- package/src/icons/UploadIcon.vue +14 -0
- package/src/icons/VideoRecorderIcon.vue +14 -0
- package/src/icons/WalkingIcon.vue +7 -0
- package/src/icons/WallIcon.vue +14 -0
- package/src/manager/buttonManager.js +5 -52
- package/src/manager/navbarManager.js +81 -0
- package/src/manager/toolbox/ToolboxGroupComponent.vue +128 -0
- package/src/manager/toolbox/ToolboxManager.vue +119 -76
- package/src/manager/toolbox/toolboxManager.js +204 -0
- package/src/manager/window/WindowComponent.vue +27 -20
- package/src/manager/window/WindowComponentHeader.vue +13 -6
- package/src/manager/window/WindowManager.vue +18 -1
- package/src/manager/window/windowManager.js +3 -5
- package/src/navigation/mapNavigation.vue +34 -5
- package/src/navigation/orientationToolsButton.vue +1 -1
- package/src/navigation/overviewMap.js +616 -0
- package/src/navigation/overviewMapClickedInteraction.js +38 -0
- package/src/navigation/tiltSlider.vue +1 -1
- package/src/styles/_theming.scss +10 -0
- package/src/styles/main.scss +3 -0
- package/src/styles/variables.scss +70 -0
- package/src/styles/vcsFont.scss +5 -0
- package/src/styles/vcsGrid.scss +4 -0
- package/src/vcsUiApp.js +18 -3
- package/src/vuePlugins/vuetify.js +1 -1
- package/dist/assets/cesium/Workers/EllipsoidTangentPlane-678e34e4.js +0 -1
- package/dist/assets/cesium/Workers/GeometryAttribute-3915ea0b.js +0 -1
- package/dist/assets/cesium/Workers/IntersectionTests-ac2459de.js +0 -1
- package/dist/assets/core.d5ed0f.js +0 -4
- package/dist/assets/ui.ad1ec9.css +0 -1
- package/dist/assets/ui.ad1ec9.js +0 -39
- package/dist/assets/uicomponents.161461.css +0 -1
- package/dist/assets/uicomponents.161461.js +0 -31
- package/dist/assets/uicomponents.js +0 -1
- package/lib/uicomponents.js +0 -1
- package/src/manager/toolbox/ToolboxMultiSelectButton.vue +0 -96
- package/src/manager/toolbox/ToolboxSingleSelectButton.vue +0 -98
- package/src/manager/toolbox/toolbox-manager.js +0 -203
@@ -1,49 +1,129 @@
|
|
1
|
+
// eslint-disable-next-line import/prefer-default-export
|
1
2
|
export const toolboxData = [
|
2
3
|
[
|
3
4
|
{
|
5
|
+
id: 'select',
|
6
|
+
buttonComponents: [
|
7
|
+
{
|
8
|
+
id: 'select',
|
9
|
+
action: {
|
10
|
+
name: 'select',
|
11
|
+
title: 'select',
|
12
|
+
icon: '$vcsPointSelect',
|
13
|
+
active: false,
|
14
|
+
callback() { this.active = !this.active; },
|
15
|
+
},
|
16
|
+
},
|
17
|
+
],
|
18
|
+
},
|
19
|
+
'@vcmap/test',
|
20
|
+
],
|
21
|
+
[
|
22
|
+
{
|
23
|
+
id: 'multiSelect',
|
4
24
|
icon: '$vcsPen',
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
25
|
+
title: 'multi select',
|
26
|
+
buttonComponents: [
|
27
|
+
{
|
28
|
+
id: 'pen',
|
29
|
+
action: {
|
30
|
+
name: 'pen',
|
31
|
+
title: 'Item 1',
|
32
|
+
icon: '$vcsPen',
|
33
|
+
active: false,
|
34
|
+
callback() { this.active = !this.active; },
|
35
|
+
},
|
36
|
+
},
|
9
37
|
{
|
10
|
-
id: '
|
11
|
-
|
12
|
-
|
13
|
-
|
38
|
+
id: 'object',
|
39
|
+
action: {
|
40
|
+
name: 'object',
|
41
|
+
title: 'Item 2',
|
42
|
+
icon: '$vcsObjectSelect',
|
43
|
+
active: false,
|
44
|
+
callback() { this.active = !this.active; },
|
45
|
+
},
|
14
46
|
},
|
15
|
-
{ id: 'bar', icon: '$vcsObjectSelect', text: 'Item 2' },
|
16
47
|
],
|
17
48
|
},
|
18
|
-
|
49
|
+
'@vcmap/test',
|
19
50
|
],
|
20
51
|
[
|
21
52
|
{
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
{
|
27
|
-
|
53
|
+
id: 'measurement',
|
54
|
+
icon: '$vcsDimensionsHouse',
|
55
|
+
title: 'measurement',
|
56
|
+
buttonComponents: [
|
57
|
+
{
|
58
|
+
id: 'distance',
|
59
|
+
action: {
|
60
|
+
name: 'distance',
|
61
|
+
title: '2D distance',
|
62
|
+
icon: '$vcs2dDistance',
|
63
|
+
active: false,
|
64
|
+
callback() { this.active = !this.active; },
|
65
|
+
},
|
66
|
+
},
|
67
|
+
{
|
68
|
+
id: 'area',
|
69
|
+
action: {
|
70
|
+
name: 'area',
|
71
|
+
title: '2D area',
|
72
|
+
icon: '$vcs2dArea',
|
73
|
+
active: false,
|
74
|
+
callback() { this.active = !this.active; },
|
75
|
+
},
|
76
|
+
},
|
28
77
|
],
|
29
78
|
},
|
30
|
-
|
79
|
+
'@vcmap/test',
|
31
80
|
],
|
32
81
|
[
|
33
82
|
{
|
34
|
-
|
35
|
-
|
36
|
-
|
83
|
+
id: 'toggle',
|
84
|
+
buttonComponents: [
|
85
|
+
{
|
86
|
+
id: 'split',
|
87
|
+
action: {
|
88
|
+
name: 'split',
|
89
|
+
title: 'split view',
|
90
|
+
icon: '$vcsSplitView',
|
91
|
+
active: false,
|
92
|
+
callback() { this.active = !this.active; },
|
93
|
+
},
|
94
|
+
},
|
95
|
+
],
|
37
96
|
},
|
38
|
-
|
97
|
+
'@vcmap/test',
|
39
98
|
],
|
40
99
|
[
|
41
100
|
{
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
101
|
+
id: 'flight',
|
102
|
+
icon: '$vcsVideoRecorder',
|
103
|
+
title: 'flight',
|
104
|
+
buttonComponents: [
|
105
|
+
{
|
106
|
+
id: 'flight',
|
107
|
+
action: {
|
108
|
+
name: 'flight',
|
109
|
+
title: 'add flight',
|
110
|
+
icon: 'mdi-camera-plus',
|
111
|
+
active: false,
|
112
|
+
callback() { this.active = !this.active; },
|
113
|
+
},
|
114
|
+
},
|
115
|
+
{
|
116
|
+
id: 'export',
|
117
|
+
action: {
|
118
|
+
name: 'export',
|
119
|
+
title: 'export flight',
|
120
|
+
icon: '$vcsExportFlight',
|
121
|
+
active: false,
|
122
|
+
callback() { this.active = !this.active; },
|
123
|
+
},
|
124
|
+
},
|
125
|
+
],
|
46
126
|
},
|
47
|
-
|
127
|
+
'@vcmap/test',
|
48
128
|
],
|
49
129
|
];
|
@@ -16,9 +16,8 @@
|
|
16
16
|
<script>
|
17
17
|
import { inject, onUnmounted, ref, computed } from '@vue/composition-api';
|
18
18
|
import { getLogger } from '@vcsuite/logger';
|
19
|
-
import { VcsButton } from '@vcsuite/ui-components';
|
20
19
|
|
21
|
-
import { EmptyCmpt, WindowSlot } from '@vcmap/ui';
|
20
|
+
import { EmptyCmpt, WindowSlot, VcsButton } from '@vcmap/ui';
|
22
21
|
import VcsContent from './vcsContent.vue';
|
23
22
|
import MyCustomHeader from './myCustomHeader.vue';
|
24
23
|
|
@@ -26,9 +26,10 @@ export function createMapButtonAction(actionOptions, mapName, maps) {
|
|
26
26
|
check(mapName, String);
|
27
27
|
check(maps, MapCollection);
|
28
28
|
|
29
|
+
const active = maps.activeMap?.name === mapName;
|
29
30
|
const action = {
|
30
31
|
...actionOptions,
|
31
|
-
active
|
32
|
+
active,
|
32
33
|
callback() {
|
33
34
|
maps.setActiveMap(mapName);
|
34
35
|
},
|
@@ -87,6 +88,45 @@ export function createToggleAction(actionOptions, windowComponent, windowManager
|
|
87
88
|
return { action, destroy };
|
88
89
|
}
|
89
90
|
|
91
|
+
/**
|
92
|
+
* Creates an action which will toggle the overview map (opening & closing the window and activating/ deactivating the overview map).
|
93
|
+
* @param {OverviewMap} overviewMap
|
94
|
+
* @param {WindowComponentOptions} windowComponent
|
95
|
+
* @param {WindowManager} windowManager
|
96
|
+
* @returns {(function(): void)|*}
|
97
|
+
*/
|
98
|
+
export function createOverviewMapAction(overviewMap, windowComponent, windowManager) {
|
99
|
+
const { action, destroy } = createToggleAction(
|
100
|
+
{
|
101
|
+
name: 'overviewMapToggle',
|
102
|
+
icon: '$vcsMap',
|
103
|
+
title: 'Overview Map',
|
104
|
+
},
|
105
|
+
windowComponent,
|
106
|
+
windowManager,
|
107
|
+
vcsAppSymbol,
|
108
|
+
);
|
109
|
+
|
110
|
+
const listeners = [
|
111
|
+
windowManager.added.addEventListener(async ({ id }) => {
|
112
|
+
if (id === windowComponent.id) {
|
113
|
+
await overviewMap.activate();
|
114
|
+
}
|
115
|
+
}),
|
116
|
+
windowManager.removed.addEventListener(({ id }) => {
|
117
|
+
if (id === windowComponent.id) {
|
118
|
+
overviewMap.deactivate();
|
119
|
+
}
|
120
|
+
}),
|
121
|
+
];
|
122
|
+
|
123
|
+
const destroyAction = () => {
|
124
|
+
destroy();
|
125
|
+
listeners.forEach((cb) => { cb(); });
|
126
|
+
};
|
127
|
+
return { action, destroy: destroyAction };
|
128
|
+
}
|
129
|
+
|
90
130
|
/**
|
91
131
|
* Creates a header less window which will close if anything outside of the window is clicked. The window will open
|
92
132
|
* at the clicked position (the actions position) by default, unless the window component already has a position set.
|
@@ -19,8 +19,8 @@
|
|
19
19
|
</template>
|
20
20
|
|
21
21
|
<script>
|
22
|
-
import { VcsSelect } from '@vcsuite/ui-components';
|
23
22
|
import { computed, inject, onUnmounted, ref } from '@vue/composition-api';
|
23
|
+
import VcsSelect from '../components/form-inputs-controls/VcsSelect.vue';
|
24
24
|
|
25
25
|
export default {
|
26
26
|
name: 'StyleSelector',
|
@@ -1,5 +1,13 @@
|
|
1
1
|
<template>
|
2
|
-
<v-app-bar
|
2
|
+
<v-app-bar
|
3
|
+
app
|
4
|
+
absolute
|
5
|
+
dense
|
6
|
+
elevation="0"
|
7
|
+
:height="$vuetify.breakpoint.xs ? '56px' : '48px'"
|
8
|
+
:color="'var(--v-basic-base)'"
|
9
|
+
:bottom="$vuetify.breakpoint.xs ? 'bottom' : undefined"
|
10
|
+
>
|
3
11
|
<v-container fluid class="pa-0">
|
4
12
|
<v-row no-gutters>
|
5
13
|
<v-col>
|
@@ -12,30 +20,34 @@
|
|
12
20
|
/>
|
13
21
|
<v-divider
|
14
22
|
v-if="mapActions.length > 0 && (contentActions.length > 0 || toolActions.length > 0)"
|
23
|
+
class="mx-2"
|
15
24
|
vertical
|
16
25
|
inset
|
17
26
|
/>
|
18
27
|
<VcsActionButtonList
|
19
28
|
:actions="contentActions"
|
29
|
+
:overflow-count="$vuetify.breakpoint.xs ? 2 : 3"
|
20
30
|
large
|
21
31
|
/>
|
22
32
|
<v-divider
|
23
33
|
v-if="contentActions.length > 0 && toolActions.length > 0"
|
34
|
+
class="mx-2"
|
24
35
|
vertical
|
25
36
|
inset
|
26
37
|
/>
|
27
38
|
<VcsActionButtonList
|
28
39
|
:actions="toolActions"
|
40
|
+
v-if="$vuetify.breakpoint.mdAndUp"
|
29
41
|
large
|
30
42
|
/>
|
31
43
|
</div>
|
32
44
|
</v-toolbar-items>
|
33
45
|
</v-col>
|
34
46
|
<v-col class="align-center d-flex justify-center">
|
35
|
-
<div class="company-logo" />
|
47
|
+
<div v-if="$vuetify.breakpoint.mdAndUp" class="company-logo" />
|
36
48
|
</v-col>
|
37
49
|
<v-col class="align-content-end d-flex justify-end">
|
38
|
-
<v-toolbar-items>
|
50
|
+
<v-toolbar-items v-if="$vuetify.breakpoint.mdAndUp">
|
39
51
|
<div class="d-flex align-center">
|
40
52
|
<VcsActionButtonList
|
41
53
|
:actions="projectActions"
|
@@ -45,7 +57,27 @@
|
|
45
57
|
v-if="projectActions.length > 0 && menuActions.length > 0"
|
46
58
|
vertical
|
47
59
|
inset
|
60
|
+
class="mx-2"
|
48
61
|
/>
|
62
|
+
<v-menu
|
63
|
+
offset-y
|
64
|
+
v-if="shareActions.length > 0"
|
65
|
+
>
|
66
|
+
<template #activator="{ on, attrs }">
|
67
|
+
<VcsButton
|
68
|
+
v-bind="attrs"
|
69
|
+
v-on="on"
|
70
|
+
large
|
71
|
+
tooltip="Share current view of the map."
|
72
|
+
icon="$vcsShare"
|
73
|
+
/>
|
74
|
+
</template>
|
75
|
+
<VcsActionList
|
76
|
+
:actions="shareActions"
|
77
|
+
tooltip-position="left"
|
78
|
+
:show-icon="true"
|
79
|
+
/>
|
80
|
+
</v-menu>
|
49
81
|
<VcsActionButtonList
|
50
82
|
:actions="menuActions"
|
51
83
|
:overflow-count="3"
|
@@ -59,15 +91,23 @@
|
|
59
91
|
</v-app-bar>
|
60
92
|
</template>
|
61
93
|
|
94
|
+
<style lang="scss" scoped>
|
95
|
+
.v-toolbar__items > div{
|
96
|
+
gap: 8px;
|
97
|
+
}
|
98
|
+
</style>
|
99
|
+
|
62
100
|
<script>
|
63
101
|
|
64
|
-
import { VcsActionButtonList } from '@vcsuite/ui-components';
|
65
102
|
import { inject, ref, computed } from '@vue/composition-api';
|
66
|
-
import { ButtonLocation, getActionsByLocation } from '../manager/
|
103
|
+
import { ButtonLocation, getActionsByLocation } from '../manager/navbarManager.js';
|
104
|
+
import VcsActionButtonList from '../components/buttons/VcsActionButtonList.vue';
|
105
|
+
import VcsActionList from '../components/lists/VcsActionList.vue';
|
106
|
+
import VcsButton from '../components/buttons/VcsButton.vue';
|
67
107
|
|
68
108
|
export default {
|
69
109
|
name: 'VcsNavbar',
|
70
|
-
components: { VcsActionButtonList },
|
110
|
+
components: { VcsActionButtonList, VcsActionList, VcsButton },
|
71
111
|
setup() {
|
72
112
|
const app = inject('vcsApp');
|
73
113
|
|
@@ -82,6 +122,7 @@
|
|
82
122
|
contentActions: getActions(ButtonLocation.CONTENT),
|
83
123
|
toolActions: getActions(ButtonLocation.TOOL),
|
84
124
|
projectActions: getActions(ButtonLocation.PROJECT),
|
125
|
+
shareActions: getActions(ButtonLocation.SHARE),
|
85
126
|
menuActions: getActions(ButtonLocation.MENU),
|
86
127
|
};
|
87
128
|
},
|
@@ -1,19 +1,19 @@
|
|
1
1
|
<template>
|
2
2
|
<v-app class="h-full" absolute>
|
3
3
|
<Navbar />
|
4
|
-
<v-main fill-height absolute>
|
4
|
+
<v-main class="fill-height absolute">
|
5
|
+
<div v-if="$vuetify.breakpoint.smAndDown" class="company-logo-mobile" />
|
5
6
|
<VcsMap :map-id="mapId" />
|
6
7
|
<MapNavigation />
|
7
|
-
<ToolboxManagerComponent
|
8
|
+
<ToolboxManagerComponent />
|
8
9
|
<WindowManagerComponent />
|
9
10
|
</v-main>
|
10
|
-
<v-footer app absolute>
|
11
|
+
<v-footer app absolute v-if="$vuetify.breakpoint.mdAndUp">
|
11
12
|
footer
|
12
13
|
</v-footer>
|
13
14
|
</v-app>
|
14
15
|
</template>
|
15
16
|
|
16
|
-
|
17
17
|
<style scoped lang="scss">
|
18
18
|
::v-deep .v-application--wrap {
|
19
19
|
min-height: fit-content;
|
@@ -30,7 +30,7 @@
|
|
30
30
|
import { getVcsAppById } from '@vcmap/core';
|
31
31
|
import WindowManagerComponent from '../manager/window/WindowManager.vue';
|
32
32
|
import ToolboxManagerComponent from '../manager/toolbox/ToolboxManager.vue';
|
33
|
-
import { ButtonLocation } from '../manager/
|
33
|
+
import { ButtonLocation } from '../manager/navbarManager.js';
|
34
34
|
import { vcsAppSymbol } from '../pluginHelper.js';
|
35
35
|
import VcsMap from './VcsMap.vue';
|
36
36
|
import Navbar from './Navbar.vue';
|
@@ -53,6 +53,7 @@
|
|
53
53
|
},
|
54
54
|
setup(props) {
|
55
55
|
const id = uuid();
|
56
|
+
const mapId = `mapCollection-${id}`;
|
56
57
|
const app = getVcsAppById(props.appId);
|
57
58
|
provide('vcsApp', app);
|
58
59
|
|
@@ -63,31 +64,36 @@
|
|
63
64
|
};
|
64
65
|
|
65
66
|
const mapButtonActionDestroy = {};
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
name,
|
74
|
-
icon: iconMap[className],
|
75
|
-
title: `Activate ${ name}`,
|
76
|
-
},
|
67
|
+
|
68
|
+
const setupMap = ({ className, name }) => {
|
69
|
+
if (mapButtonActionDestroy[name]) {
|
70
|
+
mapButtonActionDestroy[name]();
|
71
|
+
}
|
72
|
+
const { action, destroy } = createMapButtonAction(
|
73
|
+
{
|
77
74
|
name,
|
78
|
-
|
79
|
-
|
80
|
-
|
75
|
+
icon: iconMap[className],
|
76
|
+
title: `Activate ${ name}`,
|
77
|
+
},
|
78
|
+
name,
|
79
|
+
app.maps,
|
80
|
+
);
|
81
|
+
app.navbarManager.add(
|
82
|
+
{
|
81
83
|
id: `mapButton-${name}`,
|
82
|
-
location: ButtonLocation.MAP,
|
83
84
|
action,
|
84
|
-
},
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
85
|
+
},
|
86
|
+
vcsAppSymbol,
|
87
|
+
ButtonLocation.MAP,
|
88
|
+
);
|
89
|
+
mapButtonActionDestroy[name] = () => {
|
90
|
+
app.navbarManager.remove(`mapButton-${name}`);
|
91
|
+
destroy();
|
92
|
+
};
|
93
|
+
};
|
94
|
+
|
95
|
+
[...app.maps].forEach(setupMap);
|
96
|
+
const mapAddedDestroy = app.maps.added.addEventListener(setupMap);
|
91
97
|
|
92
98
|
const mapRemovedDestroy = app.maps.removed.addEventListener(({ name }) => {
|
93
99
|
if (mapButtonActionDestroy[name]) {
|
@@ -100,12 +106,14 @@
|
|
100
106
|
const pluginRemoved = app.plugins.removed.addEventListener(async (plugin) => {
|
101
107
|
app.windowManager.removeOwner(plugin.name);
|
102
108
|
app.navbarManager.removeOwner(plugin.name);
|
109
|
+
app.toolboxManager.removeOwner(plugin.name);
|
103
110
|
});
|
104
111
|
|
105
112
|
onMounted(() => {
|
106
113
|
pluginAdded = app.plugins.added.addEventListener((plugin) => {
|
107
114
|
app.windowManager.removeOwner(plugin.name);
|
108
115
|
app.navbarManager.removeOwner(plugin.name);
|
116
|
+
app.toolboxManager.removeOwner(plugin.name);
|
109
117
|
if (plugin.onVcsAppMounted) {
|
110
118
|
plugin.onVcsAppMounted(app);
|
111
119
|
}
|
@@ -115,6 +123,7 @@
|
|
115
123
|
plugin.onVcsAppMounted(app);
|
116
124
|
}
|
117
125
|
});
|
126
|
+
app.maps.setTarget(mapId);
|
118
127
|
});
|
119
128
|
|
120
129
|
onUnmounted(() => {
|
@@ -134,8 +143,7 @@
|
|
134
143
|
});
|
135
144
|
|
136
145
|
return {
|
137
|
-
mapId
|
138
|
-
toolboxManagerVisible: app.toolboxManager.state.visible,
|
146
|
+
mapId,
|
139
147
|
};
|
140
148
|
},
|
141
149
|
provide() {
|
@@ -25,33 +25,14 @@
|
|
25
25
|
</style>
|
26
26
|
|
27
27
|
<script >
|
28
|
-
import { inject, onMounted, isReactive } from '@vue/composition-api';
|
29
|
-
import { getLogger as getLoggerByName } from '@vcsuite/logger';
|
30
|
-
|
31
|
-
/**
|
32
|
-
* @returns {Logger}
|
33
|
-
*/
|
34
|
-
function getLogger() {
|
35
|
-
return getLoggerByName('VcsMap');
|
36
|
-
}
|
37
|
-
|
38
28
|
|
39
29
|
export default {
|
30
|
+
name: 'VcsMap',
|
40
31
|
props: {
|
41
32
|
mapId: {
|
42
33
|
type: String,
|
43
34
|
required: true,
|
44
35
|
},
|
45
36
|
},
|
46
|
-
setup(props) {
|
47
|
-
const app = inject('vcsApp');
|
48
|
-
|
49
|
-
onMounted(async () => {
|
50
|
-
app.maps.setTarget(props.mapId);
|
51
|
-
if (isReactive(app.maps.activeMap)) {
|
52
|
-
getLogger().error('Map is reactive, PLEASE FIX');
|
53
|
-
}
|
54
|
-
});
|
55
|
-
},
|
56
37
|
};
|
57
38
|
</script>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<svg id="VCS_Logo_Color_Mobile" data-name="VCS Logo Color Mobile" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 39">
|
2
|
+
<path d="M65.15,6.98l-12.49,12.52L36.06,2.85c-.55-.55-1.29-.86-2.06-.85h29.09c.77,0,1.51,.31,2.06,.85,1.12,1.12,1.14,2.95,.03,4.09l-.03,.03Zm-12.49,12.52l-16.6,16.65c-1.14,1.14-2.97,1.14-4.11,0-.55-.54-.85-1.29-.85-2.06V4.92c0-.78,.31-1.52,.85-2.06,1.14-1.14,2.97-1.14,4.11,0l16.6,16.65ZM31.09,4.92v29.16c0,.78,.31,1.52,.85,2.06L2.85,6.98c-1.12-1.12-1.14-2.95-.03-4.09l.03-.03c.55-.55,1.29-.86,2.06-.85h29.09c-.77,0-1.51,.31-2.06,.85-.55,.54-.86,1.29-.86,2.06Zm34.06,31.23c-.55,.55-1.29,.86-2.06,.85h-29.09c.77,0,1.51-.31,2.06-.85l16.6-16.64,12.49,12.52c1.12,1.12,1.14,2.95,.03,4.09l-.03,.03Z" style="fill: #fff; isolation: isolate; opacity: .9; stroke: #fff; stroke-miterlimit: 10; stroke-width: 4px;"/>
|
3
|
+
<g>
|
4
|
+
<path id="Path_274" d="M64.99,7.19l-12.43,12.31L36.05,3.14c-.54-.54-1.28-.84-2.05-.84h28.94c.77,0,1.5,.3,2.05,.84,1.12,1.1,1.13,2.9,.03,4.02l-.03,.03Z" style="fill: #86b110; isolation: isolate; opacity: .9;"/>
|
5
|
+
<path id="Path_273" d="M52.56,19.5l-16.52,16.36c-1.13,1.12-2.96,1.12-4.09,0-.54-.54-.85-1.27-.85-2.03V5.17c0-.76,.31-1.49,.85-2.03,1.13-1.12,2.96-1.12,4.09,0l16.52,16.36Z" style="fill: #005434; isolation: isolate; opacity: .9;"/>
|
6
|
+
<path id="Path_272" d="M31.1,5.17v28.66c0,.76,.31,1.49,.85,2.03L3.01,7.19c-1.12-1.1-1.13-2.9-.03-4.02l.03-.03c.55-.54,1.28-.84,2.05-.84h28.94c-.77,0-1.5,.3-2.05,.84-.54,.53-.85,1.26-.85,2.03Z" style="fill: #409d76; isolation: isolate; opacity: .9;"/>
|
7
|
+
<path id="Path_271" d="M64.99,35.86c-.54,.54-1.28,.84-2.05,.84h-28.94c.77,0,1.5-.3,2.05-.84l16.52-16.36,12.43,12.31c1.12,1.1,1.13,2.9,.03,4.02l-.03,.03Z" style="fill: #00a0ba; isolation: isolate; opacity: .9;"/>
|
8
|
+
</g>
|
9
|
+
</svg>
|
package/src/assets/logo.svg
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
<svg xmlns="http://www.w3.org/2000/svg" width="151" height="35.585" viewBox="0 0 151 35.585">
|
2
|
-
<g id="VCS_Logo_Color"
|
3
|
-
<path id="Path_271"
|
4
|
-
<path id="Path_272"
|
5
|
-
<path id="Path_273"
|
6
|
-
<path id="Path_274"
|
7
|
-
<path id="Path_275"
|
8
|
-
<path id="Path_276"
|
9
|
-
<path id="Path_277"
|
10
|
-
<path id="Path_278"
|
11
|
-
<path id="Path_279"
|
12
|
-
<path id="Path_280"
|
13
|
-
<path id="Rectangle_510"
|
14
|
-
<path id="Path_281"
|
15
|
-
<path id="Path_282"
|
16
|
-
<path id="Path_283"
|
17
|
-
<path id="Path_284"
|
18
|
-
<path id="Path_285"
|
19
|
-
<path id="Path_286"
|
20
|
-
<path id="Path_287"
|
21
|
-
<path id="Path_288"
|
22
|
-
<path id="Path_289"
|
23
|
-
<path id="Path_290"
|
24
|
-
<path id="Path_291"
|
2
|
+
<g id="VCS_Logo_Color" transform="translate(0)">
|
3
|
+
<path id="Path_271" d="M245.674,76.716a3,3,0,0,1-2.116.868H213.62a3,3,0,0,0,2.116-.868l17.085-16.924,12.853,12.731A2.943,2.943,0,0,1,245.674,76.716Z" transform="translate(-180.688 -42)" fill="#00a0ba"/>
|
4
|
+
<path id="Path_272" d="M199.938,38.964V68.618a2.944,2.944,0,0,0,.878,2.1L170.878,41.061a2.943,2.943,0,0,1,0-4.193A3,3,0,0,1,173,36h29.938a3,3,0,0,0-2.117.868A2.943,2.943,0,0,0,199.938,38.964Z" transform="translate(-170 -36)" fill="#409d76"/>
|
5
|
+
<path id="Path_273" d="M231.848,53.792,214.764,70.717a3.014,3.014,0,0,1-4.233,0,2.948,2.948,0,0,1-.879-2.1V38.964a2.945,2.945,0,0,1,.879-2.1,3.014,3.014,0,0,1,4.233,0Z" transform="translate(-179.715 -36)" fill="#005434"/>
|
6
|
+
<path id="Path_274" d="M245.674,41.061,232.821,53.792,215.736,36.868A3,3,0,0,0,213.62,36h29.938a3.005,3.005,0,0,1,2.116.868A2.943,2.943,0,0,1,245.674,41.061Z" transform="translate(-180.688 -36)" fill="#86b110"/>
|
7
|
+
<path id="Path_275" d="M276.469,43.932c.18,0,.23.049.2.259l-1.849,6.874c-.442,1.7-.573,1.914-2.406,1.914-1.7,0-1.85-.2-2.325-1.914l-1.915-6.874c-.033-.211.032-.259.212-.259H270c.131,0,.147.049.214.259l1.7,6.453c.164.568.213.648.492.648.344,0,.409-.081.556-.648l1.653-6.453c.049-.211.082-.259.213-.259Z" transform="translate(-194.05 -38)" fill="#409d76"/>
|
8
|
+
<path id="Path_276" d="M283.025,42.691a.216.216,0,0,1,.245.243v8.48a.216.216,0,0,1-.245.243h-1.49a.216.216,0,0,1-.245-.243v-8.48a.216.216,0,0,1,.245-.243Zm.442-2.561a1.036,1.036,0,0,1-1.179,1.119,1.121,1.121,0,1,1,0-2.237A1.036,1.036,0,0,1,283.467,40.13Z" transform="translate(-197.219 -36.76)" fill="#409d76"/>
|
9
|
+
<path id="Path_277" d="M291.515,44c.164.049.262.114.262.292v.989c0,.179-.1.259-.278.244h-1.49c-.982,0-1.277.162-1.277.875v6.226a.216.216,0,0,1-.245.243H287a.216.216,0,0,1-.245-.243V45.9c0-1.929,1.555-2.075,2.766-2.075A10.535,10.535,0,0,1,291.515,44Z" transform="translate(-198.604 -37.973)" fill="#409d76"/>
|
10
|
+
<path id="Path_278" d="M295.885,40.611c.18-.049.278.049.278.227v2.27h1.62c.164,0,.262.082.262.243v1.022a.232.232,0,0,1-.262.259h-1.62v4.945c0,.713.213.859,1.015.859h.72c.2,0,.278.064.278.227v1.07a.262.262,0,0,1-.245.292,7.384,7.384,0,0,1-1.162.114c-1.277,0-2.6-.032-2.6-1.978V41.243c0-.162.082-.227.229-.259Z" transform="translate(-200.421 -37.159)" fill="#409d76"/>
|
11
|
+
<path id="Path_279" d="M308.785,43.932a.216.216,0,0,1,.245.243v8.269c0,.211-.082.227-.245.259a19.837,19.837,0,0,1-3.65.276c-3.028,0-3.879-.47-3.879-3.859V44.175c0-.162.115-.243.278-.243h1.474c.164,0,.23.082.23.243v4.589c0,2.4.376,2.513,1.915,2.513h1.882v-7.1a.216.216,0,0,1,.245-.243Z" transform="translate(-202.158 -38)" fill="#409d76"/>
|
12
|
+
<path id="Path_280" d="M316.88,49.077c-.867,0-1.261.276-1.261,1.087,0,.924.442,1.151,1.653,1.151a8.923,8.923,0,0,0,1.866-.178V49.077Zm4.239-2.593v5.642a.411.411,0,0,1-.328.47,15.409,15.409,0,0,1-3.683.357c-2.291,0-3.454-.357-3.454-2.707,0-2.059,1.1-2.578,3.11-2.578h2.374v-.844c0-.908-.541-1.3-1.851-1.3H314.6c-.2,0-.246-.049-.246-.243v-.989c0-.194.066-.227.229-.259a14.739,14.739,0,0,1,2.7-.211C320.17,43.824,321.12,44.732,321.12,46.483Z" transform="translate(-205.195 -37.973)" fill="#409d76"/>
|
13
|
+
<path id="Rectangle_510" d="M.325,0h1.33a.325.325,0,0,1,.325.325V12.078a.325.325,0,0,1-.325.325H.326A.326.326,0,0,1,0,12.077V.325A.325.325,0,0,1,.325,0Z" transform="translate(117.969 2.495)" fill="#409d76"/>
|
14
|
+
<path id="Path_281" d="M342.55,44a.262.262,0,0,1,.245.292v.989c0,.162-.082.243-.262.243h-2.57c-1.752,0-1.98.568-1.98,2.854s.229,2.87,1.98,2.87h2.57c.18,0,.262.081.262.243v.989a.263.263,0,0,1-.245.292,17.086,17.086,0,0,1-2.587.179c-3.323,0-3.977-.909-3.977-4.572s.655-4.556,3.977-4.556A16.987,16.987,0,0,1,342.55,44Z" transform="translate(-210.667 -37.973)" fill="#409d76"/>
|
15
|
+
<path id="Path_282" d="M348.821,42.691a.216.216,0,0,1,.245.243v8.48a.216.216,0,0,1-.245.243h-1.49a.216.216,0,0,1-.245-.243v-8.48a.216.216,0,0,1,.245-.243Zm.442-2.561a1.036,1.036,0,0,1-1.179,1.119,1.121,1.121,0,1,1,0-2.237A1.036,1.036,0,0,1,349.263,40.13Z" transform="translate(-213.338 -36.76)" fill="#409d76"/>
|
16
|
+
<path id="Path_283" d="M354.223,40.611c.18-.049.279.049.279.227v2.27h1.62a.228.228,0,0,1,.261.243v1.022a.232.232,0,0,1-.261.259H354.5v4.945c0,.713.212.859,1.015.859h.72c.2,0,.278.064.278.227v1.07a.262.262,0,0,1-.245.292,7.384,7.384,0,0,1-1.162.114c-1.277,0-2.6-.032-2.6-1.978V41.243c0-.162.082-.227.23-.259Z" transform="translate(-214.714 -37.159)" fill="#409d76"/>
|
17
|
+
<path id="Path_284" d="M367.2,43.932a.217.217,0,0,1,.246.243v8.2c-.017,2.821-.573,3.842-3.9,3.842a17.949,17.949,0,0,1-2.766-.179.236.236,0,0,1-.213-.259v-.956c0-.178.066-.243.229-.243h2.636c1.637,0,2.029-.389,2.029-1.67v-.082a12.48,12.48,0,0,1-2.1.147c-3.028,0-3.8-1.022-3.8-4.3V44.175a.216.216,0,0,1,.245-.243h1.49a.216.216,0,0,1,.245.243v4.232c0,2.318.3,2.854,2.128,2.854a13.514,13.514,0,0,0,1.785-.1V44.175a.216.216,0,0,1,.245-.243Z" transform="translate(-216.445 -38)" fill="#409d76"/>
|
18
|
+
<path id="Path_285" d="M275.307,63.735c.164.032.245.114.245.259v.956c0,.162-.082.243-.261.243h-3.012c-.687,0-1.08.211-1.08.713V66.1c0,.389.212.7.9.956l2.145.778a2.183,2.183,0,0,1,1.669,2.367v.211c0,1.849-1.243,2.27-3.388,2.27-1.423,0-2.652-.1-3.191-.146-.2-.016-.245-.1-.245-.243V71.29c0-.179.066-.259.262-.259h3.175c1.1,0,1.441-.129,1.441-.7v-.162c0-.389-.2-.648-.934-.924l-2.16-.81a2.324,2.324,0,0,1-1.637-2.384v-.324c0-1.767,1.473-2.173,3.519-2.173A16.941,16.941,0,0,1,275.307,63.735Z" transform="translate(-194.276 -42.949)" fill="#005434"/>
|
19
|
+
<path id="Path_286" d="M287.859,63.665a.216.216,0,0,1,.245.243v8.2c-.017,2.821-.573,3.842-3.9,3.842a17.956,17.956,0,0,1-2.766-.179.236.236,0,0,1-.213-.259V74.56c0-.178.066-.243.229-.243h2.636c1.637,0,2.03-.389,2.03-1.67v-.081a12.57,12.57,0,0,1-2.1.146c-3.028,0-3.8-1.022-3.8-4.3V63.908a.216.216,0,0,1,.246-.243h1.49a.216.216,0,0,1,.245.243V68.14c0,2.318.294,2.854,2.128,2.854a13.509,13.509,0,0,0,1.784-.1V63.908a.216.216,0,0,1,.246-.243Z" transform="translate(-197.007 -42.977)" fill="#005434"/>
|
20
|
+
<path id="Path_287" d="M299.154,63.735c.164.032.246.114.246.259v.956c0,.162-.082.243-.262.243h-3.012c-.687,0-1.08.211-1.08.713V66.1c0,.389.213.7.9.956l2.144.778a2.184,2.184,0,0,1,1.67,2.367v.211c0,1.849-1.244,2.27-3.388,2.27-1.424,0-2.652-.1-3.192-.146-.2-.016-.245-.1-.245-.243V71.29c0-.179.065-.259.261-.259h3.176c1.1,0,1.44-.129,1.44-.7v-.162c0-.389-.2-.648-.932-.924l-2.161-.81a2.325,2.325,0,0,1-1.637-2.384v-.324c0-1.767,1.473-2.173,3.519-2.173A16.947,16.947,0,0,1,299.154,63.735Z" transform="translate(-200.119 -42.949)" fill="#005434"/>
|
21
|
+
<path id="Path_288" d="M305.925,60.343c.18-.049.279.049.279.227v2.27h1.621a.229.229,0,0,1,.262.243V64.1a.233.233,0,0,1-.262.259H306.2v4.945c0,.713.213.859,1.015.859h.72c.2,0,.278.064.278.227v1.07a.263.263,0,0,1-.245.292,7.466,7.466,0,0,1-1.163.113c-1.277,0-2.6-.032-2.6-1.978V60.975c0-.162.082-.227.229-.259Z" transform="translate(-202.881 -42.136)" fill="#005434"/>
|
22
|
+
<path id="Path_289" d="M312.99,67.463h3.748c-.016-1.751-.376-2.2-1.833-2.2C313.383,65.259,313.006,65.713,312.99,67.463Zm5.746.487v.487c0,.307-.1.437-.557.437H312.99c.049,1.718.442,2.107,2.029,2.107h2.8a.216.216,0,0,1,.245.243v1.006a.246.246,0,0,1-.23.275,20.493,20.493,0,0,1-2.93.178c-3.191,0-3.912-.907-3.912-4.555,0-3.664.72-4.573,3.912-4.573C317.982,63.556,318.7,64.432,318.736,67.95Z" transform="translate(-204.544 -42.949)" fill="#005434"/>
|
23
|
+
<path id="Path_290" d="M335.8,67.134l-.033,5.221c0,.162-.066.243-.23.243h-1.489c-.164,0-.229-.081-.229-.243v-4.6c0-2.4-.376-2.513-1.8-2.513a10.087,10.087,0,0,0-1.636.129,6.5,6.5,0,0,1,.245,2.027l-.032,4.961c0,.179-.066.244-.213.244h-1.506a.217.217,0,0,1-.246-.244V67.426c0-2.091-.408-2.172-1.8-2.172h-1.391v7.1a.216.216,0,0,1-.246.243H323.7c-.164,0-.23-.081-.245-.243V64.07c0-.194.082-.227.245-.259a16.721,16.721,0,0,1,2.914-.259,7.382,7.382,0,0,1,2.815.486,9.167,9.167,0,0,1,2.75-.5C334.884,63.535,335.817,64.07,335.8,67.134Z" transform="translate(-207.598 -42.943)" fill="#005434"/>
|
24
|
+
<path id="Path_291" d="M348.214,63.735c.164.032.245.114.245.259v.956c0,.162-.082.243-.262.243h-3.012c-.688,0-1.08.211-1.08.713V66.1c0,.389.213.7.9.956l2.143.778a2.184,2.184,0,0,1,1.67,2.367v.211c0,1.849-1.244,2.27-3.388,2.27-1.424,0-2.652-.1-3.192-.146-.2-.016-.245-.1-.245-.243V71.29c0-.179.066-.259.262-.259h3.176c1.1,0,1.44-.129,1.44-.7v-.162c0-.389-.2-.648-.932-.924l-2.161-.81a2.325,2.325,0,0,1-1.637-2.384v-.324c0-1.767,1.473-2.173,3.519-2.173A16.956,16.956,0,0,1,348.214,63.735Z" transform="translate(-212.139 -42.949)" fill="#005434"/>
|
25
25
|
</g>
|
26
26
|
</svg>
|