Row Header
RowHeaderPlugin
Section titled “RowHeaderPlugin”The RowHeaderPlugin is a RevoGrid plugin that enhances the grid with interactive row headers,
allowing users to focus, select, and manage row-specific actions effectively. This plugin integrates
various event handlers to facilitate rich interactions and maintain state consistency across the grid.
Key Features:
- Header Interaction: Listens for events such as
EVENT_ROW_FOCUS,EVENT_ROW_FOCUS_SIMPLE, andROW_MENU_EVENTto handle row selection and focus, enabling users to click on row headers to trigger specific actions or selections. - Selection Management: Manages active header selections using an observable state, ensuring that header focus and selection are updated dynamically based on user interactions and grid state changes.
- Event Handling: Integrates with a variety of grid events (
EVENT_BEFORE_CELL_FOCUS,EVENT_BEFORE_FOCUS_LOST,DRAG_START_EVENT) to modify selection states, drop focus, and handle custom row click actions. - Range and Focus Handling: Provides utility methods to apply focus and selection ranges within rows, ensuring that selections are visually and functionally consistent across the grid.
Usage:
- Integrate this plugin into a RevoGrid instance to enable row header functionalities. Add the plugin to the grid’s plugins array to activate its features.
Example
Section titled “Example”import { RowHeaderPlugin } from '@revolist/revogrid-pro'
const grid = document.createElement('revo-grid');grid.plugins = [RowHeaderPlugin];This plugin is ideal for applications that require advanced row header interactions, offering a robust solution for managing row-based data actions within a RevoGrid component.
class RowHeaderPlugin {}rowHeaders
Section titled “rowHeaders”Returns the row header column configuration.
rowHeaders: ({ showHeaderFocusBtn, rowDrag, }: { showHeaderFocusBtn?: boolean | undefined; rowDrag?: boolean | undefined; }) => ColumnRegular;rowHeaderTemplate
Section titled “rowHeaderTemplate”rowHeaderTemplate: (h: HyperFunc<VNode>, params: CellTemplateProp, showHeaderFocusBtn: boolean, rowDrag: boolean) => VNode[];RowFocusDetails
Section titled “RowFocusDetails”export type RowFocusDetails = { dataItem: CellTemplateProp; models: any[];};DragStartEventDetails
Section titled “DragStartEventDetails”export type DragStartEventDetails = { event: MouseEvent; data: DragEventsData;};