utils.js 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import { get } from '@antv/util';
  2. import { deepAssign } from '../../utils';
  3. import { Area } from '../area';
  4. import { adaptor as areaAdaptor } from '../area/adaptor';
  5. import { Bar } from '../bar';
  6. import { adaptor as barAdaptor } from '../bar/adaptor';
  7. import { Column } from '../column';
  8. import { adaptor as columnAdaptor } from '../column/adaptor';
  9. import { Funnel } from '../funnel';
  10. import { adaptor as funnelAdaptor } from '../funnel/adaptor';
  11. import { Gauge } from '../gauge';
  12. import { adaptor as gaugeAdaptor } from '../gauge/adaptor';
  13. import { Histogram } from '../histogram';
  14. import { adaptor as histogramAdaptor } from '../histogram/adaptor';
  15. import { Line } from '../line';
  16. import { adaptor as lineAdaptor } from '../line/adaptor';
  17. import { Pie } from '../pie';
  18. import { adaptor as pieAdaptor } from '../pie/adaptor';
  19. import { Progress } from '../progress';
  20. import { adaptor as progressAdaptor } from '../progress/adaptor';
  21. import { RingProgress } from '../ring-progress';
  22. import { adaptor as ringProgressAdaptor } from '../ring-progress/adaptor';
  23. import { Scatter } from '../scatter';
  24. import { adaptor as scatterAdaptor } from '../scatter/adaptor';
  25. import { Stock } from '../stock';
  26. import { adaptor as stockAdaptor } from '../stock/adaptor';
  27. import { TinyArea } from '../tiny-area';
  28. import { adaptor as tinyAreaAdaptor } from '../tiny-area/adaptor';
  29. import { TinyColumn } from '../tiny-column';
  30. import { adaptor as tinyColumnAdaptor } from '../tiny-column/adaptor';
  31. import { TinyLine } from '../tiny-line';
  32. import { adaptor as tinyLineAdaptor } from '../tiny-line/adaptor';
  33. /**
  34. * 可在 multi-view 中使用的 plots
  35. */
  36. var PLOT_ADAPTORS = {
  37. line: lineAdaptor,
  38. pie: pieAdaptor,
  39. column: columnAdaptor,
  40. bar: barAdaptor,
  41. area: areaAdaptor,
  42. gauge: gaugeAdaptor,
  43. 'tiny-line': tinyLineAdaptor,
  44. 'tiny-column': tinyColumnAdaptor,
  45. 'tiny-area': tinyAreaAdaptor,
  46. 'ring-progress': ringProgressAdaptor,
  47. progress: progressAdaptor,
  48. scatter: scatterAdaptor,
  49. histogram: histogramAdaptor,
  50. funnel: funnelAdaptor,
  51. stock: stockAdaptor,
  52. };
  53. /**
  54. * 获取指定 plot 的 class contructor
  55. * @param {string} plot
  56. */
  57. var PLOT_CONSTRUCTOR = {
  58. line: Line,
  59. pie: Pie,
  60. column: Column,
  61. bar: Bar,
  62. area: Area,
  63. gauge: Gauge,
  64. 'tiny-line': TinyLine,
  65. 'tiny-column': TinyColumn,
  66. 'tiny-area': TinyArea,
  67. 'ring-progress': RingProgress,
  68. progress: Progress,
  69. scatter: Scatter,
  70. histogram: Histogram,
  71. funnel: Funnel,
  72. stock: Stock,
  73. };
  74. /**
  75. * 在 mix 图表以及 facet 图表中,defaultOptions 进行复写简化
  76. */
  77. var DEFAULT_OPTIONS_MAP = {
  78. pie: { label: false },
  79. column: { tooltip: { showMarkers: false } },
  80. bar: { tooltip: { showMarkers: false } },
  81. };
  82. /**
  83. * 执行 plot 的 adaptor, 默认都带上 defaultOptions
  84. * @param {string} plot
  85. */
  86. export function execPlotAdaptor(plot, view, options) {
  87. var cls = PLOT_CONSTRUCTOR[plot];
  88. if (!cls) {
  89. console.error("could not find ".concat(plot, " plot"));
  90. return;
  91. }
  92. var module = PLOT_ADAPTORS[plot];
  93. module({
  94. chart: view,
  95. options: deepAssign({}, cls.getDefaultOptions(), get(DEFAULT_OPTIONS_MAP, plot, {}), options),
  96. });
  97. }
  98. //# sourceMappingURL=utils.js.map