UNPKG

@alicloud/cloud-charts

Version:

![](https://img.shields.io/npm/v/@alicloud/cloud-charts?color=%23ff8200)

32 lines (29 loc) 1.11 kB
import _extends from "@babel/runtime/helpers/extends"; import rules from './index'; /** 根据配置项与数据判断图表类型 */ export function classifyChart(chartName, data, config) { var parentRule = rules[chartName]; if (!parentRule) { return null; } // 若无分类函数,则直接使用父类规则 if (!(parentRule !== null && parentRule !== void 0 && parentRule.classify)) { return parentRule; } // 根据父类的classify判断该图属于哪个子类(或基础父类) var category = parentRule === null || parentRule === void 0 ? void 0 : parentRule.classify(data, config); if (!category) { // 没有对应规则 return null; } else if (category === parentRule.id) { // 基础类,直接用父类规则 return parentRule; } else { // 非基础类,需要找到对应子类 var _parentRule$children = parentRule.children, children = _parentRule$children === void 0 ? {} : _parentRule$children; var childRule = children[category]; // 合并父类与子类的规则 return _extends({}, parentRule, childRule); } }