UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

114 lines (113 loc) 3.36 kB
import React from 'react'; import { RendererProps } from '../factory'; import { BaseSchema, SchemaClassName, SchemaCollection } from '../Schema'; import { FormSchemaHorizontal } from './Form/index'; export declare const ColProps: string[]; export declare type GridColumnObject = { /** * 极小屏(<768px)时宽度占比 */ xs?: number | 'auto'; /** * 小屏时(>=768px)宽度占比 */ sm?: number | 'auto'; /** * 中屏时(>=992px)宽度占比 */ md?: number | 'auto'; /** * 大屏时(>=1200px)宽度占比 */ lg?: number | 'auto'; /** * 垂直对齐方式 */ valign?: 'top' | 'middle' | 'bottom' | 'between'; /** * 配置子表单项默认的展示方式。 */ mode?: 'normal' | 'inline' | 'horizontal'; /** * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。 */ horizontal?: FormSchemaHorizontal; body?: SchemaCollection; /** * 列类名 */ columnClassName?: SchemaClassName; style: { [key: string]: string | number; }; }; export declare type GridColumn = GridColumnObject; export declare type ColumnNode = GridColumn; export interface ColumnArray extends Array<ColumnNode> { } /** * Grid 格子布局渲染器。 * 文档:https://baidu.gitee.io/amis/docs/components/grid */ export interface GridSchema extends BaseSchema { /** * 指定为 Grid 格子布局渲染器。 */ type: 'grid'; /** * 列集合 */ columns: Array<GridColumn>; /** * 水平间距 */ gap?: 'xs' | 'sm' | 'base' | 'none' | 'md' | 'lg'; /** * 垂直对齐方式 */ valign?: 'top' | 'middle' | 'bottom' | 'between'; /** * 水平对齐方式 */ align?: 'left' | 'right' | 'between' | 'center'; } export interface GridProps extends RendererProps, Omit<GridSchema, 'type' | 'className' | 'columnClassName'> { itemRender?: (item: any, length: number, props: any) => JSX.Element; sroll?: boolean; className?: string; distance?: boolean; } export default class Grid<T> extends React.Component<GridProps & T, { x: number; scrollRefLeft: number; scrollRefTop: number; mds: string[]; isDrag: boolean; distanceStyle: string; }> { static propsList: Array<string>; constructor(props: GridProps & T); scrollParent: any; scrollRef: any; scrollRefChildren: any; gridRef: any; timer: any; timmerHandle: any; get region(): { total: number; regions: number[]; }; antiShake(callBack: Function, wait?: number, rest?: unknown): () => void; renderChild(region: string, node: SchemaCollection, length: number, props?: any): JSX.Element; scrollRefMouseDown(e: MouseEvent): void; scrollRefMouseUp(e: MouseEvent): void; scrollRefMouseUps(e: MouseEvent): void; renderColumn(column: ColumnNode, key: number, length: number): JSX.Element; renderColumns(columns: ColumnArray): JSX.Element[] | null; componentDidMount(): void; componentWillUnmount(): void; updateAutoFillHeight(): void; render(): JSX.Element; } export declare class GridRenderer extends Grid<{}> { }