@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.
257 lines (256 loc) • 9.57 kB
TypeScript
import { Rect, SvgRenderer, CanvasRenderer } from '@syncfusion/ej2-svg-base';
import { AccumulationSelectionMode, AccumulationHighlightMode } from '../model/enum';
import { AccumulationChart } from '../accumulation';
import { AccumulationSeries } from '../model/acc-base';
import { Indexes } from '../../common/model/base';
import { BaseSelection } from '../../common/user-interaction/selection';
/**
* The `AccumulationSelection` module handles selection for the accumulation chart.
*
* @private
*/
export declare class AccumulationSelection extends BaseSelection {
/** @private */
renderer: SvgRenderer | CanvasRenderer;
/** @private */
rectPoints: Rect;
/** @private */
selectedDataIndexes: Indexes[];
/** @private */
highlightDataIndexes: Indexes[];
/** @private */
series: AccumulationSeries[];
/** @private */
accumulation: AccumulationChart;
/** @private */
currentMode: AccumulationSelectionMode | AccumulationHighlightMode;
/** @private */
previousSelectedElement: Element[];
constructor(accumulation: AccumulationChart);
/**
* Binding events for selection module.
*
* @returns {void}
*/
private addEventListener;
/**
* UnBinding events for selection module.
*
* @returns {void}
*/
private removeEventListener;
/**
* To initialize the private variables.
*
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @returns {void}
*/
private initPrivateVariables;
/**
* Invoke selection for rendered chart.
*
* @param {AccumulationChart} accumulation - Define the chart to invoke the selection.
* @returns {void}
* @private
*/
invokeSelection(accumulation: AccumulationChart): void;
/**
* To get series selection style by series.
*
* @param {AccumulationSeriesModel} series - The series for which to get the selection style.
* @param {number} point - The index of the point within the series.
* @returns {string} - The selection style for the specified series.
*/
private generateStyle;
/**
* To get elements by index, series.
*
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @param {AccumulationSeriesModel} series - The series for which to get the elements.
* @param {Index} index - The index of the element within the series.
* @returns {Element[]} - The elements corresponding to the specified index and series.
*/
private findElements;
/**
* To get series point element by index.
*
* @param {Index} index - The index of the element within the series.
* @returns {Element} - The elements corresponding to the specified index.
*/
private getElementByIndex;
/**
* To find the selected element.
*
* @param {Element} targetElement - The target element to check for selection.
* @param {string} eventType - The type of event that triggered the selection.
* @returns {boolean} - Indicates whether the element is selected.
* @private
*/
isAlreadySelected(targetElement: Element, eventType: string): boolean;
/**
* To calculate selected elements on mouse click or touch.
*
* @private
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @param {Event} event - The event object representing the mouse click or touch event.
* @returns {void}
*/
mouseClick(accumulation: AccumulationChart, event: Event): void;
/**
* To calculate selected elements on mouse click or touch.
*
* @private
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @param {Element} targetEle - The target element that triggered the event.
* @param {string} eventType - The type of event that triggered the selection.
* @returns {void}
*/
calculateSelectedElements(accumulation: AccumulationChart, targetEle: Element, eventType: string): void;
/**
* To perform the selection process based on index and element.
*
* @param {Index} index - The index of the data to select.
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @param {Element} element - The element representing the selected data.
* @returns {void}
*/
private performSelection;
/**
* Method to get the selected data index.
*
* @private
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @param {AccumulationSeries} series - The series to retrieve the selected data from index.
* @returns {void}
*/
private selectionComplete;
/**
* To select the element by index. Adding or removing selection style class name.
*
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @param {Index} index - The index of the element to select or deselect.
* @param {Element[]} selectedElements - The array of selected elements.
* @returns {void}
*/
private selection;
/**
* To redraw the selection process on accumulation chart refresh.
*
* @private
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @returns {void}
*/
redrawSelection(accumulation: AccumulationChart): void;
/**
* To remove the selected elements style classes by indexes.
*
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @param {Index[]} indexes - The array of indexes representing elements to remove selection styles.
* @returns {void}
*/
private removeSelectedElements;
/**
* To perform the selection for legend elements.
*
* @private
*/
legendSelection(accumulation: AccumulationChart, series: number, pointIndex: number, targetEle: Element, eventType: string): void;
/**
* To select the element by selected data indexes.
*
* @param {Index[]} indexes - The array of indexes representing elements to select.
* @param {AccumulationChart} accumulation - The accumulation chart control.
* @returns {void}
*/
private selectDataIndex;
/**
* To remove the selection styles for multi selection process.
*
* @param {AccumulationChart} accumulation - The Accumulation Chart control.
* @param {Index[]} index - The array of indexes representing elements to remove selection styles for multi selection process.
* @param {Index} currentIndex - The current index to remove from selection.
* @param {AccumulationSeriesModel[]} seriesCollection - The array of visible series in the accumulation chart.
* @returns {void}
*/
private removeMultiSelectEelments;
/**
* To apply the opacity effect for accumulation chart series elements.
*
* @param {string} pieId - The id of the pie element.
* @param {AccumulationSeries[]} visibleSeries - The array of visible series in the accumulation chart.
* @returns {void}
*/
private blurEffect;
/**
* To check selection elements by style class name.
*
* @param {Element} element - The element to check selection elements by style class name.
* @param {string} className - The class name to check.
* @param {boolean} visibility - Indicates whether the element should be visible.
* @returns {void}
*/
private checkSelectionElements;
/**
* To apply selection style for elements.
*
* @param {Element[]} elements - The array of elements to apply the selection style.
* @param {Index} index - The index to apply the selection style.
* @returns {void}
*/
private applyStyles;
/**
* To get selection style class name by id.
*
* @param {string} id - The id of the element to retrieve the selection style class name.
* @param {number} point - The point for the selection.
* @returns {string} - The selection style class name.
*/
private getSelectionClass;
/**
* To remove selection style for elements.
*
* @param {Element[]} elements - The array of elements from which to remove the selection style.
* @param {Index} index - The index to remove from the selection.
* @returns {void}
*/
private removeStyles;
/**
* To apply or remove selected elements index.
*
* @param {Index[]} indexes - The array of indexes representing elements to apply or remove selection.
* @param {Index} index - The index to add or remove from the selection.
* @param {boolean} add - Indicates whether to add or remove the index.
* @returns {void}
*/
private addOrRemoveIndex;
/**
* To check two index, point and series are equal.
*
* @param {Index} first - The first index.
* @param {Index} second - The second index.
* @returns {boolean} - Indicates whether the two indexes are equal.
*/
private checkEquals;
/**
*The mouse move event.
*
* @private
* @param {PointerEvent | TouchEvent} event - The mouse move event or touch event.
* @returns {void}
*/
mouseMove(event: PointerEvent | TouchEvent): void;
/**
* Get module name.
*
* @private
* @returns {string} - Returns the module name.
*/
getModuleName(): string;
/**
* To destroy the selection.
*
* @returns {void}
* @private
*/
destroy(): void;
}