diff --git a/client/web/compose/src/components/ModuleFields/Editor/Geometry.vue b/client/web/compose/src/components/ModuleFields/Editor/Geometry.vue
index 46316a6d1..9108f1c57 100644
--- a/client/web/compose/src/components/ModuleFields/Editor/Geometry.vue
+++ b/client/web/compose/src/components/ModuleFields/Editor/Geometry.vue
@@ -33,27 +33,25 @@
-
-
-
-
-
+
+
+
(v || {}).coordinates).map(v => JSON.stringify(v)) : JSON.stringify(value)
},
},
+
'field.isMulti': {
immediate: true,
handler () {
@@ -274,7 +273,7 @@ export default {
methods: {
openMap (index) {
- this.map.value = this.localValue
+ this.map.value = [...this.localValue]
this.localValueIndex = index
const firstCoordinates = (index >= 0 ? this.localValue[index] : this.localValue) || {}
diff --git a/client/web/compose/src/components/ModuleFields/Editor/multi.vue b/client/web/compose/src/components/ModuleFields/Editor/multi.vue
index 48922cbf0..030b72b63 100644
--- a/client/web/compose/src/components/ModuleFields/Editor/multi.vue
+++ b/client/web/compose/src/components/ModuleFields/Editor/multi.vue
@@ -20,7 +20,7 @@
diff --git a/client/web/compose/src/components/ModuleFields/Viewer/Geometry.vue b/client/web/compose/src/components/ModuleFields/Viewer/Geometry.vue
index 98a52b1ec..c50f3cd78 100644
--- a/client/web/compose/src/components/ModuleFields/Viewer/Geometry.vue
+++ b/client/web/compose/src/components/ModuleFields/Viewer/Geometry.vue
@@ -6,13 +6,10 @@
:class="{ 'd-block': field.options.multiDelimiter === '\n' }"
>
{{ c.value[0] }}, {{ c.value[1] }}
-
{{ index !== localValue.length - 1 ? field.options.multiDelimiter : '' }}
diff --git a/client/web/compose/src/components/PageBlocks/GeometryBase.vue b/client/web/compose/src/components/PageBlocks/GeometryBase.vue
index 3f397466a..76352c361 100644
--- a/client/web/compose/src/components/PageBlocks/GeometryBase.vue
+++ b/client/web/compose/src/components/PageBlocks/GeometryBase.vue
@@ -234,7 +234,7 @@ export default {
moduleID: record.moduleID,
})
}
- }).filter(g => g)
+ }).filter(g => g && g.length)
})
})
})).finally(() => {
diff --git a/lib/vue/src/components/map/CMap.vue b/lib/vue/src/components/map/CMap.vue
index cea21dd25..89d89e449 100644
--- a/lib/vue/src/components/map/CMap.vue
+++ b/lib/vue/src/components/map/CMap.vue
@@ -52,7 +52,7 @@
v-for="(geometry, i) in polygons"
:key="`polygon-${i}`"
:lat-lngs="geometry.map(value => value.geometry)"
- :color="geometry[0].color"
+ :color="(geometry.find(g => g) || {}).color"
/>