time.js 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var time_1 = require("../util/time");
  4. function calculateTimeTicks(cfg) {
  5. var min = cfg.min, max = cfg.max, minTickInterval = cfg.minTickInterval;
  6. var tickInterval = cfg.tickInterval;
  7. var tickCount = cfg.tickCount;
  8. // 指定 tickInterval 后 tickCount 不生效,需要重新计算
  9. if (tickInterval) {
  10. tickCount = Math.ceil((max - min) / tickInterval);
  11. }
  12. else {
  13. tickInterval = (0, time_1.getTickInterval)(min, max, tickCount)[1];
  14. var count = (max - min) / tickInterval;
  15. var ratio = count / tickCount;
  16. if (ratio > 1) {
  17. tickInterval = tickInterval * Math.ceil(ratio);
  18. }
  19. // 如果设置了最小间距,则使用最小间距
  20. if (minTickInterval && tickInterval < minTickInterval) {
  21. tickInterval = minTickInterval;
  22. }
  23. }
  24. var ticks = [];
  25. for (var i = min; i < max + tickInterval; i += tickInterval) {
  26. ticks.push(i);
  27. }
  28. return ticks;
  29. }
  30. exports.default = calculateTimeTicks;
  31. //# sourceMappingURL=time.js.map