@itwin/core-frontend
Version:
iTwin.js frontend components
72 lines • 3.66 kB
TypeScript
/** @packageDocumentation
* @module ElementState
*/
import { GuidString, Id64String } from "@itwin/core-bentley";
import { Code, ElementProps, EntityProps, RelatedElement } from "@itwin/core-common";
import { IModelConnection } from "./IModelConnection";
/** The "state" of an Entity as represented in a web browser. Every subclass of EntityState handles one BIS class.
* @public
* @extensions
*/
export declare class EntityState implements EntityProps {
/** The name of the BIS schema for this class.
* @note Subclasses from other than the BisCore domain must override the static member "schemaName" with their schema name.
*/
static get schemaName(): string;
private get _ctor();
/** The name of the BIS class associated with this class.
* @note Every subclass of EntityState **MUST** override this method to identify its BIS class.
* Failure to do so will ordinarily result in an error when the class is registered, since there may only
* be one JavaScript class for a given BIS class (usually the errant class will collide with its superclass.)
*/
static get className(): string;
/** The name of the BIS class associated with this class. */
get className(): string;
/** The Id of this Entity. May be invalid if the Entity has not yet been saved in the database. */
readonly id: Id64String;
/** The iModel from which this Entity was loaded */
readonly iModel: IModelConnection;
/** The full class name in the form "schema:class". */
readonly classFullName: string;
/** Optional [json properties]($docs/bis/guide/fundamentals/element-fundamentals.md#jsonproperties) of this Entity. */
readonly jsonProperties: {
[key: string]: any;
};
/** Constructor for EntityState
* @param props the properties of the Entity for this EntityState
* @param iModel the iModel from which this EntityState is to be constructed
* @param _state source EntityState for clone
*/
constructor(props: EntityProps, iModel: IModelConnection, _state?: EntityState);
/** @internal */
toJSON(): EntityProps;
/** Return true if this EntityState is equal to another one. */
equals(other: this): boolean;
/** Make an independent copy of this EntityState */
clone(iModel?: IModelConnection): this;
/** Get full BIS class name of this Entity in the form "SchemaName:ClassName". */
static get classFullName(): string;
}
/** The "state" of an Element as represented in a web browser.
* @public
* @extensions
*/
export declare class ElementState extends EntityState implements ElementProps {
static get className(): string;
/** The ModelId of the [Model]($docs/bis/guide/fundamentals/model-fundamentals.md) containing this element */
readonly model: Id64String;
/** The [Code]($docs/bis/guide/fundamentals/codes.md) for this element */
readonly code: Code;
/** The parent Element of this, or undefined if no parent. */
readonly parent?: RelatedElement;
/** A [FederationGuid]($docs/bis/guide/fundamentals/element-fundamentals.md#federationguid) assigned to this element by some other federated database */
readonly federationGuid?: GuidString;
/** A [user-assigned label]($docs/bis/guide/fundamentals/element-fundamentals.md#userlabel) for this element. */
readonly userLabel?: string;
constructor(props: ElementProps, iModel: IModelConnection);
/** Obtain this element's JSON representation. Subclasses of ElementState typically override this method with a more
* specific return type.
*/
toJSON(): ElementProps;
}
//# sourceMappingURL=EntityState.d.ts.map