facet.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { deepAssign, flow } from '../../../utils';
  2. import { basicFunnel } from './basic';
  3. /**
  4. * 处理字段数据
  5. * @param params
  6. */
  7. function field(params) {
  8. var _a;
  9. var chart = params.chart, options = params.options;
  10. var _b = options.data, data = _b === void 0 ? [] : _b, yField = options.yField;
  11. // 绘制漏斗图
  12. chart.data(data);
  13. chart.scale((_a = {},
  14. _a[yField] = {
  15. sync: true,
  16. },
  17. _a));
  18. return params;
  19. }
  20. /**
  21. * geometry处理
  22. * @param params
  23. */
  24. function geometry(params) {
  25. var chart = params.chart, options = params.options;
  26. var seriesField = options.seriesField, isTransposed = options.isTransposed, showFacetTitle = options.showFacetTitle;
  27. chart.facet('rect', {
  28. fields: [seriesField],
  29. padding: [isTransposed ? 0 : 32, 10, 0, 10],
  30. showTitle: showFacetTitle,
  31. eachView: function (view, facet) {
  32. basicFunnel(deepAssign({}, params, {
  33. chart: view,
  34. options: {
  35. data: facet.data,
  36. },
  37. }));
  38. },
  39. });
  40. return params;
  41. }
  42. /**
  43. * 分面漏斗
  44. * @param chart
  45. * @param options
  46. */
  47. export function facetFunnel(params) {
  48. return flow(field, geometry)(params);
  49. }
  50. //# sourceMappingURL=facet.js.map