Advertisement
Guest User

Untitled

a guest
Mar 29th, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* =========== TimetableController =========== */
  2.  
  3. app
  4.     .controller(
  5.         'TimetableController',
  6.         function($scope, $http) {
  7.           $scope.entry = {};
  8.  
  9.           $scope.gridData = {};
  10.           $scope.employeeList = [];
  11.           $scope.projectList = [];
  12.           $http.get("/employee/data.json").then(
  13.             function (response) {
  14.               console.log(response.data);
  15.               $scope.employeeList = response.data;
  16.             },
  17.             function (response) {
  18.               console.log('Error loading employee list');
  19.             }
  20.           );
  21.  
  22.           $http.get("/project/data.json").then(
  23.             function (response) {
  24.               console.log(response.data);
  25.               $scope.projectList = response.data;
  26.             },
  27.             function (response) {
  28.               console.log('Error loading project list');
  29.             }
  30.           );
  31.  
  32.           $scope.loadData = function() {
  33.             $http.get('/timetable/data.json').then(function(res) {
  34.               $scope.gridData = res.data;
  35.             });
  36.           }
  37.  
  38.           $scope.loadData();
  39.  
  40.           $scope.makeColDefs = function(row) {
  41.             var colDefs = [{
  42.             field : 'id',
  43.             displayName : 'Id',
  44.             },
  45.             {
  46.             field : 'employee',
  47.             displayName : 'Employee'
  48.             },
  49.             {
  50.             field : 'project',
  51.             displayName : 'Project'
  52.             },
  53.             {
  54.             field : 'start_date',
  55.             cellFilter: 'date:\'yyyy.MM.dd hh:mm\'',
  56.             displayName : 'Start date'
  57.             },
  58.             {
  59.             field : 'end_date',
  60.             displayName : 'End date'
  61.             },
  62.             {
  63.             field : 'worked_time',
  64.             displayName : "Worked time"
  65.             }];
  66.             //Fields added
  67.             var buttonTemplate = '<div><button id="delete_{{row.rowIndex}}" class="btn btn-sm btn-transparent" ng-click="deleteRow(row)"><li class="icon-trash"></li></button></div>';
  68.             var saveColumn = {};
  69.             saveColumn.field = '';
  70.             saveColumn.width = '60px';
  71.             saveColumn.cellTemplate = buttonTemplate;
  72.             colDefs.push(saveColumn);
  73.  
  74.             return colDefs;
  75.           };
  76.  
  77.           $scope.gridOptions = {
  78.             data : 'gridData',
  79.             columnDefs : $scope.makeColDefs(),
  80.             multiSelect : false,
  81.             afterSelectionChange : function(rowItem, event) {
  82.               if (rowItem.selected) {
  83.                 console.log(rowItem.entity);
  84.                 // reset form
  85.                 $scope.entry = {};
  86.                 $scope.form.$setPristine();
  87.                 // set new value
  88.                 $scope.entry = angular.copy(rowItem.entity);
  89.               }
  90.             }
  91.           };
  92.  
  93.           $scope.update = function(timetable) {
  94.             console.log(JSON.stringify(timetable));
  95.             $http.post('/timetable/save', JSON.stringify(timetable), {
  96.               contentType : 'application/json',
  97.               dataType : 'json'
  98.             }).then(function(res) {
  99.               $scope.loadData();
  100.               // reset form
  101.               $scope.entry = {};
  102.               $scope.form.$setPristine();
  103.             });
  104.           };
  105.  
  106.           $scope.clear = function() {
  107.             $scope.entry = {};
  108.           };
  109.  
  110.           $scope.deleteRow = function(row) {
  111.             $http.post('/timetable/delete', JSON.stringify(row.entity), {
  112.               async : true,
  113.               contentType : 'application/json',
  114.               dataType : 'json'
  115.             }).then(function(res) {
  116.               $scope.loadData();
  117.               // reset form
  118.               $scope.entry = {};
  119.               $scope.form.$setPristine();
  120.             });
  121.           };
  122.  
  123.  
  124.         });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement