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