fix(merge): after merge caret will be set in a place of glue (#2841)

* fix merge caret loosing

* changelog and patch

* Update nested-list

* Update Backspace.cy.ts

* Update Backspace.cy.ts

* fix tests

* fix tests
This commit is contained in:
Peter 2024-10-09 21:28:04 +03:00 committed by GitHub
commit eb7ffcba3c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 38 additions and 36 deletions

View file

@ -10,7 +10,7 @@ import type {
*/
export class SimpleHeader implements BaseTool {
private _data: BlockToolData;
private element: HTMLHeadingElement;
private element: HTMLHeadingElement | null = null;
/**
*
@ -39,10 +39,7 @@ export class SimpleHeader implements BaseTool {
* @param data - saved data to merger with current block
*/
public merge(data: BlockToolData): void {
this.data = {
text: this.data.text + data.text,
level: this.data.level,
};
this.element?.insertAdjacentHTML('beforeend', data.text);
}
/**
@ -66,25 +63,4 @@ export class SimpleHeader implements BaseTool {
import: 'text', // fill 'text' property from other block's export string
};
}
/**
* Data getter
*/
private get data(): BlockToolData {
this._data.text = this.element.innerHTML;
this._data.level = 1;
return this._data;
}
/**
* Data setter
*/
private set data(data: BlockToolData) {
this._data = data;
if (data.text !== undefined) {
this.element.innerHTML = this._data.text || '';
}
}
}