utils.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { clamp, get, size, uniq } from '@antv/util';
  2. import { PERCENT, RANGE_TYPE, RANGE_VALUE } from './constants';
  3. /**
  4. * 将 range 生成为 data 数据
  5. * @param range
  6. * @param key
  7. * @returns {GaugeRangeData}
  8. */
  9. export function processRangeData(range, percent) {
  10. return (range
  11. // 映射为 stack 的数据
  12. .map(function (r, idx) {
  13. var _a;
  14. return _a = {}, _a[RANGE_VALUE] = r - (range[idx - 1] || 0), _a[RANGE_TYPE] = "".concat(idx), _a[PERCENT] = percent, _a;
  15. }));
  16. }
  17. /**
  18. * 获取 仪表盘 指针数据
  19. * @param percent
  20. */
  21. export function getIndicatorData(percent) {
  22. var _a;
  23. return [(_a = {}, _a[PERCENT] = clamp(percent, 0, 1), _a)];
  24. }
  25. /**
  26. * 获取仪表盘 表盘弧形数据
  27. * @param percent
  28. * @param range
  29. */
  30. export function getRangeData(percent, range) {
  31. var ticks = get(range, ['ticks'], []);
  32. var clampTicks = size(ticks) ? uniq(ticks) : [0, clamp(percent, 0, 1), 1];
  33. if (!clampTicks[0]) {
  34. clampTicks.shift();
  35. }
  36. return processRangeData(clampTicks, percent);
  37. }
  38. //# sourceMappingURL=utils.js.map