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

Parameter Constraint Default Description
TDataObjectTypes DataObjectTypes DataObjectTypes The 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

Property Alerts Modifiers Type Description
tree Beta readonly ITree The underlying tree.

Methods

Method Alerts Return Type Description
initializeInternal(existing) Beta Promise<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

Parameter Type Description
existing boolean

Returns

Return type: Promise<void>