linkmore-design
Version:
🌈 🚀lm组件库。🚀
105 lines (104 loc) • 3.69 kB
TypeScript
import type { ColumnType, TableProps } from '../table';
import React from 'react';
export declare type UFXSCMCloudDomainSharedFieldAuthorityTypeEnum = 0 | 1;
declare type TroleFiledKeys = {
key: string;
type: UFXSCMCloudDomainSharedFieldAuthorityTypeEnum;
};
declare type TDecimalType = 'amount' | 'price' | 'number';
export interface ILmEditTable extends TableProps<any> {
value: TableProps<any>['dataSource'];
isEdit?: boolean;
isAdd?: boolean;
rowKey?: string;
disabled?: boolean;
rowHoverEdit?: boolean;
isUseForm?: boolean;
isHoverEdit?: boolean;
useQuickOpetate?: boolean | string[];
quickOpetateClearAll?: boolean;
sortOpen?: boolean;
size?: TableProps<any>['size'];
colSortOpen?: boolean;
indexCol?: boolean | Record<string, any>;
autoSizer?: boolean;
filterChange?: (data: TableProps<any>['columns']) => void;
recordCreatorProps?: {
creatorButtonText?: string;
style?: Record<string, any>;
initData?: Record<string, any> | (() => Record<string, any>);
customAddClick?: () => void;
};
/** 是否为强制更新 */
shouldUpdate?: boolean;
rowSelection?: TableProps<any>['rowSelection'] & {
selectedRows?: Record<string, any>;
};
rowDisabled?: {
disabledRows?: Record<string, any>;
};
initialiZindex?: number;
emptyProps?: any;
copyFormat?: (dataSource: TableProps<any>['dataSource'], options: {
key?: string;
value?: string;
type?: 'up' | 'down';
rowIndex?: number;
}) => void;
/** 敏感列keys */
roleFiledKeys?: TroleFiledKeys[];
resizable?: boolean;
columnsValueDecimal?: Record<TDecimalType, number>;
}
export interface CountdownHandle {
setRow: (data: any) => void;
getCheckboxRecords: () => any[];
clearSelect: () => void;
customSetCheckboxRecords: (data: any[]) => void;
deleteRowData: (record: string | Record<string, any>) => void;
addRowData: (record: string | Record<string, any>, defaultValue?: Record<string, any> | Record<string, any>[], addInChild?: boolean | 'replace') => void;
verify: () => Promise<any>;
}
interface ILmColumns extends ColumnType<any> {
editable?: 'input' | 'number' | 'inputRange' | 'date' | 'select' | 'multiple' | 'checkbox' | 'radio' | 'switch' | 'upload' | 'operate' | 'lm_edit_opetate' | 'render';
dataIndex?: string;
itemProps?: Record<string, any>;
editEnum?: any;
valueType?: any;
children?: ILmColumns[];
order?: number;
componentProps?: Record<string, any>;
relevanceCols?: boolean;
roleKey?: string;
decimalType?: TDecimalType;
formProps?: any;
}
export declare type TLmEditTable = {
onChange?: (data: any[]) => void;
columns: ILmColumns[];
virtual?: boolean;
onPaste?: (data: {
event?: React.ClipboardEvent<HTMLDivElement>;
type?: string;
dataSource?: TableProps<any>['dataSource'];
getColumnsByIndex: (index: number) => ILmColumns;
rowIndex: number;
colIndex: number;
dataIndex: string;
}) => void;
} & ILmEditTable;
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<{
onChange?: (data: any[]) => void;
columns: ILmColumns[];
virtual?: boolean;
onPaste?: (data: {
event?: React.ClipboardEvent<HTMLDivElement>;
type?: string;
dataSource?: readonly any[];
getColumnsByIndex: (index: number) => ILmColumns;
rowIndex: number;
colIndex: number;
dataIndex: string;
}) => void;
} & ILmEditTable & React.RefAttributes<CountdownHandle>>>;
export default _default;