| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- import { animation, annotation, interaction, slider, theme } from '../../adaptor/common';
- import { schema } from '../../adaptor/geometries';
- import { AXIS_META_CONFIG_KEYS } from '../../constant';
- import { deepAssign, flow, pick } from '../../utils';
- import { TREND_DOWN, TREND_FIELD, TREND_UP, Y_FIELD } from './constant';
- import { getStockData } from './utils';
- /**
- * 图表配置处理
- * @param params
- */
- function geometry(params) {
- var chart = params.chart, options = params.options;
- var yField = options.yField;
- var data = options.data, risingFill = options.risingFill, fallingFill = options.fallingFill, tooltip = options.tooltip, stockStyle = options.stockStyle;
- chart.data(getStockData(data, yField));
- var tooltipOptions = tooltip;
- if (tooltipOptions !== false) {
- tooltipOptions = deepAssign({}, { fields: yField }, tooltipOptions);
- }
- schema(deepAssign({}, params, {
- options: {
- schema: {
- shape: 'candle',
- color: [risingFill, fallingFill],
- style: stockStyle,
- },
- yField: Y_FIELD,
- seriesField: TREND_FIELD,
- rawFields: yField,
- tooltip: tooltipOptions,
- },
- }));
- return params;
- }
- /**
- * meta 配置
- * @param params
- */
- export function meta(params) {
- var _a, _b;
- var chart = params.chart, options = params.options;
- var meta = options.meta, xAxis = options.xAxis, yAxis = options.yAxis, xField = options.xField;
- var baseMeta = (_a = {},
- _a[xField] = {
- type: 'timeCat',
- tickCount: 6,
- },
- _a[TREND_FIELD] = {
- values: [TREND_UP, TREND_DOWN],
- },
- _a);
- var scales = deepAssign(baseMeta, meta, (_b = {},
- _b[xField] = pick(xAxis, AXIS_META_CONFIG_KEYS),
- _b[Y_FIELD] = pick(yAxis, AXIS_META_CONFIG_KEYS),
- _b));
- chart.scale(scales);
- return params;
- }
- /**
- * axis 配置
- * @param params
- */
- export function axis(params) {
- var chart = params.chart, options = params.options;
- var xAxis = options.xAxis, yAxis = options.yAxis, xField = options.xField;
- // 为 false 则是不显示轴
- if (xAxis === false) {
- chart.axis(xField, false);
- }
- else {
- chart.axis(xField, xAxis);
- }
- if (yAxis === false) {
- chart.axis(Y_FIELD, false);
- }
- else {
- chart.axis(Y_FIELD, yAxis);
- }
- return params;
- }
- /**
- * tooltip 配置
- * @param params
- */
- export function tooltip(params) {
- var chart = params.chart, options = params.options;
- var tooltip = options.tooltip;
- if (tooltip !== false) {
- chart.tooltip(tooltip);
- }
- else {
- chart.tooltip(false);
- }
- return params;
- }
- /**
- * legend 配置
- * @param params
- */
- export function legend(params) {
- var chart = params.chart, options = params.options;
- var legend = options.legend;
- if (legend) {
- chart.legend(TREND_FIELD, legend);
- }
- else if (legend === false) {
- chart.legend(false);
- }
- return params;
- }
- /**
- * K线图适配器
- * @param chart
- * @param options
- */
- export function adaptor(params) {
- // flow 的方式处理所有的配置到 G2 API
- flow(theme, geometry, meta, axis, tooltip, legend, interaction, animation, annotation(), slider)(params);
- }
- //# sourceMappingURL=adaptor.js.map
|