mirror of https://github.com/freeCodeCamp/devdocs
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.0 KiB
48 lines
1.0 KiB
// TODO: This file was created by bulk-decaffeinate.
|
|
// Sanity-check the conversion and remove this comment.
|
|
/*
|
|
* decaffeinate suggestions:
|
|
* DS002: Fix invalid constructor
|
|
* DS101: Remove unnecessary use of Array.from
|
|
* DS206: Consider reworking classes to avoid initClass
|
|
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/main/docs/suggestions.md
|
|
*/
|
|
const Cls = (app.views.Notice = class Notice extends app.View {
|
|
static initClass() {
|
|
this.className = "_notice";
|
|
this.attributes = { role: "alert" };
|
|
}
|
|
|
|
constructor(type, ...rest) {
|
|
this.type = type;
|
|
[...this.args] = Array.from(rest);
|
|
super(...arguments);
|
|
}
|
|
|
|
init() {
|
|
this.activate();
|
|
}
|
|
|
|
activate() {
|
|
if (super.activate(...arguments)) {
|
|
this.show();
|
|
}
|
|
}
|
|
|
|
deactivate() {
|
|
if (super.deactivate(...arguments)) {
|
|
this.hide();
|
|
}
|
|
}
|
|
|
|
show() {
|
|
this.html(this.tmpl(`${this.type}Notice`, ...Array.from(this.args)));
|
|
this.prependTo(app.el);
|
|
}
|
|
|
|
hide() {
|
|
$.remove(this.el);
|
|
}
|
|
});
|
|
Cls.initClass();
|