mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
add delete planet request
This commit is contained in:
@@ -3,6 +3,7 @@ var Reflux = require('reflux')
|
|||||||
module.exports = Reflux.createActions([
|
module.exports = Reflux.createActions([
|
||||||
'createPlanet',
|
'createPlanet',
|
||||||
'fetchPlanet',
|
'fetchPlanet',
|
||||||
|
'deletePlanet',
|
||||||
|
|
||||||
'changeName',
|
'changeName',
|
||||||
'addUser',
|
'addUser',
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ module.exports = React.createClass({
|
|||||||
},
|
},
|
||||||
doubleCheckDeletePlanet: function () {
|
doubleCheckDeletePlanet: function () {
|
||||||
if (this.state.isDeletePlanetChecked) {
|
if (this.state.isDeletePlanetChecked) {
|
||||||
console.log('delete it')
|
PlanetActions.deletePlanet(this.props.currentPlanet.userName, this.props.currentPlanet.name)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.setState({isDeletePlanetChecked: true})
|
this.setState({isDeletePlanetChecked: true})
|
||||||
|
|||||||
@@ -224,8 +224,9 @@ module.exports = React.createClass({
|
|||||||
|
|
||||||
var articles = this.state.currentPlanet == null ? null : this.state.currentPlanet.Articles
|
var articles = this.state.currentPlanet == null ? null : this.state.currentPlanet.Articles
|
||||||
|
|
||||||
|
var planet
|
||||||
if (res.status === 'planetFetched') {
|
if (res.status === 'planetFetched') {
|
||||||
var planet = res.data
|
planet = res.data
|
||||||
this.setState({isFetched: true, currentPlanet: planet, filteredArticles: planet.Articles}, function () {
|
this.setState({isFetched: true, currentPlanet: planet, filteredArticles: planet.Articles}, function () {
|
||||||
if (this.refs.detail.props.article == null) {
|
if (this.refs.detail.props.article == null) {
|
||||||
var params = this.props.params
|
var params = this.props.params
|
||||||
@@ -248,6 +249,14 @@ module.exports = React.createClass({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (res.status === 'planetDeleted') {
|
||||||
|
planet = res.data
|
||||||
|
this.transitionTo('user', {
|
||||||
|
userName: this.props.params.userName
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
var user
|
var user
|
||||||
if (res.status === 'userAdded') {
|
if (res.status === 'userAdded') {
|
||||||
user = res.data
|
user = res.data
|
||||||
|
|||||||
@@ -58,20 +58,38 @@ module.exports = React.createClass({
|
|||||||
onListen: function (res) {
|
onListen: function (res) {
|
||||||
if (res == null || res.status == null) return
|
if (res == null || res.status == null) return
|
||||||
|
|
||||||
|
var currentUser = this.state.currentUser
|
||||||
|
|
||||||
if (res.status === 'planetCreated') {
|
if (res.status === 'planetCreated') {
|
||||||
var currentUser = this.state.currentUser
|
|
||||||
currentUser.Planets.push(res.data)
|
currentUser.Planets.push(res.data)
|
||||||
|
|
||||||
localStorage.setItem('user', JSON.stringify(currentUser))
|
localStorage.setItem('user', JSON.stringify(currentUser))
|
||||||
this.setState({currentUser: currentUser})
|
this.setState({currentUser: currentUser})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (res.status === 'planetDeleted') {
|
||||||
|
currentUser.Planets.some(function (_planet, index) {
|
||||||
|
if (res.data.id === _planet.id) {
|
||||||
|
currentUser.Planets.splice(index, 1)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
})
|
||||||
|
|
||||||
|
localStorage.setItem('user', JSON.stringify(currentUser))
|
||||||
|
this.setState({currentUser: currentUser})
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res.status === 'nameChanged') {
|
if (res.status === 'nameChanged') {
|
||||||
this.setState({currentUser: AuthStore.getUser()})
|
this.setState({currentUser: AuthStore.getUser()})
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res.status === 'userProfileUpdated') {
|
if (res.status === 'userProfileUpdated') {
|
||||||
this.setState({currentUser: AuthStore.getUser()})
|
this.setState({currentUser: AuthStore.getUser()})
|
||||||
|
return
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
render: function () {
|
render: function () {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ var PlanetStore = Reflux.createStore({
|
|||||||
init: function () {
|
init: function () {
|
||||||
this.listenTo(PlanetActions.createPlanet, this.createPlanet)
|
this.listenTo(PlanetActions.createPlanet, this.createPlanet)
|
||||||
this.listenTo(PlanetActions.fetchPlanet, this.fetchPlanet)
|
this.listenTo(PlanetActions.fetchPlanet, this.fetchPlanet)
|
||||||
|
this.listenTo(PlanetActions.deletePlanet, this.deletePlanet)
|
||||||
this.listenTo(PlanetActions.changeName, this.changeName)
|
this.listenTo(PlanetActions.changeName, this.changeName)
|
||||||
this.listenTo(PlanetActions.addUser, this.addUser)
|
this.listenTo(PlanetActions.addUser, this.addUser)
|
||||||
this.listenTo(PlanetActions.removeUser, this.removeUser)
|
this.listenTo(PlanetActions.removeUser, this.removeUser)
|
||||||
@@ -81,6 +82,25 @@ var PlanetStore = Reflux.createStore({
|
|||||||
})
|
})
|
||||||
}.bind(this))
|
}.bind(this))
|
||||||
},
|
},
|
||||||
|
deletePlanet: function (userName, planetName) {
|
||||||
|
request
|
||||||
|
.del(apiUrl + userName + '/' + planetName)
|
||||||
|
.send()
|
||||||
|
.end(function (err, res) {
|
||||||
|
if (err) {
|
||||||
|
console.error(err)
|
||||||
|
this.trigger(null)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var planet = res.body
|
||||||
|
|
||||||
|
this.trigger({
|
||||||
|
status: 'planetDeleted',
|
||||||
|
data: planet
|
||||||
|
})
|
||||||
|
}.bind(this))
|
||||||
|
},
|
||||||
changeName: function (userName, planetName, name) {
|
changeName: function (userName, planetName, name) {
|
||||||
request
|
request
|
||||||
.put(apiUrl + userName + '/' + planetName)
|
.put(apiUrl + userName + '/' + planetName)
|
||||||
|
|||||||
Reference in New Issue
Block a user