///
import GridView from '.';
import { IConfigStartLoadParams } from '@mjcloud/redux';
import { IComplexTableResult } from '@mjcloud/data-source-helper';
import { IEventArg } from '@mjcloud/utils/dist/events/eventListening';
import { ControlConfig, XmlList, IDictionary } from '@mjcloud/types';
import { TablePaginationConfig, TableRowSelection, RowSelectionType } from 'antd/lib/table/interface';
import { ITableBaseState, ITableBaseConfigSet, ITableBaseConfigItem, ITableBaseConfigParent, ITableBaseInitialStateParams, TableBaseActionType, TableBaseEventType, ITableBaseRow, IDownMergeColumn } from '../common/table/typings';
import { IDataControlLoadedParams, IDataControlStartLoadParams } from '@mjcloud/instance/dist/dataInstanceBase';
export interface IGridViewConfigItem extends ITableBaseConfigItem {
}
export declare type IGridViewConfigItemSet = IGridViewConfigParent | IGridViewConfigItem;
export interface IGridViewConfigParent extends ITableBaseConfigParent {
items?: IGridViewConfigItemSet[];
}
export interface IGridViewConfigCardItem {
id: string;
colspan?: number;
position?: 'left' | 'right';
backgroundColorCommand?: string;
}
export interface IGridViewConfigCard {
cols: number;
labelNumber: number;
labelWidth?: number;
title: IGridViewConfigCardItem[];
status: IGridViewConfigCardItem[];
items?: IGridViewConfigCardItem[];
}
export interface IGridViewConfigList {
title: IGridViewConfigCardItem[];
status: IGridViewConfigCardItem[];
items?: IGridViewConfigCardItem[];
}
export interface IGridViewConfigCardList {
topTitle?: string;
enableCount?: boolean;
title: IGridViewConfigCardItem[];
date: IGridViewConfigCardItem[];
avatar: IGridViewConfigCardItem[];
status: IGridViewConfigCardItem[];
tags: IGridViewConfigCardItem[];
items?: IGridViewConfigCardItem[];
}
export interface IGridViewConfig extends ITableBaseConfigSet {
card?: IGridViewConfigCard;
list?: IGridViewConfigList;
cardList?: IGridViewConfigCardList;
showPager: boolean;
rowSelection: boolean;
isAutoSelection: boolean;
rowSelectionType: RowSelectionType;
items: XmlList;
buttons?: XmlList;
}
export interface IGridViewState extends ITableBaseState {
downMergeColumns: IDictionary;
originalColumns: IGridViewConfigItemSet[];
pagination: TablePaginationConfig | false;
isAutoSelection: boolean;
selectedRows: ITableBaseRow[] | undefined;
rowSelection: TableRowSelection | undefined;
rowClickController?: string;
clickLoading: boolean;
card: IGridViewConfigCard | undefined;
list: IGridViewConfigList | undefined;
cardList: IGridViewConfigCardList | undefined;
}
export interface IGridViewConfigStartLoadParams extends IConfigStartLoadParams {
}
export interface IGridViewInitialStateParams extends ITableBaseInitialStateParams {
render?: (cell: React.ReactPortal, item: ITableBaseConfigItem, text: any, record: ITableBaseRow, index: number) => React.ReactPortal;
}
export interface IGridViewLoadedParams extends IDataControlLoadedParams {
dataSource: IComplexTableResult;
callbackfn?: (row: IDictionary, index: number, array: IDictionary[]) => IDictionary;
}
export declare type GridViewActionType = TableBaseActionType | 'updateSelectedRows' | 'rowClickAfter' | 'clickDone';
export interface IGridViewStartLoadParams extends IDataControlStartLoadParams {
}
export interface IGridViewUpdateSelectedRowsParams {
row: ITableBaseRow;
checked: boolean;
selectedRows: ITableBaseRow[];
actionSourceSign?: any;
}
export declare type GridViewEventType = TableBaseEventType | 'rowClick' | 'rowDblClick' | 'selectedChange' | 'rowAfterClick' | 'rowBeforeClick';
export interface IGridViewSelectedChangeData {
selectedRows: ITableBaseRow[];
}
export interface IGridViewSelectedChangeArg extends IEventArg {
}