choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
81 lines (80 loc) • 2.92 kB
TypeScript
import { ObservableMap } from 'mobx';
import DataSet 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;
dataSetSnapshot: {
[key: string]: DataSetSnapshot;
};
cascadeRecordsMap: {
[key: string]: Record[];
};
cascading: {};
data: object;
dirtyData: ObservableMap<string, any>;
get pristineData(): object;
set pristineData(data: object);
status: RecordStatus;
selectable: boolean;
isSelected: boolean;
isCurrent: boolean;
isCached: boolean;
editing?: boolean;
pending?: boolean;
childrenLoaded?: boolean;
state: ObservableMap<string, any>;
get key(): string | number;
get index(): number;
get indexInParent(): number;
get isRemoved(): boolean;
get isNew(): 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;
get 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);
toData(needIgnore?: boolean, noCascade?: boolean, isCascadeSelect?: boolean, all?: boolean): any;
toJSONData(noCascade?: boolean, isCascadeSelect?: boolean): any;
validate(all?: boolean, noCascade?: boolean): Promise<boolean>;
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): 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 getSortedFields;
private processData;
private normalizeData;
private normalizeCascadeData;
}