/** | |
* Hint menu alert, positioned at the exact char. | |
*/ | |
"use strict"; | |
define(function () { | |
return { | |
/** | |
* Construct a new alert object | |
*/ | |
create : function (msg) { | |
return Object.create(this)._init(msg); | |
}, | |
// Init | |
_init : function (msg) { | |
const t = this; | |
t._type = 'alert'; | |
t.active = false; | |
t._el = document.createElement('div'); | |
t._el.style.display = 'none'; | |
t._el.classList.add('alert', 'hint'); | |
return t; | |
}, | |
/** | |
* Show alert. | |
*/ | |
show : function (msg) { | |
this.active = true; | |
const e = this._el; | |
e.textContent = msg; | |
e.style.display = 'block'; | |
}, | |
/** | |
* Hide alert. | |
*/ | |
hide : function () { | |
if (!this.active) | |
return false; | |
this._el.style.display = 'none'; | |
this.active = false; | |
return true; | |
}, | |
/** | |
* Get alert object. | |
*/ | |
element : function () { | |
return this._el; | |
} | |
} | |
}); |