///
/**
* 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<{}>;