import { SwitchBaseSet, DatetimeBaseSet, NumberBaseSet } from "./parameters"; import { IEvent } from "./events"; import { OpenPageInfoType } from "../clientData"; export interface TableSetType { /** * 是否显示分页,默认为: `true` */ showPager?: boolean; /** * 如果显示分页,每页显示行数,默认为系统设置值 */ pageSize?: number; /** * 是否显示序号列,默认为: `true` */ showOrdinal?: boolean; /** * 固定列数,不含序号列和多选列,从1开始,0表示不固定列 */ fastnessCount?: number; /** * 是否显示合计数据,默认为: `false` */ showSummary?: boolean; /** * 是否可以自定义列位置和显示状态,默认为: `true` */ mayCustom?: boolean; /** * 是否默认收起行按钮,默认为: `false` */ collapseMenu?: boolean; /** * 绑定数据源中对应键的值以设置表格行的可用状态,默认为:`disabled` */ rowDisabledId?: string; } export interface TableRowSet { parent?: TableParentType; item?: TableItemType; } export interface TableRowType { /** * 列标题 */ title: string; /** * 标题颜色 */ titleColor?: string; /** * 帮助提示信息 */ helpTip?: string; /** * 帮助图标,当指定了helpTip后有效,默认为(?)图标 */ helpIcon?: string; } /** * 表格中父列项 */ export interface TableParentType extends TableRowType { /** * 子列集合 */ items?: { [k: string]: TableRowSet; }; } /** 表格中单列项 */ export interface TableItemType extends TableRowType { /** * 列宽 */ width?: number; /** * 指定的排序字段信息 */ orderby?: string; /** * 是否允许手动排序,默认为:true */ maySort?: boolean; /** * 显示控制 */ control?: T; } /** 表格中数据类型 */ export interface TableColumns { /** * 显示成文本 */ text?: TableTextColumn; /** * 显示成数值 */ number?: TableNumberColumn; /** * 显示成日期 */ datetime?: TableDatetimeColumn; /** * 显示成开关效果 */ switch?: TableSwitchColumn; /** * 显示成链接 */ hyperlink?: TableHyperLinkColumn; /** * 显示成缩略图 */ image?: TableImageColumn; } export interface TableTextColumn { /** * 文本对齐方式 */ aligin?: "left" | "right" | "center"; /** * 显示颜色,可以是一个表达式,也可以是一个函数来动态获取颜色值 */ color?: string; } export interface TableNumberColumn extends NumberBaseSet { /** * 显示颜色,可以是一个表达式,也可以是一个函数来动态获取颜色值 */ color?: string; /** * 是否显示合计,默认为:false */ showSummary?: boolean; summary?: NumberBaseSet; } export interface TableDatetimeColumn extends DatetimeBaseSet { } export interface TableSwitchColumn extends SwitchBaseSet { } export interface TableHyperLinkColumn { /** * 显示的文本对应的字段 */ textField?: string; openWindow?: OpenPageInfoType; /** * 事件集合 */ events?: { /** * 单击事件 */ click?: IEvent[]; }; } export interface TableImageColumn { /** * 图片名称对应的字段 */ imageNameField?: string; } export interface TableEvents { /** * 数据第一次加载完成后事件 */ ready?: IEvent[]; /** * 每次加载完数据后事件 */ loadAfter?: IEvent[]; /** * 行点击事件 */ rowClick?: IEvent[]; /** * 行双击事件 */ rowDblClick?: IEvent[]; /** * 选中行更改事件 */ selectedChange?: IEvent[]; }