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

93 lines 8.97 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, TemplateRef } from '@angular/core'; import { Notifier } from '../action/notifier'; import { MultiNotifier, SingleNotifier } from '../layout/notifier'; import { Notification } from '../notification'; export class NotifierComponent { constructor() { } /** * @return {?} */ ngOnInit() { if (this.notification) { this.notifier = new Notifier(this.notification); } } /** * @param {?} event * @return {?} */ close(event) { this.notifier.deactivate(event); } /** * @return {?} */ get status() { return this.notifier.isActive; } /** * @return {?} */ get timer() { if (this.notifier.notice.timer) { return this.notifier.notice.timer.duration; } return null; } /** * @return {?} */ get layout() { if (this.notifier.notice.layout instanceof MultiNotifier) { return 'multi'; } else if (this.notifier.notice.layout instanceof SingleNotifier) { return 'single'; } else { return null; } } /** * @return {?} */ get notificationHint() { return { layout: this.notifier.notice.layout, data: this.notifier.notice.data, type: this.notifier.type, template: this.notifierTemplates, css: this.notifier.notice.css, buttons: this.notifier.notice.actionButtons }; } } NotifierComponent.decorators = [ { type: Component, args: [{ selector: 'biplab-notifier', template: "<div *ngIf=\"notifier && status\">\n <ng-template [ngIf]=\"!customTemplate && layout === 'single'\">\n <biplab-notification [layoutHint]=\"notificationHint\" (close)=\"close($event)\">\n <span notificationIcon><ng-content select=\"[notifierIcon]\"></ng-content></span>\n <span notificationTitle><ng-content select=\"[notifierTitle]\"></ng-content></span>\n <span notificationMessage><ng-content select=\"[notifierMessage]\"></ng-content></span> \n </biplab-notification>\n </ng-template>\n <ng-template [ngIf]=\"!customTemplate && layout === 'multi'\">\n <biplab-notifications\n [layoutHint]=\"notificationHint\"\n (close)=\"close($event)\">\n <span notificationIcon><ng-content select=\"[notifierIcon]\"></ng-content></span>\n <span notificationTitle><ng-content select=\"[notifierTitle]\"></ng-content></span>\n <span notificationMessages><ng-content select=\"[notifierMessages]\"></ng-content></span>\n\n <span notificationTrueButton><ng-content select=\"[notifierTrueButton]\"></ng-content></span>\n <span notificationFalseButton><ng-content select=\"[notifierFalseButton]\"></ng-content></span>\n\n <span notificationFooter><ng-content select=\"[notifierFooter]\"></ng-content></span>\n </biplab-notifications>\n </ng-template>\n <ng-template [ngIf]=\"customTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplate;context:{ data: notificationHint, notificationClose: close.bind(this) }\"></ng-container>\n </ng-template> \n</div>\n", styles: ["@-webkit-keyframes show{0%{display:none;opacity:0}1%{display:block}100%{display:block;opacity:1}}@keyframes show{0%{display:none;opacity:0}1%{display:block}100%{display:block;opacity:1}}@-webkit-keyframes hide{0%{display:block;opacity:1}99%{display:block}100%{display:none;opacity:0}}@keyframes hide{0%{display:block;opacity:1}99%{display:block}100%{display:none;opacity:0}}.message-show{-webkit-animation:1s linear both show;animation:1s linear both show}.message-hide{-webkit-animation:1s linear both hide;animation:1s linear both hide}"] }] } ]; /** @nocollapse */ NotifierComponent.ctorParameters = () => []; NotifierComponent.propDecorators = { notifierTemplates: [{ type: Input }], customTemplate: [{ type: Input }], notification: [{ type: Input }] }; if (false) { /** @type {?} */ NotifierComponent.prototype.notifierTemplates; /** @type {?} */ NotifierComponent.prototype.customTemplate; /** @type {?} */ NotifierComponent.prototype.notification; /** @type {?} */ NotifierComponent.prototype.notifier; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYmlwbGFiLW5vdGlmaWVyLyIsInNvdXJjZXMiOlsibGliL25vdGlmaWVyL25vdGlmaWVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBb0IsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFTL0MsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixnQkFBZ0IsQ0FBQzs7OztJQUVqQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7Ozs7SUFHRCxJQUFJLEtBQUs7UUFDUCxJQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRztZQUNoQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7U0FDNUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFHRCxJQUFJLE1BQU07UUFDUixJQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBWSxhQUFhLEVBQUU7WUFDekQsT0FBTyxPQUFPLENBQUM7U0FDaEI7YUFBTSxJQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBWSxjQUFjLEVBQUU7WUFDakUsT0FBTyxRQUFRLENBQUM7U0FDakI7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDOzs7O0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDaEMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUc7WUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWE7U0FDNUMsQ0FBQztJQUNKLENBQUM7OztZQXZERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsK2lEQUF3Qzs7YUFFekM7Ozs7O2dDQUVFLEtBQUs7NkJBQ0wsS0FBSzsyQkFDTCxLQUFLOzs7O0lBRk4sOENBQThDOztJQUM5QywyQ0FBMEM7O0lBQzFDLHlDQUFvQzs7SUFDcEMscUNBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZpZXIgfSBmcm9tICcuLi9hY3Rpb24vbm90aWZpZXInO1xuaW1wb3J0IHsgTXVsdGlOb3RpZmllciwgU2luZ2xlTm90aWZpZXIsIE5vdGlmaWNhdGlvbkhpbnQgfSBmcm9tICcuLi9sYXlvdXQvbm90aWZpZXInO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE5vdGlmaWVyVGVtcGxhdGUgfSBmcm9tICcuLi90ZW1wbGF0ZS9ub3RpZmllcic7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlwbGFiLW5vdGlmaWVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpZXIuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmllckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG5vdGlmaWVyVGVtcGxhdGVzPzogTm90aWZpZXJUZW1wbGF0ZTtcbiAgQElucHV0KCkgY3VzdG9tVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICBub3RpZmllcjogTm90aWZpZXI7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5ub3RpZmljYXRpb24pIHtcbiAgICAgIHRoaXMubm90aWZpZXIgPSBuZXcgTm90aWZpZXIodGhpcy5ub3RpZmljYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm5vdGlmaWVyLmRlYWN0aXZhdGUoZXZlbnQpO1xuICB9XG5cbiAgZ2V0IHN0YXR1cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub3RpZmllci5pc0FjdGl2ZTtcbiAgfVxuXG5cbiAgZ2V0IHRpbWVyKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICggdGhpcy5ub3RpZmllci5ub3RpY2UudGltZXIgKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub3RpZmllci5ub3RpY2UudGltZXIuZHVyYXRpb247XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cblxuICBnZXQgbGF5b3V0KCk6ICdzaW5nbGUnfCdtdWx0aSd8IG51bGwge1xuICAgIGlmICggdGhpcy5ub3RpZmllci5ub3RpY2UubGF5b3V0IGluc3RhbmNlb2YgTXVsdGlOb3RpZmllcikge1xuICAgICAgcmV0dXJuICdtdWx0aSc7XG4gICAgfSBlbHNlIGlmICggdGhpcy5ub3RpZmllci5ub3RpY2UubGF5b3V0IGluc3RhbmNlb2YgU2luZ2xlTm90aWZpZXIpIHtcbiAgICAgIHJldHVybiAnc2luZ2xlJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG5vdGlmaWNhdGlvbkhpbnQoKTogTm90aWZpY2F0aW9uSGludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxheW91dDogdGhpcy5ub3RpZmllci5ub3RpY2UubGF5b3V0LFxuICAgICAgZGF0YTogdGhpcy5ub3RpZmllci5ub3RpY2UuZGF0YSxcbiAgICAgIHR5cGU6IHRoaXMubm90aWZpZXIudHlwZSxcbiAgICAgIHRlbXBsYXRlOiB0aGlzLm5vdGlmaWVyVGVtcGxhdGVzLFxuICAgICAgY3NzOiB0aGlzLm5vdGlmaWVyLm5vdGljZS5jc3MsXG4gICAgICBidXR0b25zOiB0aGlzLm5vdGlmaWVyLm5vdGljZS5hY3Rpb25CdXR0b25zXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=