diff --git a/browser/main/Components/CodeEditor.jsx b/browser/main/Components/CodeEditor.jsx index 9bb02bf1..60512e52 100644 --- a/browser/main/Components/CodeEditor.jsx +++ b/browser/main/Components/CodeEditor.jsx @@ -17,7 +17,9 @@ var CodeEditor = React.createClass({ editor.clearSelection() var session = editor.getSession() - session.setMode('ace/mode/' + this.props.mode) + if (this.props.mode != null && this.props.mode.length > 0) { + session.setMode('ace/mode/' + this.props.mode) + } session.setUseSoftTabs(true) session.setOption('useWorker', false) session.setUseWrapMode(true) diff --git a/browser/main/Components/CodeViewer.jsx b/browser/main/Components/CodeViewer.jsx index 09e04229..131e8509 100644 --- a/browser/main/Components/CodeViewer.jsx +++ b/browser/main/Components/CodeViewer.jsx @@ -18,7 +18,9 @@ var CodeViewer = React.createClass({ editor.clearSelection() var session = editor.getSession() - session.setMode('ace/mode/' + this.props.mode) + if (this.props.mode != null && this.props.mode.length > 0) { + session.setMode('ace/mode/' + this.props.mode) + } session.setUseSoftTabs(true) session.setOption('useWorker', false) session.setUseWrapMode(true) diff --git a/browser/main/Components/SnippetForm.jsx b/browser/main/Components/SnippetForm.jsx index 4a5dca11..2722b07f 100644 --- a/browser/main/Components/SnippetForm.jsx +++ b/browser/main/Components/SnippetForm.jsx @@ -8,6 +8,8 @@ var PlanetActions = require('../Actions/PlanetActions') var apiUrl = require('../../../config').apiUrl +var aceModes = require('../../../modules/ace-modes') + var getOptions = function (input, callback) { request .get(apiUrl + 'tags/search') @@ -39,7 +41,7 @@ var SnippetForm = React.createClass({ getInitialState: function () { var snippet = Object.assign({ description: '', - mode: 'javascript', + mode: '', content: '', callSign: '', Tags: [] @@ -57,6 +59,12 @@ var SnippetForm = React.createClass({ componentDidMount: function () { React.findDOMNode(this.refs.description).focus() }, + handleModeChange: function (selected) { + var snippet = this.state.snippet + snippet.mode = selected + console.log(selected, 'selected') + this.setState({snippet: snippet}) + }, handleTagsChange: function (selected, all) { var snippet = this.state.snippet snippet.Tags = all @@ -92,6 +100,12 @@ var SnippetForm = React.createClass({ } }, render: function () { + var modeOptions = aceModes.map(function (mode) { + return { + label: mode, + value: mode + } + }) return (