/* * Copyright (c) 2010, 2025 BSI Business Systems Integration AG * * This program and the accompanying materials are made * available under the terms of the Eclipse Public License 2.0 * which is available at https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 */ import { AppLinkActionEvent, Cell, Column, DropType, Event, FileDropEvent, Filter, KeyStroke, Menu, NumberColumn, PropertyChangeEvent, Status, Table, TableCheckableStyle, TableControl, TableGroupingStyle, TableHierarchicalStyle, TableReloadReason, TableRow, Tile, TileTableHeaderBox, ValueField, WidgetEventMap } from '../index'; export interface TableColumnBackgroundEffectChangedEvent extends Event { column: NumberColumn; } export interface TableAggregationFunctionChangedEvent extends Event { column: NumberColumn; } export interface TableAllRowsDeletedEvent extends Event { rows: TableRow[]; } export interface TableAppLinkActionEvent extends AppLinkActionEvent { column: Column; row: TableRow; $appLink: JQuery; } export interface TableCancelCellEditEvent extends Event { field: ValueField; row: TableRow; column: Column; cell: Cell; } export interface TableColumnMovedEvent extends Event { column: Column; oldPos: number; newPos: number; } export interface TableColumnResizedEvent extends Event { column: Column; } export interface TableColumnResizedToFitEvent extends Event { column: Column; } /** * Event containing the old and new list of {@link Column}s after {@link Table.columns} changed. */ export interface TableColumnStructureChangedEvent extends Event { oldColumns: Column[]; newColumns: Column[]; } export interface TableCompleteCellEditEvent extends Event { field: ValueField; row: TableRow; column: Column; cell: Cell; } export interface TableDropEvent extends Event, FileDropEvent { } export interface TableFilterAddedEvent extends Event { filter: Filter; } export interface TableFilterRemovedEvent extends Event { filter: Filter; } export interface TableGroupEvent extends Event { column: Column; groupAscending: boolean; groupingRemoved?: boolean; multiGroup?: boolean; groupingRequested?: boolean; } export interface TablePrepareCellEditEvent extends Event { column: Column; row: TableRow; } export interface TableReloadEvent extends Event { reloadReason: TableReloadReason; } export interface TableRowActionEvent extends Event { column: Column; row: TableRow; } export interface TableRowClickEvent extends Event { originalEvent: JQuery.MouseEventBase; row: TableRow; mouseButton: number; column: Column; } export interface TableRowInitEvent extends Event { row: TableRow; } export interface TableRowOrderChangedEvent extends Event { } export interface TableRowOrderChangeAnimationEvent extends Event { row: TableRow; } export interface TableRowsCheckedEvent extends Event { rows: TableRow[]; } export interface TableRowsDeletedEvent extends Event { rows: TableRow[]; } export interface TableRowsExpandedEvent extends Event { rows: TableRow[]; } export interface TableRowsInsertedEvent extends Event { rows: TableRow[]; } export interface TableRowsSelectedEvent extends Event { debounce: boolean; } export interface TableRowsUpdatedEvent extends Event { rows: TableRow[]; } export interface TableSortEvent extends Event { column: Column; sortAscending: boolean; sortingRemoved?: boolean; multiSort?: boolean; sortingRequested?: boolean; } export interface TableStartCellEditEvent extends Event { column: Column; row: TableRow; field: ValueField; } export interface TableEventMap extends WidgetEventMap { 'aggregationFunctionChanged': TableAggregationFunctionChangedEvent; 'allRowsDeleted': TableAllRowsDeletedEvent; 'appLinkAction': TableAppLinkActionEvent; 'cancelCellEdit': TableCancelCellEditEvent; 'clipboardExport': Event; 'columnMoved': TableColumnMovedEvent; 'columnResized': TableColumnResizedEvent; 'columnResizedToFit': TableColumnResizedToFitEvent; 'columnStructureChanged': TableColumnStructureChangedEvent; 'completeCellEdit': TableCompleteCellEditEvent; 'drop': TableDropEvent; 'filter': Event; 'filterAdded': TableFilterAddedEvent; 'filterRemoved': TableFilterRemovedEvent; 'group': TableGroupEvent; 'prepareCellEdit': TablePrepareCellEditEvent; 'reload': TableReloadEvent; 'rowAction': TableRowActionEvent; 'rowClick': TableRowClickEvent; 'rowInit': TableRowInitEvent; /** * Will be triggered when the row order has changed but before the new order is rendered. */ 'rowOrderChanged': TableRowOrderChangedEvent; /** * Will be triggered during the row order change animation for each animation step. */ 'rowOrderChangeAnimation': TableRowOrderChangeAnimationEvent; 'rowsChecked': TableRowsCheckedEvent; 'rowsDeleted': TableRowsDeletedEvent; 'rowsExpanded': TableRowsExpandedEvent; 'rowsInserted': TableRowsInsertedEvent; 'rowsSelected': TableRowsSelectedEvent; 'rowsUpdated': TableRowsUpdatedEvent; 'sort': TableSortEvent; 'startCellEdit': TableStartCellEditEvent; 'statusChanged': Event; 'columnBackgroundEffectChanged': TableColumnBackgroundEffectChangedEvent; 'propertyChange:autoResizeColumns': PropertyChangeEvent; 'propertyChange:checkable': PropertyChangeEvent; 'propertyChange:checkableStyle': PropertyChangeEvent; 'propertyChange:columns': PropertyChangeEvent[]>; 'propertyChange:compact': PropertyChangeEvent; 'propertyChange:contextColumn': PropertyChangeEvent>; 'propertyChange:dropMaximumSize': PropertyChangeEvent; 'propertyChange:dropType': PropertyChangeEvent; 'propertyChange:footerVisible': PropertyChangeEvent; 'propertyChange:groupingStyle': PropertyChangeEvent; 'propertyChange:headerEnabled': PropertyChangeEvent; 'propertyChange:headerMenusEnabled': PropertyChangeEvent; 'propertyChange:headerVisible': PropertyChangeEvent; 'propertyChange:hierarchical': PropertyChangeEvent; 'propertyChange:hierarchicalStyle': PropertyChangeEvent; 'propertyChange:keyStrokes': PropertyChangeEvent; 'propertyChange:menuBarVisible': PropertyChangeEvent; 'propertyChange:menus': PropertyChangeEvent; 'propertyChange:multiCheck': PropertyChangeEvent; 'propertyChange:multiSelect': PropertyChangeEvent; 'propertyChange:multilineText': PropertyChangeEvent; 'propertyChange:rowIconColumnWidth': PropertyChangeEvent; 'propertyChange:rowIconVisible': PropertyChangeEvent; 'propertyChange:rowLevelPadding': PropertyChangeEvent; 'propertyChange:scrollToSelection': PropertyChangeEvent; 'propertyChange:selectedRows': PropertyChangeEvent; 'propertyChange:sortEnabled': PropertyChangeEvent; 'propertyChange:staticMenus': PropertyChangeEvent; 'propertyChange:tableControls': PropertyChangeEvent; 'propertyChange:tableStatus': PropertyChangeEvent; 'propertyChange:tableStatusVisible': PropertyChangeEvent; 'propertyChange:textFilterEnabled': PropertyChangeEvent; 'propertyChange:tileMode': PropertyChangeEvent; 'propertyChange:tileProducer': PropertyChangeEvent<(row: TableRow) => Tile>; 'propertyChange:tileTableHeader': PropertyChangeEvent; 'propertyChange:truncatedCellTooltipEnabled': PropertyChangeEvent; 'propertyChange:viewRangeSize': PropertyChangeEvent; 'propertyChange:virtual': PropertyChangeEvent; 'propertyChange:maxRowCount': PropertyChangeEvent; 'propertyChange:estimatedRowCount': PropertyChangeEvent; }