Class DataGroup<TData, TProperty, TMethod>

A data wrapper for data operations such as setData

Type Parameters

  • TData extends DataList
  • TProperty extends PropertyList
  • TMethod extends MethodList

Constructors

  • Type Parameters

    • TData extends DataList
    • TProperty extends PropertyList
    • TMethod extends MethodList

    Parameters

    • associatedComponent: null | ComponentInstance<TData, TProperty, TMethod, Empty>
    • data: DataWithPropertyValues<TData, TProperty>
    • pureDataPattern: null | RegExp
    • dataDeepCopy: DeepCopyStrategy
    • propertyPassingDeepCopy: DeepCopyStrategy
    • reflectToAttributes: boolean
    • observerTree: DataGroupObserverTree

    Returns DataGroup<TData, TProperty, TMethod>

Properties

data: DataWithPropertyValues<TData, TProperty>
innerData: null | {
    [key: string]: DataValue;
}

Type declaration

Methods

  • Apply all changes in queue

    Parameters

    • Optional skipModelListener: boolean

    Returns void

  • Get the data change queue

    Returns DataChange[]

  • Add a new common data change to queue

    Parameters

    • path: DataPath
    • newData: unknown

    Returns void

  • Add a new property change to queue

    (Generally designed for template engines.) If the propName is a property, the newData will be deep-copied according to the propertyPassingDeepCopy configuration. Otherwise, it returns false.

    Parameters

    • propName: string
    • newData: unknown

    Returns boolean

  • Replace the underlying data

    Parameters

    Returns void

  • Discard changes in queue and generate a new queue with specified changes

    Parameters

    Returns void

  • Set a callback when a specified property changes

    (Generally designed for template engines.)

    Parameters

    • propName: string
    • listener: ModelBindingListener

    Returns void

  • Set a callback for every grouped update

    Parameters

    Returns void

  • Add a new array splice operation to queue

    Parameters

    • path: DataPath
    • index: undefined | number
    • del: undefined | number
    • inserts: unknown[]

    Returns void

  • Create a simple data group

    Parameters

    Returns DataGroup<any, PropertyList, MethodList>