interval.js 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.interval = void 0;
  4. var tslib_1 = require("tslib");
  5. var g2_1 = require("@antv/g2");
  6. var util_1 = require("@antv/util");
  7. var utils_1 = require("../../utils");
  8. var tooltip_1 = require("../../utils/tooltip");
  9. var base_1 = require("./base");
  10. /**
  11. * 柱形图其他的 adaptor
  12. * @param params
  13. */
  14. function otherAdaptor(params) {
  15. var chart = params.chart, options = params.options, ext = params.ext;
  16. var seriesField = options.seriesField, isGroup = options.isGroup, isStack = options.isStack, marginRatio = options.marginRatio, widthRatio = options.widthRatio, groupField = options.groupField, theme = options.theme;
  17. /**
  18. * adjust
  19. */
  20. var adjust = [];
  21. if (seriesField) {
  22. // group
  23. if (isGroup) {
  24. adjust.push({
  25. type: 'dodge',
  26. dodgeBy: groupField || seriesField,
  27. marginRatio: marginRatio,
  28. });
  29. }
  30. // stack
  31. if (isStack) {
  32. adjust.push({
  33. type: 'stack',
  34. marginRatio: marginRatio,
  35. });
  36. }
  37. }
  38. if (adjust.length && (ext === null || ext === void 0 ? void 0 : ext.geometry)) {
  39. var g = ext === null || ext === void 0 ? void 0 : ext.geometry;
  40. g.adjust(adjust);
  41. }
  42. // widthRatio
  43. if (!(0, util_1.isNil)(widthRatio)) {
  44. chart.theme((0, utils_1.deepAssign)({}, (0, util_1.isObject)(theme) ? theme : (0, g2_1.getTheme)(theme), {
  45. // columWidthRatio 配置覆盖 theme 中的配置
  46. columnWidthRatio: widthRatio,
  47. }));
  48. }
  49. return params;
  50. }
  51. function interval(params) {
  52. var options = params.options;
  53. var xField = options.xField, yField = options.yField, interval = options.interval, seriesField = options.seriesField, tooltip = options.tooltip, minColumnWidth = options.minColumnWidth, maxColumnWidth = options.maxColumnWidth, columnBackground = options.columnBackground, dodgePadding = options.dodgePadding, intervalPadding = options.intervalPadding, useDeferredLabel = options.useDeferredLabel;
  54. var _a = (0, tooltip_1.getTooltipMapping)(tooltip, [xField, yField, seriesField]), fields = _a.fields, formatter = _a.formatter;
  55. // 保障一定要存在 interval 映射
  56. var ext = (interval
  57. ? (0, base_1.geometry)((0, utils_1.deepAssign)({}, params, {
  58. options: {
  59. type: 'interval',
  60. colorField: seriesField,
  61. tooltipFields: fields,
  62. mapping: tslib_1.__assign({ tooltip: formatter }, interval),
  63. args: {
  64. dodgePadding: dodgePadding,
  65. intervalPadding: intervalPadding,
  66. minColumnWidth: minColumnWidth,
  67. maxColumnWidth: maxColumnWidth,
  68. background: columnBackground,
  69. useDeferredLabel: useDeferredLabel,
  70. },
  71. },
  72. }))
  73. : params).ext;
  74. return otherAdaptor(tslib_1.__assign(tslib_1.__assign({}, params), { ext: ext }));
  75. }
  76. exports.interval = interval;
  77. //# sourceMappingURL=interval.js.map