mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-15 21:41:52 +08:00
refactor(editor): move workspace meta to affine (#9524)
This commit is contained in:
@@ -1,3 +1,2 @@
|
||||
export * from './doc/index.js';
|
||||
export * from './meta.js';
|
||||
export * from './workspace.js';
|
||||
|
||||
@@ -54,13 +54,12 @@ export interface WorkspaceMeta {
|
||||
get name(): string | undefined;
|
||||
setName(name: string): void;
|
||||
|
||||
commonFieldsUpdated: Slot;
|
||||
|
||||
hasVersion: boolean;
|
||||
writeVersion(workspace: Workspace): void;
|
||||
get docs(): unknown[] | undefined;
|
||||
initialize(): void;
|
||||
|
||||
commonFieldsUpdated: Slot;
|
||||
docMetaAdded: Slot<string>;
|
||||
docMetaRemoved: Slot<string>;
|
||||
docMetaUpdated: Slot;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
export { createAutoIncrementIdGenerator } from '../utils/id-generator.js';
|
||||
export * from './test-doc.js';
|
||||
export * from './test-meta.js';
|
||||
export * from './test-workspace.js';
|
||||
|
||||
@@ -8,7 +8,7 @@ import type {
|
||||
DocsPropertiesMeta,
|
||||
Workspace,
|
||||
WorkspaceMeta,
|
||||
} from './workspace.js';
|
||||
} from '../store/workspace.js';
|
||||
|
||||
export type DocCollectionMetaState = {
|
||||
pages?: unknown[];
|
||||
@@ -20,7 +20,7 @@ export type DocCollectionMetaState = {
|
||||
avatar?: string;
|
||||
};
|
||||
|
||||
export class DocCollectionMeta implements WorkspaceMeta {
|
||||
export class TestMeta implements WorkspaceMeta {
|
||||
private readonly _handleDocCollectionMetaEvents = (
|
||||
events: Y.YEvent<Y.Array<unknown> | Y.Text | Y.Map<unknown>>[]
|
||||
) => {
|
||||
@@ -20,7 +20,6 @@ import type { Schema } from '../schema/index.js';
|
||||
import {
|
||||
type Blocks,
|
||||
type CreateBlocksOptions,
|
||||
DocCollectionMeta,
|
||||
type GetBlocksOptions,
|
||||
type Workspace,
|
||||
type WorkspaceMeta,
|
||||
@@ -28,6 +27,7 @@ import {
|
||||
import { type IdGenerator, nanoid } from '../utils/id-generator.js';
|
||||
import { AwarenessStore, type RawAwarenessState } from '../yjs/index.js';
|
||||
import { TestDoc } from './test-doc.js';
|
||||
import { TestMeta } from './test-meta.js';
|
||||
|
||||
export type DocCollectionOptions = {
|
||||
schema: Schema;
|
||||
@@ -146,7 +146,7 @@ export class TestWorkspace implements Workspace {
|
||||
|
||||
this.idGenerator = idGenerator ?? nanoid;
|
||||
|
||||
this.meta = new DocCollectionMeta(this.doc);
|
||||
this.meta = new TestMeta(this.doc);
|
||||
this._bindDocMetaEvents();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user