UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

1,109 lines (1,108 loc) 106 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core'; import { AbstractHasData } from './AbstractHasData'; import { Notification } from './model/Notification'; import { CLOSE_NOTIFICATION_EVENT, CLOSE_DONE_NOTIFICATION_EVENT, CLICK_EVENT, SHOW_ACTION_BAR_NOTIFICATION_EVENT, HIDE_ACTION_BAR_NOTIFICATION_EVENT, SHOW_CONTENT_NOTIFICATION_EVENT, HIDE_CONTENT_NOTIFICATION_EVENT } from '../share/CustomEventType'; import { UISystemClock } from '../service/UISystemClock.service'; import { DateTimeUtils } from '../share/utils/DateTimeUtils'; import { Option } from '../decorator/Option.decorator'; import { EventUtils } from '../share/utils/EventUtils'; const /** @type {?} */ TYPE_NAME = "phx-toast-notification"; export class ToastNotification extends AbstractHasData { /** * @param {?} uiSystemClock * @param {?} elementRef */ constructor(uiSystemClock, elementRef) { super(elementRef); this.closeEvent = new EventEmitter(); this.closeDoneEvent = new EventEmitter(); this.showContentEvent = new EventEmitter(); this.showContentDoneEvent = new EventEmitter(); this.hideContentEvent = new EventEmitter(); this.hideContentDoneEvent = new EventEmitter(); this.showActionBarEvent = new EventEmitter(); this.showActionBarDoneEvent = new EventEmitter(); this.hideActionBarEvent = new EventEmitter(); this.hideActionBarDoneEvent = new EventEmitter(); this.uiSystemClock = uiSystemClock; this.isClose = false; this._showBody = false; this._showActionBar = false; this.closeStampTime = null; this.showBodyTimeStamp = null; this.HOVER_SHOW_ACTION_BAR_INTERVAL = 750; this.MOUSE_LEAVE_HIDE_BAR_INTERVAL = 3000; } /** * @return {?} */ ngOnInit() { super.ngOnInit(); } /** * @return {?} */ close() { this.clearHoverCountTimer(); if (this.isClose) { return; } this._currentRowHeight = this.getRowHeight(true); this._defaultRowHeight = this.getDefaultRowHeight(true); // add class this.isClose = true; this.closeStampTime = new Date(); let /** @type {?} */ data = { data: this.data, model: this.model }; let /** @type {?} */ ev = EventUtils.newCustomEvent(CLOSE_NOTIFICATION_EVENT, this, data, null); this.closeEvent.emit(ev); // delay and remove event if (this.removeDelayTimer !== null && typeof this.removeDelayTimer !== 'undefined') { clearTimeout(this.removeDelayTimer); this.removeDelayTimer = null; } this.removeDelayTimer = setTimeout(() => { let /** @type {?} */ data = { data: this.data, model: this.model }; let /** @type {?} */ ev2 = EventUtils.newCustomEvent(CLOSE_DONE_NOTIFICATION_EVENT, this, data, null); this.closeDoneEvent.emit(ev2); }, ToastNotification.ANIMATE_OUT_INTERVAL + ToastNotification.ANIMATE_REMOVE_INTERVAL); } /** * @param {?} isShow * @return {?} */ setShowActionBar(isShow) { if (this.isClose) { // this block to disable show when closing return; } this._showActionBar = isShow; if (this._showActionBar) { let /** @type {?} */ ev = this.getDefaultCustomEvent(SHOW_ACTION_BAR_NOTIFICATION_EVENT); this.showActionBarEvent.emit(ev); // after animated if (this.showActionBarDoneTimer !== null && typeof this.showActionBarDoneTimer !== 'undefined') { clearTimeout(this.showActionBarDoneTimer); this.showActionBarDoneTimer = null; } this.showActionBarDoneTimer = setTimeout(() => { this._currentRowHeight = this.getRowHeight(true); this._defaultRowHeight = this.getDefaultRowHeight(true); this.showActionBarDoneEvent.emit(ev); }, ToastNotification.ANIMATE_SHOW_ACTION_BAR_INTERVAL); } else { let /** @type {?} */ ev = this.getDefaultCustomEvent(HIDE_ACTION_BAR_NOTIFICATION_EVENT); this.hideActionBarEvent.emit(ev); // after animated if (this.hideActionBarDoneTimer !== null && typeof this.hideActionBarDoneTimer !== 'undefined') { clearTimeout(this.hideActionBarDoneTimer); this.hideActionBarDoneTimer = null; } this.hideActionBarDoneTimer = setTimeout(() => { this._currentRowHeight = this.getRowHeight(true); this._defaultRowHeight = this.getDefaultRowHeight(true); this.hideActionBarDoneEvent.emit(ev); }, ToastNotification.ANIMATE_SHOW_ACTION_BAR_INTERVAL); } } /** * @return {?} */ clearHoverCountTimer() { if (this.hoverCountTimer !== null && typeof this.hoverCountTimer !== 'undefined') { clearTimeout(this.hoverCountTimer); this.hoverCountTimer = null; } } /** * @return {?} */ clearMouseLeaveTimer() { if (this.mouseLeaveTimer !== null && typeof this.mouseLeaveTimer !== 'undefined') { clearTimeout(this.mouseLeaveTimer); this.mouseLeaveTimer = null; } } /** * @param {?} eventName * @return {?} */ getDefaultCustomEvent(eventName) { let /** @type {?} */ data = { data: this.data, model: this.model, instance: this }; let /** @type {?} */ ev = EventUtils.newCustomEvent(eventName, this, data, null); return ev; } /** * @param {?} includePadding * @return {?} */ getDefaultRowHeight(includePadding) { let /** @type {?} */ firsRowHeight = 0; let /** @type {?} */ firstRow = $(this.elementRef.nativeElement).find('.row'); if (typeof firstRow !== 'undefined' && typeof firstRow.first() !== 'undefined') { firsRowHeight = firstRow.first().height(); } let /** @type {?} */ padding = 0; if (includePadding !== null && typeof includePadding !== 'undefined') { let /** @type {?} */ pd = $(this.elementRef.nativeElement).css('padding-bottom'); if (pd !== null && typeof pd !== 'undefined') { padding = parseFloat(pd); } } let /** @type {?} */ finalHeight = firsRowHeight + padding; return finalHeight; } /** * @param {?} includePadding * @return {?} */ getRowHeight(includePadding) { // check height and override let /** @type {?} */ contentBodyHeight = 0; let /** @type {?} */ contentBody = $(this.elementRef.nativeElement).find('.row.content'); if (typeof contentBody !== 'undefined') { contentBodyHeight = contentBody.height(); } let /** @type {?} */ actionBarHeight = 0; let /** @type {?} */ actionBar = $(this.elementRef.nativeElement).find('.row.action-bar'); if (typeof contentBody !== 'undefined') { actionBarHeight = actionBar.height(); } let /** @type {?} */ firsRowHeight = 0; let /** @type {?} */ firstRow = $(this.elementRef.nativeElement).find('.row'); if (typeof firstRow !== 'undefined' && typeof firstRow.first() !== 'undefined') { firsRowHeight = firstRow.first().height(); } let /** @type {?} */ padding = 0; if (includePadding !== null && typeof includePadding !== 'undefined') { let /** @type {?} */ pd = $(this.elementRef.nativeElement).css('padding-bottom'); if (pd !== null && typeof pd !== 'undefined') { padding = parseFloat(pd); } } let /** @type {?} */ finalHeight = firsRowHeight + contentBodyHeight + actionBarHeight + padding; return finalHeight; } /** * @return {?} */ hasActions() { let /** @type {?} */ firstBtn = this._getFirstActionBtn(); if (firstBtn !== null && typeof firstBtn !== 'undefined') { return true; } return false; } /** * @return {?} */ hasBody() { // open if (this.model !== null && typeof this.model !== 'undefined') { let /** @type {?} */ bodyType = this.model.bodyComponent; if (bodyType !== null && typeof bodyType !== 'undefined') { return true; } } return false; } /** * @return {?} */ _isBodyAnimating() { if (this.uiSystemClock !== null && this.showBodyTimeStamp !== null) { return (this.uiSystemClock.getCurrentClockTime() - this.showBodyTimeStamp.getTime()) < ToastNotification.ANIMATE_SHOW_BODY_INTERVAL; } return false; } /** * @return {?} */ _isExpandDefaultBtn() { let /** @type {?} */ secondBtn = this._getSecondActionBtn(); if (secondBtn === null || typeof secondBtn === 'undefined') { return true; } return false; } /** * @return {?} */ _showActionsBarBtn() { let /** @type {?} */ isHasACT = this.hasActions(); if (!this._showBody) { return isHasACT; } else { let /** @type {?} */ isHasBody = this.hasBody(); if (!isHasBody) { return isHasACT; } } return false; } /** * @return {?} */ _getSecondActionBtn() { if (this.model !== null && typeof this.model !== 'undefined') { let /** @type {?} */ actionArrays = this.model.getActions(); if (actionArrays !== null && typeof actionArrays !== 'undefined' && actionArrays.length >= 2) { return actionArrays[1]; } } return null; } /** * @return {?} */ _getFirstActionBtn() { if (this.model !== null && typeof this.model !== 'undefined') { let /** @type {?} */ actionArrays = this.model.getActions(); if (actionArrays !== null && typeof actionArrays !== 'undefined' && actionArrays.length >= 1) { return actionArrays[0]; } } return null; } /** * @return {?} */ _getRowMarginTop() { let /** @type {?} */ isRemoving = this._isAnimateRemove(); if (!isRemoving) { return null; } if (!this.isClose) { if (this._defaultRowHeight === null || typeof this._defaultRowHeight === 'undefined') { this._defaultRowHeight = this.getDefaultRowHeight(true); } return -(this._defaultRowHeight) + "px"; } if (this._currentRowHeight === null || typeof this._currentRowHeight === 'undefined') { this._currentRowHeight = this.getRowHeight(true); } return -(this._currentRowHeight) + "px"; } /** * @return {?} */ _isAnimateIn() { if (this.isClose) { return false; } let /** @type {?} */ createdTime = null; if (this.model !== null && typeof this.model !== 'undefined') { if (this.model.createdTime !== null && typeof this.model.createdTime !== 'undefined') { createdTime = this.model.createdTime; } } if (this.uiSystemClock !== null && createdTime !== null) { return (this.uiSystemClock.getCurrentClockTime() - createdTime.getTime()) < ToastNotification.ANIMATE_IN_INTERVAL; } return true; } /** * @return {?} */ _isAnimateOut() { if (!this.isClose) { if (this._showBody || this._showActionBar) { return false; } } let /** @type {?} */ createdTime = null; let /** @type {?} */ timeout = 0; if (this.model !== null && typeof this.model !== 'undefined') { if (this.model.createdTime !== null && typeof this.model.createdTime !== 'undefined') { createdTime = this.model.createdTime; } if (this.model.timeout !== null && typeof this.model.timeout !== 'undefined') { timeout = this.model.timeout; } } // if close return true if (this.isClose) { return true; } if (this.uiSystemClock !== null && createdTime !== null) { return (this.uiSystemClock.getCurrentClockTime() > (createdTime.getTime() + timeout - (ToastNotification.ANIMATE_OUT_INTERVAL + ToastNotification.ANIMATE_REMOVE_INTERVAL))); } return false; } /** * @return {?} */ _isAnimateRemove() { if (!this.isClose) { if (this._showBody || this._showActionBar) { return false; } } let /** @type {?} */ createdTime = null; let /** @type {?} */ timeout = 0; if (this.model !== null && typeof this.model !== 'undefined') { if (this.model.createdTime !== null && typeof this.model.createdTime !== 'undefined') { createdTime = this.model.createdTime; } if (this.model.timeout !== null && typeof this.model.timeout !== 'undefined') { timeout = this.model.timeout; } } if (this.uiSystemClock !== null && createdTime !== null) { if (this.isClose) { return (this.uiSystemClock.getCurrentClockTime() > (this.closeStampTime.getTime() + ToastNotification.ANIMATE_OUT_INTERVAL)); } return (this.uiSystemClock.getCurrentClockTime() > (createdTime.getTime() + timeout - (ToastNotification.ANIMATE_REMOVE_INTERVAL))); } return false; } /** * @param {?} date * @return {?} */ _getTimeMessage(date) { if (date === null || typeof date === 'undefined') { return ""; } if (this.uiSystemClock !== null && typeof this.uiSystemClock !== 'undefined') { let /** @type {?} */ currentTime = this.uiSystemClock.getCurrentClockDateTime(); return DateTimeUtils.getCompareTimeMessage(date, currentTime); } return ""; } /** * @return {?} */ _isShowActionBar() { return this._showActionBar; } /** * @return {?} */ _isShowIcon() { if (this.model !== null && this.model !== undefined) { let /** @type {?} */ url = this._getIconUrl(); if (url !== null && url !== undefined && url !== '') { return true; } } return false; } /** * @return {?} */ _getIconUrl() { if (this.model !== null && this.model !== undefined) { if (this.model.iconURL !== null && this.model.iconURL !== undefined) { return this.model.iconURL; } } return null; } /** * @return {?} */ _getLabel() { if (this.model !== null && this.model !== undefined) { if (this.model.label !== null && this.model.label !== undefined) { return this.model.label; } } return ""; } /** * @param {?} $event * @return {?} */ onSecondButtonClicked($event) { let /** @type {?} */ secondBtn = this._getSecondActionBtn(); if (secondBtn !== null && typeof secondBtn !== 'undefined') { if (secondBtn.handler !== null && typeof secondBtn.handler === 'function') { let /** @type {?} */ custEV = this.getDefaultCustomEvent(CLICK_EVENT); secondBtn.handler.call(null, custEV); if (secondBtn.closeNotification !== null && typeof secondBtn.closeNotification !== 'undefined') { if (secondBtn.closeNotification) { this.close(); } } } } } /** * @param {?} $event * @return {?} */ onFirstButtonClicked($event) { let /** @type {?} */ firstBtn = this._getFirstActionBtn(); if (firstBtn !== null && typeof firstBtn !== 'undefined') { if (firstBtn.handler !== null && typeof firstBtn.handler === 'function') { let /** @type {?} */ custEV = this.getDefaultCustomEvent(CLICK_EVENT); firstBtn.handler.call(null, custEV); if (firstBtn.closeNotification !== null && typeof firstBtn.closeNotification !== 'undefined') { if (firstBtn.closeNotification) { this.close(); } } } } } /** * @return {?} */ onRowBodyHover() { if (this._showActionBar) { this.clearHoverCountTimer(); return; } if (this.hoverCountTimer === null || typeof this.hoverCountTimer === 'undefined') { this.hoverCountTimer = setTimeout(() => { if (!this._showActionBar) { this.setShowActionBar(true); } }, this.HOVER_SHOW_ACTION_BAR_INTERVAL); } this.clearMouseLeaveTimer(); } /** * @return {?} */ onRowBodyLeave() { this.clearHoverCountTimer(); /** open if u want to mouse leave and hide actionbar **/ if (!this._showBody && this._showActionBar) { if (this.mouseLeaveTimer !== null && typeof this.mouseLeaveTimer !== 'undefined') { clearTimeout(this.mouseLeaveTimer); this.mouseLeaveTimer = null; } this.mouseLeaveTimer = setTimeout(() => { if (!this._showBody && !this.isClose) { this.setShowActionBar(false); } }, this.MOUSE_LEAVE_HIDE_BAR_INTERVAL); } } /** * @param {?} $event * @return {?} */ onCloseBtnClicked($event) { if ($event !== null && typeof $event !== 'undefined') { $event.stopPropagation(); $event.cancelBubble = true; } this.close(); } /** * @param {?} $event * @return {?} */ onBodyClicked($event) { if (this.model !== null && typeof this.model !== 'undefined') { if (this.model.clickHandler !== null && typeof this.model.clickHandler === 'function') { let /** @type {?} */ custEV = this.getDefaultCustomEvent(CLICK_EVENT); this.model.clickHandler.call(null, custEV); this.close(); } } } /** * @return {?} */ showBody() { if (this.isClose) { // this block to disable show when closing return; } if (!this._showBody) { this.showBodyTimeStamp = new Date(); this._showBody = true; let /** @type {?} */ ev = this.getDefaultCustomEvent(SHOW_CONTENT_NOTIFICATION_EVENT); this.showContentEvent.emit(ev); // after animated if (this.showContentDoneTimer !== null && typeof this.showContentDoneTimer !== 'undefined') { clearTimeout(this.showContentDoneTimer); this.showContentDoneTimer = null; } this.showContentDoneTimer = setTimeout(() => { this._currentRowHeight = this.getRowHeight(true); this._defaultRowHeight = this.getDefaultRowHeight(true); this.showContentDoneEvent.emit(ev); }, ToastNotification.ANIMATE_SHOW_BODY_INTERVAL); } } /** * @return {?} */ hideBody() { if (this.isClose) { // this block to disable show when closing return; } if (this._showBody) { this.showBodyTimeStamp = null; this._showBody = false; let /** @type {?} */ ev = this.getDefaultCustomEvent(HIDE_CONTENT_NOTIFICATION_EVENT); this.hideContentEvent.emit(ev); // after animated if (this.hideContentDoneTimer !== null && typeof this.hideContentDoneTimer !== 'undefined') { clearTimeout(this.hideContentDoneTimer); this.hideContentDoneTimer = null; } this.hideContentDoneTimer = setTimeout(() => { this._currentRowHeight = this.getRowHeight(true); this._defaultRowHeight = this.getDefaultRowHeight(true); this.hideContentDoneEvent.emit(ev); }, ToastNotification.ANIMATE_SHOW_BODY_INTERVAL); } } /** * @return {?} */ isShowBody() { return this._showBody; } /** * @return {?} */ getModel() { return this.model; } /** * @param {?} model * @return {?} */ setModel(model) { this.model = model; } /** * @return {?} */ isSelfDataDirty() { return false; } /** * @param {?} data * @return {?} */ selfSaveData(data) { } /** * @return {?} */ selfResetData() { } /** * @return {?} */ getCloseEvent() { return this.closeEvent; } /** * @param {?} event * @return {?} */ setCloseEvent(event) { this.closeEvent = event; } /** * @return {?} */ getCloseDoneEvent() { return this.closeDoneEvent; } /** * @param {?} event * @return {?} */ setCloseDoneEvent(event) { this.closeDoneEvent = event; } /** * @return {?} */ getShowContentEvent() { return this.showContentEvent; } /** * @param {?} event * @return {?} */ setShowContentEvent(event) { this.showContentEvent = event; } /** * @return {?} */ getShowContentDoneEvent() { return this.showContentDoneEvent; } /** * @param {?} event * @return {?} */ setShowContentDoneEvent(event) { this.showContentDoneEvent = event; } /** * @return {?} */ getHideContentEvent() { return this.hideContentEvent; } /** * @param {?} event * @return {?} */ setHideContentEvent(event) { this.hideContentEvent = event; } /** * @return {?} */ getHideContentDoneEvent() { return this.hideContentDoneEvent; } /** * @param {?} event * @return {?} */ setHideContentDoneEvent(event) { this.hideContentDoneEvent = event; } /** * @return {?} */ getShowActionBarEvent() { return this.showActionBarEvent; } /** * @param {?} event * @return {?} */ setShowActionBarEvent(event) { this.showActionBarEvent = event; } /** * @return {?} */ getShowActionBarDoneEvent() { return this.showActionBarDoneEvent; } /** * @param {?} event * @return {?} */ setShowActionBarDoneEvent(event) { this.showActionBarDoneEvent = event; } /** * @return {?} */ getHideActionBarEvent() { return this.hideActionBarEvent; } /** * @param {?} event * @return {?} */ setHideActionBarEvent(event) { this.hideActionBarEvent = event; } /** * @return {?} */ getHideActionBarDoneEvent() { return this.hideActionBarDoneEvent; } /** * @param {?} event * @return {?} */ setHideActionBarDoneEvent(event) { this.hideActionBarDoneEvent = event; } /** * @return {?} */ doPreload() { return new Promise((resolve, reject) => { resolve(null); }); } /** * @return {?} */ doLoaded() { } } ToastNotification.TYPE_NAME = TYPE_NAME; ToastNotification.ANIMATE_IN_INTERVAL = 50; ToastNotification.ANIMATE_OUT_INTERVAL = 600; ToastNotification.ANIMATE_REMOVE_INTERVAL = 200; ToastNotification.ANIMATE_SHOW_BODY_INTERVAL = 600; ToastNotification.ANIMATE_SHOW_ACTION_BAR_INTERVAL = 600; ToastNotification.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="phx-toast-notification" [style.margin-top]="_getRowMarginTop()" [class.animateIn]="_isAnimateIn()" [class.animateOut]="_isAnimateOut()" [class.animateRemove]="_isAnimateRemove()" (mouseover)="onRowBodyHover()" (mouseleave)="onRowBodyLeave()"> <div class="row-container"> <div class="row" (click)="onBodyClicked($event)"> <div class=left> <div class="wrapper"> <div class="textCircle" *ngIf="!_isShowIcon()"> <div class="text-container flex-center"> {{_getLabel()}} </div> </div> <div *ngIf="_isShowIcon()" class="icon-container flex-center"> <img src="{{_getIconUrl()}}"> </div> </div> </div> <div class="center"> <div class="wrapper"> <div class="title-label"> <div class="table-wrapper fluid"> <div class="table-row-wrapper"> <div class="table-cell-wrapper middle">{{getModel().title}}</div> </div> </div> </div> <div class="description-label">{{getModel().description}}</div> <div class="time-label"> <div> <div class="table-wrapper fluid"> <div class="table-row-wrapper"> <div class="table-cell-wrapper middle"> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve" class="clock"> <g> <g> <path style="fill:#CCCCCC;" d="M15.026,1c3.725,0,7.096,1.516,9.545,3.952c2.439,2.452,3.955,5.823,3.955,9.548 c0,3.725-1.516,7.099-3.955,9.548C22.122,26.487,18.751,28,15.026,28c-3.726,0-7.097-1.513-9.535-3.952 C3.039,21.6,1.536,18.225,1.536,14.5c0-3.726,1.504-7.097,3.952-9.548C7.93,2.516,11.301,1,15.026,1L15.026,1z M21.906,13.762 c0.405,0,0.727,0.332,0.727,0.738c0,0.405-0.322,0.737-0.727,0.737h-6.879c-0.271,0-0.507-0.157-0.633-0.373l-0.012-0.01 l-0.01-0.022v-0.01l-0.01-0.022l-0.012-0.02v-0.012l-0.01-0.02l-0.01-0.009v-0.023l-0.009-0.019v-0.013l-0.013-0.019v-0.042 l-0.01-0.013V5.712c0-0.405,0.323-0.728,0.728-0.728c0.402,0,0.734,0.323,0.734,0.728v8.05H21.906z M23.533,5.992 c-2.177-2.18-5.188-3.517-8.507-3.517c-3.32,0-6.33,1.337-8.51,3.517C4.348,8.169,2.998,11.18,2.998,14.5 c0,3.32,1.35,6.33,3.518,8.51c2.18,2.177,5.19,3.517,8.51,3.517c3.32,0,6.33-1.34,8.507-3.517c2.18-2.18,3.53-5.188,3.53-8.51 C27.064,11.18,25.714,8.169,23.533,5.992L23.533,5.992z M23.533,5.992"/> </g> </g> </svg> </div> </div> </div> </div> <div> <div class="table-wrapper fluid"> <div class="table-row-wrapper"> <div class="table-cell-wrapper middle"> {{_getTimeMessage(getModel().createdTime)}}</div> </div> </div> </div> </div> </div> </div> <div class="right"> <div class="cross-icon" (click)="onCloseBtnClicked($event)"></div> </div> </div> <div class="row action-bar" [class.show]="_isShowActionBar()"> <div class="left"> <!-- nothing here --> </div> <div class="center"> <div class="wrapper"> <div class="left" [class.hide]="_isExpandDefaultBtn()"> <div class="table-wrapper fluid"> <div class="table-row-wrapper"> <div class="table-cell-wrapper middle"> <div class="notification-action-btn" [class.fadeout]="!_showActionsBarBtn()" *ngIf="_getSecondActionBtn() !== null" (click)="onSecondButtonClicked($event)"> <div class="table-wrapper fluid"> <div class="table-row-wrapper"> <div class="table-cell-wrapper middle"> {{_getSecondActionBtn().title}} </div> </div> </div> </div> </div> </div> </div> </div> <div class="right" [class.expand]="_isExpandDefaultBtn()"> <div class="table-wrapper fluid"> <div class="table-row-wrapper"> <div class="table-cell-wrapper middle"> <div class="notification-action-btn first" [class.fadeout]="!_showActionsBarBtn()" *ngIf="_getFirstActionBtn() !== null" (click)="onFirstButtonClicked($event)"> <div class="table-wrapper fluid"> <div class="table-row-wrapper"> <div class="table-cell-wrapper middle"> {{_getFirstActionBtn().title}} </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="right"> <!-- nothing here --> </div> </div> <div class="row content" [class.show]="!_showActionsBarBtn()" [class.animating]="_isBodyAnimating()"> <div class="wrapper"> <phx-component-wrapper [type]="getModel().bodyComponent" [data]="this"></phx-component-wrapper> </div> </div> </div> </div> ` },] }, ]; /** @nocollapse */ ToastNotification.ctorParameters = () => [ { type: UISystemClock, }, { type: ElementRef, }, ]; ToastNotification.propDecorators = { "dataParent": [{ type: Input },], "ignoreParentData": [{ type: Input },], "data": [{ type: Input },], "ignoreParentDisabled": [{ type: Input },], "delegateHistory": [{ type: Input },], "onDisabled": [{ type: Input },], "onEnabled": [{ type: Input },], "loadingEnabled": [{ type: Input },], "i18nKey": [{ type: Input },], "bypass": [{ type: Input, args: ['i18nBypass',] },], "options": [{ type: Input },], "disabled": [{ type: Input },], "model": [{ type: Input },], "loadEvent": [{ type: Output, args: ['phxLoad',] },], "closeEvent": [{ type: Output, args: ['phxClose',] },], "closeDoneEvent": [{ type: Output, args: ['phxCloseDone',] },], "showContentEvent": [{ type: Output, args: ['phxShowContent',] },], "showContentDoneEvent": [{ type: Output, args: ['phxShowContentDone',] },], "hideContentEvent": [{ type: Output, args: ['phxHideContent',] },], "hideContentDoneEvent": [{ type: Output, args: ['phxHideContentDone',] },], "showActionBarEvent": [{ type: Output, args: ['phxShowActionBar',] },], "showActionBarDoneEvent": [{ type: Output, args: ['phxShowActionBarDone',] },], "hideActionBarEvent": [{ type: Output, args: ['phxHideActionBar',] },], "hideActionBarDoneEvent": [{ type: Output, args: ['phxHideActionBarDone',] },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], ToastNotification.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], ToastNotification.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], ToastNotification.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], ToastNotification.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], ToastNotification.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], ToastNotification.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], ToastNotification.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], ToastNotification.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], ToastNotification.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], ToastNotification.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], ToastNotification.prototype, "disabled", void 0); tslib_1.__decorate([ Option('load'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "loadEvent", void 0); tslib_1.__decorate([ Option('close'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "closeEvent", void 0); tslib_1.__decorate([ Option('closeDone'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "closeDoneEvent", void 0); tslib_1.__decorate([ Option('showContent'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "showContentEvent", void 0); tslib_1.__decorate([ Option('showContentDone'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "showContentDoneEvent", void 0); tslib_1.__decorate([ Option('hideContent'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "hideContentEvent", void 0); tslib_1.__decorate([ Option('hideContentDone'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "hideContentDoneEvent", void 0); tslib_1.__decorate([ Option('showActionBar'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "showActionBarEvent", void 0); tslib_1.__decorate([ Option('showActionBarDone'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "showActionBarDoneEvent", void 0); tslib_1.__decorate([ Option('hideActionBar'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "hideActionBarEvent", void 0); tslib_1.__decorate([ Option('hideActionBarDone'), tslib_1.__metadata("design:type", EventEmitter) ], ToastNotification.prototype, "hideActionBarDoneEvent", void 0); function ToastNotification_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ ToastNotification.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ ToastNotification.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ ToastNotification.propDecorators; /** @type {?} */ ToastNotification.TYPE_NAME; /** @type {?} */ ToastNotification.ANIMATE_IN_INTERVAL; /** @type {?} */ ToastNotification.ANIMATE_OUT_INTERVAL; /** @type {?} */ ToastNotification.ANIMATE_REMOVE_INTERVAL; /** @type {?} */ ToastNotification.ANIMATE_SHOW_BODY_INTERVAL; /** @type {?} */ ToastNotification.ANIMATE_SHOW_ACTION_BAR_INTERVAL; /** @type {?} */ ToastNotification.prototype.dataParent; /** @type {?} */ ToastNotification.prototype.ignoreParentData; /** @type {?} */ ToastNotification.prototype.data; /** @type {?} */ ToastNotification.prototype.ignoreParentDisabled; /** @type {?} */ ToastNotification.prototype.delegateHistory; /** @type {?} */ ToastNotification.prototype.onDisabled; /** @type {?} */ ToastNotification.prototype.onEnabled; /** @type {?} */ ToastNotification.prototype.loadingEnabled; /** @type {?} */ ToastNotification.prototype.i18nKey; /** @type {?} */ ToastNotification.prototype.bypass; /** @type {?} */ ToastNotification.prototype.options; /** @type {?} */ ToastNotification.prototype.disabled; /** @type {?} */ ToastNotification.prototype.model; /** @type {?} */ ToastNotification.prototype.loadEvent; /** @type {?} */ ToastNotification.prototype.closeEvent; /** @type {?} */ ToastNotification.prototype.closeDoneEvent; /** @type {?} */ ToastNotification.prototype.showContentEvent; /** @type {?} */ ToastNotification.prototype.showContentDoneEvent; /** @type {?} */ ToastNotification.prototype.hideContentEvent; /** @type {?} */ ToastNotification.prototype.hideContentDoneEvent; /** @type {?} */ ToastNotification.prototype.showActionBarEvent; /** @type {?} */ ToastNotification.prototype.showActionBarDoneEvent; /** @type {?} */ ToastNotification.prototype.hideActionBarEvent; /** @type {?} */ ToastNotification.prototype.hideActionBarDoneEvent; /** @type {?} */ ToastNotification.prototype.removeDelayTimer; /** @type {?} */ ToastNotification.prototype.hideDelayTimer; /** @type {?} */ ToastNotification.prototype.hoverCountTimer; /** @type {?} */ ToastNotification.prototype.mouseLeaveTimer; /** @type {?} */ ToastNotification.prototype.uiDelayTimer; /** @type {?} */ ToastNotification.prototype.showActionBarDoneTimer; /** @type {?} */ ToastNotification.prototype.hideActionBarDoneTimer; /** @type {?} */ ToastNotification.prototype.showContentDoneTimer; /** @type {?} */ ToastNotification.prototype.hideContentDoneTimer; /** @type {?} */ ToastNotification.prototype.uiSystemClock; /** @type {?} */ ToastNotification.prototype.isClose; /** @type {?} */ ToastNotification.prototype.closeStampTime; /** @type {?} */ ToastNotification.prototype._showBody; /** @type {?} */ ToastNotification.prototype._showActionBar; /** @type {?} */ ToastNotification.prototype._currentRowHeight; /** @type {?} */ ToastNotification.prototype._defaultRowHeight; /** @type {?} */ ToastNotification.prototype.showBodyTimeStamp; /** @type {?} */ ToastNotification.prototype.HOVER_SHOW_ACTION_BAR_INTERVAL; /** @type {?} */ ToastNotification.prototype.MOUSE_LEAVE_HIDE_BAR_INTERVAL; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9hc3ROb3RpZmljYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L1RvYXN0Tm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsT0FBTyxFQUNMLHdCQUF3QixFQUFFLDZCQUE2QixFQUFFLFdBQVcsRUFBRSxrQ0FBa0MsRUFDeEcsa0NBQWtDLEVBQUUsK0JBQStCLEVBQUUsK0JBQStCLEVBQ3JHLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBS3ZELHVCQUFNLFNBQVMsR0FBVyx3QkFBd0IsQ0FBQztBQTRIbkQsTUFBTSx3QkFBeUIsU0FBUSxlQUFlOzs7OztJQTRHcEQsWUFBWSxhQUE0QixFQUFFLFVBQXNCO1FBQzlELEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzND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