UNPKG

ringcentral-widgets

Version:
55 lines (48 loc) 1.48 kB
import Module from 'ringcentral-integration/lib/di/decorators/module'; import RcUIModule from '../../lib/RcUIModule'; @Module({ name: 'ConnectivityBadgeUI', deps: ['Locale', 'ConnectivityManager'], }) 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(); }, }; } }