1 line
3.1 KiB
JavaScript
1 line
3.1 KiB
JavaScript
"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},n=e(require("react")),i=e(require("../../atom-react/mixins/modal-mixin")),o=e(require("path")),s=e(require("fs")),r=e(require("../../common/animation/animation-visualizer")),a=e(require("../modals/choose-animation-modal")),l=n.createClass({displayName:"AnimationModal",getInitialState:function(){return{uri:o.resolve(__dirname,"/../../../node_modules/animation-content/json/",this.props.uri)}},render:function(){return n.createElement("div",{className:"block"},n.createElement("div",{className:"panel-heading"},n.createElement("h1",{style:{textAlign:"center"}},o.parse(this.props.uri).base)),n.createElement(r,{style:{width:"100%",height:300},uri:this.state.uri}),n.createElement("button",{className:"btn",onClick:this.props.onClose},"Close"))}}),c=n.createClass({displayName:"AnimationView",mixins:[i],getInitialState:function(){return{content:this.props.content}},render:function(){var e=s.existsSync(this.getUri())?{}:{disabled:!0},i=s.existsSync(this.getUri().replace(".anim",".keys"))?{}:{disabled:!0};i.disabled||(i=this.state.content.split("://").length>1?{disabled:!0}:{});var o=e.disabled?n.createElement("div",{className:"error-messages"},"No animtaion by that name"):null;return n.createElement("div",{style:{width:"100%"}},n.createElement("div",{className:"block"},n.createElement("div",{className:"fileBlock"},n.createElement("button",{style:{"float":"right"},className:"btn",onClick:this.onChoose},"..."),n.createElement("atom-text-editor",{ref:"editor",mini:!0},this.props.content)),o,n.createElement("div",{className:"btn-group",style:{marginTop:5}},n.createElement("button",t({},i,{className:"btn",onClick:this.onEdit}),"Edit"),n.createElement("button",t({},e,{className:"btn",onClick:this.onPreview}),"Preview"))))},onEdit:function(){atom.workspace.open(this.getUri().replace(".anim",".keys"))},getRoot:function(){var e=o.resolve(this.props.projectRoot,"animations");return e},getUri:function(){var e=this.state.content.split("://");if(1===e.length){var t=o.resolve(this.props.projectRoot,"animations",this.state.content);return t}if(2===e.length){var t=o.resolve(this.props.projectRoot,"node_modules",e[0],"animations",e[1]);return t}},onPreview:function(){var e=this;this.createModal(n.createElement(l,{uri:this.getUri(),onClose:function(){e.destroyModal()}}))},onChoose:function(){var e=this;this.createModal(n.createElement(a,{root:this.getRoot(),uri:this.getUri(),onChoose:function(t){var i=n.findDOMNode(e.refs.editor);i&&i.getModel().setText(t)},onClose:function(){e.destroyModal()}}))},componentDidMount:function(){var e=this,t=n.findDOMNode(this.refs.editor),i=t.getModel();this.disposable=i.onDidChange(function(){e.state.content=i.getText(),e.props.onChange(i.getText()),e.setState(e.state)})},componentWillUnmount:function(){this.disposable&&this.disposable.dispose()}});module.exports=function(e,t,i,o){return n.createElement(c,{key:t,content:e,onChange:i,projectRoot:o})}; |