Commit bcc74618 authored by Pascal Hartig's avatar Pascal Hartig

angular-perf: jshint style

parent d62e2bd0
<!doctype html> <!doctype html>
<html lang="en" ng-app="todomvc"> <html lang="en" ng-app="todomvc">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>AngularJS • TodoMVC</title> <title>AngularJS • TodoMVC</title>
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
<script src="../../assets/ie.js"></script> <script src="../../assets/ie.js"></script>
<![endif]--> <![endif]-->
</head> </head>
<body> <body>
<section id="todoapp" ng-controller="TodoCtrl"> <section id="todoapp" ng-controller="TodoCtrl">
<header id="header"> <header id="header">
<h1>todos</h1> <h1>todos</h1>
...@@ -70,5 +70,5 @@ ...@@ -70,5 +70,5 @@
<script src="js/services/todoStorage.js"></script> <script src="js/services/todoStorage.js"></script>
<script src="js/directives/todoFocus.js"></script> <script src="js/directives/todoFocus.js"></script>
<script src="js/directives/todoBlur.js"></script> <script src="js/directives/todoBlur.js"></script>
</body> </body>
</html> </html>
/*global angular*/
/*jshint unused:false*/
'use strict'; 'use strict';
/** /**
......
/*global todomvc*/
'use strict'; 'use strict';
/** /**
...@@ -5,29 +6,33 @@ ...@@ -5,29 +6,33 @@
* - retrieves and persist the model via the todoStorage service * - retrieves and persist the model via the todoStorage service
* - exposes the model to the template and provides event handlers * - exposes the model to the template and provides event handlers
*/ */
todomvc.controller( 'TodoCtrl', function TodoCtrl( $scope, $location, todoStorage, filterFilter ) { todomvc.controller('TodoCtrl', function TodoCtrl($scope, $location, todoStorage, filterFilter) {
var todos = $scope.todos = todoStorage.get(); var todos = $scope.todos = todoStorage.get();
$scope.newTodo = ""; $scope.newTodo = '';
$scope.remainingCount = filterFilter(todos, {completed: false}).length; $scope.remainingCount = filterFilter(todos, {completed: false}).length;
$scope.editedTodo = null; $scope.editedTodo = null;
if ( $location.path() === '' ) $location.path('/'); if ($location.path() === '') {
$location.path('/');
}
$scope.location = $location; $scope.location = $location;
$scope.$watch('location.path()', function( path ) { $scope.$watch('location.path()', function (path) {
$scope.statusFilter = (path == '/active') ? $scope.statusFilter = (path === '/active') ?
{ completed: false } : (path == '/completed') ? { completed: false } : (path === '/completed') ?
{ completed: true } : null; { completed: true } : null;
}); });
$scope.$watch('remainingCount == 0', function( val ) { $scope.$watch('remainingCount == 0', function (val) {
$scope.allChecked = val; $scope.allChecked = val;
}); });
$scope.addTodo = function() { $scope.addTodo = function () {
if ($scope.newTodo.length === 0) return; if ($scope.newTodo.length === 0) {
return;
}
todos.push({ todos.push({
title: $scope.newTodo, title: $scope.newTodo,
...@@ -40,41 +45,47 @@ todomvc.controller( 'TodoCtrl', function TodoCtrl( $scope, $location, todoStorag ...@@ -40,41 +45,47 @@ todomvc.controller( 'TodoCtrl', function TodoCtrl( $scope, $location, todoStorag
}; };
$scope.editTodo = function( todo ) { $scope.editTodo = function (todo) {
$scope.editedTodo = todo; $scope.editedTodo = todo;
}; };
$scope.doneEditing = function( todo ) { $scope.doneEditing = function (todo) {
$scope.editedTodo = null; $scope.editedTodo = null;
if ( !todo.title ) $scope.removeTodo(todo); if (!todo.title) {
$scope.removeTodo(todo);
}
todoStorage.put(todos); todoStorage.put(todos);
}; };
$scope.removeTodo = function( todo ) { $scope.removeTodo = function (todo) {
$scope.remainingCount -= todo.completed ? 0 : 1; $scope.remainingCount -= todo.completed ? 0 : 1;
todos.splice(todos.indexOf(todo), 1); todos.splice(todos.indexOf(todo), 1);
todoStorage.put(todos); todoStorage.put(todos);
}; };
$scope.todoCompleted = function( todo ) { $scope.todoCompleted = function (todo) {
todo.completed ? $scope.remainingCount-- : $scope.remainingCount++; if (todo.completed) {
$scope.remainingCount--;
} else {
$scope.remainingCount++;
}
todoStorage.put(todos); todoStorage.put(todos);
}; };
$scope.clearDoneTodos = function() { $scope.clearDoneTodos = function () {
$scope.todos = todos = todos.filter(function( val ) { $scope.todos = todos = todos.filter(function (val) {
return !val.completed; return !val.completed;
}); });
todoStorage.put(todos); todoStorage.put(todos);
}; };
$scope.markAll = function( done ) { $scope.markAll = function (done) {
todos.forEach(function( todo ) { todos.forEach(function (todo) {
todo.completed = done; todo.completed = done;
}); });
$scope.remainingCount = done ? 0 : todos.length; $scope.remainingCount = done ? 0 : todos.length;
......
/*global todomvc*/
'use strict'; 'use strict';
/** /**
* Directive that executes an expression when the element it is applied to loses focus. * Directive that executes an expression when the element it is applied to loses focus.
*/ */
todomvc.directive('todoBlur', function() { todomvc.directive('todoBlur', function () {
return function( scope, elem, attrs ) { return function (scope, elem, attrs) {
elem.bind('blur', function() { elem.bind('blur', function () {
scope.$apply(attrs.todoBlur); scope.$apply(attrs.todoBlur);
}); });
}; };
......
/*global todomvc*/
'use strict'; 'use strict';
/** /**
* Directive that places focus on the element it is applied to when the expression it binds to evaluates to true. * Directive that places focus on the element it is applied to when the expression it binds to evaluates to true.
*/ */
todomvc.directive('todoFocus', function( $timeout ) { todomvc.directive('todoFocus', function ($timeout) {
return function( scope, elem, attrs ) { return function (scope, elem, attrs) {
scope.$watch(attrs.todoFocus, function( newval ) { scope.$watch(attrs.todoFocus, function (newval) {
if ( newval ) { if (newval) {
$timeout(function() { $timeout(function () {
elem[0].focus(); elem[0].focus();
}, 0, false); }, 0, false);
} }
......
/*global todomvc*/
'use strict'; 'use strict';
/** /**
* Services that persists and retrieves TODOs from localStorage. * Services that persists and retrieves TODOs from localStorage.
*/ */
todomvc.factory( 'todoStorage', function() { todomvc.factory('todoStorage', function () {
var STORAGE_ID = 'todos-angularjs-perf'; var STORAGE_ID = 'todos-angularjs-perf';
return { return {
get: function() { get: function () {
return JSON.parse(localStorage.getItem(STORAGE_ID) || '[]'); return JSON.parse(localStorage.getItem(STORAGE_ID) || '[]');
}, },
put: function( todos ) { put: function (todos) {
localStorage.setItem(STORAGE_ID, JSON.stringify(todos)); localStorage.setItem(STORAGE_ID, JSON.stringify(todos));
} }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment