Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ByNameReferenceListProperty<T>

Property value that references zero or more (model) elements by name.

The reference list is only used internally, and externally a view of the reference list that returns the real objects is exposed. So, the flow is either: [server] -> [internal ref list (observable)] -> [update view] or: [Sdk] -> [view] -- onchange ---> [internal ref list] --- onChange event ---> [send delta's]

For simplicity's sake, referencesByName should be considered immutable here (TODO: they should be in general?), so that their internal value doesn't need to be observed.

Type parameters

Hierarchy

Index

Constructors

  • parent is the structure that the value of this property attaches to, so e.g. for all values item of Part(List)Property we (should) have the invariant: item.container === this.parent.

    initialValue is default value except parts and GUID-typed primitives. (by-id/name references do not have default values.)

    Type parameters

    Parameters

    Returns ByNameReferenceListProperty<T>

Properties

_skipOnChange: boolean = false
internal
declaredOn: IStructureClass
disposer: undefined | (() => void)
isAvailable: boolean = false
isPublic: boolean = false
isRequired: boolean = false
name: string
observableValue: IList<string>

Accessors

  • get targetType(): string
  • Returns string

  • get versionInfo(): PropertyVersionInfo
  • Returns PropertyVersionInfo

Methods

  • _toJSON(): string[]
  • assertReadable(): void
  • assertWritable(): void
  • dispose(): void
  • initialize(value: T[]): { observableValue: IObservableArray<string> }
  • internal

    Parameters

    • value: T[]

    Returns { observableValue: IObservableArray<string> }

    • observableValue: IObservableArray<string>
  • qualifiedNames(): string[]
  • Returns string[]

  • reportAvailabilityIssues(): void
  • shouldHandleChange(): boolean
  • toRawChangeValue(qualifiedName: string): string
  • internal

    Parameters

    • qualifiedName: string

    Returns string

  • updateQualifiedNamesForRename(qualifiedNames: string[]): void
  • This method is used to update the qualified names as part of a rename. _skipOnChange is used to prevent sending deltas for this change, as the Model Server handles this itself.

    internal

    Parameters

    • qualifiedNames: string[]

    Returns void

  • updateWithRawValue(value: string[]): void

Generated using TypeDoc