| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- // @flow
 - 
 - import _ from 'lodash';
 - 
 - import { createToolbarEvent, sendAnalytics } from '../../analytics';
 - import { appNavigate } from '../../app';
 - import { disconnect } from '../../base/connection';
 - import { translate } from '../../base/i18n';
 - import { connect } from '../../base/redux';
 - import { AbstractHangupButton } from '../../base/toolbox';
 - import type { AbstractButtonProps } from '../../base/toolbox';
 - 
 - /**
 -  * The type of the React {@code Component} props of {@link HangupButton}.
 -  */
 - type Props = AbstractButtonProps & {
 - 
 -     /**
 -      * The redux {@code dispatch} function.
 -      */
 -     dispatch: Function
 - };
 - 
 - /**
 -  * Component that renders a toolbar button for leaving the current conference.
 -  *
 -  * @extends AbstractHangupButton
 -  */
 - class HangupButton extends AbstractHangupButton<Props, *> {
 -     _hangup: Function;
 - 
 -     accessibilityLabel = 'toolbar.accessibilityLabel.hangup';
 -     label = 'toolbar.hangup';
 -     tooltip = 'toolbar.hangup';
 - 
 -     /**
 -      * Initializes a new HangupButton instance.
 -      *
 -      * @param {Props} props - The read-only properties with which the new
 -      * instance is to be initialized.
 -      */
 -     constructor(props: Props) {
 -         super(props);
 - 
 -         this._hangup = _.once(() => {
 -             sendAnalytics(createToolbarEvent('hangup'));
 - 
 -             // FIXME: these should be unified.
 -             if (navigator.product === 'ReactNative') {
 -                 this.props.dispatch(appNavigate(undefined));
 -             } else {
 -                 this.props.dispatch(disconnect(true));
 -             }
 -         });
 -     }
 - 
 -     /**
 -      * Helper function to perform the actual hangup action.
 -      *
 -      * @override
 -      * @protected
 -      * @returns {void}
 -      */
 -     _doHangup() {
 -         this._hangup();
 -     }
 - }
 - 
 - export default translate(connect()(HangupButton));
 
 
  |