mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-24 05:07:06 +08:00
@@ -526,17 +526,10 @@ export async function initEmptyDatabaseState(page: Page, rootId?: string) {
|
||||
noteId
|
||||
);
|
||||
const model = doc.getBlockById(databaseId) as DatabaseBlockModel;
|
||||
await new Promise(resolve => setTimeout(resolve, 100));
|
||||
const databaseBlock = document.querySelector('affine-database');
|
||||
const databaseService = databaseBlock?.service;
|
||||
if (databaseService) {
|
||||
databaseService.databaseViewInitEmpty(
|
||||
model,
|
||||
databaseService.viewPresets.tableViewMeta.type
|
||||
);
|
||||
databaseService.applyColumnUpdate(model);
|
||||
}
|
||||
|
||||
const datasource = new window.$blocksuite.blocks.DatabaseBlockDataSource(
|
||||
model
|
||||
);
|
||||
datasource.viewManager.viewAdd('table');
|
||||
doc.captureSync();
|
||||
return { rootId, noteId, databaseId };
|
||||
}, rootId);
|
||||
@@ -570,43 +563,34 @@ export async function initKanbanViewState(
|
||||
noteId
|
||||
);
|
||||
const model = doc.getBlockById(databaseId) as DatabaseBlockModel;
|
||||
await new Promise(resolve => setTimeout(resolve, 100));
|
||||
const databaseBlock = document.querySelector('affine-database');
|
||||
const databaseService = databaseBlock?.service;
|
||||
if (databaseService) {
|
||||
const rowIds = config.rows.map(rowText => {
|
||||
const rowId = doc.addBlock(
|
||||
'affine:paragraph',
|
||||
{ type: 'text', text: new window.$blocksuite.store.Text(rowText) },
|
||||
databaseId
|
||||
);
|
||||
return rowId;
|
||||
});
|
||||
config.columns.forEach(column => {
|
||||
const columnId = databaseService.addColumn(model, 'end', {
|
||||
data: {},
|
||||
name: column.type,
|
||||
type: column.type,
|
||||
});
|
||||
rowIds.forEach((rowId, index) => {
|
||||
const value = column.value?.[index];
|
||||
if (value !== undefined) {
|
||||
databaseService.updateCell(model, rowId, {
|
||||
columnId,
|
||||
value:
|
||||
column.type === 'rich-text'
|
||||
? new window.$blocksuite.store.Text(value as string)
|
||||
: value,
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
databaseService.databaseViewInitEmpty(
|
||||
model,
|
||||
databaseService.viewPresets.kanbanViewMeta.type
|
||||
const datasource = new window.$blocksuite.blocks.DatabaseBlockDataSource(
|
||||
model
|
||||
);
|
||||
const rowIds = config.rows.map(rowText => {
|
||||
const rowId = doc.addBlock(
|
||||
'affine:paragraph',
|
||||
{ type: 'text', text: new window.$blocksuite.store.Text(rowText) },
|
||||
databaseId
|
||||
);
|
||||
databaseService.applyColumnUpdate(model);
|
||||
}
|
||||
return rowId;
|
||||
});
|
||||
config.columns.forEach(column => {
|
||||
const columnId = datasource.propertyAdd('end', column.type);
|
||||
datasource.propertyNameSet(columnId, column.type);
|
||||
rowIds.forEach((rowId, index) => {
|
||||
const value = column.value?.[index];
|
||||
if (value !== undefined) {
|
||||
datasource.cellValueChange(
|
||||
rowId,
|
||||
columnId,
|
||||
column.type === 'rich-text'
|
||||
? new window.$blocksuite.store.Text(value as string)
|
||||
: value
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
datasource.viewManager.viewAdd('kanban');
|
||||
doc.captureSync();
|
||||
return { rootId, noteId, databaseId };
|
||||
},
|
||||
@@ -636,18 +620,11 @@ export async function initEmptyDatabaseWithParagraphState(
|
||||
noteId
|
||||
);
|
||||
const model = doc.getBlockById(databaseId) as DatabaseBlockModel;
|
||||
await new Promise(resolve => setTimeout(resolve, 100));
|
||||
const databaseBlock = document.querySelector('affine-database');
|
||||
const databaseService = databaseBlock?.service;
|
||||
if (databaseService) {
|
||||
databaseService.databaseViewInitEmpty(
|
||||
model,
|
||||
databaseService.viewPresets.tableViewMeta.type
|
||||
);
|
||||
databaseService.applyColumnUpdate(model);
|
||||
}
|
||||
const datasource = new window.$blocksuite.blocks.DatabaseBlockDataSource(
|
||||
model
|
||||
);
|
||||
datasource.viewManager.viewAdd('table');
|
||||
doc.addBlock('affine:paragraph', {}, noteId);
|
||||
|
||||
doc.captureSync();
|
||||
return { rootId, noteId, databaseId };
|
||||
}, rootId);
|
||||
|
||||
@@ -19,26 +19,26 @@ declare global {
|
||||
* the following instance are initialized in `packages/playground/apps/starter/main.ts`
|
||||
*/
|
||||
$blocksuite: {
|
||||
store: typeof import('../../packages/framework/store/src/index.js');
|
||||
blocks: typeof import('../../packages/blocks/src/index.js');
|
||||
store: typeof import('../../framework/store/src/index.js');
|
||||
blocks: typeof import('../../blocks/src/index.js');
|
||||
global: {
|
||||
utils: typeof import('../../packages/framework/global/src/utils.js');
|
||||
utils: typeof import('../../framework/global/src/utils.js');
|
||||
};
|
||||
editor: typeof import('../../packages/presets/src/index.js');
|
||||
editor: typeof import('../../presets/src/index.js');
|
||||
identifiers: {
|
||||
WidgetViewMapIdentifier: typeof WidgetViewMapIdentifier;
|
||||
QuickSearchProvider: typeof import('../../packages/affine/shared/src/services/quick-search-service.js').QuickSearchProvider;
|
||||
DocModeProvider: typeof import('../../packages/affine/shared/src/services/doc-mode-service.js').DocModeProvider;
|
||||
ThemeProvider: typeof import('../../packages/affine/shared/src/services/theme-service.js').ThemeProvider;
|
||||
QuickSearchProvider: typeof import('../../affine/shared/src/services/quick-search-service.js').QuickSearchProvider;
|
||||
DocModeProvider: typeof import('../../affine/shared/src/services/doc-mode-service.js').DocModeProvider;
|
||||
ThemeProvider: typeof import('../../affine/shared/src/services/theme-service.js').ThemeProvider;
|
||||
RefNodeSlotsProvider: typeof RefNodeSlotsProvider;
|
||||
ParseDocUrlService: typeof import('../../packages/affine/shared/src/services/parse-url-service.js').ParseDocUrlProvider;
|
||||
ParseDocUrlService: typeof import('../../affine/shared/src/services/parse-url-service.js').ParseDocUrlProvider;
|
||||
};
|
||||
defaultExtensions: () => ExtensionType[];
|
||||
extensions: {
|
||||
WidgetViewMapExtension: typeof import('../../packages/framework/block-std/src/extension/widget-view-map.js').WidgetViewMapExtension;
|
||||
WidgetViewMapExtension: typeof import('../../framework/block-std/src/extension/widget-view-map.js').WidgetViewMapExtension;
|
||||
};
|
||||
mockServices: {
|
||||
mockDocModeService: typeof import('../../packages/playground/apps/_common/mock-services.js').mockDocModeService;
|
||||
mockDocModeService: typeof import('../../playground/apps/_common/mock-services.js').mockDocModeService;
|
||||
};
|
||||
};
|
||||
collection: Workspace;
|
||||
|
||||
Reference in New Issue
Block a user