ag-charts-types
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
65 lines (64 loc) • 2.35 kB
TypeScript
import type { FillOptions, LineDashOptions, StrokeOptions } from '../series/cartesian/commonOptions';
import type { Opacity } from './types';
export interface AgSelectionStyleOptions extends StrokeOptions, LineDashOptions, FillOptions {
/** The opacity of the whole series (line, fill, labels and markers, if any) */
opacity?: Opacity;
}
export type AgSelectionClickMode = 'single' | 'multiple';
export type AgSelectionContainment = 'any' | 'all';
export interface AgChartSelectionOptions {
/**
* Set to `true` to enable the data-selection module.
*
* Default: `false`
*/
enabled?: boolean;
/**
* Set to `true` to enable click-to-select.
*
* Default: `true`
*/
enableClick?: boolean;
/**
* Set to `true` to enable drag-to-select.
*
* Default: `false`
*/
enableDrag?: boolean;
/**
* Set to `true` to clear the selection by clicking an empty space on the chart.
*
* Default: `true`
*/
enableClickAwayToClear?: boolean;
/**
* Click-to-select mode. `'single'` replaces the current selection; `'multiple'` toggles each click.
* Holding Control (or Command) temporarily promotes a single click to `'multiple'`.
*
* Default: `'single'`
*/
clickMode?: AgSelectionClickMode;
/**
* Drag-to-select containment rule. `'any'` selects a datum when any part overlaps the drag rectangle;
* `'all'` requires the datum to be fully enclosed.
*
* Default: `'any'`
*/
containment?: AgSelectionContainment;
}
export interface AgSelectionOptions<ItemSelectionStyleOptions = AgSelectionStyleOptions, SeriesSelectionStyleOptions = ItemSelectionStyleOptions> {
/** Set to `true` to enable the data-selection on this series. */
enabled?: boolean;
/**
* Override the drag-to-select containment rule for this series.
*
* Default: `chart.selection.containment`
*/
containment?: AgSelectionContainment;
/** Styling options for selected items. */
selectedItem?: ItemSelectionStyleOptions;
/** Styling options for unselected items. */
unselectedItem?: ItemSelectionStyleOptions;
/** Styling options for series with no selections when there is at least one other selected series. */
unselectedSeries?: SeriesSelectionStyleOptions;
}