import ComponentModel from '../../model/Component.js';
|
import Calendar from './Calendar.js';
|
import { ComponentOption, BoxLayoutOptionMixin, LayoutOrient, LineStyleOption, ItemStyleOption, LabelOption, OptionDataValueDate } from '../../util/types.js';
|
import GlobalModel from '../../model/Global.js';
|
import Model from '../../model/Model.js';
|
export interface CalendarMonthLabelFormatterCallbackParams {
|
nameMap: string;
|
yyyy: string;
|
yy: string;
|
/**
|
* Month string. With 0 prefix.
|
*/
|
MM: string;
|
/**
|
* Month number
|
*/
|
M: number;
|
}
|
export interface CalendarYearLabelFormatterCallbackParams {
|
nameMap: string;
|
/**
|
* Start year
|
*/
|
start: string;
|
/**
|
* End year
|
*/
|
end: string;
|
}
|
export interface CalendarOption extends ComponentOption, BoxLayoutOptionMixin {
|
mainType?: 'calendar';
|
cellSize?: number | 'auto' | (number | 'auto')[];
|
orient?: LayoutOrient;
|
splitLine?: {
|
show?: boolean;
|
lineStyle?: LineStyleOption;
|
};
|
itemStyle?: ItemStyleOption;
|
/**
|
* // one year
|
* range: 2017
|
* // one month
|
* range: '2017-02'
|
* // a range
|
* range: ['2017-01-02', '2017-02-23']
|
* // note: they will be identified as ['2017-01-01', '2017-02-01']
|
* range: ['2017-01', '2017-02']
|
*/
|
range?: OptionDataValueDate | (OptionDataValueDate)[];
|
dayLabel?: Omit<LabelOption, 'position'> & {
|
/**
|
* First day of week.
|
*/
|
firstDay?: number;
|
/**
|
* Margin between day label and axis line.
|
* Can be percent string of cell size.
|
*/
|
margin?: number | string;
|
/**
|
* Position of week, at the beginning or end of the range.
|
*/
|
position?: 'start' | 'end';
|
/**
|
* Week text content
|
*
|
* defaults to auto-detected locale by the browser or the specified locale by `echarts.init` function.
|
* It supports any registered locale name (case-sensitive) or customized array.
|
* index 0 always means Sunday.
|
*/
|
nameMap?: string | string[];
|
};
|
monthLabel?: Omit<LabelOption, 'position'> & {
|
/**
|
* Margin between month label and axis line.
|
*/
|
margin?: number;
|
/**
|
* Position of month label, at the beginning or end of the range.
|
*/
|
position?: 'start' | 'end';
|
/**
|
* Month text content
|
*
|
* defaults to auto-detected locale by the browser or the specified locale by `echarts.init` function.
|
* It supports any registered locale name (case-sensitive) or customized array.
|
* index 0 always means Jan.
|
*/
|
nameMap?: string | string[];
|
formatter?: string | ((params: CalendarMonthLabelFormatterCallbackParams) => string);
|
};
|
yearLabel?: Omit<LabelOption, 'position'> & {
|
/**
|
* Margin between year label and axis line.
|
*/
|
margin?: number;
|
/**
|
* Position of year label, at the beginning or end of the range.
|
*/
|
position?: 'top' | 'bottom' | 'left' | 'right';
|
formatter?: string | ((params: CalendarYearLabelFormatterCallbackParams) => string);
|
};
|
}
|
declare class CalendarModel extends ComponentModel<CalendarOption> {
|
static type: string;
|
type: string;
|
coordinateSystem: Calendar;
|
/**
|
* @override
|
*/
|
init(option: CalendarOption, parentModel: Model, ecModel: GlobalModel): void;
|
/**
|
* @override
|
*/
|
mergeOption(option: CalendarOption): void;
|
getCellSize(): (number | "auto")[];
|
static defaultOption: CalendarOption;
|
}
|
export default CalendarModel;
|