presentation-common

Classes

Name Description
ArrayPropertiesField Describes a content field that's based on one or more similar EC array properties.  
Content A data structure that contains the Descriptor and a list of Item  
Descriptor Data structure that describes content: fields, sorting, filtering, format, etc.  
Field Describes a single content field.  
Item A data structure that represents a single content record.  
KeySet A class that holds multiple Key objects.  
KoqPropertyValueFormatter An utility for formatting property values based on KindOfQuantity and unit system.  
NestedContentField Describes a content field that contains Nested content.  
PresentationError An error type thrown by Presentation APIs.  
PresentationRpcInterface Interface used for communication between Presentation backend and frontend.  
PropertiesField Describes a content field that's based on one or more similar  
RegisteredRuleset A ruleset that is registered in a ruleset manager.  
RulesetsFactory A factory class that can be used to create presentation rulesets targeted towards  
StructPropertiesField Describes a content field that's based on one or more similar EC struct properties.  

Constants

Name Description
DEFAULT_KEYS_BATCH_SIZE Default (recommended) keyset batch size for cases when it needs to be sent  
UPDATE_FULL A constant for indicating that a full update is required.  

Enumerations

Name Description
ChildNodeSpecificationTypes Used for serializing array of ChildNodeSpecification  
ContentFlags Flags that control content format.  
ContentSpecificationTypes Used for serializing array of ContentSpecification  
DefaultContentDisplayTypes Displayed content types.  
FieldDescriptorType Types of different field descriptors.  
GroupingSpecificationTypes Available types of GroupingSpecification.  
InstanceLabelOverrideValueSpecificationType Types of possible InstanceLabelOverride label values.  
PresentationCommonLoggerCategory Logger categories used by this package  
PresentationStatus Status codes used by Presentation APIs.  
PropertyEditorParameterTypes Used for serializing array of PropertyEditorParameters to JSON  
PropertyValueFormat Format of the property value.  
QuerySpecificationTypes Used for serializing array of QuerySpecification to JSON.  
RelatedPropertiesSpecialValues Special values that can be used in propertyNames  
RelationshipDirection Defines direction of a relationship that should be followed  
RelationshipMeaning Meaning of the relationship.  
RuleTypes Used for serializing Rule objects to JSON.  
SameLabelInstanceGroupApplicationStage Specifies hierarchy creation stages used to apply SameLabelInstanceGroup grouping.  
SortDirection Data sorting direction  
StandardNodeTypes Standard node types  
VariableValueType Available value types of user-controllable variables  
VariableValueTypes Possible variable value types  

Global Functions

Name Description
addFieldHierarchy Adds a field hierarchy into root field hierarchies list.  
combineFieldNames Combines given field names in a way that allows them to be parsed back into a list of individual names using the parseCombinedFieldNames function.  
createFieldHierarchies Parses a list of Field objects into a list of FieldHierarchy.  
getInstancesCount  
parseCombinedFieldNames Parses given combined field names string, constructed using combineFieldNames, into a list of individual field names.  
traverseContent An utility to traverse content using provided visitor.  
traverseContentItem An utility for calling traverseContent when there's only one content item.  
traverseFieldHierarchy An utility for traversing field hierarchy.  

Interfaces

Name Description
ArrayPropertiesFieldJSON Data structure for a ArrayPropertiesField serialized to JSON.  
ArrayPropertyValueConstraints Describes constraints for array type ECProperty values  
ArrayTypeDescription Type description for array properties.  
BaseFieldJSON Data structure for a Field serialized to JSON.  
BaseNodeKey Data structure that describes a basic node key  
BaseTypeDescription Data structure for base content field type description.  
BooleanRulesetVariable Data structure for representing boolean ruleset variables.  
CalculatedPropertiesSpecification This content modifier allows including additional calculated properties into the content.  
CategoryDescription A data structure that describes a Field category.  
CategoryDescriptionJSON Serialized CategoryDescription JSON representation.  
ChildNodeRule Child node rules are used to define child nodes in a hierarchy.  
ChildNodeSpecificationBase Base interface for all ChildNodeSpecification implementations.  
ClassGroup Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy  
ClassInfo Information about an ECClass  
ClientDiagnostics Data structure with client diagnostics information.  
ClientDiagnosticsAttribute Data structure which contains client diagnostics options.  
ClientDiagnosticsOptions Data structure for client diagnostics options.  
CompressedClassInfoJSON A serialized and compressed version of ClassInfo  
ComputeSelectionRequestOptions Request options used for calculating selection based on given instance keys and selection scope.  
ContentDescriptorRequestOptions Request type for content descriptor requests.  
ContentInstanceKeysRequestOptions Request type for content instance keys' requests.  
ContentInstancesOfSpecificClassesSpecification This specification creates content for all instances of specific ECClasses.  
ContentJSON Serialized Content JSON representation.  
ContentModifier Content modifiers are used to modify how instances of specified ECClasses are displayed in content which is  
ContentModifiersList Contains various rule attributes that allow modifying returned content.  
ContentRelatedInstancesSpecification Returns content for instances related to the selected (input) instances.  
ContentRequestOptions Request type for content requests.  
ContentRule Content rules are used to define content that is displayed for specific type of input.  
ContentSourcesRequestOptions Request type for content sources requests.  
ContentSourcesRpcResult Data structure for content sources RPC response.  
ContentSpecificationBase Base interface for all ContentSpecification implementations.  
CustomNodeSpecification Returns a static custom-defined node that's not based on an ECInstance.  
CustomQueryInstanceNodesSpecification Returns nodes for instances returned by a provided ECSQL query.  
CustomRendererSpecification This specification allows defining a custom renderer, which can be used to render properties or categories.  
DefaultGroupingPropertiesContainer A container of default grouping properties.  
DefaultPropertyCategoryOverride A rule that allows overriding the default property category.  
DescriptorJSON Serialized Descriptor JSON representation.  
DescriptorOverrides Descriptor overrides that can be used to customize content  
DescriptorSource Descriptor properties  
Diagnostics Data structure for diagnostics information.  
DiagnosticsLogMessage Data structure for diagnostics log message information.  
DiagnosticsOptions Data structure for diagnostics options.  
DiagnosticsScopeLogs Data structure for diagnostics scope information.  
DisabledSortingRule Rule to disable sorting for certain ECInstances in the hierarchy and/or content.  
DisplayLabelRequestOptions Request type for label requests  
DisplayLabelsRequestOptions Request type for labels requests  
DisplayValueGroup A group of raw values and their common display value.  
DisplayValuesArray An array of display values  
DisplayValuesMap A map of display values  
DistinctValuesRequestOptions Request type for distinct values' requests.  
ECClassGroupingNodeKey Data structure that describes an ECClass grouping node key  
ECInstancesNodeKey Data structure that describes a node ECInstance node key  
ECPropertyGroupingNodeKey Data structure that describes an ECProperty grouping node key  
ECPropertyValueQuerySpecification The specification specifies the name of the parent node instance property whose value is the ECSQL  
ECValueBinding Defines an EC value binding.  
ECValueSetBinding Defines a binding for a list of EC values for use with InVirtualSet ECSQL function.  
EditorDescription A data structure which describes property editor used  
ElementProperties Data structure for storing element properties information in a simplified format.  
ElementPropertiesArrayPropertyItemBase Base type for all ElementPropertiesArrayPropertyItem types.  
ElementPropertiesCategoryItem Definition for a category.  
ElementPropertiesItemBase Base type for all ElementPropertiesItem types.  
ElementPropertiesPrimitiveArrayPropertyItem Definition for a primitives' array property value.  
ElementPropertiesPrimitivePropertyItem Definition for a primitive property value.  
ElementPropertiesPropertyItemBase Base type for all ElementPropertiesPropertyItem types.  
ElementPropertiesStructArrayPropertyItem Definition for a structs' array property value.  
ElementPropertiesStructPropertyItem Definition for an struct property value.  
ElementSelectionScopeProps A data structure that defines properties for applying element selection scope. Deprecated
EnumerationChoice A single choice in enumeration  
EnumerationInfo Enumeration information  
ExtendedDataRule Extended data rule is used to inject some arbitrary data into presentation data objects (nodes, content records).  
FieldDescriptorBase Base for a field descriptor  
FieldHierarchy A data structure to define a hierarchy of Field objects.  
FilterByInstancePathsHierarchyRequestOptions Request type of filtering hierarchies by given ECInstance paths.  
FilterByTextHierarchyRequestOptions Request type of filtering hierarchies by given text.  
FormatOptions Options for finding a formatter spec to use in KoqPropertyValueFormatter.  
FormatsMap A data structure that associates specific phenomenon with one or more formatting props for specific unit system.  
GroupingNodeKey Data structure that describes a grouping node key  
GroupingRule Grouping rules provide advanced ways to group instances when creating hierarchies.  
GroupingSpecificationBase Base interface for all GroupingSpecification implementations.  
HierarchyCompareInfo Information about hierarchy modification / differences.  
HierarchyCompareOptions Data structure for comparing a hierarchy after ruleset or ruleset variable changes.  
HierarchyLevel Defines a hierarchy level that consists of an array of nodes and possibly other information.  
HierarchyLevelDescriptorRequestOptions Params for hierarchy level descriptor requests.  
HierarchyRequestOptions Request type for hierarchy requests.  
IContentVisitor An interface for a visitor that can be passed to the traverseContent function  
Id64RulesetVariable Data structure for representing ID ruleset variables.  
Id64sRulesetVariable Data structure for representing ID array ruleset variables.  
Id64sRulesetVariableJSON JSON representation of Id64sRulesetVariable.  
IdBinding Defines an Id64String value binding.  
IdCategoryIdentifier Identifier of a category specified through PropertyCategorySpecification in this scope.  
IdSetBinding Defines an IdSet value binding for use with InVirtualSet ECSQL function.  
InstanceFilterDefinition Definition of an instance filter that can be used to filter content or hierarchy levels.  
InstanceFilterRelatedInstancePath Partial definition of common attributes for InstanceFilterRelatedInstanceDefinition.  
InstanceFilterRelatedInstanceRelationshipAlias Partial definition of InstanceFilterRelatedInstanceDefinition for the case when referencing the relationship class.  
InstanceFilterRelatedInstanceTargetAlias Partial definition of InstanceFilterRelatedInstanceDefinition for the case when referencing the target class.  
InstanceKey A key that uniquely identifies an instance in an iModel  
InstanceLabelOverride Instance label override rule provides a way to set instance label to one of its property values,  
InstanceLabelOverrideBriefcaseIdSpecification Specification returns ECInstance's briefcase ID in base36 format.  
InstanceLabelOverrideClassLabelSpecification Specification uses ECClass display label as the label content.  
InstanceLabelOverrideClassNameSpecification Specification uses ECClass name as the label content.  
InstanceLabelOverrideCompositeValueSpecification Specification allows creating a label value composited using multiple other specifications.  
InstanceLabelOverrideLocalIdSpecification Specification returns ECInstance's local ID in base36 format.  
InstanceLabelOverridePropertyValueSpecification Specification uses property value as the label content.  
InstanceLabelOverrideRelatedInstanceLabelSpecification Specification uses label of another related instance as the label content.  
InstanceLabelOverrideStringValueSpecification Specification uses the specified value as the label content.  
InstanceLabelOverrideValueSpecificationBase Base interface for all InstanceLabelOverrideValueSpecification implementations.  
InstanceNodesOfSpecificClassesSpecification Returns nodes for instances of specific ECClasses.  
IntRulesetVariable Data structure for representing int ruleset variables.  
IntsRulesetVariable Data structure for representing int array ruleset variables.  
ItemJSON Serialized Item JSON representation.  
KeySetJSON A data structure of serialized KeySet  
KindOfQuantityInfo Kind of quantity information  
LabelCompositeValue Data structure that describes raw composite label value.  
LabelDefinition Data structure that describes label definition.  
LabelGroupingNodeKey Data structure that describes a display label grouping node key  
MultiElementPropertiesBaseRequestOptions Base request type for multiple elements properties requests.  
MultiElementPropertiesByClassRequestOptions Request type for multiple elements properties requests, where elements are specified by class.  
MultiElementPropertiesByIdsRequestOptions Request type for multiple elements properties requests, where elements are specified by element id.  
MultiSchemaClassesSpecification This specification lists ECClasses which should be targeted when creating content or hierarchy nodes.  
NamedFieldDescriptor Field descriptor that identifies a content field by its unique name.  
NavigationPropertyInfo A data structure for storing navigation property information.  
NavigationPropertyInfoJSON A serialized version of NavigationPropertyInfo  
NavigationPropertyValue Data structure that describes value of the navigation property.  
NavigationRuleBase Base class for all NavigationRule implementations.  
NestedContentFieldJSON Data structure for a NestedContentField serialized to JSON.  
NestedContentValue Data structure that describes nested content value.  
NoCategoryIdentifier Identifier for no category.  
Node Data structure that describes a tree node.  
NodeArtifactsRule Node artifacts rules are used to create and assign artifacts to specific nodes.  
NodeDeletionInfo Information about node deletion.  
NodeInsertionInfo Information about node insertion.  
NodePathElement Describes a single step in the nodes path.  
NodePathFilteringData Data related to node hierarchy filtering  
NodeUpdateInfo Information about node update.  
NumericPropertyValueConstraints Describes constraints for int
PagedResponse A structure for paged responses  
PageOptions Paging options  
ParentCategoryIdentifier Identifier of the default parent category.  
PresentationQuery Data structure that describes a presentation query  
PresentationRpcResponseData Data structure for presentation RPC responses  
PrimitiveTypeDescription Type description for primitive properties.  
ProcessFieldHierarchiesProps Props for the processFieldHierarchies call.  
ProcessMergedValueProps Props for the processMergedValue call.  
ProcessPrimitiveValueProps Props for the processPrimitiveValue call.  
PropertiesFieldDescriptor Field descriptor that identifies a properties field using a list of  
PropertiesFieldJSON Data structure for a PropertiesField serialized to JSON.  
Property Data structure that describes a single ECProperty that's  
PropertyAccessor Data structure that describes one step of property  
PropertyCategorySpecification Content modifier for defining custom property categories.  
PropertyEditorJsonParameters Arbitrary JSON parameters for custom property editors  
PropertyEditorMultilineParameters Multiline parameters for property editors that support multiline display  
PropertyEditorParametersBase Base interface for PropertyEditorParameters.  
PropertyEditorRangeParameters Range parameters for property editors that support ranges  
PropertyEditorSliderParameters Slider parameters for property editors that support slider display  
PropertyEditorSpecification This specification allows assigning a custom property editor to specific properties.  
PropertyGroup Property grouping allows grouping by a property of the instance by value or by given ranges of values.  
PropertyInfo A structure that describes an ECProperty  
PropertyInfoJSON A serialized version of PropertyInfo  
PropertyJSON JSON representation of Property  
PropertyOverrides A container structure for possible property overrides  
PropertyRangeGroupSpecification Describes a grouping range.  
PropertySortingRule Rule to configure sorting for certain ECInstances in the hierarchy and/or content.  
PropertySpecification This specification allows overriding some attributes of specific ECProperty or define how it's displayed.  
QuerySpecificationBase Base interface for all QuerySpecification implementations.  
RelatedClassInfo A structure that describes a related class and the properties of that relationship.  
RelatedClassInfoJSON A serialized version of RelatedClassInfo  
RelatedInstanceByPathSpecification A type of RelatedInstanceSpecification that joins related instances by a relationship path.  
RelatedInstanceByTargetInstancesSpecification A type of RelatedInstanceSpecification that joins related instances by target class and instance IDs.  
RelatedInstanceNodesSpecification Produces ECInstance nodes that are related to some source ECInstance.  
RelatedInstanceSpecificationBase Defines base attributes for RelatedInstanceByPathSpecification and RelatedInstanceByTargetInstancesSpecification.  
RelatedPropertiesSpecification This specification allows including related instance properties into the content.  
RelationshipStepSpecification Specification of a single step in RelationshipPathSpecification.  
RendererDescription Describes property renderer used for a content Field.  
RepeatableRelationshipStepSpecification Specification of a single step in RepeatableRelationshipPathSpecification.  
RequestOptions A generic request options type used for both hierarchy and content requests.  
RequestOptionsWithRuleset Options for requests that require presentation ruleset.  
RequiredSchemaSpecification This specification is designed for specifying schema requirements for the Ruleset or specific  
RootCategoryIdentifier Identifier of the root category.  
RootNodeRule Root node rules are used to define nodes that are displayed at the root hierarchy level.  
RuleBase Base interface for all Rule implementations.  
Ruleset Presentation ruleset is a list of rules that define tree hierarchy and content provided by  
RulesetVariableBase Base data structure for representing ruleset variables.  
RulesetVariableBaseJSON JSON representation of RulesetVariableBase.  
SameLabelInstanceGroup Allows grouping multiple instances with the same label into one ECInstances type of node.  
SchemaCategoryIdentifier Identifier of a schema-based category, referenced by its full name.  
SchemasSpecification Specification for a list of ECSchemas  
SelectClassInfo Data structure that describes an ECClass in content Descriptor.  
SelectClassInfoJSON Serialized SelectClassInfo JSON representation  
SelectedNodeInstancesSpecification Returns content for selected (input) instances.  
SelectionInfo Data structure that contains selection information.  
SelectionScope Data structure that describes a selection scope. Deprecated
SelectionScopeRequestOptions Request options used for selection scope related requests  
SingleElementPropertiesRequestOptions Request type for single element properties requests.  
SingleSchemaClassSpecification This specification is used to point to specific ECClass.  
SortingRuleBase Sorting rules provide a way to either disable sorting or sort instances by specific properties.  
StartArrayProps Props for the startArray call.  
StartCategoryProps Props for the startCategory call.  
StartContentProps Props for the startContent call.  
StartFieldProps Props for the startField call.  
StartItemProps Props for the startItem call.  
StartStructProps Props for the startStruct call.  
StringPropertyValueConstraints Describes constraints for string type ECProperty values  
StringQuerySpecification The specification contains an ECSQL query which is used to query for instances.  
StringRulesetVariable Data structure for representing string ruleset variables.  
StrippedRelatedClassInfo Data structure that contains a subset of RelatedClassInfo required to  
StructFieldMemberDescription A data structure that describes a struct member.  
StructPropertiesFieldJSON Data structure for a StructPropertiesField serialized to JSON.  
StructTypeDescription Type description for struct properties.  
SubCondition This is a sub-rule which shares placement attributes and  
SupplementationInfo Contains supplementation-related information for  
UnitSystemFormat A data structure that associates unit systems with property value formatting props.  
UpdateInfo A data structure that describes changes that need to be applied to the hierarchy and  
ValuesArray An array of raw values  
ValuesDictionary A dictionary data structure.  
ValuesMap A map of raw values  
Variable Definition for single user-controllable variable  
VariablesGroup Presentation rules support variables that allow having additional customization of the hierarchy  

Namespaces

Name Description
CategoryDescription  
DiagnosticsLogEntry Functions related to diagnostics log entry.  
DisplayValue  
FieldDescriptor  
InstanceKey  
Key  
LabelDefinition  
NavigationPropertyInfo Contains utilities for working with objects of NavigationPropertyInfo type.  
NodeKey  
Property  
PropertyInfo  
RelatedClassInfo  
RelatedClassInfoWithOptionalRelationship  
RelationshipPath  
RulesetVariable  
SelectClassInfo  
Value  

Type Aliases

Name Description
CategoryIdentifier Category identifier used to assign properties to a category.  
ChildNodeSpecification Hierarchy rule specifications that define what nodes are going to be returned by the rule.  
ClassId Type of an ECClass ID.  
ClientDiagnosticsHandler A function that can be called after receiving diagnostics.  
ComputeDisplayValueCallback Definition of a function for calculating a display value.  
ComputeSelectionRpcRequestOptions Request options data structure for computing selection based on given selection scope and element IDs. Deprecated
ContentDescriptorRpcRequestOptions Data structure for content descriptor RPC request options.  
ContentInstanceKeysRpcRequestOptions Data structure for content instance keys' request options.  
ContentRpcRequestOptions Data structure for content RPC request options.  
ContentSourcesRpcRequestOptions Data structure for content sources RPC request options.  
ContentSpecification Content rule specifications which define what content is returned  
ContentUpdateInfo Information about a required content update.  
CustomizationRule Customization rules allow customizing each node or content item separately.  
DiagnosticsLogEntry Data structure for diagnostics log entry.  
DiagnosticsLoggerSeverity Type of diagnostics logger severity.  
DisplayLabelRpcRequestOptions Data structure for label request options.  
DisplayLabelsRpcRequestOptions Data structure for labels request options.  
DisplayValue Display value type.  
DistinctValuesRpcRequestOptions Data structure for distinct values' request options.  
ElementPropertiesArrayPropertyItem Definition for an array property value.  
ElementPropertiesItem Definition of a property item, including a property category.  
ElementPropertiesPropertyItem Definition of a property value.  
ElementPropertiesPropertyValueType Available element property types.  
ElementPropertiesRequestOptions Request type for element properties requests  
FieldDescriptor A union of all possible field descriptor types  
FieldJSON JSON representation of a Field  
FilterByInstancePathsHierarchyRpcRequestOptions Data structure for filtering hierarchy by ECInstance paths request options.  
FilterByTextHierarchyRpcRequestOptions Data structure for filtering hierarchy by text request options.  
GroupingSpecification Grouping rule specifications.  
HierarchyLevelDescriptorRpcRequestOptions Data structure for hierarchy level descriptor RPC request options.  
HierarchyRpcRequestOptions Data structure for hierarchy request options.  
HierarchyUpdateInfo Information about a required hierarchy update.  
InstanceFilterRelatedInstanceDefinition Related instance definition for accessing properties of a related instance in expression.  
InstanceId Type of an ECInstance ID.  
InstanceLabelOverrideValueSpecification Specification to define how the label for InstanceLabelOverride should be created.  
Key A single key that identifies something in an iTwin.js application  
Keys A type for multiple keys that identify something in iModel.js application  
LabelRawValue Type definition of label raw value.  
MultiElementPropertiesRequestOptions Request type for multiple elements properties requests.  
NavigationRule Navigation rules are used to define hierarchies displayed in tree components.  
NodeKey One of the node key types  
NodeKeyPath Node key path.  
Omit Create a type with T properties excluding properties listed in K.  
Paged A wrapper type that injects PageOptions into supplied type  
PartialBy Create a type from given type T and make specified properties optional.  
PartialHierarchyModification Information about a hierarchy change: insertion, deletion or node update.  
PartialNode Partial node definition.  
PresentationQueryBinding One of the PresentationQuery binding types.  
PresentationRpcRequestOptions Base options for all presentation RPC requests.  
PresentationRpcResponse A promise of PresentationRpcResponseData.  
PrimitivePropertyValue Value of a primitive property.  
Prioritized A wrapper type that injects priority into supplied type.  
PropertyAccessorPath Describes path to a property.  
PropertyEditorParameters Parameters for PropertyEditorSpecification  
PropertyValueConstraints Constraints for values of ECProperty  
QuerySpecification Query specifications used in CustomQueryInstanceNodesSpecification.  
RelatedClassInfoWithOptionalRelationship A structure that describes a relationship between source and target classes where  
RelatedClassInfoWithOptionalRelationshipJSON  
RelatedInstanceSpecification Related instance specification is used in content  
RelationshipPath A structure that describes a related class path.  
RelationshipPathJSON Serialized RelationshipPath  
RelationshipPathSpecification Relationship path specification is used to define a relationship path to an ECClass.  
RepeatableRelationshipPathSpecification This specification declares a step in a relationship path between a source and target ECInstances.  
RpcDiagnosticsOptions Data structure for RPC diagnostics options.  
Rule A union of all presentation rule types.  
RulesetVariable Data structure for representing ruleset variables.  
RulesetVariableJSON JSON representation of RulesetVariable.  
SelectionScopeProps A data structure that defines properties for applying a selection scope. Deprecated
SelectionScopeRpcRequestOptions Data structure for selection scope request options. Deprecated
SingleElementPropertiesRpcRequestOptions Data structure for single element properties RPC request options.  
SortingRule Sorting rules provide a way to either disable sorting or sort instances by specific properties.  
StrippedRelationshipPath Data structure that contains a subset of RelationshipPath required to  
Subtract Create a type with T properties excluding all properties in type K.  
TypeDescription One of content field type descriptions.  
Value Raw value type  
VariableValue Union of all supported variable value types  
VariableValueJSON JSON representation of VariableValue  
WithCancelEvent A wrapper type that injects cancelEvent into supplied type.  

Last Updated: 01 August, 2025