mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 13:25:12 +00:00
chore: bump bs (#8071)
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import { type EditorHost, WithDisposable } from '@blocksuite/block-std';
|
||||
import {
|
||||
type AIItemGroupConfig,
|
||||
DocMode,
|
||||
EdgelessRootService,
|
||||
scrollbarStyle,
|
||||
} from '@blocksuite/blocks';
|
||||
@@ -64,7 +63,7 @@ export class AskAIPanel extends WithDisposable(LitElement) {
|
||||
item.showWhen
|
||||
? item.showWhen(
|
||||
this.host.command.chain(),
|
||||
this._edgeless ? DocMode.Edgeless : DocMode.Page,
|
||||
this._edgeless ? 'edgeless' : 'page',
|
||||
this.host
|
||||
)
|
||||
: true
|
||||
|
||||
@@ -2,7 +2,7 @@ import { DebugLogger } from '@affine/debug';
|
||||
import { DEFAULT_WORKSPACE_NAME } from '@affine/env/constant';
|
||||
import { WorkspaceFlavour } from '@affine/env/workspace';
|
||||
import onboardingUrl from '@affine/templates/onboarding.zip';
|
||||
import { DocMode, ZipTransformer } from '@blocksuite/blocks';
|
||||
import { ZipTransformer } from '@blocksuite/blocks';
|
||||
import type { WorkspacesService } from '@toeverything/infra';
|
||||
import { DocsService, initEmptyPage } from '@toeverything/infra';
|
||||
|
||||
@@ -31,7 +31,7 @@ export async function buildShowcaseWorkspace(
|
||||
);
|
||||
|
||||
if (defaultDoc) {
|
||||
defaultDoc.setPrimaryMode(DocMode.Edgeless);
|
||||
defaultDoc.setPrimaryMode('edgeless');
|
||||
}
|
||||
|
||||
dispose();
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
import { WorkbenchLink } from '@affine/core/modules/workbench';
|
||||
import { useI18n } from '@affine/i18n';
|
||||
import type { BlockStdScope } from '@blocksuite/block-std';
|
||||
import { DocMode } from '@blocksuite/blocks';
|
||||
import type { DocMode } from '@blocksuite/blocks';
|
||||
import {
|
||||
BlockLinkIcon,
|
||||
DeleteIcon,
|
||||
@@ -57,7 +57,7 @@ export function pageReferenceRenderer({
|
||||
let Icon = DeleteIcon;
|
||||
|
||||
if (referencedPage) {
|
||||
if (docMode === DocMode.Edgeless) {
|
||||
if (docMode === 'edgeless') {
|
||||
Icon = LinkedEdgelessIcon;
|
||||
} else {
|
||||
Icon = LinkedPageIcon;
|
||||
@@ -88,7 +88,7 @@ export function AffinePageReference({
|
||||
pageId,
|
||||
docCollection,
|
||||
wrapper: Wrapper,
|
||||
mode = DocMode.Page,
|
||||
mode = 'page',
|
||||
params = {},
|
||||
isSameDoc = false,
|
||||
std,
|
||||
@@ -133,7 +133,7 @@ export function AffinePageReference({
|
||||
|
||||
useEffect(() => {
|
||||
if (isSameDoc) {
|
||||
if (mode === DocMode.Edgeless && elementIds?.length) {
|
||||
if (mode === 'edgeless' && elementIds?.length) {
|
||||
setAnchor({ mode, id: elementIds[0] });
|
||||
} else if (blockIds?.length) {
|
||||
setAnchor({ mode, id: blockIds[0] });
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { BlockStdScope } from '@blocksuite/block-std';
|
||||
import {
|
||||
import type {
|
||||
DocMode,
|
||||
type EdgelessRootService,
|
||||
type PageRootService,
|
||||
EdgelessRootService,
|
||||
PageRootService,
|
||||
} from '@blocksuite/blocks';
|
||||
import { Bound, deserializeXYWH } from '@blocksuite/global/utils';
|
||||
|
||||
@@ -71,7 +71,7 @@ function scrollAnchoringInEdgelessMode(
|
||||
|
||||
function scrollAnchoringInPageMode(service: PageRootService, id: string) {
|
||||
const blockComponent = service.std.view.getBlock(id);
|
||||
if (!blockComponent || !blockComponent.path.length) return;
|
||||
if (!blockComponent) return;
|
||||
|
||||
blockComponent.scrollIntoView({
|
||||
behavior: 'instant',
|
||||
@@ -92,7 +92,7 @@ function scrollAnchoringInPageMode(service: PageRootService, id: string) {
|
||||
|
||||
// TODO(@fundon): it should be a command
|
||||
export function scrollAnchoring(std: BlockStdScope, mode: DocMode, id: string) {
|
||||
if (mode === DocMode.Edgeless) {
|
||||
if (mode === 'edgeless') {
|
||||
const service = std.getService<EdgelessRootService>('affine:page');
|
||||
if (!service) return;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { EditorSelector } from '@affine/core/modules/editor';
|
||||
import type { ReferenceInfo } from '@blocksuite/affine-model';
|
||||
import { DocMode } from '@blocksuite/blocks';
|
||||
import type { DocMode } from '@blocksuite/blocks';
|
||||
import type { InlineEditor } from '@blocksuite/inline/inline-editor';
|
||||
import type {
|
||||
AffineEditorContainer,
|
||||
@@ -68,10 +68,7 @@ export const BlocksuiteEditorContainer = forwardRef<
|
||||
const docTitleRef = useRef<DocTitle>(null);
|
||||
const edgelessRef = useRef<EdgelessEditor>(null);
|
||||
const [anchor] = useState<string | null>(() => {
|
||||
if (
|
||||
mode === DocMode.Edgeless &&
|
||||
defaultEditorSelector?.elementIds?.length
|
||||
) {
|
||||
if (mode === 'edgeless' && defaultEditorSelector?.elementIds?.length) {
|
||||
return defaultEditorSelector.elementIds[0];
|
||||
} else if (defaultEditorSelector?.blockIds?.length) {
|
||||
return defaultEditorSelector.blockIds[0];
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
import { useJournalInfoHelper } from '@affine/core/hooks/use-journal';
|
||||
import { EditorSettingService } from '@affine/core/modules/editor-settting';
|
||||
import { PeekViewService } from '@affine/core/modules/peek-view';
|
||||
import { DocMode } from '@blocksuite/blocks';
|
||||
import type { DocMode } from '@blocksuite/blocks';
|
||||
import { DocTitle, EdgelessEditor, PageEditor } from '@blocksuite/presets';
|
||||
import type { Doc } from '@blocksuite/store';
|
||||
import {
|
||||
@@ -186,7 +186,7 @@ export const BlocksuiteDocEditor = forwardRef<
|
||||
[externalTitleRef]
|
||||
);
|
||||
|
||||
const [specs, portals] = usePatchSpecs(page, !!shared, DocMode.Page);
|
||||
const [specs, portals] = usePatchSpecs(page, !!shared, 'page');
|
||||
|
||||
const settings = useLiveData(editorSettingService.editorSetting.settings$);
|
||||
|
||||
@@ -219,7 +219,7 @@ export const BlocksuiteEdgelessEditor = forwardRef<
|
||||
EdgelessEditor,
|
||||
BlocksuiteEditorProps
|
||||
>(function BlocksuiteEdgelessEditor({ page, shared }, ref) {
|
||||
const [specs, portals] = usePatchSpecs(page, !!shared, DocMode.Edgeless);
|
||||
const [specs, portals] = usePatchSpecs(page, !!shared, 'edgeless');
|
||||
const editorRef = useRef<EdgelessEditor | null>(null);
|
||||
|
||||
const onDocRef = useCallback(
|
||||
|
||||
@@ -30,16 +30,17 @@ import { BlockServiceWatcher } from '@blocksuite/block-std';
|
||||
import type {
|
||||
AffineReference,
|
||||
DatabaseBlockService,
|
||||
DocMode,
|
||||
ListBlockService,
|
||||
ParagraphBlockService,
|
||||
RootService,
|
||||
} from '@blocksuite/blocks';
|
||||
import {
|
||||
AffineSlashMenuWidget,
|
||||
DocMode,
|
||||
DocModeProvider,
|
||||
EdgelessRootBlockComponent,
|
||||
EmbedLinkedDocBlockComponent,
|
||||
QuickSearchProvider,
|
||||
} from '@blocksuite/blocks';
|
||||
import { LinkIcon } from '@blocksuite/icons/rc';
|
||||
import { AIChatBlockSchema } from '@blocksuite/presets';
|
||||
@@ -281,10 +282,9 @@ export function patchDocModeService(
|
||||
}
|
||||
|
||||
export function patchQuickSearchService(framework: FrameworkProvider) {
|
||||
return patchSpecService<RootService>(
|
||||
'affine:page',
|
||||
pageService => {
|
||||
pageService.quickSearchService = {
|
||||
const QuickSearchExtension: ExtensionType = {
|
||||
setup: di => {
|
||||
di.addImpl(QuickSearchProvider, () => ({
|
||||
async searchDoc(options) {
|
||||
let searchResult:
|
||||
| { docId: string; isNewDoc?: boolean }
|
||||
@@ -366,8 +366,8 @@ export function patchQuickSearchService(framework: FrameworkProvider) {
|
||||
const docsService = framework.get(DocsService);
|
||||
const mode =
|
||||
result.id === 'creation:create-edgeless'
|
||||
? DocMode.Edgeless
|
||||
: DocMode.Page;
|
||||
? 'edgeless'
|
||||
: 'page';
|
||||
const newDoc = docsService.createDoc({
|
||||
primaryMode: mode,
|
||||
title: result.payload.title,
|
||||
@@ -393,8 +393,12 @@ export function patchQuickSearchService(framework: FrameworkProvider) {
|
||||
|
||||
return searchResult;
|
||||
},
|
||||
};
|
||||
}));
|
||||
},
|
||||
};
|
||||
const SlashMenuQuickSearchExtension = patchSpecService<RootService>(
|
||||
'affine:page',
|
||||
() => {},
|
||||
(component: WidgetComponent) => {
|
||||
if (component instanceof AffineSlashMenuWidget) {
|
||||
component.config.items.forEach(item => {
|
||||
@@ -405,7 +409,8 @@ export function patchQuickSearchService(framework: FrameworkProvider) {
|
||||
const oldAction = item.action;
|
||||
item.action = async ({ model, rootComponent }) => {
|
||||
const { host, service, std } = rootComponent;
|
||||
const { quickSearchService } = service;
|
||||
const quickSearchService =
|
||||
component.std.getOptional(QuickSearchProvider);
|
||||
|
||||
if (!quickSearchService)
|
||||
return oldAction({ model, rootComponent });
|
||||
@@ -447,6 +452,7 @@ export function patchQuickSearchService(framework: FrameworkProvider) {
|
||||
}
|
||||
}
|
||||
);
|
||||
return [QuickSearchExtension, SlashMenuQuickSearchExtension];
|
||||
}
|
||||
|
||||
export function patchEdgelessClipboard() {
|
||||
|
||||
@@ -3,7 +3,7 @@ import { registerAffineCommand } from '@affine/core/commands';
|
||||
import { track } from '@affine/core/mixpanel';
|
||||
import { EditorService } from '@affine/core/modules/editor';
|
||||
import { useI18n } from '@affine/i18n';
|
||||
import { DocMode } from '@blocksuite/blocks';
|
||||
import type { DocMode } from '@blocksuite/blocks';
|
||||
import { EdgelessIcon, PageIcon } from '@blocksuite/icons/rc';
|
||||
import { useLiveData, useService } from '@toeverything/infra';
|
||||
import { useCallback, useEffect, useMemo } from 'react';
|
||||
@@ -39,16 +39,16 @@ export const EditorModeSwitch = () => {
|
||||
|
||||
const togglePage = useCallback(() => {
|
||||
if (currentMode === 'page' || isSharedMode || trash) return;
|
||||
editor.setMode(DocMode.Page);
|
||||
editor.doc.setPrimaryMode(DocMode.Page);
|
||||
editor.setMode('page');
|
||||
editor.doc.setPrimaryMode('page');
|
||||
toast(t['com.affine.toastMessage.pageMode']());
|
||||
track.$.header.actions.switchPageMode({ mode: 'page' });
|
||||
}, [currentMode, editor, isSharedMode, t, trash]);
|
||||
|
||||
const toggleEdgeless = useCallback(() => {
|
||||
if (currentMode === 'edgeless' || isSharedMode || trash) return;
|
||||
editor.setMode(DocMode.Edgeless);
|
||||
editor.doc.setPrimaryMode(DocMode.Edgeless);
|
||||
editor.setMode('edgeless');
|
||||
editor.doc.setPrimaryMode('edgeless');
|
||||
toast(t['com.affine.toastMessage.edgelessMode']());
|
||||
track.$.header.actions.switchPageMode({ mode: 'edgeless' });
|
||||
}, [currentMode, editor, isSharedMode, t, trash]);
|
||||
@@ -79,10 +79,7 @@ export const EditorModeSwitch = () => {
|
||||
binding: 'Alt+KeyS',
|
||||
capture: true,
|
||||
},
|
||||
run: () =>
|
||||
onModeChange(
|
||||
currentMode === 'edgeless' ? DocMode.Page : DocMode.Edgeless
|
||||
),
|
||||
run: () => onModeChange(currentMode === 'edgeless' ? 'page' : 'edgeless'),
|
||||
});
|
||||
}, [currentMode, isSharedMode, onModeChange, t, trash]);
|
||||
|
||||
@@ -97,8 +94,8 @@ export const EditorModeSwitch = () => {
|
||||
<PureEditorModeSwitch
|
||||
mode={currentMode}
|
||||
setMode={onModeChange}
|
||||
hidePage={shouldHide(DocMode.Page)}
|
||||
hideEdgeless={shouldHide(DocMode.Edgeless)}
|
||||
hidePage={shouldHide('page')}
|
||||
hideEdgeless={shouldHide('edgeless')}
|
||||
/>
|
||||
</div>
|
||||
</Tooltip>
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
revokePublicPageMutation,
|
||||
} from '@affine/graphql';
|
||||
import { type I18nKeys, useI18n } from '@affine/i18n';
|
||||
import { DocMode } from '@blocksuite/blocks';
|
||||
import type { DocMode } from '@blocksuite/blocks';
|
||||
import { SingleSelectSelectSolidIcon } from '@blocksuite/icons/rc';
|
||||
import { type Workspace } from '@toeverything/infra';
|
||||
import { cssVar } from '@toeverything/theme';
|
||||
@@ -86,9 +86,7 @@ export function useIsSharedPage(
|
||||
const isPageShared = !!publicPage;
|
||||
|
||||
const currentShareMode: DocMode =
|
||||
publicPage?.mode === PublicPageMode.Edgeless
|
||||
? DocMode.Edgeless
|
||||
: DocMode.Page;
|
||||
publicPage?.mode === PublicPageMode.Edgeless ? 'edgeless' : 'page';
|
||||
|
||||
return [isPageShared, currentShareMode];
|
||||
}, [data?.workspace.publicPages, pageId]);
|
||||
@@ -213,8 +211,7 @@ export function usePublicPages(workspace: Workspace) {
|
||||
() =>
|
||||
maybeData?.workspace.publicPages.map(i => ({
|
||||
id: i.id,
|
||||
mode:
|
||||
i.mode === PublicPageMode.Edgeless ? DocMode.Edgeless : DocMode.Page,
|
||||
mode: i.mode === PublicPageMode.Edgeless ? 'edgeless' : 'page',
|
||||
})) ?? [],
|
||||
[maybeData?.workspace.publicPages]
|
||||
);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { DocMode } from '@blocksuite/blocks';
|
||||
import type { DocMode } from '@blocksuite/blocks';
|
||||
import type { AffineEditorContainer } from '@blocksuite/presets';
|
||||
import type { DocService, WorkspaceService } from '@toeverything/infra';
|
||||
import { Entity, LiveData } from '@toeverything/infra';
|
||||
@@ -25,9 +25,7 @@ export class Editor extends Entity<{
|
||||
readonly editorContainer$ = new LiveData<AffineEditorContainer | null>(null);
|
||||
|
||||
toggleMode() {
|
||||
this.mode$.next(
|
||||
this.mode$.value === 'edgeless' ? DocMode.Page : DocMode.Edgeless
|
||||
);
|
||||
this.mode$.next(this.mode$.value === 'edgeless' ? 'page' : 'edgeless');
|
||||
}
|
||||
|
||||
setMode(mode: DocMode) {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import type { BlockComponent, EditorHost } from '@blocksuite/block-std';
|
||||
import {
|
||||
AffineReference,
|
||||
import type {
|
||||
DocMode,
|
||||
type EmbedLinkedDocModel,
|
||||
type EmbedSyncedDocModel,
|
||||
type ImageBlockModel,
|
||||
type SurfaceRefBlockComponent,
|
||||
type SurfaceRefBlockModel,
|
||||
EmbedLinkedDocModel,
|
||||
EmbedSyncedDocModel,
|
||||
ImageBlockModel,
|
||||
SurfaceRefBlockComponent,
|
||||
SurfaceRefBlockModel,
|
||||
} from '@blocksuite/blocks';
|
||||
import { AffineReference } from '@blocksuite/blocks';
|
||||
import type { AIChatBlockModel } from '@blocksuite/presets';
|
||||
import type { BlockModel } from '@blocksuite/store';
|
||||
import { Entity, LiveData } from '@toeverything/infra';
|
||||
@@ -135,7 +135,7 @@ function resolvePeekInfoFromPeekTarget(
|
||||
return {
|
||||
type: 'doc',
|
||||
docId,
|
||||
mode: DocMode.Edgeless,
|
||||
mode: 'edgeless',
|
||||
xywh: refModel.xywh,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import { EditorOutlineViewer } from '@affine/core/components/blocksuite/outline-
|
||||
import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper';
|
||||
import { PageNotFound } from '@affine/core/pages/404';
|
||||
import { DebugLogger } from '@affine/debug';
|
||||
import { DocMode, type EdgelessRootService } from '@blocksuite/blocks';
|
||||
import type { DocMode, EdgelessRootService } from '@blocksuite/blocks';
|
||||
import { Bound, DisposableGroup } from '@blocksuite/global/utils';
|
||||
import type { AffineEditorContainer } from '@blocksuite/presets';
|
||||
import {
|
||||
@@ -107,7 +107,7 @@ export function DocPeekPreview({
|
||||
useEffect(() => {
|
||||
if (!mode || !resolvedMode) {
|
||||
setResolvedMode(
|
||||
docs.list.doc$(docId).value?.primaryMode$.value || DocMode.Page
|
||||
docs.list.doc$(docId).value?.primaryMode$.value || 'page'
|
||||
);
|
||||
}
|
||||
}, [docId, docs.list, resolvedMode, mode]);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { track } from '@affine/core/mixpanel';
|
||||
import { DocMode } from '@blocksuite/blocks';
|
||||
import type { DocsService } from '@toeverything/infra';
|
||||
import { Service } from '@toeverything/infra';
|
||||
|
||||
@@ -68,13 +67,13 @@ export class CMDKQuickSearchService extends Service {
|
||||
} else if (result.source === 'creation') {
|
||||
if (result.id === 'creation:create-page') {
|
||||
const newDoc = this.docsService.createDoc({
|
||||
primaryMode: DocMode.Page,
|
||||
primaryMode: 'page',
|
||||
title: result.payload.title,
|
||||
});
|
||||
this.workbenchService.workbench.openDoc(newDoc.id);
|
||||
} else if (result.id === 'creation:create-edgeless') {
|
||||
const newDoc = this.docsService.createDoc({
|
||||
primaryMode: DocMode.Edgeless,
|
||||
primaryMode: 'edgeless',
|
||||
title: result.payload.title,
|
||||
});
|
||||
this.workbenchService.workbench.openDoc(newDoc.id);
|
||||
|
||||
@@ -10,7 +10,6 @@ import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks';
|
||||
import { track } from '@affine/core/mixpanel';
|
||||
import { isNewTabTrigger } from '@affine/core/utils';
|
||||
import type { Filter } from '@affine/env/filter';
|
||||
import { DocMode } from '@blocksuite/blocks';
|
||||
import { PlusIcon } from '@blocksuite/icons/rc';
|
||||
import { useServices, WorkspaceService } from '@toeverything/infra';
|
||||
import clsx from 'clsx';
|
||||
@@ -68,7 +67,7 @@ export const AllPageHeader = ({
|
||||
createEdgeless(isNewTabTrigger(e) ? 'new-tab' : true)
|
||||
}
|
||||
onCreatePage={e =>
|
||||
createPage(DocMode.Page, isNewTabTrigger(e) ? 'new-tab' : true)
|
||||
createPage('page', isNewTabTrigger(e) ? 'new-tab' : true)
|
||||
}
|
||||
onCreateDoc={e =>
|
||||
createPage(undefined, isNewTabTrigger(e) ? 'new-tab' : true)
|
||||
|
||||
@@ -44,7 +44,7 @@ const useLoadDoc = (pageId: string) => {
|
||||
|
||||
const modeInQuery = useLiveData(
|
||||
queryString$.map(q => {
|
||||
if (q.mode && DocModes.includes(q.mode)) {
|
||||
if (q.mode && DocModes.includes(q.mode as DocMode)) {
|
||||
return q.mode as DocMode;
|
||||
}
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user