Skip to content

Commit ef52acb

Browse files
committed
{start, end} instead of {left, right} for internal offsets.
actually reverse the ticks, to be combatible with other implementations revert change to core.scale.js (not needed anymore)
1 parent 0fad2b6 commit ef52acb

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

src/core/core.scale.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ module.exports = Element.extend({
352352
var cosRotation, sinRotation;
353353

354354
// Allow 3 pixels x2 padding either side for label readability
355-
var tickWidth = Math.abs(me.getPixelForTick(1) - me.getPixelForTick(0)) - 6;
355+
var tickWidth = me.getPixelForTick(1) - me.getPixelForTick(0) - 6;
356356

357357
// Max label rotation can be set or default to 90 - also act as a loop counter
358358
while (labelWidth > tickWidth && labelRotation < tickOpts.maxRotation) {

src/scales/scale.time.js

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -356,34 +356,34 @@ function generate(min, max, capacity, options) {
356356
}
357357

358358
/**
359-
* Returns the right and left offsets from edges in the form of {left, right}.
359+
* Returns the end and start offsets from edges in the form of {start, end}.
360360
* Offsets are added when the `offset` option is true.
361361
*/
362362
function computeOffsets(table, ticks, min, max, options) {
363-
var left = 0;
364-
var right = 0;
363+
var start = 0;
364+
var end = 0;
365365
var upper, lower;
366366

367367
if (options.offset && ticks.length) {
368368
if (!options.time.min) {
369369
upper = ticks.length > 1 ? ticks[1] : max;
370370
lower = ticks[0];
371-
left = (
371+
start = (
372372
interpolate(table, 'time', upper, 'pos') -
373373
interpolate(table, 'time', lower, 'pos')
374374
) / 2;
375375
}
376376
if (!options.time.max) {
377377
upper = ticks[ticks.length - 1];
378378
lower = ticks.length > 1 ? ticks[ticks.length - 2] : min;
379-
right = (
379+
end = (
380380
interpolate(table, 'time', upper, 'pos') -
381381
interpolate(table, 'time', lower, 'pos')
382382
) / 2;
383383
}
384384
}
385385

386-
return options.ticks.reverse ? {left: right, right: left} : {left: left, right: right};
386+
return options.ticks.reverse ? {start: -end, end: -start} : {start: start, end: end};
387387
}
388388

389389
function ticksFromTimestamps(values, majorUnit) {
@@ -638,6 +638,10 @@ module.exports = function() {
638638
me.min = min;
639639
me.max = max;
640640

641+
if (options.ticks.reverse) {
642+
ticks.reverse();
643+
}
644+
641645
// PRIVATE
642646
me._unit = timeOpts.unit || determineUnitForFormatting(ticks, timeOpts.minUnit, me.min, me.max);
643647
me._majorUnit = determineMajorUnit(me._unit);
@@ -710,7 +714,7 @@ module.exports = function() {
710714
var size = me._horizontal ? me.width : me.height;
711715
var start = me._horizontal ? isReverse ? me.right : me.left : isReverse ? me.bottom : me.top;
712716
var pos = interpolate(me._table, 'time', time, 'pos');
713-
var offset = size * (me._offsets.left + pos) / (me._offsets.left + 1 + me._offsets.right);
717+
var offset = size * (me._offsets.start + pos) / (me._offsets.start + 1 + me._offsets.end);
714718

715719
return isReverse ? start - offset : start + offset;
716720
},
@@ -743,7 +747,7 @@ module.exports = function() {
743747
var me = this;
744748
var size = me._horizontal ? me.width : me.height;
745749
var start = me._horizontal ? me.left : me.top;
746-
var pos = (size ? (pixel - start) / size : 0) * (me._offsets.left + 1 + me._offsets.left) - me._offsets.right;
750+
var pos = (size ? (pixel - start) / size : 0) * (me._offsets.start + 1 + me._offsets.start) - me._offsets.end;
747751
var time = interpolate(me._table, 'pos', pos, 'time');
748752

749753
return moment(time);

0 commit comments

Comments
 (0)