Skip to main content

TreeDataObject Class

A data object backed by a ITree.

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/aqueduct/legacy.

For more information about our API support guarantees, see here.

Signature

export declare abstract class TreeDataObject<TDataObjectTypes extends DataObjectTypes = DataObjectTypes> extends PureDataObject<TDataObjectTypes>

Extends: PureDataObject<TDataObjectTypes>

Type Parameters

ParameterConstraintDefaultDescription
TDataObjectTypesDataObjectTypesDataObjectTypesThe optional input types used to strongly type the data object.

Remarks

In order to view the tree's data, consumers of this type will need to apply the appropriate view schema to the tree. This will generally be done via initializingFromExisting() and initializingFirstTime(props) methods.

To initialize the tree's data for initial creation, implementers of this class will need to override initializingFirstTime(props) and set the data in the schema-aware view.

Usage

Example 1

Implementing initializingFirstTime

protected override async initializingFirstTime(): Promise<void> {
// Generate the schema-aware view of the tree.
this.treeView = this.tree.viewWith(treeViewConfiguration);

// Initialize the tree with initial data.
this.treeView.initialize(initialTree);
}

Example 2

Implementing initializingFromExisting

protected override async initializingFromExisting(): Promise<void> {
// Generate the schema-aware view of the tree.
this.treeView = this.tree.viewWith(treeViewConfiguration);

// Ensure the loaded tree is compatible with the view schema.
if (!this.treeView.compatibility.canView) {
// Handle out-of-schema data as appropriate.
}
}

Properties

PropertyAlertsModifiersTypeDescription
treeBetareadonlyITreeThe underlying tree.

Methods

MethodAlertsReturn TypeDescription
initializeInternal(existing)BetaPromise<void>

Property Details

tree

The underlying tree.

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature

protected get tree(): ITree;

Type: ITree

Remarks

Created once during initialization.

Method Details

initializeInternal

This API is provided for existing users, but is not recommended for new users.

For more information about our API support guarantees, see here.

Signature

initializeInternal(existing: boolean): Promise<void>;

Parameters

ParameterTypeDescription
existingboolean

Returns

Return type: Promise<void>