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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L21vZGVsL05vdGlmaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsdUJBQU0sY0FBYyxHQUFXLFdBQVcsQ0FBQztBQUMzQyx1QkFBTSxXQUFXLEdBQVcsSUFBSSxDQUFDO0FBQ2pDLHVCQUFNLGVBQWUsR0FBVyxJQUFJLENBQUM7Ozs7Ozs7Ozs7O0FBWXJDLE1BQU07Ozs7Ozs7Ozs7O0lBbUJGLFlBQVksT0FBZSxFQUFFLEtBQWEsRUFBRSxXQUFtQixFQUFFLElBQWEsRUFBRSxLQUFjLEVBQUUsYUFBb0IsRUFBRSxPQUFnQixFQUFFLGFBQXlCO1FBRTdKLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixFQUFFLENBQUEsQ0FBQyxhQUFhLEtBQUssSUFBSSxJQUFJLE9BQU8sYUFBYSxLQUFLLFdBQVcsQ0FBQyxDQUFBLENBQUM7WUFDL0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbkQ7S0FDSjs7OztJQUVELElBQUksSUFBSTtRQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0tBQ3JCOzs7OztJQUVELElBQUksSUFBSSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDO1NBQzVDO0tBQ0o7Ozs7SUFFRCxJQUFJLElBQUk7UUFDSixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUNyQjs7Ozs7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQztTQUM1QztLQUNKOzs7O0lBRUQsSUFBSSxLQUFLO1FBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDdEI7Ozs7O0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUM7U0FDN0M7S0FDSjs7OztJQUVELElBQUksT0FBTztRQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0tBQ3hCOzs7OztJQUVELElBQUksT0FBTyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUM7U0FDbkM7UUFDRCxFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFBLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUM7U0FDL0I7S0FDSjs7Ozs7SUFFTSxTQUFTLENBQUMsTUFBMEI7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Ozs7OztJQUd2QixZQUFZLENBQUMsTUFBMEI7UUFDMUMscUJBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2pDOzs7OztJQUdFLFVBQVU7UUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzs7OzhCQS9Gd0IsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkFjdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uQWN0aW9uJztcblxuY29uc3QgVFlQRV9VTkRFRklORUQ6IHN0cmluZyA9ICd1bmRlZmluZWQnO1xuY29uc3QgTUlOX1RJTUVPVVQ6IG51bWJlciA9IDQ1MDA7XG5jb25zdCBERUZBVUxUX1RJTUVPVVQ6IG51bWJlciA9IDY1MDA7XG5cbi8qKlxuICogPHAgc3R5bGU9XCJ0ZXh0LWluZGVudDogMmVtO1wiPlxuICogQSA8Y29kZT5tb2RlbDwvY29kZT4gY2xhc3MgcmVwcmVzZW50aW5nIGFuIDxjb2RlPmFwcGxpY2F0aW9uPC9jb2RlPiBub3RpZmljYXRpb24gbWVzc2FnZS4gQSBub3RpZmljYXRpb24gbWVzc2FnZSBtYXkgY29uc2lzdCBvZiBpdHMgPGNvZGU+Ym9keVxuICogY29tcG9uZW50PC9jb2RlPiB3aGljaCB3aWxsIGJlIGRpc3BsYXllZCB3aGVuIHRoZSB1c2VyIGhvdmVycyBhIG1vdXNlIG92ZXIgdGhlIG1lc3NhZ2UgZm9yIGEgcGVyaW9kIG9mIHRpbWUgKGxlc3MgdGhhbiBhIHNlY29uZCkuXG4gKiA8L3A+XG4gKlxuICogQGF1dGhvciBzaGlvcmluLCB0ZWU0Y3V0ZVxuICogQHNlZSBbW0lOb3RpZmljYXRpb25NYW5hZ2VyXV1cbiAqIEBzZWUgW1tOb3RpZmljYXRpb25BY3Rpb25dXVxuICovXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9VTkRFRklORUQ6IHN0cmluZyA9IFRZUEVfVU5ERUZJTkVEO1xuXG4gICAgcHJpdmF0ZSBfdHlwZTogc3RyaW5nO1xuICAgIHByaXZhdGUgX25hbWU6IHN0cmluZztcbiAgICBwcml2YXRlIF9ncm91cDogc3RyaW5nO1xuICAgIHByaXZhdGUgX3RpbWVvdXQ6IG51bWJlcjsgLy8gYXMgbWlsbGlzZWNcbiAgICBwdWJsaWMgaWNvblVSTDogc3RyaW5nO1xuICAgIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyBib2R5Q29tcG9uZW50OiBUeXBlPGFueT47XG4gICAgcHVibGljIGNyZWF0ZWRUaW1lOiBEYXRlO1xuICAgIHB1YmxpYyBvY2N1cnJpbmdUaW1lOiBEYXRlO1xuICAgIHB1YmxpYyBjbGlja0hhbmRsZXI6IEZ1bmN0aW9uO1xuICAgIHB1YmxpYyBhY3Rpb25zOiBOb3RpZmljYXRpb25BY3Rpb25bXTtcbiAgICBwdWJsaWMgc2hvdzogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGljb25VUkw6IHN0cmluZywgdGl0bGU6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZywgc2hvdzogYm9vbGVhbiwgbGFiZWw/OiBzdHJpbmcsIG9jY3VycmluZ1RpbWU/OiBEYXRlLCB0aW1lb3V0PzogbnVtYmVyLCBib2R5Q29tcG9uZW50PzogVHlwZTxhbnk+KSB7XG5cbiAgICAgICAgdGhpcy5pY29uVVJMID0gaWNvblVSTDtcbiAgICAgICAgdGhpcy50aXRsZSA9IHRpdGxlO1xuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IFtdO1xuICAgICAgICB0aGlzLmNyZWF0ZWRUaW1lID0gbmV3IERhdGUoKTtcbiAgICAgICAgdGhpcy5vY2N1cnJpbmdUaW1lID0gb2NjdXJyaW5nVGltZTtcbiAgICAgICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgICAgICAgdGhpcy5ib2R5Q29tcG9uZW50ID0gYm9keUNvbXBvbmVudDtcbiAgICAgICAgdGhpcy5zaG93ID0gc2hvdztcbiAgICAgICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuXG4gICAgICAgIGlmKG9jY3VycmluZ1RpbWUgPT09IG51bGwgfHwgdHlwZW9mIG9jY3VycmluZ1RpbWUgPT09ICd1bmRlZmluZWQnKXtcbiAgICAgICAgICAgIHRoaXMub2NjdXJyaW5nVGltZSA9IG5ldyBEYXRlKHRoaXMuY3JlYXRlZFRpbWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuXG4gICAgc2V0IHR5cGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl90eXBlID09PSBudWxsIHx8IHR5cGVvZiB0aGlzLl90eXBlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5fdHlwZSA9IE5vdGlmaWNhdGlvbi5UWVBFX1VOREVGSU5FRDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICAgIH1cblxuICAgIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fbmFtZSA9PT0gbnVsbCB8fCB0eXBlb2YgdGhpcy5fbmFtZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX25hbWUgPSBOb3RpZmljYXRpb24uVFlQRV9VTkRFRklORUQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgZ3JvdXAoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dyb3VwO1xuICAgIH1cblxuICAgIHNldCBncm91cCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2dyb3VwID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9ncm91cCA9PT0gbnVsbCB8fCB0eXBlb2YgdGhpcy5fZ3JvdXAgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLl9ncm91cCA9IE5vdGlmaWNhdGlvbi5UWVBFX1VOREVGSU5FRDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCB0aW1lb3V0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aW1lb3V0O1xuICAgIH1cblxuICAgIHNldCB0aW1lb3V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fdGltZW91dCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fdGltZW91dCA9PT0gbnVsbCB8fCB0eXBlb2YgdGhpcy5fdGltZW91dCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbWVvdXQgPSBERUZBVUxUX1RJTUVPVVQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYodGhpcy5fdGltZW91dCA8IE1JTl9USU1FT1VUKXtcbiAgICAgICAgICAgIHRoaXMuX3RpbWVvdXQgPSBNSU5fVElNRU9VVDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhZGRBY3Rpb24oYWN0aW9uOiBOb3RpZmljYXRpb25BY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWN0aW9uKGFjdGlvbjogTm90aWZpY2F0aW9uQWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGxldCBpbmRleCA9IHRoaXMuYWN0aW9ucy5pbmRleE9mKGFjdGlvbik7XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjdGlvbnMoKTogTm90aWZpY2F0aW9uQWN0aW9uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zO1xuICAgIH1cbn1cbiJdfQ==