Skip to content

Commit 946da53

Browse files
committed
refactor(core): refactor useDocMetaHelper with docsService
1 parent f126556 commit 946da53

20 files changed

Lines changed: 112 additions & 137 deletions

File tree

packages/common/infra/src/modules/doc/entities/record.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@ export class DocRecord extends Entity<{ id: string }> {
3939
}
4040

4141
moveToTrash() {
42-
return this.setMeta({ trash: true });
42+
return this.setMeta({ trash: true, trashDate: Date.now() });
4343
}
4444

4545
restoreFromTrash() {
46-
return this.setMeta({ trash: false });
46+
return this.setMeta({ trash: false, trashDate: undefined });
4747
}
4848

4949
title$ = this.meta$.map(meta => meta.title ?? '');

packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { apis } from '@affine/electron-api';
99
import { WorkspaceFlavour } from '@affine/env/workspace';
1010
import { useI18n } from '@affine/i18n';
1111
import {
12-
initEmptyPage,
12+
DocsService,
1313
useLiveData,
1414
useService,
1515
WorkspacesService,
@@ -179,6 +179,7 @@ export const CreateWorkspaceModal = ({
179179
const [step, setStep] = useState<CreateWorkspaceStep>();
180180
const t = useI18n();
181181
const workspacesService = useService(WorkspacesService);
182+
const docsService = useService(DocsService);
182183
const [loading, setLoading] = useState(false);
183184

184185
// TODO(@Peng): maybe refactor using xstate?
@@ -242,17 +243,16 @@ export const CreateWorkspaceModal = ({
242243
async workspace => {
243244
workspace.meta.initialize();
244245
workspace.meta.setName(name);
245-
const page = workspace.createDoc();
246+
const page = docsService.createDoc();
246247
defaultDocId = page.id;
247-
initEmptyPage(page);
248248
}
249249
);
250250
onCreate(id, defaultDocId);
251251
}
252252

253253
setLoading(false);
254254
},
255-
[loading, onCreate, workspacesService]
255+
[docsService, loading, onCreate, workspacesService]
256256
);
257257

258258
const onOpenChange = useCallback(

packages/frontend/core/src/components/affine/page-history-modal/data.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ export const useRestorePage = (
239239
const { trigger: recover, isMutating } = useMutation({
240240
mutation: recoverDocMutation,
241241
});
242-
const { getDocMeta, setDocTitle } = useDocMetaHelper(docCollection);
242+
const { getDocMeta, setDocTitle } = useDocMetaHelper();
243243

244244
const onRestore = useMemo(() => {
245245
return async (version: string, update: Uint8Array) => {

packages/frontend/core/src/components/affine/reference-link/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export function AffinePageReference({
101101
elementIds?: string[];
102102
};
103103
}) {
104-
const pageMetaHelper = useDocMetaHelper(docCollection);
104+
const pageMetaHelper = useDocMetaHelper();
105105
const journalHelper = useJournalHelper(docCollection);
106106
const t = useI18n();
107107

packages/frontend/core/src/components/blocksuite/block-suite-header/menu/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,12 @@ export const PageHeaderMenuButton = ({
8181

8282
const { favorite, toggleFavorite } = useFavorite(pageId);
8383

84-
const { duplicate } = useBlockSuiteMetaHelper(docCollection);
84+
const { duplicate } = useBlockSuiteMetaHelper();
8585
const { importFile } = usePageHelper(docCollection);
86-
const { setTrashModal } = useTrashModalHelper(docCollection);
86+
const { setTrashModal } = useTrashModalHelper();
8787

8888
const [isEditing, setEditing] = useState(!page.readonly);
89-
const { setDocReadonly } = useDocMetaHelper(docCollection);
89+
const { setDocReadonly } = useDocMetaHelper();
9090

9191
const view = useService(ViewService).view;
9292

packages/frontend/core/src/components/blocksuite/block-suite-page-list/utils.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { toast } from '@affine/component';
2-
import { useDocCollectionHelper } from '@affine/core/hooks/use-block-suite-workspace-helper';
32
import { WorkbenchService } from '@affine/core/modules/workbench';
43
import type { DocMode } from '@blocksuite/blocks';
5-
import { DocsService, initEmptyPage, useServices } from '@toeverything/infra';
4+
import { DocsService, useServices } from '@toeverything/infra';
65
import { useCallback, useMemo } from 'react';
76

87
import type { DocCollection } from '../../../shared';
@@ -13,13 +12,11 @@ export const usePageHelper = (docCollection: DocCollection) => {
1312
WorkbenchService,
1413
});
1514
const workbench = workbenchService.workbench;
16-
const { createDoc } = useDocCollectionHelper(docCollection);
1715
const docRecordList = docsService.list;
1816

1917
const createPageAndOpen = useCallback(
2018
(mode?: DocMode, open?: boolean | 'new-tab') => {
21-
const page = createDoc();
22-
initEmptyPage(page);
19+
const page = docsService.createDoc();
2320
if (mode) {
2421
docRecordList.doc$(page.id).value?.setPrimaryMode(mode);
2522
}
@@ -30,7 +27,7 @@ export const usePageHelper = (docCollection: DocCollection) => {
3027
});
3128
return page;
3229
},
33-
[createDoc, docRecordList, workbench]
30+
[docRecordList, docsService, workbench]
3431
);
3532

3633
const createEdgelessAndOpen = useCallback(

packages/frontend/core/src/components/page-list/docs/virtualized-page-list.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ export const VirtualizedPageList = ({
122122
return <PageListHeader />;
123123
}, [collection, currentWorkspace.id, tag]);
124124

125-
const { setTrashModal } = useTrashModalHelper(currentWorkspace.docCollection);
125+
const { setTrashModal } = useTrashModalHelper();
126126

127127
const handleMultiDelete = useCallback(() => {
128128
if (filteredSelectedPageIds.length === 0) {

packages/frontend/core/src/components/page-list/operation-cell.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ export const PageOperationCell = ({
8080
featureFlagService.flags.enable_multi_view.$
8181
);
8282
const currentWorkspace = workspaceService.workspace;
83-
const { setTrashModal } = useTrashModalHelper(currentWorkspace.docCollection);
83+
const { setTrashModal } = useTrashModalHelper();
8484
const favourite = useLiveData(favAdapter.isFavorite$(page.id, 'doc'));
8585
const workbench = workbenchService.workbench;
86-
const { duplicate } = useBlockSuiteMetaHelper(currentWorkspace.docCollection);
86+
const { duplicate } = useBlockSuiteMetaHelper();
8787
const blocksuiteDoc = currentWorkspace.docCollection.getDoc(page.id);
8888

8989
const [openInfoModal, setOpenInfoModal] = useState(false);

packages/frontend/core/src/components/page-list/virtualized-trash-list.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ import { VirtualizedList } from './virtualized-list';
1818
export const VirtualizedTrashList = () => {
1919
const currentWorkspace = useService(WorkspaceService).workspace;
2020
const docCollection = currentWorkspace.docCollection;
21-
const { restoreFromTrash, permanentlyDeletePage } =
22-
useBlockSuiteMetaHelper(docCollection);
21+
const { restoreFromTrash, permanentlyDeletePage } = useBlockSuiteMetaHelper();
2322
const pageMetas = useBlockSuiteDocMeta(docCollection);
2423
const filteredPageMetas = useFilteredPageMetas(pageMetas, {
2524
trash: true,

packages/frontend/core/src/components/pure/trash-page-footer/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const TrashPageFooter = () => {
1919
const t = useI18n();
2020
const { appSettings } = useAppSettingHelper();
2121
const { jumpToSubPath } = useNavigateHelper();
22-
const { restoreFromTrash } = useBlockSuiteMetaHelper(docCollection);
22+
const { restoreFromTrash } = useBlockSuiteMetaHelper();
2323
const [open, setOpen] = useState(false);
2424
const hintText = t['com.affine.cmdk.affine.editor.trash-footer-hint']();
2525

0 commit comments

Comments
 (0)