123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- var zrUtil = require("zrender/lib/core/util");
- var axisDefault = require("./axisDefault");
- var ComponentModel = require("../model/Component");
- var _layout = require("../util/layout");
- var getLayoutParams = _layout.getLayoutParams;
- var mergeLayoutParam = _layout.mergeLayoutParam;
- var OrdinalMeta = require("../data/OrdinalMeta");
- var AXIS_TYPES = ['value', 'category', 'time', 'log'];
- function _default(axisName, BaseAxisModelClass, axisTypeDefaulter, extraDefaultOption) {
- zrUtil.each(AXIS_TYPES, function (axisType) {
- BaseAxisModelClass.extend({
-
- type: axisName + 'Axis.' + axisType,
- mergeDefaultAndTheme: function (option, ecModel) {
- var layoutMode = this.layoutMode;
- var inputPositionParams = layoutMode ? getLayoutParams(option) : {};
- var themeModel = ecModel.getTheme();
- zrUtil.merge(option, themeModel.get(axisType + 'Axis'));
- zrUtil.merge(option, this.getDefaultOption());
- option.type = axisTypeDefaulter(axisName, option);
- if (layoutMode) {
- mergeLayoutParam(option, inputPositionParams, layoutMode);
- }
- },
-
- optionUpdated: function () {
- var thisOption = this.option;
- if (thisOption.type === 'category') {
- this.__ordinalMeta = OrdinalMeta.createByAxisModel(this);
- }
- },
-
- getCategories: function (rawData) {
- var option = this.option;
-
- if (option.type === 'category') {
- if (rawData) {
- return option.data;
- }
- return this.__ordinalMeta.categories;
- }
- },
- getOrdinalMeta: function () {
- return this.__ordinalMeta;
- },
- defaultOption: zrUtil.mergeAll([{}, axisDefault[axisType + 'Axis'], extraDefaultOption], true)
- });
- });
- ComponentModel.registerSubTypeDefaulter(axisName + 'Axis', zrUtil.curry(axisTypeDefaulter, axisName));
- }
- module.exports = _default;
|