import { Scope } from "./Scope"; export declare enum FuncDomain { SCOPE = "scope", SYSTEM = "system" } export declare enum BizMode { query = 1, formAndGridEdit = 2, formEditOnly = 3, gridEditOnly = 4 } export declare enum BizFormat { button = 1, progress = 2, date = 3, datetime = 4, percentage = 5 } export declare enum BizUnique { u_a = 1, u_wh = 2, u_ow = 3, u_pj = 4, u_od = 5, u_wh_ow_pj = 6 } export interface BizField { column_desc: string; column_name: string; mode: BizMode; column_domain: string; column_length: number; column_precision: number; hide: string; xtype: string; readonly: string; disabled: string; required: string; dict: string; datasource: string; dataconv: string; format: BizFormat; grid_sort: number; form_sort: number; form_label: string; form_group: string; grid_width: number; grid_weight: number; form_high: number; form_newline: string; unique: BizUnique; defaults: string; change_event: string; scan_event: string; front_logic: string; } export interface BizListeners { [propName: string]: string; } export interface BizButton { sort: number; btn_name: string; hidden: string; listeners: BizListeners; icon: string; } export interface BizDomain { name?: string; layout?: DomainLayout; controller: string; groovy: string; fields: BizField[]; buttons: BizButton[]; } export interface DomainLayout { name?: string; } export interface BillFile { domains: { [propName: string]: { domain: string; layout: string; type: "header" | "detail"; header: string; mode: "table" | "form"; }; }; layout: string; name: string; converter: string; } export interface BizLayout { layout?: "fit" | "border"; items: { domain: string; region?: "center" | "north" | "south" | "east" | "west"; height?: string; width?: string; layout?: BizLayout; }[]; } export interface BizConverter { [propName: string]: { [propName: string]: string; }; } export interface BizFile { bill: BillFile; domains: { [propName: string]: BizDomain; }; layout: BizLayout; converter: BizConverter; } export declare class ScopeEngine { static getBizFile(director: any): Promise; static buildScopeFromBillFile(billFile: BillFile): Promise; static buildScopeFromPath(path: string): Promise; static buildScopeFromBizFile(bizFile: BizFile): Scope; private static buildForm; private static buildGrid; private static buildFieldSet; private static buildButton; private static buildListeners; /** * 只检索 items 的模式,深度遍历 vjson */ private static deepTravVJsonReplaceDomain; }