adaptor.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { animation, annotation, pattern, theme, tooltip } from '../../adaptor/common';
  2. import { interval } from '../../adaptor/geometries';
  3. import { deepAssign, flow } from '../../utils';
  4. import { meta } from '../tiny-area/adaptor';
  5. import { X_FIELD, Y_FIELD } from '../tiny-line/constants';
  6. import { getTinyData } from '../tiny-line/utils';
  7. export { meta };
  8. /**
  9. * 字段
  10. * @param params
  11. */
  12. function geometry(params) {
  13. var chart = params.chart, options = params.options;
  14. var data = options.data, color = options.color, columnStyle = options.columnStyle, columnWidthRatio = options.columnWidthRatio;
  15. var seriesData = getTinyData(data);
  16. chart.data(seriesData);
  17. var p = deepAssign({}, params, {
  18. options: {
  19. xField: X_FIELD,
  20. yField: Y_FIELD,
  21. widthRatio: columnWidthRatio,
  22. interval: {
  23. style: columnStyle,
  24. color: color,
  25. },
  26. },
  27. });
  28. interval(p);
  29. chart.axis(false);
  30. chart.legend(false);
  31. chart.interaction('element-active');
  32. return params;
  33. }
  34. /**
  35. * 迷你柱形图适配器
  36. * @param chart
  37. * @param options
  38. */
  39. export function adaptor(params) {
  40. return flow(theme, pattern('columnStyle'), geometry, meta, tooltip, animation, annotation())(params);
  41. }
  42. //# sourceMappingURL=adaptor.js.map