Files
JiboSDK/lib/animation-editor/views/playback-controls.js
2026-03-22 03:21:45 +02:00

1 line
2.3 KiB
JavaScript

"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=e(require("react")),i=e(require("./settings.js")),a=e(require("../../animation-editor/remote/play-keys-remote")),o=t.createClass({displayName:"PlaybackControlsView",getInitialState:function(){return{showSettings:!1,isPreviewing:!1}},onPlayPause:function(){this.props.animationModel.togglePlay()},onStepForward:function(){this.props.animationModel.stepTimeForward()},onStepBackward:function(){this.props.animationModel.stepTimeBackward()},onGoToNextKeyframe:function(){this.props.animationModel.goToNextKeyframe()},onGoToPrevKeyframe:function(){this.props.animationModel.goToPrevKeyframe()},onSettings:function(){this.setState({showSettings:!0})},onSettingsFinished:function(){this.setState({showSettings:!1})},onPlayPreview:function(){var e=this;this.setState({isPreviewing:!0}),a.play(this.props.animationModel.state.keyframes),a.once("stopped",function(){e.setState({isPreviewing:!1})})},onStopPreview:function(){a.stop(),this.setState({isPreviewing:!1})},render:function(){var e=this.props.animationModel.isPlaying()?t.createElement("i",{className:"fa fa-pause",onClick:this.onPlayPause}):t.createElement("i",{className:"fa fa-play",onClick:this.onPlayPause}),a={marginLeft:(this.props.timelineWidth-297)/2},o=this.state.showSettings?t.createElement(i,{onFinished:this.onSettingsFinished,animationModel:this.props.animationModel}):void 0,n=this.state.isPreviewing?t.createElement("i",{ref:"stopPreview",className:"fa fa-stop",onClick:this.onStopPreview}):t.createElement("i",{ref:"playPreview",className:"fa fa-play-circle",onClick:this.onPlayPreview});return t.createElement("div",{style:a,className:"animation-editor-playback-controls"},t.createElement("i",{className:"fa fa-fast-backward",onClick:this.onGoToPrevKeyframe}),t.createElement("i",{className:"fa fa-step-backward",onClick:this.onStepBackward}),e,t.createElement("i",{className:"fa fa-step-forward",onClick:this.onStepForward}),t.createElement("i",{className:"fa fa-fast-forward",onClick:this.onGoToNextKeyframe}),n,t.createElement("i",{className:"fa fa-gear",onClick:this.onSettings}),o)},componentDidMount:function(){var e=t.findDOMNode(this.refs.playPreview);this.disposable=atom.tooltips.add(e,{title:"Play Robot Preview"})},componentWillUnmount:function(){this.disposable.dispose()}});module.exports=o;