Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

LinkToSalesforceButton.js 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // @flow
  2. import { createToolbarEvent, sendAnalytics } from '../../../analytics';
  3. import { translate } from '../../../base/i18n';
  4. import { IconSalesforce } from '../../../base/icons';
  5. import { connect } from '../../../base/redux';
  6. import { AbstractButton, type AbstractButtonProps } from '../../../base/toolbox/components';
  7. import { navigate }
  8. from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
  9. import { screen } from '../../../mobile/navigation/routes';
  10. /**
  11. * Implementation of a button for opening the Salesforce link dialog.
  12. */
  13. class LinkToSalesforceButton extends AbstractButton<AbstractButtonProps, *> {
  14. accessibilityLabel = 'toolbar.accessibilityLabel.linkToSalesforce';
  15. icon = IconSalesforce;
  16. label = 'toolbar.linkToSalesforce';
  17. /**
  18. * Handles clicking / pressing the button, and opens the Salesforce link dialog.
  19. *
  20. * @protected
  21. * @returns {void}
  22. */
  23. _handleClick() {
  24. sendAnalytics(createToolbarEvent('link.to.salesforce'));
  25. return navigate(screen.conference.salesforce);
  26. }
  27. }
  28. /**
  29. * Function that maps parts of Redux state tree into component props.
  30. *
  31. * @param {Object} state - Redux state.
  32. * @private
  33. * @returns {Props}
  34. */
  35. function mapStateToProps(state) {
  36. return {
  37. visible: Boolean(state['features/base/config'].salesforceUrl)
  38. };
  39. }
  40. export default translate(connect(mapStateToProps)(LinkToSalesforceButton));