@itwin/presentation-common 5.1.1 → 5.1.3-experimental.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  3. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  4. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  5. package/lib/cjs/presentation-common/EC.js.map +1 -1
  6. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  7. package/lib/cjs/presentation-common/Error.js.map +1 -1
  8. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  9. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  10. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  11. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  12. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  13. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  14. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  15. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  16. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  17. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  18. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  19. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  20. package/lib/cjs/presentation-common/Update.js.map +1 -1
  21. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  22. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  23. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  24. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  25. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  26. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  27. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  28. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  29. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  30. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  31. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  32. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  33. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  34. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  35. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  36. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  37. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  38. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  39. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  40. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  41. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  42. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  43. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  44. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  45. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  46. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  47. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  48. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  49. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  50. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  51. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  52. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  53. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  54. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  55. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  56. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  57. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  58. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  59. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  60. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  61. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  62. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  63. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  64. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  65. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  66. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  67. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  68. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  69. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  70. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  71. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  72. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  73. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  74. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  75. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  76. package/lib/cjs/presentation-common-internal.js.map +1 -1
  77. package/lib/cjs/presentation-common.js.map +1 -1
  78. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  79. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  80. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  81. package/lib/esm/presentation-common/EC.js.map +1 -1
  82. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  83. package/lib/esm/presentation-common/Error.js.map +1 -1
  84. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  85. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  86. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  87. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  88. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  89. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  90. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  91. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  92. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  93. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  94. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  95. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  96. package/lib/esm/presentation-common/Update.js.map +1 -1
  97. package/lib/esm/presentation-common/Utils.js.map +1 -1
  98. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  99. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  100. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  101. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  102. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  103. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  104. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  105. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  106. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  107. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  108. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  109. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  110. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  111. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  112. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  113. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  114. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  115. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  116. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  117. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  118. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  119. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  120. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  121. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  122. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  123. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  124. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  125. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  126. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  127. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  128. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  129. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  130. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  131. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  132. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  133. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  134. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  135. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  136. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  137. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  138. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  139. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  140. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  141. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  142. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  143. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  144. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  145. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  146. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  147. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  148. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  149. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  150. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  151. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  152. package/lib/esm/presentation-common-internal.js.map +1 -1
  153. package/lib/esm/presentation-common.js.map +1 -1
  154. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"CalculatedPropertiesSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomRendererSpecification } from \"./CustomRendererSpecification.js\";\r\nimport { CategoryIdentifier } from \"./PropertyCategorySpecification.js\";\r\nimport { PropertyEditorSpecification } from \"./PropertyEditorsSpecification.js\";\r\n\r\n/**\r\n * This content modifier allows including additional calculated properties into the content.\r\n *\r\n * @see [Calculated properties specification reference documentation page]($docs/presentation/content/CalculatedPropertiesSpecification.md)\r\n * @public\r\n */\r\nexport interface CalculatedPropertiesSpecification {\r\n /** Specifies label of the calculated property. Supports [localization]($docs/presentation/advanced/Localization.md). */\r\n label: string;\r\n\r\n /**\r\n * Defines an expression to calculate the value. The expression can use [ECInstance]($docs/presentation/advanced/ECExpressions.md#ecinstance)\r\n * and [Ruleset Variables]($docs/presentation/advanced/ECExpressions.md#ruleset-variables-user-settings) symbol contexts.\r\n */\r\n value?: string;\r\n\r\n /** The attribute allows moving the calculated property into a different category. */\r\n categoryId?: string | CategoryIdentifier;\r\n\r\n /**\r\n * Custom property [renderer specification]($docs/presentation/content/RendererSpecification.md) that allows assigning a\r\n * custom value renderer to be used in UI. The specification is used to set up [[Field.renderer]] for\r\n * this property and it's up to the UI component to make sure appropriate renderer is used to render the property.\r\n */\r\n renderer?: CustomRendererSpecification;\r\n\r\n /**\r\n * Custom [property editor specification]($docs/presentation/content/PropertyEditorSpecification) that allows assigning\r\n * a custom value editor to be used in UI.\r\n */\r\n editor?: PropertyEditorSpecification;\r\n\r\n /**\r\n * Assign a custom [[Field.priority]] to the property. It's up to the UI component to make sure that priority\r\n * is respected - properties with higher priority should appear before or above properties with lower priority.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * Specifies return type of the calculated property. If unsupported type is provided, calculated property won't appear in the property pane.\r\n *\r\n * Type can have these values: `string`, `boolean`, `bool`, `dateTime`, `double`, `int`, `long`\r\n */\r\n type?: `string` | `boolean` | `bool` | `dateTime` | `double` | `int` | `long`;\r\n\r\n /**\r\n * A map of [ECExpressions]($docs/presentation/customization/ECExpressions.md) whose\r\n * evaluation results are used as extended data values.\r\n */\r\n extendedData?: { [key: string]: string };\r\n}\r\n"]}
1
+ {"version":3,"file":"CalculatedPropertiesSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentModifier.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/ContentModifier.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../../ClassSpecifications.js\";\r\nimport { RuleBase } from \"../../Rule.js\";\r\nimport { PropertySpecification } from \"../PropertySpecification.js\";\r\nimport { CalculatedPropertiesSpecification } from \"./CalculatedPropertiesSpecification.js\";\r\nimport { PropertyCategorySpecification } from \"./PropertyCategorySpecification.js\";\r\nimport { RelatedPropertiesSpecification } from \"./RelatedPropertiesSpecification.js\";\r\n\r\n/**\r\n * Contains various rule attributes that allow modifying returned content.\r\n *\r\n * This is not expected to be used directly - use through either [[ContentModifier]]\r\n * or [[ContentSpecification]].\r\n *\r\n * @see [Content modifier rule reference documentation page]($docs/presentation/content/ContentModifier.md)\r\n * @public\r\n */\r\nexport interface ContentModifiersList {\r\n /**\r\n * Specifications of [related properties]($docs/presentation/content/RelatedPropertiesSpecification.md) which are\r\n * included in the generated content.\r\n */\r\n relatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * Specifications of [calculated properties]($docs/presentation/content/CalculatedPropertiesSpecification.md) whose values are\r\n * generated using provided [ECExpressions]($docs/presentation/advanced/ECExpressions.md).\r\n */\r\n calculatedProperties?: CalculatedPropertiesSpecification[];\r\n\r\n /**\r\n * Specifications for [custom categories]($docs/presentation/content/PropertyCategorySpecification.md). Simply defining the categories does\r\n * nothing - they have to be referenced from [property specification]($docs/presentation/content/PropertySpecification.md) defined in\r\n * [[propertyOverrides]] by `id`.\r\n */\r\n propertyCategories?: PropertyCategorySpecification[];\r\n\r\n /**\r\n * Specifications for various [property overrides]($docs/presentation/content/PropertySpecification.md) that allow customizing property display.\r\n */\r\n propertyOverrides?: PropertySpecification[];\r\n}\r\n\r\n/**\r\n * Content modifiers are used to modify how instances of specified ECClasses are displayed in content which is\r\n * produced using [content rules]($docs/presentation/content/ContentRule.md). They do not produce any content\r\n * by themselves.\r\n *\r\n * @see [Content modifier rule reference documentation page]($docs/presentation/content/ContentModifier.md)\r\n * @public\r\n */\r\nexport interface ContentModifier extends RuleBase, ContentModifiersList {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"ContentModifier\";\r\n\r\n /**\r\n * Specification of ECClass whose content should be modified. The modifier is applied to all content\r\n * if this attribute is not specified.\r\n */\r\n class?: SingleSchemaClassSpecification;\r\n\r\n /**\r\n * Specifies whether [`calculatedProperties`]($docs/presentation/content/CalculatedPropertiesSpecification.md) and\r\n * [`relatedProperties`]($docs/presentation/content/RelatedPropertiesSpecification.md) specifications should also be applied on\r\n * [nested content]($docs/presentation/content/Terminology.md#nested-content).\r\n */\r\n applyOnNestedContent?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"ContentModifier.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/ContentModifier.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomRendererSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/CustomRendererSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\n/**\r\n * This specification allows defining a custom renderer, which can be used to render properties or categories.\r\n *\r\n * @see [Renderer specification reference documentation page]($docs/presentation/content/RendererSpecification.md)\r\n * @public\r\n */\r\nexport interface CustomRendererSpecification {\r\n /**\r\n * Name of the renderer that's going to be used in UI components. Value of this attribute corresponds\r\n * to [[RendererDescription.name]] attribute that gets assigned to whatever the renderer\r\n * is set on.\r\n */\r\n rendererName: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"CustomRendererSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/CustomRendererSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyCategorySpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/PropertyCategorySpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomRendererSpecification } from \"./CustomRendererSpecification.js\";\r\n\r\n/**\r\n * Identifier for no category. Used to make category displayed at root level by using\r\n * this identifier for [[PropertyCategorySpecification.parentId]].\r\n *\r\n * @public\r\n */\r\nexport interface NoCategoryIdentifier {\r\n /** Type of the identifier */\r\n type: \"None\";\r\n}\r\n\r\n/**\r\n * Identifier of the default parent category.\r\n *\r\n * For direct properties it's the default category. See [[DefaultPropertyCategoryOverride]] for overriding the default category.\r\n *\r\n * For related properties it's the category made up from the related ECClass defined by the **last**\r\n * [[RelatedPropertiesSpecification]] with [[RelationshipMeaning.RelatedInstance]]. If there's no such specification,\r\n * the default category is used.\r\n *\r\n * @public\r\n */\r\nexport interface ParentCategoryIdentifier {\r\n /** Type of the identifier */\r\n type: \"DefaultParent\";\r\n}\r\n\r\n/**\r\n * Identifier of the root category.\r\n *\r\n * For direct properties it's the default category. See [[DefaultPropertyCategoryOverride]] for overriding the default category.\r\n *\r\n * For related properties it's the category made up from the related ECClass defined by the **first**\r\n * [[RelatedPropertiesSpecification]] with [[RelationshipMeaning.RelatedInstance]]. If there's no such specification,\r\n * the default category is used.\r\n *\r\n * @public\r\n */\r\nexport interface RootCategoryIdentifier {\r\n /** Type of the identifier */\r\n type: \"Root\";\r\n}\r\n\r\n/**\r\n * Identifier of a category specified through [[PropertyCategorySpecification]] in this scope.\r\n * @public\r\n */\r\nexport interface IdCategoryIdentifier {\r\n /** Type of the identifier */\r\n type: \"Id\";\r\n\r\n /** ID of the category pointed to by this identifier */\r\n categoryId: string;\r\n\r\n /** Controls whether a class category should be included under the category pointed to by this identifier */\r\n createClassCategory?: boolean;\r\n}\r\n\r\n/**\r\n * Identifier of a schema-based category, referenced by its full name.\r\n * @public\r\n */\r\nexport interface SchemaCategoryIdentifier {\r\n /** Type of the identifier */\r\n type: \"SchemaCategory\";\r\n\r\n /** Full name of the property category, e.g. `MySchema:MyPropertyCategory`. */\r\n categoryName: string;\r\n}\r\n\r\n/**\r\n * Category identifier used to assign properties to a category.\r\n * @public\r\n */\r\nexport type CategoryIdentifier = ParentCategoryIdentifier | RootCategoryIdentifier | IdCategoryIdentifier | SchemaCategoryIdentifier;\r\n\r\n/**\r\n * Content modifier for defining custom property categories. Custom categories are not present in the result unless\r\n * they contain at least one property. One way to assign a property to the category is by using\r\n * [property overrides]($docs/presentation/content/PropertySpecification.md).\r\n *\r\n * @see [Property category specification reference documentation page]($docs/presentation/content/PropertyCategorySpecification.md)\r\n * @public\r\n */\r\nexport interface PropertyCategorySpecification {\r\n /**\r\n * Category identifier used to reference the category definition from property overrides or other category\r\n * definitions. The identifier has to be unique within the list of category definitions where this\r\n * specification is used.\r\n */\r\n id: string;\r\n\r\n /**\r\n * Identifier of a parent category. When specifying the parent category by ID, it has to be available in\r\n * the scope of this category definition.\r\n */\r\n parentId?: string | CategoryIdentifier | NoCategoryIdentifier;\r\n\r\n /** Display label of the category. May be [localized]($docs/presentation/advanced/Localization.md). */\r\n label: string;\r\n\r\n /**\r\n * Extensive description of the category. The description is assigned to the category object that's set\r\n * on content fields and it's up to UI component to decide how the description is displayed.\r\n */\r\n description?: string;\r\n\r\n /**\r\n * Assign a custom [[CategoryDescription.priority]] to the category. It's up to the\r\n * UI component to make sure that priority is respected - categories with higher priority should appear\r\n * before or above categories with lower priority.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * Controls the value of [[CategoryDescription.expand]] which tells the UI component\r\n * displaying the category to auto-expand the category.\r\n */\r\n autoExpand?: boolean;\r\n\r\n /**\r\n * Custom category [renderer specification]($docs/presentation/content/RendererSpecification.md) that allows\r\n * assigning a custom category renderer to be used in UI. This specification is used to set up\r\n * [[CategoryDescription.renderer]] for this category and it's up to the UI component to\r\n * make sure appropriate renderer is used to render the category.\r\n */\r\n renderer?: CustomRendererSpecification;\r\n}\r\n"]}
1
+ {"version":3,"file":"PropertyCategorySpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/PropertyCategorySpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyEditorsSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAkCH;;;GAGG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,6CAAa,CAAA;IACb,uDAAuB,CAAA;IACvB,+CAAe,CAAA;IACf,iDAAiB,CAAA;AACnB,CAAC,EALW,4BAA4B,4CAA5B,4BAA4B,QAKvC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\n/**\r\n * This specification allows assigning a custom property editor to specific properties.\r\n *\r\n * @see [Property editor specification specification reference documentation page]($docs/presentation/content/PropertyEditorSpecification.md)\r\n * @public\r\n */\r\nexport interface PropertyEditorSpecification {\r\n /**\r\n * Name of the property editor that's going to be used in UI components. This name is carried over to\r\n * [[Field.editor]] and it's up to the UI component to make sure appropriate editor\r\n * is used to edit the property.\r\n */\r\n editorName: string;\r\n\r\n /**\r\n * Parameters for the editor.\r\n * @note At this moment the attribute is not used.\r\n * @public\r\n */\r\n parameters?: PropertyEditorParameters[];\r\n}\r\n\r\n/**\r\n * Parameters for [[PropertyEditorSpecification]]\r\n * @public\r\n */\r\nexport declare type PropertyEditorParameters =\r\n | PropertyEditorJsonParameters\r\n | PropertyEditorMultilineParameters\r\n | PropertyEditorRangeParameters\r\n | PropertyEditorSliderParameters;\r\n\r\n/**\r\n * Used for serializing array of [[PropertyEditorParameters]] to JSON\r\n * @public\r\n */\r\nexport enum PropertyEditorParameterTypes {\r\n Json = \"Json\",\r\n Multiline = \"Multiline\",\r\n Range = \"Range\",\r\n Slider = \"Slider\",\r\n}\r\n\r\n/**\r\n * Base interface for [[PropertyEditorParameters]]. Not meant\r\n * to be used directly, see `PropertyEditorParameters`.\r\n * @public\r\n */\r\nexport interface PropertyEditorParametersBase {\r\n /**\r\n * Used for serializing to JSON.\r\n * @see PropertyEditorParameterTypes\r\n */\r\n paramsType: `${PropertyEditorParameterTypes}`;\r\n}\r\n\r\n/**\r\n * Arbitrary JSON parameters for custom property editors\r\n * @public\r\n */\r\nexport interface PropertyEditorJsonParameters extends PropertyEditorParametersBase {\r\n /** Used for serializing to JSON. */\r\n paramsType: \"Json\";\r\n\r\n /** Arbitrary JSON that can be handled by a property editor */\r\n json: any;\r\n}\r\n\r\n/**\r\n * Multiline parameters for property editors that support multiline display\r\n * @public\r\n */\r\nexport interface PropertyEditorMultilineParameters extends PropertyEditorParametersBase {\r\n /** Used for serializing to JSON. */\r\n paramsType: \"Multiline\";\r\n\r\n /**\r\n * Number of lines. Defaults to `1`.\r\n *\r\n * @type integer\r\n * @minimum 1\r\n */\r\n height?: number;\r\n}\r\n\r\n/**\r\n * Range parameters for property editors that support ranges\r\n * @public\r\n */\r\nexport interface PropertyEditorRangeParameters extends PropertyEditorParametersBase {\r\n /** Used for serializing to JSON. */\r\n paramsType: \"Range\";\r\n\r\n /** Minimum value of the range. */\r\n min?: number;\r\n\r\n /** Maximum value of the range. */\r\n max?: number;\r\n}\r\n\r\n/**\r\n * Slider parameters for property editors that support slider display\r\n * @public\r\n */\r\nexport interface PropertyEditorSliderParameters extends PropertyEditorParametersBase {\r\n /** Used for serializing to JSON. */\r\n paramsType: \"Slider\";\r\n\r\n /** Minimum value that can be set. */\r\n min: number;\r\n\r\n /** Maximum value that can be set. */\r\n max: number;\r\n\r\n /**\r\n * Count of intervals. Defaults to `1`.\r\n *\r\n * @type integer\r\n * @minimum 1\r\n */\r\n intervalsCount?: number;\r\n\r\n /** Is slider vertical. */\r\n isVertical?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"PropertyEditorsSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAkCH;;;GAGG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,6CAAa,CAAA;IACb,uDAAuB,CAAA;IACvB,+CAAe,CAAA;IACf,iDAAiB,CAAA;AACnB,CAAC,EALW,4BAA4B,4CAA5B,4BAA4B,QAKvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelatedPropertiesSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAKH;;;GAGG;AACH,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,oDAA6B,CAAA;IAE7B;;;OAGG;IACH,0DAAmC,CAAA;AACrC,CAAC,EAZW,mBAAmB,mCAAnB,mBAAmB,QAY9B;AAED;;;GAGG;AACH,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC;;;OAGG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,2CAAS,CAAA;AACX,CAAC,EAXW,8BAA8B,8CAA9B,8BAA8B,QAWzC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RelationshipPathSpecification } from \"../../RelationshipPathSpecification.js\";\r\nimport { PropertySpecification } from \"../PropertySpecification.js\";\r\n\r\n/**\r\n * Meaning of the relationship.\r\n * @public\r\n */\r\nexport enum RelationshipMeaning {\r\n /**\r\n * The properties should be displayed as if they belonged to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance).\r\n * Generally that means they assigned a category, that's nested under the default category.\r\n */\r\n SameInstance = \"SameInstance\",\r\n\r\n /**\r\n * The properties should be distinguished from properties of the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * and shown separately to make it clear they belong to another instance. Generally that means they're assigned a separate root category.\r\n */\r\n RelatedInstance = \"RelatedInstance\",\r\n}\r\n\r\n/**\r\n * Special values that can be used in [[RelatedPropertiesSpecification.propertyNames]]\r\n * @public\r\n */\r\nexport enum RelatedPropertiesSpecialValues {\r\n /**\r\n * Used to specify that no properties should be included. Usually\r\n * used together with [[RelatedPropertiesSpecification.nestedRelatedProperties]]\r\n */\r\n None = \"_none_\",\r\n\r\n /**\r\n * Used to specify that all properties should be included.\r\n */\r\n All = \"*\",\r\n}\r\n\r\n/**\r\n * This specification allows including related instance properties into the content.\r\n *\r\n * @see [Related properties specification specification reference documentation page]($docs/presentation/content/RelatedPropertiesSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedPropertiesSpecification {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md) that\r\n * forms a path from the content instance to the related instance(s) whose properties should additionally be loaded.\r\n */\r\n propertiesSource: RelationshipPathSpecification;\r\n\r\n /**\r\n * Condition for filtering instances targeted by the [[propertiesSource]] attribute.\r\n *\r\n * **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)\r\n */\r\n instanceFilter?: string;\r\n\r\n /**\r\n * The attribute tells whether the target class specified through [[propertiesSource]] should be handled\r\n * polymorphically. This means properties of the concrete class are loaded in addition to properties of the\r\n * target class itself.\r\n *\r\n * @note There's a difference between loading properties and instances polymorphically. This attribute\r\n * only controls polymorphism of properties, while instances are always looked up in a polymorphic fashion.\r\n */\r\n handleTargetClassPolymorphically?: boolean;\r\n\r\n /**\r\n * Should the field containing related properties be assigned the [[NestedContentField.autoExpand]]\r\n * attribute. The attribute tells UI components showing the properties that they should be initially displayed in the expanded state.\r\n */\r\n autoExpand?: boolean;\r\n\r\n /**\r\n * Specifies whether the specification should be ignored if another higher priority specification for the same relationship already exists.\r\n */\r\n skipIfDuplicate?: boolean;\r\n\r\n /**\r\n * The attribute describes what the related properties mean to the [primary instance]($docs/presentation/content/Terminology.md#primary-instance)\r\n * whose properties are displayed.\r\n * @see RelationshipMeaning\r\n */\r\n relationshipMeaning?: `${RelationshipMeaning}`;\r\n\r\n /** The attribute allows loading additional related properties that are related to the target instance of this specification. */\r\n nestedRelatedProperties?: RelatedPropertiesSpecification[];\r\n\r\n /**\r\n * List of names or definitions of related class properties that should be included in the content.\r\n * @see RelatedPropertiesSpecialValues\r\n */\r\n properties?: Array<string | PropertySpecification> | `${RelatedPropertiesSpecialValues}`;\r\n\r\n /**\r\n * List of names or definitions of relationship class properties that should be included in the content.\r\n * @see RelatedPropertiesSpecialValues\r\n */\r\n relationshipProperties?: Array<string | PropertySpecification> | `${RelatedPropertiesSpecialValues}`;\r\n\r\n /**\r\n * Specifies whether a relationship category should be created regardless of whether any relationship properties were included.\r\n */\r\n forceCreateRelationshipCategory?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"RelatedPropertiesSpecification.js","sourceRoot":"","sources":["../../../../../../src/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAKH;;;GAGG;AACH,IAAY,mBAYX;AAZD,WAAY,mBAAmB;IAC7B;;;OAGG;IACH,oDAA6B,CAAA;IAE7B;;;OAGG;IACH,0DAAmC,CAAA;AACrC,CAAC,EAZW,mBAAmB,mCAAnB,mBAAmB,QAY9B;AAED;;;GAGG;AACH,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC;;;OAGG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,2CAAS,CAAA;AACX,CAAC,EAXW,8BAA8B,8CAA9B,8BAA8B,QAWzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomizationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CustomizationRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { NodeArtifactsRule } from \"../hierarchy/NodeArtifactsRule.js\";\r\nimport { ExtendedDataRule } from \"./ExtendedDataRule.js\";\r\nimport { GroupingRule } from \"./GroupingRule.js\";\r\nimport { InstanceLabelOverride } from \"./InstanceLabelOverride.js\";\r\nimport { SortingRule } from \"./SortingRule.js\";\r\n\r\n/**\r\n * Customization rules allow customizing each node or content item separately.\r\n * Most of the rules have a `condition` property which uses [ECExpressions]($docs/presentation/customization/ECExpressions.md)\r\n * for conditional rule filtering.\r\n *\r\n * **Nested customization rules:**\r\n *\r\n * Customization rules may be specified at ruleset level, in which case they're\r\n * applied to all content produced by the ruleset, or nested under navigation rules,\r\n * in which case they're applied only for nodes created by those rules.\r\n *\r\n * **Customization rule priorities:**\r\n *\r\n * Customization rules have a `priority` attribute which defines the order in which they're applied. If priorities match,\r\n * rules engine looks at the nesting level - the deeper the rule is nested, the higher is its `priority`.\r\n * If the nesting levels also match, the rule defined first wins.\r\n *\r\n * @public\r\n */\r\nexport declare type CustomizationRule = InstanceLabelOverride | GroupingRule | SortingRule | ExtendedDataRule | NodeArtifactsRule;\r\n"]}
1
+ {"version":3,"file":"CustomizationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/CustomizationRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExtendedDataRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/ExtendedDataRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RuleBase } from \"../Rule.js\";\r\n\r\n/**\r\n * Extended data rule is used to inject some arbitrary data into presentation data objects (nodes, content records).\r\n *\r\n * @see [Extended data rule reference documentation page]($docs/presentation/customization/ExtendedDataRule.md)\r\n * @public\r\n */\r\nexport interface ExtendedDataRule extends RuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"ExtendedData\";\r\n\r\n /**\r\n * Defines a condition which needs to be met in order for the rule to be used. The condition\r\n * is an [ECExpression]($docs/presentation/customization/ECExpressions.md#rule-condition) which has\r\n * to evaluate to a boolean value.\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * A map of [ECExpressions]($docs/presentation/customization/ECExpressions.md#rule-condition) whose\r\n * evaluation results are used as extended data values.\r\n */\r\n items: { [key: string]: string };\r\n}\r\n"]}
1
+ {"version":3,"file":"ExtendedDataRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/ExtendedDataRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/GroupingRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAsCH;;;GAGG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,6CAAe,CAAA;IACf,mDAAqB,CAAA;IACrB,qEAAuC,CAAA;AACzC,CAAC,EAJW,0BAA0B,0CAA1B,0BAA0B,QAIrC;AAgED;;;GAGG;AACH,IAAY,sCAYX;AAZD,WAAY,sCAAsC;IAChD,qCAAqC;IACrC,yDAAe,CAAA;IAEf;;;;;;OAMG;IACH,qEAA2B,CAAA;AAC7B,CAAC,EAZW,sCAAsC,sDAAtC,sCAAsC,QAYjD","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications.js\";\r\nimport { RuleBase } from \"../Rule.js\";\r\n\r\n/**\r\n * Grouping rules provide advanced ways to group instances when creating hierarchies.\r\n *\r\n * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)\r\n * @public\r\n */\r\nexport interface GroupingRule extends RuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"Grouping\";\r\n\r\n /**\r\n * An [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) that results in\r\n * a boolean value. If specified, the grouping rule applies only to instance nodes that cause the condition\r\n * to evaluate to `true`.\r\n */\r\n condition?: string;\r\n\r\n /** Specification of ECClass which should be grouped using this rule. */\r\n class: SingleSchemaClassSpecification;\r\n\r\n /**\r\n * Specifies a list of [grouping specifications]($docs/presentation/hierarchies/GroupingRule.md#grouping-specifications)\r\n * which describe the kind of grouping that should be applied.\r\n */\r\n groups: GroupingSpecification[];\r\n}\r\n\r\n/**\r\n * Grouping rule specifications.\r\n * @public\r\n */\r\nexport declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;\r\n\r\n/**\r\n * Available types of [[GroupingSpecification]].\r\n * @public\r\n */\r\nexport enum GroupingSpecificationTypes {\r\n Class = \"Class\",\r\n Property = \"Property\",\r\n SameLabelInstance = \"SameLabelInstance\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[GroupingSpecification]] implementations. Not\r\n * meant to be used directly, see `GroupingSpecification`.\r\n *\r\n * @public\r\n */\r\nexport interface GroupingSpecificationBase {\r\n /**\r\n * Type of the subclass\r\n * @see GroupingSpecificationTypes\r\n */\r\n specType: `${GroupingSpecificationTypes}`;\r\n}\r\n\r\n/**\r\n * Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy\r\n * specifications' `groupByClass` attribute, which always groups by direct class).\r\n *\r\n * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)\r\n * @public\r\n */\r\nexport interface ClassGroup extends GroupingSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"Class\";\r\n\r\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\r\n createGroupForSingleItem?: boolean;\r\n\r\n /**\r\n * Specification of the base ECClass to group by. If specified, allows grouping by a subclass of the class\r\n * specified by rule's `class` attribute.\r\n */\r\n baseClass?: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * Allows grouping multiple instances with the same label into one ECInstances type of node. Similar to display label grouping,\r\n * but instead of showing a grouping node with multiple grouped ECInstance nodes, it shows a single ECInstances node which represents\r\n * multiple ECInstances.\r\n *\r\n * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)\r\n * @public\r\n */\r\nexport interface SameLabelInstanceGroup extends GroupingSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"SameLabelInstance\";\r\n\r\n /**\r\n * Grouping nodes by label is an expensive operation because it requires the whole hierarchy level to be created before even the first\r\n * grouped node can be produced. To alleviate the performance impact when this specification is used, two `applicationStage` settings have been introduced:\r\n *\r\n * - `\"Query\"` groups instances during ECSql query, which can often make use of database indices and is generally fairly quick. It is chosen\r\n * as the default option, however, it fails to produce grouping nodes when certain ruleset specifications are involved.\r\n *\r\n * - `\"PostProcess\"` groups instances after the whole hierarchy level is built. It incurs a large performance penalty, but it will\r\n * produce the expected result in all cases.\r\n *\r\n * @see SameLabelInstanceGroupApplicationStage\r\n */\r\n applicationStage?: `${SameLabelInstanceGroupApplicationStage}`;\r\n}\r\n\r\n/**\r\n * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.\r\n * @public\r\n */\r\nexport enum SameLabelInstanceGroupApplicationStage {\r\n /** Apply grouping at query stage. */\r\n Query = \"Query\",\r\n\r\n /**\r\n * Apply grouping at post-processing stage.\r\n *\r\n * This allows grouping nodes created by different hierarchy specifications at\r\n * a higher performance cost as it requires loading the whole hierarchy level before\r\n * returning even the first node - avoid using with large numbers of nodes.\r\n */\r\n PostProcess = \"PostProcess\",\r\n}\r\n\r\n/**\r\n * Property grouping allows grouping by a property of the instance by value or by given ranges of values.\r\n *\r\n * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)\r\n * @public\r\n */\r\nexport interface PropertyGroup extends GroupingSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"Property\";\r\n\r\n /**\r\n * Name of the ECProperty which is used for grouping. The property must exist on the ECClass specified by the\r\n * rule's `class` attribute and it must be of either a primitive or a navigation type.\r\n *\r\n * @minLength 1\r\n */\r\n propertyName: string;\r\n\r\n /**\r\n * Specifies grouping node's image ID. If set, the ID is assigned to [[Node.imageId]] and\r\n * it's up to the UI component to decide what to do with it.\r\n *\r\n * @minLength 1\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n imageId?: string;\r\n\r\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\r\n createGroupForSingleItem?: boolean;\r\n\r\n /**\r\n * Should a separate grouping node be created for nodes whose grouping value is not set or is set to an empty string.\r\n */\r\n createGroupForUnspecifiedValues?: boolean;\r\n\r\n /** Ranges into which the grouping values are divided. Instances are grouped by value if no ranges are specified. */\r\n ranges?: PropertyRangeGroupSpecification[];\r\n}\r\n\r\n/**\r\n * Describes a grouping range.\r\n *\r\n * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)\r\n * @public\r\n */\r\nexport interface PropertyRangeGroupSpecification {\r\n /**\r\n * ID of an image to use for the grouping node. Defaults to [[PropertyGroup.imageId]] specified in [[PropertyGroup]].\r\n *\r\n * @minLength 1\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n imageId?: string;\r\n\r\n /**\r\n * Grouping node label. May be [localized]($docs/presentation/advanced/Localization.md).\r\n * Defaults to `{from value} - {to value}`.\r\n *\r\n * @minLength 1\r\n */\r\n label?: string;\r\n\r\n /**\r\n * Value that defines the range start (inclusive).\r\n *\r\n * @minLength 1\r\n */\r\n fromValue: string;\r\n\r\n /**\r\n * Value that defines the range end (inclusive).\r\n *\r\n * @minLength 1\r\n */\r\n toValue: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"GroupingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/GroupingRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAsCH;;;GAGG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,6CAAe,CAAA;IACf,mDAAqB,CAAA;IACrB,qEAAuC,CAAA;AACzC,CAAC,EAJW,0BAA0B,0CAA1B,0BAA0B,QAIrC;AAgED;;;GAGG;AACH,IAAY,sCAYX;AAZD,WAAY,sCAAsC;IAChD,qCAAqC;IACrC,yDAAe,CAAA;IAEf;;;;;;OAMG;IACH,qEAA2B,CAAA;AAC7B,CAAC,EAZW,sCAAsC,sDAAtC,sCAAsC,QAYjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceLabelOverride.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/InstanceLabelOverride.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA4BH;;;GAGG;AACH,IAAY,2CASX;AATD,WAAY,2CAA2C;IACrD,sEAAuB,CAAA;IACvB,oEAAqB,CAAA;IACrB,sEAAuB,CAAA;IACvB,wEAAyB,CAAA;IACzB,0EAA2B,CAAA;IAC3B,kEAAmB,CAAA;IACnB,gEAAiB,CAAA;IACjB,4FAA6C,CAAA;AAC/C,CAAC,EATW,2CAA2C,2DAA3C,2CAA2C,QAStD","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications.js\";\r\nimport { RelationshipPathSpecification } from \"../RelationshipPathSpecification.js\";\r\nimport { RuleBase } from \"../Rule.js\";\r\n\r\n/**\r\n * Instance label override rule provides a way to set instance label to one of its property values,\r\n * other attributes and/or combination of them.\r\n *\r\n * @see [Instance label override reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverride extends RuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"InstanceLabelOverride\";\r\n\r\n /**\r\n * Specifies the ECClass to apply this rule to.\r\n */\r\n class: SingleSchemaClassSpecification;\r\n\r\n /**\r\n * Specifications of values used to override label. The first non-empty value is used as the actual label.\r\n */\r\n values: InstanceLabelOverrideValueSpecification[];\r\n}\r\n\r\n/**\r\n * Types of possible [[InstanceLabelOverride]] label values.\r\n * @public\r\n */\r\nexport enum InstanceLabelOverrideValueSpecificationType {\r\n Composite = \"Composite\",\r\n Property = \"Property\",\r\n ClassName = \"ClassName\",\r\n ClassLabel = \"ClassLabel\",\r\n BriefcaseId = \"BriefcaseId\",\r\n LocalId = \"LocalId\",\r\n String = \"String\",\r\n RelatedInstanceLabel = \"RelatedInstanceLabel\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[InstanceLabelOverrideValueSpecification]] implementations.\r\n * @public\r\n */\r\nexport interface InstanceLabelOverrideValueSpecificationBase {\r\n /**\r\n * Type of the specification\r\n * @see InstanceLabelOverrideValueSpecificationType\r\n */\r\n specType: `${InstanceLabelOverrideValueSpecificationType}`;\r\n}\r\n\r\n/**\r\n * Specification allows creating a label value composited using multiple other specifications.\r\n *\r\n * @see [Composite value specification reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md#composite-value-specification)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverrideCompositeValueSpecification extends InstanceLabelOverrideValueSpecificationBase {\r\n specType: \"Composite\";\r\n\r\n /**\r\n * Parts of the value.\r\n *\r\n * If any of the parts with `isRequired` flag evaluate to an empty string, the\r\n * result of this specification is also an empty string.\r\n */\r\n parts: Array<{ spec: InstanceLabelOverrideValueSpecification; isRequired?: boolean }>;\r\n\r\n /** Separator to use when joining the parts. Defaults to a space character. */\r\n separator?: string;\r\n}\r\n\r\n/**\r\n * Specification uses property value as the label content.\r\n *\r\n * @see [Property value specification reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md#property-value-specification)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverridePropertyValueSpecification extends InstanceLabelOverrideValueSpecificationBase {\r\n specType: \"Property\";\r\n\r\n /**\r\n * Name of the property whose value should be used.\r\n * @note A property with this name must exist on the property class (see [[propertySource]]).\r\n */\r\n propertyName: string;\r\n\r\n /**\r\n * [Specification of the relationship path]($docs/presentation/RelationshipPathSpecification.md) from [[InstanceLabelOverride.class]]\r\n * to class of the property. If omitted, [[InstanceLabelOverride.class]] is used as property class.\r\n */\r\n propertySource?: RelationshipPathSpecification;\r\n}\r\n\r\n/**\r\n * Specification uses ECClass name as the label content.\r\n *\r\n * @see [Class name value specification reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md#class-name-value-specification)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverrideClassNameSpecification extends InstanceLabelOverrideValueSpecificationBase {\r\n specType: \"ClassName\";\r\n\r\n /** Should full (`{schemaName}.{className}`) class name be used */\r\n full?: boolean;\r\n}\r\n\r\n/**\r\n * Specification uses ECClass display label as the label content.\r\n *\r\n * @see [Class label value specification reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md#class-label-value-specification)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverrideClassLabelSpecification extends InstanceLabelOverrideValueSpecificationBase {\r\n specType: \"ClassLabel\";\r\n}\r\n\r\n/**\r\n * Specification returns ECInstance's briefcase ID in base36 format.\r\n *\r\n * @see [BriefcaseId value specification reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md#briefcaseid-value-specification)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverrideBriefcaseIdSpecification extends InstanceLabelOverrideValueSpecificationBase {\r\n specType: \"BriefcaseId\";\r\n}\r\n\r\n/**\r\n * Specification returns ECInstance's local ID in base36 format.\r\n *\r\n * @see [LocalId value specification reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md#localid-value-specification)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverrideLocalIdSpecification extends InstanceLabelOverrideValueSpecificationBase {\r\n specType: \"LocalId\";\r\n}\r\n\r\n/**\r\n * Specification uses the specified value as the label content.\r\n *\r\n * @see [String value specification reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md#string-value-specification)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverrideStringValueSpecification extends InstanceLabelOverrideValueSpecificationBase {\r\n specType: \"String\";\r\n\r\n /** The value to use as the label content. */\r\n value: string;\r\n}\r\n\r\n/**\r\n * Specification uses label of another related instance as the label content.\r\n *\r\n * @see [Related instance label value specification reference documentation page]($docs/presentation/customization/InstanceLabelOverride.md#related-instance-label-value-specification)\r\n * @public\r\n */\r\nexport interface InstanceLabelOverrideRelatedInstanceLabelSpecification extends InstanceLabelOverrideValueSpecificationBase {\r\n specType: \"RelatedInstanceLabel\";\r\n\r\n /**\r\n * [Specification of the relationship path]($docs/presentation/RelationshipPathSpecification.md) from `InstanceLabelOverride.class`\r\n * to class of the related instance.\r\n */\r\n pathToRelatedInstance: RelationshipPathSpecification;\r\n}\r\n\r\n/**\r\n * Specification to define how the label for [[InstanceLabelOverride]] should be created.\r\n * @public\r\n */\r\nexport type InstanceLabelOverrideValueSpecification =\r\n | InstanceLabelOverrideCompositeValueSpecification\r\n | InstanceLabelOverridePropertyValueSpecification\r\n | InstanceLabelOverrideStringValueSpecification\r\n | InstanceLabelOverrideClassNameSpecification\r\n | InstanceLabelOverrideClassLabelSpecification\r\n | InstanceLabelOverrideBriefcaseIdSpecification\r\n | InstanceLabelOverrideLocalIdSpecification\r\n | InstanceLabelOverrideRelatedInstanceLabelSpecification;\r\n"]}
1
+ {"version":3,"file":"InstanceLabelOverride.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/InstanceLabelOverride.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA4BH;;;GAGG;AACH,IAAY,2CASX;AATD,WAAY,2CAA2C;IACrD,sEAAuB,CAAA;IACvB,oEAAqB,CAAA;IACrB,sEAAuB,CAAA;IACvB,wEAAyB,CAAA;IACzB,0EAA2B,CAAA;IAC3B,kEAAmB,CAAA;IACnB,gEAAiB,CAAA;IACjB,4FAA6C,CAAA;AAC/C,CAAC,EATW,2CAA2C,2DAA3C,2CAA2C,QAStD"}
@@ -1 +1 @@
1
- {"version":3,"file":"SortingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/SortingRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications.js\";\r\nimport { RuleBase } from \"../Rule.js\";\r\n\r\n/**\r\n * Sorting rules provide a way to either disable sorting or sort instances by specific properties.\r\n *\r\n * @see [Sorting rule reference documentation page]($docs/presentation/customization/SortingRule.md)\r\n * @public\r\n */\r\nexport interface SortingRuleBase extends RuleBase {\r\n /**\r\n * Defines a condition which needs to be met in order for the rule to be used. The condition is an\r\n * [ECExpression]($docs/presentation/customization/ECExpressions.md#rule-condition) which has to\r\n * evaluate to a boolean value.\r\n */\r\n condition?: string;\r\n\r\n /** Specifies ECClass whose ECInstances should be sorted. */\r\n class?: SingleSchemaClassSpecification;\r\n\r\n /** Specifies that [[class]] attribute defined in this rule should be handled polymorphically. */\r\n isPolymorphic?: boolean;\r\n}\r\n\r\n/**\r\n * Sorting rules provide a way to either disable sorting or sort instances by specific properties.\r\n *\r\n * @see [Sorting rule reference documentation page]($docs/presentation/customization/SortingRule.md)\r\n * @public\r\n */\r\nexport type SortingRule = PropertySortingRule | DisabledSortingRule;\r\n\r\n/**\r\n * Rule to configure sorting for certain ECInstances in the hierarchy and/or content. It is possible to configure different sorting for different types of ECInstances.\r\n *\r\n * @see [Property sorting rule reference documentation section]($docs/presentation/customization/SortingRule.md#property-sorting-rule)\r\n * @public\r\n */\r\nexport interface PropertySortingRule extends SortingRuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"PropertySorting\";\r\n\r\n /**\r\n * Specifies name of the property which should be used for sorting.\r\n *\r\n * @minLength 1\r\n */\r\n propertyName: string;\r\n\r\n /** Specifies whether instances should be sorted in ascending order or descending. */\r\n sortAscending?: boolean;\r\n}\r\n\r\n/**\r\n * Rule to disable sorting for certain ECInstances in the hierarchy and/or content.\r\n *\r\n * @see [Disabled sorting rule reference documentation section]($docs/presentation/customization/SortingRule.md#disabled-sorting-rule)\r\n * @public\r\n */\r\nexport interface DisabledSortingRule extends SortingRuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"DisabledSorting\";\r\n}\r\n"]}
1
+ {"version":3,"file":"SortingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/SortingRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { NavigationRuleBase } from \"./NavigationRule.js\";\r\n\r\n/**\r\n * Child node rules are used to define child nodes in a hierarchy.\r\n *\r\n * @see [Child node rule reference documentation page]($docs/presentation/hierarchies/ChildNodeRule.md)\r\n * @public\r\n */\r\nexport interface ChildNodeRule extends NavigationRuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"ChildNodes\";\r\n}\r\n"]}
1
+ {"version":3,"file":"ChildNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AASH;;;GAGG;AACH,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4EAA6C,CAAA;IAC7C,gGAAiE,CAAA;IACjE,oFAAqD,CAAA;IACrD,wDAAyB,CAAA;AAC3B,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification.js\";\r\nimport { ChildNodeRule } from \"./ChildNodeRule.js\";\r\nimport { CustomNodeSpecification } from \"./CustomNodeSpecification.js\";\r\nimport { CustomQueryInstanceNodesSpecification } from \"./CustomQueryInstanceNodesSpecification.js\";\r\nimport { InstanceNodesOfSpecificClassesSpecification } from \"./InstanceNodesOfSpecificClassesSpecification.js\";\r\nimport { RelatedInstanceNodesSpecification } from \"./RelatedInstanceNodesSpecification.js\";\r\n\r\n/**\r\n * Used for serializing array of [[ChildNodeSpecification]]\r\n * @public\r\n */\r\nexport enum ChildNodeSpecificationTypes {\r\n RelatedInstanceNodes = \"RelatedInstanceNodes\",\r\n InstanceNodesOfSpecificClasses = \"InstanceNodesOfSpecificClasses\",\r\n CustomQueryInstanceNodes = \"CustomQueryInstanceNodes\",\r\n CustomNode = \"CustomNode\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[ChildNodeSpecification]] implementations.\r\n *\r\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\r\n * @public\r\n */\r\nexport interface ChildNodeSpecificationBase {\r\n /**\r\n * Used for serializing to JSON.\r\n * @see ChildNodeSpecificationTypes\r\n */\r\n specType: `${ChildNodeSpecificationTypes}`;\r\n\r\n /**\r\n * Controls the order in which specifications are handled — specification with higher priority value is\r\n * handled first. If priorities are equal, the specifications are handled in the order they appear in the\r\n * ruleset.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * This attribute allows telling the engine that nodes created by this specification always or never have children.\r\n */\r\n hasChildren?: \"Always\" | \"Never\" | \"Unknown\";\r\n\r\n /**\r\n * When `true`, instances nodes produced by this specification are omitted and their children appear one\r\n * hierarchy level higher.\r\n */\r\n hideNodesInHierarchy?: boolean;\r\n\r\n /**\r\n * Specifies whether nodes created through this specification should be hidden if they have no child nodes.\r\n */\r\n hideIfNoChildren?: boolean;\r\n\r\n /**\r\n * When specified [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#specification) evaluates\r\n * to `true`, nodes produced by this specification are omitted and their children appear one hierarchy level\r\n * higher.\r\n */\r\n hideExpression?: string;\r\n\r\n /**\r\n * Suppress sorting of nodes returned by this specification. With this attribute set to `true`, the order\r\n * of returned nodes is undefined.\r\n */\r\n doNotSort?: boolean;\r\n\r\n /**\r\n * Specifies whether similar ancestor nodes' checking should be suppressed when creating nodes based on this\r\n * specification. See more in [infinite hierarchies prevention page]($docs/presentation/hierarchies/InfiniteHierarchiesPrevention.md).\r\n */\r\n suppressSimilarAncestorsCheck?: boolean;\r\n\r\n /**\r\n * Specifications of [related instances]($docs/presentation/RelatedInstanceSpecification.md) that can be used\r\n * when creating the nodes.\r\n */\r\n relatedInstances?: RelatedInstanceSpecification[];\r\n\r\n /**\r\n * Specifications of [nested child node rules]($docs/presentation/hierarchies/Terminology.md#nested-rule) that\r\n * allow creating child nodes without the need of supplying a condition to match the parent node.\r\n */\r\n nestedRules?: ChildNodeRule[];\r\n}\r\n\r\n/**\r\n * A container of default grouping properties. Used for specifications that support\r\n * default grouping. Not meant to be used directly, see [[ChildNodeSpecification]].\r\n *\r\n * @public\r\n */\r\nexport interface DefaultGroupingPropertiesContainer {\r\n /** Controls whether returned instances should be grouped by ECClass. Defaults to `true`. */\r\n groupByClass?: boolean;\r\n\r\n /** Controls whether returned instances should be grouped by label. Defaults to `true`. */\r\n groupByLabel?: boolean;\r\n}\r\n\r\n/**\r\n * Hierarchy rule specifications that define what nodes are going to be returned by the rule.\r\n *\r\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\r\n * @public\r\n */\r\nexport type ChildNodeSpecification =\r\n | CustomNodeSpecification\r\n | InstanceNodesOfSpecificClassesSpecification\r\n | RelatedInstanceNodesSpecification\r\n | CustomQueryInstanceNodesSpecification;\r\n"]}
1
+ {"version":3,"file":"ChildNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AASH;;;GAGG;AACH,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4EAA6C,CAAA;IAC7C,gGAAiE,CAAA;IACjE,oFAAqD,CAAA;IACrD,wDAAyB,CAAA;AAC3B,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { ChildNodeSpecificationBase } from \"./ChildNodeSpecification.js\";\r\n\r\n/**\r\n * Returns a static custom-defined node that's not based on an ECInstance.\r\n *\r\n * @see [Custom node specification reference documentation page]($docs/presentation/hierarchies/CustomNode.md)\r\n * @public\r\n */\r\nexport interface CustomNodeSpecification extends ChildNodeSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"CustomNode\";\r\n\r\n /** Specifies node type, which is assigned to node's key. */\r\n type: string;\r\n\r\n /**\r\n * Specifies node label. This is a string value that may be [localized]($docs/presentation/advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /**\r\n * Specifies the value of [[Node.description]] property, which is a string that may\r\n * be [localized]($docs/presentation/advanced/Localization.md). UI component displaying the node may choose\r\n * whether and how to surface this information to users.\r\n */\r\n description?: string;\r\n\r\n /**\r\n * Specifies node's image ID. If set, the ID is assigned to [[Node.imageId]] and it's\r\n * up to the UI component to decide what to do with it.\r\n *\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n imageId?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"CustomNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomQueryInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA8BH;;;GAGG;AACH,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,8DAAmC,CAAA;AACrC,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications.js\";\r\nimport { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification.js\";\r\n\r\n/**\r\n * Returns nodes for instances returned by a provided ECSQL query.\r\n *\r\n * @see [Custom query instance nodes specification reference documentation page]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md)\r\n * @public\r\n */\r\nexport interface CustomQueryInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: \"CustomQueryInstanceNodes\";\r\n\r\n /**\r\n * Specifications of queries used to create the content. Query specifications define the actual\r\n * results of the specification.\r\n */\r\n queries?: QuerySpecification[];\r\n}\r\n\r\n/**\r\n * Query specifications used in [[CustomQueryInstanceNodesSpecification]].\r\n *\r\n * @see [Custom query specifications reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#attribute-queries)\r\n * @public\r\n */\r\nexport declare type QuerySpecification = StringQuerySpecification | ECPropertyValueQuerySpecification;\r\n\r\n/**\r\n * Used for serializing array of [[QuerySpecification]] to JSON.\r\n * @public\r\n */\r\nexport enum QuerySpecificationTypes {\r\n String = \"String\",\r\n ECPropertyValue = \"ECPropertyValue\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[QuerySpecification]] implementations.\r\n * @public\r\n */\r\nexport interface QuerySpecificationBase {\r\n /**\r\n * Used for serializing to JSON.\r\n * @see QuerySpecificationTypes\r\n */\r\n specType: `${QuerySpecificationTypes}`;\r\n\r\n /**\r\n * Specification of ECClass whose instances the query returns. The specification may also point to a\r\n * base class of instances returned by the query. If the query returns instances that are not of this\r\n * class, they aren't included in the result set.\r\n */\r\n class: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * The specification contains an ECSQL query which is used to query for instances.\r\n *\r\n * @see [String query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#string-query-specification)\r\n * @public\r\n */\r\nexport interface StringQuerySpecification extends QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"String\";\r\n\r\n /** Specifies the search ECSQL query. */\r\n query: string;\r\n}\r\n\r\n/**\r\n * The specification specifies the name of the parent node instance property whose value is the ECSQL\r\n * used to query for instances.\r\n *\r\n * @see [ECProperty value query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#ecproperty-value-query-specification)\r\n * @public\r\n */\r\nexport interface ECPropertyValueQuerySpecification extends QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"ECPropertyValue\";\r\n\r\n /**\r\n * Specifies name of the parent instance property whose value contains the ECSQL query.\r\n */\r\n parentPropertyName: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"CustomQueryInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA8BH;;;GAGG;AACH,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,8DAAmC,CAAA;AACrC,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceNodesOfSpecificClassesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { MultiSchemaClassesSpecification } from \"../ClassSpecifications.js\";\r\nimport { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification.js\";\r\n\r\n/**\r\n * Returns nodes for instances of specific ECClasses.\r\n *\r\n * @see [Instance nodes of specific classes specification reference documentation page]($docs/presentation/hierarchies/InstanceNodesOfSpecificClasses.md)\r\n * @public\r\n */\r\nexport interface InstanceNodesOfSpecificClassesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: \"InstanceNodesOfSpecificClasses\";\r\n\r\n /**\r\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that\r\n * specify which ECClasses need to be selected to form the result.\r\n */\r\n classes: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that\r\n * prevents specified ECClasses and subclasses from being selected by [[classes]] attribute.\r\n */\r\n excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Specifies an [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#instance-filter) for filtering\r\n * instances of ECClasses specified through the [[classes]] attribute.\r\n */\r\n instanceFilter?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"InstanceNodesOfSpecificClassesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NavigationRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomizationRule } from \"../customization/CustomizationRule.js\";\r\nimport { RuleBase } from \"../Rule.js\";\r\nimport { ChildNodeRule } from \"./ChildNodeRule.js\";\r\nimport { ChildNodeSpecification } from \"./ChildNodeSpecification.js\";\r\nimport { RootNodeRule } from \"./RootNodeRule.js\";\r\nimport { SubCondition } from \"./SubCondition.js\";\r\n\r\n/**\r\n * Base class for all [[NavigationRule]] implementations.\r\n *\r\n * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)\r\n * @public\r\n */\r\nexport interface NavigationRuleBase extends RuleBase {\r\n /**\r\n * Defines a condition which needs to be met in order for the rule to be used. The condition is an\r\n * [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) which has to evaluate\r\n * to a boolean value.\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * A list of hierarchy specifications that define what nodes are going to be returned.\r\n */\r\n specifications?: ChildNodeSpecification[];\r\n\r\n /**\r\n * A list of [customization rules]($docs/presentation/hierarchies/index.md#hierarchy-customization) that\r\n * apply only to nodes produced by this rule.\r\n */\r\n customizationRules?: CustomizationRule[];\r\n\r\n /**\r\n * A list of sub-rules which share *placement attributes* and\r\n * [nested customization rules]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-customizationrules)\r\n * of the hierarchy rule. This means the attributes of hierarchy rule are still in effect and the sub-rules\r\n * can add additional condition of their own.\r\n */\r\n subConditions?: SubCondition[];\r\n\r\n /**\r\n * Stop processing rules that have lower priority. Used in cases when recursion suppression is needed.\r\n */\r\n stopFurtherProcessing?: boolean;\r\n}\r\n\r\n/**\r\n * Navigation rules are used to define hierarchies displayed in tree components.\r\n *\r\n * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)\r\n * @public\r\n */\r\nexport type NavigationRule = RootNodeRule | ChildNodeRule;\r\n"]}
1
+ {"version":3,"file":"NavigationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NavigationRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeArtifactsRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NodeArtifactsRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RuleBase } from \"../Rule.js\";\r\n\r\n/**\r\n * Node artifacts rules are used to create and assign artifacts to specific nodes. The artifacts can be\r\n * accessed when evaluating parent node's `hideExpression` to decide whether it should be hidden or not.\r\n *\r\n * @see [Node artifacts rule reference documentation page]($docs/presentation/hierarchies/NodeArtifactsRule.md)\r\n * @public\r\n */\r\nexport interface NodeArtifactsRule extends RuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"NodeArtifacts\";\r\n\r\n /**\r\n * Specifies an [ECExpression]($docs/presentation/customization/ECExpressions.md#rule-condition) that\r\n * allows applying node artifacts based on evaluation result, e.g. by some property of the parent node.\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * A map of [ECExpressions]($docs/presentation/hierarchies/ECExpressions.md#specification) whose evaluation results\r\n * are used as artifact values.\r\n */\r\n items: { [key: string]: string };\r\n}\r\n"]}
1
+ {"version":3,"file":"NodeArtifactsRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NodeArtifactsRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelatedInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RepeatableRelationshipPathSpecification } from \"../RelationshipPathSpecification.js\";\r\nimport { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification.js\";\r\n\r\n/**\r\n * Produces ECInstance nodes that are related to some source ECInstance. The source instance is determined\r\n * by traversing the hierarchy upwards until an ECInstance node is encountered.\r\n *\r\n * @see [Related instance nodes specification reference documentation page]($docs/presentation/hierarchies/RelatedInstanceNodes.md)\r\n * @public\r\n */\r\nexport interface RelatedInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: \"RelatedInstanceNodes\";\r\n\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RepeatableRelationshipPathSpecification.md)\r\n * that forms a path from a source instance to the output instances. When this array is empty, the specification produces\r\n * no results.\r\n */\r\n relationshipPaths: RepeatableRelationshipPathSpecification[];\r\n\r\n /**\r\n * Specifies an [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#instance-filter) for filtering\r\n * instances of ECClasses targeted through the [[relationshipPaths]] attribute.\r\n */\r\n instanceFilter?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"RelatedInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"RootNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/RootNodeRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { NavigationRuleBase } from \"./NavigationRule.js\";\r\n\r\n/**\r\n * Root node rules are used to define nodes that are displayed at the root hierarchy level.\r\n *\r\n * @see [Root node rule reference documentation page]($docs/presentation/hierarchies/RootNodeRule.md)\r\n * @public\r\n */\r\nexport interface RootNodeRule extends NavigationRuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"RootNodes\";\r\n\r\n /** Tells the library to assign produced nodes a flag, indicating that they should be automatically expanded. */\r\n autoExpand?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"RootNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/RootNodeRule.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubCondition.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/SubCondition.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RequiredSchemaSpecification } from \"../SchemasSpecification.js\";\r\nimport { ChildNodeSpecification } from \"./ChildNodeSpecification.js\";\r\n\r\n/**\r\n * This is a sub-rule which shares *placement attributes* and\r\n * [nested customization rules]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-customizationrules)\r\n * of the hierarchy rule. This means the attributes of hierarchy rule are still in effect and the sub-rules\r\n * can add additional condition of their own.\r\n *\r\n * @see [Sub-conditions reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-subconditions)\r\n * @public\r\n */\r\nexport interface SubCondition {\r\n /**\r\n * Defines a condition which needs to be met in order for the rule to be used. The condition is an\r\n * [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) which has to evaluate\r\n * to a boolean value.\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Specifications that define [ECSchema requirements]($docs/presentation/RequiredSchemaSpecification.md) for\r\n * the rule to take effect.\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n\r\n /**\r\n * A list of nested sub-rules which share *placement attributes* of this sub-condition. This means the\r\n * attributes of this sub-condition are still in effect and the sub-rules can add additional condition\r\n * of their own.\r\n */\r\n subConditions?: SubCondition[];\r\n\r\n /** A list of hierarchy specifications that define what nodes are going to be returned. */\r\n specifications?: ChildNodeSpecification[];\r\n}\r\n"]}
1
+ {"version":3,"file":"SubCondition.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/SubCondition.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/presentation-common/selection/SelectionScope.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable @typescript-eslint/no-deprecated */\r\n/** @packageDocumentation\r\n * @module UnifiedSelection\r\n */\r\n\r\n/**\r\n * Data structure that describes a [selection scope]($docs/presentation/unified-selection/index#selection-scopes).\r\n * @public\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `Props<typeof computeSelection>[\"scope\"]` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\r\n */\r\nexport interface SelectionScope {\r\n /** Unique ID of the selection scope */\r\n id: string;\r\n /** Label */\r\n label: string;\r\n /** Description */\r\n description?: string;\r\n}\r\n\r\n/**\r\n * A data structure that defines properties for applying element selection scope.\r\n * @public\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `Props<typeof computeSelection>[\"scope\"]` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\r\n */\r\nexport interface ElementSelectionScopeProps {\r\n /** Identifies this as the \"element\" selection scope */\r\n id: \"element\";\r\n /**\r\n * Specifies how far \"up\" we should walk to find the target element. When not specified or `0`,\r\n * the target element matches the request element. When `1`, the target element matches the direct parent element.\r\n * When `2`, the target element is parent of the parent element and so on. In all situations when this is `> 0`,\r\n * we're not walking further than the last existing element, for example when `ancestorLevel = 1` (direct parent\r\n * element is requested), but the request element doesn't have a parent, the request element is returned as the result.\r\n */\r\n ancestorLevel?: number;\r\n}\r\n\r\n/**\r\n * A data structure that defines properties for applying a selection scope.\r\n * @public\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `Props<typeof computeSelection>[\"scope\"]` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\r\n */\r\nexport type SelectionScopeProps = ElementSelectionScopeProps | { id: string };\r\n"]}
1
+ {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/presentation-common/selection/SelectionScope.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG,qDAAqD;AACrD;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-common-internal.js","sourceRoot":"","sources":["../../src/presentation-common-internal.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,6IAA6I;AAC7I,qHAAqH;AAErH,iGAAmJ;AAA1I,4IAAA,6BAA6B,OAAA;AAAE,oIAAA,qBAAqB,OAAA;AAC7D,uEAAkH;AAAzG,8HAAA,4BAA4B,OAAA;AAAE,8HAAA,4BAA4B,OAAA;AACnE,mFAAoF;AAA3E,8HAAA,sBAAsB,OAAA;AAC/B,2DAA8G;AAArG,2HAAA,+BAA+B,OAAA;AAAE,uHAAA,2BAA2B,OAAA;AACrE,qFAAiF;AAAxE,2HAAA,kBAAkB,OAAA;AAC3B,qGAA8G;AAArG,wJAAA,uCAAuC,OAAA;AAChD,qGAA0H;AAAjH,6HAAA,gBAAgB,OAAA;AAAE,0IAAA,6BAA6B,OAAA;AACxD,qFAAiF;AAAxE,2HAAA,kBAAkB,OAAA;AAC3B,qEAAwE;AAA/D,kHAAA,iBAAiB,OAAA","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n// WARNING: This barrel file exports internal APIs only for use by `@itwin/presentation-backend` and `@itwin/presentation-frontend` packages.\r\n// They should not be used outside of these packages. These APIs may be broken or removed at any time without notice.\r\n\r\nexport { PRESENTATION_IPC_CHANNEL_NAME, PresentationIpcEvents, PresentationIpcInterface } from \"./presentation-common/PresentationIpcInterface.js\";\r\nexport { combineDiagnosticsSeverities, compareDiagnosticsSeverities } from \"./presentation-common/Diagnostics.js\";\r\nexport { buildElementProperties } from \"./presentation-common/ElementProperties.js\";\r\nexport { createCancellableTimeoutPromise, deepReplaceNullsToUndefined } from \"./presentation-common/Utils.js\";\r\nexport { LocalizationHelper } from \"./presentation-common/LocalizationHelper.js\";\r\nexport { isSingleElementPropertiesRequestOptions } from \"./presentation-common/PresentationManagerOptions.js\";\r\nexport { ContentFormatter, ContentPropertyValueFormatter } from \"./presentation-common/content/PropertyValueFormatter.js\";\r\nexport { RpcRequestsHandler } from \"./presentation-common/RpcRequestsHandler.js\";\r\nexport { AsyncTasksTracker } from \"./presentation-common/AsyncTasks.js\";\r\n"]}
1
+ {"version":3,"file":"presentation-common-internal.js","sourceRoot":"","sources":["../../src/presentation-common-internal.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,6IAA6I;AAC7I,qHAAqH;AAErH,iGAAmJ;AAA1I,4IAAA,6BAA6B,OAAA;AAAE,oIAAA,qBAAqB,OAAA;AAC7D,uEAAkH;AAAzG,8HAAA,4BAA4B,OAAA;AAAE,8HAAA,4BAA4B,OAAA;AACnE,mFAAoF;AAA3E,8HAAA,sBAAsB,OAAA;AAC/B,2DAA8G;AAArG,2HAAA,+BAA+B,OAAA;AAAE,uHAAA,2BAA2B,OAAA;AACrE,qFAAiF;AAAxE,2HAAA,kBAAkB,OAAA;AAC3B,qGAA8G;AAArG,wJAAA,uCAAuC,OAAA;AAChD,qGAA0H;AAAjH,6HAAA,gBAAgB,OAAA;AAAE,0IAAA,6BAA6B,OAAA;AACxD,qFAAiF;AAAxE,2HAAA,kBAAkB,OAAA;AAC3B,qEAAwE;AAA/D,kHAAA,iBAAiB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-common.js","sourceRoot":"","sources":["../../src/presentation-common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;gGAGgG;AAChG;;;;;GAKG;AACH,uEAW8C;AAD5C,qHAAA,mBAAmB,OAAA;AAErB,qDAyBqC;AAtBnC,oGAAA,WAAW,OAAA;AAMX,+GAAA,sBAAsB,OAAA;AAEtB,qGAAA,YAAY,OAAA;AAMZ,yGAAA,gBAAgB,OAAA;AAEhB,iIAAA,wCAAwC,OAAA;AAExC,yGAAA,gBAAgB,OAAA;AAKlB,2DAAuF;AAA9E,8GAAA,kBAAkB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAC9C,6DAAgF;AAAvE,gGAAA,GAAG,OAAA;AAAoB,mGAAA,MAAM,OAAA;AACtC,+EAA+G;AAAlE,qHAAA,eAAe,OAAA;AA4B5D,mFAA+E;AAAtE,yHAAA,iBAAiB,OAAA;AAC1B,iFAamD;AAZjD,yHAAA,kBAAkB,OAAA;AASlB,sHAAA,eAAe,OAAA;AAIjB,+EAAgI;AAAvH,qHAAA,eAAe,OAAA;AACxB,6DAUyC;AATvC,wGAAA,WAAW,OAAA;AAUb,2DAAwJ;AAA/I,mHAAA,uBAAuB,OAAA;AAA8D,6GAAA,iBAAiB,OAAA;AAQ/G,mGAA4I;AAAtF,yIAAA,yBAAyB,OAAA;AAE/E;;;;;;GAMG;AACH,iGAqB2D;AADzD,uIAAA,wBAAwB,OAAA;AAW1B;;;;;GAKG;AACH,yEAAyG;AAAhG,kHAAA,mBAAmB,OAAA;AAC5B,uEAAgF;AAA1D,qGAAA,OAAO,OAAA;AAC7B,6EAUqD;AATnD,gHAAA,eAAe,OAAA;AAEf,6GAAA,YAAY,OAAA;AACZ,8GAAA,aAAa,OAAA;AAKb,2GAAA,UAAU,OAAA;AAEZ,iFAA2F;AAAlF,6HAAA,0BAA0B,OAAA;AAEnC,qEAeiD;AAT/C,kGAAA,KAAK,OAAA;AACL,4GAAA,eAAe,OAAA;AACf,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AACrB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AAIjB,iEAAuE;AAApD,+FAAA,IAAI,OAAA;AACvB,yEAA2H;AAA1E,uGAAA,QAAQ,OAAA;AAEzD,uFAO0D;AANxD,yHAAA,mBAAmB,OAAA;AAOrB,mEAUgD;AAT9C,iGAAA,KAAK,OAAA;AAGL,wGAAA,YAAY,OAAA;AAOd,yFAmB2D;AAPzD,6HAAA,sBAAsB,OAAA;AACtB,sHAAA,eAAe,OAAA;AACf,0HAAA,mBAAmB,OAAA;AACnB,6HAAA,sBAAsB,OAAA;AACtB,wHAAA,iBAAiB,OAAA;AACjB,wHAAA,iBAAiB,OAAA;AACjB,8HAAA,uBAAuB,OAAA;AAsBzB,iEAgBgD;AAf9C,2GAAA,iBAAiB,OAAA;AACjB,iGAAA,OAAO,OAAA;AAkBT;;;;;GAKG;AACH,kFAAkF;AAClF,yFAAuE;AACvE,kGAAgF;AAChF,mGAAiF;AACjF,iHAA+F;AAC/F,uHAAqG;AACrG,0FAAwE;AACxE,6FAA2E;AAC3E,6GAA2F;AAC3F,wFAAsE;AACtE,wFAAsE;AACtE,iGAA+E;AAC/E,gGAA8E;AAC9E,4FAA0E;AAC1E,qGAAmF;AACnF,2FAAyE;AACzE,wHAAsG;AACtG,8GAA4F;AAC5F,qFAAmE;AACnE,8FAA4E;AAC5E,+FAA6E;AAC7E,4GAA0F;AAC1F,yGAAuF;AACvF,qHAAmG;AACnG,mGAAiF;AACjF,iHAA+F;AAC/F,gHAA8F;AAC9F,+GAA6F;AAC7F,kHAAgG;AAChG,qFAAmE;AACnE,8FAA4E;AAC5E,uFAAqE;AACrE,+FAA6E;AAC7E,sEAAoD;AACpD,yEAAuD;AACvD,sFAAoE;AACpE,2EAAyD","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/**\r\n * @module Core\r\n *\r\n * @docs-group-description Core\r\n * Common types used all across Presentation packages.\r\n */\r\nexport {\r\n DiagnosticsLoggerSeverity,\r\n Diagnostics,\r\n ClientDiagnostics,\r\n DiagnosticsOptions,\r\n ClientDiagnosticsHandler,\r\n ClientDiagnosticsOptions,\r\n ClientDiagnosticsAttribute,\r\n DiagnosticsLogMessage,\r\n DiagnosticsScopeLogs,\r\n DiagnosticsLogEntry,\r\n} from \"./presentation-common/Diagnostics.js\";\r\nexport {\r\n ClassId,\r\n InstanceId,\r\n InstanceKey,\r\n ClassInfo,\r\n CompressedClassInfoJSON,\r\n EnumerationChoice,\r\n EnumerationInfo,\r\n KindOfQuantityInfo,\r\n NavigationPropertyInfo,\r\n NavigationPropertyInfoJSON,\r\n PropertyInfo,\r\n PropertyValueConstraints,\r\n StringPropertyValueConstraints,\r\n NumericPropertyValueConstraints,\r\n ArrayPropertyValueConstraints,\r\n PropertyInfoJSON,\r\n RelatedClassInfo,\r\n RelatedClassInfoJSON,\r\n RelatedClassInfoWithOptionalRelationship,\r\n RelatedClassInfoWithOptionalRelationshipJSON,\r\n RelationshipPath,\r\n RelationshipPathJSON,\r\n StrippedRelatedClassInfo,\r\n StrippedRelationshipPath,\r\n} from \"./presentation-common/EC.js\";\r\nexport { PresentationStatus, PresentationError } from \"./presentation-common/Error.js\";\r\nexport { Key, Keys, KeySetJSON, KeySet } from \"./presentation-common/KeySet.js\";\r\nexport { LabelCompositeValue, LabelRawValue, LabelDefinition } from \"./presentation-common/LabelDefinition.js\";\r\nexport {\r\n RequestOptions,\r\n RequestOptionsWithRuleset,\r\n HierarchyRequestOptions,\r\n HierarchyLevelDescriptorRequestOptions,\r\n FilterByInstancePathsHierarchyRequestOptions,\r\n FilterByTextHierarchyRequestOptions,\r\n ContentSourcesRequestOptions,\r\n ContentDescriptorRequestOptions,\r\n ContentRequestOptions,\r\n DistinctValuesRequestOptions,\r\n ElementPropertiesRequestOptions,\r\n SingleElementPropertiesRequestOptions,\r\n MultiElementPropertiesByClassRequestOptions,\r\n MultiElementPropertiesByIdsRequestOptions,\r\n MultiElementPropertiesRequestOptions,\r\n ContentInstanceKeysRequestOptions,\r\n DisplayLabelRequestOptions,\r\n DisplayLabelsRequestOptions,\r\n SelectionScopeRequestOptions,\r\n ComputeSelectionRequestOptions,\r\n HierarchyCompareOptions,\r\n PageOptions,\r\n Paged,\r\n Prioritized,\r\n WithCancelEvent,\r\n} from \"./presentation-common/PresentationManagerOptions.js\";\r\nexport { RegisteredRuleset } from \"./presentation-common/RegisteredRuleset.js\";\r\nexport {\r\n VariableValueTypes,\r\n VariableValue,\r\n VariableValueJSON,\r\n BooleanRulesetVariable,\r\n StringRulesetVariable,\r\n IntRulesetVariable,\r\n IntsRulesetVariable,\r\n Id64RulesetVariable,\r\n Id64sRulesetVariable,\r\n RulesetVariable,\r\n Id64sRulesetVariableJSON,\r\n RulesetVariableJSON,\r\n} from \"./presentation-common/RulesetVariables.js\";\r\nexport { RulesetsFactory, ComputeDisplayValueCallback, PrimitivePropertyValue } from \"./presentation-common/RulesetsFactory.js\";\r\nexport {\r\n UPDATE_FULL,\r\n UpdateInfo,\r\n HierarchyUpdateInfo,\r\n ContentUpdateInfo,\r\n PartialHierarchyModification,\r\n NodeInsertionInfo,\r\n NodeDeletionInfo,\r\n NodeUpdateInfo,\r\n HierarchyCompareInfo,\r\n} from \"./presentation-common/Update.js\";\r\nexport { DEFAULT_KEYS_BATCH_SIZE, Omit, PagedResponse, PartialBy, Subtract, ValuesDictionary, getInstancesCount } from \"./presentation-common/Utils.js\";\r\nexport {\r\n InstanceFilterDefinition,\r\n InstanceFilterRelatedInstanceDefinition,\r\n InstanceFilterRelatedInstancePath,\r\n InstanceFilterRelatedInstanceTargetAlias,\r\n InstanceFilterRelatedInstanceRelationshipAlias,\r\n} from \"./presentation-common/InstanceFilterDefinition.js\";\r\nexport { UnitSystemFormat, FormatsMap, FormatOptions, KoqPropertyValueFormatter } from \"./presentation-common/KoqPropertyValueFormatter.js\";\r\n\r\n/**\r\n * @module RPC\r\n *\r\n * @docs-group-description RPC\r\n * Types used for RPC communication between frontend and backend. Generally should\r\n * only be used internally by presentation packages.\r\n */\r\nexport {\r\n PresentationRpcRequestOptions,\r\n PresentationRpcResponseData,\r\n RpcDiagnosticsOptions,\r\n PresentationRpcResponse,\r\n HierarchyRpcRequestOptions,\r\n HierarchyLevelDescriptorRpcRequestOptions,\r\n FilterByInstancePathsHierarchyRpcRequestOptions,\r\n FilterByTextHierarchyRpcRequestOptions,\r\n ContentSourcesRpcRequestOptions,\r\n ContentSourcesRpcResult,\r\n ContentDescriptorRpcRequestOptions,\r\n ContentRpcRequestOptions,\r\n SingleElementPropertiesRpcRequestOptions,\r\n DistinctValuesRpcRequestOptions,\r\n ContentInstanceKeysRpcRequestOptions,\r\n DisplayLabelRpcRequestOptions,\r\n DisplayLabelsRpcRequestOptions,\r\n SelectionScopeRpcRequestOptions,\r\n ComputeSelectionRpcRequestOptions,\r\n PresentationRpcInterface,\r\n} from \"./presentation-common/PresentationRpcInterface.js\";\r\n\r\n/**\r\n * @module UnifiedSelection\r\n *\r\n * @docs-group-description UnifiedSelection\r\n * Types related to [unified selection]($docs/presentation/unified-selection/index.md).\r\n */\r\nexport { SelectionScope, ElementSelectionScopeProps, SelectionScopeProps } from \"./presentation-common/selection/SelectionScope.js\";\r\n\r\n/**\r\n * @module Content\r\n *\r\n * @docs-group-description Content\r\n * Types related to presentation [content]($docs/presentation/content/index.md).\r\n */\r\nexport { CategoryDescription, CategoryDescriptionJSON } from \"./presentation-common/content/Category.js\";\r\nexport { ContentJSON, Content } from \"./presentation-common/content/Content.js\";\r\nexport {\r\n SelectClassInfo,\r\n SelectClassInfoJSON,\r\n ContentFlags,\r\n SortDirection,\r\n SelectionInfo,\r\n DescriptorJSON,\r\n DescriptorOverrides,\r\n DescriptorSource,\r\n Descriptor,\r\n} from \"./presentation-common/content/Descriptor.js\";\r\nexport { DefaultContentDisplayTypes } from \"./presentation-common/content/DisplayTypes.js\";\r\nexport { EditorDescription } from \"./presentation-common/content/Editor.js\";\r\nexport {\r\n PropertiesFieldJSON,\r\n ArrayPropertiesFieldJSON,\r\n StructPropertiesFieldJSON,\r\n NestedContentFieldJSON,\r\n FieldJSON,\r\n Field,\r\n PropertiesField,\r\n ArrayPropertiesField,\r\n StructPropertiesField,\r\n NestedContentField,\r\n FieldDescriptorType,\r\n FieldDescriptor,\r\n NamedFieldDescriptor,\r\n PropertiesFieldDescriptor,\r\n} from \"./presentation-common/content/Fields.js\";\r\nexport { ItemJSON, Item } from \"./presentation-common/content/Item.js\";\r\nexport { PropertyAccessor, PropertyAccessorPath, Property, PropertyJSON } from \"./presentation-common/content/Property.js\";\r\nexport { RendererDescription } from \"./presentation-common/content/Renderer.js\";\r\nexport {\r\n PropertyValueFormat,\r\n PrimitiveTypeDescription,\r\n ArrayTypeDescription,\r\n StructFieldMemberDescription,\r\n StructTypeDescription,\r\n TypeDescription,\r\n} from \"./presentation-common/content/TypeDescription.js\";\r\nexport {\r\n Value,\r\n ValuesMap,\r\n ValuesArray,\r\n DisplayValue,\r\n DisplayValuesMap,\r\n DisplayValuesArray,\r\n NestedContentValue,\r\n NavigationPropertyValue,\r\n DisplayValueGroup,\r\n} from \"./presentation-common/content/Value.js\";\r\nexport {\r\n FieldHierarchy,\r\n StartContentProps,\r\n ProcessFieldHierarchiesProps,\r\n StartItemProps,\r\n StartCategoryProps,\r\n StartFieldProps,\r\n StartStructProps,\r\n StartArrayProps,\r\n ProcessMergedValueProps,\r\n ProcessPrimitiveValueProps,\r\n IContentVisitor,\r\n traverseFieldHierarchy,\r\n traverseContent,\r\n traverseContentItem,\r\n createFieldHierarchies,\r\n addFieldHierarchy,\r\n combineFieldNames,\r\n parseCombinedFieldNames,\r\n} from \"./presentation-common/content/ContentTraverser.js\";\r\nexport {\r\n ElementProperties,\r\n ElementPropertiesCategoryItem,\r\n ElementPropertiesPrimitivePropertyItem,\r\n ElementPropertiesPrimitiveArrayPropertyItem,\r\n ElementPropertiesStructArrayPropertyItem,\r\n ElementPropertiesArrayPropertyItem,\r\n ElementPropertiesStructPropertyItem,\r\n ElementPropertiesPropertyValueType,\r\n ElementPropertiesPropertyItem,\r\n ElementPropertiesItem,\r\n} from \"./presentation-common/ElementProperties.js\";\r\n\r\n/**\r\n * @module Hierarchies\r\n *\r\n * @docs-group-description Hierarchies\r\n * Types related to presentation [hierarchies]($docs/presentation/hierarchies/index.md).\r\n */\r\nexport { HierarchyLevel } from \"./presentation-common/hierarchy/HierarchyLevel.js\";\r\nexport {\r\n StandardNodeTypes,\r\n NodeKey,\r\n NodeKeyPath,\r\n BaseNodeKey,\r\n ECInstancesNodeKey,\r\n GroupingNodeKey,\r\n ECClassGroupingNodeKey,\r\n ECPropertyGroupingNodeKey,\r\n LabelGroupingNodeKey,\r\n PresentationQuery,\r\n IdBinding,\r\n IdSetBinding,\r\n ECValueBinding,\r\n ECValueSetBinding,\r\n PresentationQueryBinding,\r\n} from \"./presentation-common/hierarchy/Key.js\";\r\nexport { Node, PartialNode } from \"./presentation-common/hierarchy/Node.js\";\r\nexport { NodePathElement, NodePathFilteringData } from \"./presentation-common/hierarchy/NodePathElement.js\";\r\n\r\n/**\r\n * @module PresentationRules\r\n *\r\n * @docs-group-description PresentationRules\r\n * Types for defining the presentation ruleset.\r\n */\r\n// note: everything under `rules/` is public, so no need to name each exported api\r\nexport * from \"./presentation-common/rules/hierarchy/ChildNodeRule.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/ChildNodeSpecification.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/CustomNodeSpecification.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/NavigationRule.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/NodeArtifactsRule.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/RootNodeRule.js\";\r\nexport * from \"./presentation-common/rules/hierarchy/SubCondition.js\";\r\nexport * from \"./presentation-common/rules/customization/CustomizationRule.js\";\r\nexport * from \"./presentation-common/rules/customization/ExtendedDataRule.js\";\r\nexport * from \"./presentation-common/rules/customization/GroupingRule.js\";\r\nexport * from \"./presentation-common/rules/customization/InstanceLabelOverride.js\";\r\nexport * from \"./presentation-common/rules/customization/SortingRule.js\";\r\nexport * from \"./presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js\";\r\nexport * from \"./presentation-common/rules/content/ContentRelatedInstancesSpecification.js\";\r\nexport * from \"./presentation-common/rules/content/ContentRule.js\";\r\nexport * from \"./presentation-common/rules/content/ContentSpecification.js\";\r\nexport * from \"./presentation-common/rules/content/PropertySpecification.js\";\r\nexport * from \"./presentation-common/rules/content/SelectedNodeInstancesSpecification.js\";\r\nexport * from \"./presentation-common/rules/content/DefaultPropertyCategoryOverride.js\";\r\nexport * from \"./presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js\";\r\nexport * from \"./presentation-common/rules/content/modifiers/ContentModifier.js\";\r\nexport * from \"./presentation-common/rules/content/modifiers/PropertyCategorySpecification.js\";\r\nexport * from \"./presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js\";\r\nexport * from \"./presentation-common/rules/content/modifiers/CustomRendererSpecification.js\";\r\nexport * from \"./presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js\";\r\nexport * from \"./presentation-common/rules/ClassSpecifications.js\";\r\nexport * from \"./presentation-common/rules/RelatedInstanceSpecification.js\";\r\nexport * from \"./presentation-common/rules/RelationshipDirection.js\";\r\nexport * from \"./presentation-common/rules/RelationshipPathSpecification.js\";\r\nexport * from \"./presentation-common/rules/Rule.js\";\r\nexport * from \"./presentation-common/rules/Ruleset.js\";\r\nexport * from \"./presentation-common/rules/SchemasSpecification.js\";\r\nexport * from \"./presentation-common/rules/Variables.js\";\r\n"]}
1
+ {"version":3,"file":"presentation-common.js","sourceRoot":"","sources":["../../src/presentation-common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;gGAGgG;AAChG;;;;;GAKG;AACH,uEAW8C;AAD5C,qHAAA,mBAAmB,OAAA;AAErB,qDAyBqC;AAtBnC,oGAAA,WAAW,OAAA;AAMX,+GAAA,sBAAsB,OAAA;AAEtB,qGAAA,YAAY,OAAA;AAMZ,yGAAA,gBAAgB,OAAA;AAEhB,iIAAA,wCAAwC,OAAA;AAExC,yGAAA,gBAAgB,OAAA;AAKlB,2DAAuF;AAA9E,8GAAA,kBAAkB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAC9C,6DAAgF;AAAvE,gGAAA,GAAG,OAAA;AAAoB,mGAAA,MAAM,OAAA;AACtC,+EAA+G;AAAlE,qHAAA,eAAe,OAAA;AA4B5D,mFAA+E;AAAtE,yHAAA,iBAAiB,OAAA;AAC1B,iFAamD;AAZjD,yHAAA,kBAAkB,OAAA;AASlB,sHAAA,eAAe,OAAA;AAIjB,+EAAgI;AAAvH,qHAAA,eAAe,OAAA;AACxB,6DAUyC;AATvC,wGAAA,WAAW,OAAA;AAUb,2DAAwJ;AAA/I,mHAAA,uBAAuB,OAAA;AAA8D,6GAAA,iBAAiB,OAAA;AAQ/G,mGAA4I;AAAtF,yIAAA,yBAAyB,OAAA;AAE/E;;;;;;GAMG;AACH,iGAqB2D;AADzD,uIAAA,wBAAwB,OAAA;AAW1B;;;;;GAKG;AACH,yEAAyG;AAAhG,kHAAA,mBAAmB,OAAA;AAC5B,uEAAgF;AAA1D,qGAAA,OAAO,OAAA;AAC7B,6EAUqD;AATnD,gHAAA,eAAe,OAAA;AAEf,6GAAA,YAAY,OAAA;AACZ,8GAAA,aAAa,OAAA;AAKb,2GAAA,UAAU,OAAA;AAEZ,iFAA2F;AAAlF,6HAAA,0BAA0B,OAAA;AAEnC,qEAeiD;AAT/C,kGAAA,KAAK,OAAA;AACL,4GAAA,eAAe,OAAA;AACf,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AACrB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AAIjB,iEAAuE;AAApD,+FAAA,IAAI,OAAA;AACvB,yEAA2H;AAA1E,uGAAA,QAAQ,OAAA;AAEzD,uFAO0D;AANxD,yHAAA,mBAAmB,OAAA;AAOrB,mEAUgD;AAT9C,iGAAA,KAAK,OAAA;AAGL,wGAAA,YAAY,OAAA;AAOd,yFAmB2D;AAPzD,6HAAA,sBAAsB,OAAA;AACtB,sHAAA,eAAe,OAAA;AACf,0HAAA,mBAAmB,OAAA;AACnB,6HAAA,sBAAsB,OAAA;AACtB,wHAAA,iBAAiB,OAAA;AACjB,wHAAA,iBAAiB,OAAA;AACjB,8HAAA,uBAAuB,OAAA;AAsBzB,iEAgBgD;AAf9C,2GAAA,iBAAiB,OAAA;AACjB,iGAAA,OAAO,OAAA;AAkBT;;;;;GAKG;AACH,kFAAkF;AAClF,yFAAuE;AACvE,kGAAgF;AAChF,mGAAiF;AACjF,iHAA+F;AAC/F,uHAAqG;AACrG,0FAAwE;AACxE,6FAA2E;AAC3E,6GAA2F;AAC3F,wFAAsE;AACtE,wFAAsE;AACtE,iGAA+E;AAC/E,gGAA8E;AAC9E,4FAA0E;AAC1E,qGAAmF;AACnF,2FAAyE;AACzE,wHAAsG;AACtG,8GAA4F;AAC5F,qFAAmE;AACnE,8FAA4E;AAC5E,+FAA6E;AAC7E,4GAA0F;AAC1F,yGAAuF;AACvF,qHAAmG;AACnG,mGAAiF;AACjF,iHAA+F;AAC/F,gHAA8F;AAC9F,+GAA6F;AAC7F,kHAAgG;AAChG,qFAAmE;AACnE,8FAA4E;AAC5E,uFAAqE;AACrE,+FAA6E;AAC7E,sEAAoD;AACpD,yEAAuD;AACvD,sFAAoE;AACpE,2EAAyD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncTasks.js","sourceRoot":"","sources":["../../../src/presentation-common/AsyncTasks.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAc,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,iBAAiB;IACpB,iBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;IAClD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACM,cAAc;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACL,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { Guid, GuidString } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * A helper to track ongoing async tasks. Usage:\r\n * ```\r\n * {\r\n * using _r = tracker.trackAsyncTask();\r\n * await doSomethingAsync();\r\n * }\r\n * ```\r\n *\r\n * Can be used with `waitForPendingAsyncs` in test helpers to wait for all\r\n * async tasks to complete.\r\n *\r\n * @internal\r\n */\r\nexport class AsyncTasksTracker {\r\n private _asyncsInProgress = new Set<GuidString>();\r\n public get pendingAsyncs() {\r\n return this._asyncsInProgress;\r\n }\r\n public trackAsyncTask(): Disposable {\r\n const id = Guid.createValue();\r\n this._asyncsInProgress.add(id);\r\n return {\r\n [Symbol.dispose]: () => this._asyncsInProgress.delete(id),\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"AsyncTasks.js","sourceRoot":"","sources":["../../../src/presentation-common/AsyncTasks.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAc,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,iBAAiB;IACpB,iBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;IAClD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACM,cAAc;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACL,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommonLoggerCategory.js","sourceRoot":"","sources":["../../../src/presentation-common/CommonLoggerCategory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,gCAEX;AAFD,WAAY,gCAAgC;IAC1C,mEAA+B,CAAA;AACjC,CAAC,EAFW,gCAAgC,KAAhC,gCAAgC,QAE3C","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\n/**\r\n * Logger categories used by this package\r\n * @note All logger categories in this package start with the `presentation-common` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum PresentationCommonLoggerCategory {\r\n Package = \"presentation-common\",\r\n}\r\n"]}
1
+ {"version":3,"file":"CommonLoggerCategory.js","sourceRoot":"","sources":["../../../src/presentation-common/CommonLoggerCategory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,gCAEX;AAFD,WAAY,gCAAgC;IAC1C,mEAA+B,CAAA;AACjC,CAAC,EAFW,gCAAgC,KAAhC,gCAAgC,QAE3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAQH;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB,GACpB,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI;YAClE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;gBAChC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AA4FD;;;GAGG;AACH,2DAA2D;AAC3D,MAAM,KAAW,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,KAAnB,mBAAmB,QAOnC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\n/**\r\n * Type of diagnostics logger severity.\r\n * @public\r\n */\r\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\r\n\r\n/**\r\n * Returns lower severity of the given two. Examples:\r\n * ```\r\n * combineDiagnosticsSeverities(\"error\", \"error\") === \"error\"\r\n * combineDiagnosticsSeverities(\"error\", \"debug\") === \"debug\"\r\n * combineDiagnosticsSeverities(\"debug\", \"error\") === \"debug\"\r\n * ```\r\n * @internal\r\n */\r\nexport function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n if (!lhs && !rhs) {\r\n return undefined;\r\n }\r\n const combinedSeverity: DiagnosticsLoggerSeverity =\r\n lhs === \"trace\" || rhs === \"trace\"\r\n ? \"trace\"\r\n : lhs === \"debug\" || lhs === true || rhs === \"debug\" || rhs === true\r\n ? \"debug\"\r\n : lhs === \"info\" || rhs === \"info\"\r\n ? \"info\"\r\n : lhs === \"warning\" || rhs === \"warning\"\r\n ? \"warning\"\r\n : \"error\";\r\n return combinedSeverity;\r\n}\r\n\r\n/**\r\n * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:\r\n * ```\r\n * compareDiagnosticsSeverities(\"error\", \"error\") === 0\r\n * compareDiagnosticsSeverities(\"error\", false) === 0\r\n * compareDiagnosticsSeverities(\"error\", undefined) === 0\r\n * compareDiagnosticsSeverities(\"debug\", true) === 0\r\n * compareDiagnosticsSeverities(\"debug\", \"error\") < 0\r\n * compareDiagnosticsSeverities(\"error\", \"debug\") > 0\r\n * ```\r\n * @internal\r\n */\r\nexport function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n const normalizedLhs: DiagnosticsLoggerSeverity = lhs === undefined || lhs === false ? \"error\" : lhs === true ? \"debug\" : lhs;\r\n const normalizedRhs: DiagnosticsLoggerSeverity = rhs === undefined || rhs === false ? \"error\" : rhs === true ? \"debug\" : rhs;\r\n if (normalizedLhs === normalizedRhs) {\r\n return 0;\r\n }\r\n if (normalizedLhs === \"error\") {\r\n return 1;\r\n }\r\n if (normalizedLhs === \"warning\") {\r\n return normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n if (normalizedLhs === \"info\") {\r\n return normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n if (normalizedLhs === \"debug\") {\r\n return normalizedRhs === \"info\" || normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n return -1;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics information.\r\n * @public\r\n */\r\nexport interface Diagnostics {\r\n logs?: DiagnosticsScopeLogs[];\r\n}\r\n\r\n/**\r\n * Data structure with client diagnostics information.\r\n * @public\r\n */\r\nexport interface ClientDiagnostics extends Diagnostics {\r\n backendVersion?: string;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics options.\r\n * @public\r\n */\r\nexport interface DiagnosticsOptions {\r\n /**\r\n * Flag specifying that performance should be measured, or\r\n * minimum duration in milliseconds for which performance metric should be included.\r\n */\r\n perf?: boolean | { minimumDuration: number };\r\n /** Severity for developer log messages */\r\n dev?: boolean | DiagnosticsLoggerSeverity;\r\n /** Severity for presentation rules' editor log messages */\r\n editor?: boolean | DiagnosticsLoggerSeverity;\r\n}\r\n\r\n/**\r\n * A function that can be called after receiving diagnostics.\r\n * @public\r\n */\r\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\r\n\r\n/**\r\n * Data structure for client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\r\n backendVersion?: boolean;\r\n handler: ClientDiagnosticsHandler;\r\n}\r\n\r\n/**\r\n * Data structure which contains client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsAttribute {\r\n /**\r\n * Diagnostics options.\r\n */\r\n diagnostics?: ClientDiagnosticsOptions;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log message information.\r\n * @public\r\n */\r\nexport interface DiagnosticsLogMessage {\r\n severity: {\r\n dev?: DiagnosticsLoggerSeverity;\r\n editor?: DiagnosticsLoggerSeverity;\r\n };\r\n category: string;\r\n message: string;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics scope information.\r\n * @public\r\n */\r\nexport interface DiagnosticsScopeLogs {\r\n scope: string;\r\n scopeCreateTimestamp?: number;\r\n duration?: number;\r\n logs?: DiagnosticsLogEntry[];\r\n attributes?: { [attributeKey: string]: string | string[] };\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log entry.\r\n * @public\r\n */\r\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\r\n\r\n/**\r\n * Functions related to diagnostics log entry.\r\n * @public\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace DiagnosticsLogEntry {\r\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\r\n return !!(entry as any).message;\r\n }\r\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\r\n return !!(entry as any).scope;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAQH;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB,GACpB,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI;YAClE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;gBAChC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AA4FD;;;GAGG;AACH,2DAA2D;AAC3D,MAAM,KAAW,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,KAAnB,mBAAmB,QAOnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { FormatProps } from \"@itwin/core-quantity\";\r\nimport { parseFullClassName } from \"@itwin/presentation-shared\";\r\nimport { PartialBy } from \"./Utils.js\";\r\n\r\n/**\r\n * Type of an ECClass ID.\r\n * @public\r\n */\r\nexport type ClassId = Id64String;\r\n\r\n/**\r\n * Type of an ECInstance ID.\r\n * @public\r\n */\r\nexport type InstanceId = Id64String;\r\n\r\n/**\r\n * A key that uniquely identifies an instance in an iModel\r\n * @public\r\n */\r\nexport interface InstanceKey {\r\n /** Full class name in format `SchemaName:ClassName` */\r\n className: string;\r\n /** ECInstance ID */\r\n id: InstanceId;\r\n}\r\n\r\n/** @public */\r\nexport namespace InstanceKey {\r\n /** Compare 2 instance keys */\r\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\r\n const lhsClass = parseFullClassName(lhs.className);\r\n const rhsClass = parseFullClassName(rhs.className);\r\n const schemaNameCompare = lhsClass.schemaName.toLowerCase().localeCompare(rhsClass.schemaName.toLowerCase());\r\n if (schemaNameCompare !== 0) {\r\n return schemaNameCompare;\r\n }\r\n const classNameCompare = lhsClass.className.toLowerCase().localeCompare(rhsClass.className.toLowerCase());\r\n if (classNameCompare !== 0) {\r\n return classNameCompare;\r\n }\r\n return lhs.id.toLowerCase().localeCompare(rhs.id.toLowerCase());\r\n }\r\n}\r\n\r\n/**\r\n * Information about an ECClass\r\n * @public\r\n */\r\nexport interface ClassInfo {\r\n /** ECClass ID */\r\n id: ClassId;\r\n /** Full class name in format `SchemaName:ClassName` */\r\n name: string;\r\n /** ECClass label */\r\n label: string;\r\n}\r\n\r\n/**\r\n * A serialized and compressed version of [[ClassInfo]]\r\n * @public\r\n */\r\nexport interface CompressedClassInfoJSON {\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A single choice in enumeration\r\n * @public\r\n */\r\nexport interface EnumerationChoice {\r\n /** Label of the choice */\r\n label: string;\r\n /** Value of the choice */\r\n value: string | number;\r\n}\r\n\r\n/**\r\n * Enumeration information\r\n * @public\r\n */\r\nexport interface EnumerationInfo {\r\n /** Available enumeration choices */\r\n choices: EnumerationChoice[];\r\n /** Is the enumeration strict (values only allowed from `choices` list) */\r\n isStrict: boolean;\r\n}\r\n\r\n/**\r\n * Kind of quantity information\r\n * @public\r\n */\r\nexport interface KindOfQuantityInfo {\r\n /** Full name of KindOfQuantity in format `SchemaName:KindOfQuantityName` */\r\n name: string;\r\n /** Label of KindOfQuantity */\r\n label: string;\r\n /** Persistence unit full class name in format `SchemaName:UnitName`. */\r\n persistenceUnit: string;\r\n /** Active format that was used to format property value. */\r\n activeFormat?: FormatProps;\r\n}\r\n\r\n/**\r\n * A data structure for storing navigation property information.\r\n * @public\r\n */\r\nexport interface NavigationPropertyInfo {\r\n /** Information about ECProperty's relationship class */\r\n classInfo: ClassInfo;\r\n /** Is the direction of the relationship forward */\r\n isForwardRelationship: boolean;\r\n /** Information about ECProperty's target class */\r\n targetClassInfo: ClassInfo;\r\n /** Is ECProperty's target class polymorphic */\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * Contains utilities for working with objects of [[NavigationPropertyInfo]] type.\r\n * @public\r\n */\r\nexport namespace NavigationPropertyInfo {\r\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(\r\n navigationPropertyInfo: NavigationPropertyInfo,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): NavigationPropertyInfoJSON<string> {\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = navigationPropertyInfo.classInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = navigationPropertyInfo.targetClassInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n\r\n return {\r\n ...navigationPropertyInfo,\r\n classInfo: relationshipId,\r\n targetClassInfo: targetId,\r\n };\r\n }\r\n\r\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\r\n export function fromCompressedJSON(\r\n compressedNavigationPropertyInfoJSON: NavigationPropertyInfoJSON<string>,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): NavigationPropertyInfo {\r\n return {\r\n ...compressedNavigationPropertyInfoJSON,\r\n classInfo: { id: compressedNavigationPropertyInfoJSON.classInfo, ...classesMap[compressedNavigationPropertyInfoJSON.classInfo] },\r\n targetClassInfo: { id: compressedNavigationPropertyInfoJSON.targetClassInfo, ...classesMap[compressedNavigationPropertyInfoJSON.targetClassInfo] },\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[NavigationPropertyInfo]]\r\n * @public\r\n */\r\nexport interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfo> {\r\n classInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n targetClassInfo: TClassInfoJSON;\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes an ECProperty\r\n * @public\r\n */\r\nexport interface PropertyInfo {\r\n /** Information about ECProperty class */\r\n classInfo: ClassInfo;\r\n /** Name of the ECProperty */\r\n name: string;\r\n /** Type name of the ECProperty */\r\n type: string;\r\n /** Enumeration info if the property is enumerable */\r\n enumerationInfo?: EnumerationInfo;\r\n /** Kind of quantity information, if any. */\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n /** Extended type name of the ECProperty if it has one */\r\n extendedType?: string;\r\n /** Navigation property info if the field is navigation type */\r\n navigationPropertyInfo?: NavigationPropertyInfo;\r\n /** Constraints for values of ECProperty */\r\n constraints?: PropertyValueConstraints;\r\n}\r\n\r\n/**\r\n * Constraints for values of ECProperty\r\n * @public\r\n */\r\nexport type PropertyValueConstraints = StringPropertyValueConstraints | ArrayPropertyValueConstraints | NumericPropertyValueConstraints;\r\n\r\n/**\r\n * Describes constraints for `string` type ECProperty values\r\n * @public\r\n */\r\nexport interface StringPropertyValueConstraints {\r\n minimumLength?: number;\r\n maximumLength?: number;\r\n}\r\n\r\n/**\r\n * Describes constraints for `int` | `double` | `float` type ECProperty values\r\n * @public\r\n */\r\nexport interface NumericPropertyValueConstraints {\r\n minimumValue?: number;\r\n maximumValue?: number;\r\n}\r\n\r\n/**\r\n * Describes constraints for `array` type ECProperty values\r\n * @public\r\n */\r\nexport interface ArrayPropertyValueConstraints {\r\n minOccurs?: number;\r\n maxOccurs?: number;\r\n}\r\n\r\n/** @public */\r\nexport namespace PropertyInfo {\r\n /** Serialize [[PropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfoJSON<string> {\r\n const { navigationPropertyInfo, ...leftOverPropertyInfo } = propertyInfo;\r\n const { id, ...leftOverInfo } = propertyInfo.classInfo;\r\n classesMap[id] = leftOverInfo;\r\n\r\n return {\r\n ...leftOverPropertyInfo,\r\n classInfo: propertyInfo.classInfo.id,\r\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[PropertyInfo]]\r\n * @public\r\n */\r\nexport interface PropertyInfoJSON<TClassInfoJSON = ClassInfo> {\r\n classInfo: TClassInfoJSON;\r\n name: string;\r\n type: string;\r\n enumerationInfo?: EnumerationInfo;\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\r\n}\r\n\r\n/**\r\n * A structure that describes a related class and the properties of that relationship.\r\n * @public\r\n */\r\nexport interface RelatedClassInfo {\r\n /** Information about the source ECClass */\r\n sourceClassInfo: ClassInfo;\r\n\r\n /** Information about the target ECClass */\r\n targetClassInfo: ClassInfo;\r\n\r\n /** Is target class handled polymorphically */\r\n isPolymorphicTargetClass?: boolean;\r\n\r\n /** Optionally, IDs of specific target class instances. */\r\n targetInstanceIds?: Id64String[];\r\n\r\n /** Information about the ECRelationship */\r\n relationshipInfo: ClassInfo;\r\n\r\n /** Should relationship be followed in a forward direction to access the related class. */\r\n isForwardRelationship: boolean;\r\n\r\n /** Is relationship handled polymorphically */\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/** @public */\r\nexport namespace RelatedClassInfo {\r\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\r\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\r\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n\r\n return {\r\n ...classInfo,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n relationshipInfo: relationshipId,\r\n };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\r\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\r\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\r\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\r\n return {\r\n ...json,\r\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\r\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\r\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\r\n };\r\n }\r\n\r\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\r\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\r\n return (\r\n lhs.isForwardRelationship === rhs.isForwardRelationship &&\r\n getClassName(lhs, \"source\") === getClassName(rhs, \"source\") &&\r\n getClassName(lhs, \"target\") === getClassName(rhs, \"target\") &&\r\n getClassName(lhs, \"relationship\") === getClassName(rhs, \"relationship\")\r\n );\r\n }\r\n\r\n function isStripped(info: RelatedClassInfo | StrippedRelatedClassInfo): info is StrippedRelatedClassInfo {\r\n const maybeStripped = info as StrippedRelatedClassInfo;\r\n return !!maybeStripped.relationshipName && !!maybeStripped.sourceClassName && !!maybeStripped.targetClassName;\r\n }\r\n\r\n function getClassName(info: RelatedClassInfo | StrippedRelatedClassInfo, whichClass: \"relationship\" | \"source\" | \"target\"): string {\r\n switch (whichClass) {\r\n case \"source\":\r\n return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;\r\n case \"target\":\r\n return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;\r\n case \"relationship\":\r\n return isStripped(info) ? info.relationshipName : info.relationshipInfo.name;\r\n }\r\n }\r\n\r\n /** Strip given [[RelatedClassInfo]] to [[StrippedRelatedClassInfo]] */\r\n export function strip(full: RelatedClassInfo): StrippedRelatedClassInfo {\r\n return {\r\n sourceClassName: full.sourceClassInfo.name,\r\n targetClassName: full.targetClassInfo.name,\r\n relationshipName: full.relationshipInfo.name,\r\n isForwardRelationship: full.isForwardRelationship,\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[RelatedClassInfo]]\r\n * @public\r\n */\r\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfo> {\r\n sourceClassInfo: TClassInfoJSON;\r\n targetClassInfo: TClassInfoJSON;\r\n isPolymorphicTargetClass?: boolean;\r\n targetInstanceIds?: Id64String[];\r\n relationshipInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes a relationship between source and target classes where\r\n * an actual ECRelationship between them is optional.\r\n * @public\r\n */\r\nexport type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfo> = PartialBy<\r\n RelatedClassInfoJSON<TClassInfoJSON>,\r\n \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\"\r\n>;\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelatedClassInfoWithOptionalRelationship {\r\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\r\n export function toCompressedJSON(\r\n classInfo: RelatedClassInfoWithOptionalRelationship,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): RelatedClassInfoWithOptionalRelationshipJSON<string> {\r\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = classInfo;\r\n const { id: sourceId, ...sourceLeftOverInfo } = sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = targetClassInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n\r\n if (relationshipInfo) {\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = relationshipInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n }\r\n\r\n return {\r\n ...otherProps,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n ...(relationshipInfo ? { relationshipInfo: relationshipInfo.id } : undefined),\r\n };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfoWithOptionalRelationship]] from compressed JSON */\r\n export function fromCompressedJSON(\r\n json: RelatedClassInfoWithOptionalRelationshipJSON<string>,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): RelatedClassInfoWithOptionalRelationship {\r\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = json;\r\n assert(classesMap.hasOwnProperty(sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(targetClassInfo));\r\n if (relationshipInfo) {\r\n assert(classesMap.hasOwnProperty(relationshipInfo));\r\n }\r\n return {\r\n ...otherProps,\r\n sourceClassInfo: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },\r\n targetClassInfo: { id: targetClassInfo, ...classesMap[targetClassInfo] },\r\n ...(relationshipInfo ? { relationshipInfo: { id: relationshipInfo, ...classesMap[relationshipInfo] } } : undefined),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A structure that describes a related class path.\r\n * @public\r\n */\r\nexport type RelationshipPath = RelatedClassInfo[];\r\n\r\n/**\r\n * Serialized [[RelationshipPath]]\r\n * @public\r\n */\r\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfo> = RelatedClassInfoJSON<TClassInfoJSON>[];\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelationshipPath {\r\n /** Reverse direction of the given [[RelationshipPath]] */\r\n export function reverse(path: RelationshipPath): RelationshipPath {\r\n return [...path].reverse().map((step) => ({\r\n ...step,\r\n sourceClassInfo: step.targetClassInfo,\r\n targetClassInfo: step.sourceClassInfo,\r\n isForwardRelationship: !step.isForwardRelationship,\r\n }));\r\n }\r\n\r\n /** Check two [[RelationshipPath]] or [[StrippedRelationshipPath]] for equality */\r\n export function equals(lhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>, rhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>): boolean {\r\n return lhs.length === rhs.length && lhs.every((lhsPart, i) => RelatedClassInfo.equals(lhsPart, rhs[i]));\r\n }\r\n\r\n /** Strip given [[RelationshipPath]] to [[StrippedRelationshipPath]] */\r\n export function strip(full: RelationshipPath): StrippedRelationshipPath {\r\n return full.map(RelatedClassInfo.strip);\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that contains a subset of [[RelatedClassInfo]] required to\r\n * identify the relationship.\r\n * @public\r\n */\r\nexport interface StrippedRelatedClassInfo {\r\n sourceClassName: string;\r\n targetClassName: string;\r\n relationshipName: string;\r\n isForwardRelationship: boolean;\r\n}\r\n\r\n/**\r\n * Data structure that contains a subset of [[RelationshipPath]] required to\r\n * identify the relationship path.\r\n * @public\r\n */\r\nexport type StrippedRelationshipPath = StrippedRelatedClassInfo[];\r\n"]}
1
+ {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ElementProperties.js","sourceRoot":"","sources":["../../../src/presentation-common/ElementProperties.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAc,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAWL,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AA8HnE,gBAAgB;AAChB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAsB,EAAE,IAAU,EAAqB,EAAE;IAC9F,MAAM,OAAO,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAC/C,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC;AAOF,MAAM,yBAAyB;IAInB;IACA;IAJF,cAAc,GAA+C,EAAE,CAAC;IAChE,sBAAsB,GAAoD,EAAE,CAAC;IACrF,YACU,KAAW,EACX,eAAkD;QADlD,UAAK,GAAL,KAAK,CAAM;QACX,oBAAe,GAAf,eAAe,CAAmC;IACzD,CAAC;IAEG,MAAM,CAAC,KAAa,EAAE,IAA2B;QACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACpC,CAAC;IAEM,MAAM;QACX,wCAAwC;QACxC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC3D,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,eAAe,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YACxC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,OAAO;YACjD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YACpC,KAAK,EAAE,IAAI,CAAC,cAAc;SAC3B,CAAC,CAAC;IACL,CAAC;IAEM,mBAAmB,CAAC,cAAmC,EAAE,QAA6B;QAC3F,IAAI,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QACxD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,oBAAoB;IAGd;IACA;IAHF,MAAM,GAA+C,EAAE,CAAC;IAChE,YACU,eAAoC,EACpC,SAA8B;QAD9B,oBAAe,GAAf,eAAe,CAAqB;QACpC,cAAS,GAAT,SAAS,CAAqB;IACrC,CAAC;IACG,MAAM,CAAC,KAAa,EAAE,IAA2B;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IACM,MAAM;QACX,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YAChD,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,iBAAiB;IAGX;IACA;IAHF,MAAM,GAAoC,EAAE,CAAC;IACrD,YACU,eAAoC,EACpC,MAAuB;QADvB,oBAAe,GAAf,eAAe,CAAqB;QACpC,WAAM,GAAN,MAAM,CAAiB;IAC9B,CAAC;IACG,MAAM,CAAC,MAAc,EAAE,IAA2B;QACvD,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACM,MAAM;QACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS,EAAE,CAAC;YACnF,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IACO,qBAAqB;QAC3B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC,KAAK,CAAC;YACpB,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IACO,kBAAkB;QACxB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC,OAAO,CAAC;YACtB,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AAED,MAAM,kBAAkB;IAGZ;IACA;IAHF,QAAQ,GAAuD,EAAE,CAAC;IAC1E,YACU,eAAoC,EACpC,MAAwB;QADxB,oBAAe,GAAf,eAAe,CAAqB;QACpC,WAAM,GAAN,MAAM,CAAkB;IAC/B,CAAC;IACG,MAAM,CAAC,KAAa,EAAE,IAA2B;QACtD,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC9B,CAAC;IACM,MAAM;QACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE;YAC7D,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,wBAAwB;IACpB,eAAe,GAA0B,EAAE,CAAC;IAC5C,MAAM,GAAwB,EAAE,CAAC;IACjC,0BAA0B,CAAwC;IAE1E,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAY,gBAAgB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,YAAY,CAAC,MAAyB;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACM,aAAa,KAAU,CAAC;IAExB,uBAAuB,CAAC,MAAoC,IAAS,CAAC;IAEtE,SAAS,CAAC,KAAqB;QACpC,IAAI,CAAC,0BAA0B,GAAG,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IACM,UAAU;QACf,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,0BAA0B,KAAK,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAC9C,CAAC;IAEM,aAAa,CAAC,KAAyB;QAC5C,MAAM,CAAC,IAAI,CAAC,0BAA0B,KAAK,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtH,OAAO,IAAI,CAAC;IACd,CAAC;IACM,cAAc;QACnB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAEM,UAAU,CAAC,MAAuB;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACM,WAAW,KAAU,CAAC;IAEtB,WAAW,CAAC,KAAuB;QACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;IACM,YAAY;QACjB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAG,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IAEM,UAAU,CAAC,KAAsB;QACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IACM,WAAW;QAChB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAG,CAAC,MAAM,EAAE,CAAC;IACvC,CAAC;IAEM,kBAAkB,CAAC,KAA8B;QACtD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE;YACpD,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;IACL,CAAC;IACM,qBAAqB,CAAC,KAAiC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;YAC9C,IAAI,EAAE,WAAW;YACjB,gEAAgE;YAChE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RPC\r\n */\r\n\r\nimport { assert, Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { CategoryDescription } from \"./content/Category.js\";\r\nimport {\r\n IContentVisitor,\r\n ProcessFieldHierarchiesProps,\r\n ProcessMergedValueProps,\r\n ProcessPrimitiveValueProps,\r\n StartArrayProps,\r\n StartCategoryProps,\r\n StartContentProps,\r\n StartFieldProps,\r\n StartItemProps,\r\n StartStructProps,\r\n traverseContentItem,\r\n} from \"./content/ContentTraverser.js\";\r\nimport { Descriptor } from \"./content/Descriptor.js\";\r\nimport { Item } from \"./content/Item.js\";\r\nimport { PropertyValueFormat } from \"./content/TypeDescription.js\";\r\n\r\n/**\r\n * Data structure for storing element properties information in a simplified format.\r\n * @see [[Content]] for a format that stores all available element property data.\r\n * @public\r\n */\r\nexport interface ElementProperties {\r\n /** Label of element's ECClass. */\r\n class: string;\r\n /** Element's ID. */\r\n id: Id64String;\r\n /** Element's label. */\r\n label: string;\r\n /** Container of property values */\r\n items: { [label: string]: ElementPropertiesItem };\r\n}\r\n\r\n/**\r\n * Base type for all [[ElementPropertiesItem]] types.\r\n * @public\r\n */\r\nexport interface ElementPropertiesItemBase {\r\n /** Type of the properties item. */\r\n type: \"category\" | ElementPropertiesPropertyValueType;\r\n}\r\n\r\n/**\r\n * Definition for a category. A category can nest other property items, including categories.\r\n * @public\r\n */\r\nexport interface ElementPropertiesCategoryItem extends ElementPropertiesItemBase {\r\n /** Type of the properties item. */\r\n type: \"category\";\r\n /** Container of property values */\r\n items: { [label: string]: ElementPropertiesItem };\r\n}\r\n\r\n/**\r\n * Base type for all [[ElementPropertiesPropertyItem]] types.\r\n * @public\r\n */\r\nexport interface ElementPropertiesPropertyItemBase extends ElementPropertiesItemBase {\r\n /** Type of the properties item. */\r\n type: ElementPropertiesPropertyValueType;\r\n}\r\n\r\n/**\r\n * Definition for a primitive property value.\r\n * @public\r\n */\r\nexport interface ElementPropertiesPrimitivePropertyItem extends ElementPropertiesPropertyItemBase {\r\n /** Type of the properties item. */\r\n type: \"primitive\";\r\n /** Display value of the property. */\r\n value: string;\r\n}\r\n\r\n/**\r\n * Base type for all [[ElementPropertiesArrayPropertyItem]] types.\r\n * @public\r\n */\r\nexport interface ElementPropertiesArrayPropertyItemBase extends ElementPropertiesPropertyItemBase {\r\n /** Type of the properties item. */\r\n type: \"array\";\r\n /** Type of values contained in this array. */\r\n valueType: \"primitive\" | \"struct\";\r\n}\r\n\r\n/**\r\n * Definition for a primitives' array property value.\r\n * @public\r\n */\r\nexport interface ElementPropertiesPrimitiveArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {\r\n /** Type of values contained in this array. */\r\n valueType: \"primitive\";\r\n /** Array of display values. */\r\n values: string[];\r\n}\r\n\r\n/**\r\n * Definition for a structs' array property value.\r\n * @public\r\n */\r\nexport interface ElementPropertiesStructArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {\r\n /** Type of values contained in this array. */\r\n valueType: \"struct\";\r\n /** Array of structs. */\r\n values: Array<{ [memberLabel: string]: ElementPropertiesPropertyItem }>;\r\n}\r\n\r\n/**\r\n * Definition for an array property value.\r\n * @public\r\n */\r\nexport type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;\r\n\r\n/**\r\n * Definition for an struct property value.\r\n * @public\r\n */\r\nexport interface ElementPropertiesStructPropertyItem extends ElementPropertiesPropertyItemBase {\r\n /** Type of the properties item. */\r\n type: \"struct\";\r\n /** Container of struct members. */\r\n members: { [memberLabel: string]: ElementPropertiesPropertyItem };\r\n}\r\n\r\n/**\r\n * Available element property types.\r\n * @public\r\n */\r\nexport type ElementPropertiesPropertyValueType = \"primitive\" | \"array\" | \"struct\";\r\n\r\n/**\r\n * Definition of a property value.\r\n * @public\r\n */\r\nexport type ElementPropertiesPropertyItem = ElementPropertiesPrimitivePropertyItem | ElementPropertiesArrayPropertyItem | ElementPropertiesStructPropertyItem;\r\n\r\n/**\r\n * Definition of a property item, including a property category.\r\n * @public\r\n */\r\nexport type ElementPropertiesItem = ElementPropertiesCategoryItem | ElementPropertiesPropertyItem;\r\n\r\n/** @internal */\r\nexport const buildElementProperties = (descriptor: Descriptor, item: Item): ElementProperties => {\r\n const builder = new ElementPropertiesBuilder();\r\n traverseContentItem(builder, descriptor, item);\r\n return builder.items[0];\r\n};\r\n\r\ninterface IPropertiesAppender {\r\n append(label: string, item: ElementPropertiesItem): void;\r\n finish(): void;\r\n}\r\n\r\nclass ElementPropertiesAppender implements IPropertiesAppender {\r\n private _propertyItems: { [label: string]: ElementPropertiesItem } = {};\r\n private _categoryItemAppenders: { [categoryName: string]: IPropertiesAppender } = {};\r\n constructor(\r\n private _item: Item,\r\n private _onItemFinished: (item: ElementProperties) => void,\r\n ) {}\r\n\r\n public append(label: string, item: ElementPropertiesItem): void {\r\n this._propertyItems[label] = item;\r\n }\r\n\r\n public finish(): void {\r\n // eslint-disable-next-line guard-for-in\r\n for (const categoryName in this._categoryItemAppenders) {\r\n const appender = this._categoryItemAppenders[categoryName];\r\n appender.finish();\r\n }\r\n\r\n this._onItemFinished({\r\n class: this._item.classInfo?.label ?? \"\",\r\n id: this._item.primaryKeys[0]?.id ?? Id64.invalid,\r\n label: this._item.label.displayValue,\r\n items: this._propertyItems,\r\n });\r\n }\r\n\r\n public getCategoryAppender(parentAppender: IPropertiesAppender, category: CategoryDescription): IPropertiesAppender {\r\n let appender = this._categoryItemAppenders[category.name];\r\n if (!appender) {\r\n appender = new CategoryItemAppender(parentAppender, category);\r\n this._categoryItemAppenders[category.name] = appender;\r\n }\r\n return appender;\r\n }\r\n}\r\n\r\nclass CategoryItemAppender implements IPropertiesAppender {\r\n private _items: { [label: string]: ElementPropertiesItem } = {};\r\n constructor(\r\n private _parentAppender: IPropertiesAppender,\r\n private _category: CategoryDescription,\r\n ) {}\r\n public append(label: string, item: ElementPropertiesItem): void {\r\n this._items[label] = item;\r\n }\r\n public finish(): void {\r\n if (Object.keys(this._items).length === 0) {\r\n return;\r\n }\r\n\r\n this._parentAppender.append(this._category.label, {\r\n type: \"category\",\r\n items: this._items,\r\n });\r\n }\r\n}\r\n\r\nclass ArrayItemAppender implements IPropertiesAppender {\r\n private _items: ElementPropertiesPropertyItem[] = [];\r\n constructor(\r\n private _parentAppender: IPropertiesAppender,\r\n private _props: StartArrayProps,\r\n ) {}\r\n public append(_label: string, item: ElementPropertiesItem): void {\r\n assert(item.type !== \"category\");\r\n this._items.push(item);\r\n }\r\n public finish(): void {\r\n assert(this._props.valueType.valueFormat === PropertyValueFormat.Array);\r\n if (this._props.valueType.memberType.valueFormat === PropertyValueFormat.Primitive) {\r\n this._parentAppender.append(this._props.hierarchy.field.label, this.createPrimitivesArray());\r\n } else {\r\n this._parentAppender.append(this._props.hierarchy.field.label, this.createStructsArray());\r\n }\r\n }\r\n private createPrimitivesArray(): ElementPropertiesPrimitiveArrayPropertyItem {\r\n return {\r\n type: \"array\",\r\n valueType: \"primitive\",\r\n values: this._items.map((item) => {\r\n assert(item.type === \"primitive\");\r\n return item.value;\r\n }),\r\n };\r\n }\r\n private createStructsArray(): ElementPropertiesStructArrayPropertyItem {\r\n return {\r\n type: \"array\",\r\n valueType: \"struct\",\r\n values: this._items.map((item) => {\r\n assert(item.type === \"struct\");\r\n return item.members;\r\n }),\r\n };\r\n }\r\n}\r\n\r\nclass StructItemAppender implements IPropertiesAppender {\r\n private _members: { [label: string]: ElementPropertiesPropertyItem } = {};\r\n constructor(\r\n private _parentAppender: IPropertiesAppender,\r\n private _props: StartStructProps,\r\n ) {}\r\n public append(label: string, item: ElementPropertiesItem): void {\r\n assert(item.type !== \"category\");\r\n this._members[label] = item;\r\n }\r\n public finish(): void {\r\n assert(this._props.valueType.valueFormat === PropertyValueFormat.Struct);\r\n this._parentAppender.append(this._props.hierarchy.field.label, {\r\n type: \"struct\",\r\n members: this._members,\r\n });\r\n }\r\n}\r\n\r\nclass ElementPropertiesBuilder implements IContentVisitor {\r\n private _appendersStack: IPropertiesAppender[] = [];\r\n private _items: ElementProperties[] = [];\r\n private _elementPropertiesAppender: ElementPropertiesAppender | undefined;\r\n\r\n public get items(): ElementProperties[] {\r\n return this._items;\r\n }\r\n\r\n private get _currentAppender(): IPropertiesAppender {\r\n const appender = this._appendersStack[this._appendersStack.length - 1];\r\n assert(appender !== undefined);\r\n return appender;\r\n }\r\n\r\n public startContent(_props: StartContentProps): boolean {\r\n return true;\r\n }\r\n public finishContent(): void {}\r\n\r\n public processFieldHierarchies(_props: ProcessFieldHierarchiesProps): void {}\r\n\r\n public startItem(props: StartItemProps): boolean {\r\n this._elementPropertiesAppender = new ElementPropertiesAppender(props.item, (item) => this._items.push(item));\r\n this._appendersStack.push(this._elementPropertiesAppender);\r\n return true;\r\n }\r\n public finishItem(): void {\r\n this._appendersStack.pop();\r\n assert(this._elementPropertiesAppender !== undefined);\r\n this._elementPropertiesAppender.finish();\r\n this._elementPropertiesAppender = undefined;\r\n }\r\n\r\n public startCategory(props: StartCategoryProps): boolean {\r\n assert(this._elementPropertiesAppender !== undefined);\r\n this._appendersStack.push(this._elementPropertiesAppender.getCategoryAppender(this._currentAppender, props.category));\r\n return true;\r\n }\r\n public finishCategory(): void {\r\n this._appendersStack.pop();\r\n }\r\n\r\n public startField(_props: StartFieldProps): boolean {\r\n return true;\r\n }\r\n public finishField(): void {}\r\n\r\n public startStruct(props: StartStructProps): boolean {\r\n this._appendersStack.push(new StructItemAppender(this._currentAppender, props));\r\n return true;\r\n }\r\n public finishStruct(): void {\r\n this._appendersStack.pop()!.finish();\r\n }\r\n\r\n public startArray(props: StartArrayProps): boolean {\r\n this._appendersStack.push(new ArrayItemAppender(this._currentAppender, props));\r\n return true;\r\n }\r\n public finishArray(): void {\r\n this._appendersStack.pop()!.finish();\r\n }\r\n\r\n public processMergedValue(props: ProcessMergedValueProps): void {\r\n this._currentAppender.append(props.mergedField.label, {\r\n type: \"primitive\",\r\n value: \"\",\r\n });\r\n }\r\n public processPrimitiveValue(props: ProcessPrimitiveValueProps): void {\r\n this._currentAppender.append(props.field.label, {\r\n type: \"primitive\",\r\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\r\n value: props.displayValue?.toString() ?? \"\",\r\n });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ElementProperties.js","sourceRoot":"","sources":["../../../src/presentation-common/ElementProperties.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Error.js","sourceRoot":"","sources":["../../../src/presentation-common/Error.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAN,IAAY,kBA0BX;AA1BD,WAAY,kBAAkB;IAC5B,sBAAsB;IACtB,iEAAW,CAAA;IAEX,6BAA6B;IAC7B,mEAAY,CAAA;IAEZ,qBAAqB;IACrB,iEAAe,CAAA;IAEf,yCAAyC;IACzC,mFAA0B,CAAA;IAE1B,sCAAsC;IACtC,yFAA6B,CAAA;IAE7B,kCAAkC;IAClC,qFAA2B,CAAA;IAE3B;;;;;OAKG;IACH,mFAA0B,CAAA;AAC5B,CAAC,EA1BW,kBAAkB,KAAlB,kBAAkB,QA0B7B;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD;;;;;;;OAOG;IACH,YAAmB,WAA+B,EAAE,OAAgB,EAAE,WAAiC;QACrG,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACgB,SAAS;QAC1B,IAAI,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,kBAAkB,IAAI,CAAC,WAAW,GAAG,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { BentleyError, GetMetaDataFunction } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * Status codes used by Presentation APIs.\r\n * @public\r\n */\r\nexport enum PresentationStatus {\r\n /** Success result. */\r\n Success = 0,\r\n\r\n /** Request was cancelled. */\r\n Canceled = 1,\r\n\r\n /** Error: Unknown */\r\n Error = 0x10000,\r\n\r\n /** Error: Backend is not initialized. */\r\n NotInitialized = Error + 1,\r\n\r\n /** Error: Result set is too large. */\r\n ResultSetTooLarge = Error + 2,\r\n\r\n /** Error: Argument is invalid. */\r\n InvalidArgument = Error + 3,\r\n\r\n /**\r\n * Timeout for the request was reached which prevented it from being fulfilled. Frontend may\r\n * repeat the request.\r\n *\r\n * @deprecated in 5.0 - will not be removed until after 2026-06-13. Presentation RPC now relies on `RpcPendingResponse` to handle timeouts.\r\n */\r\n BackendTimeout = Error + 7,\r\n}\r\n\r\n/**\r\n * An error type thrown by Presentation APIs.\r\n * @public\r\n */\r\nexport class PresentationError extends BentleyError {\r\n /**\r\n * Creates an instance of Error.\r\n * @param errorNumber Error code\r\n * @param message Optional brief description of the error. The `message` property combined with the `name`\r\n * property is used by the `Error.prototype.toString()` method to create a string representation of the Error.\r\n * @param log Optional log function which logs the error.\r\n * @param getMetaData Optional function that returns meta-data related to an error.\r\n */\r\n public constructor(errorNumber: PresentationStatus, message?: string, getMetaData?: GetMetaDataFunction) {\r\n super(errorNumber, message, getMetaData);\r\n }\r\n\r\n /**\r\n * Returns the name of each error status. The name is used by the `Error.prototype.toString()`\r\n * method to create a string representation of the error.\r\n */\r\n protected override _initName(): string {\r\n let value = PresentationStatus[this.errorNumber];\r\n if (!value) {\r\n value = `Unknown Error (${this.errorNumber})`;\r\n }\r\n return value;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Error.js","sourceRoot":"","sources":["../../../src/presentation-common/Error.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAN,IAAY,kBA0BX;AA1BD,WAAY,kBAAkB;IAC5B,sBAAsB;IACtB,iEAAW,CAAA;IAEX,6BAA6B;IAC7B,mEAAY,CAAA;IAEZ,qBAAqB;IACrB,iEAAe,CAAA;IAEf,yCAAyC;IACzC,mFAA0B,CAAA;IAE1B,sCAAsC;IACtC,yFAA6B,CAAA;IAE7B,kCAAkC;IAClC,qFAA2B,CAAA;IAE3B;;;;;OAKG;IACH,mFAA0B,CAAA;AAC5B,CAAC,EA1BW,kBAAkB,KAAlB,kBAAkB,QA0B7B;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD;;;;;;;OAOG;IACH,YAAmB,WAA+B,EAAE,OAAgB,EAAE,WAAiC;QACrG,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACgB,SAAS;QAC1B,IAAI,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,kBAAkB,IAAI,CAAC,WAAW,GAAG,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceFilterDefinition.js","sourceRoot":"","sources":["../../../src/presentation-common/InstanceFilterDefinition.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { StrippedRelationshipPath } from \"./EC.js\";\r\n\r\n/**\r\n * Definition of an instance filter that can be used to filter content or hierarchy levels.\r\n *\r\n * Example:\r\n *\r\n * ```json\r\n * {\r\n * selectClassName: \"MySchema:MyClass\",\r\n * expression: \"this.MyProperty = 1 AND other.OtherProperty = 2\",\r\n * relatedInstances: [{\r\n * pathFromSelectToPropertyClass: [{\r\n * sourceClassName: \"MySchema:MyClass\",\r\n * relationshipName: \"MySchema:RelationshipFromMyToOtherClass\",\r\n * isForwardRelationship: true,\r\n * targetClassName: \"MySchema:OtherClass\",\r\n * }],\r\n * alias: \"other\",\r\n * }],\r\n * }\r\n * ```\r\n *\r\n * @public\r\n */\r\nexport interface InstanceFilterDefinition {\r\n /**\r\n * Select class filter used to select only instances of specific class.\r\n * The [[relatedInstances]] attribute, when used, should specify paths from this class.\r\n * Also, the [[expression]] attribute's `this` symbol points to instances of this class.\r\n *\r\n * The format is full class name: `SchemaName:ClassName`.\r\n */\r\n selectClassName: string;\r\n\r\n /**\r\n * Specifies relationship paths pointing to related instances used in the [[expression]] attribute.\r\n *\r\n * Sometimes there's a need to filter on a related instance property. In that case, the relationship\r\n * needs to be named by specifying the path and alias for the target (or the relationship). Then, the\r\n * related instance's symbol context can be accessed through the root symbol named as specified in the\r\n * [[alias]] (or [[relationshipAlias]]) attribute.\r\n */\r\n relatedInstances?: InstanceFilterRelatedInstanceDefinition[];\r\n\r\n /**\r\n * [ECExpression]($docs/presentation/advanced/ECExpressions.md) for filtering the select instances.\r\n */\r\n expression: string;\r\n}\r\n\r\n/**\r\n * Related instance definition for accessing properties of a related instance in [[InstanceFilterDefinition.expression]].\r\n * @public\r\n */\r\nexport type InstanceFilterRelatedInstanceDefinition = InstanceFilterRelatedInstancePath &\r\n (InstanceFilterRelatedInstanceTargetAlias | InstanceFilterRelatedInstanceRelationshipAlias);\r\n\r\n/**\r\n * Partial definition of common attributes for [[InstanceFilterRelatedInstanceDefinition]].\r\n * @public\r\n */\r\nexport interface InstanceFilterRelatedInstancePath {\r\n /**\r\n * A relationship path from select class (either specified through [[InstanceFilterDefinition.selectClassName]] or taken from context)\r\n * to the target related instance containing the properties used in [[InstanceFilterDefinition.expression]].\r\n */\r\n pathFromSelectToPropertyClass: StrippedRelationshipPath;\r\n /**\r\n * An optional flag indicating that the target instance must exist. Setting this allows to filter out all\r\n * select instances that don't have a related instance by following the [[pathFromSelectToPropertyClass]] path.\r\n */\r\n isRequired?: boolean;\r\n}\r\n\r\n/**\r\n * Partial definition of [[InstanceFilterRelatedInstanceDefinition]] for the case when referencing the target class.\r\n * @public\r\n */\r\nexport interface InstanceFilterRelatedInstanceTargetAlias {\r\n /**\r\n * An alias for the target class in the [[InstanceFilterRelatedInstancePath.pathFromSelectToPropertyClass]] path. This alias can be used to\r\n * access related instance symbols context in the [[InstanceFilterDefinition.expression]].\r\n */\r\n alias: string;\r\n}\r\n\r\n/**\r\n * Partial definition of [[InstanceFilterRelatedInstanceDefinition]] for the case when referencing the relationship class.\r\n * @public\r\n */\r\nexport interface InstanceFilterRelatedInstanceRelationshipAlias {\r\n /**\r\n * An alias for the relationship in the last step of the [[InstanceFilterRelatedInstancePath.pathFromSelectToPropertyClass]] path. This alias can be\r\n * used to access the relationship instance symbols context in the [[InstanceFilterDefinition.expression]].\r\n */\r\n relationshipAlias: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"InstanceFilterDefinition.js","sourceRoot":"","sources":["../../../src/presentation-common/InstanceFilterDefinition.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG"}