@syncfusion/ej2-charts
Version:
Feature-rich chart control with built-in support for over 25 chart types, technical indictors, trendline, zooming, tooltip, selection, crosshair and trackball.
129 lines (128 loc) • 3.37 kB
TypeScript
import { Toolbar } from '@syncfusion/ej2-navigations';
import { DateRangePicker } from '@syncfusion/ej2-calendars';
import { Rect } from '@syncfusion/ej2-svg-base';
import { RangeIntervalType } from '../utils/enum';
import { RangeNavigator } from '../../range-navigator/index';
import { PeriodsModel } from '../../common/model/base-model';
import { IPeriodSelectorControl } from '../../common/model/interface';
import { StockChart } from '../../stock-chart/stock-chart';
/** @private */
export interface ISelectorRenderArgs {
/** Defines the thumb size of the slider. */
thumbSize: number;
/** Defines the selector appending element. */
element: HTMLElement;
/** Defines the selector width. */
width: number;
/** Defines the selector height. */
height: number;
}
/**
* Configures the period selector class.
*
* @private
*/
export declare class PeriodSelector {
periodSelectorSize: Rect;
periodSelectorDiv: Element;
control: IPeriodSelectorControl;
toolbar: Toolbar;
datePicker: DateRangePicker;
triggerChange: boolean;
private nodes;
calendarId: string;
selectedIndex: number;
selectedPeriod: PeriodsModel;
datePickerTriggered: boolean;
rootControl: StockChart | RangeNavigator;
isDatetimeCategory: boolean;
sortedData: number[];
private startValue;
private endValue;
constructor(control: RangeNavigator | StockChart);
/**
* To set the control values
*
* @param control
* @returns {void}
*/
setControlValues(control: RangeNavigator | StockChart): void;
/**
* To initialize the period selector properties.
*
* @param options
* @param x
* @param options
* @param x
*/
appendSelector(options: ISelectorRenderArgs, x?: number): void;
/**
* renderSelector div.
*
* @param control
* @param options
* @param x
* @param options
* @param x
*/
renderSelectorElement(control?: RangeNavigator, options?: ISelectorRenderArgs, x?: number): void;
/**
* Renders the selector elements.
*
* @returns {void}
*/
renderSelector(): void;
/**
* To find start and end value
*
* @param startValue
* @param endValue
*/
private findPeriodValue;
findSelectedIndex(startDate: number, endDate: number, buttons: PeriodsModel[]): number;
private updateCustomElement;
/**
* To set and remove the period style.
*
* @param buttons
* @param selectedIndex
* @returns {void}
*/
setSelectedStyle(selectedIndex: number): void;
/**
* Button click handling.
*
* @param args
* @param control
* @param args
* @param control
*/
private buttonClick;
/**
* To find the start value.
*
* @param startValue
* @param endValue
*/
findStartValue(startValue: number, endValue: number): number;
/**
*
* @param type updatedRange for selector
* @param end
* @param interval
*/
changedRange(type: RangeIntervalType, end: number, interval: number): Date;
/**
* Get module name
*
* @returns {string}
*/
protected getModuleName(): string;
/**
* To destroy the period selector.
*
* @returns {void}
* @private
*/
destroy(): void;
}