slickgrid-react
Version:
Slickgrid components made available in React
191 lines (190 loc) • 12.1 kB
TypeScript
import type { Column, ColumnSort, ContainerService, CurrentFilter, CurrentSorter, DragRowMove, ExportTextDownloadOption, ExtensionList, GridMenuCommandItemCallbackArgs, GridMenuEventWithElementCallbackArgs, GridOption, GridSize, GridStateChange, HeaderButtonOnCommandArgs, HeaderMenuCommandItemCallbackArgs, MenuCommandItemCallbackArgs, MenuFromCellCallbackArgs, MenuOptionItemCallbackArgs, OnActiveCellChangedEventArgs, OnAddNewRowEventArgs, OnAutosizeColumnsEventArgs, OnBeforeAppendCellEventArgs, OnBeforeCellEditorDestroyEventArgs, OnBeforeColumnsResizeEventArgs, OnBeforeEditCellEventArgs, OnBeforeFooterRowCellDestroyEventArgs, OnBeforeHeaderCellDestroyEventArgs, OnBeforeHeaderRowCellDestroyEventArgs, OnBeforeSetColumnsEventArgs, OnCellChangeEventArgs, OnCellCssStylesChangedEventArgs, OnClickEventArgs, OnColumnsChangedArgs, OnColumnsDragEventArgs, OnColumnsReorderedEventArgs, OnColumnsResizeDblClickEventArgs, OnColumnsResizedEventArgs, OnCompositeEditorChangeEventArgs, OnDblClickEventArgs, OnDragReplaceCellsEventArgs, OnFooterClickEventArgs, OnFooterContextMenuEventArgs, OnFooterRowCellRenderedEventArgs, OnGroupCollapsedEventArgs, OnGroupExpandedEventArgs, OnHeaderCellRenderedEventArgs, OnHeaderClickEventArgs, OnHeaderContextMenuEventArgs, OnHeaderMouseEventArgs, OnHeaderRowCellRenderedEventArgs, OnKeyDownEventArgs, OnRenderedEventArgs, OnRowCountChangedEventArgs, OnRowsChangedEventArgs, OnRowsOrCountChangedEventArgs, OnScrollEventArgs, OnSearchChangeEventArgs, OnSelectedRowIdsChangedEventArgs, OnSelectedRowsChangedEventArgs, OnSetItemsCalledEventArgs, OnSetOptionsEventArgs, OnValidationErrorEventArgs, Pagination, PaginationMetadata, PagingInfo, ReactRegularEventHandler, ReactSlickEventHandler, SingleColumnSort, SlickControlList, SlickDataView, SlickGrid, SlickPluginList, SlickRange, TreeToggleStateChange } from '@slickgrid-universal/common';
import type { SlickgridReactInstance } from '../models/index.js';
import type { TranslaterI18NextService } from '../services/translaterI18Next.service.js';
export interface SlickgridReactProps {
header?: React.ReactElement;
footer?: React.ReactElement;
containerService: ContainerService;
translaterService?: TranslaterI18NextService;
customDataView?: SlickDataView;
dataset: any[];
datasetHierarchical?: any[] | null;
extensions?: ExtensionList<SlickControlList | SlickPluginList>;
gridId: string;
options?: GridOption;
columns: Column[];
instances?: SlickgridReactInstance;
paginationOptions?: Pagination;
onActiveCellChanged?: ReactSlickEventHandler<OnActiveCellChangedEventArgs>;
onActiveCellPositionChanged?: ReactSlickEventHandler<{
grid: SlickGrid;
}>;
onAddNewRow?: ReactSlickEventHandler<OnAddNewRowEventArgs>;
onAutosizeColumns?: ReactSlickEventHandler<OnAutosizeColumnsEventArgs>;
onBeforeAppendCell?: ReactSlickEventHandler<OnBeforeAppendCellEventArgs>;
onBeforeCellEditorDestroy?: ReactSlickEventHandler<OnBeforeCellEditorDestroyEventArgs>;
onBeforeColumnsResize?: ReactSlickEventHandler<OnBeforeColumnsResizeEventArgs>;
onBeforeDestroy?: ReactSlickEventHandler<{
grid: SlickGrid;
}>;
onBeforeEditCell?: ReactSlickEventHandler<OnBeforeEditCellEventArgs>;
onBeforeHeaderCellDestroy?: ReactSlickEventHandler<OnBeforeHeaderCellDestroyEventArgs>;
onBeforeHeaderRowCellDestroy?: ReactSlickEventHandler<OnBeforeHeaderRowCellDestroyEventArgs>;
onBeforeFooterRowCellDestroy?: ReactSlickEventHandler<OnBeforeFooterRowCellDestroyEventArgs>;
onBeforeSetColumns?: ReactSlickEventHandler<OnBeforeSetColumnsEventArgs>;
onBeforeSort?: ReactSlickEventHandler<SingleColumnSort, boolean | void>;
onCellChange?: ReactSlickEventHandler<OnCellChangeEventArgs>;
onCellCssStylesChanged?: ReactSlickEventHandler<OnCellCssStylesChangedEventArgs>;
onClick?: ReactSlickEventHandler<OnClickEventArgs>;
onColumnsDrag?: ReactSlickEventHandler<OnColumnsDragEventArgs>;
onColumnsReordered?: ReactSlickEventHandler<OnColumnsReorderedEventArgs>;
onColumnsResized?: ReactSlickEventHandler<OnColumnsResizedEventArgs>;
onColumnsResizeDblClick?: ReactSlickEventHandler<OnColumnsResizeDblClickEventArgs>;
onCompositeEditorChange?: ReactSlickEventHandler<OnCompositeEditorChangeEventArgs>;
onContextMenu?: ReactSlickEventHandler<{
grid: SlickGrid;
}>;
onDrag?: ReactSlickEventHandler<DragRowMove>;
onDragEnd?: ReactSlickEventHandler<DragRowMove>;
onDragInit?: ReactSlickEventHandler<DragRowMove>;
onDragStart?: ReactSlickEventHandler<DragRowMove>;
onDragReplaceCells?: ReactSlickEventHandler<OnDragReplaceCellsEventArgs>;
onDblClick?: ReactSlickEventHandler<OnDblClickEventArgs>;
onFooterContextMenu?: ReactSlickEventHandler<OnFooterContextMenuEventArgs>;
onFooterRowCellRendered?: ReactSlickEventHandler<OnFooterRowCellRenderedEventArgs>;
onHeaderCellRendered?: ReactSlickEventHandler<OnHeaderCellRenderedEventArgs>;
onFooterClick?: ReactSlickEventHandler<OnFooterClickEventArgs>;
onHeaderClick?: ReactSlickEventHandler<OnHeaderClickEventArgs>;
onHeaderContextMenu?: ReactSlickEventHandler<OnHeaderContextMenuEventArgs>;
onHeaderMouseEnter?: ReactSlickEventHandler<OnHeaderMouseEventArgs>;
onHeaderMouseLeave?: ReactSlickEventHandler<OnHeaderMouseEventArgs>;
onHeaderRowCellRendered?: ReactSlickEventHandler<OnHeaderRowCellRenderedEventArgs>;
onHeaderRowMouseEnter?: ReactSlickEventHandler<OnHeaderMouseEventArgs>;
onHeaderRowMouseLeave?: ReactSlickEventHandler<OnHeaderMouseEventArgs>;
onKeyDown?: ReactSlickEventHandler<OnKeyDownEventArgs>;
onMouseEnter?: ReactSlickEventHandler<{
grid: SlickGrid;
}>;
onMouseLeave?: ReactSlickEventHandler<{
grid: SlickGrid;
}>;
onValidationError?: ReactSlickEventHandler<OnValidationErrorEventArgs>;
onViewportChanged?: ReactSlickEventHandler<{
grid: SlickGrid;
}>;
onRendered?: ReactSlickEventHandler<OnRenderedEventArgs>;
onSelectedRowsChanged?: ReactSlickEventHandler<OnSelectedRowsChangedEventArgs>;
onSetOptions?: ReactSlickEventHandler<OnSetOptionsEventArgs>;
onScroll?: ReactSlickEventHandler<OnScrollEventArgs>;
onSort?: ReactSlickEventHandler<SingleColumnSort>;
onBeforePagingInfoChanged?: ReactSlickEventHandler<PagingInfo>;
onGroupExpanded?: ReactSlickEventHandler<OnGroupExpandedEventArgs>;
onGroupCollapsed?: ReactSlickEventHandler<OnGroupCollapsedEventArgs>;
onPagingInfoChanged?: ReactSlickEventHandler<PagingInfo>;
onRowCountChanged?: ReactSlickEventHandler<OnRowCountChangedEventArgs>;
onRowsChanged?: ReactSlickEventHandler<OnRowsChangedEventArgs>;
onRowsOrCountChanged?: ReactSlickEventHandler<OnRowsOrCountChangedEventArgs>;
onSelectedRowIdsChanged?: ReactSlickEventHandler<OnSelectedRowIdsChangedEventArgs>;
onSetItemsCalled?: ReactSlickEventHandler<OnSetItemsCalledEventArgs>;
onAfterMenuShow?: ReactSlickEventHandler<MenuFromCellCallbackArgs>;
onBeforeMenuClose?: ReactSlickEventHandler<MenuFromCellCallbackArgs>;
onBeforeMenuShow?: ReactSlickEventHandler<MenuFromCellCallbackArgs>;
onColumnsChanged?: ReactSlickEventHandler<OnColumnsChangedArgs>;
onCommand?: ReactSlickEventHandler<MenuCommandItemCallbackArgs | MenuOptionItemCallbackArgs>;
onGridMenuColumnsChanged?: ReactSlickEventHandler<OnColumnsChangedArgs>;
onMenuClose?: ReactSlickEventHandler<GridMenuEventWithElementCallbackArgs>;
onCopyCells?: ReactSlickEventHandler<{
ranges: SlickRange[];
}>;
onCopyCancelled?: ReactSlickEventHandler<{
ranges: SlickRange[];
}>;
onPasteCells?: ReactSlickEventHandler<{
ranges: SlickRange[];
}>;
onBeforePasteCell?: ReactSlickEventHandler<{
cell: number;
row: number;
item: any;
columnDef: Column;
value: any;
}>;
onAfterExportToExcel?: ReactRegularEventHandler<{
filename: string;
mimeType: string;
} | {
error: any;
}>;
onBeforeExportToExcel?: ReactRegularEventHandler<boolean>;
onBeforeExportToTextFile?: ReactRegularEventHandler<boolean>;
onAfterExportToTextFile?: ReactRegularEventHandler<ExportTextDownloadOption>;
onBeforeFilterChange?: ReactRegularEventHandler<CurrentFilter[]>;
onBeforeFilterClear?: ReactRegularEventHandler<{
columnId: string;
} | boolean>;
onBeforeSearchChange?: ReactRegularEventHandler<OnSearchChangeEventArgs, boolean | void>;
onBeforeSortChange?: ReactRegularEventHandler<Array<ColumnSort & {
clearSortTriggered?: boolean;
}>>;
onContextMenuClearGrouping?: ReactRegularEventHandler<void>;
onContextMenuCollapseAllGroups?: ReactRegularEventHandler<void>;
onContextMenuExpandAllGroups?: ReactRegularEventHandler<void>;
onAfterGridDestroyed?: ReactRegularEventHandler<MenuFromCellCallbackArgs>;
onBeforeGridDestroy?: ReactRegularEventHandler<MenuFromCellCallbackArgs>;
onOptionSelected?: ReactRegularEventHandler<MenuCommandItemCallbackArgs | MenuOptionItemCallbackArgs>;
onColumnPickerColumnsChanged?: ReactRegularEventHandler<OnColumnsChangedArgs>;
onGridMenuMenuClose?: ReactRegularEventHandler<GridMenuEventWithElementCallbackArgs>;
onGridMenuBeforeMenuShow?: ReactRegularEventHandler<GridMenuEventWithElementCallbackArgs>;
onGridMenuAfterMenuShow?: ReactRegularEventHandler<GridMenuEventWithElementCallbackArgs>;
onGridMenuClearAllPinning?: ReactRegularEventHandler<void>;
onGridMenuClearAllFilters?: ReactRegularEventHandler<void>;
onGridMenuClearAllSorting?: ReactRegularEventHandler<void>;
onGridMenuCommand?: ReactRegularEventHandler<GridMenuCommandItemCallbackArgs>;
onHeaderButtonCommand?: ReactRegularEventHandler<HeaderButtonOnCommandArgs>;
onHeaderMenuCommand?: ReactRegularEventHandler<MenuCommandItemCallbackArgs>;
onHeaderMenuColumnResizeByContent?: ReactRegularEventHandler<{
columnId: string;
}>;
onHeaderMenuBeforeMenuShow?: ReactRegularEventHandler<HeaderMenuCommandItemCallbackArgs>;
onHeaderMenuAfterMenuShow?: ReactRegularEventHandler<HeaderMenuCommandItemCallbackArgs>;
onHideColumns?: ReactRegularEventHandler<{
columns: Column[];
hiddenColumn: Column[];
}>;
onItemsAdded?: ReactRegularEventHandler<any[]>;
onItemsDeleted?: ReactRegularEventHandler<any[]>;
onItemsUpdated?: ReactRegularEventHandler<any[]>;
onItemsUpserted?: ReactRegularEventHandler<any[]>;
onFullResizeByContentRequested?: ReactRegularEventHandler<{
caller: string;
}>;
onGridStateChanged?: ReactRegularEventHandler<GridStateChange>;
onBeforePaginationChange?: ReactRegularEventHandler<PaginationMetadata, boolean | void>;
onPaginationChanged?: ReactRegularEventHandler<PaginationMetadata>;
onPaginationRefreshed?: ReactRegularEventHandler<PaginationMetadata>;
onPaginationVisibilityChanged?: ReactRegularEventHandler<{
visible: boolean;
}>;
onPaginationSetCursorBased?: ReactRegularEventHandler<{
isCursorBased: boolean;
}>;
onGridBeforeResize?: ReactRegularEventHandler<void>;
onGridAfterResize?: ReactRegularEventHandler<GridSize | undefined>;
onBeforeResizeByContent?: ReactRegularEventHandler<void>;
onAfterResizeByContent?: ReactRegularEventHandler<{
readItemCount: number;
calculateColumnWidths: {
[x: string]: number | undefined;
[x: number]: number | undefined;
};
}>;
onSortCleared?: ReactRegularEventHandler<boolean>;
onFilterChanged?: ReactRegularEventHandler<CurrentFilter[]>;
onFilterCleared?: ReactRegularEventHandler<boolean>;
onReactGridCreated?: ReactRegularEventHandler<any>;
onSortChanged?: ReactRegularEventHandler<CurrentSorter[]>;
onTreeItemToggled?: ReactRegularEventHandler<TreeToggleStateChange>;
onTreeFullToggleEnd?: ReactRegularEventHandler<TreeToggleStateChange>;
onTreeFullToggleStart?: ReactRegularEventHandler<TreeToggleStateChange>;
onLanguageChange?: ReactRegularEventHandler<string>;
}