ringcentral-widgets
Version:
RingCentral Integration Widget Library
55 lines (48 loc) • 1.48 kB
text/typescript
import Module from 'ringcentral-integration/lib/di/decorators/module';
import RcUIModule from '../../lib/RcUIModule';
export default class ConnectivityBadgeUI extends RcUIModule {
_locale: any;
_connectivityManager: any;
constructor({ locale, connectivityManager, ...options }) {
super({
...options,
});
this._locale = locale;
this._connectivityManager = connectivityManager;
}
getUIProps() {
return {
currentLocale: this._locale.currentLocale,
mode:
(this._connectivityManager.ready && this._connectivityManager.mode) ||
null,
webphoneConnecting:
this._connectivityManager.ready &&
this._connectivityManager.webphoneConnecting,
hasLimitedStatusError:
this._connectivityManager.ready &&
this._connectivityManager.hasLimitedStatusError,
};
}
getUIFunctions() {
const connectivityManager = this._connectivityManager;
return {
onClick() {
if (connectivityManager.isWebphoneUnavailableMode) {
connectivityManager.checkWebphoneAndConnect();
} else if (connectivityManager.hasLimitedStatusError) {
connectivityManager.checkStatus();
} else {
connectivityManager.showConnectivityAlert();
}
},
showBadgeAlert() {
connectivityManager.showConnectivityAlert();
},
};
}
}