@stratio/egeo
Version:
208 lines • 12.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/st-alerts/st-alerts.model.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* © 2017 Stratio Big Data Inc., Sucursal en España.
*
* This software is licensed under the Apache License, Version 2.0.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the terms of the License for more details.
*
* SPDX-License-Identifier: Apache-2.0.
*/
import { Subject } from 'rxjs';
/** @enum {number} */
const STALERT_SEVERITY = {
SUCCESS: 0, WARNING: 1, ERROR: 2,
};
export { STALERT_SEVERITY };
STALERT_SEVERITY[STALERT_SEVERITY.SUCCESS] = 'SUCCESS';
STALERT_SEVERITY[STALERT_SEVERITY.WARNING] = 'WARNING';
STALERT_SEVERITY[STALERT_SEVERITY.ERROR] = 'ERROR';
export class StAlertLink {
}
if (false) {
/** @type {?} */
StAlertLink.prototype.title;
/** @type {?} */
StAlertLink.prototype.link;
}
export class StAlert {
/**
* @param {?} id
* @param {?} title
* @param {?} message
* @param {?} severity
* @param {?} timeout
* @param {?} extendedTimeout
* @param {?} link
*/
constructor(id, title, message, severity, timeout, extendedTimeout, link) {
this.id = id;
this.title = title;
this.message = message;
this.severity = severity;
this.timeout = timeout;
this.extendedTimeout = extendedTimeout;
this.link = link;
this._readed = false;
this._opacity = 0;
this._opacityState = new Subject();
this._removeEvent = new Subject();
}
/**
* @return {?}
*/
get opacity() {
return this._opacityState.asObservable();
}
/**
* @return {?}
*/
get removeAlertEvent() {
return this._removeEvent.asObservable();
}
/**
* @return {?}
*/
notify() {
this.setVisible(true);
}
/**
* @return {?}
*/
pauseNotify() {
this._opacity = 1;
this._readed = true;
this.clearAnimation();
this.stopLife();
this._opacityState.next(this._opacity);
}
/**
* @return {?}
*/
continueNotify() {
this.startLife();
}
/**
* @return {?}
*/
cancel() {
this.setVisible(false);
}
/**
* @private
* @param {?} increase
* @return {?}
*/
setVisible(increase) {
this.clearAnimation();
this._changeVisibilityInterval = window.setInterval((/**
* @return {?}
*/
() => this.modifyVisibility(increase)), 50);
}
/**
* @private
* @param {?} increase
* @return {?}
*/
modifyVisibility(increase) {
this._opacity += increase ? 0.1 : -0.1;
if (this._opacity >= 1 || this._opacity <= 0) {
this.clearAnimation();
if (increase) {
this.startLife();
}
else {
this.notifyForRemove();
}
}
this._opacityState.next(this._opacity);
}
/**
* @private
* @return {?}
*/
notifyForRemove() {
this._opacityState.complete();
this._removeEvent.next(this);
this._removeEvent.complete();
}
/**
* @private
* @return {?}
*/
clearAnimation() {
window.clearInterval(this._changeVisibilityInterval);
}
/**
* @private
* @return {?}
*/
stopLife() {
window.clearTimeout(this._lifeTimeout);
}
/**
* @private
* @return {?}
*/
startLife() {
/** @type {?} */
let timeout = this._readed ? this.extendedTimeout : this.timeout;
this._lifeTimeout = window.setTimeout((/**
* @return {?}
*/
() => this.setVisible(false)), timeout);
}
}
if (false) {
/**
* @type {?}
* @private
*/
StAlert.prototype._changeVisibilityInterval;
/**
* @type {?}
* @private
*/
StAlert.prototype._lifeTimeout;
/**
* @type {?}
* @private
*/
StAlert.prototype._readed;
/**
* @type {?}
* @private
*/
StAlert.prototype._opacity;
/**
* @type {?}
* @private
*/
StAlert.prototype._opacityState;
/**
* @type {?}
* @private
*/
StAlert.prototype._removeEvent;
/** @type {?} */
StAlert.prototype.id;
/** @type {?} */
StAlert.prototype.title;
/** @type {?} */
StAlert.prototype.message;
/** @type {?} */
StAlert.prototype.severity;
/** @type {?} */
StAlert.prototype.timeout;
/** @type {?} */
StAlert.prototype.extendedTimeout;
/** @type {?} */
StAlert.prototype.link;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3QtYWxlcnRzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN0cmF0aW8vZWdlby8iLCJzb3VyY2VzIjpbImxpYi9zdC1hbGVydHMvc3QtYWxlcnRzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQVVBLE9BQU8sRUFBNEIsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd6RCxNQUFZLGdCQUFnQjtJQUFHLE9BQU8sR0FBQSxFQUFFLE9BQU8sR0FBQSxFQUFFLEtBQUssR0FBQTtFQUFFOzs7OztBQUV4RCxNQUFNLE9BQU8sV0FBVztDQUd2Qjs7O0lBRkUsNEJBQXFCOztJQUNyQiwyQkFBb0I7O0FBR3ZCLE1BQU0sT0FBTyxPQUFPOzs7Ozs7Ozs7O0lBUWpCLFlBQ1UsRUFBVSxFQUNWLEtBQWEsRUFDYixPQUFlLEVBQ2YsUUFBMEIsRUFDMUIsT0FBZSxFQUNmLGVBQXVCLEVBQ3ZCLElBQWlCO1FBTmpCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixvQkFBZSxHQUFmLGVBQWUsQ0FBUTtRQUN2QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBWm5CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUNyQixrQkFBYSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3ZELGlCQUFZLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7SUFVNUQsQ0FBQzs7OztJQUVMLElBQUksT0FBTztRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs7O0lBRUQsSUFBSSxnQkFBZ0I7UUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7Ozs7SUFFRCxNQUFNO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsV0FBVztRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Ozs7SUFFRCxjQUFjO1FBQ1gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7SUFFRCxNQUFNO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOzs7Ozs7SUFHTyxVQUFVLENBQUMsUUFBaUI7UUFDakMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxNQUFNLENBQUMsV0FBVzs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7Ozs7OztJQUVPLGdCQUFnQixDQUFDLFFBQWlCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksUUFBUSxFQUFFO2dCQUNYLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNuQjtpQkFBTTtnQkFDSixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDekI7U0FDSDtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7OztJQUVPLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7Ozs7O0lBRU8sY0FBYztRQUNuQixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Ozs7O0lBRU8sUUFBUTtRQUNiLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7Ozs7O0lBRU8sU0FBUzs7WUFDVixPQUFPLEdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87UUFDeEUsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsVUFBVTs7O1FBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRSxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDO0NBQ0g7Ozs7OztJQWxGRSw0Q0FBMEM7Ozs7O0lBQzFDLCtCQUE2Qjs7Ozs7SUFDN0IsMEJBQWlDOzs7OztJQUNqQywyQkFBNkI7Ozs7O0lBQzdCLGdDQUErRDs7Ozs7SUFDL0QsK0JBQWdFOztJQUc3RCxxQkFBaUI7O0lBQ2pCLHdCQUFvQjs7SUFDcEIsMEJBQXNCOztJQUN0QiwyQkFBaUM7O0lBQ2pDLDBCQUFzQjs7SUFDdEIsa0NBQThCOztJQUM5Qix1QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogwqkgMjAxNyBTdHJhdGlvIEJpZyBEYXRhIEluYy4sIFN1Y3Vyc2FsIGVuIEVzcGHDsWEuXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTtcbiAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4gKiBTZWUgdGhlIHRlcm1zIG9mIHRoZSBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAuXG4gKi9cbmltcG9ydCB7IE9ic2VydmFibGUgLCAgT2JzZXJ2ZXIgLCAgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTptYXgtY2xhc3Nlcy1wZXItZmlsZVxuZXhwb3J0IGVudW0gU1RBTEVSVF9TRVZFUklUWSB7IFNVQ0NFU1MsIFdBUk5JTkcsIEVSUk9SIH1cblxuZXhwb3J0IGNsYXNzIFN0QWxlcnRMaW5rIHtcbiAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICAgcHVibGljIGxpbms6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFN0QWxlcnQge1xuICAgcHJpdmF0ZSBfY2hhbmdlVmlzaWJpbGl0eUludGVydmFsOiBudW1iZXI7XG4gICBwcml2YXRlIF9saWZlVGltZW91dDogbnVtYmVyO1xuICAgcHJpdmF0ZSBfcmVhZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICBwcml2YXRlIF9vcGFjaXR5OiBudW1iZXIgPSAwO1xuICAgcHJpdmF0ZSBfb3BhY2l0eVN0YXRlOiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gICBwcml2YXRlIF9yZW1vdmVFdmVudDogU3ViamVjdDxTdEFsZXJ0PiA9IG5ldyBTdWJqZWN0PFN0QWxlcnQ+KCk7XG5cbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGlkOiBudW1iZXIsXG4gICAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcbiAgICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICBwdWJsaWMgc2V2ZXJpdHk6IFNUQUxFUlRfU0VWRVJJVFksXG4gICAgICBwdWJsaWMgdGltZW91dDogbnVtYmVyLFxuICAgICAgcHVibGljIGV4dGVuZGVkVGltZW91dDogbnVtYmVyLFxuICAgICAgcHVibGljIGxpbms6IFN0QWxlcnRMaW5rXG4gICApIHsgfVxuXG4gICBnZXQgb3BhY2l0eSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgcmV0dXJuIHRoaXMuX29wYWNpdHlTdGF0ZS5hc09ic2VydmFibGUoKTtcbiAgIH1cblxuICAgZ2V0IHJlbW92ZUFsZXJ0RXZlbnQoKTogT2JzZXJ2YWJsZTxTdEFsZXJ0PiB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVtb3ZlRXZlbnQuYXNPYnNlcnZhYmxlKCk7XG4gICB9XG5cbiAgIG5vdGlmeSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuc2V0VmlzaWJsZSh0cnVlKTtcbiAgIH1cblxuICAgcGF1c2VOb3RpZnkoKTogdm9pZCB7XG4gICAgICB0aGlzLl9vcGFjaXR5ID0gMTtcbiAgICAgIHRoaXMuX3JlYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLmNsZWFyQW5pbWF0aW9uKCk7XG4gICAgICB0aGlzLnN0b3BMaWZlKCk7XG4gICAgICB0aGlzLl9vcGFjaXR5U3RhdGUubmV4dCh0aGlzLl9vcGFjaXR5KTtcbiAgIH1cblxuICAgY29udGludWVOb3RpZnkoKTogdm9pZCB7XG4gICAgICB0aGlzLnN0YXJ0TGlmZSgpO1xuICAgfVxuXG4gICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICB0aGlzLnNldFZpc2libGUoZmFsc2UpO1xuICAgfVxuXG5cbiAgIHByaXZhdGUgc2V0VmlzaWJsZShpbmNyZWFzZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgdGhpcy5jbGVhckFuaW1hdGlvbigpO1xuICAgICAgdGhpcy5fY2hhbmdlVmlzaWJpbGl0eUludGVydmFsID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHRoaXMubW9kaWZ5VmlzaWJpbGl0eShpbmNyZWFzZSksIDUwKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBtb2RpZnlWaXNpYmlsaXR5KGluY3JlYXNlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICB0aGlzLl9vcGFjaXR5ICs9IGluY3JlYXNlID8gMC4xIDogLTAuMTtcbiAgICAgIGlmICh0aGlzLl9vcGFjaXR5ID49IDEgfHwgdGhpcy5fb3BhY2l0eSA8PSAwKSB7XG4gICAgICAgICB0aGlzLmNsZWFyQW5pbWF0aW9uKCk7XG4gICAgICAgICBpZiAoaW5jcmVhc2UpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRMaWZlKCk7XG4gICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ub3RpZnlGb3JSZW1vdmUoKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX29wYWNpdHlTdGF0ZS5uZXh0KHRoaXMuX29wYWNpdHkpO1xuICAgfVxuXG4gICBwcml2YXRlIG5vdGlmeUZvclJlbW92ZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuX29wYWNpdHlTdGF0ZS5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5fcmVtb3ZlRXZlbnQubmV4dCh0aGlzKTtcbiAgICAgIHRoaXMuX3JlbW92ZUV2ZW50LmNvbXBsZXRlKCk7XG4gICB9XG5cbiAgIHByaXZhdGUgY2xlYXJBbmltYXRpb24oKTogdm9pZCB7XG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLl9jaGFuZ2VWaXNpYmlsaXR5SW50ZXJ2YWwpO1xuICAgfVxuXG4gICBwcml2YXRlIHN0b3BMaWZlKCk6IHZvaWQge1xuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9saWZlVGltZW91dCk7XG4gICB9XG5cbiAgIHByaXZhdGUgc3RhcnRMaWZlKCk6IHZvaWQge1xuICAgICAgbGV0IHRpbWVvdXQ6IG51bWJlciA9IHRoaXMuX3JlYWRlZCA/IHRoaXMuZXh0ZW5kZWRUaW1lb3V0IDogdGhpcy50aW1lb3V0O1xuICAgICAgdGhpcy5fbGlmZVRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldFZpc2libGUoZmFsc2UpLCB0aW1lb3V0KTtcbiAgIH1cbn1cbiJdfQ==