Added status messages

This commit is contained in:
2017-07-12 20:37:34 +02:00
parent ab938e804c
commit 9d309b2e8c
9 changed files with 124 additions and 48 deletions

37
scripts/StatusMessage.ts Normal file
View File

@ -0,0 +1,37 @@
import { delay } from "./Utils"
export class StatusMessage {
container: HTMLElement
text: HTMLElement
constructor(container: HTMLElement, text: HTMLElement) {
this.container = container
this.text = text
}
show(message: string, duration?: number) {
let messageId = String(Date.now())
this.text.innerText = message
this.container.classList.remove("fade-out")
this.container.dataset.messageId = messageId
delay(duration || 4000).then(() => {
if(this.container.dataset.messageId !== messageId) {
return
}
this.close()
})
}
showError(message: string, duration?: number) {
this.show(message, duration)
this.container.classList.add("error-message")
}
close() {
this.container.classList.add("fade-out")
}
}