remove use of innerHTML for messages

This commit is contained in:
Cleon 2023-03-26 10:12:45 +13:00
parent 71c45bdf07
commit 214df0d6fb

View file

@ -4,8 +4,8 @@ export class MessageModal extends Modal {
private message:string;
constructor(app: App) {
super(app);
constructor( app: App ) {
super( app );
}
public async execute(
@ -15,12 +15,10 @@ export class MessageModal extends Modal {
this.titleEl.setText( title );
this.message = message;
this.contentEl.append( ...MessageModal.buildContent( message ) );
await new Promise<void>((resolve) => {
this.open();
this.onClose = () => {
this.contentEl.empty();
resolve();
@ -29,10 +27,17 @@ export class MessageModal extends Modal {
}
onOpen() {
const { contentEl } = this;
const formattedLines = this.message.split('\n').join('<br/>');
contentEl.innerHTML = formattedLines;
private static buildContent( message: string ) : Node[] {
const result = Array<Node>();
const lines = message.split( '\n' );
lines.forEach( line => {
result.push( createDiv( { text: line } ) );
} );
return result;
}
}