(not) vanilla todos
This commit is contained in:
33
javascript/angular/exercices/todos/.solution/todos.js
Normal file
33
javascript/angular/exercices/todos/.solution/todos.js
Normal file
@ -0,0 +1,33 @@
|
||||
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);
|
||||
}
|
||||
|
||||
}]);
|
Reference in New Issue
Block a user