diff --git a/app/src/protyle/render/av/view.ts b/app/src/protyle/render/av/view.ts index 37e5cf35d..9f37598ba 100644 --- a/app/src/protyle/render/av/view.ts +++ b/app/src/protyle/render/av/view.ts @@ -164,12 +164,7 @@ export const bindViewEvent = (options: { export const getViewHTML = (data: IAV) => { const view = data.view; - let fields: IAVColumn[]; - if (data.viewType === "table") { - fields = (view as IAVTable).columns; - } else if (data.viewType === "gallery") { - fields = (view as IAVGallery).fields; - } + const fields = getFieldsByData(data); return `
diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 61cd61155..d5336c5ad 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -839,12 +839,15 @@ interface IAVView { pageSize: number; showIcon: boolean; wrapField: boolean; + filters: IAVFilter[], + sorts: IAVSort[], + groups: { + field: string, + } } interface IAVTable extends IAVView { columns: IAVColumn[], - filters: IAVFilter[], - sorts: IAVSort[], rows: IAVRow[], rowCount: number, } @@ -858,8 +861,6 @@ interface IAVGallery extends IAVView { cards: IAVGalleryItem[], desc: string fields: IAVColumn[] - filters: IAVFilter[], - sorts: IAVSort[], cardCount: number, }