You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AbstractHangupButton.js 768B

1234567891011121314151617181920212223242526272829303132333435
  1. // @flow
  2. import AbstractButton from './AbstractButton';
  3. import type { Props } from './AbstractButton';
  4. /**
  5. * An abstract implementation of a button for disconnecting a conference.
  6. */
  7. class AbstractHangupButton<P : Props, S: *> extends AbstractButton<P, S> {
  8. accessibilityLabel = 'Hangup';
  9. iconName = 'icon-hangup';
  10. /**
  11. * Handles clicking / pressing the button, and disconnects the conference.
  12. *
  13. * @private
  14. * @returns {void}
  15. */
  16. _handleClick() {
  17. this._doHangup();
  18. }
  19. /**
  20. * Helper function to perform the actual hangup action.
  21. *
  22. * @abstract
  23. * @private
  24. * @returns {void}
  25. */
  26. _doHangup() {
  27. // To be implemented by subclass.
  28. }
  29. }
  30. export default AbstractHangupButton;