aboutsummaryrefslogtreecommitdiff
path: root/public/js/controllers/todoController.js
diff options
context:
space:
mode:
authorKumar Damani <kumar.damani@mail.utoronto.ca>2016-08-03 18:30:06 +0000
committerKumar Damani <kumar.damani@mail.utoronto.ca>2016-08-03 18:30:06 +0000
commitf383a85f8ed569821ea0e929139dcd68c5541519 (patch)
treee21ca3c635e0bf6aaa124a7954451a09237121c4 /public/js/controllers/todoController.js
all files
Diffstat (limited to 'public/js/controllers/todoController.js')
-rw-r--r--public/js/controllers/todoController.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/public/js/controllers/todoController.js b/public/js/controllers/todoController.js
new file mode 100644
index 0000000..eb73feb
--- /dev/null
+++ b/public/js/controllers/todoController.js
@@ -0,0 +1,44 @@
+angular.module('todoController', [])
+
+ // inject service factory into our controller
+ .controller('mainController', ['$scope','$http','Todos', function($scope, $http, Todos) {
+ $scope.formData = {};
+ $scope.loading = true;
+
+ // on first visit 'refresh' the todo list
+ Todos.get()
+ .success(function(data) {
+ $scope.todos = data;
+ $scope.loading = false;
+ });
+
+ // when submitting the add form, send formdata to api
+ $scope.createTodo = function() {
+
+ // validate the formData to make sure that something is there
+ if ($scope.formData.text != undefined) {
+ $scope.loading = true;
+
+ Todos.create($scope.formData)
+
+ // if successful creation, 'refresh' todo list
+ .success(function(data) {
+ $scope.loading = false;
+ $scope.formData = ""; // clear the form
+ $scope.todos = data; // assign our new list of todo
+ });
+ }
+ };
+
+ // delete a todo when pressed checkbox
+ $scope.deleteTodo = function(id) {
+ $scope.loading = true;
+
+ Todos.delete(id)
+ // if successful, 'refresh' the list with latest data
+ .success(function(data) {
+ $scope.loading = false;
+ $scope.todos = data;
+ });
+ };
+ }]); \ No newline at end of file