controllers.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. 'use strict';
  2. /* Controllers; their method are available where specified with the ng-controller
  3. * directive or for a given route (see app.js). They use some services to
  4. * connect to the backend (see services.js). */
  5. var eventManControllers = angular.module('eventManControllers', []);
  6. /* A controller that can be used to navigate. */
  7. eventManControllers.controller('NavigationCtrl', ['$location',
  8. function ($location) {
  9. this.go = function(url) {
  10. $location.url(url);
  11. };
  12. }]
  13. );
  14. /* Controller for a group of date and time pickers. */
  15. eventManControllers.controller('DatetimePickerCtrl', ['$scope',
  16. function ($scope) {
  17. $scope.open = function($event) {
  18. $event.preventDefault();
  19. $event.stopPropagation();
  20. $scope.opened = true;
  21. };
  22. }]
  23. );
  24. eventManControllers.controller('EventsListCtrl', ['$scope', 'Event',
  25. function ($scope, Event) {
  26. $scope.events = Event.all();
  27. $scope.orderProp = 'begin-datetime';
  28. $scope.remove = function(_id) {
  29. Event.remove({'id': _id}, function() {
  30. $scope.events = Event.all();
  31. });
  32. };
  33. }]
  34. );
  35. eventManControllers.controller('EventDetailsCtrl', ['$scope', 'Event', '$routeParams',
  36. function ($scope, Event, $routeParams) {
  37. if ($routeParams.id) {
  38. $scope.event = Event.get($routeParams);
  39. }
  40. // store a new Event or update an existing one
  41. $scope.save = function() {
  42. if ($scope.event.id === undefined) {
  43. $scope.event = Event.save($scope.event);
  44. } else {
  45. $scope.event = Event.update($scope.event);
  46. }
  47. $scope.eventForm.$dirty = false;
  48. };
  49. }]
  50. );
  51. eventManControllers.controller('PersonsListCtrl', ['$scope', 'Person',
  52. function ($scope, Person) {
  53. $scope.persons = Person.all();
  54. $scope.orderProp = 'name';
  55. $scope.remove = function(_id) {
  56. Person.remove({'id': _id}, function() {
  57. $scope.persons = Person.all();
  58. });
  59. };
  60. }]
  61. );
  62. eventManControllers.controller('PersonDetailsCtrl', ['$scope', 'Person', '$routeParams',
  63. function ($scope, Person, $routeParams) {
  64. if ($routeParams.id) {
  65. $scope.person = Person.get($routeParams);
  66. }
  67. // store a new Person or update an existing one
  68. $scope.save = function() {
  69. if ($scope.person.id === undefined) {
  70. $scope.person = Person.save($scope.person);
  71. } else {
  72. $scope.person = Person.update($scope.person);
  73. }
  74. };
  75. }]
  76. );
  77. eventManControllers.controller('ImportPersonsCtrl', ['$scope', '$log',
  78. function ($scope, $log) {
  79. $scope.ebCSVimport = function() {
  80. $log.info("ImportPersonsCtrl");
  81. $log.info($scope);
  82. };
  83. }]
  84. );
  85. eventManControllers.controller('FileUploadCtrl', ['$scope', '$log', '$upload', 'Event',
  86. function ($scope, $log, $upload, Event) {
  87. $scope.file = null;
  88. $scope.reply = {};
  89. $scope.events = Event.all();
  90. $scope.upload = function(file, url) {
  91. $log.info("FileUploadCtrl.upload");
  92. $upload.upload({
  93. url: url,
  94. file: file,
  95. fields: {targetEvent: $scope.targetEvent}
  96. }).progress(function(evt) {
  97. var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
  98. $log.debug('progress: ' + progressPercentage + '%');
  99. }).success(function(data, status, headers, config) {
  100. $scope.file = null;
  101. $scope.reply = angular.fromJson(data);
  102. });
  103. };
  104. }]
  105. );