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