Add 'finsihed' to sparklines bar charts

This commit is contained in:
Jared Tabor
2015-06-03 11:21:25 -04:00
parent f88de17adf
commit b1a8d2ce3c
2 changed files with 31 additions and 25 deletions

View File

@@ -4,36 +4,39 @@
* All Rights Reserved * All Rights Reserved
*************************************************/ *************************************************/
export default ['$scope', function ($scope) { export default ['$scope', '$filter',
function ($scope, $filter) {
var recentJobs = $scope.jobs; var recentJobs = $scope.jobs;
function isFailureState(status) { function isFailureState(status) {
return status === 'failed' || status === 'error' || status === 'canceled'; return status === 'failed' || status === 'error' || status === 'canceled';
} }
var sparkData = var sparkData =
recentJobs.map(function(job) { recentJobs.map(function(job) {
var data = {}; var data = {};
if (job.status === 'successful') { if (job.status === 'successful') {
data.value = 1; data.value = 1;
} else if (isFailureState(job.status)) { } else if (isFailureState(job.status)) {
data.value = -1; data.value = -1;
} else { } else {
data.value = 0; data.value = 0;
} }
data.jobId = job.id; data.jobId = job.id;
data.smartStatus = job.status; data.smartStatus = job.status;
data.finished = $filter('longDate')(job.finished);
return data; return data;
}); });
$scope.sparkArray = _.pluck(sparkData, 'value'); $scope.sparkArray = _.pluck(sparkData, 'value');
$scope.jobIds = _.pluck(sparkData, 'jobId'); $scope.jobIds = _.pluck(sparkData, 'jobId');
$scope.smartStatus = _.pluck(sparkData, 'smartStatus'); $scope.smartStatus = _.pluck(sparkData, 'smartStatus');
$scope.finished = _.pluck(sparkData, 'finished');
}]; }];

View File

@@ -13,13 +13,15 @@ export default [ function() {
restrict: 'E', restrict: 'E',
link: function (scope, element){ link: function (scope, element){
scope.formatter = function(sparklines, options, point){ scope.formatter = function(sparklines, options, point){
var status = options.userOptions.tooltipValueLookups.status[point.offset]; var status = options.userOptions.tooltipValueLookups.status[point.offset],
finished = options.userOptions.tooltipValueLookups.finished[point.offset];
//capitalize first letter //capitalize first letter
if (status) { if (status) {
status = status.charAt(0).toUpperCase() + status.slice(1); status = status.charAt(0).toUpperCase() + status.slice(1);
return "<div class=\"smart-status-tooltip\">Job ID: " + return "<div class=\"smart-status-tooltip\">Job ID: " +
options.userOptions.tooltipValueLookups.jobs[point.offset] + options.userOptions.tooltipValueLookups.jobs[point.offset] +
"<br>Status: <span style=\"color: " + point.color + "\">&#9679;</span>"+status+"</div>" ; "<br>Status: <span style=\"color: " + point.color + "\">&#9679;</span>"+status+
"<br>Finished: " + finished +"</div>" ;
} }
}; };
@@ -36,7 +38,8 @@ export default [ function() {
tooltipFormat: '{{value:jobs}}', tooltipFormat: '{{value:jobs}}',
tooltipValueLookups: { tooltipValueLookups: {
jobs: scope.jobIds, jobs: scope.jobIds,
status: scope.smartStatus status: scope.smartStatus,
finished: scope.finished
} }
}); });