From faaaff3a9082c378167bd65b06928569c7f49135 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Fri, 27 Oct 2023 23:31:14 +0530 Subject: [PATCH] feat: use nested insert for row insert Signed-off-by: Pranav C --- packages/nc-gui/components/smartsheet/Row.vue | 12 +++++------ .../smartsheet/expanded-form/index.vue | 6 +++--- .../components/smartsheet/grid/Table.vue | 2 ++ packages/nc-gui/composables/useData.ts | 2 +- .../composables/useExpandedFormStore.ts | 2 +- packages/nocodb/src/db/BaseModelSqlv2.ts | 21 +++++++++---------- 6 files changed, 23 insertions(+), 22 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/Row.vue b/packages/nc-gui/components/smartsheet/Row.vue index 39f313c052..5a305bdc02 100644 --- a/packages/nc-gui/components/smartsheet/Row.vue +++ b/packages/nc-gui/components/smartsheet/Row.vue @@ -26,12 +26,12 @@ const { isNew, state, syncLTARRefs, clearLTARCell, addLTARRef } = useProvideSmar // on changing isNew(new record insert) status sync LTAR cell values watch(isNew, async (nextVal, prevVal) => { - if (prevVal && !nextVal) { - await syncLTARRefs(currentRow.value.row) - // update row values without invoking api - currentRow.value.row = { ...currentRow.value.row, ...state.value } - currentRow.value.oldRow = { ...currentRow.value.row, ...state.value } - } + // if (prevVal && !nextVal) { + // await syncLTARRefs(currentRow.value.row) + // // update row values without invoking api + // currentRow.value.row = { ...currentRow.value.row, ...state.value } + // currentRow.value.oldRow = { ...currentRow.value.row, ...state.value } + // } }) const reloadViewDataTrigger = inject(ReloadViewDataHookInj)! diff --git a/packages/nc-gui/components/smartsheet/expanded-form/index.vue b/packages/nc-gui/components/smartsheet/expanded-form/index.vue index ae8c2dd4c5..0cc191d6a3 100644 --- a/packages/nc-gui/components/smartsheet/expanded-form/index.vue +++ b/packages/nc-gui/components/smartsheet/expanded-form/index.vue @@ -185,7 +185,7 @@ const onDuplicateRow = () => { const save = async () => { if (isNew.value) { const data = await _save(rowState.value) - await syncLTARRefs(data) + // await syncLTARRefs(data) reloadTrigger?.trigger() } else { let kanbanClbk @@ -341,7 +341,7 @@ useActiveKeyupListener( if (isNew.value) { const data = await _save(rowState.value) - await syncLTARRefs(data) + // await syncLTARRefs(data) reloadHook?.trigger(null) } else { await save() @@ -376,7 +376,7 @@ useActiveKeyupListener( cancelText: t('labels.discard'), onOk: async () => { const data = await _save(rowState.value) - await syncLTARRefs(data) + // await syncLTARRefs(data) reloadHook?.trigger(null) addNewRow() }, diff --git a/packages/nc-gui/components/smartsheet/grid/Table.vue b/packages/nc-gui/components/smartsheet/grid/Table.vue index e9aeb6e1b2..427232fb22 100644 --- a/packages/nc-gui/components/smartsheet/grid/Table.vue +++ b/packages/nc-gui/components/smartsheet/grid/Table.vue @@ -1454,6 +1454,8 @@ const loaderText = computed(() => { :style="{ height: rowHeight ? `${rowHeight * 1.8}rem` : `1.8rem` }" :data-testid="`grid-row-${rowIndex}`" > + {{ +row.row}} f())); - const response = this.readByPk(rowId, + response = this.readByPk( + rowId, false, {}, { ignoreView: true, getHiddenColumn: true }, - ); + ); await this.afterInsert(response, this.dbDriver, cookie);