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 750B

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. export default class AbstractHangupButton<P : Props, S: *>
  8. extends AbstractButton<P, S> {
  9. accessibilityLabel = 'Hangup';
  10. iconName = 'icon-hangup';
  11. /**
  12. * Handles clicking / pressing the button, and disconnects the conference.
  13. *
  14. * @private
  15. * @returns {void}
  16. */
  17. _handleClick() {
  18. this._doHangup();
  19. }
  20. /**
  21. * Helper function to perform the actual hangup action.
  22. *
  23. * @abstract
  24. * @private
  25. * @returns {void}
  26. */
  27. _doHangup() {
  28. // To be implemented by subclass.
  29. }
  30. }