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:
Saul-Mirone
2025-03-16 05:48:34 +00:00
parent 8f9e5bf0aa
commit 26285f7dcb
193 changed files with 1019 additions and 891 deletions
@@ -26,7 +26,7 @@ export const deleteTextCommand: Command<{
let fromText: Text | undefined;
if (matchModels(fromElement.model, [RootBlockModel])) {
fromText = fromElement.model.title;
fromText = fromElement.model.props.title;
} else {
fromText = fromElement.model.text;
}
@@ -17,7 +17,7 @@ export function toDivider(
const { store: doc } = std;
if (
matchModels(model, [DividerBlockModel]) ||
(matchModels(model, [ParagraphBlockModel]) && model.type === 'quote')
(matchModels(model, [ParagraphBlockModel]) && model.props.type === 'quote')
) {
return;
}
@@ -38,8 +38,8 @@ export function markdownInput(
if (!isMarkdownPrefix(prefixText)) return;
const isParagraph = matchModels(model, [ParagraphBlockModel]);
const isHeading = isParagraph && model.type.startsWith('h');
const isParagraphQuoteBlock = isParagraph && model.type === 'quote';
const isHeading = isParagraph && model.props.type.startsWith('h');
const isParagraphQuoteBlock = isParagraph && model.props.type === 'quote';
const isCodeBlock = matchModels(model, [CodeBlockModel]);
if (
isHeading ||
@@ -36,7 +36,7 @@ export function toParagraph(
return id;
}
if (matchModels(model, [ParagraphBlockModel]) && model.type !== type) {
if (matchModels(model, [ParagraphBlockModel]) && model.props.type !== type) {
beforeConvert(std, model, prefix.length);
doc.updateBlock(model, { type });
@@ -11,7 +11,10 @@ export function toCode(
prefixText: string,
language: string | null
) {
if (matchModels(model, [ParagraphBlockModel]) && model.type === 'quote') {
if (
matchModels(model, [ParagraphBlockModel]) &&
model.props.type === 'quote'
) {
return;
}