From 1e1d21a03c61b5fa513b06bba0eaf949bb6f2f21 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Sun, 31 Oct 2021 13:26:30 +0530 Subject: [PATCH] fix: grid view issues - maintain column order after column rename - show column menu in main view and hide from grid view - keep column order from main view for newly created grid view Signed-off-by: Pranav C --- .../spreadsheet/components/editColumn.vue | 2 +- .../components/editVirtualColumn.vue | 2 +- .../spreadsheet/components/headerCell.vue | 2 +- .../components/spreadsheetNavDrawer.vue | 8 +++++ .../components/virtualHeaderCell.vue | 4 +-- .../project/spreadsheet/rowsXcDataTable.vue | 30 ++++++++++++------- .../project/spreadsheet/views/xcGridView.vue | 5 ++-- 7 files changed, 36 insertions(+), 17 deletions(-) diff --git a/packages/nc-gui/components/project/spreadsheet/components/editColumn.vue b/packages/nc-gui/components/project/spreadsheet/components/editColumn.vue index 640b4faa40..496ac6904e 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/editColumn.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/editColumn.vue @@ -567,7 +567,7 @@ export default { await this.$refs.relation.saveRelation() } - this.$emit('saved', this.newColumn._cn) + this.$emit('saved', this.newColumn._cn, this.editColumn ? this.meta.columns[this.columnIndex]._cn : null) } catch (e) { console.log(e) } diff --git a/packages/nc-gui/components/project/spreadsheet/components/editVirtualColumn.vue b/packages/nc-gui/components/project/spreadsheet/components/editVirtualColumn.vue index fa1dc5bec4..fc5f4f4fa7 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/editVirtualColumn.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/editVirtualColumn.vue @@ -106,7 +106,7 @@ export default { console.log(e) this.$toast.error('Failed to update column alias').goAway(3000) } - this.$emit('saved', this.newColumn._cn) + this.$emit('saved', this.newColumn._cn, this.column._cn) this.$emit('input', false) }, diff --git a/packages/nc-gui/components/project/spreadsheet/components/headerCell.vue b/packages/nc-gui/components/project/spreadsheet/components/headerCell.vue index 408fc76684..2b0eb40521 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/headerCell.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/headerCell.vue @@ -98,7 +98,7 @@ :column="column" :column-index="columnIndex" @onRelationDelete="$emit('onRelationDelete')" - @saved="$emit('saved')" + @saved="(_cn,_cno) => $emit('saved',_cn,_cno)" @close="editColumnMenu = false" /> diff --git a/packages/nc-gui/components/project/spreadsheet/components/spreadsheetNavDrawer.vue b/packages/nc-gui/components/project/spreadsheet/components/spreadsheetNavDrawer.vue index b1c5608eea..31c78e1391 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/spreadsheetNavDrawer.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/spreadsheetNavDrawer.vue @@ -623,6 +623,14 @@ export default { this.$store.commit('windows/MutMiniSponsorCard', Date.now()) }, openCreateViewDlg(type) { + const mainView = this.viewsList.find(v => v.type === 'table' || v.type === 'view') + try { + this.copyViewRef = this.copyViewRef || { + query_params: JSON.stringify({ + fieldsOrder: JSON.parse(mainView.query_params).fieldsOrder + }) + } + } catch {} this.createViewType = type this.showCreateView = true }, diff --git a/packages/nc-gui/components/project/spreadsheet/components/virtualHeaderCell.vue b/packages/nc-gui/components/project/spreadsheet/components/virtualHeaderCell.vue index e8b856a8cf..fd85ad175c 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/virtualHeaderCell.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/virtualHeaderCell.vue @@ -46,7 +46,7 @@ ({ columnDeleteDialog: false, editColumnMenu: false, diff --git a/packages/nc-gui/components/project/spreadsheet/rowsXcDataTable.vue b/packages/nc-gui/components/project/spreadsheet/rowsXcDataTable.vue index d760716938..d9699da03c 100644 --- a/packages/nc-gui/components/project/spreadsheet/rowsXcDataTable.vue +++ b/packages/nc-gui/components/project/spreadsheet/rowsXcDataTable.vue @@ -223,10 +223,10 @@ :style="{height:isForm ? '100%' : 'calc(100% - 36px)'}" style="overflow: auto;width:100%" > - +