Files
jitsi-meet/react/features/toolbar/components/ToolbarButton.web.js
Lyubomir Marinov d55e0f70d9 Import jitsi/jitsi-meet-react#2f23d98
As an intermediate step on the path to merging jitsi-meet and
jitsi-meet-react, import the whole source code of jitsi-meet-react as it
stands at
2f23d98424
i.e. the lastest master at the time of this import. No modifications are
applied to the imported source code in order to preserve a complete
snapshot of it in the repository of jitsi-meet and, thus, facilitate
comparison later on. Consequently, the source code of jitsi-meet and/or
jitsi-meet-react may not work. For example, jitsi-meet's jshint may be
unable to parse jitsi-meet-react's source code.
2016-10-12 10:31:52 -05:00

48 lines
1.2 KiB
JavaScript

import React from 'react';
import Icon from 'react-fontawesome';
import { stopEventPropagation } from '../../base/react';
import AbstractToolbarButton from './AbstractToolbarButton';
/**
* Represents a button in Toolbar on Web.
*
* @extends AbstractToolbarButton
*/
export default class ToolbarButton extends AbstractToolbarButton {
/**
* Renders the button of this Toolbar button.
*
* @param {Object} children - The children, if any, to be rendered inside
* the button. Presumably, contains the icon of this Toolbar button.
* @protected
* @returns {ReactElement} The button of this Toolbar button.
*/
_renderButton(children) {
const props = {};
'onClick' in this.props
&& (props.onClick = stopEventPropagation(this.props.onClick));
'style' in this.props && (props.style = this.props.style);
return React.createElement('button', props, children);
}
// eslint-disable-next-line valid-jsdoc
/**
* @inheritdoc
*/
_renderIcon() {
return super._renderIcon(Icon);
}
}
/**
* ToolbarButton component's property types.
*
* @static
*/
ToolbarButton.propTypes = AbstractToolbarButton.propTypes;