com.phloxui
Version:
PhloxUI Ng2+ Framework
145 lines (144 loc) • 13.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component } from '@angular/core';
import { ConnectionManager } from '../service/ConnectionManager.service';
import { PhloxAppInfoService } from '../service/PhloxAppInfoService.service';
import { I18N } from '../decorator/I18N.decorator';
const /** @type {?} */ TYPE_NAME = "phx-connection-status-pane";
const /** @type {?} */ STATUS_NORMAL = "Your internet connection is normal.";
const /** @type {?} */ STATUS_SLOW = "Your internet connection is quite slow.";
const /** @type {?} */ STATUS_NOT_CONNECT = "Could not connect to the server.";
const /** @type {?} */ TROUBLESHOOT = "troubleshoot";
export class ConnectionStatusPane {
/**
* @param {?} connectionMgr
* @param {?} phloxAppService
*/
constructor(connectionMgr, phloxAppService) {
this.connectionMgr = connectionMgr;
phloxAppService.getAppInfo().then((result) => {
this.connectionMgr.setPhloxAppInfo(result);
});
this.troubleshoot = TROUBLESHOOT;
}
/**
* @return {?}
*/
getSignalBarClass() {
let /** @type {?} */ signalClasses = [];
this._signalPercent = this.getSignalPercent();
if (this._signalPercent !== null && typeof this._signalPercent === 'number') {
if (this._signalPercent > 0) {
if (this._signalPercent >= 1 && this._signalPercent <= 25) {
signalClasses.push('signal-half');
this.statasMessage = this.statasMessage ? this.statasMessage : STATUS_SLOW;
}
else if (this._signalPercent >= 26 && this._signalPercent <= 50) {
signalClasses.push('signal-half');
this.statasMessage = this.statasMessage ? this.statasMessage : STATUS_SLOW;
}
else if (this._signalPercent >= 51 && this._signalPercent <= 75) {
signalClasses.push('signal-full');
this.statasMessage = this.statasMessage ? this.statasMessage : STATUS_NORMAL;
}
else {
// over 76%
signalClasses.push('signal-full');
this.statasMessage = this.statasMessage ? this.statasMessage : STATUS_NORMAL;
}
}
else {
// <= 0 do nothing
signalClasses.push('signal-lost');
this.statasMessage = this.statasMessage ? this.statasMessage : STATUS_NOT_CONNECT;
}
}
return signalClasses;
}
/**
* @return {?}
*/
getSignalPercent() {
// return this.connectionMgr.getConnectionQuality();
return 60;
}
/**
* @return {?}
*/
getStatasMessage() {
return this.statasMessage;
}
/**
* @param {?} statasMessage
* @return {?}
*/
setStatasMessage(statasMessage) {
this.statasMessage = statasMessage;
}
/**
* @return {?}
*/
getTroubleshoot() {
return this.troubleshoot;
}
/**
* @param {?} troubleshoot
* @return {?}
*/
setTroubleshoot(troubleshoot) {
this.troubleshoot = troubleshoot;
}
}
ConnectionStatusPane.TYPE_NAME = TYPE_NAME;
ConnectionStatusPane.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: `<div class="connection-status-pane">
<div [attr.class]="'status-left ' + getSignalBarClass().join(' ')"></div>
<div class="status-right">
<div [attr.class]="'status-message ' + getSignalBarClass().join(' ')">{{statasMessage}}</div>
<div class="status-troubleshoot" *ngIf="getSignalPercent()<=50">{{troubleshoot}}</div>
</div>
</div>
`
},] },
];
/** @nocollapse */
ConnectionStatusPane.ctorParameters = () => [
{ type: ConnectionManager, },
{ type: PhloxAppInfoService, },
];
tslib_1.__decorate([
I18N(),
tslib_1.__metadata("design:type", String)
], ConnectionStatusPane.prototype, "statasMessage", void 0);
tslib_1.__decorate([
I18N(),
tslib_1.__metadata("design:type", String)
], ConnectionStatusPane.prototype, "troubleshoot", void 0);
function ConnectionStatusPane_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ConnectionStatusPane.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ConnectionStatusPane.ctorParameters;
/** @type {?} */
ConnectionStatusPane.TYPE_NAME;
/** @type {?} */
ConnectionStatusPane.prototype.statasMessage;
/** @type {?} */
ConnectionStatusPane.prototype.troubleshoot;
/** @type {?} */
ConnectionStatusPane.prototype.connectionMgr;
/** @type {?} */
ConnectionStatusPane.prototype.model;
/** @type {?} */
ConnectionStatusPane.prototype._signalPercent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdGlvblN0YXR1c1BhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L0Nvbm5lY3Rpb25TdGF0dXNQYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNELE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU1uRCx1QkFBTSxTQUFTLEdBQVcsNEJBQTRCLENBQUM7QUFFdkQsdUJBQU0sYUFBYSxHQUFXLHFDQUFxQyxDQUFDO0FBQ3BFLHVCQUFNLFdBQVcsR0FBVyx5Q0FBeUMsQ0FBQztBQUN0RSx1QkFBTSxrQkFBa0IsR0FBVyxrQ0FBa0MsQ0FBQztBQUN0RSx1QkFBTSxZQUFZLEdBQVcsY0FBYyxDQUFDO0FBYzVDLE1BQU07Ozs7O0lBYUosWUFBWSxhQUFnQyxFQUFFLGVBQW9DO1FBQ2hGLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBRW5DLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM1QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztLQUNsQzs7OztJQUVNLGlCQUFpQjtRQUN0QixxQkFBSSxhQUFhLEdBQWEsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFOUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDNUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzFELGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2lCQUM1RTtnQkFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNsRSxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztpQkFDNUU7Z0JBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDbEUsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7aUJBQzlFO2dCQUFDLElBQUksQ0FBQyxDQUFDOztvQkFFTixhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztpQkFDOUU7YUFDRjtZQUFDLElBQUksQ0FBQyxDQUFDOztnQkFFTixhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO2FBQ25GO1NBQ0Y7UUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDOzs7OztJQUdoQixnQkFBZ0I7O1FBRXJCLE1BQU0sQ0FBQyxFQUFFLENBQUM7Ozs7O0lBR0wsZ0JBQWdCO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDOzs7Ozs7SUFHckIsZ0JBQWdCLENBQUMsYUFBcUI7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7Ozs7O0lBRzlCLGVBQWU7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7Ozs7OztJQUdwQixlQUFlLENBQUMsWUFBb0I7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7OztpQ0FyRVEsU0FBUzs7WUFkckQsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDbkIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFFBQVEsRUFBRTs7Ozs7OztDQU9YO2FBQ0E7Ozs7WUExQlEsaUJBQWlCO1lBQ2pCLG1CQUFtQjs7O0lBOEJ6QixJQUFJLEVBQUU7Ozs7SUFFTixJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uTWFuYWdlciB9IGZyb20gJy4uL3NlcnZpY2UvQ29ubmVjdGlvbk1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9QaGxveEFwcEluZm9TZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4TiB9IGZyb20gJy4uL2RlY29yYXRvci9JMThOLmRlY29yYXRvcic7XG5cblxuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJwaHgtY29ubmVjdGlvbi1zdGF0dXMtcGFuZVwiO1xuXG5jb25zdCBTVEFUVVNfTk9STUFMOiBzdHJpbmcgPSBcIllvdXIgaW50ZXJuZXQgY29ubmVjdGlvbiBpcyBub3JtYWwuXCI7XG5jb25zdCBTVEFUVVNfU0xPVzogc3RyaW5nID0gXCJZb3VyIGludGVybmV0IGNvbm5lY3Rpb24gaXMgcXVpdGUgc2xvdy5cIjtcbmNvbnN0IFNUQVRVU19OT1RfQ09OTkVDVDogc3RyaW5nID0gXCJDb3VsZCBub3QgY29ubmVjdCB0byB0aGUgc2VydmVyLlwiO1xuY29uc3QgVFJPVUJMRVNIT09UOiBzdHJpbmcgPSBcInRyb3VibGVzaG9vdFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwiY29ubmVjdGlvbi1zdGF0dXMtcGFuZVwiPlxyXG5cdDxkaXYgW2F0dHIuY2xhc3NdPVwiJ3N0YXR1cy1sZWZ0ICcgKyBnZXRTaWduYWxCYXJDbGFzcygpLmpvaW4oJyAnKVwiPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJzdGF0dXMtcmlnaHRcIj5cclxuXHRcdDxkaXYgW2F0dHIuY2xhc3NdPVwiJ3N0YXR1cy1tZXNzYWdlICcgKyBnZXRTaWduYWxCYXJDbGFzcygpLmpvaW4oJyAnKVwiPnt7c3RhdGFzTWVzc2FnZX19PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwic3RhdHVzLXRyb3VibGVzaG9vdFwiICpuZ0lmPVwiZ2V0U2lnbmFsUGVyY2VudCgpPD01MFwiPnt7dHJvdWJsZXNob290fX08L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbmBcbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblN0YXR1c1BhbmUge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9OQU1FOiBzdHJpbmcgPSBUWVBFX05BTUU7XG5cbiAgQEkxOE4oKVxuICBwdWJsaWMgc3RhdGFzTWVzc2FnZTogc3RyaW5nO1xuICBASTE4TigpXG4gIHB1YmxpYyB0cm91Ymxlc2hvb3Q6IHN0cmluZztcblxuICBwcml2YXRlIGNvbm5lY3Rpb25NZ3I6IENvbm5lY3Rpb25NYW5hZ2VyO1xuICBwcml2YXRlIG1vZGVsOiBhbnk7XG4gIHByaXZhdGUgX3NpZ25hbFBlcmNlbnQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihjb25uZWN0aW9uTWdyOiBDb25uZWN0aW9uTWFuYWdlciwgcGhsb3hBcHBTZXJ2aWNlOiBQaGxveEFwcEluZm9TZXJ2aWNlKSB7XG4gICAgdGhpcy5jb25uZWN0aW9uTWdyID0gY29ubmVjdGlvbk1ncjtcblxuICAgIHBobG94QXBwU2VydmljZS5nZXRBcHBJbmZvKCkudGhlbigocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvbk1nci5zZXRQaGxveEFwcEluZm8ocmVzdWx0KTtcbiAgICB9KTtcblxuICAgIHRoaXMudHJvdWJsZXNob290ID0gVFJPVUJMRVNIT09UO1xuICB9XG5cbiAgcHVibGljIGdldFNpZ25hbEJhckNsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICBsZXQgc2lnbmFsQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLl9zaWduYWxQZXJjZW50ID0gdGhpcy5nZXRTaWduYWxQZXJjZW50KCk7XG5cbiAgICBpZiAodGhpcy5fc2lnbmFsUGVyY2VudCAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5fc2lnbmFsUGVyY2VudCA9PT0gJ251bWJlcicpIHtcbiAgICAgIGlmICh0aGlzLl9zaWduYWxQZXJjZW50ID4gMCkge1xuICAgICAgICBpZiAodGhpcy5fc2lnbmFsUGVyY2VudCA+PSAxICYmIHRoaXMuX3NpZ25hbFBlcmNlbnQgPD0gMjUpIHtcbiAgICAgICAgICBzaWduYWxDbGFzc2VzLnB1c2goJ3NpZ25hbC1oYWxmJyk7XG4gICAgICAgICAgdGhpcy5zdGF0YXNNZXNzYWdlID0gdGhpcy5zdGF0YXNNZXNzYWdlID8gdGhpcy5zdGF0YXNNZXNzYWdlIDogU1RBVFVTX1NMT1c7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5fc2lnbmFsUGVyY2VudCA+PSAyNiAmJiB0aGlzLl9zaWduYWxQZXJjZW50IDw9IDUwKSB7XG4gICAgICAgICAgc2lnbmFsQ2xhc3Nlcy5wdXNoKCdzaWduYWwtaGFsZicpO1xuICAgICAgICAgIHRoaXMuc3RhdGFzTWVzc2FnZSA9IHRoaXMuc3RhdGFzTWVzc2FnZSA/IHRoaXMuc3RhdGFzTWVzc2FnZSA6IFNUQVRVU19TTE9XO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX3NpZ25hbFBlcmNlbnQgPj0gNTEgJiYgdGhpcy5fc2lnbmFsUGVyY2VudCA8PSA3NSkge1xuICAgICAgICAgIHNpZ25hbENsYXNzZXMucHVzaCgnc2lnbmFsLWZ1bGwnKTtcbiAgICAgICAgICB0aGlzLnN0YXRhc01lc3NhZ2UgPSB0aGlzLnN0YXRhc01lc3NhZ2UgPyB0aGlzLnN0YXRhc01lc3NhZ2UgOiBTVEFUVVNfTk9STUFMO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIG92ZXIgNzYlXG4gICAgICAgICAgc2lnbmFsQ2xhc3Nlcy5wdXNoKCdzaWduYWwtZnVsbCcpO1xuICAgICAgICAgIHRoaXMuc3RhdGFzTWVzc2FnZSA9IHRoaXMuc3RhdGFzTWVzc2FnZSA/IHRoaXMuc3RhdGFzTWVzc2FnZSA6IFNUQVRVU19OT1JNQUw7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIDw9IDAgZG8gbm90aGluZ1xuICAgICAgICBzaWduYWxDbGFzc2VzLnB1c2goJ3NpZ25hbC1sb3N0Jyk7XG4gICAgICAgIHRoaXMuc3RhdGFzTWVzc2FnZSA9IHRoaXMuc3RhdGFzTWVzc2FnZSA/IHRoaXMuc3RhdGFzTWVzc2FnZSA6IFNUQVRVU19OT1RfQ09OTkVDVDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2lnbmFsQ2xhc3NlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaWduYWxQZXJjZW50KCk6IG51bWJlcntcbiAgICAvLyByZXR1cm4gdGhpcy5jb25uZWN0aW9uTWdyLmdldENvbm5lY3Rpb25RdWFsaXR5KCk7XG4gICAgcmV0dXJuIDYwO1xuICB9XG5cbiAgcHVibGljIGdldFN0YXRhc01lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0YXNNZXNzYWdlO1xuICB9XG5cbiAgcHVibGljIHNldFN0YXRhc01lc3NhZ2Uoc3RhdGFzTWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0YXNNZXNzYWdlID0gc3RhdGFzTWVzc2FnZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUcm91Ymxlc2hvb3QoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cm91Ymxlc2hvb3Q7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJvdWJsZXNob290KHRyb3VibGVzaG9vdDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50cm91Ymxlc2hvb3QgPSB0cm91Ymxlc2hvb3Q7XG4gIH1cbn1cbiJdfQ==