UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

106 lines (105 loc) 2.54 kB
import React from 'react'; import { RendererProps } from '../../factory'; import type { TooltipObject } from '../../components/TooltipWrapper'; import { IColumn } from '../../store/table'; export interface ColumnTogglerProps extends RendererProps { /** * 按钮文字 */ label?: string | React.ReactNode; /** * 按钮提示文字,hover focus 时显示 */ tooltip?: string | TooltipObject; /** * 禁用状态下的提示 */ disabledTip?: string | TooltipObject; /** * 点击外部是否关闭 */ closeOnOutside?: boolean; /** * 点击内容是否关闭 */ closeOnClick?: boolean; /** * 下拉菜单对齐方式 */ align?: 'left' | 'right'; /** * ColumnToggler的CSS类名 */ className?: string; /** * 按钮的CSS类名 */ btnClassName?: string; /** * 按钮大小 */ size?: 'xs' | 'sm' | 'md' | 'lg'; /** * 按钮级别,样式 */ level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link'; /** * 是否独占一行 `display: block` */ block?: boolean; /** * 是否可通过拖拽排序 */ draggable?: boolean; /** * 默认是否展开 */ defaultIsOpened?: boolean; /** * 激活状态 */ isActived?: boolean; /** * ICON名称 */ icon?: string | React.ReactNode; /** * 是否只显示图标。 */ iconOnly?: boolean; /** * 是否隐藏展开的Icon */ hideExpandIcon?: boolean; /** * 是否显示遮罩层 */ overlay?: boolean; /** * 列数据 */ columns: Array<IColumn>; getRawColumns?: () => Array<IColumn>; onColumnToggle: (columns: Array<IColumn> | undefined, saveCols: Record<string, any>, canFetch: boolean, targetTemp?: Temp) => void; modalContainer?: () => HTMLElement; filteredColumns?: Array<IColumn>; saveColApi?: { data?: { [key: string]: string; }; method: 'string'; url: string; }; } declare type SaveColType = Record<string, { index: number; hidden: 0 | 1; fixed?: string; }>; export interface Temp { tempKey: string; tempName: string; columnInfo: SaveColType; } declare const ColumnToggler: (props: ColumnTogglerProps) => JSX.Element; export default ColumnToggler;