smart-grid-g
Version:
gantd smart-grid-g
90 lines (89 loc) • 2.8 kB
TypeScript
import React from 'react';
import { GridProps, Columns } from 'grid-g';
export declare enum Fields {
Input = "Input",
InputNumber = "InputNumber",
InputUrl = "InputUrl",
InputTelePhone = "InputTelePhone",
InputCellPhone = "InputCellPhone",
InputEmail = "InputEmail",
InputLanguage = "InputLanguage",
InputMoney = "InputMoney",
TextArea = "TextArea",
DatePicker = "DatePicker",
Selector = "Selector",
LocationSelector = "LocationSelector"
}
export interface CustomColumnProps<R> extends Columns<R> {
componentType?: Fields | React.ReactElement;
}
export interface ColumnConfig {
fieldName: string;
fixed?: 'left' | 'right';
sort?: string;
width?: number | string;
hidden?: boolean;
}
export interface PanelConfig {
columnFields: ColumnConfig[];
}
export interface ViewConfig {
viewId: string;
name: string;
version: string;
panelConfig: PanelConfig;
}
export interface SchemaProp<R> {
supportColumnFields: CustomColumnProps<R>[];
systemViews: ViewConfig[];
}
export interface ViewListProps {
systemViews: ViewConfig[];
customViews: ViewConfig[];
}
export declare type GantGridProps<T> = Omit<Partial<GridProps<T>>, 'columns'>;
export interface SmartGridProps<T> extends GantGridProps<T> {
schema: SchemaProp<T> | CustomColumnProps<T>[];
title?: string | React.ReactElement;
headerRight?: React.ReactElement;
headerProps?: object;
viewSchema?: ViewConfig;
initView?: ViewConfig;
onViewChange?: (viewSchema: any) => void;
emptyDescription?: string;
prefixCls?: string;
customViews?: ViewConfig[];
companyViews?: ViewConfig[];
lastViewKey?: string;
onCustomViewsChange?: (views: ViewConfig[]) => void;
onCompanyViewsChange?: (views: ViewConfig[]) => void;
userId?: string;
companyViewAuth?: boolean;
getCustomViews?: (gridKey: string) => Promise<ViewConfig[]>;
getCompanyViews?: (gridKey: string) => Promise<ViewConfig[]>;
setCustomViews?: (gridKey: string, views: ViewConfig[]) => void;
setCompanyViews?: (gridKey: string, views: ViewConfig[]) => void;
bindKeys?: any;
onReload?: () => void;
withoutAnimation?: boolean;
showDisplayConfig?: boolean;
hideHeader?: boolean;
height?: number | string;
style?: object;
smartGridViewName?: string;
}
/** 兼容旧写法 */
export declare type SmartTableProps<T> = SmartGridProps<T>;
export interface SmartGridType {
<T>(props: SmartGridProps<T>): React.ReactElement;
setFields?: (field: Object) => void;
setProps?: (props: Object) => void;
}
export declare enum langEnum {
'zh-CN' = "zh-CN",
'en-US' = "en-US"
}
export interface LocalWrapperProps<T> extends SmartGridProps<T> {
locale?: any;
i18n?: langEnum;
}