/
todo.manual.js
65 lines (62 loc) · 1.61 KB
/
todo.manual.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
var module = angular.module('todoApp', []);
/**
* Todo controller
* @class
* @name TodoCtrl
* @param {Object} $scope
* @param {Object} $http
*/
module.controller('TodoCtrl', function ($scope, $http) {
$scope.todos = [
{text:'learn angular', done:true},
{text:'build an angular app', done:false}];
$scope.url = "proxy.php";
/**
* Add todo
* @name addTodo
* @memberOf TodoCtrl
* @function
*/
$scope.addTodo = function() {
$http.defaults.headers.post['Content-Type']='application/json';
$http.defaults.headers.post['Access-Control-Allow-Origin'] = 'http://angular.dev https://api.mongohq.com';
id = new Date().getTime();
$scope.data = '{"document" : {"_id": "' + id + '" , "text" : "' + $scope.todoText + '"}, "done" : false }';
todo = {text:$scope.todoText, done:false};
$scope.todos.push(todo);
// $http.jsonp($scope.url).successCallback()
$http.post($scope.url, $scope.data).success($scope.successCallback);
};
/**
* Sucess Callback
* @name successCallback
* @memberOf TodoCtrl
* @function
*/
$scope.successCallback = function () {
};
/**
* Remaining
* @name remaining
* @memberOf TodoCtrl
*/
$scope.remaining = function() {
var count = 0;
angular.forEach($scope.todos, function(todo) {
count += todo.done ? 0 : 1;
});
return count;
};
/**
* Archive
* @name archive
* @memberOf TodoCtrl
*/
$scope.archive = function() {
var oldTodos = $scope.todos;
$scope.todos = [];
angular.forEach(oldTodos, function(todo) {
if (!todo.done) $scope.todos.push(todo);
});
};
});