1 line
1.9 KiB
JavaScript
1 line
1.9 KiB
JavaScript
"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},t=e(require("react")),a=t.createClass({displayName:"EventInput",getInitialState:function(){for(var e={name:this.props.content.name,payload:this.props.content.payload},t=atom.grammars.getGrammars(),a=0;a<t.length;a++){var n=t[a];if("JSON"===n.name){e.jsonGrammar=n;break}}return e},componentWillReceiveProps:function(e){(e.content.name!==this.state.name||e.content.payload!==this.state.payload)&&(this.setState({payload:e.content.payload,name:e.content.name}),this.refs.payloadEditor.getDOMNode().getModel().setText(e.content.payload),this.refs.nameEditor.getDOMNode().getModel().setText(e.content.name))},componentDidMount:function(){var e=this,a=t.findDOMNode(this.refs.payloadEditor),n=a.getModel();void 0!==this.state.jsonGrammar&&n.setGrammar(this.state.jsonGrammar);var o=t.findDOMNode(this.refs.nameEditor),r=o.getModel();n.onDidChange(function(){e.setState({payload:n.getText()}),e.props.onChange({name:r.getText(),payload:n.getText()})}),r.onDidChange(function(){e.setState({name:r.getText()}),e.props.onChange({name:r.getText(),payload:n.getText()})})},render:function(){var e="";if(this.state.payload.length>0)try{JSON.parse(this.state.payload)}catch(a){e="Not valid JSON:\n"+a}return t.createElement("div",{className:"event-editor",style:{width:"100%"}},t.createElement("div",{style:{display:"flex",clear:"both",marginTop:15,marginBottom:15}},t.createElement("div",{style:{fontSize:14,marginRight:15}},"Name"),t.createElement("atom-text-editor",{mini:!0,ref:"nameEditor",style:{width:"100%"}},this.state.name)),t.createElement("div",{style:{fontSize:14,marginRight:15,marginBottom:5}},"Payload"),t.createElement("atom-text-editor",{ref:"payloadEditor",style:{height:250,width:"100%"}},this.state.payload),t.createElement("div",{className:"error-messages"},e))}});module.exports=function(e,n){return t.createElement(a,{onChange:e,content:n})}; |