import { InstanceBase } from '@mjcloud/instance'; import { IControlBaseProps } from '../base'; import { IState, IInitialStateParams } from '@mjcloud/redux'; import { ContainerControlActionType, ContainerControlEventType } from '@mjcloud/instance/dist/containerInstanceBase'; import { XmlNode, XmlList, IControlSetConfig, ControlConfig } from '@mjcloud/types'; export declare type GridEventType = ContainerControlEventType; export declare type GridActionType = ContainerControlActionType; export interface IGridConfigItem extends XmlNode { id: string; index?: number; /** 跨列数。默认为:1 */ colspan?: number; /** * 控件配置,若为可则表示该控件配置位于页面下 */ control?: ControlConfig; } export interface IGridConfigSection extends XmlNode { id?: string; index?: number; /** * 段落标题。默认不显示标题 */ title?: string; /** * 当前段落每行显示的子项数。默认为:2 */ cols?: number; items: IGridConfigItem[]; } export interface IGridConfig extends IControlSetConfig { direction: 'row' | 'column'; sections: XmlList; } export interface IGridItem extends IControlBaseProps { id: string; index?: number; /** 跨列数。默认为:1 */ colspan?: number; } export interface IGridSection { id?: string; index?: number; /** * 段落标题。默认不显示标题 */ title?: string; /** * 当前段落每行显示的子项数。默认为:2 */ cols?: number; items: IGridItem[]; } export interface IGridState extends IState { direction: 'row' | 'column'; sections: IGridSection[]; } export interface IGridInitialStateParams extends IInitialStateParams { createControl(config: IGridConfigItem): InstanceBase | null; }