diff --git a/packages/blocks/src/_common/edgeless/note/consts.ts b/packages/blocks/src/_common/edgeless/note/consts.ts index 826e40ede30f..76e4809245c9 100644 --- a/packages/blocks/src/_common/edgeless/note/consts.ts +++ b/packages/blocks/src/_common/edgeless/note/consts.ts @@ -1,4 +1,3 @@ -import { StrokeStyle } from '../../../surface-block/consts.js'; import type { CssVariableName } from '../../theme/css-variables.js'; export const NOTE_COLORS: CssVariableName[] = [ @@ -20,14 +19,3 @@ export const NOTE_SHADOWS = [ '--affine-note-shadow-float', `--affine-note-shadow-film`, ]; - -export const DEFAULT_EDGELESS_PROP = { - style: { - borderRadius: 8, - borderSize: 4, - borderStyle: StrokeStyle.Solid, - shadowType: NOTE_SHADOWS[1], - }, - collapse: false, - collapsedHeight: 0, -}; diff --git a/packages/blocks/src/page-block/edgeless/components/auto-complete/utils.ts b/packages/blocks/src/page-block/edgeless/components/auto-complete/utils.ts index 70ee829cc86f..9eb82938540c 100644 --- a/packages/blocks/src/page-block/edgeless/components/auto-complete/utils.ts +++ b/packages/blocks/src/page-block/edgeless/components/auto-complete/utils.ts @@ -1,7 +1,6 @@ import { assertExists } from '@blocksuite/global/utils'; import { Workspace } from '@blocksuite/store'; -import { DEFAULT_EDGELESS_PROP } from '../../../../_common/edgeless/note/consts.js'; import type { NoteBlockModel } from '../../../../models.js'; import { CanvasTextFontFamily, @@ -307,9 +306,6 @@ export function createEdgelessElement( ); const note = page.getBlockById(id) as NoteBlockModel; assertExists(note); - if (!note.edgeless) { - note.edgeless = DEFAULT_EDGELESS_PROP; - } note.edgeless.collapse = true; page.addBlock('affine:paragraph', {}, note.id); } diff --git a/packages/blocks/src/page-block/edgeless/components/block-portal/note/edgeless-note.ts b/packages/blocks/src/page-block/edgeless/components/block-portal/note/edgeless-note.ts index 204065c6b01b..fca02a861973 100644 --- a/packages/blocks/src/page-block/edgeless/components/block-portal/note/edgeless-note.ts +++ b/packages/blocks/src/page-block/edgeless/components/block-portal/note/edgeless-note.ts @@ -136,10 +136,8 @@ export class EdgelessBlockPortalNote extends EdgelessPortalBase } private get _isShowCollapsedContent() { - const edgeless = this.model.edgeless; - const collapse = edgeless ? edgeless.collapse : false; return ( - collapse && + this.model.edgeless.collapse && (this._isResizing || this._isHover) && this.edgeless.selectionManager.elements.includes(this.model) ); @@ -181,12 +179,9 @@ export class EdgelessBlockPortalNote extends EdgelessPortalBase override render() { const { model, surface, index } = this; const { xywh, background, hidden, edgeless } = model; - const borderRadius = edgeless ? edgeless.style.borderRadius : 8; - const borderSize = edgeless ? edgeless.style.borderSize : 4; - const borderStyle = edgeless ? edgeless.style.borderStyle : 'solid'; - const shadowType = edgeless ? edgeless.style.shadowType : 'none'; - const collapse = edgeless ? edgeless.collapse : false; - + const { borderRadius, borderSize, borderStyle, shadowType } = + edgeless.style; + const { collapse } = edgeless; const bound = Bound.deserialize(xywh); const style = { diff --git a/packages/blocks/src/page-block/edgeless/components/component-toolbar/change-note-button.ts b/packages/blocks/src/page-block/edgeless/components/component-toolbar/change-note-button.ts index 849475b7daa5..2e9421da0253 100644 --- a/packages/blocks/src/page-block/edgeless/components/component-toolbar/change-note-button.ts +++ b/packages/blocks/src/page-block/edgeless/components/component-toolbar/change-note-button.ts @@ -9,7 +9,6 @@ import { WithDisposable } from '@blocksuite/lit'; import { css, html, LitElement, nothing, type PropertyValues } from 'lit'; import { customElement, property, query, state } from 'lit/decorators.js'; -import { DEFAULT_EDGELESS_PROP } from '../../../../_common/edgeless/note/consts.js'; import { ExpandIcon, HiddenIcon, @@ -217,10 +216,6 @@ export class EdgelessChangeNoteButton extends WithDisposable(LitElement) { private _setShadowType(shadowType: string) { this.notes.forEach(note => { - if (!note.edgeless) { - // FIXME: this is a temporary fix for the note without edgeless - note.edgeless = DEFAULT_EDGELESS_PROP; - } note.edgeless.style.shadowType = shadowType; }); } @@ -251,18 +246,12 @@ export class EdgelessChangeNoteButton extends WithDisposable(LitElement) { private _setStrokeWidth(borderSize: number) { this.notes.forEach(note => { - if (!note.edgeless) { - note.edgeless = DEFAULT_EDGELESS_PROP; - } note.edgeless.style.borderSize = borderSize; }); } private _setStrokeStyle(borderStyle: StrokeStyle) { this.notes.forEach(note => { - if (!note.edgeless) { - note.edgeless = DEFAULT_EDGELESS_PROP; - } note.edgeless.style.borderStyle = borderStyle; }); } @@ -290,24 +279,15 @@ export class EdgelessChangeNoteButton extends WithDisposable(LitElement) { private _setBorderRadius = (size: number) => { this.notes.forEach(note => { - if (!note.edgeless) { - note.edgeless = DEFAULT_EDGELESS_PROP; - } note.edgeless.style.borderRadius = size; }); }; private _setCollapse() { this.notes.forEach(element => { - const { edgeless } = element; - const collapse = edgeless ? element.edgeless.collapse : false; - const collapsedHeight = edgeless ? element.edgeless.collapsedHeight : 0; + const { collapse, collapsedHeight } = element.edgeless; const bound = Bound.deserialize(element.xywh); - if (!edgeless) { - element.edgeless = DEFAULT_EDGELESS_PROP; - } - if (collapse) { element.edgeless.collapsedHeight = bound.h; element.edgeless.collapse = false; @@ -370,11 +350,10 @@ export class EdgelessChangeNoteButton extends WithDisposable(LitElement) { const enableIndex = this.surface.page.awarenessStore.getFlag('enable_note_index'); const { hidden, background, edgeless } = note; - const borderRadius = edgeless ? edgeless.style.borderRadius : 8; - const borderSize = edgeless ? edgeless.style.borderSize : 4; - const borderStyle = edgeless ? edgeless.style.borderStyle : 'solid'; - const shadowType = edgeless ? edgeless.style.shadowType : 'none'; - const collapse = edgeless ? edgeless.collapse : false; + const { shadowType, borderRadius, borderSize, borderStyle } = + edgeless.style; + + const { collapse } = edgeless; return html` ${enableIndex diff --git a/packages/blocks/src/page-block/edgeless/components/rects/edgeless-hover-rect.ts b/packages/blocks/src/page-block/edgeless/components/rects/edgeless-hover-rect.ts index 48f76a97a364..6bb64d28c5b2 100644 --- a/packages/blocks/src/page-block/edgeless/components/rects/edgeless-hover-rect.ts +++ b/packages/blocks/src/page-block/edgeless/components/rects/edgeless-hover-rect.ts @@ -62,7 +62,7 @@ export class EdgelessHoverRect extends WithDisposable(LitElement) { this.rect.style.width = `${rect.width}px`; this.rect.style.height = `${rect.height}px`; this.rect.style.borderRadius = isNote - ? `${(element?.edgeless?.style?.borderRadius ?? 8) * zoom}px` + ? `${element.edgeless.style.borderRadius * zoom}px` : ''; this.rect.style.backgroundColor = isNote ? 'var(--affine-hover-color)' diff --git a/packages/blocks/src/page-block/edgeless/components/rects/edgeless-selected-rect.ts b/packages/blocks/src/page-block/edgeless/components/rects/edgeless-selected-rect.ts index 92c05146ba46..e3b1c2f466dc 100644 --- a/packages/blocks/src/page-block/edgeless/components/rects/edgeless-selected-rect.ts +++ b/packages/blocks/src/page-block/edgeless/components/rects/edgeless-selected-rect.ts @@ -6,7 +6,6 @@ import { css, html, LitElement, nothing } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { styleMap } from 'lit/directives/style-map.js'; -import { DEFAULT_EDGELESS_PROP } from '../../../../_common/edgeless/note/consts.js'; import { stopPropagation } from '../../../../_common/utils/event.js'; import { pickValues } from '../../../../_common/utils/iterable.js'; import { clamp } from '../../../../_common/utils/math.js'; @@ -426,11 +425,6 @@ export class EdgelessSelectedRect extends WithDisposable(LitElement) { if (isNoteBlock(element)) { const curBound = Bound.deserialize(element.xywh); const props: Partial = {}; - - if (!element.edgeless) { - element.edgeless = DEFAULT_EDGELESS_PROP; - } - if (curBound.h !== bound.h && !element.edgeless.collapse) { element.edgeless.collapse = true; } diff --git a/packages/blocks/src/page-block/edgeless/utils/note-resize-observer.ts b/packages/blocks/src/page-block/edgeless/utils/note-resize-observer.ts index 9478461151dd..ca3e6b4f1470 100644 --- a/packages/blocks/src/page-block/edgeless/utils/note-resize-observer.ts +++ b/packages/blocks/src/page-block/edgeless/utils/note-resize-observer.ts @@ -66,18 +66,17 @@ export class NoteResizeObserver { const container = blockElement?.querySelector( '.affine-note-block-container' ); - const { edgeless } = model; - const collapse = edgeless ? edgeless.collapse : false; + const cachedElement = this._cachedElements.get(blockId); if (cachedElement) { - if (container === cachedElement && !collapse) { + if (container === cachedElement && !model.edgeless.collapse) { return; } this._observer.unobserve(cachedElement); this._cachedElements.delete(blockId); } - if (!container || collapse) return; + if (!container || model.edgeless.collapse) return; this._lastRects.set(blockId, container.getBoundingClientRect()); this._observer.observe(container); this._cachedElements.set(blockId, container);