mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-23 21:38:44 +08:00
d8cbeb1bb1
Close [BS-3351](https://linear.app/affine-design/issue/BS-3351/无法通过拖拽frame-title来拖拽frame) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved rendering performance and consistency for widgets within frames. - Frame titles are now directly associated with individual frames and are draggable. - **Bug Fixes** - Selection logic for frames has been refined to better handle locked states and title area interactions. - **Refactor** - Frame title widget and related components have been simplified for clarity and maintainability. - Removed dynamic positioning and click toggling from frame titles for a cleaner interaction model. - **Tests** - Added a test to verify that frame titles are draggable. - Temporarily disabled tests related to frame title stacking and selection due to ongoing changes. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
22 lines
685 B
TypeScript
22 lines
685 B
TypeScript
import { type FrameBlockModel } from '@blocksuite/affine-model';
|
|
import { WidgetComponent, WidgetViewExtension } from '@blocksuite/std';
|
|
import { html } from 'lit';
|
|
import { literal, unsafeStatic } from 'lit/static-html.js';
|
|
|
|
export const AFFINE_FRAME_TITLE_WIDGET = 'affine-frame-title-widget';
|
|
|
|
export class AffineFrameTitleWidget extends WidgetComponent<FrameBlockModel> {
|
|
override render() {
|
|
return html`<affine-frame-title
|
|
.model=${this.model}
|
|
data-id=${this.model.id}
|
|
></affine-frame-title>`;
|
|
}
|
|
}
|
|
|
|
export const frameTitleWidget = WidgetViewExtension(
|
|
'affine:frame',
|
|
AFFINE_FRAME_TITLE_WIDGET,
|
|
literal`${unsafeStatic(AFFINE_FRAME_TITLE_WIDGET)}`
|
|
);
|