contact.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. app.controller('ContactCtrl', ['$scope', '$http', '$filter', function($scope, $http, $filter) {
  2. $http.get('js/app/contact/contacts.json').then(function (resp) {
  3. $scope.items = resp.data.items;
  4. $scope.item = $filter('orderBy')($scope.items, 'first')[0];
  5. $scope.item.selected = true;
  6. });
  7. $scope.filter = '';
  8. $scope.groups = [
  9. {name: 'Coworkers'},
  10. {name: 'Family'},
  11. {name: 'Friends'},
  12. {name: 'Partners'},
  13. {name: 'Group'}
  14. ];
  15. $scope.createGroup = function(){
  16. var group = {name: 'New Group'};
  17. group.name = $scope.checkItem(group, $scope.groups, 'name');
  18. $scope.groups.push(group);
  19. };
  20. $scope.checkItem = function(obj, arr, key){
  21. var i=0;
  22. angular.forEach(arr, function(item) {
  23. if(item[key].indexOf( obj[key] ) == 0){
  24. var j = item[key].replace(obj[key], '').trim();
  25. if(j){
  26. i = Math.max(i, parseInt(j)+1);
  27. }else{
  28. i = 1;
  29. }
  30. }
  31. });
  32. return obj[key] + (i ? ' '+i : '');
  33. };
  34. $scope.deleteGroup = function(item){
  35. $scope.groups.splice($scope.groups.indexOf(item), 1);
  36. };
  37. $scope.selectGroup = function(item){
  38. angular.forEach($scope.groups, function(item) {
  39. item.selected = false;
  40. });
  41. $scope.group = item;
  42. $scope.group.selected = true;
  43. $scope.filter = item.name;
  44. };
  45. $scope.selectItem = function(item){
  46. angular.forEach($scope.items, function(item) {
  47. item.selected = false;
  48. item.editing = false;
  49. });
  50. $scope.item = item;
  51. $scope.item.selected = true;
  52. };
  53. $scope.deleteItem = function(item){
  54. $scope.items.splice($scope.items.indexOf(item), 1);
  55. $scope.item = $filter('orderBy')($scope.items, 'first')[0];
  56. if($scope.item) $scope.item.selected = true;
  57. };
  58. $scope.createItem = function(){
  59. var item = {
  60. group: 'Friends',
  61. avatar:'img/a0.jpg'
  62. };
  63. $scope.items.push(item);
  64. $scope.selectItem(item);
  65. $scope.item.editing = true;
  66. };
  67. $scope.editItem = function(item){
  68. if(item && item.selected){
  69. item.editing = true;
  70. }
  71. };
  72. $scope.doneEditing = function(item){
  73. item.editing = false;
  74. };
  75. }]);