import TableSelectionBase from "./TableSelectionBase.js"; import type TableRow from "./TableRow.js"; import type TableRowBase from "./TableRowBase.js"; import type TableSelectionMultiHeaderSelector from "./types/TableSelectionMultiHeaderSelector.js"; /** * @class * * ### Overview * * The `ui5-table-selection-multi` component is used inside the `ui5-table` to add multi-selection capabilities to the `ui5-table`. * Since selection is key-based, each `ui5-table-row` must define a unique `row-key` property. * * ### Usage * * The `ui5-table-selection-multi` component is a feature designed exclusively for use within the `ui5-table` component. * It must be placed inside the `features` slot of `ui5-table`. * This component is not intended for standalone use. * * ```html * * * * ``` * * ### ES6 Module Import * * `import "@ui5/webcomponents/dist/TableSelectionMulti.js";` * * @constructor * @extends TableSelectionBase * @since 2.8.0 * @public */ declare class TableSelectionMulti extends TableSelectionBase { /** * Defines the `row-key` values of selected rows, with each value separated by a space. * * @default undefined * @public */ selected?: string; /** * Defines the selector of the header row. * * @default "SelectAll" * @public * @since 2.12 */ headerSelector: `${TableSelectionMultiHeaderSelector}`; private _rangeSelection?; _onClickCaptureBound: (e: MouseEvent) => void; constructor(); onTableBeforeRendering(): void; onTableAfterRendering(): void; isMultiSelectable(): boolean; isSelected(row: TableRowBase): boolean; setSelected(row: TableRowBase, selected: boolean, fireEvent?: boolean): void; /** * Returns an array of the selected rows. * * @public */ getSelectedRows(): TableRow[]; /** * Determines whether all rows are selected. */ areAllRowsSelected(): boolean; /** * Returns the `selected` property as a set of unique `row-key` values. * * @public */ getSelectedAsSet(): Set; /** * Sets the `selected` property using the provided set of unique `row-key` values. * * @param selectedSet A set of `row-key` values * @public */ setSelectedAsSet(selectedSet: Set): void; /** * Returns the ARIA description of the selection component displayed in the column header. */ getAriaDescriptionForColumnHeader(): string | undefined; _onkeydown(e: KeyboardEvent): void; _onkeyup(e: KeyboardEvent, eventOrigin: HTMLElement): void; _onclickCapture(e: MouseEvent): void; /** * Start the range selection and initialises the range selection state * @param row starting row * @private */ _startRangeSelection(row: TableRow, selected: boolean, isMouse?: boolean): void; /** * Handles the range selection * @param targetRow Row that is currently focused * @param change indicates direction * @private */ _handleRangeSelection(targetRow: TableRow, change: number): void; _stopRangeSelection(): void; _reverseRangeSelection(): void; } export default TableSelectionMulti;