slider.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. var __rest = (this && this.__rest) || function (s, e) {
  3. var t = {};
  4. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
  5. t[p] = s[p];
  6. if (s != null && typeof Object.getOwnPropertySymbols === "function")
  7. for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
  8. if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
  9. t[p[i]] = s[p[i]];
  10. }
  11. return t;
  12. };
  13. Object.defineProperty(exports, "__esModule", { value: true });
  14. exports.Slider = void 0;
  15. const gui_1 = require("@antv/gui");
  16. const d3_format_1 = require("d3-format");
  17. const coordinate_1 = require("../utils/coordinate");
  18. const scale_1 = require("../utils/scale");
  19. /**
  20. * Slider component.
  21. */
  22. const Slider = (options) => {
  23. // do not pass size.
  24. const { orientation, labelFormatter, size, style, position } = options, rest = __rest(options, ["orientation", "labelFormatter", "size", "style", "position"]);
  25. return ({ scales: [scale], value, theme, coordinate }) => {
  26. var _a;
  27. const { bbox } = value;
  28. const { x, y, width, height } = bbox;
  29. const { slider: sliderTheme = {} } = theme;
  30. const defaultFormatter = ((_a = scale.getFormatter) === null || _a === void 0 ? void 0 : _a.call(scale)) || ((v) => v.toString());
  31. const formatter = typeof labelFormatter === 'string'
  32. ? (0, d3_format_1.format)(labelFormatter)
  33. : labelFormatter;
  34. const isHorizontal = orientation === 'horizontal';
  35. const reverse = (0, coordinate_1.isTranspose)(coordinate) && isHorizontal;
  36. return new gui_1.Slider({
  37. className: 'slider',
  38. style: Object.assign({}, sliderTheme, Object.assign(Object.assign({ x,
  39. y, trackLength: isHorizontal ? width : height, orientation, formatter: (v) => {
  40. const f = formatter || defaultFormatter;
  41. const v1 = reverse ? 1 - v : v;
  42. const tick = (0, scale_1.invert)(scale, v1, true);
  43. return f(tick);
  44. } }, style), rest)),
  45. });
  46. };
  47. };
  48. exports.Slider = Slider;
  49. exports.Slider.props = {
  50. defaultPosition: 'bottom',
  51. defaultSize: 24,
  52. defaultOrder: 1,
  53. };
  54. //# sourceMappingURL=slider.js.map