geometry.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { __assign } from "tslib";
  2. import { each } from '@antv/util';
  3. import { line, point } from '../../../adaptor/geometries';
  4. import { deepAssign, pick } from '../../../utils';
  5. import { adaptor as columnAdaptor } from '../../column/adaptor';
  6. import { isColumn, isLine } from './option';
  7. /**
  8. * 绘制单个图形
  9. * @param params
  10. */
  11. export function drawSingleGeometry(params) {
  12. var options = params.options, chart = params.chart;
  13. var geometryOption = options.geometryOption;
  14. var isStack = geometryOption.isStack, color = geometryOption.color, seriesField = geometryOption.seriesField, groupField = geometryOption.groupField, isGroup = geometryOption.isGroup;
  15. var FIELD_KEY = ['xField', 'yField'];
  16. if (isLine(geometryOption)) {
  17. // 绘制线
  18. line(deepAssign({}, params, {
  19. options: __assign(__assign(__assign({}, pick(options, FIELD_KEY)), geometryOption), { line: {
  20. color: geometryOption.color,
  21. style: geometryOption.lineStyle,
  22. } }),
  23. }));
  24. // 绘制点
  25. point(deepAssign({}, params, {
  26. options: __assign(__assign(__assign({}, pick(options, FIELD_KEY)), geometryOption), { point: geometryOption.point && __assign({ color: color, shape: 'circle' }, geometryOption.point) }),
  27. }));
  28. // adjust
  29. var adjust_1 = [];
  30. if (isGroup) {
  31. adjust_1.push({
  32. type: 'dodge',
  33. dodgeBy: groupField || seriesField,
  34. customOffset: 0,
  35. });
  36. }
  37. if (isStack) {
  38. adjust_1.push({
  39. type: 'stack',
  40. });
  41. }
  42. if (adjust_1.length) {
  43. each(chart.geometries, function (g) {
  44. g.adjust(adjust_1);
  45. });
  46. }
  47. }
  48. if (isColumn(geometryOption)) {
  49. columnAdaptor(deepAssign({}, params, {
  50. options: __assign(__assign(__assign({}, pick(options, FIELD_KEY)), geometryOption), { widthRatio: geometryOption.columnWidthRatio, interval: __assign(__assign({}, pick(geometryOption, ['color'])), { style: geometryOption.columnStyle }) }),
  51. }));
  52. }
  53. return params;
  54. }
  55. //# sourceMappingURL=geometry.js.map