Advertisement
Guest User

caseslistcontroller

a guest
May 27th, 2015
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. import { default as cafienneuiModelsCase } from '../model/casemodel.service';
  2. import { default as cafienneuiGeneric } from '../../common/generic.module';
  3. import { default as cafienneuiAuthenticate } from '../../authenticate/authenticate.factory';
  4. import { default as customDirectivesPagination } from '../../common/pagination-directive/pagination.directive';
  5. import { default as cafienneuiConfig } from '../../common/config.constant';
  6.  
  7. var moduleName = 'cafienneui.case.caseslist';
  8. const STATE_PARAMS = new WeakMap();
  9.  
  10. class CasesListController {
  11.  
  12. constructor(CaseModel, $stateParams, authenticationSvc, $state, cafconf, $scope) {
  13.  
  14. STATE_PARAMS.set(this, $stateParams);
  15.  
  16. if(authenticationSvc.isLoggedIn()) {
  17.  
  18. this.message = "hello";
  19.  
  20. // ophalen van de laatste stand van zaken mbt cases en bijbehorende tasks
  21. CaseModel.setDataOfCasesList();
  22.  
  23. // constant values
  24. this.maxInList = cafconf.pagination_max_elements_table;
  25. this.totalNrOfPages = cafconf.pagination_tot_pages_panel;
  26.  
  27. // init values when entering the view.
  28. this.selectedFilter = "";
  29. this.selectedCases = [];
  30. this.beginCase = 0;
  31. this.totalNrOfElements = 0;
  32.  
  33. } else {
  34. $state.go('caf-ui.login');
  35. }
  36.  
  37. var self = this;
  38. $scope.$on('caseslist.update', function (self) {
  39. self.selectedCases = CaseModel.caseslist;
  40. self.setFilterOfCases();
  41. self.setNumberOfPagesInNavigation();
  42. });
  43.  
  44. }
  45.  
  46.  
  47. selectedCasesOnFilter() {
  48. var tempSelectedCases = [];
  49. for(var i=0; i< selectedCases.length; i++) {
  50. if(selectedCases[i].currentState == filter && filter != "") tempSelectedCases.push(selectedCases[i]);
  51. if(filter == "") tempSelectedCases.push(selectedCases[i]);
  52. }
  53.  
  54. return tempSelectedCases;
  55. }
  56.  
  57. rangeCases(begin) {
  58. var newListOfCases = [];
  59. var tmpMaxInList = this.maxInList;
  60.  
  61. if(this.totalNrOfElements > 0) {
  62.  
  63. if((this.totalNrOfElements - begin) < this.maxInList ) {
  64. tmpMaxInList = (this.totalNrOfElements - begin);
  65. }
  66.  
  67. for(var i=0; i < tmpMaxInList; i++) {
  68. if(i == 0) newListOfCases.push(this.selectedCasesOnFilter(this.selectedFilter)[begin]);
  69. else newListOfCases.push(this.selectedCasesOnFilter(this.selectedFilter)[begin+i]);
  70. }
  71. }
  72.  
  73. return newListOfCases;
  74. }
  75.  
  76.  
  77. setFilterOfCases() {
  78. if(STATE_PARAMS.get(this).selected != null || STATE_PARAMS.get(this).selected != undefined) {
  79. this.selectedFilter = STATE_PARAMS.get(this).selected;
  80. } else {
  81. this.selectedFilter = "";
  82. }
  83. }
  84.  
  85. setNumberOfPagesInNavigation() {
  86. this.totalNrOfElements = this.selectedCasesOnFilter(this.selectedFilter).length;
  87.  
  88. var tmpTotalNrOfPages = this.totalNrOfElements / this.maxInList;
  89.  
  90.  
  91. if(this.totalNrOfElements < this.maxInList) {
  92. tmpTotalNrOfPages = 1;
  93. } else {
  94.  
  95. var modulo = this.totalNrOfElements % this.maxInList;
  96.  
  97. if( modulo > 0 ) {
  98.  
  99. tmpTotalNrOfPages = Math.floor(tmpTotalNrOfPages)+1;
  100. }
  101. else {
  102. tmpTotalNrOfPages = Math.floor(tmpTotalNrOfPages);
  103. }
  104.  
  105. }
  106.  
  107. if( tmpTotalNrOfPages < this.totalNrOfPages ) {
  108. this.totalNrOfPages = tmpTotalNrOfPages;
  109. }
  110. }
  111.  
  112. }
  113.  
  114.  
  115. angular.module(moduleName, [
  116. cafienneuiModelsCase,
  117. cafienneuiGeneric,
  118. cafienneuiAuthenticate,
  119. customDirectivesPagination,
  120. cafienneuiConfig ])
  121. .controller('casesListController', CasesListController);
  122.  
  123. export default moduleName;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement