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

MuteEveryoneElseButton.tsx 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import React from 'react';
  2. import { connect } from 'react-redux';
  3. import { translate } from '../../../base/i18n/functions';
  4. import { IconMicSlash } from '../../../base/icons/svg';
  5. import ContextMenuItem from '../../../base/ui/components/web/ContextMenuItem';
  6. import AbstractMuteEveryoneElseButton, { IProps } from '../AbstractMuteEveryoneElseButton';
  7. /**
  8. * Implements a React {@link Component} which displays a button for audio muting
  9. * every participant in the conference except the one with the given
  10. * participantID.
  11. */
  12. class MuteEveryoneElseButton extends AbstractMuteEveryoneElseButton {
  13. /**
  14. * Instantiates a new {@code Component}.
  15. *
  16. * @inheritdoc
  17. */
  18. constructor(props: IProps) {
  19. super(props);
  20. this._handleClick = this._handleClick.bind(this);
  21. }
  22. /**
  23. * Implements React's {@link Component#render()}.
  24. *
  25. * @inheritdoc
  26. * @returns {ReactElement}
  27. */
  28. render() {
  29. const { t } = this.props;
  30. return (
  31. <ContextMenuItem
  32. accessibilityLabel = { t('toolbar.accessibilityLabel.muteEveryoneElse') }
  33. icon = { IconMicSlash }
  34. // eslint-disable-next-line react/jsx-handler-names
  35. onClick = { this._handleClick }
  36. text = { t('videothumbnail.domuteOthers') } />
  37. );
  38. }
  39. _handleClick: () => void;
  40. }
  41. export default translate(connect()(MuteEveryoneElseButton));