diff --git a/tagserverApp/assets/js/controller.js b/tagserverApp/assets/js/controller.js index 3dae97b..61df757 100644 --- a/tagserverApp/assets/js/controller.js +++ b/tagserverApp/assets/js/controller.js @@ -1,4 +1,4 @@ -var tsCtrlrs = angular.module('tsCtrlrs', ['ngJustGage', 'n3-line-chart', "ngQuickDate", "ngSails"]); +var poconsole = angular.module('poconsole', ['ngJustGage', 'n3-line-chart', "ngQuickDate", "ngSails"]); function isValidDate(d) { if ( Object.prototype.toString.call(d) !== "[object Date]" ) @@ -6,7 +6,9 @@ function isValidDate(d) { return !isNaN(d.getTime()); } -tsCtrlrs.config(function(ngQuickDateDefaultsProvider) { +var colors = ['#d7191c','#fdae61','#abdda4','#2b83ba']; + +poconsole.config(function(ngQuickDateDefaultsProvider) { // Configure with icons from font-awesome return ngQuickDateDefaultsProvider.set({ closeButtonHtml: "", @@ -73,7 +75,7 @@ var mysqlDate = function(d){ return "".concat(year, "-", month, "-", day, " ", hour, ":", min, ":", sec); }; -tsCtrlrs.factory('Page', function($log) { +poconsole.factory('Page', function($log) { var title = 'default'; var page = 'default'; return { @@ -92,25 +94,7 @@ tsCtrlrs.factory('Page', function($log) { }; }); -tsCtrlrs.factory('Alerts', function($log) { - var alerts = []; - return { - add: function(alt) { - alerts.push(alt); - }, - remove: function(indx) { - alerts.splice(indx, 1); - }, - clear: function() { - alerts = []; - }, - get: function() { - return alerts; - } - }; -}); - -tsCtrlrs.factory('tags',function($q, $http, $log){ +poconsole.factory('tags',function($q, $http, $log){ var getTag = function(id) { var deferred = $q.defer(); var w ={"where":{"id":id}}; @@ -124,7 +108,7 @@ tsCtrlrs.factory('tags',function($q, $http, $log){ var getTagList = function() { var deferred = $q.defer(); - $http.get('/tag/').success(function(data) { + $http.get('/tag').success(function(data) { deferred.resolve({ tags:data }); @@ -132,6 +116,16 @@ tsCtrlrs.factory('tags',function($q, $http, $log){ return deferred.promise; }; + var getDataTypes = function() { + var deferred = $q.defer(); + $http.get('/data_type').success(function(data) { + deferred.resolve({ + data_types:data + }); + }); + return deferred.promise; + }; + var getTagHistoryBetween = function(id, start, end){ var deferred = $q.defer(); var w = {'where':{'tagID': id, 'createdAt': {">":mysqlDate(start), "<": mysqlDate(end)}}}; @@ -157,6 +151,8 @@ tsCtrlrs.factory('tags',function($q, $http, $log){ $http.post('/tag/create', { tag: tag.tag, name: tag.name, + tag_class:5, + deviceID: tag.deviceID, units: tag.units, minExpected: tag.minExpected, maxExpected: tag.maxExpected, @@ -171,10 +167,11 @@ tsCtrlrs.factory('tags',function($q, $http, $log){ var updateTag = function(tag){ $log.info("updateTag called with "+ JSON.stringify(tag)); - $http.post('/tag/update/1', { - id: tag.id, + $http.post('/tag/update/'+ tag.id, { tag: tag.tag, name: tag.name, + tag_class:5, + deviceID: tag.deviceID, units: tag.units, minExpected: tag.minExpected, maxExpected: tag.maxExpected, @@ -225,6 +222,7 @@ tsCtrlrs.factory('tags',function($q, $http, $log){ return { getTag: getTag, getTagList: getTagList, + getDataTypes: getDataTypes, getTagHistoryBetween: getTagHistoryBetween, getCurrentValues: getCurrentValues, createTag: createTag, @@ -235,28 +233,48 @@ tsCtrlrs.factory('tags',function($q, $http, $log){ }; }); -tsCtrlrs.factory('config',function($q, $http, $log){ +poconsole.factory('devices', function($q, $http, $log){ + var getAllDevices = function(){ + var deferred = $q.defer(); + $http.get('/device').success(function(data) { + deferred.resolve({ + devices:data + }); + }); + return deferred.promise; + }; + + var getDevice = function(id){ + var deferred = $q.defer(); + $http.get('/device/'+ id).success(function(data) { + deferred.resolve({ + devices:data + }); + }); + return deferred.promise; + }; + + return { + getAllDevices : getAllDevices, + getDevice: getDevice, + + }; +}); + +poconsole.factory('config',function($q, $http, $log){ var getConfig = function(){ var deferred = $q.defer(); - $http.get('/json/config/').success(function(data) { - if(data.status == "OK"){ - deferred.resolve({ - config:data.config, - status: data.status - }); - } else { - deferred.resolve({ - status:data.status, - message: data.message - }); - } + $http.get('/config').success(function(data) { + deferred.resolve({ + config:data + }); }); return deferred.promise; }; var submitParameter = function(entry){ - $http.post('/json/config', { + $http.post('/config', { parameter: entry.parameter, val: entry.val }).success(function(data){ @@ -311,12 +329,11 @@ tsCtrlrs.factory('config',function($q, $http, $log){ }); -tsCtrlrs.controller('mainCtrl', function($scope, Page, Alerts) { +poconsole.controller('mainCtrl', function($scope, Page) { $scope.Page = Page; - $scope.Alerts = Alerts; }); -tsCtrlrs.controller('dashboardCtrl', function($scope, $route, $http, $sails, Page, $log, tags) { +poconsole.controller('dashboardCtrl', function($scope, $route, $http, $sails, Page, $log, tags) { Page.setTitle('Dashboard'); Page.setPage('dashboard'); $scope.loadDashboard = function(){ @@ -353,7 +370,7 @@ tsCtrlrs.controller('dashboardCtrl', function($scope, $route, $http, $sails, Pag }); -tsCtrlrs.controller('tagsCtrl', function($scope, $route, $http, $routeParams, Page, Alerts, $log, tags) { +poconsole.controller('tagsCtrl', function($scope, $route, $http, $routeParams, Page, $log, tags, devices) { Page.setTitle('Tags'); Page.setPage('tags'); $scope.loadTagList = function(){ @@ -366,6 +383,16 @@ tsCtrlrs.controller('tagsCtrl', function($scope, $route, $http, $routeParams, Pa }; $scope.loadTagList(); + var getDataTypes = tags.getDataTypes(); + getDataTypes.then(function(d){ + $scope.data_types = d.data_types; + }); + + var getAllDevices = devices.getAllDevices(); + getAllDevices.then(function(d){ + $scope.devices = d.devices; + }); + $scope.submitAddTag = function(){ var createStatus = tags.createTag($scope.newTag); $scope.createStatus = createStatus.status; @@ -412,7 +439,7 @@ tsCtrlrs.controller('tagsCtrl', function($scope, $route, $http, $routeParams, Pa var getTag = tags.getTag(id); getTag.then(function(data){ $scope.error = false; - $scope.editTag = data.tag; + $scope.editTag = data.tag[0]; $log.info("Started editing tag with parameters: "+ JSON.stringify($scope.editTag)); }); }; @@ -436,7 +463,7 @@ tsCtrlrs.controller('tagsCtrl', function($scope, $route, $http, $routeParams, Pa }); -tsCtrlrs.controller('tagValsCtrl', function($scope, $route, $http, $routeParams, Page, Alerts, $log, tags) { +poconsole.controller('tagValsCtrl', function($scope, $route, $http, $routeParams, Page, $log, tags) { Page.setTitle('Tag Series'); Page.setPage('tags'); @@ -459,7 +486,6 @@ tsCtrlrs.controller('tagValsCtrl', function($scope, $route, $http, $routeParams, var getTag = tags.getTag(tags_to_get); getTag.then(function(tagData){ $scope.tag = tagData.tag; - Page.setTitle('Tag Series: '+ tagData.tag.tagName); var getTagHistoryBetween = tags.getTagHistoryBetween(tags_to_get, sDTime, eDTime); getTagHistoryBetween.then(function(data) { @@ -495,7 +521,7 @@ tsCtrlrs.controller('tagValsCtrl', function($scope, $route, $http, $routeParams, all_datetimes.push(data.vals[i].createdAt); } } - $scope.data.vals = [{dtime:new Date(all_datetimes[0])}] + $scope.data.vals = [{dtime:new Date(all_datetimes[0])}]; for (var ta in split_vals){ $scope.data.vals[0][ta] = split_vals[ta].vals[0]; } @@ -504,7 +530,7 @@ tsCtrlrs.controller('tagValsCtrl', function($scope, $route, $http, $routeParams, var newOb = {dtime: new Date(all_datetimes[j])}; for(var tag in split_vals){ if(split_vals[tag].ob[all_datetimes[j]] === undefined){ - newOb[tag] = $scope.data.vals[j][tag] + newOb[tag] = $scope.data.vals[j][tag]; } else { newOb[tag] = split_vals[tag].ob[all_datetimes[j]]; } @@ -540,7 +566,7 @@ tsCtrlrs.controller('tagValsCtrl', function($scope, $route, $http, $routeParams, key: $scope.tag[i2].name, label: $scope.tag[i2].name, // color: "#1f77b4", - color: '#'+Math.floor(Math.random()*16777215).toString(16), + color: colors[i2 % colors.length], type: ['line'], drawDots:false }); @@ -552,7 +578,7 @@ tsCtrlrs.controller('tagValsCtrl', function($scope, $route, $http, $routeParams, $scope.loadTagVals($scope.startDatetime, $scope.endDatetime); }); -tsCtrlrs.controller('configCtrl', function($scope, Page, Alerts, $log, config) { +poconsole.controller('configCtrl', function($scope, Page, $log, config, devices) { Page.setTitle('Configuration'); Page.setPage('configuration'); @@ -563,12 +589,7 @@ tsCtrlrs.controller('configCtrl', function($scope, Page, Alerts, $log, config) { var getConfig = config.getConfig(); getConfig.then(function(data) { $scope.loading = false; - if (data.status == "OK"){ - $scope.config = data.config; - $scope.error = false; - } else { - $scope.error = data.message; - } + $scope.config = data.config; }); }; $scope.loadConfig(); @@ -607,7 +628,7 @@ tsCtrlrs.controller('configCtrl', function($scope, Page, Alerts, $log, config) { } }); }; - $scope.checkLogger(); + // $scope.checkLogger(); $scope.restartLogger = function(){ var restartLogger = config.restartLogger(); @@ -620,18 +641,31 @@ tsCtrlrs.controller('configCtrl', function($scope, Page, Alerts, $log, config) { } }); }; + + $scope.getDevices = function(){ + var getDevices = devices.getAllDevices(); + getDevices.then(function(d){ + $scope.devices = d.devices; + }); + }; + $scope.getDevices(); + + + + + }); //*---- FILTERS -----*// -tsCtrlrs.filter('dString', function myDateFormat($filter){ +poconsole.filter('dString', function myDateFormat($filter){ return function(text){ var tempdate= new Date(text); return $filter('date')(tempdate, "yyyyMMdd'_'HHmmss"); }; }); -tsCtrlrs.filter('sqlite_to_local', function sqliteformat($filter){ +poconsole.filter('sqlite_to_local', function sqliteformat($filter){ return function(text){ var utcdate= new Date(text + " UTC"); return $filter('date')(utcdate, "yyyy-MM-dd hh:mm:ss a"); diff --git a/tagserverApp/assets/js/router.js b/tagserverApp/assets/js/router.js index 042403f..2bd0847 100644 --- a/tagserverApp/assets/js/router.js +++ b/tagserverApp/assets/js/router.js @@ -1,4 +1,4 @@ -var tagserver = angular.module('tagserver', ['ngRoute', 'tsCtrlrs']); +var tagserver = angular.module('tagserver', ['ngRoute', 'poconsole']); tagserver.config([ '$routeProvider', function($routeProvider) { diff --git a/tagserverApp/assets/templates/config.html b/tagserverApp/assets/templates/config.html index 74498ef..303b54b 100644 --- a/tagserverApp/assets/templates/config.html +++ b/tagserverApp/assets/templates/config.html @@ -31,25 +31,51 @@ -
-

Configuration Parameters

- - - - - - - - - - - - - - -
ParameterValue
{{param.parameter}}{{param.val}}
+
+
+

Devices

+ + + + + + + + + + + + + + + + + +
IDAddressType
{{device.id}}{{device.address}}{{device.device_type.dType}}
+
+ +
+

Configuration Parameters

+ + + + + + + + + + + + + + + +
ParameterValue
{{param.parameter}}{{param.val}}
+
+

New Parameter

diff --git a/tagserverApp/assets/templates/tags.html b/tagserverApp/assets/templates/tags.html index 6d871ca..6e93f3e 100644 --- a/tagserverApp/assets/templates/tags.html +++ b/tagserverApp/assets/templates/tags.html @@ -8,6 +8,10 @@