Commit f32b8539e6880b0fcbd09c1788592375c2387a08
1 parent
46de8790
Exists in
master
Improved Code
Showing
3 changed files
with
63 additions
and
23 deletions
Show diff stats
public/controllers/controller.js
| @@ -9,13 +9,40 @@ | @@ -9,13 +9,40 @@ | ||
| 9 | $scope.todolist = response; | 9 | $scope.todolist = response; |
| 10 | }); | 10 | }); |
| 11 | $scope.task = { | 11 | $scope.task = { |
| 12 | - taskname: "E.g Task", | 12 | + taskname: "", |
| 13 | Done: false, | 13 | Done: false, |
| 14 | - details: '' | ||
| 15 | - } | 14 | + details: "" |
| 15 | + } | ||
| 16 | $scope.addTask = function() { | 16 | $scope.addTask = function() { |
| 17 | //console.log($scope.todo); | 17 | //console.log($scope.todo); |
| 18 | + | ||
| 18 | $http.post('/todolist', $scope.task).success(function(response){ | 19 | $http.post('/todolist', $scope.task).success(function(response){ |
| 20 | + $http.get('/todolist').success(function(response) { | ||
| 21 | + $scope.todolist = response; | ||
| 22 | + }); | ||
| 23 | + console.log(response); | ||
| 24 | + $scope.task = { | ||
| 25 | + taskname: "", | ||
| 26 | + Done: false, | ||
| 27 | + details: "" | ||
| 28 | + } | ||
| 29 | + }); | ||
| 30 | + | ||
| 31 | + | ||
| 32 | + | ||
| 33 | + }; | ||
| 34 | + | ||
| 35 | + $scope.updateTask = function(task) { | ||
| 36 | + $http.put('/todolist/'+task._id,task).success(function(response) { | ||
| 37 | + | ||
| 38 | + }); | ||
| 39 | + }; | ||
| 40 | + | ||
| 41 | + $scope.deleteTask = function(id) { | ||
| 42 | + var x=confirm("Are you sure?") | ||
| 43 | + | ||
| 44 | + if(x==true){ | ||
| 45 | + $http.delete('/todolist/' + id).success(function(response) { | ||
| 19 | console.log(response); | 46 | console.log(response); |
| 20 | }); | 47 | }); |
| 21 | $http.get('/todolist').success(function(response) { | 48 | $http.get('/todolist').success(function(response) { |
| @@ -23,10 +50,7 @@ | @@ -23,10 +50,7 @@ | ||
| 23 | }); | 50 | }); |
| 24 | $scope.todo = ""; | 51 | $scope.todo = ""; |
| 25 | }; | 52 | }; |
| 26 | - | ||
| 27 | - $scope.markTaskDone = function() { | ||
| 28 | - console.log($scope.todo); | ||
| 29 | - }; | 53 | + } |
| 30 | 54 | ||
| 31 | }]); | 55 | }]); |
| 32 | 56 |
public/index.html
| @@ -12,8 +12,11 @@ | @@ -12,8 +12,11 @@ | ||
| 12 | text-decoration: line-through; | 12 | text-decoration: line-through; |
| 13 | color:#ccc; | 13 | color:#ccc; |
| 14 | } | 14 | } |
| 15 | - small { | ||
| 16 | - cursor: pointer; | 15 | + button{ |
| 16 | + display:none; | ||
| 17 | + } | ||
| 18 | + .delete:hover button{ | ||
| 19 | +display:inline; | ||
| 17 | } | 20 | } |
| 18 | </style> | 21 | </style> |
| 19 | </head> | 22 | </head> |
| @@ -24,24 +27,21 @@ | @@ -24,24 +27,21 @@ | ||
| 24 | <thead> | 27 | <thead> |
| 25 | <tr> | 28 | <tr> |
| 26 | <th>Tasks</th> | 29 | <th>Tasks</th> |
| 27 | - <th>Details</th> | ||
| 28 | <th>Actions</th> | 30 | <th>Actions</th> |
| 29 | </tr> | 31 | </tr> |
| 30 | </thead> | 32 | </thead> |
| 31 | <tbody> | 33 | <tbody> |
| 32 | <tr> | 34 | <tr> |
| 33 | - <td><input type="text" class="form-control" ng-model="task.taskname" required></td> | 35 | + <td><input id="task" type="text" class="form-control" ng-model="task.taskname" required></td> |
| 34 | <td><textarea ng-model="task.details" required></textarea></td> | 36 | <td><textarea ng-model="task.details" required></textarea></td> |
| 35 | <td><button class="btn btn-primary" ng-click="addTask()">Add Task</button></td> | 37 | <td><button class="btn btn-primary" ng-click="addTask()">Add Task</button></td> |
| 36 | </tr> | 38 | </tr> |
| 37 | - <tr ng-repeat="todo in todolist"> | 39 | + <tr ng-repeat="todo in todolist.slice().reverse()"> |
| 38 | <!--<td><input type="checkbox" ng-model="todo.done"> | 40 | <!--<td><input type="checkbox" ng-model="todo.done"> |
| 39 | <span ng-class="{'done':todo.done}">{{todo.taskname}}</span>--> | 41 | <span ng-class="{'done':todo.done}">{{todo.taskname}}</span>--> |
| 40 | <td colspan="3"> | 42 | <td colspan="3"> |
| 41 | - <span ng-click="DeleteTask">x</span> | ||
| 42 | - <input type="checkbox" ng-model="todo.Done" ng-checked="todo.Done" ng-click="markTaskDone()"> | ||
| 43 | - <span ng-class="(todo.Done==true)? 'done':''">{{todo.taskname}}</span> <small ng-click="more=!more" ng-show="todo.details"> {{(more)? 'Hide Desc' : 'Show Desc'}}</small><br /> | ||
| 44 | - <small ng-show="more==true">{{todo.details}}</small> | 43 | + <div class=delete><button ng-click="deleteTask(todo._id)">Delete</button> <input type="checkbox" ng-model="todo.Done" ng-checked="todo.Done" ng-click="updateTask(todo)"> <span ng-class="(todo.Done==true)? 'done':''">{{todo.taskname}}</span></div> |
| 44 | + | ||
| 45 | </td> | 45 | </td> |
| 46 | 46 | ||
| 47 | 47 |
server.js
| @@ -36,13 +36,29 @@ app.post('/todolist', function(req, res) { | @@ -36,13 +36,29 @@ app.post('/todolist', function(req, res) { | ||
| 36 | }); | 36 | }); |
| 37 | }); | 37 | }); |
| 38 | 38 | ||
| 39 | -app.put('/todolist', function(req, res){ | ||
| 40 | - var id = req.params.id; | ||
| 41 | - console.log(req.body.Done); | ||
| 42 | - db.contactlist.findAndModify({query: {_id: mongojs.ObjectId(id)}, | ||
| 43 | - update: {$set: {name: req.body.name, email: req.body.email, number: req.body.number}}, | ||
| 44 | - new: true}, function(err, doc) { | ||
| 45 | - res.json(doc); | 39 | +app.put('/todolist/:id', function(req, res){ |
| 40 | + console.log(req.body); | ||
| 41 | + Todo.update({_id:req.params.id},req.body,{upsert:true},function(err) { | ||
| 42 | + if(!err) { | ||
| 43 | + res.send('updated'); | ||
| 44 | + } | ||
| 45 | + else { | ||
| 46 | + console.log(err); | ||
| 47 | + res.send(404); | ||
| 48 | + } | ||
| 49 | + }); | ||
| 50 | +}); | ||
| 51 | + | ||
| 52 | +app.delete('/todolist/:id', function(req, res){ | ||
| 53 | + Todo.remove({_id: req.params.id}, function(err) { | ||
| 54 | + if(!err) { | ||
| 55 | + res.send('deleted'); | ||
| 56 | + } | ||
| 57 | + else { | ||
| 58 | + console.log(err); | ||
| 59 | + res.send(404); | ||
| 60 | + } | ||
| 61 | + }); | ||
| 46 | }); | 62 | }); |
| 47 | 63 | ||
| 48 | 64 |