From 63daad202b8c8025608a7eac576f36bfec867e1e Mon Sep 17 00:00:00 2001 From: Pranav C Date: Sun, 2 Jan 2022 17:29:01 +0530 Subject: [PATCH] fix: meta sync filter/sort bug remove filter/sort option if column removed Signed-off-by: Pranav C --- .../nocodb/src/lib/noco/common/BaseApiBuilder.ts | 4 ++++ .../src/lib/noco/common/handlers/xcMetaDiffSync.ts | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/nocodb/src/lib/noco/common/BaseApiBuilder.ts b/packages/nocodb/src/lib/noco/common/BaseApiBuilder.ts index 5c493a1c38..0ce270c981 100644 --- a/packages/nocodb/src/lib/noco/common/BaseApiBuilder.ts +++ b/packages/nocodb/src/lib/noco/common/BaseApiBuilder.ts @@ -3178,6 +3178,10 @@ export default abstract class BaseApiBuilder virtualViewsParamsArr, virtualViews ); + await this.metaQueryParamsUpdate(queryParams, tableName); + } + + private async metaQueryParamsUpdate(queryParams: any, tableName: string) { await this.xcMeta.metaUpdate( this.projectId, this.dbAlias, diff --git a/packages/nocodb/src/lib/noco/common/handlers/xcMetaDiffSync.ts b/packages/nocodb/src/lib/noco/common/handlers/xcMetaDiffSync.ts index 11053165ba..dea9a8c75d 100644 --- a/packages/nocodb/src/lib/noco/common/handlers/xcMetaDiffSync.ts +++ b/packages/nocodb/src/lib/noco/common/handlers/xcMetaDiffSync.ts @@ -180,7 +180,7 @@ export default async function(this: BaseApiBuilder | any) { const oldColumn = oldMeta.columns.find(c => c.cn === change?.cn); const { - // virtualViews, + virtualViews, virtualViewsParamsArr // @ts-ignore } = await this.extractSharedAndVirtualViewsParams(tn); @@ -256,6 +256,14 @@ export default async function(this: BaseApiBuilder | any) { } } + // todo: enable + await this.updateSharedAndVirtualViewsParams( + virtualViewsParamsArr, + virtualViews + ); + + await this.metaQueryParamsUpdate(queryParams, tn); + // Delete lookup columns mapping to current column // update column name in belongs to if (oldMeta.belongsTo?.length) { @@ -354,7 +362,7 @@ export default async function(this: BaseApiBuilder | any) { )?._cn; // virtual views param update - for (const qp of virtualViewsParamsArr) { + for (const qp of [virtualViewsParamsArr]) { // @ts-ignore const { showFields = {},