Options
All
  • Public
  • Public/Protected
  • All
Menu

Class AbstractUnit<TModel>

Base class for implementations of IAbstractUnit.

Type parameters

Hierarchy

Implements

Index

Constructors

Properties

_container: null | IContainer
internal
_containmentName: string
internal
_declaredAsNamespace: boolean = false
internal
_isDoingDelete: boolean = false
internal
_isLoadable: boolean = true
internal
_isLoading: boolean = false
internal
_isPartial: boolean
internal
_isReadOnly: boolean = false
internal
_isReverting: boolean = false

Indicates that the internal data of this element is being reverted to its previous value, so some validation check could be skipped

internal
_isUpdating: boolean = true

Indicates that the internal data of this element is being updated, as a result of data received from the server, so no storage events should be send

internal
internal
_registeredQualifiedName: null | string = null

used by qualified names cache to determine old name after a rename

internal
_state: StructureState = "attached"

The current state of the structure: (new|attached|detached|deleted).

internal
id: string
structureTypeName: string

Accessors

  • get _isAttached(): boolean
  • This structure is attached somewhere in the model. This is the "normal" state for an structure.

    internal

    Returns boolean

  • get _isDeleted(): boolean
  • This structure has been deleted and should no longer be used.

    internal

    Returns boolean

  • get _isDetached(): boolean
  • This structure is detached, so that it can be attached somewhere else in the model.

    internal

    Returns boolean

  • get _isNew(): boolean
  • This structure was just constructed and has not been added to the model yet.

    internal

    Returns boolean

  • get container(): TContainer
  • The parent unit of this unit.

    Returns TContainer

  • get isLoadable(): boolean
  • Whether this unit and all of its children (recursively) can be loaded.

    Returns boolean

  • get isLoaded(): boolean
  • Checks whether all attributes are available at this instant; if false, a load is required to access these properties.

    Returns boolean

  • get isReadOnly(): boolean
  • Whether this unit and all of its children (recursively) are editable.

    Returns boolean

  • get model(): TModel

Methods

  • Asserts that the complete element is available, and not just its public part.

    internal

    Parameters

    Returns void

  • Finds the given child among the properties of this structure, returning a handle to detach it later when appropriate based on in which property is was found.

    internal

    Parameters

    Returns null | IChildHandle

  • _deleteInternal(): void
  • _dispose(): void
  • _handleCreateSelf(): void
  • Sends the create delta for this unit and all pending deltas.

    internal

    Returns void

  • _initializeDefaultProperties(): void
  • _initializeNewInstance(): void
  • _markCurrentValuesAsDefaults(): void
  • _markLoaded(): void
  • _markLoading(): void
  • _markNotLoaded(): void
  • _processLocalNameChange(previousName: null | string): void
  • _processNameChange(): void
  • If the name of a model element changes, this might effect currently broken references-by-name, so let's process those.

    internal

    Returns void

  • _registerAfterLoadCallback(callback: (unit: IAbstractUnit) => void): void
  • _registerProperty(prop: AbstractProperty<any, any>, declaredOn: IStructureClass): void
  • _scheduleDeltaAfterCreate(delta: Delta): void
  • _sendChangeDelta(propertyName: string, newValue: any, changeType?: "CHANGE" | "ADD" | "REMOVE", index?: number): void
  • Sends the change delta in case a simple property has changed.

    internal

    Parameters

    • propertyName: string
    • newValue: any
    • changeType: "CHANGE" | "ADD" | "REMOVE" = "CHANGE"
    • index: number = -1

    Returns void

  • _sendDeleteDelta(): void
  • delete(): void
  • Deletes a model from the model. This will automatically remove the item from its model parent, and update incoming references and send server changes.

    Returns void

  • getContainerAs<T>(containerType: any): T
  • resolveByIdReferences(): void
  • toJSON(): IStructureJSON
  • Renders the structure as plain JSON (without observables magic). This is intended for debugging and development convenience. Note that the resulting object is not of the interface type corresponding to this structure.

    Returns IStructureJSON

  • traverse(visit: (structure: IStructure) => void): void
  • Traverses this structure by calling the provided visitor function on itself and all the structures contained (as part) by it, in depth-first order, and it returns synchronously after that.

    Parameters

    Returns void

  • traverseFind<T>(visit: (structure: IStructure) => T): null | T
  • traversePublicParts(visit: (structure: IStructure) => void): void

Generated using TypeDoc