Skip to content

Commit

Permalink
Use tick.major rather than recomputing
Browse files Browse the repository at this point in the history
  • Loading branch information
benmccann committed May 11, 2019
1 parent 707e52a commit e129334
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions src/scales/scale.time.js
Original file line number Diff line number Diff line change
Expand Up @@ -408,8 +408,9 @@ function computeOffsets(table, ticks, min, max, options) {
return {start: start, end: end};
}

function ticksFromTimestamps(scale, values, majorUnit) {
function ticksFromTimestamps(scale, values) {
var ticks = [];
var majorUnit = scale._majorUnit;
var i, ilen, value, major;

for (i = 0, ilen = values.length; i < ilen; ++i) {
Expand Down Expand Up @@ -641,7 +642,7 @@ module.exports = Scale.extend({
ticks.reverse();
}

return ticksFromTimestamps(me, ticks, me._majorUnit);
return ticksFromTimestamps(me, ticks);
},

getLabelForIndex: function(index, datasetIndex) {
Expand Down Expand Up @@ -676,10 +677,10 @@ module.exports = Scale.extend({
var minorFormat = formats[me._unit];
var majorUnit = me._majorUnit;
var majorFormat = formats[majorUnit];
var majorTime = +adapter.startOf(time, majorUnit);
var isMajorTime = isNaN(index) ? false : ticks[index].major;
var tickOpts = options.ticks;
var majorTickOpts = tickOpts.major;
var major = majorTickOpts.enabled && majorUnit && majorFormat && time === majorTime;
var major = majorTickOpts.enabled && majorUnit && majorFormat && isMajorTime;
var label = adapter.format(time, format ? format : major ? majorFormat : minorFormat);
var nestedTickOpts = major ? majorTickOpts : tickOpts.minor;
var formatter = helpers.options.resolve([
Expand Down Expand Up @@ -780,7 +781,7 @@ module.exports = Scale.extend({
// pick the longest format (milliseconds) for guestimation
var format = displayFormats[timeOpts.unit] || displayFormats.millisecond;

var exampleLabel = me.tickFormatFunction(exampleTime, 0, [], format);
var exampleLabel = me.tickFormatFunction(exampleTime, 0, ticksFromTimestamps(me, [exampleTime]), format);
var tickLabelWidth = me.getLabelWidth(exampleLabel);

// Using margins instead of padding because padding is not calculated
Expand Down

0 comments on commit e129334

Please sign in to comment.