UNPKG

@bbc/react-transcript-editor

Version:

A React component to make transcribing audio and video easier and faster.

59 lines (50 loc) 2.25 kB
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import React from 'react'; import PropTypes from 'prop-types'; class PlayerControls extends React.Component { constructor(...args) { super(...args); _defineProperty(this, "setIntervalHelperBackward", () => { this.interval = setInterval(() => { this.props.skipBackward(); }, 300); }); _defineProperty(this, "setIntervalHelperForward", () => { this.interval = setInterval(() => { this.props.skipForward(); }, 300); }); _defineProperty(this, "clearIntervalHelper", () => { clearInterval(this.interval); }); _defineProperty(this, "setTimecodeOffSetHelper", () => { this.props.setTimeCodeOffset(prompt('Add a timecode offset hh:mm:ss:ff')); }); } render() { return React.createElement("div", null, React.createElement("button", { onClick: e => { this.props.playMedia(e); } }, " ", this.props.isPlaying() ? '❚❚' : '▶', " "), React.createElement("button", { onMouseDown: this.setIntervalHelperBackward, onMouseUp: this.clearIntervalHelper }, " ", '◀◀'), React.createElement("button", { onMouseDown: this.setIntervalHelperForward, onMouseUp: this.clearIntervalHelper }, " ", '▶▶'), React.createElement("br", null), React.createElement("code", null, this.props.currentTime), " / ", React.createElement("code", null, this.props.duration), React.createElement("br", null), React.createElement("button", { type: "button", onClick: this.props.promptSetCurrentTime }, "Jump To Time \u23F1"), React.createElement("br", null), React.createElement("button", { type: "button", onClick: this.setTimecodeOffSetHelper }, "Set Timecode Offset \u23F1"), React.createElement("output", null, React.createElement("code", null, this.props.timecodeOffset))); } } PlayerControls.propTypes = { playMedia: PropTypes.func, currentTime: PropTypes.string, timecodeOffset: PropTypes.string, promptSetCurrentTime: PropTypes.func }; export default PlayerControls;