cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
58 lines (57 loc) • 2.39 kB
JavaScript
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 };