feat!: upgrade blocksuite version (#2833)

This commit is contained in:
Alex Yang
2023-06-25 01:16:46 +08:00
committed by GitHub
parent aa86d3a2ee
commit 7fcc5e599e
59 changed files with 564 additions and 1064 deletions

View File

@@ -7,7 +7,15 @@ import type { Page } from '@blocksuite/store';
import { Skeleton } from '@mui/material';
import { useAtomValue } from 'jotai';
import type { CSSProperties, ReactElement } from 'react';
import { lazy, memo, Suspense, useCallback, useEffect, useRef } from 'react';
import {
lazy,
memo,
Suspense,
use,
useCallback,
useEffect,
useRef,
} from 'react';
import { createPortal } from 'react-dom';
import type { FallbackProps } from 'react-error-boundary';
import { ErrorBoundary } from 'react-error-boundary';
@@ -45,6 +53,9 @@ const ImagePreviewModal = lazy(() =>
const BlockSuiteEditorImpl = (props: EditorProps): ReactElement => {
const { onLoad, page, mode, style, onInit } = props;
if (!page.loaded) {
use(page.waitForLoaded());
}
const JotaiEditorContainer = useAtomValue(
editorContainerModuleAtom
) as typeof EditorContainer;

View File

@@ -1,7 +1,7 @@
/// <reference types="react/experimental" />
import '@blocksuite/blocks';
import type { EmbedBlockModel } from '@blocksuite/blocks';
import type { ImageBlockModel } from '@blocksuite/blocks';
import { assertExists } from '@blocksuite/global/utils';
import {
ArrowLeftSmallIcon,
@@ -57,14 +57,14 @@ const ImagePreviewModalImpl = (
const [caption, setCaption] = useState(() => {
const page = props.workspace.getPage(props.pageId);
assertExists(page);
const block = page.getBlockById(props.blockId) as EmbedBlockModel;
const block = page.getBlockById(props.blockId) as ImageBlockModel;
assertExists(block);
return block?.caption;
});
useEffect(() => {
const page = props.workspace.getPage(props.pageId);
assertExists(page);
const block = page.getBlockById(props.blockId) as EmbedBlockModel;
const block = page.getBlockById(props.blockId) as ImageBlockModel;
assertExists(block);
setCaption(block?.caption);
}, [props.blockId, props.pageId, props.workspace]);
@@ -72,7 +72,7 @@ const ImagePreviewModalImpl = (
fetcher: ([_, __, pageId, blockId]) => {
const page = props.workspace.getPage(pageId);
assertExists(page);
const block = page.getBlockById(blockId) as EmbedBlockModel;
const block = page.getBlockById(blockId) as ImageBlockModel;
assertExists(block);
return props.workspace.blobs.get(block?.sourceId);
},
@@ -117,7 +117,7 @@ const ImagePreviewModalImpl = (
const nextBlock = page
.getNextSiblings(block)
.find(
(block): block is EmbedBlockModel => block.flavour === 'affine:embed'
(block): block is ImageBlockModel => block.flavour === 'affine:image'
);
if (nextBlock) {
setBlockId(nextBlock.id);
@@ -134,7 +134,7 @@ const ImagePreviewModalImpl = (
const prevBlock = page
.getPreviousSiblings(block)
.findLast(
(block): block is EmbedBlockModel => block.flavour === 'affine:embed'
(block): block is ImageBlockModel => block.flavour === 'affine:image'
);
if (prevBlock) {
setBlockId(prevBlock.id);
@@ -152,13 +152,13 @@ const ImagePreviewModalImpl = (
page
.getPreviousSiblings(block)
.findLast(
(block): block is EmbedBlockModel => block.flavour === 'affine:embed'
(block): block is ImageBlockModel => block.flavour === 'affine:image'
)
) {
const prevBlock = page
.getPreviousSiblings(block)
.findLast(
(block): block is EmbedBlockModel => block.flavour === 'affine:embed'
(block): block is ImageBlockModel => block.flavour === 'affine:image'
);
if (prevBlock) {
setBlockId(prevBlock.id);
@@ -167,13 +167,13 @@ const ImagePreviewModalImpl = (
page
.getNextSiblings(block)
.find(
(block): block is EmbedBlockModel => block.flavour === 'affine:embed'
(block): block is ImageBlockModel => block.flavour === 'affine:image'
)
) {
const nextBlock = page
.getNextSiblings(block)
.find(
(block): block is EmbedBlockModel => block.flavour === 'affine:embed'
(block): block is ImageBlockModel => block.flavour === 'affine:image'
);
if (nextBlock) {
const image = imageRef.current;
@@ -197,7 +197,7 @@ const ImagePreviewModalImpl = (
const page = workspace.getPage(props.pageId);
assertExists(page);
if (typeof blockId === 'string') {
const block = page.getBlockById(blockId) as EmbedBlockModel;
const block = page.getBlockById(blockId) as ImageBlockModel;
assertExists(block);
const store = await block.page.blobs;
const url = store?.get(block.sourceId);
@@ -494,8 +494,8 @@ export const ImagePreviewModal = (
const prevBlock = page
.getPreviousSiblings(block)
.findLast(
(block): block is EmbedBlockModel =>
block.flavour === 'affine:embed'
(block): block is ImageBlockModel =>
block.flavour === 'affine:image'
);
if (prevBlock) {
setBlockId(prevBlock.id);
@@ -504,8 +504,8 @@ export const ImagePreviewModal = (
const nextBlock = page
.getNextSiblings(block)
.find(
(block): block is EmbedBlockModel =>
block.flavour === 'affine:embed'
(block): block is ImageBlockModel =>
block.flavour === 'affine:image'
);
if (nextBlock) {
setBlockId(nextBlock.id);