dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
157 lines (156 loc) • 4.38 kB
TypeScript
import { OwnerByEnum, ILabelKey, IColumnType } from '../../services/eleview/types/model';
import { ConditionalTemplate } from '../../element/service/recordview-param';
export interface TableColumnType extends IColumnType {
/**附加的属性,用于客户端 */
index: number;
sticky: boolean;
stickyEnd: boolean;
showToolbar: boolean;
}
export declare enum Order {
OrderAsc = "+",
OrderDesc = "-",
OrderNone = ""
}
export declare enum SelectType {
Selected = "s",
Unselected = "ns"
}
export interface ConditionalValue {
Type: string;
Field: string;
Value: any;
}
export interface RangeInputConditionalValue {
LowValue: string;
HighValue: string;
}
export interface SelectConditionalValue {
Value: string;
OtherOption: string;
Options: string[];
}
export interface MultiSelectConditionalValue {
Value: string[];
OtherOption: string;
Options: string[];
}
export interface SliderConditionalValue {
LowValue: number;
HighValue: number;
PositiveInfinity: boolean;
NegativeInfinity: boolean;
Ratio: number;
}
export interface IFetchDataParam {
/**分隔行的主键值*/
Divide?: Array<string>;
/**排序的字段,升序只填字段名,降序字段名前加-(减号)*/
Order?: Array<string>;
/**字段*/
Field?: string;
/**运算符*/
Opt?: string;
/**值*/
Value?: string;
/**选择类型*/
SelType?: string;
/**选择的主键*/
SelKeys?: Array<string>;
/**每页最多行数*/
Limit?: number;
/**开始行号*/
DivideRowNum?: number;
Labels?: ILabelKey[];
View?: IElementViewDigest;
ConditionalTemplate?: ConditionalValue[];
}
export interface IFetchRowCountResult {
RowCount: number;
}
export interface IFetchDataResultType {
Error: string;
FData: IFetchDataResult;
}
export interface IFetchDataResult {
Title: string;
Rows: Array<IRenderRow>;
Columns: Array<IColumnType>;
DisplayColumns: Array<IColumnType>;
/**一般为0,除非最后一页,通过最后的序号得出总数 */
RowCount: number;
/**下一页用到的起始序号 */
DownRowNum: number;
/**下一页用到的起始分界值 */
DownDivide: string[];
/**非绑定记录的处理按钮的可用性 */
Processes: {
[key: string]: IRenderProcess;
};
}
export interface IRenderProcess {
URL: string;
Sign: string;
Enabled: boolean;
}
export interface IRenderRow {
RowNum: number;
/**是否被选中 */
Checked: boolean;
/**该行关联的主键值,多字段用csv格式组合 */
Key: string;
Data: any;
/**绑定记录的处理按钮的可用性 */
Processes: {
[key: string]: IRenderProcess;
};
}
/**菜单项定义中的处理按钮的参数 */
export interface IRecordViewProcess {
Name: string;
/**[namespace]:[name] 的方式*/
Icon: string;
/**图标的颜色 */
Color: string;
ElementName: string;
Element: {
Name: string;
Label: string;
LabelEN: string;
Category: string;
CategoryEN: string;
Icon: string;
Color: string;
Controller: string;
Bill: boolean;
BillOperate: string;
URL: string;
};
BindRecord: boolean;
/**传递到下一个工作元素的路径上,一般用来传递主键,如果为空则自动传递表的主键*/
TransPath: string[];
/**传递到下一个工作元素的参数,用模板来完成,
一般是用来传递到另一个RecordView的附加条件及标题 */
TransQuery: string;
/**是否传递sql */
WithSql: boolean;
/**非空的话计算可见性,用templater的语法*/
Visable: string;
/**动态传入的more参数,从recordview的query中提取*/
MoreStr: string;
}
export interface IFetchParamResult {
UniqueField: string[];
Processes: IRecordViewProcess[];
ConditionalTemplates: ConditionalTemplate[];
}
export interface IDisplayColumn {
Name: string;
Hidden: boolean;
Order: Order;
}
export interface IElementViewDigest {
OwnerBy: OwnerByEnum;
Owner: string;
Name: string;
}