1 line
3.0 KiB
JavaScript
1 line
3.0 KiB
JavaScript
"use strict";var t=function(t){return t&&t.__esModule?t["default"]:t},e=t(require("react")),s=t(require("./settings-item")),i=require("atom").CompositeDisposable,a=e.createClass({displayName:"SettingsView",getInitialState:function(){return{duration:this.props.animationModel.state.keyframes.duration,scale:this.props.animationModel.state.keyframes.scale,lastScale:this.props.animationModel.state.keyframes.scale}},componentDidMount:function(){var t=this;this.getDOMNode().childNodes[1].childNodes[0].childNodes[2].focus(),this.disposables=new i,this.disposables.add(atom.commands.add(this.getDOMNode().childNodes[1].childNodes[1],{"jibo-sdk:confirm":function(){t.onFinished()}}))},componentWillUnmount:function(){this.disposables.dispose()},onFinished:function(){if(this.state.duration!==this.props.animationModel.state.keyframes.duration)this.props.animationModel.setDuration(this.state.duration,!0,!0),this.props.animationModel.addRedoUndoEntry(),this.props.onFinished();else if(this.state.scale!==this.props.animationModel.state.keyframes.scale){if(0==this.state.scale)return this.setState({scale:this.state.lastScale}),void this.props.onFinished();this.setState({lastScale:this.state.scale}),this.props.animationModel.setScale(this.state.scale),this.props.animationModel.setDuration(this.state.duration,!1,!0),this.props.animationModel.setKeyframes(),this.props.animationModel.addRedoUndoEntry(),this.props.onFinished()}else this.props.onFinished()},onDurationChange:function(t){if(/^\d+$/.test(t.target.value)){var e=parseInt(t.target.value);this.setState({duration:e})}},onScaleChange:function(t){var e=t.target.value;this.setState({scale:e})},onMouseDown:function(){if(this.state.duration!==this.props.animationModel.state.keyframes.duration)this.props.animationModel.setDuration(this.state.duration,!0,!0),this.props.animationModel.addRedoUndoEntry();else if(this.state.scale!==this.props.animationModel.state.keyframes.scale){if(0==this.state.scale)return void this.setState({scale:this.state.lastScale});this.setState({lastScale:this.state.scale}),this.props.animationModel.setScale(this.state.scale);var t=this.props.animationModel.setDuration(this.state.duration,!1,!0);this.props.animationModel.setKeyframes(),this.props.animationModel.addRedoUndoEntry(),this.setState({duration:t})}},onKeyPress:function(t){13===t.keyCode?this.onFinished():27===t.keyCode&&this.props.onFinished()},render:function(){var t=e.createElement(s,{label:"Animation Duration",type:"number",step:"0.01",tabIndex:1,onMouseDown:this.onMouseDown,onChange:this.onDurationChange,value:this.state.duration,min:1}),i=e.createElement(s,{label:"Scale",type:"number",step:"0.01",tabIndex:2,onMouseDown:this.onMouseDown,onChange:this.onScaleChange,value:this.state.scale,min:0});return e.createElement("div",{className:"animation-settings native-key-bindings"},e.createElement("div",{onMouseDown:this.onFinished,className:"settings-mousetrap"}),e.createElement("div",{className:"settings-container",onKeyUp:this.onKeyPress,style:{height:"auto"}},t,i))}});module.exports=a; |