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" />