mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2026-05-20 05:27:46 +00:00
chore: remove some cycles
This commit is contained in:
committed by
Saúl Ibarra Corretgé
parent
af5d4c850b
commit
a67d0fbf6c
@@ -0,0 +1,85 @@
|
||||
/* @flow */
|
||||
|
||||
import React, { Component } from 'react';
|
||||
|
||||
import { translate } from '../../base/i18n';
|
||||
import { IconRec } from '../../base/icons';
|
||||
import { ToolbarButton } from '../../toolbox/components/web';
|
||||
|
||||
/**
|
||||
* The type of the React {@code Component} state of
|
||||
* {@link LocalRecordingButton}.
|
||||
*/
|
||||
type Props = {
|
||||
|
||||
/**
|
||||
* Whether or not {@link LocalRecordingInfoDialog} should be displayed.
|
||||
*/
|
||||
isDialogShown: boolean,
|
||||
|
||||
/**
|
||||
* Callback function called when {@link LocalRecordingButton} is clicked.
|
||||
*/
|
||||
onClick: Function,
|
||||
|
||||
/**
|
||||
* Invoked to obtain translated strings.
|
||||
*/
|
||||
t: Function
|
||||
}
|
||||
|
||||
/**
|
||||
* A React {@code Component} for opening or closing the
|
||||
* {@code LocalRecordingInfoDialog}.
|
||||
*
|
||||
* @extends Component
|
||||
*/
|
||||
class LocalRecordingButton extends Component<Props> {
|
||||
|
||||
/**
|
||||
* Initializes a new {@code LocalRecordingButton} instance.
|
||||
*
|
||||
* @param {Object} props - The read-only properties with which the new
|
||||
* instance is to be initialized.
|
||||
*/
|
||||
constructor(props: Props) {
|
||||
super(props);
|
||||
|
||||
// Bind event handlers so they are only bound once per instance.
|
||||
this._onClick = this._onClick.bind(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements React's {@link Component#render()}.
|
||||
*
|
||||
* @inheritdoc
|
||||
* @returns {ReactElement}
|
||||
*/
|
||||
render() {
|
||||
const { isDialogShown, t } = this.props;
|
||||
|
||||
return (
|
||||
<ToolbarButton
|
||||
accessibilityLabel
|
||||
= { t('toolbar.accessibilityLabel.localRecording') }
|
||||
icon = { IconRec }
|
||||
onClick = { this._onClick }
|
||||
toggled = { isDialogShown }
|
||||
tooltip = { t('localRecording.dialogTitle') } />
|
||||
);
|
||||
}
|
||||
|
||||
_onClick: () => void;
|
||||
|
||||
/**
|
||||
* Callback invoked when the Toolbar button is clicked.
|
||||
*
|
||||
* @private
|
||||
* @returns {void}
|
||||
*/
|
||||
_onClick() {
|
||||
this.props.onClick();
|
||||
}
|
||||
}
|
||||
|
||||
export default translate(LocalRecordingButton);
|
||||
Reference in New Issue
Block a user