/// /** * Created by rburson on 3/18/16. */ /** * Warning! This component required 'wrapping' a non-React style, traditional javascript grid component (ag-grid) * The wrapped component is very stateful and requires interaction and control with a very 'imperative' javascript api, * thus this component is not a good example the stateless, functional components that React normally promotes. * There has been much work done here to 'work around' the issues created by the grid component and it's requirements. * i.e. the grid component does not gracefully survive React component updates. * */ import * as React from 'react'; import { CvState, CvProps, CvNavigationResult, CvEvent, CvQueryPaneCallback, CvValueListener, CvStateChangeResult, CvActionFiredResult, CvValueProvider, CvActionHandlerParams, CvSearchPaneCallback, CvEventRegistry } from 'catreact'; import { FormContext, ListContext } from 'catavolt-sdk'; export declare enum CvGridEventType { SELECTION_EVENT = 0, TOTAL_ROWS_LOADED_EVENT = 1, FIRST_VISIBLE_ROW_CHANGE_EVENT = 2, } export interface CvGridEvent { type: CvGridEventType; eventObj: T; } export interface CvGridPanelState extends CvState { searchNavEvent: CvEvent; quickFilterNavResult: CvNavigationResult; complexSearchNavResult: CvNavigationResult; numInitialRows: number; initialFirstVisibleRow: number; } export interface CvGridPanelProps extends CvProps { paneRef?: number; formContext?: FormContext; listContext?: ListContext; navigationListeners?: Array<(event: CvEvent) => void>; actionListeners?: Array<(event: CvEvent) => void>; gridListener?: CvValueListener>; stateChangeListeners?: Array<(event: CvEvent) => void>; actionProvider?: CvValueProvider; searchable?: boolean; initialSelectedItems?: Array; numInitialRows?: number; initialFirstVisibleRow?: number; gridHeight?: string; } export declare var CvGridPanel: React.ClassicComponentClass; export declare var CvQuickFilter: React.ClassicComponentClass<{ filterValueListener: CvValueListener; }>; export interface CvGridTableState extends CvState { numInitialRows: number; initialFirstVisibleRow: number; initialSelectedItems: Array; forceAutoSize: boolean; } export interface CvGridTableProps extends CvProps { listContext: ListContext; lastRefreshTime: Date; initialSelectedItems?: Array; numInitialRows?: number; gridHeight?: string; initialFirstVisibleRow?: number; queryPaneCallback: CvQueryPaneCallback; searchNavResult: CvNavigationResult; quickFilterCallback: CvSearchPaneCallback; eventRegistry: CvEventRegistry; navigationListeners?: Array<(event: CvEvent) => void>; actionListeners?: Array<(event: CvEvent) => void>; gridListener?: CvValueListener>; stateChangeListeners?: Array<(event: CvEvent) => void>; } export declare var CvGridTable: React.ClassicComponentClass; export declare var CvGridTableCellColumn0: React.ClassicComponentClass<{}>; export declare var CvGridTableCell: React.ClassicComponentClass<{}>;