From 9a16e56ccb6d2bbb216f300ca8e795a7d15bd40c Mon Sep 17 00:00:00 2001 From: Pranav C Date: Wed, 7 Jun 2023 20:27:09 +0530 Subject: [PATCH] fix: ignore view and table for different base Signed-off-by: Pranav C --- packages/nc-gui/components/dashboard/TreeView.vue | 6 ++++++ packages/nc-gui/components/tabs/Smartsheet.vue | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/packages/nc-gui/components/dashboard/TreeView.vue b/packages/nc-gui/components/dashboard/TreeView.vue index aa990f4c6e..f2d44ff167 100644 --- a/packages/nc-gui/components/dashboard/TreeView.vue +++ b/packages/nc-gui/components/dashboard/TreeView.vue @@ -192,6 +192,8 @@ const initSortable = (el: Element) => { JSON.stringify({ id: dragEl.dataset.id, title: dragEl.dataset.title, + type: dragEl.dataset.type, + baseId: dragEl.dataset.baseId, }), ) }, @@ -711,6 +713,8 @@ const duplicateTable = async (table: TableType) => { class="nc-tree-item text-sm cursor-pointer group" :data-order="table.order" :data-id="table.id" + :data-base-id="bases[0].id" + :data-type="table.type" :data-title="table.title" :data-testid="`tree-view-table-${table.title}`" @click="addTableTab(table)" @@ -1037,6 +1041,8 @@ const duplicateTable = async (table: TableType) => { :data-order="table.order" :data-id="table.id" :data-title="table.title" + :data-base-id="base.id" + :data-type="table.type" :data-testid="`tree-view-table-${table.title}`" @click="addTableTab(table)" > diff --git a/packages/nc-gui/components/tabs/Smartsheet.vue b/packages/nc-gui/components/tabs/Smartsheet.vue index 08e0a39381..50166d2e2c 100644 --- a/packages/nc-gui/components/tabs/Smartsheet.vue +++ b/packages/nc-gui/components/tabs/Smartsheet.vue @@ -75,6 +75,12 @@ const onDrop = async (event: DragEvent) => { const data = JSON.parse(event.dataTransfer?.getData('text/json')!) // Do something with the received data + // if dragged item is not from the same base, return + if (data.baseId !== meta.value?.base_id) return + + // if dragged item or opened view is not a table, return + if (data.type !== 'table' || meta.value?.type !== 'table') return + const childMeta = await getMeta(data.id) const parentMeta = metas.value[meta.value.id!]