1 | import { getTickInterval } from '../util/time';
|
2 | export default function calculateTimeTicks(cfg) {
|
3 | var min = cfg.min, max = cfg.max, minTickInterval = cfg.minTickInterval;
|
4 | var tickInterval = cfg.tickInterval;
|
5 | var tickCount = cfg.tickCount;
|
6 |
|
7 | if (tickInterval) {
|
8 | tickCount = Math.ceil((max - min) / tickInterval);
|
9 | }
|
10 | else {
|
11 | tickInterval = getTickInterval(min, max, tickCount)[1];
|
12 | var count = (max - min) / tickInterval;
|
13 | var ratio = count / tickCount;
|
14 | if (ratio > 1) {
|
15 | tickInterval = tickInterval * Math.ceil(ratio);
|
16 | }
|
17 |
|
18 | if (minTickInterval && tickInterval < minTickInterval) {
|
19 | tickInterval = minTickInterval;
|
20 | }
|
21 | }
|
22 | var ticks = [];
|
23 | for (var i = min; i < max + tickInterval; i += tickInterval) {
|
24 | ticks.push(i);
|
25 | }
|
26 | return ticks;
|
27 | }
|
28 |
|
\ | No newline at end of file |