Options
All
  • Public
  • Public/Protected
  • All
Menu

Implementation of IModelUnit.

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
_markLoaded: () => void = AbstractUnit.prototype._markLoaded

Type declaration

    • (): void
    • internal

      Returns void

_markLoading: () => void = AbstractUnit.prototype._markLoading

Type declaration

    • (): void
    • internal

      Returns void

_markNotLoaded: () => void = AbstractUnit.prototype._markNotLoaded

Type declaration

    • (): void
    • internal

      Returns void

internal
_registerAfterLoadCallback: (callback: ICallback<IAbstractUnit>) => void = AbstractUnit.prototype._registerAfterLoadCallback

Type declaration

_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
  • Whether this unit has been completely loaded and does not consist of the unit's interface (which corresponds to the unit being partial).

    Returns boolean

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

    Returns boolean

  • get model(): TModel
  • Returns TModel

  • get unit(): this
  • Unit that owns/contains this thing.

    Returns this

Methods

  • _deleteInternal(): void
  • _dispose(): void
  • _getQualifiedName(): null | string
  • _handleCreateSelf(): void
  • internal

    Returns void

  • _initializeDefaultProperties(): void
  • _initializeNewInstance(): void
  • _isByNameReferrable(): boolean
  • Return true if this is an abstractElement that might be referred to by some other element. If true, this element is maintained in the qualifiedNamesCache

    internal

    Returns boolean

  • _markCurrentValuesAsDefaults(): 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

  • _registerProperty(prop: AbstractProperty<any, any>, declaredOn: IStructureClass): void
  • _resolveLocalName(elementTypeName: string, name: null | string): null | IAbstractElement
  • Given the type and name of an element, returns the element in this model unit with the specified type and name if there is exactly one matching element, otherwise null.

    internal

    Parameters

    • elementTypeName: string
    • name: null | string

    Returns null | IAbstractElement

  • _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
  • _startUsingElementsCache(): void
  • internal

    Returns void

  • _stopUsingElementsCache(): void
  • internal

    Returns void

  • updateElementsContainer recursively sets the unit to which this elements belong During deserialization this is not needed, but if used in the SDK, we only can set the unit once an element is actually added to the tree (buy pushing / assigning it to some part property)

    internal

    Parameters

    Returns void

  • Transforms a IElement interface into a Element class, loading the containing unit if necessary. (Those are technically already the same, but this function makes sure its properties are available.)

    • If invoked without callback, it checks whether the properties are available or it will throw;
    • If invoked with callback, it will load the data from the server if needed, and then invoke the callback.

    Returns ModelUnit<TModel>

  • delete(): void
  • getContainerAs<T>(containerType: any): T
  • load(callback: (elem: ModelUnit<TModel>) => void, forceRefresh?: boolean): void
  • load(forceRefresh?: boolean): Promise<ModelUnit<TModel>>
  • Transforms a IElement interface into a Element class, loading the containing unit if necessary. (Those are technically already the same, but this function makes sure its properties are available.)

    • If invoked without callback, it checks whether the properties are available or it will throw;
    • If invoked with callback, it will load the data from the server if needed, and then invoke the callback.

    Parameters

    • callback: (elem: ModelUnit<TModel>) => void
    • Optional forceRefresh: boolean

    Returns void

  • Parameters

    • Optional forceRefresh: boolean

    Returns Promise<ModelUnit<TModel>>

  • resolveByIdReferences(): void
  • 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 IAbstractElementJson

  • 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