Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Structure<TModel, TContainer>

Type parameters

Hierarchy

Implements

Index

Constructors

  • new Structure<TModel, TContainer>(_model: AbstractModel, structureTypeName: string, id: string, _isPartial?: boolean, container?: null | IContainer): Structure<TModel, TContainer>

Properties

_container: null | IContainer
internal
_declaredAsNamespace: boolean = false
internal
_isDoingDelete: boolean = false
internal
_isPartial: boolean
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
  • get isLoaded(): 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
  • internal

    Returns void

  • _dispose(): void
  • This model element is no longer part of the model, and can be cleaned up.

    internal

    Returns void

  • _initializeDefaultProperties(): void
  • internal

    Returns void

  • _initializeNewInstance(): void
  • internal

    Returns void

  • _markCurrentValuesAsDefaults(): void
  • internal

    Returns void

  • _processLocalNameChange(previousName: null | string): void
  • Update local-by-name references to this structure.

    internal

    Parameters

    • previousName: null | string

    Returns 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
  • internal

    Parameters

    Returns void

  • _scheduleDeltaAfterCreate(delta: Delta): void
  • internal

    Parameters

    Returns 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
  • Sends the delete in case that we were removed from the model.

    internal

    Returns 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
  • Type parameters

    Parameters

    • containerType: any

    Returns T

  • resolveByIdReferences(): void
  • Should be called after deserialization / remote updates, to make sure all references are bound to their actual value.

    internal

    Returns 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
  • Traverses this structure, returning immediately when visit returns something other than null.

    Type parameters

    • T

    Parameters

    Returns null | T

  • traversePublicParts(visit: (structure: IStructure) => void): void

Generated using TypeDoc