How to use the ringcentral-integration/lib/di.Module function in ringcentral-integration

To help you get started, weā€™ve selected a few ringcentral-integration examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github ringcentral / ringcentral-embeddable / src / modules / GlipGroups / index.js View on Github external
import GlipGroups from 'ringcentral-integration/modules/GlipGroups';
import { Module } from 'ringcentral-integration/lib/di';

const glipGroupRegExp = /glip\/groups$/;

@Module({
  deps: [],
})
export default class NewGlipGroups extends GlipGroups {
  // TODO: hack for 400 error (Company associated with RC account is not found)
  async _fetchFunction() {
    try {
      const data = await super._fetchFunction();
      return data;
    } catch (error) {
      if (
        error &&
        error.message === 'Company associated with RC account is not found'
      ) {
        return [];
      }
      throw error;
github ringcentral / ringcentral-js-widgets / modules / FeedbackUI / index.ts View on Github external
import { Module } from 'ringcentral-integration/lib/di';
import RcUIModule from '../../lib/RcUIModule';

@Module({
  name: 'FeedbackUI',
  deps: ['RouterInteraction', 'Feedback', 'Locale', 'Brand'],
})
export default class FeedbackUI extends RcUIModule {
  getUIProps({ phone: { locale, feedback, brand } }) {
    return {
      brandName: brand.name,
      currentLocale: locale.currentLocale,
      email: feedback.email,
      topic: feedback.topic,
      subject: feedback.subject,
      description: feedback.description,
    };
  }

  getUIFunctions({ phone: { feedback, routerInteraction }, sendFeedback }) {
github ringcentral / ringcentral-js-widgets / packages / ringcentral-widgets / modules / AudioSettingsUI / index.js View on Github external
import { Module } from 'ringcentral-integration/lib/di';
import callingOptions from 'ringcentral-integration/modules/CallingSettings/callingOptions';
import RcUIModule from '../../lib/RcUIModule';

@Module({
  name: 'AudioSettingsUI',
  deps: [
    'AudioSettings',
    'Locale',
    'CallingSettings',
    'RouterInteraction',
    { dep: 'Webphone', optional: true },
  ],
})
export default class AudioSettingsUI extends RcUIModule {
  constructor({
    audioSettings,
    locale,
    callingSettings,
    routerInteraction,
    webphone,
github ringcentral / ringcentral-js-widgets / packages / ringcentral-widgets / modules / ConnectivityManager / index.js View on Github external
import RcModule from 'ringcentral-integration/lib/RcModule';
import { Module } from 'ringcentral-integration/lib/di';
import ensureExist from 'ringcentral-integration/lib/ensureExist';
import { selector } from 'ringcentral-integration/lib/selector';
import proxify from 'ringcentral-integration/lib/proxy/proxify';
import moduleStatuses from 'ringcentral-integration/enums/moduleStatuses';
import actionTypes from './actionTypes';
import getConnectivityMangerReducer from './getConnectivityMangerReducer';
import connectivityTypes from './connectivityTypes';

/**
 * @class
 * @description Connectivity manager module
 */
@Module({
  deps: [
    'Alert',
    'OAuth',
    'Auth',
    'ConnectivityMonitor',
    { dep: 'AvailabilityMonitor', optional: true },
    { dep: 'CallingSettings', optional: true },
    { dep: 'AudioSettings', optional: true },
    { dep: 'Webphone', optional: true },
  ],
})
export default class ConnectivityManager extends RcModule {
  /**
   * @constructor
   * @param {Object} params - params object
   * @param {Alert} params.alert - alert module instance
github ringcentral / ringcentral-embeddable / src / modules / MessageStore / index.js View on Github external
params.dateFrom = dateFrom.toISOString();
  }
  if (dateTo) {
    params.dateTo = dateTo.toISOString();
  }
  return params;
}

/**
 * @class

 * @description Messages data managing module
 * fetch conversations
 * handle new message subscription
 */
@Module({
  deps: [
    'Alert',
    'Client',
    'Auth',
    'Subscription',
    'ConnectivityMonitor',
    'RolesAndPermissions',
    { dep: 'TabManager', optional: true },
    { dep: 'Storage', optional: true },
    { dep: 'ConversationsOptions', optional: true }
  ]
})
export default class MessageStore extends Pollable {
  constructor({
    auth,
    client,
github ringcentral / ringcentral-js-widgets / packages / ringcentral-widgets / lib / OAuthBase / index.js View on Github external
import RcModule from 'ringcentral-integration/lib/RcModule';
import { prefixEnum } from 'ringcentral-integration/lib/Enum';
import { Module } from 'ringcentral-integration/lib/di';
import ensureExist from 'ringcentral-integration/lib/ensureExist';
import proxify from 'ringcentral-integration/lib/proxy/proxify';
import authMessages from 'ringcentral-integration/modules/Auth/authMessages';
import required from 'ringcentral-integration/lib/required';
import qs from 'qs';
import url from 'url';

import parseCallbackUri from '../parseCallbackUri';
import baseActionTypes from './baseActionTypes';
import getOAuthBaseReducer from './getOAuthBaseReducer';

const DEFAULT_UI_OPTIONS = ['hide_remember_me', 'hide_tos'];
@Module({
  deps: [
    'Auth',
    'Alert',
    'Locale',
    'Brand',
    { dep: 'TabManager', optional: true },
  ],
})
export default class OAuthBase extends RcModule {
  constructor({
    alert,
    auth,
    brand,
    locale,
    tabManager,
    redirectUri,
github ringcentral / ringcentral-js-widgets / packages / ringcentral-widgets / modules / MeetingUI / index.ts View on Github external
import { Module } from 'ringcentral-integration/lib/di';
import RcUIModule from '../../lib/RcUIModule';

@Module({
  name: 'MeetingUI',
  deps: ['Meeting', 'Locale', 'RateLimiter', 'ConnectivityMonitor'],
})
export default class MeetingUI extends RcUIModule {
  _meeting: any;
  _locale: any;
  _rateLimiter: any;
  _connectivityMonitor: any;
  constructor({
    meeting,
    locale,
    rateLimiter,
    connectivityMonitor,
    ...options
  }) {
    super({
github ringcentral / ringcentral-js-widgets / packages / ringcentral-widgets / modules / ContactDetailsUI / index.js View on Github external
import { Module } from 'ringcentral-integration/lib/di';
import {
  isE164,
  parseIncompletePhoneNumber,
} from '@ringcentral-integration/phone-number';
import formatNumber from 'ringcentral-integration/lib/formatNumber';
import RcUIModule from '../../lib/RcUIModule';

const DEFAULT_DIALER_ROUTE = '/dialer';
const DEFAULT_COMPOSETEXT_ROUTE = '/composeText';

@Module({
  name: 'ContactDetailsUI',
  deps: [
    'RouterInteraction',
    'ContactDetails',
    'ContactSearch',
    'RolesAndPermissions',
    'RateLimiter',
    'RegionSettings',
    'ConnectivityManager',
    'Call',
    'DialerUI',
    'ComposeText',
    'Brand',
    'Locale',
    'CallingSettings',
    {
github embbnux / SimpleGlip / src / modules / GlipContacts / index.js View on Github external
import RcModule from 'ringcentral-integration/lib/RcModule';
import { Module } from 'ringcentral-integration/lib/di';
import getter from 'ringcentral-integration/lib/getter';
import { createSelector } from 'reselect';

import actionTypes from './actionTypes';
import getReducer from './getReducer';

@Module({
  deps: [
    'AccountDirectory',
    'GlipPersons',
    { dep: 'GlipContactsOptions', optional: true }
  ]
})
export default class GlipContacts extends RcModule {
  constructor({
    accountDirectory,
    glipPersons,
    ...options
  }) {
    super({
      ...options,
      actionTypes,
    });
github ringcentral / ringcentral-js-widgets / packages / ringcentral-widgets / lib / AdapterModuleCoreBase / index.js View on Github external
import RcModule from 'ringcentral-integration/lib/RcModule';
import { Module } from 'ringcentral-integration/lib/di';
import proxify from 'ringcentral-integration/lib/proxy/proxify';
import ensureExist from 'ringcentral-integration/lib/ensureExist';
import moduleStatuses from 'ringcentral-integration/enums/moduleStatuses';
import { prefixEnum } from 'ringcentral-integration/lib/Enum';
import baseMessageTypes from '../AdapterCore/baseMessageTypes';
import baseActionTypes from './baseActionTypes';
import getDefaultGlobalStorageReducer from './getDefaultGlobalStorageReducer';
import IframeMessageTransport from '../IframeMessageTransport';

@Module({
  deps: ['GlobalStorage', 'Locale', 'Presence', 'RouterInteraction', 'Storage'],
})
export default class AdapterModuleCoreBase extends RcModule {
  constructor({
    prefix,
    storageKey = 'adapterCore',
    messageTypes = baseMessageTypes,
    actionTypes = baseActionTypes,
    globalStorage,
    locale,
    presence,
    routerInteraction,
    getGlobalStorageReducer = getDefaultGlobalStorageReducer,
    messageTransport = new IframeMessageTransport({
      targetWindow: window.parent,
    }),