diff --git a/browser/finder/index.jsx b/browser/finder/index.jsx index 2a76d444..24a4b9c9 100644 --- a/browser/finder/index.jsx +++ b/browser/finder/index.jsx @@ -81,7 +81,7 @@ function searchArticle (search, articles) { // Filter end function fetchArticles () { - var user = JSON.parse(localStorage.getItem('user')) + var user = JSON.parse(localStorage.getItem('currentUser')) if (user == null) { console.log('need to login') return [] diff --git a/browser/main/Actions/AuthActions.js b/browser/main/Actions/AuthActions.js deleted file mode 100644 index 6867b87c..00000000 --- a/browser/main/Actions/AuthActions.js +++ /dev/null @@ -1,9 +0,0 @@ -var Reflux = require('reflux') - -module.exports = Reflux.createActions([ - 'login', - 'register', - 'logout', - 'updateProfile', - 'refreshUser' -]) diff --git a/browser/main/Actions/PlanetActions.js b/browser/main/Actions/PlanetActions.js deleted file mode 100644 index 21ec67e5..00000000 --- a/browser/main/Actions/PlanetActions.js +++ /dev/null @@ -1,19 +0,0 @@ -var Reflux = require('reflux') - -module.exports = Reflux.createActions([ - 'createPlanet', - 'fetchPlanet', - 'deletePlanet', - - 'changeName', - 'addUser', - 'removeUser', - - 'createSnippet', - 'updateSnippet', - 'deleteSnippet', - - 'createBlueprint', - 'updateBlueprint', - 'deleteBlueprint' -]) diff --git a/browser/main/Components/BlueprintEditModal.jsx b/browser/main/Components/BlueprintEditModal.jsx deleted file mode 100644 index f8aee2b6..00000000 --- a/browser/main/Components/BlueprintEditModal.jsx +++ /dev/null @@ -1,25 +0,0 @@ -var React = require('react') - -var BlueprintForm = require('./BlueprintForm') - -var BlueprintEditModal = React.createClass({ - propTypes: { - close: React.PropTypes.func, - blueprint: React.PropTypes.object - }, - stopPropagation: function (e) { - e.stopPropagation() - }, - render: function () { - return ( -
-
-

Edit Blueprint

-
- -
- ) - } -}) - -module.exports = BlueprintEditModal diff --git a/browser/main/Components/SnippetDeleteModal.jsx b/browser/main/Components/CodeDeleteModal.jsx similarity index 54% rename from browser/main/Components/SnippetDeleteModal.jsx rename to browser/main/Components/CodeDeleteModal.jsx index 8f389632..dd9503bf 100644 --- a/browser/main/Components/SnippetDeleteModal.jsx +++ b/browser/main/Components/CodeDeleteModal.jsx @@ -1,11 +1,14 @@ var React = require('react') -var PlanetActions = require('../Actions/PlanetActions') +var Hq = require('../Services/Hq') -var SnippetDeleteModal = React.createClass({ +var PlanetStore = require('../Stores/PlanetStore') + +module.exports = React.createClass({ propTypes: { - close: React.PropTypes.func, - snippet: React.PropTypes.object + planet: React.PropTypes.object, + code: React.PropTypes.object, + close: React.PropTypes.func }, componentDidMount: function () { React.findDOMNode(this).focus() @@ -13,21 +16,22 @@ var SnippetDeleteModal = React.createClass({ stopPropagation: function (e) { e.stopPropagation() }, - handleKeyDown: function (e) { - console.log(e) - if (e.keyCode === 13 && e.metaKey) { - e.preventDefault() - this.submit() - } - }, submit: function () { - PlanetActions.deleteSnippet(this.props.snippet.id) + var planet = this.props.planet + Hq.destroyCode(planet.userName, planet.name, this.props.code.localId) + .then(function (res) { + PlanetStore.Actions.destroyCode(res.body) + this.props.close() + }.bind(this)) + .catch(function (err) { + console.error(err) + }) }, render: function () { return ( -
+
-

Delete Snippet

+

Delete Code

Are you sure to delete it?

@@ -42,5 +46,3 @@ var SnippetDeleteModal = React.createClass({ ) } }) - -module.exports = SnippetDeleteModal diff --git a/browser/main/Components/CodeEditModal.jsx b/browser/main/Components/CodeEditModal.jsx new file mode 100644 index 00000000..8877cafa --- /dev/null +++ b/browser/main/Components/CodeEditModal.jsx @@ -0,0 +1,20 @@ +var React = require('react') +var CodeForm = require('./CodeForm') + +module.exports = React.createClass({ + propTypes: { + close: React.PropTypes.func, + code: React.PropTypes.object, + planet: React.PropTypes.object + }, + render: function () { + return ( +
+
+

Edit Code

+
+ +
+ ) + } +}) diff --git a/browser/main/Components/CodeEditor.jsx b/browser/main/Components/CodeEditor.jsx index 60512e52..0769de75 100644 --- a/browser/main/Components/CodeEditor.jsx +++ b/browser/main/Components/CodeEditor.jsx @@ -1,7 +1,8 @@ var React = require('react/addons') var ace = window.ace -var CodeEditor = React.createClass({ + +module.exports = React.createClass({ propTypes: { code: React.PropTypes.string, mode: React.PropTypes.string, @@ -48,5 +49,3 @@ var CodeEditor = React.createClass({ ) } }) - -module.exports = CodeEditor diff --git a/browser/main/Components/SnippetForm.jsx b/browser/main/Components/CodeForm.jsx similarity index 51% rename from browser/main/Components/SnippetForm.jsx rename to browser/main/Components/CodeForm.jsx index 2722b07f..e80dc6af 100644 --- a/browser/main/Components/SnippetForm.jsx +++ b/browser/main/Components/CodeForm.jsx @@ -1,96 +1,99 @@ var React = require('react/addons') -var ReactRouter = require('react-router') var CodeEditor = require('./CodeEditor') -var Catalyst = require('../Mixins/Catalyst') var Select = require('react-select') -var request = require('superagent') -var PlanetActions = require('../Actions/PlanetActions') -var apiUrl = require('../../../config').apiUrl +var Hq = require('../Services/Hq') + +var LinkedState = require('../Mixins/LinkedState') + +var PlanetStore = require('../Stores/PlanetStore') var aceModes = require('../../../modules/ace-modes') var getOptions = function (input, callback) { - request - .get(apiUrl + 'tags/search') - .query({name: input}) - .send() - .end(function (err, res) { - if (err) { - callback(err) - return - } + Hq.searchTag(input) + .then(function (res) { callback(null, { options: res.body.map(function (tag) { return { label: tag.name, value: tag.name } - }), + }), complete: false - }) + }) + }) + .catch(function (err) { + console.log(err) }) } -var SnippetForm = React.createClass({ - mixins: [Catalyst.LinkedStateMixin, ReactRouter.State], +module.exports = React.createClass({ + mixins: [LinkedState], propTypes: { + planet: React.PropTypes.object, close: React.PropTypes.func, - snippet: React.PropTypes.object + transitionTo: React.PropTypes.func, + code: React.PropTypes.object }, getInitialState: function () { - var snippet = Object.assign({ + var code = Object.assign({ description: '', mode: '', content: '', - callSign: '', Tags: [] - }, this.props.snippet) - snippet.Tags = snippet.Tags.map(function (tag) { + }, this.props.code) + + code.Tags = code.Tags.map(function (tag) { return { label: tag.name, value: tag.name } }) + return { - snippet: snippet + code: code } }, - 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}) + var code = this.state.code + code.mode = selected + this.setState({code: code}) }, handleTagsChange: function (selected, all) { - var snippet = this.state.snippet - snippet.Tags = all - this.setState({snippet: snippet}) + var code = this.state.code + code.Tags = all + this.setState({code: code}) }, handleContentChange: function (e, value) { - var snippet = this.state.snippet - snippet.content = value - this.setState({snippet: snippet}) + var code = this.state.code + code.content = value + this.setState({code: code}) }, submit: function () { - var snippet = Object.assign({}, this.state.snippet) - snippet.Tags = snippet.Tags.map(function (tag) { + var planet = this.props.planet + var code = this.state.code + code.Tags = code.Tags.map(function (tag) { return tag.value }) - if (this.props.snippet == null) { - var params = this.getParams() - var userName = params.userName - var planetName = params.planetName - - PlanetActions.createSnippet(userName + '/' + planetName, snippet) + if (this.props.code == null) { + Hq.createCode(planet.userName, planet.name, this.state.code) + .then(function (res) { + var code = res.body + PlanetStore.Actions.updateCode(code) + this.props.close() + this.props.transitionTo('codes', {userName: planet.userName, planetName: planet.name, localId: code.localId}) + }.bind(this)) + .catch(function (err) { + console.error(err) + }) } else { - var snippetId = snippet.id - delete snippet.id - - PlanetActions.updateSnippet(snippetId, snippet) + Hq.updateCode(planet.userName, planet.name, this.props.code.localId, this.state.code) + .then(function (res) { + var code = res.body + PlanetStore.Actions.updateCode(code) + this.props.close() + }.bind(this)) } }, handleKeyDown: function (e) { @@ -107,30 +110,29 @@ var SnippetForm = React.createClass({ } }) return ( -
+
-