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

82 lines 6.02 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { BehaviorSubject } from 'rxjs'; import { Notification } from '../notification'; export class Notifier { /** * @param {?} notification */ constructor(notification) { this.trigger = new BehaviorSubject(new Notification()); if (notification) { this.trigger.next(notification); this.notice.action.subscribe((/** * @param {?} toggle * @return {?} */ (toggle) => { if (toggle) { this.activate(); } else { this.deactivate(); } if (!this.notice.actionButtons || this.notice.actionButtons.length === 0) { this.notice.defaultButtons(); } })); } } /** * @return {?} */ get notice() { return this.trigger.value; } /** * @return {?} */ get isActive() { return this.notice.status === 'activate' ? true : false; } /** * @return {?} */ get type() { return this.notice.type; } /** * @return {?} */ get duration() { return this.notice.timer.duration || null; } /** * @return {?} */ activate() { /** @type {?} */ const notification = this.notice; notification.status = 'activate'; this.trigger.next(notification); notification.opened(); } /** * @param {?=} status * @return {?} */ deactivate(status) { /** @type {?} */ const notification = this.notice; notification.status = 'deactivate'; this.trigger.next(notification); notification.close = status; } } if (false) { /** @type {?} */ Notifier.prototype.trigger; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9iaXBsYWItbm90aWZpZXIvIiwic291cmNlcyI6WyJsaWIvYWN0aW9uL25vdGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sUUFBUTs7OztJQUVqQixZQUFZLFlBQTBCO1FBRHRDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBZSxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFNUQsSUFBSSxZQUFZLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTOzs7O1lBQUMsQ0FBQyxNQUFlLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUNuQjtxQkFBTTtvQkFDSCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7aUJBQ3JCO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUNoQztZQUVMLENBQUMsRUFBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzs7O0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDOzs7O0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVELENBQUM7Ozs7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDOUMsQ0FBQzs7OztJQUVELFFBQVE7O2NBQ0UsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNO1FBQ2hDLFlBQVksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxNQUFZOztjQUNiLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTTtRQUNoQyxZQUFZLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxZQUFZLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0NBQ0o7OztJQS9DRywyQkFBZ0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL25vdGlmaWNhdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBOb3RpZmllciB7XG4gICAgdHJpZ2dlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm90aWZpY2F0aW9uPihuZXcgTm90aWZpY2F0aW9uKCkpO1xuICAgIGNvbnN0cnVjdG9yKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSB7XG4gICAgICAgIGlmIChub3RpZmljYXRpb24pIHtcbiAgICAgICAgICAgdGhpcy50cmlnZ2VyLm5leHQobm90aWZpY2F0aW9uKTtcbiAgICAgICAgICAgIHRoaXMubm90aWNlLmFjdGlvbi5zdWJzY3JpYmUoKHRvZ2dsZTogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0b2dnbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMubm90aWNlLmFjdGlvbkJ1dHRvbnMgfHwgdGhpcy5ub3RpY2UuYWN0aW9uQnV0dG9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RpY2UuZGVmYXVsdEJ1dHRvbnMoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IG5vdGljZSgpOiBOb3RpZmljYXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmlnZ2VyLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm90aWNlLnN0YXR1cyA9PT0gJ2FjdGl2YXRlJyA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5ub3RpY2UudHlwZTtcbiAgICB9XG5cbiAgICBnZXQgZHVyYXRpb24oKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vdGljZS50aW1lci5kdXJhdGlvbiB8fCBudWxsO1xuICAgIH1cblxuICAgIGFjdGl2YXRlKCkge1xuICAgICAgICBjb25zdCBub3RpZmljYXRpb24gPSB0aGlzLm5vdGljZTtcbiAgICAgICAgbm90aWZpY2F0aW9uLnN0YXR1cyA9ICdhY3RpdmF0ZSc7XG4gICAgICAgIHRoaXMudHJpZ2dlci5uZXh0KG5vdGlmaWNhdGlvbik7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5vcGVuZWQoKTtcbiAgICB9XG5cbiAgICBkZWFjdGl2YXRlKHN0YXR1cz86IGFueSkge1xuICAgICAgICBjb25zdCBub3RpZmljYXRpb24gPSB0aGlzLm5vdGljZTtcbiAgICAgICAgbm90aWZpY2F0aW9uLnN0YXR1cyA9ICdkZWFjdGl2YXRlJztcbiAgICAgICAgdGhpcy50cmlnZ2VyLm5leHQobm90aWZpY2F0aW9uKTtcbiAgICAgICAgbm90aWZpY2F0aW9uLmNsb3NlID0gc3RhdHVzO1xuICAgIH1cbn1cbiJdfQ==