Files
DataLogger-Generic/www/public/js/controller.js
2016-01-26 21:07:13 -06:00

149 lines
3.7 KiB
JavaScript

var tsCtrlrs = angular.module('tsCtrlrs', []);
tsCtrlrs.factory('Page', function($log) {
var title = 'default';
var page = 'default';
return {
title: function() {
return title;
},
setTitle: function(newTitle) {
title = newTitle;
},
page: function() {
return page;
},
setPage: function(newPage) {
page = newPage;
}
};
});
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){
var getTag = function(id) {
var deferred = $q.defer();
$http.get('/json/tag/' + id).success(function(data) {
if(data.status == "OK"){
deferred.resolve({
tag:data.tags[0],
status: data.status
});
} else {
deferred.resolve({
status:data.status,
message: data.message
});
}
});
return deferred.promise;
};
var getTagList = function() {
var deferred = $q.defer();
$http.get('/json/tag/').success(function(data) {
if(data.status == "OK"){
deferred.resolve({
tags:data.tags,
status: data.status
});
} else {
deferred.resolve({
status:data.status,
message: data.message
});
}
});
return deferred.promise;
};
var getTagHistory = function(id){
var deferred = $q.defer();
$http.get('/json/series/'+ id + "/24").success(function(data) {
if(data.status == "OK"){
deferred.resolve({
vals:data.vals,
status: data.status
});
} else {
deferred.resolve({
status:data.status,
message: data.message
});
}
});
return deferred.promise;
};
return {
getTags: getTags,
getTagList: getTagList,
getTagHistory: getTagHistory
};
});
tsCtrlrs.controller('mainCtrl', function($scope, Page, Alerts) {
$scope.Page = Page;
$scope.Alerts = Alerts;
});
tsCtrlrs.controller('dashboardCtrl', function($scope, $route, $http, $routeParams, Page, Alerts, $log) {
Page.setTitle('Dashboard');
Page.setPage('dashboard');
});
tsCtrlrs.controller('tagsCtrl', function($scope, $route, $http, $routeParams, Page, Alerts, $log, tags) {
$scope.loading = true;
var getTagList = tags.getTagList();
getTagList.then(function(data) {
$scope.loading = false;
if (data.status == "OK"){
$scope.tags = data.tags;
$scope.error = false;
} else {
$scope.tags = [];
$scope.error = data.message;
}
});
});
tsCtrlrs.controller('tagValsCtrl', function($scope, $route, $http, $routeParams, Page, Alerts, $log, tags) {
$scope.loading = true;
var getTag = tags.getTag($routeParams.tagID);
getTag.then(function(tagData){
if (tagData.status == "OK"){
$scope.tag = tagData.tag;
var getTagHistory = tags.getTagHistory($routeParams.tagID);
getTagHistory.then(function(data) {
$scope.loading = false;
if (data.status == "OK"){
$scope.vals = data.vals;
$scope.error = false;
var getTag
} else {
$scope.error = data.message;
}
});
} else {
$scope.loading = false;
$scope.error = data.message;
}
});