|
|
|
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);
|
|
|
|
}
|
|
|
|
};
|