37 lines · 648 B · JavaScript
RawDownload
app.views.Notice = class Notice extends app.View {  static className = "_notice";  static attributes = { role: "alert" };   constructor(type, ...args) {    super();    this.type = type;    this.args = args || [];    this.init0(); // needs this.args    this.refreshElements();  }   init0() {    this.activate();  }   activate() {    if (super.activate(...arguments)) {      this.show();    }  }   deactivate() {    if (super.deactivate(...arguments)) {      this.hide();    }  }   show() {    this.html(this.tmpl(`${this.type}Notice`, ...this.args));    this.prependTo(app.el);  }   hide() {    $.remove(this.el);  }};