From a0c2843236442c96cd2ac10cef99a19b6a809c19 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Fri, 24 May 2024 14:28:04 +0200 Subject: [PATCH] Extend view metadata --- packages/server/src/api/controllers/view/viewsV2.ts | 9 +++++---- packages/types/src/documents/app/view.ts | 6 +++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/server/src/api/controllers/view/viewsV2.ts b/packages/server/src/api/controllers/view/viewsV2.ts index eb28883e15..0087d377ad 100644 --- a/packages/server/src/api/controllers/view/viewsV2.ts +++ b/packages/server/src/api/controllers/view/viewsV2.ts @@ -3,7 +3,7 @@ import { CreateViewRequest, Ctx, RequiredKeys, - UIFieldMetadata, + ViewUIFieldMetadata, UpdateViewRequest, ViewResponse, ViewResponseEnriched, @@ -18,20 +18,21 @@ async function parseSchema(view: CreateViewRequest) { const finalViewSchema = view.schema && Object.entries(view.schema).reduce((p, [fieldName, schemaValue]) => { - const fieldSchema: RequiredKeys = { + const fieldSchema: RequiredKeys = { order: schemaValue.order, width: schemaValue.width, visible: schemaValue.visible, + readonly: schemaValue.readonly, icon: schemaValue.icon, } Object.entries(fieldSchema) .filter(([, val]) => val === undefined) .forEach(([key]) => { - delete fieldSchema[key as keyof UIFieldMetadata] + delete fieldSchema[key as keyof ViewUIFieldMetadata] }) p[fieldName] = fieldSchema return p - }, {} as Record>) + }, {} as Record>) for (let [key, column] of Object.entries(finalViewSchema)) { if (!column.visible) { delete finalViewSchema[key] diff --git a/packages/types/src/documents/app/view.ts b/packages/types/src/documents/app/view.ts index 7b93d24f3d..2572ddba5d 100644 --- a/packages/types/src/documents/app/view.ts +++ b/packages/types/src/documents/app/view.ts @@ -33,6 +33,10 @@ export interface View { groupBy?: string } +export type ViewUIFieldMetadata = UIFieldMetadata & { + readonly?: boolean +} + export interface ViewV2 { version: 2 id: string @@ -45,7 +49,7 @@ export interface ViewV2 { order?: SortOrder type?: SortType } - schema?: Record + schema?: Record } export type ViewSchema = ViewCountOrSumSchema | ViewStatisticsSchema