@eclipse-scout/core
Version:
Eclipse Scout runtime
101 lines • 3.92 kB
TypeScript
import { EnumObject, InitModelOf, ObjectOrModel, ObjectWithType, Predicate, StatusModel } from '../index';
export declare class Status implements StatusModel, ObjectWithType {
model: StatusModel;
objectType: string;
message: string;
severity: StatusSeverity;
iconId: string;
code: number;
children: Status[];
deletable: boolean;
uiState: string;
constructor(model?: InitModelOf<Status>);
static Severity: {
readonly OK: 1;
readonly INFO: 256;
readonly WARNING: 65536;
readonly ERROR: 16777216;
};
static SEVERITY_CSS_CLASSES: string;
cssClass(): string;
/**
* @returns true if severity is OK or INFO, false if severity is WARNING or ERROR.
*/
isValid(): boolean;
isError(): boolean;
isWarning(): boolean;
isInfo(): boolean;
isOk(): boolean;
/**
* @returns status including all children recursively as flat array.
*/
asFlatList(): Status[];
/**
* @returns a clone of this Status instance.
*/
clone(): Status;
equals(o: any): boolean;
/**
* Note: we cannot 'overload' this function, because predicates and status-types are both functions,
* thus we cannot distinguish them by type or instanceof.
*
* @returns whether or not this status contains a child with the give type
*/
containsStatus(statusType: abstract new () => Status): boolean;
containsStatusByPredicate(predicate: Predicate<Status>): boolean;
addStatus(status: Status): void;
/**
* Removes all children of the given type from this status. The type is checked by inheritance.
*/
removeAllStatus(statusType: abstract new () => Status): void;
removeAllStatusByPredicate(predicate: Predicate<Status>): void;
protected _updateProperties(): void;
/**
* @returns whether this status has children (= multi status)
*/
hasChildren(): boolean;
/**
* In some cases we need to transform an error status without children to a multi-status with children.
* @returns If this instance already has children, a clone of the instance. Otherwise, a new instance with the current instance as first child.
*/
ensureChildren(): Status;
/**
* Null-safe static clone method.
*/
static clone(original: Status): Status;
static cssClassForSeverity(severity: StatusSeverity): string;
static animateStatusMessage($status: JQuery, message: string): void;
/**
* @returns a {@link Status} object with severity OK.
*/
static ok(model?: StatusModel | string): Status;
/**
* @returns a {@link Status} object with severity INFO.
*/
static info(model?: StatusModel | string): Status;
/**
* @returns a {@link Status} object with severity WARNING.
*/
static warning(model?: StatusModel | string): Status;
/**
* @returns a {@link Status} object with severity ERROR.
*/
static error(model?: StatusModel | string): Status;
static ensureModel(model: StatusModel | string, severity: StatusSeverity | StatusSeverityNames): StatusModel;
/**
* @returns all {@link Status} objects as flat array (recursively goes through the status hierarchy)
*/
static asFlatList(status: Status): Status[];
/**
* Returns a constructor function for the given class-name.
*
* @returns Status constructor
*/
static classForName(className: StatusType): new (model?: StatusModel) => Status;
static ensure<T extends Status = Status>(status: StatusOrModel<T>): T;
}
export type StatusSeverity = EnumObject<typeof Status.Severity>;
export type StatusSeverityNames = keyof typeof Status.Severity;
export type StatusOrModel<T extends Status = Status> = ObjectOrModel<T>;
export type StatusType = 'Status' | 'DefaultStatus' | 'ParsingFailedStatus' | 'ValidationFailedStatus';
//# sourceMappingURL=Status.d.ts.map