mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 20:38:52 +00:00
feat(editor): unify block props api (#10888)
Closes: [BS-2707](https://linear.app/affine-design/issue/BS-2707/统一使用props获取和更新block-prop)
This commit is contained in:
@@ -54,7 +54,7 @@ describe('editor host', () => {
|
||||
|
||||
expect(headingElm!.tagName).toBe('TEST-H1-BLOCK');
|
||||
|
||||
(headingBlock.model as HeadingBlockModel).type = 'h2';
|
||||
(headingBlock.model as HeadingBlockModel).props.type = 'h2';
|
||||
await wait(50);
|
||||
headingElm = editorContainer.std.view.getBlock(headingId);
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ export const testSpecs: ExtensionType[] = [
|
||||
BlockViewExtension('test:note', literal`test-note-block`),
|
||||
|
||||
BlockViewExtension('test:heading', model => {
|
||||
const h = (model as HeadingBlockModel).type$.value;
|
||||
const h = (model as HeadingBlockModel).props.type$.value;
|
||||
|
||||
if (h === 'h1') {
|
||||
return literal`test-h1-block`;
|
||||
|
||||
@@ -63,6 +63,42 @@ export class GfxBlockElementModel<
|
||||
|
||||
connectable = true;
|
||||
|
||||
get xywh() {
|
||||
return this.props.xywh;
|
||||
}
|
||||
|
||||
get xywh$() {
|
||||
return this.props.xywh$;
|
||||
}
|
||||
|
||||
set xywh(xywh: SerializedXYWH) {
|
||||
this.props.xywh = xywh;
|
||||
}
|
||||
|
||||
get index() {
|
||||
return this.props.index;
|
||||
}
|
||||
|
||||
get index$() {
|
||||
return this.props.index$;
|
||||
}
|
||||
|
||||
set index(index: string) {
|
||||
this.props.index = index;
|
||||
}
|
||||
|
||||
get lockedBySelf(): boolean | undefined {
|
||||
return this.props.lockedBySelf;
|
||||
}
|
||||
|
||||
get lockedBySelf$() {
|
||||
return this.props.lockedBySelf$;
|
||||
}
|
||||
|
||||
set lockedBySelf(lockedBySelf: boolean | undefined) {
|
||||
this.props.lockedBySelf = lockedBySelf;
|
||||
}
|
||||
|
||||
/**
|
||||
* Defines the extension of the response area beyond the element's bounding box.
|
||||
* This tuple specifies the horizontal and vertical margins to be added to the element's [x, y, width, height].
|
||||
|
||||
@@ -109,6 +109,10 @@ export class SurfaceBlockModel extends BlockModel<SurfaceBlockProps> {
|
||||
return models;
|
||||
}
|
||||
|
||||
get elements() {
|
||||
return this.props.elements;
|
||||
}
|
||||
|
||||
get localElementModels() {
|
||||
return this.localElements;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user