UNPKG

6.82 kBJavaScriptView Raw
1"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _react=_interopRequireDefault(require("react")),_propTypes=_interopRequireDefault(require("prop-types")),_VolumeControl=_interopRequireDefault(require("./VolumeControl")),_Select=_interopRequireDefault(require("./Select")),_PlayerControlsModule=_interopRequireDefault(require("./PlayerControls.module.css")),_reactFontawesome=require("@fortawesome/react-fontawesome"),_freeSolidSvgIcons=require("@fortawesome/free-solid-svg-icons");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var descriptor,i=0;i<props.length;i++)descriptor=props[i],descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}function _possibleConstructorReturn(self,call){return call&&("object"===_typeof(call)||"function"==typeof call)?call:_assertThisInitialized(self)}function _getPrototypeOf(o){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)},_getPrototypeOf(o)}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){return _setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_setPrototypeOf(o,p)}function _assertThisInitialized(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}var PlayerControls=/*#__PURE__*/function(_React$Component){function PlayerControls(){var _getPrototypeOf2,_this;_classCallCheck(this,PlayerControls);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _this=_possibleConstructorReturn(this,(_getPrototypeOf2=_getPrototypeOf(PlayerControls)).call.apply(_getPrototypeOf2,[this].concat(args))),_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)),"setIntervalHelperBackward",function(){_this.props.skipBackward(),_this.interval=setInterval(function(){_this.props.skipBackward()},300)}),_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)),"setIntervalHelperForward",function(){_this.props.skipForward(),_this.interval=setInterval(function(){_this.props.skipForward()},300)}),_defineProperty(_assertThisInitialized(_assertThisInitialized(_this)),"clearIntervalHelper",function(){clearInterval(_this.interval)}),_this}return _inherits(PlayerControls,_React$Component),_createClass(PlayerControls,[{key:"render",value:function render(){return _react.default.createElement("div",{className:_PlayerControlsModule.default.playerControls},_react.default.createElement("button",{className:_PlayerControlsModule.default.playerButton,onClick:this.props.rollback},_react.default.createElement(_reactFontawesome.FontAwesomeIcon,{icon:_freeSolidSvgIcons.faUndo})),_react.default.createElement("button",{className:_PlayerControlsModule.default.playerButton,onMouseDown:this.setIntervalHelperBackward,onMouseUp:this.clearIntervalHelper},_react.default.createElement(_reactFontawesome.FontAwesomeIcon,{icon:_freeSolidSvgIcons.faBackward})),_react.default.createElement("button",{className:_PlayerControlsModule.default.playerButton,onClick:this.props.playMedia},this.props.isPlaying?_react.default.createElement(_reactFontawesome.FontAwesomeIcon,{icon:_freeSolidSvgIcons.faPause}):_react.default.createElement(_reactFontawesome.FontAwesomeIcon,{icon:_freeSolidSvgIcons.faPlay})),_react.default.createElement("button",{className:_PlayerControlsModule.default.playerButton,onMouseDown:this.setIntervalHelperForward,onMouseUp:this.clearIntervalHelper},_react.default.createElement(_reactFontawesome.FontAwesomeIcon,{icon:_freeSolidSvgIcons.faForward})),_react.default.createElement("span",{className:_PlayerControlsModule.default.playBackRate},_react.default.createElement(_Select.default,{options:this.props.playbackRateOptions,currentValue:this.props.playbackRate.toString(),name:"playbackRate",handleChange:this.props.setPlayBackRate})),_react.default.createElement("div",{className:_PlayerControlsModule.default.timeBox},_react.default.createElement("span",{className:_PlayerControlsModule.default.currentTime,onClick:this.props.promptSetCurrentTime},this.props.currentTime),_react.default.createElement("span",{className:_PlayerControlsModule.default.separator},"|"),_react.default.createElement("span",{className:_PlayerControlsModule.default.duration},this.props.duration)),_react.default.createElement("button",{className:_PlayerControlsModule.default.playerButton,onClick:this.props.handleSaveTranscript},_react.default.createElement(_reactFontawesome.FontAwesomeIcon,{icon:_freeSolidSvgIcons.faSave})),_react.default.createElement("button",{className:_PlayerControlsModule.default.playerButton,onClick:this.props.pictureInPicture},_react.default.createElement(_reactFontawesome.FontAwesomeIcon,{icon:_freeSolidSvgIcons.faTv})),_react.default.createElement(_VolumeControl.default,{handleMuteVolume:this.props.handleMuteVolume}))}}]),PlayerControls}(_react.default.Component);PlayerControls.propTypes={playMedia:_propTypes.default.func,currentTime:_propTypes.default.string,timecodeOffset:_propTypes.default.string,promptSetCurrentTime:_propTypes.default.func,rollback:_propTypes.default.func,handleMuteVolume:_propTypes.default.func,duration:_propTypes.default.string,isPlaying:_propTypes.default.bool,skipBackward:_propTypes.default.func,skipForward:_propTypes.default.func,playbackRate:_propTypes.default.number,playbackRateOptions:_propTypes.default.array,setPlayBackRate:_propTypes.default.func,pictureInPicture:_propTypes.default.func};var _default=PlayerControls;exports.default=_default;
\No newline at end of file