@highcharts/dashboards
Version:
Highcharts Dashboards framework
115 lines (114 loc) • 3.76 kB
TypeScript
import type Accessibility from '../../Accessibility';
import Chart from '../../../Core/Chart/Chart.js';
import Point from '../../../Core/Series/Point.js';
import Series from '../../../Core/Series/Series.js';
import KeyboardNavigationHandler from '../../KeyboardNavigationHandler.js';
import EventProvider from '../../Utils/EventProvider.js';
declare module '../../../Core/Chart/ChartLike' {
interface ChartLike {
highlightedPoint?: Point;
}
}
declare module '../../../Core/Series/SeriesLike' {
interface SeriesLike {
/** @requires modules/accessibility */
keyboardMoveVertical?: boolean;
}
}
/**
* @private
* @class
* @name Highcharts.SeriesKeyboardNavigation
*/
declare class SeriesKeyboardNavigation {
constructor(chart: SeriesKeyboardNavigation.ChartComposition, keyCodes: Record<string, number>);
chart: SeriesKeyboardNavigation.ChartComposition;
eventProvider?: EventProvider;
keyCodes: Record<string, number>;
lastDrilledDownPoint?: SeriesKeyboardNavigation.DrilldownObject;
/**
* Init the keyboard navigation
*/
init(): void;
/**
* After drillup we want to find the point that was drilled down to and
* highlight it.
* @private
*/
onDrillupAll(): void;
/**
* @private
*/
getKeyboardNavigationHandler(): KeyboardNavigationHandler;
/**
* @private
* @param {Highcharts.KeyboardNavigationHandler} handler
* @param {number} keyCode
* @return {number}
* response
*/
onKbdSideways(handler: KeyboardNavigationHandler, keyCode: number): number;
/**
* When keyboard navigation inits.
* @private
* @param {Highcharts.KeyboardNavigationHandler} handler The handler object
* @return {number}
* response
*/
onHandlerInit(handler: KeyboardNavigationHandler): number;
/**
* @private
* @param {Highcharts.KeyboardNavigationHandler} handler
* @param {number} keyCode
* @return {number}
* response
*/
onKbdVertical(handler: KeyboardNavigationHandler, keyCode: number): number;
/**
* @private
*/
onHandlerTerminate(): void;
/**
* Function that attempts to highlight next/prev point. Handles wrap around.
* @private
*/
attemptHighlightAdjacentPoint(handler: KeyboardNavigationHandler, directionIsNext: boolean): number;
/**
* @private
*/
onSeriesDestroy(series: Series): void;
/**
* @private
*/
destroy(): void;
}
declare namespace SeriesKeyboardNavigation {
class ChartComposition extends Accessibility.ChartComposition {
highlightedPoint?: PointComposition;
series: Array<SeriesComposition>;
highlightAdjacentPoint(next: boolean): (boolean | PointComposition);
highlightAdjacentPointVertical(down: boolean): (boolean | PointComposition);
highlightAdjacentSeries(down: boolean): (boolean | PointComposition);
}
interface DrilldownObject {
x: (number | null);
y: (number | null | undefined);
seriesName: string;
}
class PointComposition extends Accessibility.PointComposition {
series: SeriesComposition;
highlight(highlightVisually?: boolean): PointComposition;
}
class SeriesComposition extends Accessibility.SeriesComposition {
chart: ChartComposition;
data: Array<PointComposition>;
pointClass: typeof PointComposition;
points: Array<PointComposition>;
highlightNextValidPoint(): (boolean | PointComposition);
}
/**
* @private
*/
function compose(ChartClass: typeof Chart, PointClass: typeof Point, SeriesClass: typeof Series): void;
}
export default SeriesKeyboardNavigation;