UNPKG

ad-custom-lib

Version:

This is an UI custom library based on Adminlte library with purpose for personal use, if you need a full template of Primeng please visit https://github.com/mledour/angular-admin-lte

249 lines 17.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Output, Renderer2, ViewChild, ViewContainerRef } from '@angular/core'; import { removeListeners } from '../helpers'; /* * */ var AlertComponent = /** @class */ (function () { /** * @method constructor * @param changeDetectorRef [description] * @param ngZone [description] * @param renderer2 [description] * @param viewContainerRef [description] */ function AlertComponent(changeDetectorRef, ngZone, renderer2, viewContainerRef) { this.changeDetectorRef = changeDetectorRef; this.ngZone = ngZone; this.renderer2 = renderer2; this.viewContainerRef = viewContainerRef; this.dismissibleClass = 'alert-dismissible'; this.isDismissible = true; this.remove = false; this.type = 'alert'; this.listeners = []; this.backgroundColor = 'danger'; this.styleClass = ''; this.onCollapseStart = new EventEmitter(); this.onCollapseDone = new EventEmitter(); } Object.defineProperty(AlertComponent.prototype, "callout", { set: /** * @param {?} value * @return {?} */ function (value) { this.type = value ? 'callout' : 'alert'; }, enumerable: true, configurable: true }); Object.defineProperty(AlertComponent.prototype, "_isDismissible", { set: /** * @param {?} value * @return {?} */ function (value) { this.isDismissible = value; if (value) { this.dismissibleClass = this.type + "-dismissible"; } else { this.dismissibleClass = ''; } }, enumerable: true, configurable: true }); /** * @method ngOnInit */ /** * \@method ngOnInit * @return {?} */ AlertComponent.prototype.ngAfterViewInit = /** * \@method ngOnInit * @return {?} */ function () { var _this = this; this.ngZone.runOutsideAngular((/** * @return {?} */ function () { if (_this.dismissOnTimeout) { setTimeout((/** * @return {?} */ function () { if (!((/** @type {?} */ (_this.changeDetectorRef))).destroyed) { _this.remove = true; _this.changeDetectorRef.detectChanges(); } }), _this.dismissOnTimeout); } if (_this.removeButtonElement) { _this.listeners.push(_this.renderer2.listen(_this.removeButtonElement.nativeElement, 'click', (/** * @return {?} */ function () { _this.remove = true; _this.changeDetectorRef.detectChanges(); }))); } })); }; /** * @method ngOnDesroy */ /** * \@method ngOnDesroy * @return {?} */ AlertComponent.prototype.ngOnDestroy = /** * \@method ngOnDesroy * @return {?} */ function () { removeListeners(this.listeners); }; /** * [collapseStart description] * @method collapseStart * @param event [description] */ /** * [collapseStart description] * \@method collapseStart * @param {?} event [description] * @return {?} */ AlertComponent.prototype.collapseStart = /** * [collapseStart description] * \@method collapseStart * @param {?} event [description] * @return {?} */ function (event) { this.onCollapseStart.emit(event); }; /** * [collapseDone description] * @method collapseDone * @param event [description] */ /** * [collapseDone description] * \@method collapseDone * @param {?} event [description] * @return {?} */ AlertComponent.prototype.collapseDone = /** * [collapseDone description] * \@method collapseDone * @param {?} event [description] * @return {?} */ function (event) { if (event.toState === '1') { this.listeners = removeListeners(this.listeners); this.removed = true; this.viewContainerRef.clear(); this.changeDetectorRef.detectChanges(); } this.onCollapseDone.emit(event); }; AlertComponent.decorators = [ { type: Component, args: [{ selector: 'mk-alert', template: "<div *ngIf=\"!removed\" [mkCollapseAnimation]=\"remove\" (mkCollapseAnimation.start)=\"collapseStart($event)\"\r\n (mkCollapseAnimation.done)=\"collapseDone($event)\">\r\n <div [mkColor]=\"backgroundColor\" mkColorProperty=\"background-color\" [mkColorPrefix]=\"type\" [mkFontColor]=\"color\"\r\n [ngClass]=\"[styleClass, dismissibleClass, type]\">\r\n <button *ngIf=\"isDismissible\" type=\"button\" class=\"close\" #removeButtonElement>&times;</button>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", changeDetection: ChangeDetectionStrategy.OnPush, styles: [".callout-dismissable,.callout-dismissible{padding-right:35px}.callout-dismissable .close,.callout-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.callout .close{color:#000;opacity:.2}.callout .icon{margin-right:10px}"] }] } ]; /** @nocollapse */ AlertComponent.ctorParameters = function () { return [ { type: ChangeDetectorRef }, { type: NgZone }, { type: Renderer2 }, { type: ViewContainerRef } ]; }; AlertComponent.propDecorators = { backgroundColor: [{ type: Input }], callout: [{ type: Input }], color: [{ type: Input }], dismissOnTimeout: [{ type: Input }], _isDismissible: [{ type: Input, args: ['isDismissible',] }], styleClass: [{ type: Input }], onCollapseStart: [{ type: Output }], onCollapseDone: [{ type: Output }], removeButtonElement: [{ type: ViewChild, args: ['removeButtonElement', { static: true },] }], containerElementRef: [{ type: ViewChild, args: ['containerElementRef', { static: true, read: ViewContainerRef },] }] }; return AlertComponent; }()); export { AlertComponent }; if (false) { /** @type {?} */ AlertComponent.prototype.dismissibleClass; /** @type {?} */ AlertComponent.prototype.isDismissible; /** @type {?} */ AlertComponent.prototype.remove; /** @type {?} */ AlertComponent.prototype.removed; /** @type {?} */ AlertComponent.prototype.type; /** * @type {?} * @private */ AlertComponent.prototype.listeners; /** @type {?} */ AlertComponent.prototype.backgroundColor; /** @type {?} */ AlertComponent.prototype.color; /** @type {?} */ AlertComponent.prototype.dismissOnTimeout; /** @type {?} */ AlertComponent.prototype.styleClass; /** @type {?} */ AlertComponent.prototype.onCollapseStart; /** @type {?} */ AlertComponent.prototype.onCollapseDone; /** * @type {?} * @private */ AlertComponent.prototype.removeButtonElement; /** * @type {?} * @private */ AlertComponent.prototype.containerElementRef; /** * @type {?} * @private */ AlertComponent.prototype.changeDetectorRef; /** * @type {?} * @private */ AlertComponent.prototype.ngZone; /** * @type {?} * @private */ AlertComponent.prototype.renderer2; /** * @type {?} * @private */ AlertComponent.prototype.viewContainerRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYWQtY3VzdG9tLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9hbGVydC9hbGVydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDWSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFDOUYsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0UsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQUs3QztJQXFDSTs7Ozs7O09BTUc7SUFDSCx3QkFDWSxpQkFBb0MsRUFDcEMsTUFBYyxFQUNkLFNBQW9CLEVBQ3BCLGdCQUFrQztRQUhsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6Q3ZDLHFCQUFnQixHQUFHLG1CQUFtQixDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixTQUFJLEdBQUcsT0FBTyxDQUFDO1FBRWQsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVQLG9CQUFlLEdBQUcsUUFBUSxDQUFDO1FBYzNCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFZixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBaUJqRCxDQUFDO0lBakNMLHNCQUFvQixtQ0FBTzs7Ozs7UUFBM0IsVUFBNEIsS0FBYztZQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMs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QUUsZ0JBQWdCLEVBQUU7O0lBb0U5RSxxQkFBQztDQUFBLEFBdkdELElBdUdDO1NBakdZLGNBQWM7OztJQUN2QiwwQ0FBOEM7O0lBQzlDLHVDQUE0Qjs7SUFDNUIsZ0NBQXNCOztJQUN0QixpQ0FBd0I7O0lBQ3hCLDhCQUFzQjs7Ozs7SUFFdEIsbUNBQXVCOztJQUV2Qix5Q0FBMkM7O0lBSTNDLCtCQUE4Qjs7SUFDOUIsMENBQXlDOztJQVN6QyxvQ0FBZ0M7O0lBRWhDLHlDQUFzRDs7SUFDdEQsd0NBQXFEOzs7OztJQUVyRCw2Q0FBNEY7Ozs7O0lBQzVGLDZDQUEwSDs7Ozs7SUFVdEgsMkNBQTRDOzs7OztJQUM1QyxnQ0FBc0I7Ozs7O0lBQ3RCLG1DQUE0Qjs7Ozs7SUFDNUIsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIFZpZXdSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnLi4vYW5pbWF0aW9ucy9hbmltYXRpb25zLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IHJlbW92ZUxpc3RlbmVycyB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5cclxuLypcclxuICpcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdtay1hbGVydCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuY29tcG9uZW50LmNzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIHB1YmxpYyBkaXNtaXNzaWJsZUNsYXNzID0gJ2FsZXJ0LWRpc21pc3NpYmxlJztcclxuICAgIHB1YmxpYyBpc0Rpc21pc3NpYmxlID0gdHJ1ZTtcclxuICAgIHB1YmxpYyByZW1vdmUgPSBmYWxzZTtcclxuICAgIHB1YmxpYyByZW1vdmVkOiBib29sZWFuO1xyXG4gICAgcHVibGljIHR5cGUgPSAnYWxlcnQnO1xyXG5cclxuICAgIHByaXZhdGUgbGlzdGVuZXJzID0gW107XHJcblxyXG4gICAgQElucHV0KCkgcHVibGljIGJhY2tncm91bmRDb2xvciA9ICdkYW5nZXInO1xyXG4gICAgQElucHV0KCkgcHVibGljIHNldCBjYWxsb3V0KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy50eXBlID0gdmFsdWUgPyAnY2FsbG91dCcgOiAnYWxlcnQnO1xyXG4gICAgfVxyXG4gICAgQElucHV0KCkgcHVibGljIGNvbG9yOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzbWlzc09uVGltZW91dDogbnVtYmVyO1xyXG4gICAgQElucHV0KCdpc0Rpc21pc3NpYmxlJykgcHVibGljIHNldCBfaXNEaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuaXNEaXNtaXNzaWJsZSA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc21pc3NpYmxlQ2xhc3MgPSBgJHt0aGlzLnR5cGV9LWRpc21pc3NpYmxlYDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmRpc21pc3NpYmxlQ2xhc3MgPSAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKSBwdWJsaWMgc3R5bGVDbGFzcyA9ICcnO1xyXG5cclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25Db2xsYXBzZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbkNvbGxhcHNlRG9uZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdyZW1vdmVCdXR0b25FbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSByZW1vdmVCdXR0b25FbGVtZW50OiBFbGVtZW50UmVmO1xyXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyRWxlbWVudFJlZicsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHByaXZhdGUgY29udGFpbmVyRWxlbWVudFJlZjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBtZXRob2QgY29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSAgY2hhbmdlRGV0ZWN0b3JSZWYgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICogQHBhcmFtICBuZ1pvbmUgICAgICAgICAgICBbZGVzY3JpcHRpb25dXHJcbiAgICAgKiBAcGFyYW0gIHJlbmRlcmVyMiAgICAgICAgIFtkZXNjcmlwdGlvbl1cclxuICAgICAqIEBwYXJhbSAgdmlld0NvbnRhaW5lclJlZiAgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgICApIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQG1ldGhvZCBuZ09uSW5pdFxyXG4gICAgICovXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5kaXNtaXNzT25UaW1lb3V0KSB7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0aGlzLmNoYW5nZURldGVjdG9yUmVmIGFzIFZpZXdSZWYpLmRlc3Ryb3llZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sIHRoaXMuZGlzbWlzc09uVGltZW91dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMucmVtb3ZlQnV0dG9uRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaCh0aGlzLnJlbmRlcmVyMi5saXN0ZW4odGhpcy5yZW1vdmVCdXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdjbGljaycsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBtZXRob2QgbmdPbkRlc3JveVxyXG4gICAgICovXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICByZW1vdmVMaXN0ZW5lcnModGhpcy5saXN0ZW5lcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2NvbGxhcHNlU3RhcnQgZGVzY3JpcHRpb25dXHJcbiAgICAgKiBAbWV0aG9kIGNvbGxhcHNlU3RhcnRcclxuICAgICAqIEBwYXJhbSBldmVudCBbZGVzY3JpcHRpb25dXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb2xsYXBzZVN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Db2xsYXBzZVN0YXJ0LmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2NvbGxhcHNlRG9uZSBkZXNjcmlwdGlvbl1cclxuICAgICAqIEBtZXRob2QgY29sbGFwc2VEb25lXHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29sbGFwc2VEb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnMScpIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMgPSByZW1vdmVMaXN0ZW5lcnModGhpcy5saXN0ZW5lcnMpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25Db2xsYXBzZURvbmUuZW1pdChldmVudCk7XHJcbiAgICB9XHJcbn1cclxuIl19