Skip to content

Commit

Permalink
Override the a11y title and description for the stats time series chart
Browse files Browse the repository at this point in the history
Since this is a use case specific chart, we can use use case specific
language in our labels.
  • Loading branch information
DingoEatingFuzz committed Sep 27, 2018
1 parent d83d231 commit 6d4d520
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions ui/app/components/stats-time-series.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import d3Format from 'd3-format';
import d3Scale from 'd3-scale';
import d3Array from 'd3-array';
import LineChart from 'nomad-ui/components/line-chart';
import formatDuration from 'nomad-ui/utils/format-duration';

export default LineChart.extend({
xProp: 'timestamp',
Expand All @@ -19,6 +20,20 @@ export default LineChart.extend({
return d3Format.format('.1~%');
},

// Specific a11y descriptors
title: 'Stats Time Series Chart',

description: computed('data.[]', 'xProp', 'yProp', function() {
const { xProp, yProp, data } = this.getProperties('data', 'xProp', 'yProp');
const yRange = d3Array.extent(data, d => d[yProp]);
const xRange = d3Array.extent(data, d => d[xProp]);
const yFormatter = this.yFormat();

const duration = formatDuration(xRange[1] - xRange[0], 'ms', true);

return `Time-series data for the last ${duration}, with values ranging from ${yFormatter(yRange[0])} to ${yFormatter(yRange[1])}`;
}),

xScale: computed('data.[]', 'xProp', 'timeseries', 'yAxisOffset', function() {
const xProp = this.get('xProp');
const scale = this.get('timeseries') ? d3Scale.scaleTime() : d3Scale.scaleLinear();
Expand Down

0 comments on commit 6d4d520

Please sign in to comment.