choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
106 lines (105 loc) • 3.84 kB
TypeScript
import { ObservableMap } from 'mobx';
import DataSet, { RecordValidationErrors } from './DataSet';
import Field, { FieldProps, Fields } from './Field';
import DataSetSnapshot from './DataSetSnapshot';
import { RecordStatus } from './enum';
export default class Record {
id: number;
dataSet?: DataSet;
fields: Fields;
memo?: object;
prepareForReport?: {
result?: boolean;
timeout?: number;
} | undefined;
dataSetSnapshot?: {
[key: string]: DataSetSnapshot;
} | undefined;
cascadeRecordsMap?: {
[key: string]: Record[];
} | undefined;
cascading?: {
[key: string]: boolean;
} | undefined;
validating?: boolean | undefined;
data: object;
dirtyData?: ObservableMap<string, any> | undefined;
get pristineData(): object;
set pristineData(data: object);
status: RecordStatus;
get selectable(): boolean;
set selectable(selectable: boolean);
get isDataSetInAllPageSelection(): boolean;
get isSelected(): boolean;
set isSelected(isSelected: boolean);
isCurrent?: boolean;
isCached?: boolean;
editing?: boolean;
pending?: boolean;
childrenLoaded?: boolean;
state?: ObservableMap<string, any> | undefined;
private $children;
private $parent;
get key(): string | number;
get index(): number;
get indexInParent(): number;
get isRemoved(): boolean;
get isNew(): boolean;
get isSelectionIndeterminate(): boolean;
get isIndeterminate(): boolean;
get isExpanded(): boolean;
set isExpanded(expand: boolean);
get previousRecord(): Record | undefined;
get nextRecord(): Record | undefined;
get records(): Record[];
get children(): Record[] | undefined;
set children(children: Record[] | undefined);
get parent(): Record | undefined;
set parent(parent: Record | undefined);
get parents(): Record[];
get path(): Record[];
get level(): number;
get dirty(): boolean;
get cascadeParent(): Record | undefined;
constructor(data?: object, dataSet?: DataSet, status?: RecordStatus);
/**
* 转换成普通数据
* 一般用于父级联数据源中的json类型字段
* 禁止通过此方法获取某一个或几个字段值
*/
toData(needIgnore?: boolean, noCascade?: boolean, isCascadeSelect?: boolean, all?: boolean): any;
/**
* 转换成用于提交的数据
*/
toJSONData(noCascade?: boolean, isCascadeSelect?: boolean): any;
validate(all?: boolean, noCascade?: boolean): Promise<boolean>;
reportValidity(result: boolean): void;
getValidationErrors(): RecordValidationErrors[];
getField(fieldName?: string): Field | undefined;
getCascadeRecordsIncludeDelete(fieldName?: string): Record[] | undefined;
getCascadeRecords(fieldName?: string): Record[] | undefined;
getCascadeSelectedRecordsIncludeDelete(fieldName?: string): Record[] | undefined;
getCascadeSelectedRecords(fieldName?: string): Record[] | undefined;
get(fieldName?: string | string[]): any;
set(item: string | object, value?: any): Record;
getPristineValue(fieldName?: string): any;
init(item: string | object, value?: any): Record;
clone(): Record;
ready(): Promise<any>;
tls(name?: string): Promise<void>;
reset(): Record;
save(): Record;
restore(): Record;
clear(): Record;
commit(data?: object, dataSet?: DataSet): Record;
setState(item: string | object, value?: any): this;
getState(key: string): any;
treeReduce<U>(fn: (previousValue: U, record: Record) => U, initialValue: U): U;
private commitTls;
private initFields;
addField(name: string, fieldProps?: FieldProps): Field;
private processFieldValue;
private processData;
private normalizeData;
private normalizeCascadeData;
}