UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

222 lines (221 loc) 8.55 kB
/// <reference types="lodash" /> import { Key, ReactNode } from 'react'; import { ColumnProps } from './Column'; import DataSet from '../data-set/DataSet'; import Record from '../data-set/Record'; import { DragColumnAlign, ScrollPosition, TableAutoHeightType, TableColumnTooltip, TableHeightType, TableQueryBarType } from './enum'; import ColumnGroups from './ColumnGroups'; import Table, { expandIconProps, TableCustomized, TablePaginationConfig, TableProps, TableQueryBarHook } from './Table'; import { Size } from '../core/enum'; import TableEditor from './TableEditor'; import { HighlightRenderer } from '../field/FormField'; export declare const SELECTION_KEY = "__selection-column__"; export declare const ROW_NUMBER_KEY = "__row-number-column__"; export declare const DRAG_KEY = "__drag-column__"; export declare const EXPAND_KEY = "__expand-column__"; export declare const CUSTOMIZED_KEY = "__customized-column__"; export declare const AGGREGATION_EXPAND_CELL_KEY = "__aggregation-expand-cell__"; export declare type HeaderText = { name: string; label: string; }; export declare function getIdList(store: TableStore): number[]; export declare function mergeDefaultProps(originalColumns: ColumnProps[], tableAggregation?: boolean, customizedColumns?: { [key: string]: ColumnProps; }, parent?: ColumnProps | null, defaultKey?: number[], columnSort?: { left: number; center: number; right: number; }): [any[], any[], any[], boolean]; export declare function normalizeColumns(elements: ReactNode, tableAggregation?: boolean, customizedColumns?: { [key: string]: ColumnProps; }, parent?: ColumnProps | null, defaultKey?: number[], columnSort?: { left: number; center: number; right: number; }): [any[], any[], any[], boolean]; export default class TableStore { node: Table; editors: Map<string, TableEditor>; customizedLoaded?: boolean; props: TableProps; customized: TableCustomized; tempCustomized: TableCustomized; loading?: boolean; leftOriginalColumns: ColumnProps[]; originalColumns: ColumnProps[]; rightOriginalColumns: ColumnProps[]; hasAggregationColumn?: boolean; calcBodyHeight: number; width?: number; height?: number; totalHeight?: number; lastScrollTop: number; lockColumnsBodyRowsHeight: any; lockColumnsFootRowsHeight: any; lockColumnsHeadRowsHeight: any; expandedRows: (string | number)[]; hoverRow?: Record; rowClicked?: boolean; currentEditorName?: string; styledHidden?: boolean; customizedActiveKey: string[]; mouseBatchChooseStartId: number; mouseBatchChooseEndId: number; mouseBatchChooseState: boolean; mouseBatchChooseIdList: number[]; columnResizing?: boolean; scrollPosition: ScrollPosition; inBatchExpansion: boolean; performanceOn: boolean; lastSelected?: Record; timing: { renderStart: number; renderEnd: number; }; get bodyHeight(): number; get stickyLeft(): boolean; get stickyRight(): boolean; get performanceEnabled(): boolean; get dataSet(): DataSet; get prefixCls(): string; get customizable(): boolean | undefined; get aggregation(): boolean | undefined; get aggregationExpandType(): 'cell' | 'row' | 'column'; get autoHeight(): { type: TableAutoHeightType; diff: number; } | undefined; get heightType(): TableHeightType; get originalHeightType(): TableHeightType; get virtualCell(): boolean | undefined; /** * number 矫正虚拟滚动由于样式问题导致的高度不符问题 */ get virtualRowHeight(): number; get virtual(): boolean | undefined; get virtualHeight(): number; get virtualStartIndex(): number; get virtualEndIndex(): number; get virtualTop(): number; get virtualData(): Record[]; get hidden(): boolean | undefined; get alwaysShowRowBox(): boolean; get keyboard(): boolean; get columnResizable(): boolean; get columnHideable(): boolean; /** * 表头支持编辑 */ get columnTitleEditable(): boolean; get pagination(): TablePaginationConfig | false | undefined; get dragColumnAlign(): DragColumnAlign | undefined; get columnDraggable(): boolean; get rowDraggable(): boolean; get size(): Size; get rowHeight(): 'auto' | number; get autoFootHeight(): boolean; get emptyText(): ReactNode; get highLightRow(): boolean | string; get parityRow(): boolean; get showRemovedRow(): boolean; get autoFocus(): boolean; get selectedHighLightRow(): boolean; get editorNextKeyEnterDown(): boolean; get border(): boolean; get columnEditorBorder(): boolean; get queryBar(): TableQueryBarType | TableQueryBarHook | undefined; get expandIcon(): ((props: expandIconProps) => ReactNode) | undefined; get currentEditRecord(): Record | undefined; set currentEditRecord(record: Record | undefined); showCachedSelection?: boolean; get isTree(): boolean; get editing(): boolean; get hasRowBox(): boolean; get useMouseBatchChoose(): boolean; get showSelectionTips(): boolean; get overflowX(): boolean; get overflowY(): boolean; customizedColumnHeader(): JSX.Element; get customizedColumn(): ColumnProps | undefined; get expandColumn(): ColumnProps | undefined; get rowNumberColumn(): ColumnProps | undefined; get selectionColumn(): ColumnProps | undefined; get draggableColumn(): ColumnProps | undefined; get leftColumns(): ColumnProps[]; get rightColumns(): ColumnProps[]; get columns(): ColumnProps[]; get columnGroups(): ColumnGroups; get leftColumnGroups(): ColumnGroups; get rightColumnGroups(): ColumnGroups; get leafNamedColumns(): ColumnProps[]; get hasEmptyWidthColumn(): boolean; get hasCheckFieldColumn(): boolean; get hasFooter(): boolean; get isAnyColumnsLeftLock(): boolean; get isAnyColumnsRightLock(): boolean; get isAnyColumnsLock(): boolean; get data(): Record[]; get indeterminate(): boolean; get allChecked(): boolean; get expandIconAsCell(): boolean; get expandIconColumnIndex(): number; get inlineEdit(): boolean; private handleSelectAllChange; handleLoadCustomized(): void; constructor(node: Table); isBuiltInColumn({ key }: ColumnProps): boolean | undefined; getColumnTooltip(column: ColumnProps): TableColumnTooltip | undefined; getColumnHeaders(): Promise<HeaderText[]>; showEditor(name: string): void; setLastScrollTop(lastScrollTop: number): void; hideEditor(): void; changeMouseBatchChooseIdList(idList: number[]): void; showNextEditor(name: string, reserve: boolean): void; setProps(props: any): void; updateProps(props: any): void; initColumns(): void; isAggregationCellExpanded(record: Record, key: Key): boolean; setAggregationCellExpanded(record: Record, key: Key, expanded: boolean): void; isRowExpanded(record: Record): boolean; /** * * @param record 想修改的record * @param expanded 设置是否展开 * @param disHandler 设置是否需要触发展开事件 */ setRowExpanded(record: Record, expanded: boolean, disHandler?: boolean): void; isRowPending(record: Record): boolean; setRowPending(record: Record, pending: boolean): void; isRowLoaded(record: Record): boolean; setRowLoaded(record: Record, loaded: boolean): void; isRowHover(record: Record): boolean; get canTreeLoadData(): boolean; get cellHighlightRenderer(): HighlightRenderer; setRowHover(record: Record, hover: boolean): void; expandAll(): void; collapseAll(): void; onTreeNodeLoad({ record }: { record: Record; }): Promise<any>; renderSelectionBox({ record }: { record: any; }): ReactNode; renderRowNumber({ record, dataSet }: { record: any; dataSet: any; }): ReactNode; renderDragBox({ record }: { record: any; }): JSX.Element; changeCustomizedColumnValue(column: ColumnProps, value: object): void; saveCustomized(customized?: TableCustomized | null): void; saveCustomizedDebounce: ((customized?: TableCustomized | null | undefined) => void) & import("lodash").Cancelable; openCustomizationModal(modal: any): void; loadCustomized(): Promise<void>; handleAllPageSelectionMenuClick({ key }: { key: any; }): void; renderAllPageSelectionMenu(): JSX.Element; private multipleSelectionRenderer; }