import { deepMix, each, get, isUndefined } from '@antv/util'; import { DIRECTION, COMPONENT_TYPE, LAYER } from '../../constant'; import { CircleAxis, CircleGrid, IGroup, LineAxis, LineGrid, Scale } from '../../dependents'; import { AxisCfg, AxisOption, ComponentOption } from '../../interface'; import { DEFAULT_ANIMATE_CFG } from '../../animate/'; import { getAxisDirection, getAxisFactorByRegion, getAxisRegion, getAxisThemeCfg, getAxisTitleOptions, getAxisTitleText, getCircleAxisCenterRadius, isVertical, } from '../../util/axis'; import { getAxisOption } from '../../util/axis'; import { getCircleGridItems, getGridThemeCfg, getLineGridItems, showGrid } from '../../util/grid'; import { omit } from '../../util/helper'; import View from '../view'; import { Controller } from './base'; type Option = Record | boolean; type Cache = Map; // update 组件的时候,忽略的数据更新 const OMIT_CFG = ['container']; // 坐标轴默认动画配置 const AXIS_DEFAULT_ANIMATE_CFG = { ...DEFAULT_ANIMATE_CFG, appear: null, }; /** * @ignore * G2 Axis controller, will: * - create component * - axis * - grid * - life circle */ export default class Axis extends Controller