diff --git a/README.md b/README.md index d9994ef..856bf3c 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,6 @@ ### Issues a revisar. -* Crear filter de Angular para la normalización de los nombres (Archivo services.js). - * Resolver un error en el filtro del array .some (Archivo services.js). ### Próximas feautures a desarrollar. diff --git a/app.js b/app.js index c9642e0..9ddd5b0 100644 --- a/app.js +++ b/app.js @@ -27,7 +27,7 @@ var Employee = require('./models/employees.js'); app.post('/api/add',function(req, res) { var employee = new Employee({ - first: req.body.first, + first: req.body.first, last: req.body.last, street: req.body.street, city: req.body.city, @@ -54,10 +54,10 @@ app.get('/api/all', function(req, res) { Employee.find(function(err, employees) { if (err) { res.send(err); - }; + } res.json(employees); - }) -}) + }); +}); var port = 3000; app.listen(port, function (err) { diff --git a/public/js/app.js b/public/js/app.js new file mode 100644 index 0000000..2055ab8 --- /dev/null +++ b/public/js/app.js @@ -0,0 +1,23 @@ +(function () { + var app = angular.module('users', ['ngRoute', 'user.controllers', 'user.directives', 'user.services', 'user.filters']); + + app.config(['$routeProvider',function($routeProvider) { + $routeProvider + .when('/', { + templateUrl: 'views/user-list.html', + controller: 'UserListController' + }) + .when('/:type', { + templateUrl: 'views/user-list.html', + controller: 'UserListController' + }) + .when('/user/:first', { + templateUrl: 'views/user.html', + controller: 'UserController', + controllerAs: 'UserCtrl' + }) + .otherwise({ + redirectTo: '/' + }) + }]); +})(); \ No newline at end of file diff --git a/public/js/filters.js b/public/js/filters.js new file mode 100644 index 0000000..e332e7b --- /dev/null +++ b/public/js/filters.js @@ -0,0 +1,16 @@ +(function () { + angular.module('user.filters', []) + // Revisar este filtro + .filter('slugify', function(){ + return function(input){ + if (!input) return ""; + var tittles = "ÃÀÁÄÂÈÉËÊÌÍÏÎÒÓÖÔÙÚÜÛãàáäâèéëêìíïîòóöôùúüûÑñÇç"; + var original = "AAAAAEEEEIIIIOOOOUUUUaaaaaeeeeiiiioooouuuunncc"; + for (var i = 0; i < tittles.length; i++) { + input = input.replace(tittles.charAt(i), original.charAt(i)).toLowerCase(); + }; + console.log(input); + return input; + }; + }); +})(); diff --git a/public/js/services.js b/public/js/services.js index 180c6df..7730010 100644 --- a/public/js/services.js +++ b/public/js/services.js @@ -5,55 +5,55 @@ * Description */ angular.module('user.services', []) - .factory('userService', ['$http', '$q', function($http, $q){ + .factory('userService', ['$http', '$q', '$filter',function($http, $q, $filter){ + var slugify = $filter('slugify'); var deferred = $q.defer(); - function all () { + function all() { $http.get('/api/all') .success(function(data) { - deferred.resolve(data); - }) + deferred.resolve(data); + }); return deferred.promise; } function byName(first) { - - // Falta normalizar los datos + var first = slugify(first); var deferred = $q.defer(); all().then(function(data) { var results = data.filter(function(user) { - return user.first === first; - }) - + return slugify(user.first) === first; + }); + debugger; if (results.length > 0) { deferred.resolve(results[0]); } else { deferred.reject(); - }; - }) + } + }); return deferred.promise; } - function byType(){ - var deferred = $q.defer(); + // function byType(){ + // var deferred = $q.defer(); - // Resolver error .some - all().then(function(data){ - debugger; - var results = data.filter(function(user){ - return user.type.some(function(t){ - return t === type; - }) - }); - deferred.resolve(results); - }) - return deferred.promise; - } + // // Resolver error .some + // all().then(function(data){ + // debugger; + // var results = data.filter(function(user){ + // return user.type.some(function(t){ + // return t === type; + // }); + // }); + // deferred.resolve(results); + // }); + // return deferred.promise; + // } return { all: all, - byName: byName, - byType: byType + byName: byName + //byType: byType }; }]); })(); diff --git a/public/views/user-list.html b/public/views/user-list.html index e6d58e7..8bf0d30 100644 --- a/public/views/user-list.html +++ b/public/views/user-list.html @@ -7,7 +7,7 @@

Lista de usuarios

{{user.first}} {{user.last}}
-

{{user.first}} {{user.last}}

+

{{user.first}} {{user.last}}

{{user.city}} ({{user.state}})

diff --git a/views/index.html b/views/index.html index ca4d22e..7337a57 100644 --- a/views/index.html +++ b/views/index.html @@ -12,6 +12,7 @@ + Ng-Users