UNPKG

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
/** * @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=