diff --git a/docs/en/guide/schema.md b/docs/en/guide/schema.md index 682dd59..e9fe133 100644 --- a/docs/en/guide/schema.md +++ b/docs/en/guide/schema.md @@ -154,7 +154,10 @@ interface IElement { }; // title level?: TitleLevel; - title?: ITitle; + title?: { + conceptId?: string; + deletable?: boolean; + }; // list listType?: ListType; listStyle?: ListStyle; diff --git a/docs/guide/schema.md b/docs/guide/schema.md index 8965300..11c5c55 100644 --- a/docs/guide/schema.md +++ b/docs/guide/schema.md @@ -154,7 +154,10 @@ interface IElement { }; // 标题 level?: TitleLevel; - title?: ITitle; + title?: { + conceptId?: string; + deletable?: boolean; + }; // 列表 listType?: ListType; listStyle?: ListStyle; diff --git a/src/editor/core/draw/Draw.ts b/src/editor/core/draw/Draw.ts index 60128f8..1a02e90 100644 --- a/src/editor/core/draw/Draw.ts +++ b/src/editor/core/draw/Draw.ts @@ -685,7 +685,11 @@ export class Draw { if (!this.control.getActiveControl()) { let deleteIndex = endIndex - 1 while (deleteIndex >= start) { - if (elementList[deleteIndex]?.control?.deletable !== false) { + const deleteElement = elementList[deleteIndex] + if ( + deleteElement?.control?.deletable !== false && + deleteElement?.title?.deletable !== false + ) { elementList.splice(deleteIndex, 1) } deleteIndex-- diff --git a/src/editor/interface/Title.ts b/src/editor/interface/Title.ts index 0f4641a..1e97ac2 100644 --- a/src/editor/interface/Title.ts +++ b/src/editor/interface/Title.ts @@ -12,7 +12,11 @@ export interface ITitleSizeOption { export type ITitleOption = ITitleSizeOption & {} -export interface ITitle { +export interface ITitleRule { + deletable?: boolean +} + +export type ITitle = ITitleRule & { conceptId?: string }