mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-23 05:25:53 +08:00
feat: bump blocksuite (#5575)
This commit is contained in:
@@ -26,14 +26,14 @@
|
||||
"@affine/templates": "workspace:*",
|
||||
"@affine/workspace": "workspace:*",
|
||||
"@affine/workspace-impl": "workspace:*",
|
||||
"@blocksuite/block-std": "0.11.0-nightly-202401020419-752a5b8",
|
||||
"@blocksuite/blocks": "0.11.0-nightly-202401020419-752a5b8",
|
||||
"@blocksuite/global": "0.11.0-nightly-202401020419-752a5b8",
|
||||
"@blocksuite/block-std": "0.12.0-nightly-202401120404-4219e86",
|
||||
"@blocksuite/blocks": "0.12.0-nightly-202401120404-4219e86",
|
||||
"@blocksuite/global": "0.12.0-nightly-202401120404-4219e86",
|
||||
"@blocksuite/icons": "2.1.40",
|
||||
"@blocksuite/inline": "0.11.0-nightly-202401020419-752a5b8",
|
||||
"@blocksuite/lit": "0.11.0-nightly-202401020419-752a5b8",
|
||||
"@blocksuite/presets": "0.11.0-nightly-202401020419-752a5b8",
|
||||
"@blocksuite/store": "0.11.0-nightly-202401020419-752a5b8",
|
||||
"@blocksuite/inline": "0.12.0-nightly-202401120404-4219e86",
|
||||
"@blocksuite/lit": "0.12.0-nightly-202401120404-4219e86",
|
||||
"@blocksuite/presets": "0.12.0-nightly-202401120404-4219e86",
|
||||
"@blocksuite/store": "0.12.0-nightly-202401120404-4219e86",
|
||||
"@dnd-kit/core": "^6.0.8",
|
||||
"@dnd-kit/sortable": "^8.0.0",
|
||||
"@emotion/cache": "^11.11.0",
|
||||
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
import { ContentParser } from '@blocksuite/blocks/content-parser';
|
||||
import type { Page } from '@blocksuite/store';
|
||||
|
||||
const contentParserWeakMap = new WeakMap<Page, ContentParser>();
|
||||
|
||||
export function getContentParser(page: Page) {
|
||||
if (!contentParserWeakMap.has(page)) {
|
||||
contentParserWeakMap.set(
|
||||
page,
|
||||
new ContentParser(page, {
|
||||
imageProxyEndpoint: !environment.isDesktop
|
||||
? runtimeConfig.imageProxyUrl
|
||||
: undefined,
|
||||
})
|
||||
);
|
||||
}
|
||||
return contentParserWeakMap.get(page) as ContentParser;
|
||||
}
|
||||
@@ -5,12 +5,12 @@ import {
|
||||
import { pushNotificationAtom } from '@affine/component/notification-center';
|
||||
import { apis } from '@affine/electron-api';
|
||||
import { useAFFiNEI18N } from '@affine/i18n/hooks';
|
||||
import type { PageService } from '@blocksuite/blocks';
|
||||
import {
|
||||
HtmlTransformer,
|
||||
MarkdownTransformer,
|
||||
type PageBlockModel,
|
||||
} from '@blocksuite/blocks';
|
||||
import { ContentParser } from '@blocksuite/blocks/content-parser';
|
||||
import type { Page } from '@blocksuite/store';
|
||||
import { useSetAtom } from 'jotai';
|
||||
import { nanoid } from 'nanoid';
|
||||
@@ -18,29 +18,17 @@ import { useCallback } from 'react';
|
||||
|
||||
type ExportType = 'pdf' | 'html' | 'png' | 'markdown';
|
||||
|
||||
const contentParserWeakMap = new WeakMap<Page, ContentParser>();
|
||||
|
||||
const getContentParser = (page: Page) => {
|
||||
if (!contentParserWeakMap.has(page)) {
|
||||
contentParserWeakMap.set(
|
||||
page,
|
||||
new ContentParser(page, {
|
||||
imageProxyEndpoint: !environment.isDesktop
|
||||
? runtimeConfig.imageProxyUrl
|
||||
: undefined,
|
||||
})
|
||||
);
|
||||
}
|
||||
return contentParserWeakMap.get(page) as ContentParser;
|
||||
};
|
||||
|
||||
interface ExportHandlerOptions {
|
||||
page: Page;
|
||||
type: ExportType;
|
||||
}
|
||||
|
||||
async function exportHandler({ page, type }: ExportHandlerOptions) {
|
||||
const contentParser = getContentParser(page);
|
||||
const editorRoot = document.querySelector('editor-host');
|
||||
let pageService: PageService | null = null;
|
||||
if (editorRoot) {
|
||||
pageService = editorRoot.spec.getService('affine:page') as PageService;
|
||||
}
|
||||
switch (type) {
|
||||
case 'html':
|
||||
await HtmlTransformer.exportPage(page);
|
||||
@@ -54,12 +42,15 @@ async function exportHandler({ page, type }: ExportHandlerOptions) {
|
||||
(page.root as PageBlockModel).title.toString()
|
||||
);
|
||||
} else {
|
||||
await contentParser['exportPdf']();
|
||||
if (!pageService) return;
|
||||
await pageService.exportManager.exportPdf();
|
||||
}
|
||||
break;
|
||||
case 'png':
|
||||
await contentParser['exportPng']();
|
||||
case 'png': {
|
||||
if (!pageService) return;
|
||||
await pageService.exportManager.exportPng();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user