/*
|
* Licensed to the Apache Software Foundation (ASF) under one
|
* or more contributor license agreements. See the NOTICE file
|
* distributed with this work for additional information
|
* regarding copyright ownership. The ASF licenses this file
|
* to you under the Apache License, Version 2.0 (the
|
* "License"); you may not use this file except in compliance
|
* with the License. You may obtain a copy of the License at
|
*
|
* http://www.apache.org/licenses/LICENSE-2.0
|
*
|
* Unless required by applicable law or agreed to in writing,
|
* software distributed under the License is distributed on an
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* KIND, either express or implied. See the License for the
|
* specific language governing permissions and limitations
|
* under the License.
|
*/
|
|
import * as zrUtil from 'zrender/src/core/util';
|
import ComponentModel from '../../model/Component';
|
import { AxisModelExtendedInCreator } from '../axisModelCreator';
|
import {AxisModelCommonMixin} from '../axisModelCommonMixin';
|
import Axis2D from './Axis2D';
|
import { AxisBaseOption } from '../axisCommonTypes';
|
import GridModel from './GridModel';
|
import { AxisBaseModel } from '../AxisBaseModel';
|
import {OrdinalSortInfo} from '../../util/types';
|
import { SINGLE_REFERRING } from '../../util/model';
|
|
|
export type CartesianAxisPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
export interface CartesianAxisOption extends AxisBaseOption {
|
gridIndex?: number;
|
gridId?: string;
|
position?: CartesianAxisPosition;
|
// Offset is for multiple axis on the same position.
|
offset?: number;
|
categorySortInfo?: OrdinalSortInfo;
|
}
|
|
export interface XAXisOption extends CartesianAxisOption {
|
mainType?: 'xAxis'
|
}
|
export interface YAXisOption extends CartesianAxisOption {
|
mainType?: 'yAxis'
|
}
|
|
export class CartesianAxisModel extends ComponentModel<CartesianAxisOption>
|
implements AxisBaseModel<CartesianAxisOption> {
|
|
static type = 'cartesian2dAxis';
|
|
axis: Axis2D;
|
|
getCoordSysModel(): GridModel {
|
return this.getReferringComponents('grid', SINGLE_REFERRING).models[0] as GridModel;
|
}
|
}
|
|
export interface CartesianAxisModel extends AxisModelCommonMixin<CartesianAxisOption>,
|
AxisModelExtendedInCreator<CartesianAxisOption> {}
|
|
zrUtil.mixin(CartesianAxisModel, AxisModelCommonMixin);
|
|
export default CartesianAxisModel;
|