com.phloxui
Version:
PhloxUI Ng2+ Framework
169 lines (168 loc) • 12.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
const /** @type {?} */ TYPE_UNDEFINED = 'undefined';
const /** @type {?} */ MIN_TIMEOUT = 4500;
const /** @type {?} */ DEFAULT_TIMEOUT = 6500;
/**
* <p style="text-indent: 2em;">
* A <code>model</code> class representing an <code>application</code> notification message. A notification message may consist of its <code>body
* component</code> which will be displayed when the user hovers a mouse over the message for a period of time (less than a second).
* </p>
*
* @author shiorin, tee4cute
* @see [[INotificationManager]]
* @see [[NotificationAction]]
*/
export class Notification {
/**
* @param {?} iconURL
* @param {?} title
* @param {?} description
* @param {?} show
* @param {?=} label
* @param {?=} occurringTime
* @param {?=} timeout
* @param {?=} bodyComponent
*/
constructor(iconURL, title, description, show, label, occurringTime, timeout, bodyComponent) {
this.iconURL = iconURL;
this.title = title;
this.description = description;
this.actions = [];
this.createdTime = new Date();
this.occurringTime = occurringTime;
this.timeout = timeout;
this.bodyComponent = bodyComponent;
this.show = show;
this.label = label;
if (occurringTime === null || typeof occurringTime === 'undefined') {
this.occurringTime = new Date(this.createdTime);
}
}
/**
* @return {?}
*/
get type() {
return this._type;
}
/**
* @param {?} value
* @return {?}
*/
set type(value) {
this._type = value;
if (this._type === null || typeof this._type === 'undefined') {
this._type = Notification.TYPE_UNDEFINED;
}
}
/**
* @return {?}
*/
get name() {
return this._name;
}
/**
* @param {?} value
* @return {?}
*/
set name(value) {
this._name = value;
if (this._name === null || typeof this._name === 'undefined') {
this._name = Notification.TYPE_UNDEFINED;
}
}
/**
* @return {?}
*/
get group() {
return this._group;
}
/**
* @param {?} value
* @return {?}
*/
set group(value) {
this._group = value;
if (this._group === null || typeof this._group === 'undefined') {
this._group = Notification.TYPE_UNDEFINED;
}
}
/**
* @return {?}
*/
get timeout() {
return this._timeout;
}
/**
* @param {?} value
* @return {?}
*/
set timeout(value) {
this._timeout = value;
if (this._timeout === null || typeof this._timeout === 'undefined') {
this._timeout = DEFAULT_TIMEOUT;
}
if (this._timeout < MIN_TIMEOUT) {
this._timeout = MIN_TIMEOUT;
}
}
/**
* @param {?} action
* @return {?}
*/
addAction(action) {
this.actions.push(action);
}
/**
* @param {?} action
* @return {?}
*/
removeAction(action) {
let /** @type {?} */ index = this.actions.indexOf(action);
if (index >= 0) {
this.actions.splice(index, 1);
}
}
/**
* @return {?}
*/
getActions() {
return this.actions;
}
}
Notification.TYPE_UNDEFINED = TYPE_UNDEFINED;
function Notification_tsickle_Closure_declarations() {
/** @type {?} */
Notification.TYPE_UNDEFINED;
/** @type {?} */
Notification.prototype._type;
/** @type {?} */
Notification.prototype._name;
/** @type {?} */
Notification.prototype._group;
/** @type {?} */
Notification.prototype._timeout;
/** @type {?} */
Notification.prototype.iconURL;
/** @type {?} */
Notification.prototype.label;
/** @type {?} */
Notification.prototype.title;
/** @type {?} */
Notification.prototype.description;
/** @type {?} */
Notification.prototype.bodyComponent;
/** @type {?} */
Notification.prototype.createdTime;
/** @type {?} */
Notification.prototype.occurringTime;
/** @type {?} */
Notification.prototype.clickHandler;
/** @type {?} */
Notification.prototype.actions;
/** @type {?} */
Notification.prototype.show;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvbW9kZWwvTm90aWZpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFHQSx1QkFBTSxjQUFjLEdBQVcsV0FBVyxDQUFDO0FBQzNDLHVCQUFNLFdBQVcsR0FBVyxJQUFJLENBQUM7QUFDakMsdUJBQU0sZUFBZSxHQUFXLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7QUFZckMsTUFBTTs7Ozs7Ozs7Ozs7SUFtQkYsWUFBWSxPQUFlLEVBQUUsS0FBYSxFQUFFLFdBQW1CLEVBQUUsSUFBYSxFQUFFLEtBQWMsRUFBRSxhQUFvQixFQUFFLE9BQWdCLEVBQUUsYUFBeUI7UUFFN0osSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLEVBQUUsQ0FBQSxDQUFDLGFBQWEsS0FBSyxJQUFJLElBQUksT0FBTyxhQUFhLEtBQUssV0FBVyxDQUFDLENBQUEsQ0FBQztZQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNuRDtLQUNKOzs7O0lBRUQsSUFBSSxJQUFJO1FBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDckI7Ozs7O0lBRUQsSUFBSSxJQUFJLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUM7U0FDNUM7S0FDSjs7OztJQUVELElBQUksSUFBSTtRQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0tBQ3JCOzs7OztJQUVELElBQUksSUFBSSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDO1NBQzVDO0tBQ0o7Ozs7SUFFRCxJQUFJLEtBQUs7UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztLQUN0Qjs7Ozs7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztTQUM3QztLQUNKOzs7O0lBRUQsSUFBSSxPQUFPO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7S0FDeEI7Ozs7O0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQztTQUNuQztRQUNELEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLENBQUEsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztTQUMvQjtLQUNKOzs7OztJQUVNLFNBQVMsQ0FBQyxNQUEwQjtRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzs7Ozs7O0lBR3ZCLFlBQVksQ0FBQyxNQUEwQjtRQUMxQyxxQkFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDakM7Ozs7O0lBR0UsVUFBVTtRQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDOzs7OEJBL0Z3QixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uQWN0aW9uIH0gZnJvbSAnLi9Ob3RpZmljYXRpb25BY3Rpb24nO1xuXG5jb25zdCBUWVBFX1VOREVGSU5FRDogc3RyaW5nID0gJ3VuZGVmaW5lZCc7XG5jb25zdCBNSU5fVElNRU9VVDogbnVtYmVyID0gNDUwMDtcbmNvbnN0IERFRkFVTFRfVElNRU9VVDogbnVtYmVyID0gNjUwMDtcblxuLyoqXG4gKiA8cCBzdHlsZT1cInRleHQtaW5kZW50OiAyZW07XCI+XG4gKiBBIDxjb2RlPm1vZGVsPC9jb2RlPiBjbGFzcyByZXByZXNlbnRpbmcgYW4gPGNvZGU+YXBwbGljYXRpb248L2NvZGU+IG5vdGlmaWNhdGlvbiBtZXNzYWdlLiBBIG5vdGlmaWNhdGlvbiBtZXNzYWdlIG1heSBjb25zaXN0IG9mIGl0cyA8Y29kZT5ib2R5XG4gKiBjb21wb25lbnQ8L2NvZGU+IHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkIHdoZW4gdGhlIHVzZXIgaG92ZXJzIGEgbW91c2Ugb3ZlciB0aGUgbWVzc2FnZSBmb3IgYSBwZXJpb2Qgb2YgdGltZSAobGVzcyB0aGFuIGEgc2Vjb25kKS5cbiAqIDwvcD5cbiAqXG4gKiBAYXV0aG9yIHNoaW9yaW4sIHRlZTRjdXRlXG4gKiBAc2VlIFtbSU5vdGlmaWNhdGlvbk1hbmFnZXJdXVxuICogQHNlZSBbW05vdGlmaWNhdGlvbkFjdGlvbl1dXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb24ge1xuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX1VOREVGSU5FRDogc3RyaW5nID0gVFlQRV9VTkRFRklORUQ7XG5cbiAgICBwcml2YXRlIF90eXBlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgX2dyb3VwOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfdGltZW91dDogbnVtYmVyOyAvLyBhcyBtaWxsaXNlY1xuICAgIHB1YmxpYyBpY29uVVJMOiBzdHJpbmc7XG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIGJvZHlDb21wb25lbnQ6IFR5cGU8YW55PjtcbiAgICBwdWJsaWMgY3JlYXRlZFRpbWU6IERhdGU7XG4gICAgcHVibGljIG9jY3VycmluZ1RpbWU6IERhdGU7XG4gICAgcHVibGljIGNsaWNrSGFuZGxlcjogRnVuY3Rpb247XG4gICAgcHVibGljIGFjdGlvbnM6IE5vdGlmaWNhdGlvbkFjdGlvbltdO1xuICAgIHB1YmxpYyBzaG93OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoaWNvblVSTDogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCBzaG93OiBib29sZWFuLCBsYWJlbD86IHN0cmluZywgb2NjdXJyaW5nVGltZT86IERhdGUsIHRpbWVvdXQ/OiBudW1iZXIsIGJvZHlDb21wb25lbnQ/OiBUeXBlPGFueT4pIHtcblxuICAgICAgICB0aGlzLmljb25VUkwgPSBpY29uVVJMO1xuICAgICAgICB0aGlzLnRpdGxlID0gdGl0bGU7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuY3JlYXRlZFRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLm9jY3VycmluZ1RpbWUgPSBvY2N1cnJpbmdUaW1lO1xuICAgICAgICB0aGlzLnRpbWVvdXQgPSB0aW1lb3V0O1xuICAgICAgICB0aGlzLmJvZHlDb21wb25lbnQgPSBib2R5Q29tcG9uZW50O1xuICAgICAgICB0aGlzLnNob3cgPSBzaG93O1xuICAgICAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG5cbiAgICAgICAgaWYob2NjdXJyaW5nVGltZSA9PT0gbnVsbCB8fCB0eXBlb2Ygb2NjdXJyaW5nVGltZSA9PT0gJ3VuZGVmaW5lZCcpe1xuICAgICAgICAgICAgdGhpcy5vY2N1cnJpbmdUaW1lID0gbmV3IERhdGUodGhpcy5jcmVhdGVkVGltZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG5cbiAgICBzZXQgdHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX3R5cGUgPT09IG51bGwgfHwgdHlwZW9mIHRoaXMuX3R5cGUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLl90eXBlID0gTm90aWZpY2F0aW9uLlRZUEVfVU5ERUZJTkVEO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gICAgfVxuXG4gICAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9uYW1lID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9uYW1lID09PSBudWxsIHx8IHR5cGVvZiB0aGlzLl9uYW1lID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5fbmFtZSA9IE5vdGlmaWNhdGlvbi5UWVBFX1VOREVGSU5FRDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBncm91cCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ3JvdXA7XG4gICAgfVxuXG4gICAgc2V0IGdyb3VwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZ3JvdXAgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX2dyb3VwID09PSBudWxsIHx8IHR5cGVvZiB0aGlzLl9ncm91cCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX2dyb3VwID0gTm90aWZpY2F0aW9uLlRZUEVfVU5ERUZJTkVEO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHRpbWVvdXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVvdXQ7XG4gICAgfVxuXG4gICAgc2V0IHRpbWVvdXQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl90aW1lb3V0ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl90aW1lb3V0ID09PSBudWxsIHx8IHR5cGVvZiB0aGlzLl90aW1lb3V0ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5fdGltZW91dCA9IERFRkFVTFRfVElNRU9VVDtcbiAgICAgICAgfVxuICAgICAgICBpZih0aGlzLl90aW1lb3V0IDwgTUlOX1RJTUVPVVQpe1xuICAgICAgICAgICAgdGhpcy5fdGltZW91dCA9IE1JTl9USU1FT1VUO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEFjdGlvbihhY3Rpb246IE5vdGlmaWNhdGlvbkFjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVBY3Rpb24oYWN0aW9uOiBOb3RpZmljYXRpb25BY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5hY3Rpb25zLmluZGV4T2YoYWN0aW9uKTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aW9ucygpOiBOb3RpZmljYXRpb25BY3Rpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnM7XG4gICAgfVxufVxuIl19