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
*************************************************/
export default ['$scope', function ($scope) {
export default ['$scope', '$filter',
function ($scope, $filter) {
var recentJobs = $scope.jobs;
var recentJobs = $scope.jobs;
function isFailureState(status) {
return status === 'failed' || status === 'error' || status === 'canceled';
}
function isFailureState(status) {
return status === 'failed' || status === 'error' || status === 'canceled';
}
var sparkData =
recentJobs.map(function(job) {
var sparkData =
recentJobs.map(function(job) {
var data = {};
var data = {};
if (job.status === 'successful') {
data.value = 1;
} else if (isFailureState(job.status)) {
data.value = -1;
} else {
data.value = 0;
}
if (job.status === 'successful') {
data.value = 1;
} else if (isFailureState(job.status)) {
data.value = -1;
} else {
data.value = 0;
}
data.jobId = job.id;
data.smartStatus = job.status;
data.jobId = job.id;
data.smartStatus = job.status;
data.finished = $filter('longDate')(job.finished);
return data;
});
return data;
});
$scope.sparkArray = _.pluck(sparkData, 'value');
$scope.jobIds = _.pluck(sparkData, 'jobId');
$scope.smartStatus = _.pluck(sparkData, 'smartStatus');
$scope.sparkArray = _.pluck(sparkData, 'value');
$scope.jobIds = _.pluck(sparkData, 'jobId');
$scope.smartStatus = _.pluck(sparkData, 'smartStatus');
$scope.finished = _.pluck(sparkData, 'finished');
}];

View File

@ -13,13 +13,15 @@ export default [ function() {
restrict: 'E',
link: function (scope, element){
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
if (status) {
status = status.charAt(0).toUpperCase() + status.slice(1);
return "<div class=\"smart-status-tooltip\">Job ID: " +
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}}',
tooltipValueLookups: {
jobs: scope.jobIds,
status: scope.smartStatus
status: scope.smartStatus,
finished: scope.finished
}
});