UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

58 lines (57 loc) 2.39 kB
import { __extends } from "../../../tslib/tslib.es6.mjs"; import axisDefault from "./axisDefault.mjs"; import { fetchLayoutMode, getLayoutParams, mergeLayoutParam } from "../util/layout.mjs"; import OrdinalMeta from "../data/OrdinalMeta.mjs"; import { AXIS_TYPES } from "./axisCommonTypes.mjs"; import { each, merge } from "../../../zrender/lib/core/util.mjs"; function axisModelCreator(registers, axisName, BaseAxisModelClass, extraDefaultOption) { each(AXIS_TYPES, function(v, axisType) { var defaultOption = merge(merge({}, axisDefault[axisType], true), extraDefaultOption, true); var AxisModel = function(_super) { __extends(AxisModel2, _super); function AxisModel2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = axisName + "Axis." + axisType; return _this; } AxisModel2.prototype.mergeDefaultAndTheme = function(option, ecModel) { var layoutMode = fetchLayoutMode(this); var inputPositionParams = layoutMode ? getLayoutParams(option) : {}; var themeModel = ecModel.getTheme(); merge(option, themeModel.get(axisType + "Axis")); merge(option, this.getDefaultOption()); option.type = getAxisType(option); if (layoutMode) { mergeLayoutParam(option, inputPositionParams, layoutMode); } }; AxisModel2.prototype.optionUpdated = function() { var thisOption = this.option; if (thisOption.type === "category") { this.__ordinalMeta = OrdinalMeta.createByAxisModel(this); } }; AxisModel2.prototype.getCategories = function(rawData) { var option = this.option; if (option.type === "category") { if (rawData) { return option.data; } return this.__ordinalMeta.categories; } }; AxisModel2.prototype.getOrdinalMeta = function() { return this.__ordinalMeta; }; AxisModel2.type = axisName + "Axis." + axisType; AxisModel2.defaultOption = defaultOption; return AxisModel2; }(BaseAxisModelClass); registers.registerComponentModel(AxisModel); }); registers.registerSubTypeDefaulter(axisName + "Axis", getAxisType); } function getAxisType(option) { return option.type || (option.data ? "category" : "value"); } export { axisModelCreator as default };