@amcharts/amcharts5
Version:
amCharts 5
87 lines • 2.83 kB
TypeScript
import type { TimeUnit } from "../../../core/util/Time";
import type { DateAxis } from "../../xy/axes/DateAxis";
import type { AxisRenderer } from "../../xy/axes/AxisRenderer";
import { StockControl, IStockControlSettings, IStockControlPrivate, IStockControlEvents } from "./StockControl";
import { IDisposer } from "../../../core/util/Disposer";
export interface IPeriod {
timeUnit: TimeUnit | "ytd" | "max" | "custom";
count?: number;
name?: string;
start?: Date;
end?: Date;
}
export interface IPeriodSelectorSettings extends IStockControlSettings {
/**
* A list periods to choose from.
*/
periods?: IPeriod[];
/**
* Hide periods that are longer than the actual data.
*
* @default false
* @since 5.3.9
*/
hideLongPeriods?: boolean;
/**
* Indicates whether to select periods from the start or end of the axis
* scale.
*
* @default "end"
* @since 5.5.0
* @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/#Zoom_anchor_point} for more info
*/
zoomTo?: "end" | "start";
}
export interface IPeriodSelectorPrivate extends IStockControlPrivate {
/**
* @ignore
*/
axis?: DateAxis<AxisRenderer>;
/**
* @ignore
*/
deferReset?: boolean;
/**
* @ignore
*/
deferTimeout?: IDisposer;
}
export interface IPeriodSelectorEvents extends IStockControlEvents {
/**
* Invoked when user selects certain period via control.
*
* @since 5.8.5
*/
periodselected: {
period: IPeriod;
};
}
/**
* A pre-defined period selector control for [[StockToolback]].
*
* @see {@link https://www.amcharts.com/docs/v5/charts/stock/toolbar/period-selector/} for more info
*/
export declare class PeriodSelector extends StockControl {
static className: string;
static classNames: Array<string>;
_settings: IPeriodSelectorSettings;
_privateSettings: IPeriodSelectorPrivate;
_events: IPeriodSelectorEvents;
protected _groupChangedDp: IDisposer | undefined;
protected _groupChangedTo: IDisposer | undefined;
protected _afterNew(): void;
protected _initPeriodButtons(): void;
protected _resetActiveButtons(): void;
protected _setPeriodButtonStatus(): void;
_afterChanged(): void;
protected _getChart(): any;
protected _getAxis(): any;
protected _getMaxOrMax(which: "min" | "max"): Date;
protected _getMax(): Date;
protected _getMin(): Date;
selectPeriod(period: IPeriod): void;
protected _highlightPeriod(period: IPeriod): void;
protected _maybeMakeAccessible(): void;
protected _getPeriodButtons(): NodeList;
}
//# sourceMappingURL=PeriodSelector.d.ts.map