Skip to content

Commit a1c91e5

Browse files
committed
#2 - handled add task api call
1 parent 228cfb9 commit a1c91e5

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

ep19-call-api-jquery/app/components/App.jsx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,17 @@ export default class App extends React.Component {
3838
handleSubmit (event) {
3939
event.preventDefault();
4040

41-
var title = this.state.title;
42-
var newTodos = this.state.todos.concat({ title: title,
43-
id: rand.generate(),
44-
done: false });
41+
var newTodo = { title: this.state.title, done: false };
4542

46-
this.setState({ title: '', todos: newTodos });
43+
var processDataCallback = function(data) {
44+
this.setState({title: '', todos: data.todos});
45+
};
46+
47+
var addTaskCallback = function(data){
48+
data.success ? api.getTasks(processDataCallback.bind(this)) : console.log("Failed to add task");
49+
};
50+
51+
api.addTask(newTodo, addTaskCallback.bind(this));
4752
}
4853

4954
handleChange (event) {

ep19-call-api-jquery/app/utils/api.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ var api = {
66
var url = Constants.BASE_URL + 'todos';
77
this.makeAjaxCall(url, 'GET', {}, processDataCallback)
88
},
9+
10+
addTask (todo, processDataCallback) {
11+
var url = Constants.BASE_URL + 'todos';
12+
this.makeAjaxCall(url, 'POST', todo, processDataCallback)
13+
},
914

1015
makeAjaxCall (url, type, params, processDataCallback) {
1116
$.ajax({

0 commit comments

Comments
 (0)