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