adaptor.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.adaptor = exports.legend = exports.tooltip = exports.axis = exports.meta = void 0;
  4. var common_1 = require("../../adaptor/common");
  5. var geometries_1 = require("../../adaptor/geometries");
  6. var constant_1 = require("../../constant");
  7. var utils_1 = require("../../utils");
  8. var constant_2 = require("./constant");
  9. var utils_2 = require("./utils");
  10. /**
  11. * 图表配置处理
  12. * @param params
  13. */
  14. function geometry(params) {
  15. var chart = params.chart, options = params.options;
  16. var yField = options.yField;
  17. var data = options.data, risingFill = options.risingFill, fallingFill = options.fallingFill, tooltip = options.tooltip, stockStyle = options.stockStyle;
  18. chart.data((0, utils_2.getStockData)(data, yField));
  19. var tooltipOptions = tooltip;
  20. if (tooltipOptions !== false) {
  21. tooltipOptions = (0, utils_1.deepAssign)({}, { fields: yField }, tooltipOptions);
  22. }
  23. (0, geometries_1.schema)((0, utils_1.deepAssign)({}, params, {
  24. options: {
  25. schema: {
  26. shape: 'candle',
  27. color: [risingFill, fallingFill],
  28. style: stockStyle,
  29. },
  30. yField: constant_2.Y_FIELD,
  31. seriesField: constant_2.TREND_FIELD,
  32. rawFields: yField,
  33. tooltip: tooltipOptions,
  34. },
  35. }));
  36. return params;
  37. }
  38. /**
  39. * meta 配置
  40. * @param params
  41. */
  42. function meta(params) {
  43. var _a, _b;
  44. var chart = params.chart, options = params.options;
  45. var meta = options.meta, xAxis = options.xAxis, yAxis = options.yAxis, xField = options.xField;
  46. var baseMeta = (_a = {},
  47. _a[xField] = {
  48. type: 'timeCat',
  49. tickCount: 6,
  50. },
  51. _a[constant_2.TREND_FIELD] = {
  52. values: [constant_2.TREND_UP, constant_2.TREND_DOWN],
  53. },
  54. _a);
  55. var scales = (0, utils_1.deepAssign)(baseMeta, meta, (_b = {},
  56. _b[xField] = (0, utils_1.pick)(xAxis, constant_1.AXIS_META_CONFIG_KEYS),
  57. _b[constant_2.Y_FIELD] = (0, utils_1.pick)(yAxis, constant_1.AXIS_META_CONFIG_KEYS),
  58. _b));
  59. chart.scale(scales);
  60. return params;
  61. }
  62. exports.meta = meta;
  63. /**
  64. * axis 配置
  65. * @param params
  66. */
  67. function axis(params) {
  68. var chart = params.chart, options = params.options;
  69. var xAxis = options.xAxis, yAxis = options.yAxis, xField = options.xField;
  70. // 为 false 则是不显示轴
  71. if (xAxis === false) {
  72. chart.axis(xField, false);
  73. }
  74. else {
  75. chart.axis(xField, xAxis);
  76. }
  77. if (yAxis === false) {
  78. chart.axis(constant_2.Y_FIELD, false);
  79. }
  80. else {
  81. chart.axis(constant_2.Y_FIELD, yAxis);
  82. }
  83. return params;
  84. }
  85. exports.axis = axis;
  86. /**
  87. * tooltip 配置
  88. * @param params
  89. */
  90. function tooltip(params) {
  91. var chart = params.chart, options = params.options;
  92. var tooltip = options.tooltip;
  93. if (tooltip !== false) {
  94. chart.tooltip(tooltip);
  95. }
  96. else {
  97. chart.tooltip(false);
  98. }
  99. return params;
  100. }
  101. exports.tooltip = tooltip;
  102. /**
  103. * legend 配置
  104. * @param params
  105. */
  106. function legend(params) {
  107. var chart = params.chart, options = params.options;
  108. var legend = options.legend;
  109. if (legend) {
  110. chart.legend(constant_2.TREND_FIELD, legend);
  111. }
  112. else if (legend === false) {
  113. chart.legend(false);
  114. }
  115. return params;
  116. }
  117. exports.legend = legend;
  118. /**
  119. * K线图适配器
  120. * @param chart
  121. * @param options
  122. */
  123. function adaptor(params) {
  124. // flow 的方式处理所有的配置到 G2 API
  125. (0, utils_1.flow)(common_1.theme, geometry, meta, axis, tooltip, legend, common_1.interaction, common_1.animation, (0, common_1.annotation)(), common_1.slider)(params);
  126. }
  127. exports.adaptor = adaptor;
  128. //# sourceMappingURL=adaptor.js.map