mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-15 00:56:26 +08:00
feat(editor): scaffolding store and view manager in affine (#11840)
Closes: BS-3254
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
"@blocksuite/affine-block-surface-ref": "workspace:*",
|
||||
"@blocksuite/affine-block-table": "workspace:*",
|
||||
"@blocksuite/affine-components": "workspace:*",
|
||||
"@blocksuite/affine-ext-loader": "workspace:*",
|
||||
"@blocksuite/affine-fragment-doc-title": "workspace:*",
|
||||
"@blocksuite/affine-fragment-frame-panel": "workspace:*",
|
||||
"@blocksuite/affine-fragment-outline": "workspace:*",
|
||||
@@ -71,6 +72,7 @@
|
||||
"exports": {
|
||||
".": "./src/index.ts",
|
||||
"./effects": "./src/effects.ts",
|
||||
"./ext-loader": "./src/ext-loader/index.ts",
|
||||
"./std": "./src/std/index.ts",
|
||||
"./std/gfx": "./src/std/gfx.ts",
|
||||
"./std/inline": "./src/std/inline.ts",
|
||||
@@ -86,12 +88,24 @@
|
||||
"./global/lit": "./src/global/lit.ts",
|
||||
"./store": "./src/store/index.ts",
|
||||
"./store/test": "./src/store/test.ts",
|
||||
"./blocks/attachment": "./src/blocks/attachment.ts",
|
||||
"./blocks/bookmark": "./src/blocks/bookmark.ts",
|
||||
"./blocks/callout": "./src/blocks/callout.ts",
|
||||
"./blocks/code": "./src/blocks/code.ts",
|
||||
"./blocks/data-view": "./src/blocks/data-view.ts",
|
||||
"./blocks/database": "./src/blocks/database.ts",
|
||||
"./blocks/attachment": "./src/blocks/attachment/index.ts",
|
||||
"./blocks/attachment/store": "./src/blocks/attachment/store.ts",
|
||||
"./blocks/attachment/view": "./src/blocks/attachment/view.ts",
|
||||
"./blocks/bookmark": "./src/blocks/bookmark/index.ts",
|
||||
"./blocks/bookmark/store": "./src/blocks/bookmark/store.ts",
|
||||
"./blocks/bookmark/view": "./src/blocks/bookmark/view.ts",
|
||||
"./blocks/callout": "./src/blocks/callout/index.ts",
|
||||
"./blocks/callout/store": "./src/blocks/callout/store.ts",
|
||||
"./blocks/callout/view": "./src/blocks/callout/view.ts",
|
||||
"./blocks/code": "./src/blocks/code/index.ts",
|
||||
"./blocks/code/store": "./src/blocks/code/store.ts",
|
||||
"./blocks/code/view": "./src/blocks/code/view.ts",
|
||||
"./blocks/data-view": "./src/blocks/data-view/index.ts",
|
||||
"./blocks/data-view/store": "./src/blocks/data-view/store.ts",
|
||||
"./blocks/data-view/view": "./src/blocks/data-view/view.ts",
|
||||
"./blocks/database": "./src/blocks/database/index.ts",
|
||||
"./blocks/database/store": "./src/blocks/database/store.ts",
|
||||
"./blocks/database/view": "./src/blocks/database/view.ts",
|
||||
"./blocks/divider": "./src/blocks/divider.ts",
|
||||
"./blocks/edgeless-text": "./src/blocks/edgeless-text.ts",
|
||||
"./blocks/embed": "./src/blocks/embed.ts",
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-attachment/store';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-attachment/view';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-bookmark/store';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-bookmark/view';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-callout/store';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-callout/view';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-code';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-code/store';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-code/view';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-data-view';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-data-view/store';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-data-view/view';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-database';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-database/store';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-block-database/view';
|
||||
@@ -0,0 +1 @@
|
||||
export * from '@blocksuite/affine-ext-loader';
|
||||
@@ -27,6 +27,7 @@
|
||||
{ "path": "../blocks/surface-ref" },
|
||||
{ "path": "../blocks/table" },
|
||||
{ "path": "../components" },
|
||||
{ "path": "../ext-loader" },
|
||||
{ "path": "../fragments/doc-title" },
|
||||
{ "path": "../fragments/frame-panel" },
|
||||
{ "path": "../fragments/outline" },
|
||||
|
||||
@@ -6,7 +6,7 @@ import { AttachmentBlockSchemaExtension } from '@blocksuite/affine-model';
|
||||
|
||||
import { AttachmentBlockNotionHtmlAdapterExtension } from './adapters/notion-html';
|
||||
|
||||
export default class AttachmentStoreExtension extends StoreExtensionProvider {
|
||||
export class AttachmentStoreExtension extends StoreExtensionProvider {
|
||||
override name = 'affine-attachment-block';
|
||||
|
||||
override setup(context: StoreExtensionContext) {
|
||||
|
||||
@@ -18,7 +18,7 @@ import {
|
||||
|
||||
const flavour = AttachmentBlockSchema.model.flavour;
|
||||
|
||||
export default class AttachmentViewExtension extends ViewExtensionProvider {
|
||||
export class AttachmentViewExtension extends ViewExtensionProvider {
|
||||
override name = 'affine-attachment-block';
|
||||
|
||||
override effect() {
|
||||
|
||||
@@ -6,7 +6,7 @@ import { BookmarkBlockSchemaExtension } from '@blocksuite/affine-model';
|
||||
|
||||
import { BookmarkBlockAdapterExtensions } from './adapters/extension';
|
||||
|
||||
export default class BookmarkStoreExtension extends StoreExtensionProvider {
|
||||
export class BookmarkStoreExtension extends StoreExtensionProvider {
|
||||
override name = 'affine-bookmark-block';
|
||||
|
||||
override setup(context: StoreExtensionContext) {
|
||||
|
||||
@@ -12,7 +12,7 @@ import { effects } from './effects';
|
||||
|
||||
const flavour = BookmarkBlockSchema.model.flavour;
|
||||
|
||||
export default class BookmarkViewExtension extends ViewExtensionProvider {
|
||||
export class BookmarkViewExtension extends ViewExtensionProvider {
|
||||
override name = 'affine-bookmark-block';
|
||||
|
||||
override effect() {
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
} from '@blocksuite/affine-ext-loader';
|
||||
import { CalloutBlockSchemaExtension } from '@blocksuite/affine-model';
|
||||
|
||||
export default class CalloutStoreExtension extends StoreExtensionProvider {
|
||||
export class CalloutStoreExtension extends StoreExtensionProvider {
|
||||
override name = 'affine-callout-block';
|
||||
|
||||
override setup(context: StoreExtensionContext) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import { CalloutKeymapExtension } from './callout-keymap';
|
||||
import { calloutSlashMenuConfig } from './configs/slash-menu';
|
||||
import { effects } from './effects';
|
||||
|
||||
export default class CalloutViewExtension extends ViewExtensionProvider {
|
||||
export class CalloutViewExtension extends ViewExtensionProvider {
|
||||
override name = 'affine-callout-block';
|
||||
|
||||
override effect() {
|
||||
|
||||
@@ -6,7 +6,7 @@ import { CodeBlockSchemaExtension } from '@blocksuite/affine-model';
|
||||
|
||||
import { CodeBlockAdapterExtensions } from './adapters/extension';
|
||||
|
||||
export default class CodeStoreExtension extends StoreExtensionProvider {
|
||||
export class CodeStoreExtension extends StoreExtensionProvider {
|
||||
override name = 'affine-code-block';
|
||||
|
||||
override setup(context: StoreExtensionContext) {
|
||||
|
||||
@@ -27,7 +27,7 @@ export const codeToolbarWidget = WidgetViewExtension(
|
||||
literal`${unsafeStatic(AFFINE_CODE_TOOLBAR_WIDGET)}`
|
||||
);
|
||||
|
||||
export default class CodeBlockViewExtension extends ViewExtensionProvider {
|
||||
export class CodeBlockViewExtension extends ViewExtensionProvider {
|
||||
override name = 'affine-code-block';
|
||||
|
||||
override effect() {
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
|
||||
import { DataViewBlockSchemaExtension } from './data-view-model';
|
||||
|
||||
export default class DataViewStoreExtension extends StoreExtensionProvider {
|
||||
export class DataViewStoreExtension extends StoreExtensionProvider {
|
||||
override name = 'affine-data-view-block';
|
||||
|
||||
override setup(context: StoreExtensionContext) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import { effects } from './effects';
|
||||
|
||||
const flavour = DataViewBlockSchema.model.flavour;
|
||||
|
||||
export default class DataViewViewExtension extends ViewExtensionProvider {
|
||||
export class DataViewViewExtension extends ViewExtensionProvider {
|
||||
override name = 'affine-data-view-block';
|
||||
|
||||
override effect() {
|
||||
|
||||
@@ -7,7 +7,7 @@ import { DatabaseBlockSchemaExtension } from '@blocksuite/affine-model';
|
||||
import { DatabaseBlockAdapterExtensions } from './adapters/extension';
|
||||
import { DatabaseSelectionExtension } from './selection';
|
||||
|
||||
export default class DatabaseStoreExtension extends StoreExtensionProvider {
|
||||
export class DatabaseStoreExtension extends StoreExtensionProvider {
|
||||
override name = 'affine-database-block';
|
||||
|
||||
override setup(context: StoreExtensionContext) {
|
||||
|
||||
@@ -9,7 +9,7 @@ import { literal } from 'lit/static-html.js';
|
||||
import { databaseSlashMenuConfig } from './configs/slash-menu.js';
|
||||
import { effects } from './effects';
|
||||
|
||||
export default class DatabaseViewExtension extends ViewExtensionProvider {
|
||||
export class DatabaseViewExtension extends ViewExtensionProvider {
|
||||
override name = 'affine-database-block';
|
||||
|
||||
override effect() {
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import { AttachmentStoreExtension } from '@blocksuite/affine/blocks/attachment/store';
|
||||
import { BookmarkStoreExtension } from '@blocksuite/affine/blocks/bookmark/store';
|
||||
import { CalloutStoreExtension } from '@blocksuite/affine/blocks/callout/store';
|
||||
import { CodeStoreExtension } from '@blocksuite/affine/blocks/code/store';
|
||||
import { DataViewStoreExtension } from '@blocksuite/affine/blocks/data-view/store';
|
||||
import { DatabaseStoreExtension } from '@blocksuite/affine/blocks/database/store';
|
||||
import { StoreExtensionManager } from '@blocksuite/affine/ext-loader';
|
||||
|
||||
export function createStoreManager() {
|
||||
const manager = new StoreExtensionManager([
|
||||
AttachmentStoreExtension,
|
||||
BookmarkStoreExtension,
|
||||
CalloutStoreExtension,
|
||||
CodeStoreExtension,
|
||||
DataViewStoreExtension,
|
||||
DatabaseStoreExtension,
|
||||
]);
|
||||
|
||||
return manager;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import { AttachmentViewExtension } from '@blocksuite/affine/blocks/attachment/view';
|
||||
import { BookmarkViewExtension } from '@blocksuite/affine/blocks/bookmark/view';
|
||||
import { CalloutViewExtension } from '@blocksuite/affine/blocks/callout/view';
|
||||
import { CodeBlockViewExtension } from '@blocksuite/affine/blocks/code/view';
|
||||
import { DataViewViewExtension } from '@blocksuite/affine/blocks/data-view/view';
|
||||
import { DatabaseViewExtension } from '@blocksuite/affine/blocks/database/view';
|
||||
import { ViewExtensionManager } from '@blocksuite/affine/ext-loader';
|
||||
|
||||
export function createViewManager() {
|
||||
const manager = new ViewExtensionManager([
|
||||
AttachmentViewExtension,
|
||||
BookmarkViewExtension,
|
||||
CalloutViewExtension,
|
||||
CodeBlockViewExtension,
|
||||
DataViewViewExtension,
|
||||
DatabaseViewExtension,
|
||||
]);
|
||||
|
||||
return manager;
|
||||
}
|
||||
@@ -25,6 +25,7 @@ export const PackageList = [
|
||||
'blocksuite/affine/blocks/surface-ref',
|
||||
'blocksuite/affine/blocks/table',
|
||||
'blocksuite/affine/components',
|
||||
'blocksuite/affine/ext-loader',
|
||||
'blocksuite/affine/fragments/doc-title',
|
||||
'blocksuite/affine/fragments/frame-panel',
|
||||
'blocksuite/affine/fragments/outline',
|
||||
|
||||
@@ -3840,6 +3840,7 @@ __metadata:
|
||||
"@blocksuite/affine-block-surface-ref": "workspace:*"
|
||||
"@blocksuite/affine-block-table": "workspace:*"
|
||||
"@blocksuite/affine-components": "workspace:*"
|
||||
"@blocksuite/affine-ext-loader": "workspace:*"
|
||||
"@blocksuite/affine-fragment-doc-title": "workspace:*"
|
||||
"@blocksuite/affine-fragment-frame-panel": "workspace:*"
|
||||
"@blocksuite/affine-fragment-outline": "workspace:*"
|
||||
|
||||
Reference in New Issue
Block a user