Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* =========== TimetableController =========== */
- app
- .controller(
- 'TimetableController',
- function($scope, $http) {
- $scope.entry = {};
- $scope.gridData = {};
- $scope.employeeList = [];
- $scope.projectList = [];
- $http.get("/employee/data.json").then(
- function (response) {
- console.log(response.data);
- $scope.employeeList = response.data;
- },
- function (response) {
- console.log('Error loading employee list');
- }
- );
- $http.get("/project/data.json").then(
- function (response) {
- console.log(response.data);
- $scope.projectList = response.data;
- },
- function (response) {
- console.log('Error loading project list');
- }
- );
- $scope.loadData = function() {
- $http.get('/timetable/data.json').then(function(res) {
- $scope.gridData = res.data;
- });
- }
- $scope.loadData();
- $scope.makeColDefs = function(row) {
- var colDefs = [{
- field : 'id',
- displayName : 'Id',
- },
- {
- field : 'employee',
- displayName : 'Employee'
- },
- {
- field : 'project',
- displayName : 'Project'
- },
- {
- field : 'start_date',
- cellFilter: 'date:\'yyyy.MM.dd hh:mm\'',
- displayName : 'Start date'
- },
- {
- field : 'end_date',
- displayName : 'End date'
- },
- {
- field : 'worked_time',
- displayName : "Worked time"
- }];
- //Fields added
- 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>';
- var saveColumn = {};
- saveColumn.field = '';
- saveColumn.width = '60px';
- saveColumn.cellTemplate = buttonTemplate;
- colDefs.push(saveColumn);
- return colDefs;
- };
- $scope.gridOptions = {
- data : 'gridData',
- columnDefs : $scope.makeColDefs(),
- multiSelect : false,
- afterSelectionChange : function(rowItem, event) {
- if (rowItem.selected) {
- console.log(rowItem.entity);
- // reset form
- $scope.entry = {};
- $scope.form.$setPristine();
- // set new value
- $scope.entry = angular.copy(rowItem.entity);
- }
- }
- };
- $scope.update = function(timetable) {
- console.log(JSON.stringify(timetable));
- $http.post('/timetable/save', JSON.stringify(timetable), {
- contentType : 'application/json',
- dataType : 'json'
- }).then(function(res) {
- $scope.loadData();
- // reset form
- $scope.entry = {};
- $scope.form.$setPristine();
- });
- };
- $scope.clear = function() {
- $scope.entry = {};
- };
- $scope.deleteRow = function(row) {
- $http.post('/timetable/delete', JSON.stringify(row.entity), {
- async : true,
- contentType : 'application/json',
- dataType : 'json'
- }).then(function(res) {
- $scope.loadData();
- // reset form
- $scope.entry = {};
- $scope.form.$setPristine();
- });
- };
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement