From 4cacc9de6dbd32517f5acc21834bbeedf159708c Mon Sep 17 00:00:00 2001 From: flisowna Date: Thu, 17 Nov 2022 13:26:44 +0300 Subject: [PATCH] geodata: changing primary geodata column on map view --- .../nc-gui/components/smartsheet/Toolbar.vue | 6 +- .../smartsheet/toolbar/MappedBy.vue | 122 ++++++++++++++++++ .../nc-gui/composables/useMapViewDataStore.ts | 11 ++ packages/nc-gui/lang/en.json | 4 + 4 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 packages/nc-gui/components/smartsheet/toolbar/MappedBy.vue diff --git a/packages/nc-gui/components/smartsheet/Toolbar.vue b/packages/nc-gui/components/smartsheet/Toolbar.vue index 18fe0819a7..6c121d054d 100644 --- a/packages/nc-gui/components/smartsheet/Toolbar.vue +++ b/packages/nc-gui/components/smartsheet/Toolbar.vue @@ -18,7 +18,7 @@ const { allowCSVDownload } = useSharedView() style="z-index: 7" > @@ -29,9 +29,11 @@ const { allowCSVDownload } = useSharedView() + + - + diff --git a/packages/nc-gui/components/smartsheet/toolbar/MappedBy.vue b/packages/nc-gui/components/smartsheet/toolbar/MappedBy.vue new file mode 100644 index 0000000000..1d3b206bea --- /dev/null +++ b/packages/nc-gui/components/smartsheet/toolbar/MappedBy.vue @@ -0,0 +1,122 @@ + + + diff --git a/packages/nc-gui/composables/useMapViewDataStore.ts b/packages/nc-gui/composables/useMapViewDataStore.ts index 0731ff1eed..6bbee4dbe9 100644 --- a/packages/nc-gui/composables/useMapViewDataStore.ts +++ b/packages/nc-gui/composables/useMapViewDataStore.ts @@ -14,6 +14,8 @@ const [useProvideMapViewStore, useMapViewStore] = useInjectionState( const { project } = useProject() const { $api } = useNuxtApp() + const { isUIAllowed } = useUIPermission() + const mapMetaData = ref({}) const geoDataFieldColumn = ref() @@ -35,10 +37,19 @@ const [useProvideMapViewStore, useMapViewStore] = useInjectionState( formattedData.value = res.list } + async function updateMapMeta(updateObj: Partial) { + if (!viewMeta?.value?.id || !isUIAllowed('xcDatatableEditable')) return + await $api.dbView.mapUpdate(viewMeta.value.id, { + ...mapMetaData.value, + ...updateObj, + }) + } + return { formattedData, loadMapData, loadMapMeta, + updateMapMeta, mapMetaData, geoDataFieldColumn, } diff --git a/packages/nc-gui/lang/en.json b/packages/nc-gui/lang/en.json index 5b13e5e624..1ddda07fc6 100644 --- a/packages/nc-gui/lang/en.json +++ b/packages/nc-gui/lang/en.json @@ -431,6 +431,10 @@ "stackedBy": "Stacked By", "chooseGroupingField": "Choose a Grouping Field", "addOrEditStack": "Add / Edit Stack" + }, + "map": { + "mappedBy": "Mapped By", + "chooseMappingField": "Choose a Mapping Field" } }, "tooltip": {