UNPKG

realgrid-react

Version:

RealGrid2 wrapping Component for React

445 lines (406 loc) 22.6 kB
import { default as default_2 } from 'react'; import { ReactNode } from 'react'; import * as RealGrid from 'realgrid'; declare abstract class ComponentBase<T extends IComponentBase> extends default_2.Component<T> { protected $parent?: RealBaseReact<{}>; protected $model?: any; constructor(props: T); protected abstract mountCB: () => void; protected abstract unMountCB: () => void; protected _type: string; protected _doUpdate(): void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Readonly<{ [key in keyof T]: T[key]; }>, prevState: Readonly<{}>, snapshot?: any): void; render(): default_2.FunctionComponentElement<{ children?: default_2.ReactNode; }>; } declare type GridType<G> = G extends RealGrid.GridView ? RealGrid.GridView : G extends RealGrid.TreeView ? RealGrid.TreeView : any; declare interface IComponentBase { children?: ReactNode; $grid?: RealBaseReact<{}>; } declare interface IRealGridBaseProps<G> extends Omit<IComponentBase, '$grid'> { /** * DataField생성 여부. * * @remarks * `true`이면 Column생성시 DataField도 생성한다. * * @defaultValue `false` */ autoGenerateField?: boolean; /** * 그리드에 표시할 Data */ rows?: RealGrid.DataValues[]; /** * 그리드가 생성된 이후 호출된다. * * @param grid - 그리드 객체 * @returns */ onInitialized?: (grid: GridType<G>) => void; /** * 그리드가 제거되기 직전에 호출된다. * @param grid - 그리드 객체 * @returns */ onDestroy?: (grid: GridType<G>) => void; /** * 행 스타일 변경을 위한 콜백 */ rowStyleCallback?: RealGrid.RowStyleCallback; /** * 셀 스타일 변경을 위한 콜백 */ cellStyleCallback?: RealGrid.CellStyleCallback; /** * RGDataColumn이 변경되었을때 호출되는 콜백 */ onRGDataColumnsChanged?: (grid: GridType<G>) => void; gridProps?: RealGrid.GridOptions; layout?: (string | Exclude<RealGrid.CellLayoutGroupItem, Function> | RealGrid.CellLayoutColumnItem)[]; onCurrentChanging?: (grid: GridType<G>, oldIndex: RealGrid.CellIndex, newIndex: RealGrid.CellIndex) => boolean; onCurrentChanged?: (grid: GridType<G>, newIndex: RealGrid.CellIndex) => void; onCurrentRowChanged?: (grid: GridType<G>, oldRow: number, newRow: number) => void; onValidateColumn?: (grid: GridType<G>, column: RealGrid.DataColumn, inserting: boolean, value: any, itemIndex: number, dataRow: number) => RealGrid.ValidationError | undefined; onValidateRow?: (grid: GridType<G>, itemIndex: number, dataRow: number, inserting: boolean, values: any[]) => RealGrid.ValidationError; onValidationFail?: (grid: GridType<G>, itemIndex: number, column: RealGrid.GridColumn, error: RealGrid.ValidationError) => RealGrid.ValidationError; onColumnCheckedChanged?: (grid: GridType<G>, column: RealGrid.GridColumn, checked: boolean) => void; onMenuItemClicked?: (grid: GridType<G>, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void; onContextMenuPopup?: (grid: GridType<G>, x: number, y: number, clickData: RealGrid.ClickData, menu: string, rightClick: boolean) => boolean | string; onContextMenuItemClicked?: (grid: GridType<G>, item: RealGrid.PopupMenuItem, clickData: RealGrid.ClickData) => void; onCellButtonClicked?: (grid: GridType<G>, index: RealGrid.CellIndex, column: RealGrid.GridColumn) => void; onScrollToBottom?: (grid: GridType<G>) => void; onTopIndexChanged?: (grid: GridType<G>, itemIndex: number) => void; onTopIndexChanging?: (grid: GridType<G>, currentTop: number, delta: number, focusing: boolean, adjust: boolean) => number; onLeftPosChanged?: (grid: GridType<G>, pos: number) => void; onRowsDeleting?: (grid: GridType<G>, rows: number[]) => boolean; onRowInserting?: (grid: GridType<G>, itemIndex: number, dataRow: number) => boolean; onSelectionCleared?: (grid: GridType<G>) => void; onSelectionChanged?: (grid: GridType<G>, selection: Selection) => void; onSelectionAdded?: (grid: GridType<G>, selection: Selection) => void; onSelectionEnded?: (grid: GridType<G>, selection: Selection) => void; onShowEditor?: (grid: GridType<G>, index: RealGrid.CellIndex, props: any, attrs: any) => boolean; onShowEditCommand?: (grid: GridType<G>, index: RealGrid.CellIndex) => boolean; onHideEditor?: (grid: GridType<G>, index: RealGrid.CellIndex) => void; onEditChange?: (grid: GridType<G>, index: RealGrid.CellIndex, value: any) => void; onGetEditValue?: (grid: GridType<G>, index: RealGrid.CellIndex, editResult: Object) => void | boolean; onEditCommit?: (grid: GridType<G>, index: RealGrid.CellIndex, oldValue: any, newValue: any) => boolean; onEditCanceled?: (grid: GridType<G>, index: RealGrid.CellIndex) => void; onItemEditCanceled?: (grid: GridType<G>, itemIndex: number, state: string) => void; onItemEditCancel?: (grid: GridType<G>, itemIndex: number, state: string) => boolean; onEditSearch?: (grid: GridType<G>, index: RealGrid.CellIndex, text: string) => void; onSearchCellButtonClick?: (grid: GridType<G>, index: RealGrid.CellIndex, text: string) => void; onCellEdited?: (grid: GridType<G>, itemIndex: number, row: number, field: number) => void; onEditRowChanged?: (grid: GridType<G>, itemIndex: number, row: number, field: number, oldValue: any, newValue: any) => void; onEditRowPasted?: (grid: GridType<G>, itemIndex: number, row: number, fields: number[], oldValues: any[], newValues: any[]) => void; onRowsPasted?: (grid: GridType<G>, items: number[]) => void; onCellPasting?: (grid: GridType<G>, index: RealGrid.CellIndex, value: any, editResult: RealGrid.EditResult) => boolean; onItemChecked?: (grid: GridType<G>, itemIndex: number, checked: boolean) => void; onItemAllChecked?: (grid: GridType<G>, checked: boolean) => void; onErrorClicked?: (grid: GridType<G>, error: string) => void; onSorting?: (grid: GridType<G>, fields: number[], directions: string[]) => boolean; onSortingChanged?: (grid: GridType<G>) => void; onFiltering?: (grid: GridType<G>) => boolean; onFilteringChanged?: (grid: GridType<G>, column: RealGrid.GridColumn, filter: RealGrid.ColumnFilter, reset: boolean) => void; onWheel?: (grid: GridType<G>, event: WheelEvent) => boolean; onKeyDown?: (grid: GridType<G>, event: KeyboardEvent) => boolean; onKeyPress?: (grid: GridType<G>, event: KeyboardEvent) => void; onKeyUp?: (grid: GridType<G>, event: KeyboardEvent) => void; onShowTooltip?: (grid: GridType<G>, index: RealGrid.CellIndex, value: any) => boolean | string; onShowHeaderTooltip?: (grid: GridType<G>, column: RealGrid.GridColumn, value: any, layout: RealGrid.CellLayoutItem) => string; onColumnPropertyChanged?: (grid: GridType<G>, column: RealGrid.GridColumn, property: string, newValue: any, oldValue: any) => void; onLayoutPropertyChanged?: (grid: GridType<G>, layout: RealGrid.CellLayoutItem, property: string, newValue: any, oldValue: any) => void; onGridActivated?: (grid: GridType<G>) => void; onCopy?: (grid: GridType<G>, selection: Selection | Selection[], event: ClipboardEvent) => boolean; onCut?: (grid: GridType<G>, selection: Selection | Selection[], event: ClipboardEvent) => boolean; onPaste?: (grid: GridType<G>, index: RealGrid.CellIndex, event: ClipboardEvent) => boolean; onPasted?: (grid: GridType<G>) => void; onItemsChecked?: (grid: GridType<G>, items: number[], checked: boolean) => void; onCellClicked?: (grid: GridType<G>, clickData: RealGrid.ClickData) => void; onCellDblClicked?: (grid: GridType<G>, clickData: RealGrid.ClickData) => void; onCellItemClicked?: (grid: GridType<G>, index: RealGrid.CellIndex, clickData: RealGrid.ClickData) => boolean; onCommandStackChanged?: (grid: GridType<G>, undoable: boolean, redoable: boolean) => void; onDataLoadComplated?: (grid: GridType<G>) => void; onLayoutExpanding?: (grid: GridType<G>, layout: RealGrid.CellLayoutGroupItem) => boolean; onLayoutExpanded?: (grid: GridType<G>, layout: RealGrid.CellLayoutGroupItem) => void; onLayoutCollapsing?: (grid: GridType<G>, layout: RealGrid.CellLayoutGroupItem) => boolean; onLayoutCollapsed?: (grid: GridType<G>, layout: RealGrid.CellLayoutGroupItem) => void; onGridFocusChanged?: (grid: GridType<G>, focused: boolean, event: Event) => void; dataProps?: RealGrid.DataOptions; } declare interface IRealGridCheckBar extends IComponentBase, RealGrid.CheckBar { } declare interface IRealGridDataColumn extends RealGrid.DataColumn { field?: RealGrid.DataField; } declare interface IRealGridDataField extends IComponentBase, RealGrid.DataField { } declare interface IRealGridFilterPanel extends IComponentBase, RealGrid.FilterPanel { } declare interface IRealGridFooter extends IComponentBase, RealGrid.GridFooter { } declare interface IRealGridFooters extends IComponentBase, RealGrid.GridFooterCollection { } declare interface IRealGridGroupPanel extends IComponentBase, RealGrid.GroupPanel { } declare interface IRealGridHeader extends IComponentBase, RealGrid.GridHeader { } declare interface IRealGridheaderSummaries extends IComponentBase, RealGrid.HeaderSummaryCollection { } declare interface IRealGridHeaderSummary extends IComponentBase, RealGrid.HeaderSummary { } declare interface IRealGridLiteralColumn extends IComponentBase, RealGrid.LiteralColumn { } declare interface IRealGridRowIndicator extends IComponentBase, RealGrid.RowIndicator { } declare interface IRealGridSeriesColumn extends IComponentBase, RealGrid.SeriesColumn { } declare interface IRealGridStateBar extends IComponentBase, RealGrid.StateBar { } declare interface IRealGridTreeProps extends IRealGridBaseProps<RealGrid.TreeView> { treeOptions?: RealGrid.TreeOptions; treeField?: string; needSorting?: boolean; childrenField?: string; iconField?: string; json?: any; rowsProp?: string; childrenProp?: string; iconProp?: string; onTreeItemExpanding?: (tree: RealGrid.TreeView, itemIndex: number, rowId: number) => boolean; onTreeItemExpanded?: (tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void; onTreeItemCollapsing?: (tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void; onTreeItemCollapsed?: (tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void; onTreeItemChanged?: (tree: RealGrid.TreeView, itemIndex: number, rowId: number) => void; onRowCountChanged?: (provider: RealGrid.LocalTreeDataProvider, newCount: number) => void; onRowAdding?: (provider: RealGrid.LocalTreeDataProvider, row: number, index: number, child: any) => boolean; onRowAdded?: (provider: RealGrid.LocalTreeDataProvider, row: number) => void; onRowsAdded?: (provider: RealGrid.LocalTreeDataProvider, parent: number, rows: number[]) => void; onRowDeleting?: (provider: RealGrid.LocalTreeDataProvider, row: number) => boolean; onRowDeleted?: (provider: RealGrid.LocalTreeDataProvider, row: number) => void; onRowsDeleted?: (provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void; onRowUpdating?: (provider: RealGrid.LocalTreeDataProvider, row: number, oldValues: RealGrid.RowValues, newValues: RealGrid.RowValues) => boolean; onRowUpdated?: (provider: RealGrid.LocalTreeDataProvider, row: number) => void; onRowsUpdating?: (provider: RealGrid.LocalTreeDataProvider, rows: number[]) => boolean; onRowsUpdated?: (provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void; onValueChanged?: (provider: RealGrid.LocalTreeDataProvider, row: number, field: number) => void; onDataChanged?: (provider: RealGrid.LocalTreeDataProvider) => void; onRowStateChanged?: (provider: RealGrid.LocalTreeDataProvider, row: number) => void; onRowStatesChanged?: (provider: RealGrid.LocalTreeDataProvider, rows: number[]) => void; onRowSiblingMoving?: (provider: RealGrid.LocalTreeDataProvider, row: number, offset: number) => boolean; onRowSiblingMoved?: (provider: RealGrid.LocalTreeDataProvider, row: number, offset: number) => void; onRowsSiblingMoving?: (provider: RealGrid.LocalTreeDataProvider, rows: number[], offset: number) => boolean; onRowsSiblingMoved?: (provider: RealGrid.LocalTreeDataProvider, rows: number[], offset: number) => void; onRowParentChanging?: (provider: RealGrid.LocalTreeDataProvider, row: number, parent: number, index: number) => boolean; onRowParentChanged?: (provider: RealGrid.LocalTreeDataProvider, row: number, parent: number, index: number) => void; } declare interface IRealGridViewProps extends IRealGridBaseProps<RealGrid.GridView> { gridProps?: RealGrid.ViewOptions; accessibility?: boolean; waiOptions?: RealGrid.WaiOptions; onPageChanging?: (grid: RealGrid.GridView, page: number) => boolean; onPageChanged?: (grid: RealGrid.GridView, page: number) => void; onPageCountChanged?: (grid: RealGrid.GridView, pageCount: number) => void; onGrouping?: (grid: RealGrid.GridView, fields: number[]) => boolean; onGrouped?: (grid: RealGrid.GridView) => void; onExpanding?: (grid: RealGrid.GridView, itemIndex: number) => boolean; onExpanded?: (grid: RealGrid.GridView, itemIndex: number) => void; onCollapsing?: (grid: RealGrid.GridView, itemIndex: number) => boolean; onCollapsed?: (grid: RealGrid.GridView, itemIndex: number) => void; onRowCountChanged?: (provider: RealGrid.LocalDataProvider, newCount: number) => void; onRowUpdating?: (provider: RealGrid.LocalDataProvider, row: number, oldValues: RealGrid.RowValues, newValues: RealGrid.RowValues) => boolean; onRowUpdated?: (provider: RealGrid.LocalDataProvider, row: number) => void; onRowsUpdated?: (provider: RealGrid.LocalDataProvider, row: number, count: number) => void; onRowListUpdated?: (provider: RealGrid.LocalDataProvider, rows: number[]) => void; onDataRowInserting?: (provider: RealGrid.LocalDataProvider, row: number, values: RealGrid.DataValues) => boolean; onRowInserted?: (provider: RealGrid.LocalDataProvider, row: number) => void; onRowsInserted?: (provider: RealGrid.LocalDataProvider, row: number, count: number) => void; onRowDeleting?: (provider: RealGrid.LocalDataProvider, row: number) => boolean; onRowDeleted?: (provider: RealGrid.LocalDataProvider, row: number) => void; onRowsDeleted?: (provider: RealGrid.LocalDataProvider, rows: number[]) => void; onRowMoving?: (provider: RealGrid.LocalDataProvider, row: number, newRow: number) => boolean; onRowMoved?: (provider: RealGrid.LocalDataProvider, row: number, newRow: number) => void; onRowsMoving?: (provider: RealGrid.LocalDataProvider, row: number, count: number, newRow: number) => boolean; onRowsMoved?: (provider: RealGrid.LocalDataProvider, row: number, count: number, newRow: number) => void; onRowListMoving?: (provider: RealGrid.LocalDataProvider, rows: number[], newRow: number) => boolean; onRowListMoved?: (provider: RealGrid.LocalDataProvider, rows: number[], newRow: number) => void; onValueChanged?: (provider: RealGrid.LocalDataProvider, row: number, field: number) => void; onDataChanged?: (provider: RealGrid.LocalDataProvider) => void; onRowStateChanged?: (provider: RealGrid.LocalDataProvider, row: number) => void; onRowStatesChanged?: (provider: RealGrid.LocalDataProvider, rows: number[]) => void; onRowStatesCleared?: (provider: RealGrid.LocalDataProvider) => void; onRestoreRows?: (provider: RealGrid.LocalDataProvider, rows: number[]) => void; } declare abstract class RealBaseReact<G, T = {}> extends default_2.Component<T & Omit<IRealGridBaseProps<G>, '$grid'>> { protected _gridView: GridType<G> | null; protected _dataProvider: RealGrid.DataProviderBase | null; private _mountCBs; private _mountTimer; protected _columnsChanged: boolean; protected gridContainer: default_2.LegacyRef<HTMLDivElement>; constructor(props: T); abstract get gridView(): GridType<G>; abstract get dataProvider(): RealGrid.LocalDataProvider | RealGrid.LocalTreeDataProvider; protected abstract createObject: () => { grid: GridType<G>; dataProvider: RealGrid.DataProviderBase; props: any; }; protected abstract beforeDestroy: () => { props: any; }; protected getProps(props: T): T; private $_connectEvents; private $_executeCallback; addCallback(callback: Function, type: string): void; removeCallback(callback: Function): void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: IRealGridBaseProps<G>, prevState: Readonly<{}>, snapshot?: any): void; render(): default_2.ReactNode; } export declare class RealGridReact extends RealBaseReact<GridType<RealGrid.GridView>, IRealGridViewProps> { get gridView(): RealGrid.GridView; get dataProvider(): RealGrid.LocalDataProvider; protected createObject: () => { grid: RealGrid.GridView; dataProvider: RealGrid.LocalDataProvider; props: any; }; protected beforeDestroy: () => { props: any; }; componentDidMount(): void; componentDidUpdate(prevProps: IRealGridViewProps, prevState: Readonly<{ isChildMounted: boolean; }>, snapshot?: any): void; } export declare class RealTreeReact extends RealBaseReact<GridType<RealGrid.TreeView>, IRealGridTreeProps> { get gridView(): RealGrid.TreeView; get dataProvider(): RealGrid.LocalTreeDataProvider; protected createObject: () => { grid: GridType<RealGrid.TreeView>; dataProvider: RealGrid.LocalTreeDataProvider; props: any; }; protected beforeDestroy: () => { props: any; }; componentDidMount(): void; componentDidUpdate(prevProps: IRealGridTreeProps, prevState: Readonly<{}>, snapshot?: any): void; } export declare class RGCheckBar extends ComponentBase<IRealGridCheckBar> { protected mountCB: () => void; protected unMountCB: () => void; } /** * DataColumn을 추가한다. * 그리드의 autoGenerateField속성이 true이면 컬럼과 Field를 동시에 추가한다. * textField외 dateField등 추가적인 값이 필요하면 field에 필요한 값들을 적어준다. * field생성후에는 fieldName을 변경하기 위해서는 browser를 refresh해야 한다. * <RGDataColumn field={{fieldName: "field", dataType: "date", datetimeFormat: "yyyyMMdd"}} .../> */ export declare class RGDataColumn extends ComponentBase<IComponentBase & IRealGridDataColumn> implements IRealGridDataColumn { static readonly CType = "$$RGColumn$$"; fieldName?: string; mounted?: boolean; private _column; protected mountCB: () => void; protected unMountCB: () => void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Readonly<{ [key in keyof IRealGridDataColumn]: IRealGridDataColumn[key]; }>, prevState: Readonly<{}>, snapshot?: any): void; } /** * DataField를 추가한다. * */ export declare class RGDataField extends ComponentBase<IRealGridDataField> { private _field; protected mountCB: () => void; protected unMountCB: () => void; } export declare class RGFilterPanel extends ComponentBase<Exclude<IRealGridFilterPanel, Function>> { protected mountCB: () => void; protected unMountCB: () => void; } /** * Footer의 속성을 변경할때 사용한다. */ export declare class RGFooter extends ComponentBase<IRealGridFooter> { protected mountCB: () => void; protected unMountCB: () => void; } /** * Footer를 여러개 만들때 사용한다. */ export declare class RGFooters extends ComponentBase<Exclude<IRealGridFooters, Function>> { protected mountCB: () => void; protected unMountCB: () => void; } export declare class RGGroupPanel extends ComponentBase<IRealGridGroupPanel> { protected mountCB: () => void; protected unMountCB: () => void; } export declare class RGHeader extends ComponentBase<IRealGridHeader> { protected mountCB: () => void; protected unMountCB: () => void; } /** * 여러개의 headerSummary를 만들때 사용한다. */ export declare class RGHeaderSummaries extends ComponentBase<Exclude<IRealGridheaderSummaries, Function>> { protected mountCB: () => void; protected unMountCB: () => void; componentDidMount(): void; componentWillUnmount(): void; } /** * headerSummary의 속성을 변경한다. */ export declare class RGHeaderSummary extends ComponentBase<IRealGridHeaderSummary> { protected mountCB: () => void; protected unMountCB: () => void; } export declare class RGLiteralColumn extends ComponentBase<IRealGridLiteralColumn> { static readonly CType = "$$RGColumn$$"; private _column; protected mountCB: () => void; protected unMountCB: () => void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Readonly<{ [key in keyof IRealGridLiteralColumn]: IRealGridLiteralColumn[key]; }>, prevState: Readonly<{}>, snapshot?: any): void; } export declare class RGRowIndicator extends ComponentBase<IRealGridRowIndicator> { protected mountCB: () => void; protected unMountCB: () => void; } /** * SeriesColumn을 추가한다. */ export declare class RGSeriesColumn extends ComponentBase<IRealGridSeriesColumn> { static readonly CType = "$$RGColumn$$"; private _column; protected mountCB: () => void; protected unMountCB: () => void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Readonly<{ [key in keyof IRealGridSeriesColumn]: IRealGridSeriesColumn[key]; }>, prevState: Readonly<{}>, snapshot?: any): void; } export declare class RGStateBar extends ComponentBase<IRealGridStateBar> { protected mountCB: () => void; protected unMountCB: () => void; } export { }