@itwin/presentation-common
Version:
Common pieces for iModel.js presentation packages
104 lines • 3.95 kB
TypeScript
/** @packageDocumentation
* @module Core
*/
import { NodeKey } from "./hierarchy/Key.js";
import { Node, PartialNode } from "./hierarchy/Node.js";
/**
* A constant for indicating that a full update is required.
* @public
*/
export declare const UPDATE_FULL = "FULL";
/**
* A data structure that describes changes that need to be applied to the hierarchy and
* content components due to some changes on the backend.
*
* @public
*/
export interface UpdateInfo {
[imodel: string]: {
[rulesetId: string]: {
/**
* @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
* package for creating hierarchies.
*/
hierarchy?: HierarchyUpdateInfo;
content?: ContentUpdateInfo;
};
};
}
/**
* Information about a required hierarchy update.
* @public
* @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
* package for creating hierarchies.
*/
export type HierarchyUpdateInfo = typeof UPDATE_FULL;
/**
* Information about a required content update.
* @public
*/
export type ContentUpdateInfo = typeof UPDATE_FULL;
/**
* Information about a hierarchy change: insertion, deletion or node update.
* @public
* @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
* package for creating hierarchies.
*/
export type PartialHierarchyModification = NodeInsertionInfo | NodeDeletionInfo | NodeUpdateInfo;
/**
* Information about node insertion.
* @public
* @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
* package for creating hierarchies.
*/
export interface NodeInsertionInfo {
type: "Insert";
/** Parent node key */
parent?: NodeKey;
/** Index of the new node under its parent */
position: number;
/** Inserted node */
node: Node;
}
/**
* Information about node deletion.
* @public
* @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
* package for creating hierarchies.
*/
export interface NodeDeletionInfo {
type: "Delete";
/** Parent of the deleted node */
parent?: NodeKey;
/** Position of the deleted node among its siblings in the initial, not updated tree */
position: number;
}
/**
* Information about node update.
* @public
* @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
* package for creating hierarchies.
*/
export interface NodeUpdateInfo {
type: "Update";
/** Key of the updated node */
target: NodeKey;
/** Updated node attributes */
changes: PartialNode;
}
/**
* Information about hierarchy modification / differences.
* @public
* @deprecated in 5.2 - will not be removed until after 2026-10-01. Use the new [@itwin/presentation-hierarchies](https://github.com/iTwin/presentation/blob/master/packages/hierarchies/README.md)
* package for creating hierarchies.
*/
export interface HierarchyCompareInfo {
/** A list of hierarchy changes */
changes: PartialHierarchyModification[];
/** Continuation token for requesting more changes. */
continuationToken?: {
prevHierarchyNode: string;
currHierarchyNode: string;
};
}
//# sourceMappingURL=Update.d.ts.map