biplab-notifier
Version:
This is a notification npm package, it can be use as simple notification or modal dialog, a lot of customization option are available as well, checkout the github repo and examples
105 lines • 6.94 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { BehaviorSubject } from 'rxjs';
import { Notification } from '../notification';
var Notifier = /** @class */ (function () {
function Notifier(notification) {
var _this = this;
this.trigger = new BehaviorSubject(new Notification());
if (notification) {
this.trigger.next(notification);
this.notice.action.subscribe((/**
* @param {?} toggle
* @return {?}
*/
function (toggle) {
if (toggle) {
_this.activate();
}
else {
_this.deactivate();
}
if (!_this.notice.actionButtons || _this.notice.actionButtons.length === 0) {
_this.notice.defaultButtons();
}
}));
}
}
Object.defineProperty(Notifier.prototype, "notice", {
get: /**
* @return {?}
*/
function () {
return this.trigger.value;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Notifier.prototype, "isActive", {
get: /**
* @return {?}
*/
function () {
return this.notice.status === 'activate' ? true : false;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Notifier.prototype, "type", {
get: /**
* @return {?}
*/
function () {
return this.notice.type;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Notifier.prototype, "duration", {
get: /**
* @return {?}
*/
function () {
return this.notice.timer.duration || null;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
Notifier.prototype.activate = /**
* @return {?}
*/
function () {
/** @type {?} */
var notification = this.notice;
notification.status = 'activate';
this.trigger.next(notification);
notification.opened();
};
/**
* @param {?=} status
* @return {?}
*/
Notifier.prototype.deactivate = /**
* @param {?=} status
* @return {?}
*/
function (status) {
/** @type {?} */
var notification = this.notice;
notification.status = 'deactivate';
this.trigger.next(notification);
notification.close = status;
};
return Notifier;
}());
export { Notifier };
if (false) {
/** @type {?} */
Notifier.prototype.trigger;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9iaXBsYWItbm90aWZpZXIvIiwic291cmNlcyI6WyJsaWIvYWN0aW9uL25vdGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQztJQUVJLGtCQUFZLFlBQTBCO1FBQXRDLGlCQWVDO1FBaEJELFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBZSxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFNUQsSUFBSSxZQUFZLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTOzs7O1lBQUMsVUFBQyxNQUFlO2dCQUN6QyxJQUFJLE1BQU0sRUFBRTtvQkFDUixLQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ25CO3FCQUFNO29CQUNILEtBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztpQkFDckI7Z0JBQ0QsSUFBSSxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLEtBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQ3RFLEtBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQ2hDO1lBRUwsQ0FBQyxFQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxzQkFBSSw0QkFBTTs7OztRQUFWO1lBQ0ksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM5QixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDhCQUFROzs7O1FBQVo7WUFDSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDNUQsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwwQkFBSTs7OztRQUFSO1lBQ0ksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUM1QixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDhCQUFROzs7O1FBQVo7WUFDSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDOUMsQ0FBQzs7O09BQUE7Ozs7SUFFRCwyQkFBUTs7O0lBQVI7O1lBQ1UsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNO1FBQ2hDLFlBQVksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUVELDZCQUFVOzs7O0lBQVYsVUFBVyxNQUFZOztZQUNiLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTTtRQUNoQyxZQUFZLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxZQUFZLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBQ0wsZUFBQztBQUFELENBQUMsQUFoREQsSUFnREM7Ozs7SUEvQ0csMkJBQWdFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9ub3RpZmljYXRpb24nO1xuXG5leHBvcnQgY2xhc3MgTm90aWZpZXIge1xuICAgIHRyaWdnZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5vdGlmaWNhdGlvbj4obmV3IE5vdGlmaWNhdGlvbigpKTtcbiAgICBjb25zdHJ1Y3Rvcihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgICAgICBpZiAobm90aWZpY2F0aW9uKSB7XG4gICAgICAgICAgIHRoaXMudHJpZ2dlci5uZXh0KG5vdGlmaWNhdGlvbik7XG4gICAgICAgICAgICB0aGlzLm5vdGljZS5hY3Rpb24uc3Vic2NyaWJlKCh0b2dnbGU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodG9nZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm5vdGljZS5hY3Rpb25CdXR0b25zIHx8IHRoaXMubm90aWNlLmFjdGlvbkJ1dHRvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWNlLmRlZmF1bHRCdXR0b25zKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBub3RpY2UoKTogTm90aWZpY2F0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJpZ2dlci52YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGljZS5zdGF0dXMgPT09ICdhY3RpdmF0ZScgPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm90aWNlLnR5cGU7XG4gICAgfVxuXG4gICAgZ2V0IGR1cmF0aW9uKCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5ub3RpY2UudGltZXIuZHVyYXRpb24gfHwgbnVsbDtcbiAgICB9XG5cbiAgICBhY3RpdmF0ZSgpIHtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gdGhpcy5ub3RpY2U7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5zdGF0dXMgPSAnYWN0aXZhdGUnO1xuICAgICAgICB0aGlzLnRyaWdnZXIubmV4dChub3RpZmljYXRpb24pO1xuICAgICAgICBub3RpZmljYXRpb24ub3BlbmVkKCk7XG4gICAgfVxuXG4gICAgZGVhY3RpdmF0ZShzdGF0dXM/OiBhbnkpIHtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gdGhpcy5ub3RpY2U7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5zdGF0dXMgPSAnZGVhY3RpdmF0ZSc7XG4gICAgICAgIHRoaXMudHJpZ2dlci5uZXh0KG5vdGlmaWNhdGlvbik7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5jbG9zZSA9IHN0YXR1cztcbiAgICB9XG59XG4iXX0=