From e639f08b7145ad0e9685c1febfa90b0a27866cea Mon Sep 17 00:00:00 2001 From: L-Sun Date: Tue, 18 Feb 2025 09:25:05 +0000 Subject: [PATCH] chore(editor): remove page block feature flag (#10251) --- .../components/edgeless-note-background.ts | 3 +-- .../components/edgeless-page-block-title.ts | 3 +-- blocksuite/affine/block-note/src/index.ts | 1 - .../block-note/src/note-edgeless-block.ts | 7 +++++-- blocksuite/affine/block-note/src/utils.ts | 18 ------------------ .../model/src/blocks/note/note-model.ts | 13 +++++++++++++ .../src/services/feature-flag-service.ts | 2 -- .../edgeless/edgeless-root-block.ts | 7 +------ .../element-toolbar/change-note-button.ts | 17 +++++++---------- .../custom/widgets/edgeless-note-header.tsx | 19 ++----------------- .../core/src/modules/feature-flag/constant.ts | 11 ----------- packages/frontend/i18n/src/i18n.gen.ts | 8 -------- packages/frontend/i18n/src/resources/en.json | 2 -- 13 files changed, 30 insertions(+), 81 deletions(-) delete mode 100644 blocksuite/affine/block-note/src/utils.ts diff --git a/blocksuite/affine/block-note/src/components/edgeless-note-background.ts b/blocksuite/affine/block-note/src/components/edgeless-note-background.ts index c91af88cc7cdf..88f838098ebca 100644 --- a/blocksuite/affine/block-note/src/components/edgeless-note-background.ts +++ b/blocksuite/affine/block-note/src/components/edgeless-note-background.ts @@ -36,7 +36,6 @@ import { property } from 'lit/decorators.js'; import { styleMap } from 'lit/directives/style-map.js'; import { NoteConfigExtension } from '../config'; -import { isPageBlock } from '../utils'; import * as styles from './edgeless-note-background.css'; @requiredProperties({ @@ -162,7 +161,7 @@ export class EdgelessNoteBackground extends SignalWatcher( @pointerdown=${stopPropagation} @click=${this._handleClickAtBackground} > - ${isPageBlock(this.std, this.note) ? this._renderHeader() : nothing} + ${this.note.isPageBlock() ? this._renderHeader() : nothing} `; } diff --git a/blocksuite/affine/block-note/src/components/edgeless-page-block-title.ts b/blocksuite/affine/block-note/src/components/edgeless-page-block-title.ts index 6ece191c60254..e27f7d016b5ac 100644 --- a/blocksuite/affine/block-note/src/components/edgeless-page-block-title.ts +++ b/blocksuite/affine/block-note/src/components/edgeless-page-block-title.ts @@ -12,7 +12,6 @@ import { html } from 'lit'; import { property } from 'lit/decorators.js'; import { NoteConfigExtension } from '../config'; -import { isPageBlock } from '../utils'; import * as styles from './edgeless-page-block-title.css'; @requiredProperties({ @@ -22,7 +21,7 @@ export class EdgelessPageBlockTitle extends SignalWatcher( WithDisposable(ShadowlessElement) ) { override render() { - if (!isPageBlock(this.std, this.note)) return; + if (!this.note.isPageBlock()) return; const title = this.std .getOptional(NoteConfigExtension.identifier) diff --git a/blocksuite/affine/block-note/src/index.ts b/blocksuite/affine/block-note/src/index.ts index 2163db36e5fed..af41585d04158 100644 --- a/blocksuite/affine/block-note/src/index.ts +++ b/blocksuite/affine/block-note/src/index.ts @@ -6,4 +6,3 @@ export * from './note-block'; export * from './note-edgeless-block'; export * from './note-service'; export * from './note-spec'; -export { isPageBlock } from './utils'; diff --git a/blocksuite/affine/block-note/src/note-edgeless-block.ts b/blocksuite/affine/block-note/src/note-edgeless-block.ts index 02372048be10e..fa660e49b7df4 100644 --- a/blocksuite/affine/block-note/src/note-edgeless-block.ts +++ b/blocksuite/affine/block-note/src/note-edgeless-block.ts @@ -12,10 +12,10 @@ import { ifDefined } from 'lit/directives/if-defined.js'; import { styleMap } from 'lit/directives/style-map.js'; import { MoreIndicator } from './components/more-indicator'; +import { NoteConfigExtension } from './config'; import { NoteBlockComponent } from './note-block'; import { ACTIVE_NOTE_EXTRA_PADDING } from './note-edgeless-block.css'; import * as styles from './note-edgeless-block.css'; -import { isPageBlock } from './utils'; export const AFFINE_EDGELESS_NOTE = 'affine-edgeless-note'; @@ -219,6 +219,9 @@ export class EdgelessNoteBlockComponent extends toGfxBlockComponent( ? this._noteFullHeight < height : !!collapsedHeight && collapsedHeight < height; + const hasHeader = !!this.std.getOptional(NoteConfigExtension.identifier) + ?.edgelessNoteHeader; + return html`
- ${isCollapsable && !isPageBlock(this.std, this.model) + ${isCollapsable && (!this.model.isPageBlock() || !hasHeader) ? html`
{ }; export const EdgelessNoteHeader = ({ note }: { note: NoteBlockModel }) => { - const flags = useService(FeatureFlagService).flags; const insidePeekView = useInsidePeekView(); - if (!flags.enable_page_block) return null; - - const isFirstVisibleNote = - note.parent?.children.find( - child => - matchModels(child, [NoteBlockModel]) && - child.displayMode === NoteDisplayMode.DocAndEdgeless - ) === note; - - if (!isFirstVisibleNote) return null; + if (!note.isPageBlock()) return null; return (
diff --git a/packages/frontend/core/src/modules/feature-flag/constant.ts b/packages/frontend/core/src/modules/feature-flag/constant.ts index 6bf65266cbd85..434369382124a 100644 --- a/packages/frontend/core/src/modules/feature-flag/constant.ts +++ b/packages/frontend/core/src/modules/feature-flag/constant.ts @@ -231,17 +231,6 @@ export const AFFINE_FLAGS = { configurable: true, defaultState: isCanaryBuild, }, - // TODO(@L-Sun): remove this flag when ready - enable_page_block: { - category: 'blocksuite', - bsFlag: 'enable_page_block', - displayName: - 'com.affine.settings.workspace.experimental-features.enable-page-block-header.name', - description: - 'com.affine.settings.workspace.experimental-features.enable-page-block-header.description', - configurable: isCanaryBuild, - defaultState: isCanaryBuild, - }, enable_editor_rtl: { category: 'affine', displayName: diff --git a/packages/frontend/i18n/src/i18n.gen.ts b/packages/frontend/i18n/src/i18n.gen.ts index 34f63fd6bec44..7f443faa46ca1 100644 --- a/packages/frontend/i18n/src/i18n.gen.ts +++ b/packages/frontend/i18n/src/i18n.gen.ts @@ -5437,14 +5437,6 @@ export function useAFFiNEI18N(): { * `Once enabled, you can preview PDF in embed view.` */ ["com.affine.settings.workspace.experimental-features.enable-pdf-embed-preview.description"](): string; - /** - * `Page Block Header` - */ - ["com.affine.settings.workspace.experimental-features.enable-page-block-header.name"](): string; - /** - * `Once enabled, the header of page block will be displayed.` - */ - ["com.affine.settings.workspace.experimental-features.enable-page-block-header.description"](): string; /** * `Editor RTL` */ diff --git a/packages/frontend/i18n/src/resources/en.json b/packages/frontend/i18n/src/resources/en.json index f93bb3c01df9e..a7192903e81fa 100644 --- a/packages/frontend/i18n/src/resources/en.json +++ b/packages/frontend/i18n/src/resources/en.json @@ -1357,8 +1357,6 @@ "com.affine.settings.workspace.experimental-features.enable-mobile-edgeless-editing.description": "Once enabled, users can edit edgeless canvas.", "com.affine.settings.workspace.experimental-features.enable-pdf-embed-preview.name": "PDF embed preview", "com.affine.settings.workspace.experimental-features.enable-pdf-embed-preview.description": "Once enabled, you can preview PDF in embed view.", - "com.affine.settings.workspace.experimental-features.enable-page-block-header.name": "Page Block Header", - "com.affine.settings.workspace.experimental-features.enable-page-block-header.description": "Once enabled, the header of page block will be displayed.", "com.affine.settings.workspace.experimental-features.enable-editor-rtl.name": "Editor RTL", "com.affine.settings.workspace.experimental-features.enable-editor-rtl.description": "Once enabled, the editor will be displayed in RTL mode.", "com.affine.settings.workspace.not-owner": "Only an owner can edit the workspace avatar and name. Changes will be shown for everyone.",