34 lines
807 B
JavaScript
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);
|
||
|
}
|
||
|
|
||
|
}]);
|