mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-12 15:46:29 +08:00
31 lines
813 B
TypeScript
31 lines
813 B
TypeScript
import type { Text } from '@blocksuite/store';
|
|
import { BlockModel, defineBlockSchema } from '@blocksuite/store';
|
|
|
|
import type { Column, SerializedCells, ViewBasicDataType } from './types.js';
|
|
|
|
export type DatabaseBlockProps = {
|
|
views: ViewBasicDataType[];
|
|
title: Text;
|
|
cells: SerializedCells;
|
|
columns: Array<Column>;
|
|
};
|
|
|
|
export class DatabaseBlockModel extends BlockModel<DatabaseBlockProps> {}
|
|
|
|
export const DatabaseBlockSchema = defineBlockSchema({
|
|
flavour: 'affine:database',
|
|
props: (internal): DatabaseBlockProps => ({
|
|
views: [],
|
|
title: internal.Text(),
|
|
cells: Object.create(null),
|
|
columns: [],
|
|
}),
|
|
metadata: {
|
|
role: 'hub',
|
|
version: 3,
|
|
parent: ['affine:note'],
|
|
children: ['affine:paragraph', 'affine:list'],
|
|
},
|
|
toModel: () => new DatabaseBlockModel(),
|
|
});
|