controller('shiftProfileController', function($scope, $rootScope, $http, $filter, $q) { $rootScope.sidebar = false; $rootScope.rightSidebar = false; $scope.appKey = 'shift-profile'; var self = this; self.Initialise = function() { $scope.shift = {}; $scope.shift.days = { sunday: false, monday: false, tuesday: false, wednesday: false, thursday: false, friday: false, saturday: false }; $scope.shiftProfiles = []; //postShiftProfiles($scope.appKey, $rootScope.factoryKey, $scope.shiftProfiles); /*$scope.shift.startTime = $filter('date')(new Date(), 'shortTime'); $scope.shift.endTime = $filter('date')(new Date(), 'shortTime');*/ //$scope.count = 0; getShiftProfiles($scope.appKey, $rootScope.factoryKey).then(function(data) { if (data.id === 'error') { console.log(data.message); //$scope.shift.id = $scope.count = 1; } else { console.log(data); angular.forEach(data, function(items, key){ angular.forEach(items.days, function(daysSelected, days){ daysSelected = Boolean.valueOf(daysSelected); }); angular.forEach(items.machines, function(machineSelected, machines){ machineSelected = Boolean.valueOf(machineSelected); }); }); //$scope.count = parseInt(data[data.length].id)+ 1; //var currentCount = Object.keys(data).length; //console.log(data[currentCount]); $scope.shiftProfiles = data; } }, function(error) { console.log('Error in getRemoteMachineInfo: ', error); }); }; $scope.deleteShiftProfile = function(item) { var index = $scope.shiftProfiles.indexOf(item); $scope.shiftProfiles.splice(index, 1); //$scope.count = parseInt($scope.shiftProfiles[Object.keys($scope.shiftProfiles).length - 1].id) + 1; console.log($scope.shiftProfiles); postShiftProfiles($scope.appKey, $rootScope.factoryKey, $scope.shiftProfiles); }; $scope.editShiftProfile = function(item) { var index = $scope.shiftProfiles.indexOf(item); $scope.shiftProfiles.splice(index, 1); }; $scope.saveShiftProfile = function() { $scope.shiftProfiles.push({ name: $scope.shift.name, startTime: $scope.shift.startTime, endTime: $scope.shift.endTime, days: $scope.shift.days, machines: $scope.shift.machines, }); console.log($scope.shiftProfiles); postShiftProfiles($scope.appKey, $rootScope.factoryKey, $scope.shiftProfiles); }; function getShiftProfiles(appKey, factoryKey) { var defer = $q.defer(); $http.get('http://54.213.13.56/api/app/' + appKey + '/' + factoryKey). success(function(data) { //console.log(data[data.length].id); defer.resolve(data); }).error(function(data) { console.log('Error in getShiftProfiles: ' + data); }); return defer.promise; } function postShiftProfiles(appKey, factoryKey, data) { var dataObj = { id: appKey, factory: factoryKey, data: data }; console.log(JSON.stringify(dataObj)); $.ajax({ url: 'http://54.213.13.56/api/app', type: 'POST', data: dataObj }).done(function(data, statusText, xhr) { console.log(data.message); }).error(function(data, statusText, xhr) { console.log(statusText); }); } /** * Write to the Console * @param {string} message */ self.log = function(message) { console.log(message); }; // Initialise Directive self.Initialise(); });