adaptor.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { __spreadArray } from "tslib";
  2. import { get, isFunction } from '@antv/util';
  3. import { animation, interaction, scale, state, theme, tooltip } from '../../adaptor/common';
  4. import { point } from '../../adaptor/geometries';
  5. import { deepAssign, flow } from '../../utils';
  6. import { WORD_CLOUD_COLOR_FIELD } from './constant';
  7. import { transform } from './utils';
  8. /**
  9. * geometry 配置处理
  10. * @param params
  11. */
  12. function geometry(params) {
  13. var chart = params.chart, options = params.options;
  14. var colorField = options.colorField, color = options.color;
  15. var data = transform(params);
  16. chart.data(data);
  17. var p = deepAssign({}, params, {
  18. options: {
  19. xField: 'x',
  20. yField: 'y',
  21. seriesField: colorField && WORD_CLOUD_COLOR_FIELD,
  22. rawFields: isFunction(color) && __spreadArray(__spreadArray([], get(options, 'rawFields', []), true), ['datum'], false),
  23. point: {
  24. color: color,
  25. shape: 'word-cloud',
  26. },
  27. },
  28. });
  29. var ext = point(p).ext;
  30. ext.geometry.label(false);
  31. chart.coordinate().reflect('y');
  32. chart.axis(false);
  33. return params;
  34. }
  35. /**
  36. * meta 配置
  37. * @param params
  38. */
  39. function meta(params) {
  40. return flow(scale({
  41. x: { nice: false },
  42. y: { nice: false },
  43. }))(params);
  44. }
  45. /**
  46. * 词云图 legend 配置
  47. * @param params
  48. */
  49. export function legend(params) {
  50. var chart = params.chart, options = params.options;
  51. var legend = options.legend, colorField = options.colorField;
  52. if (legend === false) {
  53. chart.legend(false);
  54. }
  55. else if (colorField) {
  56. chart.legend(WORD_CLOUD_COLOR_FIELD, legend);
  57. }
  58. return params;
  59. }
  60. /**
  61. * 词云图适配器
  62. * @param chart
  63. * @param options
  64. */
  65. export function adaptor(params) {
  66. // flow 的方式处理所有的配置到 G2 API
  67. flow(geometry, meta, tooltip, legend, interaction, animation, theme, state)(params);
  68. }
  69. //# sourceMappingURL=adaptor.js.map