feat(core): bump blocksuite (#8114)

This commit is contained in:
akumatus
2024-09-05 13:54:56 +00:00
parent 5083fe3cfd
commit 4bbb94c32d
23 changed files with 313 additions and 249 deletions

View File

@@ -10,6 +10,7 @@ import {
type EdgelessRootService,
type ImageSelection,
type PageRootService,
TelemetryProvider,
} from '@blocksuite/blocks';
import { BlocksUtils, NoteDisplayMode } from '@blocksuite/blocks';
import {
@@ -304,7 +305,7 @@ const SAVE_CHAT_TO_BLOCK_ACTION: ChatAction = {
const { notificationService } = rootService;
const docModeService = host.std.get(DocModeProvider);
const { layer } = surfaceService;
const curMode = docModeService.getMode();
const curMode = docModeService.getEditorMode() || 'page';
const viewportCenter = getViewportCenter(
curMode,
rootService as PageRootService
@@ -313,7 +314,7 @@ const SAVE_CHAT_TO_BLOCK_ACTION: ChatAction = {
// If current mode is not edgeless, switch to edgeless mode first
if (curMode !== 'edgeless') {
// Set mode to edgeless
docModeService.setMode('edgeless' as DocMode);
docModeService.setEditorMode('edgeless' as DocMode);
// Notify user to switch to edgeless mode
notificationService?.notify({
title: 'Save chat to a block',
@@ -354,7 +355,8 @@ const SAVE_CHAT_TO_BLOCK_ACTION: ChatAction = {
return false;
}
rootService.telemetryService?.track('CanvasElementAdded', {
const telemetryService = host.std.getOptional(TelemetryProvider);
telemetryService?.track('CanvasElementAdded', {
control: 'manually save',
page: 'whiteboard editor',
module: 'ai chat panel',
@@ -463,7 +465,7 @@ const CREATE_AS_LINKED_DOC = {
const service = host.std.getService<EdgelessRootService>('affine:page');
const docModeService = host.std.get(DocModeProvider);
const mode = docModeService.getMode();
const mode = docModeService.getEditorMode();
if (mode !== 'edgeless') {
return false;
}

View File

@@ -56,7 +56,7 @@ export async function frameToCanvas(
) {
const edgelessRoot = getEdgelessRootFromEditor(editor);
const { notes, frames, shapes, images } = BlocksUtils.splitElements(
edgelessRoot.service.frame.getElementsInFrame(frame, true)
edgelessRoot.service.frame.getElementsInFrameBound(frame, true)
);
if (notes.length + frames.length + images.length + shapes.length === 0) {
return;
@@ -106,7 +106,10 @@ export const getFirstImageInFrame = (
editor: EditorHost
) => {
const edgelessRoot = getEdgelessRootFromEditor(editor);
const elements = edgelessRoot.service.frame.getElementsInFrame(frame, false);
const elements = edgelessRoot.service.frame.getElementsInFrameBound(
frame,
false
);
const image = elements.find(ele => {
if (!BlocksUtils.isCanvasElement(ele)) {
return ele.flavour === 'affine:image';

View File

@@ -1,3 +1,5 @@
import type { MindmapElementModel } from '@blocksuite/affine-block-surface';
import { fitContent } from '@blocksuite/affine-block-surface';
import type { EditorHost } from '@blocksuite/block-std';
import type {
AffineAIPanelWidget,
@@ -5,7 +7,6 @@ import type {
EdgelessCopilotWidget,
EdgelessElementToolbarWidget,
EdgelessRootService,
MindmapElementModel,
ShapeElementModel,
SurfaceBlockModel,
} from '@blocksuite/blocks';
@@ -15,12 +16,12 @@ import {
EDGELESS_TEXT_BLOCK_MIN_HEIGHT,
EDGELESS_TEXT_BLOCK_MIN_WIDTH,
EdgelessTextBlockModel,
fitContent,
ImageBlockModel,
InsertBelowIcon,
LightLoadingIcon,
NoteDisplayMode,
ResetIcon,
TelemetryProvider,
} from '@blocksuite/blocks';
import { assertExists, Bound } from '@blocksuite/global/utils';
import { html, type TemplateResult } from 'lit';
@@ -435,7 +436,8 @@ export const responses: {
});
});
edgelessService.telemetryService?.track('CanvasElementAdded', {
const telemetryService = host.std.getOptional(TelemetryProvider);
telemetryService?.track('CanvasElementAdded', {
control: 'ai',
page: 'whiteboard editor',
module: 'toolbar',

View File

@@ -163,7 +163,12 @@ export class ChatPanelMessages extends WithDisposable(ShadowlessElement) {
})
);
const docModeService = this.host.std.get(DocModeProvider);
disposables.add(docModeService.onModeChange(() => this.requestUpdate()));
disposables.add(
docModeService.onPrimaryModeChange(
() => this.requestUpdate(),
this.host.doc.id
)
);
}
}

View File

@@ -1,8 +1,8 @@
import { MindmapElementModel } from '@blocksuite/affine-block-surface';
import {
type AIItemGroupConfig,
AIStarIconWithAnimation,
BlocksUtils,
MindmapElementModel,
ShapeElementModel,
TextElementModel,
} from '@blocksuite/blocks';

View File

@@ -40,7 +40,7 @@ export function setupSlashMenuAIEntry(slashMenu: AffineSlashMenuWidget) {
const chain = rootComponent.host.command.chain();
const docModeService = rootComponent.std.get(DocModeProvider);
const editorMode = docModeService.getMode(rootComponent.doc.id);
const editorMode = docModeService.getPrimaryMode(rootComponent.doc.id);
return item?.showWhen?.(chain, editorMode, rootComponent.host) ?? true;
};

View File

@@ -1,8 +1,6 @@
import type { MindmapStyle } from '@blocksuite/affine-block-surface';
import type { EditorHost } from '@blocksuite/block-std';
import type {
AffineAIPanelWidgetConfig,
MindmapStyle,
} from '@blocksuite/blocks';
import type { AffineAIPanelWidgetConfig } from '@blocksuite/blocks';
import { markdownToMindmap, MiniMindmapPreview } from '@blocksuite/blocks';
import { noop } from '@blocksuite/global/utils';
import { html, nothing } from 'lit';

View File

@@ -3,13 +3,14 @@ import './date-time';
import '../_common/components/chat-action-list';
import '../_common/components/copy-more';
import { CanvasElementType } from '@blocksuite/affine-block-surface';
import { type EditorHost } from '@blocksuite/block-std';
import {
type AIError,
CanvasElementType,
ConnectorMode,
DocModeProvider,
type EdgelessRootService,
TelemetryProvider,
} from '@blocksuite/blocks';
import {
type AIChatBlockModel,
@@ -138,7 +139,7 @@ export class AIChatBlockPeekView extends LitElement {
*/
createAIChatBlock = async () => {
// Only create AI chat block in edgeless mode
const mode = this._modeService.getMode();
const mode = this._modeService.getEditorMode();
if (mode !== 'edgeless') {
return;
}
@@ -204,7 +205,8 @@ export class AIChatBlockPeekView extends LitElement {
target: { id: aiChatBlockId },
});
edgelessService.telemetryService?.track('CanvasElementAdded', {
const telemetryService = this.host.std.getOptional(TelemetryProvider);
telemetryService?.track('CanvasElementAdded', {
control: 'conversation',
page: 'whiteboard editor',
module: 'canvas',

View File

@@ -1,10 +1,10 @@
import { MindmapElementModel } from '@blocksuite/affine-block-surface';
import type { BlockComponent, EditorHost } from '@blocksuite/block-std';
import {
AFFINE_EDGELESS_COPILOT_WIDGET,
type EdgelessCopilotWidget,
type EdgelessRootService,
matchFlavours,
MindmapElementModel,
type ShapeElementModel,
} from '@blocksuite/blocks';

View File

@@ -62,7 +62,7 @@ export async function frameToCanvas(
) {
const edgelessRoot = getEdgelessRootFromEditor(editor);
const { notes, frames, shapes, images } = BlocksUtils.splitElements(
edgelessRoot.service.frame.getElementsInFrame(frame, true)
edgelessRoot.service.frame.getElementsInFrameBound(frame, true)
);
if (notes.length + frames.length + images.length + shapes.length === 0) {
return;
@@ -213,7 +213,10 @@ export const getFirstImageInFrame = (
editor: EditorHost
) => {
const edgelessRoot = getEdgelessRootFromEditor(editor);
const elements = edgelessRoot.service.frame.getElementsInFrame(frame, false);
const elements = edgelessRoot.service.frame.getElementsInFrameBound(
frame,
false
);
const image = elements.find(ele => {
if (!BlocksUtils.isCanvasElement(ele)) {
return ele.flavour === 'affine:image';