formations/javascript/angular/exercices/todos/.solution/todos.js

34 lines
807 B
JavaScript

var Todos = angular.module('Todos', []);
Todos.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
$scope.todos = _loadTodos();
$scope.newTodo = '';
$scope.newTodoKeydownHandler = function(evt) {
if(evt.keyCode === 13) {
$scope.todos.push({
text: $scope.newTodo
});
$scope.newTodo = '';
_saveTodos($scope.todos);
}
};
$scope.removeTodoByIndex = function(index) {
$scope.todos.splice(index, 1);
_saveTodos($scope.todos);
};
function _loadTodos() {
var todosStr = $window.localStorage.getItem('notVanillaTodos.todos');
return JSON.parse(todosStr || '[]');
}
function _saveTodos(todos) {
var todosStr = JSON.stringify(todos);
$window.localStorage.setItem('notVanillaTodos.todos', todosStr);
}
}]);