mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-24 18:02:47 +08:00
refactor(core): refactor atom to use di (#5831)
To support multiple instances, this PR removes some atoms and implements them using the new DI system. removed atom - `pageSettingsAtom` - `currentPageIdAtom` - `currentModeAtom`
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
import { WorkspaceFactory, WorkspaceListProvider } from '@toeverything/infra';
|
||||
import type { ServiceCollection } from '@toeverything/infra/di';
|
||||
import type { ServiceCollection } from '@toeverything/infra';
|
||||
import {
|
||||
GlobalState,
|
||||
Workspace,
|
||||
WorkspaceFactory,
|
||||
WorkspaceListProvider,
|
||||
WorkspaceLocalState,
|
||||
WorkspaceScope,
|
||||
} from '@toeverything/infra';
|
||||
|
||||
import { CloudWorkspaceFactory, CloudWorkspaceListProvider } from './cloud';
|
||||
import {
|
||||
@@ -7,6 +14,7 @@ import {
|
||||
LocalWorkspaceFactory,
|
||||
LocalWorkspaceListProvider,
|
||||
} from './local';
|
||||
import { WorkspaceLocalStateImpl } from './local-state';
|
||||
|
||||
export * from './cloud';
|
||||
export * from './local';
|
||||
@@ -16,7 +24,12 @@ export function configureWorkspaceImplServices(services: ServiceCollection) {
|
||||
.addImpl(WorkspaceListProvider('affine-cloud'), CloudWorkspaceListProvider)
|
||||
.addImpl(WorkspaceFactory('affine-cloud'), CloudWorkspaceFactory)
|
||||
.addImpl(WorkspaceListProvider('local'), LocalWorkspaceListProvider)
|
||||
.addImpl(WorkspaceFactory('local'), LocalWorkspaceFactory);
|
||||
.addImpl(WorkspaceFactory('local'), LocalWorkspaceFactory)
|
||||
.scope(WorkspaceScope)
|
||||
.addImpl(WorkspaceLocalState, WorkspaceLocalStateImpl, [
|
||||
Workspace,
|
||||
GlobalState,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user