@itwin/presentation-common 4.0.0-dev.46 → 4.0.0-dev.48
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.
- package/lib/cjs/assets/locales/en/Presentation.json +15 -0
- package/lib/cjs/assets/locales/en-PSEUDO/Presentation.json +15 -0
- package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
- package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
- package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
- package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +12 -12
- package/lib/cjs/presentation-common/CommonLoggerCategory.js +20 -20
- package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
- package/lib/cjs/presentation-common/Diagnostics.d.ts +125 -125
- package/lib/cjs/presentation-common/Diagnostics.js +72 -72
- package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
- package/lib/cjs/presentation-common/EC.d.ts +350 -350
- package/lib/cjs/presentation-common/EC.js +290 -290
- package/lib/cjs/presentation-common/EC.js.map +1 -1
- package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
- package/lib/cjs/presentation-common/ElementProperties.js +9 -9
- package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
- package/lib/cjs/presentation-common/Error.d.ts +47 -45
- package/lib/cjs/presentation-common/Error.d.ts.map +1 -1
- package/lib/cjs/presentation-common/Error.js +64 -62
- package/lib/cjs/presentation-common/Error.js.map +1 -1
- package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +93 -93
- package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
- package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
- package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
- package/lib/cjs/presentation-common/KeySet.js +428 -428
- package/lib/cjs/presentation-common/KeySet.js.map +1 -1
- package/lib/cjs/presentation-common/LabelDefinition.d.ts +93 -93
- package/lib/cjs/presentation-common/LabelDefinition.js +78 -78
- package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
- package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
- package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
- package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
- package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -40
- package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
- package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
- package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +273 -261
- package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
- package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
- package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
- package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +186 -186
- package/lib/cjs/presentation-common/PresentationRpcInterface.js +104 -104
- package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
- package/lib/cjs/presentation-common/PropertyFormatter.d.ts +30 -30
- package/lib/cjs/presentation-common/PropertyFormatter.js +198 -198
- package/lib/cjs/presentation-common/PropertyFormatter.js.map +1 -1
- package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
- package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
- package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
- package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +82 -82
- package/lib/cjs/presentation-common/RpcRequestsHandler.js +166 -166
- package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
- package/lib/cjs/presentation-common/RulesetVariables.d.ts +171 -171
- package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
- package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
- package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
- package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
- package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
- package/lib/cjs/presentation-common/Update.d.ts +213 -213
- package/lib/cjs/presentation-common/Update.js +226 -226
- package/lib/cjs/presentation-common/Update.js.map +1 -1
- package/lib/cjs/presentation-common/Utils.d.ts +62 -62
- package/lib/cjs/presentation-common/Utils.js +43 -43
- package/lib/cjs/presentation-common/Utils.js.map +1 -1
- package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
- package/lib/cjs/presentation-common/content/Category.js +48 -48
- package/lib/cjs/presentation-common/content/Category.js.map +1 -1
- package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
- package/lib/cjs/presentation-common/content/Content.js +56 -56
- package/lib/cjs/presentation-common/content/Content.js.map +1 -1
- package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +271 -271
- package/lib/cjs/presentation-common/content/ContentTraverser.js +437 -437
- package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
- package/lib/cjs/presentation-common/content/Descriptor.d.ts +328 -328
- package/lib/cjs/presentation-common/content/Descriptor.js +191 -191
- package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
- package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
- package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
- package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
- package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
- package/lib/cjs/presentation-common/content/Editor.js +9 -9
- package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
- package/lib/cjs/presentation-common/content/Fields.d.ts +298 -298
- package/lib/cjs/presentation-common/content/Fields.js +393 -393
- package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
- package/lib/cjs/presentation-common/content/Item.d.ts +85 -85
- package/lib/cjs/presentation-common/content/Item.js +84 -84
- package/lib/cjs/presentation-common/content/Item.js.map +1 -1
- package/lib/cjs/presentation-common/content/Property.d.ts +57 -57
- package/lib/cjs/presentation-common/content/Property.js +40 -40
- package/lib/cjs/presentation-common/content/Property.js.map +1 -1
- package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
- package/lib/cjs/presentation-common/content/Renderer.js +9 -9
- package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
- package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
- package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
- package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
- package/lib/cjs/presentation-common/content/Value.d.ts +189 -189
- package/lib/cjs/presentation-common/content/Value.js +273 -273
- package/lib/cjs/presentation-common/content/Value.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +31 -31
- package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Key.d.ts +246 -246
- package/lib/cjs/presentation-common/hierarchy/Key.js +121 -121
- package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/Node.d.ts +154 -154
- package/lib/cjs/presentation-common/hierarchy/Node.js +106 -106
- package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
- package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
- package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +122 -122
- package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
- package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
- package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
- package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
- package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
- package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
- package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
- package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
- package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
- package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/Rule.d.ts +76 -76
- package/lib/cjs/presentation-common/rules/Rule.js +35 -35
- package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/Ruleset.d.ts +65 -65
- package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
- package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
- package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
- package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/Variables.d.ts +58 -58
- package/lib/cjs/presentation-common/rules/Variables.js +25 -25
- package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
- package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
- package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
- package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
- package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
- package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
- package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
- package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
- package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
- package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
- package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
- package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
- package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
- package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
- package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
- package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
- package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
- package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
- package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
- package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
- package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
- package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
- package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
- package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
- package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
- package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
- package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
- package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
- package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
- package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
- package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
- package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
- package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
- package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
- package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
- package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
- package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
- package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
- package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
- package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +21 -21
- package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
- package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
- package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
- package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
- package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
- package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
- package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
- package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
- package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
- package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
- package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
- package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
- package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
- package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
- package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
- package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
- package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +38 -38
- package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
- package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
- package/lib/cjs/presentation-common.d.ts +113 -113
- package/lib/cjs/presentation-common.js +129 -129
- package/lib/cjs/presentation-common.js.map +1 -1
- package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
- package/lib/esm/presentation-common/AsyncTasks.js +34 -34
- package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
- package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
- package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
- package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
- package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
- package/lib/esm/presentation-common/Diagnostics.js +67 -67
- package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
- package/lib/esm/presentation-common/EC.d.ts +350 -350
- package/lib/esm/presentation-common/EC.js +287 -287
- package/lib/esm/presentation-common/EC.js.map +1 -1
- package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
- package/lib/esm/presentation-common/ElementProperties.js +8 -8
- package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
- package/lib/esm/presentation-common/Error.d.ts +47 -45
- package/lib/esm/presentation-common/Error.d.ts.map +1 -1
- package/lib/esm/presentation-common/Error.js +60 -58
- package/lib/esm/presentation-common/Error.js.map +1 -1
- package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +93 -93
- package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
- package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
- package/lib/esm/presentation-common/KeySet.d.ts +146 -146
- package/lib/esm/presentation-common/KeySet.js +424 -424
- package/lib/esm/presentation-common/KeySet.js.map +1 -1
- package/lib/esm/presentation-common/LabelDefinition.d.ts +93 -93
- package/lib/esm/presentation-common/LabelDefinition.js +75 -75
- package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
- package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
- package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
- package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
- package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -40
- package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
- package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
- package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +273 -261
- package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
- package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
- package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
- package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +186 -186
- package/lib/esm/presentation-common/PresentationRpcInterface.js +100 -100
- package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
- package/lib/esm/presentation-common/PropertyFormatter.d.ts +30 -30
- package/lib/esm/presentation-common/PropertyFormatter.js +193 -193
- package/lib/esm/presentation-common/PropertyFormatter.js.map +1 -1
- package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
- package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
- package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
- package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +82 -82
- package/lib/esm/presentation-common/RpcRequestsHandler.js +162 -162
- package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
- package/lib/esm/presentation-common/RulesetVariables.d.ts +171 -171
- package/lib/esm/presentation-common/RulesetVariables.js +52 -52
- package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
- package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
- package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
- package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
- package/lib/esm/presentation-common/Update.d.ts +213 -213
- package/lib/esm/presentation-common/Update.js +223 -223
- package/lib/esm/presentation-common/Update.js.map +1 -1
- package/lib/esm/presentation-common/Utils.d.ts +62 -62
- package/lib/esm/presentation-common/Utils.js +39 -39
- package/lib/esm/presentation-common/Utils.js.map +1 -1
- package/lib/esm/presentation-common/content/Category.d.ts +49 -49
- package/lib/esm/presentation-common/content/Category.js +45 -45
- package/lib/esm/presentation-common/content/Category.js.map +1 -1
- package/lib/esm/presentation-common/content/Content.d.ts +38 -38
- package/lib/esm/presentation-common/content/Content.js +52 -52
- package/lib/esm/presentation-common/content/Content.js.map +1 -1
- package/lib/esm/presentation-common/content/ContentTraverser.d.ts +271 -271
- package/lib/esm/presentation-common/content/ContentTraverser.js +427 -427
- package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
- package/lib/esm/presentation-common/content/Descriptor.d.ts +328 -328
- package/lib/esm/presentation-common/content/Descriptor.js +187 -187
- package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
- package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
- package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
- package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
- package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
- package/lib/esm/presentation-common/content/Editor.js +8 -8
- package/lib/esm/presentation-common/content/Editor.js.map +1 -1
- package/lib/esm/presentation-common/content/Fields.d.ts +298 -298
- package/lib/esm/presentation-common/content/Fields.js +386 -386
- package/lib/esm/presentation-common/content/Fields.js.map +1 -1
- package/lib/esm/presentation-common/content/Item.d.ts +85 -85
- package/lib/esm/presentation-common/content/Item.js +80 -80
- package/lib/esm/presentation-common/content/Item.js.map +1 -1
- package/lib/esm/presentation-common/content/Property.d.ts +57 -57
- package/lib/esm/presentation-common/content/Property.js +37 -37
- package/lib/esm/presentation-common/content/Property.js.map +1 -1
- package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
- package/lib/esm/presentation-common/content/Renderer.js +8 -8
- package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
- package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
- package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
- package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
- package/lib/esm/presentation-common/content/Value.d.ts +189 -189
- package/lib/esm/presentation-common/content/Value.js +270 -270
- package/lib/esm/presentation-common/content/Value.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
- package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +28 -28
- package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Key.d.ts +246 -246
- package/lib/esm/presentation-common/hierarchy/Key.js +118 -118
- package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/Node.d.ts +154 -154
- package/lib/esm/presentation-common/hierarchy/Node.js +103 -103
- package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
- package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
- package/lib/esm/presentation-common/hierarchy/NodePathElement.js +119 -119
- package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
- package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
- package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
- package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
- package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
- package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
- package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
- package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
- package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
- package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/Rule.d.ts +76 -76
- package/lib/esm/presentation-common/rules/Rule.js +32 -32
- package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
- package/lib/esm/presentation-common/rules/Ruleset.d.ts +65 -65
- package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
- package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
- package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
- package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/Variables.d.ts +58 -58
- package/lib/esm/presentation-common/rules/Variables.js +22 -22
- package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
- package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
- package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
- package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
- package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
- package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
- package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
- package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
- package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
- package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
- package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
- package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
- package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
- package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
- package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
- package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
- package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
- package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
- package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
- package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
- package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
- package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
- package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
- package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
- package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
- package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
- package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
- package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
- package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
- package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
- package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
- package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
- package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
- package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
- package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
- package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
- package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
- package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
- package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
- package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
- package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
- package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +18 -18
- package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
- package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
- package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
- package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
- package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
- package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
- package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
- package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
- package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
- package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
- package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
- package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
- package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
- package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
- package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
- package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
- package/lib/esm/presentation-common/selection/SelectionScope.d.ts +38 -38
- package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
- package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
- package/lib/esm/presentation-common.d.ts +113 -113
- package/lib/esm/presentation-common.js +117 -117
- package/lib/esm/presentation-common.js.map +1 -1
- package/lib/public/locales/en/Presentation.json +15 -0
- package/package.json +10 -10
- package/lib/cjs/assets/locales/en/BisCore.json +0 -18
- package/lib/cjs/assets/locales/en/ECPresentation.json +0 -9
- package/lib/cjs/assets/locales/en/RulesEngine.json +0 -6
- package/lib/cjs/assets/locales/en-PSEUDO/BisCore.json +0 -18
- package/lib/cjs/assets/locales/en-PSEUDO/ECPresentation.json +0 -9
- package/lib/cjs/assets/locales/en-PSEUDO/RulesEngine.json +0 -6
- package/lib/public/locales/en/BisCore.json +0 -18
- package/lib/public/locales/en/ECPresentation.json +0 -9
- package/lib/public/locales/en/RulesEngine.json +0 -6
|
@@ -1,199 +1,199 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
/** @packageDocumentation
|
|
7
|
-
* @module Core
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.ContentPropertyValueFormatter = exports.PropertyValueFormatter = void 0;
|
|
11
|
-
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
-
const core_quantity_1 = require("@itwin/core-quantity");
|
|
13
|
-
const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
|
|
14
|
-
const Value_1 = require("./content/Value");
|
|
15
|
-
/** @alpha */
|
|
16
|
-
class PropertyValueFormatter {
|
|
17
|
-
constructor(_schemaContext) {
|
|
18
|
-
this._schemaContext = _schemaContext;
|
|
19
|
-
this._unitsProvider = new ecschema_metadata_1.SchemaUnitProvider(_schemaContext);
|
|
20
|
-
}
|
|
21
|
-
async format(value, options) {
|
|
22
|
-
const formatterSpec = await this.getFormatterSpec(options);
|
|
23
|
-
if (!formatterSpec)
|
|
24
|
-
return undefined;
|
|
25
|
-
return formatterSpec.applyFormatting(value);
|
|
26
|
-
}
|
|
27
|
-
async getFormatterSpec(options) {
|
|
28
|
-
const formattingProps = await getFormattingProps(this._schemaContext, options);
|
|
29
|
-
if (!formattingProps)
|
|
30
|
-
return undefined;
|
|
31
|
-
const { formatProps, persistenceUnitName } = formattingProps;
|
|
32
|
-
const persistenceUnit = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
33
|
-
const format = await core_quantity_1.Format.createFromJSON("", this._unitsProvider, formatProps);
|
|
34
|
-
return core_quantity_1.FormatterSpec.create("", format, this._unitsProvider, persistenceUnit);
|
|
35
|
-
}
|
|
36
|
-
async getParserSpec(options) {
|
|
37
|
-
const formattingProps = await getFormattingProps(this._schemaContext, options);
|
|
38
|
-
if (!formattingProps)
|
|
39
|
-
return undefined;
|
|
40
|
-
const { formatProps, persistenceUnitName } = formattingProps;
|
|
41
|
-
const persistenceUnit = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
42
|
-
const format = await core_quantity_1.Format.createFromJSON("", this._unitsProvider, formatProps);
|
|
43
|
-
return core_quantity_1.ParserSpec.create(format, this._unitsProvider, persistenceUnit);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.PropertyValueFormatter = PropertyValueFormatter;
|
|
47
|
-
/** @alpha */
|
|
48
|
-
class ContentPropertyValueFormatter {
|
|
49
|
-
constructor(_propertyValueFormatter, _unitSystem) {
|
|
50
|
-
this._propertyValueFormatter = _propertyValueFormatter;
|
|
51
|
-
this._unitSystem = _unitSystem;
|
|
52
|
-
}
|
|
53
|
-
async formatContent(content) {
|
|
54
|
-
const descriptor = content.descriptor;
|
|
55
|
-
for (const item of content.contentSet) {
|
|
56
|
-
await this.formatValues(item.values, item.displayValues, descriptor.fields, item.mergedFieldNames);
|
|
57
|
-
}
|
|
58
|
-
return content;
|
|
59
|
-
}
|
|
60
|
-
async formatValues(values, displayValues, fields, mergedFields) {
|
|
61
|
-
for (const field of fields) {
|
|
62
|
-
const value = values[field.name];
|
|
63
|
-
if (field.isNestedContentField() && !mergedFields.includes(field.name)) {
|
|
64
|
-
(0, core_bentley_1.assert)(Value_1.Value.isNestedContent(value));
|
|
65
|
-
await this.formatNestedContentDisplayValues(value, field.nestedFields);
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
if (!this.isFormattable(field) || typeof value !== "number")
|
|
69
|
-
continue;
|
|
70
|
-
const koq = field.properties[0].property.kindOfQuantity;
|
|
71
|
-
const formattedValue = await this._propertyValueFormatter.format(value, { koqName: koq.name, unitSystem: this._unitSystem });
|
|
72
|
-
if (!formattedValue)
|
|
73
|
-
continue;
|
|
74
|
-
displayValues[field.name] = formattedValue;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
async formatNestedContentDisplayValues(nestedValues, fields) {
|
|
78
|
-
for (const nestedValue of nestedValues) {
|
|
79
|
-
await this.formatValues(nestedValue.values, nestedValue.displayValues, fields, nestedValue.mergedFieldNames);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
isFormattable(field) {
|
|
83
|
-
return field.isPropertiesField()
|
|
84
|
-
&& field.properties.length > 0
|
|
85
|
-
&& field.properties[0].property.kindOfQuantity !== undefined;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.ContentPropertyValueFormatter = ContentPropertyValueFormatter;
|
|
89
|
-
async function getFormattingProps(schemaLocater, options) {
|
|
90
|
-
const { koqName, unitSystem } = options;
|
|
91
|
-
const koq = await getKoq(schemaLocater, koqName);
|
|
92
|
-
if (!koq)
|
|
93
|
-
return undefined;
|
|
94
|
-
const persistenceUnit = await koq.persistenceUnit;
|
|
95
|
-
// istanbul ignore if
|
|
96
|
-
if (!persistenceUnit)
|
|
97
|
-
return undefined;
|
|
98
|
-
const formatProps = await getKoqFormatProps(koq, persistenceUnit, unitSystem);
|
|
99
|
-
if (!formatProps)
|
|
100
|
-
return undefined;
|
|
101
|
-
return { formatProps, persistenceUnitName: persistenceUnit.fullName };
|
|
102
|
-
}
|
|
103
|
-
async function getKoq(schemaLocater, fullName) {
|
|
104
|
-
const [schemaName, propKoqName] = fullName.split(":");
|
|
105
|
-
const schema = await schemaLocater.getSchema(new ecschema_metadata_1.SchemaKey(schemaName), ecschema_metadata_1.SchemaMatchType.Latest);
|
|
106
|
-
if (!schema)
|
|
107
|
-
return undefined;
|
|
108
|
-
return schema.getItem(propKoqName);
|
|
109
|
-
}
|
|
110
|
-
async function getKoqFormatProps(koq, persistenceUnit, unitSystem) {
|
|
111
|
-
const unitSystems = getUnitSystemGroupNames(unitSystem);
|
|
112
|
-
// use one of KOQ presentation format that matches requested unit system
|
|
113
|
-
const presentationFormat = await getKoqPresentationFormat(koq, unitSystems);
|
|
114
|
-
if (presentationFormat)
|
|
115
|
-
return formatToFormatProps(presentationFormat);
|
|
116
|
-
// use persistence unit format if it matches requested unit system and matching presentation format was not found
|
|
117
|
-
const persistenceUnitSystem = await persistenceUnit.unitSystem;
|
|
118
|
-
if (persistenceUnitSystem && unitSystems.includes(persistenceUnitSystem.name.toUpperCase()))
|
|
119
|
-
return getPersistenceUnitFormatProps(persistenceUnit);
|
|
120
|
-
// use default presentation format if persistence unit does not match requested unit system
|
|
121
|
-
if (koq.defaultPresentationFormat)
|
|
122
|
-
return formatToFormatProps(koq.defaultPresentationFormat);
|
|
123
|
-
return undefined;
|
|
124
|
-
}
|
|
125
|
-
async function getKoqPresentationFormat(koq, unitSystems) {
|
|
126
|
-
const presentationFormats = koq.presentationFormats;
|
|
127
|
-
for (const system of unitSystems) {
|
|
128
|
-
for (const format of presentationFormats) {
|
|
129
|
-
const unit = format.units && format.units[0][0];
|
|
130
|
-
// istanbul ignore if
|
|
131
|
-
if (!unit)
|
|
132
|
-
continue;
|
|
133
|
-
const currentUnitSystem = await unit.unitSystem;
|
|
134
|
-
if (currentUnitSystem && currentUnitSystem.name.toUpperCase() === system)
|
|
135
|
-
return format;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return undefined;
|
|
139
|
-
}
|
|
140
|
-
function formatToFormatProps(format) {
|
|
141
|
-
// istanbul ignore if
|
|
142
|
-
if (ecschema_metadata_1.OverrideFormat.isOverrideFormat(format)) {
|
|
143
|
-
const baseFormat = baseFormatToFormatProps(format.parent);
|
|
144
|
-
return {
|
|
145
|
-
...baseFormat,
|
|
146
|
-
composite: format.units
|
|
147
|
-
? {
|
|
148
|
-
...baseFormat.composite,
|
|
149
|
-
units: format.units.map(([unit, _]) => ({ name: unit.fullName, label: unit.label })),
|
|
150
|
-
spacer: format.spacer,
|
|
151
|
-
includeZero: format.includeZero,
|
|
152
|
-
}
|
|
153
|
-
: baseFormat.composite,
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
return baseFormatToFormatProps(format);
|
|
157
|
-
}
|
|
158
|
-
function baseFormatToFormatProps(format) {
|
|
159
|
-
const json = format.toJSON();
|
|
160
|
-
return {
|
|
161
|
-
...json,
|
|
162
|
-
composite: json.composite
|
|
163
|
-
? {
|
|
164
|
-
...json.composite,
|
|
165
|
-
spacer: format.spacer,
|
|
166
|
-
includeZero: format.includeZero,
|
|
167
|
-
}
|
|
168
|
-
: /* istanbul ignore next */ undefined,
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
function getPersistenceUnitFormatProps(persistenceUnit) {
|
|
172
|
-
// Same as Format "DefaultRealU" in Formats ecschema
|
|
173
|
-
return {
|
|
174
|
-
formatTraits: ["keepSingleZero", "keepDecimalPoint", "showUnitLabel"],
|
|
175
|
-
precision: 6,
|
|
176
|
-
type: "Decimal",
|
|
177
|
-
uomSeparator: " ",
|
|
178
|
-
decimalSeparator: ".",
|
|
179
|
-
composite: {
|
|
180
|
-
units: [{
|
|
181
|
-
name: persistenceUnit.fullName,
|
|
182
|
-
label: persistenceUnit.label,
|
|
183
|
-
}],
|
|
184
|
-
},
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
function getUnitSystemGroupNames(unitSystem) {
|
|
188
|
-
switch (unitSystem) {
|
|
189
|
-
case "imperial":
|
|
190
|
-
return ["IMPERIAL", "USCUSTOM", "INTERNATIONAL", "FINANCE"];
|
|
191
|
-
case "metric":
|
|
192
|
-
return ["SI", "METRIC", "INTERNATIONAL", "FINANCE"];
|
|
193
|
-
case "usCustomary":
|
|
194
|
-
return ["USCUSTOM", "INTERNATIONAL", "FINANCE"];
|
|
195
|
-
case "usSurvey":
|
|
196
|
-
return ["USSURVEY", "USCUSTOM", "INTERNATIONAL", "FINANCE"];
|
|
197
|
-
}
|
|
198
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Core
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ContentPropertyValueFormatter = exports.PropertyValueFormatter = void 0;
|
|
11
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
+
const core_quantity_1 = require("@itwin/core-quantity");
|
|
13
|
+
const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
|
|
14
|
+
const Value_1 = require("./content/Value");
|
|
15
|
+
/** @alpha */
|
|
16
|
+
class PropertyValueFormatter {
|
|
17
|
+
constructor(_schemaContext) {
|
|
18
|
+
this._schemaContext = _schemaContext;
|
|
19
|
+
this._unitsProvider = new ecschema_metadata_1.SchemaUnitProvider(_schemaContext);
|
|
20
|
+
}
|
|
21
|
+
async format(value, options) {
|
|
22
|
+
const formatterSpec = await this.getFormatterSpec(options);
|
|
23
|
+
if (!formatterSpec)
|
|
24
|
+
return undefined;
|
|
25
|
+
return formatterSpec.applyFormatting(value);
|
|
26
|
+
}
|
|
27
|
+
async getFormatterSpec(options) {
|
|
28
|
+
const formattingProps = await getFormattingProps(this._schemaContext, options);
|
|
29
|
+
if (!formattingProps)
|
|
30
|
+
return undefined;
|
|
31
|
+
const { formatProps, persistenceUnitName } = formattingProps;
|
|
32
|
+
const persistenceUnit = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
33
|
+
const format = await core_quantity_1.Format.createFromJSON("", this._unitsProvider, formatProps);
|
|
34
|
+
return core_quantity_1.FormatterSpec.create("", format, this._unitsProvider, persistenceUnit);
|
|
35
|
+
}
|
|
36
|
+
async getParserSpec(options) {
|
|
37
|
+
const formattingProps = await getFormattingProps(this._schemaContext, options);
|
|
38
|
+
if (!formattingProps)
|
|
39
|
+
return undefined;
|
|
40
|
+
const { formatProps, persistenceUnitName } = formattingProps;
|
|
41
|
+
const persistenceUnit = await this._unitsProvider.findUnitByName(persistenceUnitName);
|
|
42
|
+
const format = await core_quantity_1.Format.createFromJSON("", this._unitsProvider, formatProps);
|
|
43
|
+
return core_quantity_1.ParserSpec.create(format, this._unitsProvider, persistenceUnit);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.PropertyValueFormatter = PropertyValueFormatter;
|
|
47
|
+
/** @alpha */
|
|
48
|
+
class ContentPropertyValueFormatter {
|
|
49
|
+
constructor(_propertyValueFormatter, _unitSystem) {
|
|
50
|
+
this._propertyValueFormatter = _propertyValueFormatter;
|
|
51
|
+
this._unitSystem = _unitSystem;
|
|
52
|
+
}
|
|
53
|
+
async formatContent(content) {
|
|
54
|
+
const descriptor = content.descriptor;
|
|
55
|
+
for (const item of content.contentSet) {
|
|
56
|
+
await this.formatValues(item.values, item.displayValues, descriptor.fields, item.mergedFieldNames);
|
|
57
|
+
}
|
|
58
|
+
return content;
|
|
59
|
+
}
|
|
60
|
+
async formatValues(values, displayValues, fields, mergedFields) {
|
|
61
|
+
for (const field of fields) {
|
|
62
|
+
const value = values[field.name];
|
|
63
|
+
if (field.isNestedContentField() && !mergedFields.includes(field.name)) {
|
|
64
|
+
(0, core_bentley_1.assert)(Value_1.Value.isNestedContent(value));
|
|
65
|
+
await this.formatNestedContentDisplayValues(value, field.nestedFields);
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (!this.isFormattable(field) || typeof value !== "number")
|
|
69
|
+
continue;
|
|
70
|
+
const koq = field.properties[0].property.kindOfQuantity;
|
|
71
|
+
const formattedValue = await this._propertyValueFormatter.format(value, { koqName: koq.name, unitSystem: this._unitSystem });
|
|
72
|
+
if (!formattedValue)
|
|
73
|
+
continue;
|
|
74
|
+
displayValues[field.name] = formattedValue;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async formatNestedContentDisplayValues(nestedValues, fields) {
|
|
78
|
+
for (const nestedValue of nestedValues) {
|
|
79
|
+
await this.formatValues(nestedValue.values, nestedValue.displayValues, fields, nestedValue.mergedFieldNames);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
isFormattable(field) {
|
|
83
|
+
return field.isPropertiesField()
|
|
84
|
+
&& field.properties.length > 0
|
|
85
|
+
&& field.properties[0].property.kindOfQuantity !== undefined;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.ContentPropertyValueFormatter = ContentPropertyValueFormatter;
|
|
89
|
+
async function getFormattingProps(schemaLocater, options) {
|
|
90
|
+
const { koqName, unitSystem } = options;
|
|
91
|
+
const koq = await getKoq(schemaLocater, koqName);
|
|
92
|
+
if (!koq)
|
|
93
|
+
return undefined;
|
|
94
|
+
const persistenceUnit = await koq.persistenceUnit;
|
|
95
|
+
// istanbul ignore if
|
|
96
|
+
if (!persistenceUnit)
|
|
97
|
+
return undefined;
|
|
98
|
+
const formatProps = await getKoqFormatProps(koq, persistenceUnit, unitSystem);
|
|
99
|
+
if (!formatProps)
|
|
100
|
+
return undefined;
|
|
101
|
+
return { formatProps, persistenceUnitName: persistenceUnit.fullName };
|
|
102
|
+
}
|
|
103
|
+
async function getKoq(schemaLocater, fullName) {
|
|
104
|
+
const [schemaName, propKoqName] = fullName.split(":");
|
|
105
|
+
const schema = await schemaLocater.getSchema(new ecschema_metadata_1.SchemaKey(schemaName), ecschema_metadata_1.SchemaMatchType.Latest);
|
|
106
|
+
if (!schema)
|
|
107
|
+
return undefined;
|
|
108
|
+
return schema.getItem(propKoqName);
|
|
109
|
+
}
|
|
110
|
+
async function getKoqFormatProps(koq, persistenceUnit, unitSystem) {
|
|
111
|
+
const unitSystems = getUnitSystemGroupNames(unitSystem);
|
|
112
|
+
// use one of KOQ presentation format that matches requested unit system
|
|
113
|
+
const presentationFormat = await getKoqPresentationFormat(koq, unitSystems);
|
|
114
|
+
if (presentationFormat)
|
|
115
|
+
return formatToFormatProps(presentationFormat);
|
|
116
|
+
// use persistence unit format if it matches requested unit system and matching presentation format was not found
|
|
117
|
+
const persistenceUnitSystem = await persistenceUnit.unitSystem;
|
|
118
|
+
if (persistenceUnitSystem && unitSystems.includes(persistenceUnitSystem.name.toUpperCase()))
|
|
119
|
+
return getPersistenceUnitFormatProps(persistenceUnit);
|
|
120
|
+
// use default presentation format if persistence unit does not match requested unit system
|
|
121
|
+
if (koq.defaultPresentationFormat)
|
|
122
|
+
return formatToFormatProps(koq.defaultPresentationFormat);
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
async function getKoqPresentationFormat(koq, unitSystems) {
|
|
126
|
+
const presentationFormats = koq.presentationFormats;
|
|
127
|
+
for (const system of unitSystems) {
|
|
128
|
+
for (const format of presentationFormats) {
|
|
129
|
+
const unit = format.units && format.units[0][0];
|
|
130
|
+
// istanbul ignore if
|
|
131
|
+
if (!unit)
|
|
132
|
+
continue;
|
|
133
|
+
const currentUnitSystem = await unit.unitSystem;
|
|
134
|
+
if (currentUnitSystem && currentUnitSystem.name.toUpperCase() === system)
|
|
135
|
+
return format;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
function formatToFormatProps(format) {
|
|
141
|
+
// istanbul ignore if
|
|
142
|
+
if (ecschema_metadata_1.OverrideFormat.isOverrideFormat(format)) {
|
|
143
|
+
const baseFormat = baseFormatToFormatProps(format.parent);
|
|
144
|
+
return {
|
|
145
|
+
...baseFormat,
|
|
146
|
+
composite: format.units
|
|
147
|
+
? {
|
|
148
|
+
...baseFormat.composite,
|
|
149
|
+
units: format.units.map(([unit, _]) => ({ name: unit.fullName, label: unit.label })),
|
|
150
|
+
spacer: format.spacer,
|
|
151
|
+
includeZero: format.includeZero,
|
|
152
|
+
}
|
|
153
|
+
: baseFormat.composite,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
return baseFormatToFormatProps(format);
|
|
157
|
+
}
|
|
158
|
+
function baseFormatToFormatProps(format) {
|
|
159
|
+
const json = format.toJSON();
|
|
160
|
+
return {
|
|
161
|
+
...json,
|
|
162
|
+
composite: json.composite
|
|
163
|
+
? {
|
|
164
|
+
...json.composite,
|
|
165
|
+
spacer: format.spacer,
|
|
166
|
+
includeZero: format.includeZero,
|
|
167
|
+
}
|
|
168
|
+
: /* istanbul ignore next */ undefined,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function getPersistenceUnitFormatProps(persistenceUnit) {
|
|
172
|
+
// Same as Format "DefaultRealU" in Formats ecschema
|
|
173
|
+
return {
|
|
174
|
+
formatTraits: ["keepSingleZero", "keepDecimalPoint", "showUnitLabel"],
|
|
175
|
+
precision: 6,
|
|
176
|
+
type: "Decimal",
|
|
177
|
+
uomSeparator: " ",
|
|
178
|
+
decimalSeparator: ".",
|
|
179
|
+
composite: {
|
|
180
|
+
units: [{
|
|
181
|
+
name: persistenceUnit.fullName,
|
|
182
|
+
label: persistenceUnit.label,
|
|
183
|
+
}],
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function getUnitSystemGroupNames(unitSystem) {
|
|
188
|
+
switch (unitSystem) {
|
|
189
|
+
case "imperial":
|
|
190
|
+
return ["IMPERIAL", "USCUSTOM", "INTERNATIONAL", "FINANCE"];
|
|
191
|
+
case "metric":
|
|
192
|
+
return ["SI", "METRIC", "INTERNATIONAL", "FINANCE"];
|
|
193
|
+
case "usCustomary":
|
|
194
|
+
return ["USCUSTOM", "INTERNATIONAL", "FINANCE"];
|
|
195
|
+
case "usSurvey":
|
|
196
|
+
return ["USSURVEY", "USCUSTOM", "INTERNATIONAL", "FINANCE"];
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
199
|
//# sourceMappingURL=PropertyFormatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyFormatter.js","sourceRoot":"","sources":["../../../src/presentation-common/PropertyFormatter.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 } from \"@itwin/core-bentley\";\r\nimport { Format, FormatProps, FormatterSpec, ParserSpec, UnitsProvider, UnitSystemKey } from \"@itwin/core-quantity\";\r\nimport {\r\n Format as ECFormat, InvertedUnit, ISchemaLocater, KindOfQuantity, OverrideFormat, SchemaContext, SchemaKey, SchemaMatchType, SchemaUnitProvider,\r\n Unit,\r\n} from \"@itwin/ecschema-metadata\";\r\nimport { Content } from \"./content/Content\";\r\nimport { Field, PropertiesField } from \"./content/Fields\";\r\nimport { DisplayValue, NestedContentValue, Value } from \"./content/Value\";\r\nimport { KindOfQuantityInfo, PropertyInfo } from \"./EC\";\r\nimport { ValuesDictionary } from \"./Utils\";\r\n\r\n/** @alpha */\r\nexport interface FormatOptions {\r\n koqName: string;\r\n unitSystem: UnitSystemKey;\r\n}\r\n\r\n/** @alpha */\r\nexport class PropertyValueFormatter {\r\n private _unitsProvider: UnitsProvider;\r\n\r\n constructor(private _schemaContext: SchemaContext) {\r\n this._unitsProvider = new SchemaUnitProvider(_schemaContext);\r\n }\r\n\r\n public async format(value: number, options: FormatOptions) {\r\n const formatterSpec = await this.getFormatterSpec(options);\r\n if (!formatterSpec)\r\n return undefined;\r\n return formatterSpec.applyFormatting(value);\r\n }\r\n\r\n public async getFormatterSpec(options: FormatOptions) {\r\n const formattingProps = await getFormattingProps(this._schemaContext, options);\r\n if (!formattingProps)\r\n return undefined;\r\n const { formatProps, persistenceUnitName } = formattingProps;\r\n const persistenceUnit = await this._unitsProvider.findUnitByName(persistenceUnitName);\r\n const format = await Format.createFromJSON(\"\", this._unitsProvider, formatProps);\r\n return FormatterSpec.create(\"\", format, this._unitsProvider, persistenceUnit);\r\n }\r\n\r\n public async getParserSpec(options: FormatOptions) {\r\n const formattingProps = await getFormattingProps(this._schemaContext, options);\r\n if (!formattingProps)\r\n return undefined;\r\n const { formatProps, persistenceUnitName } = formattingProps;\r\n const persistenceUnit = await this._unitsProvider.findUnitByName(persistenceUnitName);\r\n const format = await Format.createFromJSON(\"\", this._unitsProvider, formatProps);\r\n return ParserSpec.create(format, this._unitsProvider, persistenceUnit);\r\n }\r\n}\r\n\r\n/** @alpha */\r\nexport class ContentPropertyValueFormatter {\r\n constructor(private _propertyValueFormatter: PropertyValueFormatter, private _unitSystem: UnitSystemKey) { }\r\n\r\n public async formatContent(content: Content) {\r\n const descriptor = content.descriptor;\r\n for (const item of content.contentSet) {\r\n await this.formatValues(item.values, item.displayValues, descriptor.fields, item.mergedFieldNames);\r\n }\r\n return content;\r\n }\r\n\r\n private async formatValues(values: ValuesDictionary<Value>, displayValues: ValuesDictionary<DisplayValue>, fields: Field[], mergedFields: string[]) {\r\n for (const field of fields) {\r\n const value = values[field.name];\r\n if (field.isNestedContentField() && !mergedFields.includes(field.name)) {\r\n assert(Value.isNestedContent(value));\r\n await this.formatNestedContentDisplayValues(value, field.nestedFields);\r\n continue;\r\n }\r\n\r\n if (!this.isFormattable(field) || typeof value !== \"number\")\r\n continue;\r\n\r\n const koq = field.properties[0].property.kindOfQuantity;\r\n const formattedValue = await this._propertyValueFormatter.format(value, { koqName: koq.name, unitSystem: this._unitSystem });\r\n if (!formattedValue)\r\n continue;\r\n\r\n displayValues[field.name] = formattedValue;\r\n }\r\n }\r\n\r\n private async formatNestedContentDisplayValues(nestedValues: NestedContentValue[], fields: Field[]) {\r\n for (const nestedValue of nestedValues) {\r\n await this.formatValues(nestedValue.values, nestedValue.displayValues, fields, nestedValue.mergedFieldNames);\r\n }\r\n }\r\n\r\n private isFormattable(field: Field): field is FormattableField {\r\n return field.isPropertiesField()\r\n && field.properties.length > 0\r\n && field.properties[0].property.kindOfQuantity !== undefined;\r\n }\r\n}\r\n\r\ntype FormattableField = PropertiesField & {\r\n properties: [{\r\n property: PropertyInfo & {\r\n kindOfQuantity: KindOfQuantityInfo;\r\n };\r\n }];\r\n};\r\n\r\ninterface FormattingProps {\r\n formatProps: FormatProps;\r\n persistenceUnitName: string;\r\n}\r\n\r\nasync function getFormattingProps(schemaLocater: ISchemaLocater, options: FormatOptions): Promise<FormattingProps | undefined> {\r\n const { koqName, unitSystem } = options;\r\n\r\n const koq = await getKoq(schemaLocater, koqName);\r\n if (!koq)\r\n return undefined;\r\n\r\n const persistenceUnit = await koq.persistenceUnit;\r\n // istanbul ignore if\r\n if (!persistenceUnit)\r\n return undefined;\r\n\r\n const formatProps = await getKoqFormatProps(koq, persistenceUnit, unitSystem);\r\n if (!formatProps)\r\n return undefined;\r\n\r\n return { formatProps, persistenceUnitName: persistenceUnit.fullName };\r\n}\r\n\r\nasync function getKoq(schemaLocater: ISchemaLocater, fullName: string) {\r\n const [schemaName, propKoqName] = fullName.split(\":\");\r\n const schema = await schemaLocater.getSchema(new SchemaKey(schemaName), SchemaMatchType.Latest);\r\n if (!schema)\r\n return undefined;\r\n\r\n return schema.getItem<KindOfQuantity>(propKoqName);\r\n}\r\n\r\nasync function getKoqFormatProps(koq: KindOfQuantity, persistenceUnit: Unit | InvertedUnit, unitSystem: UnitSystemKey) {\r\n const unitSystems = getUnitSystemGroupNames(unitSystem);\r\n // use one of KOQ presentation format that matches requested unit system\r\n const presentationFormat = await getKoqPresentationFormat(koq, unitSystems);\r\n if (presentationFormat)\r\n return formatToFormatProps(presentationFormat);\r\n\r\n // use persistence unit format if it matches requested unit system and matching presentation format was not found\r\n const persistenceUnitSystem = await persistenceUnit.unitSystem;\r\n if (persistenceUnitSystem && unitSystems.includes(persistenceUnitSystem.name.toUpperCase()))\r\n return getPersistenceUnitFormatProps(persistenceUnit);\r\n\r\n // use default presentation format if persistence unit does not match requested unit system\r\n if (koq.defaultPresentationFormat)\r\n return formatToFormatProps(koq.defaultPresentationFormat);\r\n\r\n return undefined;\r\n}\r\n\r\nasync function getKoqPresentationFormat(koq: KindOfQuantity, unitSystems: string[]) {\r\n const presentationFormats = koq.presentationFormats;\r\n for (const system of unitSystems) {\r\n for (const format of presentationFormats) {\r\n const unit = format.units && format.units[0][0];\r\n // istanbul ignore if\r\n if (!unit)\r\n continue;\r\n\r\n const currentUnitSystem = await unit.unitSystem;\r\n if (currentUnitSystem && currentUnitSystem.name.toUpperCase() === system)\r\n return format;\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\nfunction formatToFormatProps(format: ECFormat | OverrideFormat): FormatProps {\r\n // istanbul ignore if\r\n if (OverrideFormat.isOverrideFormat(format)) {\r\n const baseFormat = baseFormatToFormatProps(format.parent);\r\n return {\r\n ...baseFormat,\r\n composite: format.units\r\n ? {\r\n ...baseFormat.composite,\r\n units: format.units.map(([unit, _]) => ({ name: unit.fullName, label: unit.label })),\r\n spacer: format.spacer,\r\n includeZero: format.includeZero,\r\n }\r\n : baseFormat.composite,\r\n };\r\n }\r\n return baseFormatToFormatProps(format);\r\n}\r\n\r\nfunction baseFormatToFormatProps(format: ECFormat): FormatProps {\r\n const json = format.toJSON();\r\n return {\r\n ...json,\r\n composite: json.composite\r\n ? {\r\n ...json.composite,\r\n spacer: format.spacer,\r\n includeZero: format.includeZero,\r\n }\r\n : /* istanbul ignore next */ undefined,\r\n };\r\n}\r\n\r\nfunction getPersistenceUnitFormatProps(persistenceUnit: Unit | InvertedUnit): FormatProps {\r\n // Same as Format \"DefaultRealU\" in Formats ecschema\r\n return {\r\n formatTraits: [\"keepSingleZero\", \"keepDecimalPoint\", \"showUnitLabel\"],\r\n precision: 6,\r\n type: \"Decimal\",\r\n uomSeparator: \" \",\r\n decimalSeparator: \".\",\r\n composite: {\r\n units: [{\r\n name: persistenceUnit.fullName,\r\n label: persistenceUnit.label,\r\n }],\r\n },\r\n };\r\n}\r\n\r\nfunction getUnitSystemGroupNames(unitSystem: UnitSystemKey) {\r\n switch (unitSystem) {\r\n case \"imperial\":\r\n return [\"IMPERIAL\", \"USCUSTOM\", \"INTERNATIONAL\", \"FINANCE\"];\r\n case \"metric\":\r\n return [\"SI\", \"METRIC\", \"INTERNATIONAL\", \"FINANCE\"];\r\n case \"usCustomary\":\r\n return [\"USCUSTOM\", \"INTERNATIONAL\", \"FINANCE\"];\r\n case \"usSurvey\":\r\n return [\"USSURVEY\", \"USCUSTOM\", \"INTERNATIONAL\", \"FINANCE\"];\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"PropertyFormatter.js","sourceRoot":"","sources":["../../../src/presentation-common/PropertyFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { Format, FormatProps, FormatterSpec, ParserSpec, UnitsProvider, UnitSystemKey } from \"@itwin/core-quantity\";\nimport {\n Format as ECFormat, InvertedUnit, ISchemaLocater, KindOfQuantity, OverrideFormat, SchemaContext, SchemaKey, SchemaMatchType, SchemaUnitProvider,\n Unit,\n} from \"@itwin/ecschema-metadata\";\nimport { Content } from \"./content/Content\";\nimport { Field, PropertiesField } from \"./content/Fields\";\nimport { DisplayValue, NestedContentValue, Value } from \"./content/Value\";\nimport { KindOfQuantityInfo, PropertyInfo } from \"./EC\";\nimport { ValuesDictionary } from \"./Utils\";\n\n/** @alpha */\nexport interface FormatOptions {\n koqName: string;\n unitSystem: UnitSystemKey;\n}\n\n/** @alpha */\nexport class PropertyValueFormatter {\n private _unitsProvider: UnitsProvider;\n\n constructor(private _schemaContext: SchemaContext) {\n this._unitsProvider = new SchemaUnitProvider(_schemaContext);\n }\n\n public async format(value: number, options: FormatOptions) {\n const formatterSpec = await this.getFormatterSpec(options);\n if (!formatterSpec)\n return undefined;\n return formatterSpec.applyFormatting(value);\n }\n\n public async getFormatterSpec(options: FormatOptions) {\n const formattingProps = await getFormattingProps(this._schemaContext, options);\n if (!formattingProps)\n return undefined;\n const { formatProps, persistenceUnitName } = formattingProps;\n const persistenceUnit = await this._unitsProvider.findUnitByName(persistenceUnitName);\n const format = await Format.createFromJSON(\"\", this._unitsProvider, formatProps);\n return FormatterSpec.create(\"\", format, this._unitsProvider, persistenceUnit);\n }\n\n public async getParserSpec(options: FormatOptions) {\n const formattingProps = await getFormattingProps(this._schemaContext, options);\n if (!formattingProps)\n return undefined;\n const { formatProps, persistenceUnitName } = formattingProps;\n const persistenceUnit = await this._unitsProvider.findUnitByName(persistenceUnitName);\n const format = await Format.createFromJSON(\"\", this._unitsProvider, formatProps);\n return ParserSpec.create(format, this._unitsProvider, persistenceUnit);\n }\n}\n\n/** @alpha */\nexport class ContentPropertyValueFormatter {\n constructor(private _propertyValueFormatter: PropertyValueFormatter, private _unitSystem: UnitSystemKey) { }\n\n public async formatContent(content: Content) {\n const descriptor = content.descriptor;\n for (const item of content.contentSet) {\n await this.formatValues(item.values, item.displayValues, descriptor.fields, item.mergedFieldNames);\n }\n return content;\n }\n\n private async formatValues(values: ValuesDictionary<Value>, displayValues: ValuesDictionary<DisplayValue>, fields: Field[], mergedFields: string[]) {\n for (const field of fields) {\n const value = values[field.name];\n if (field.isNestedContentField() && !mergedFields.includes(field.name)) {\n assert(Value.isNestedContent(value));\n await this.formatNestedContentDisplayValues(value, field.nestedFields);\n continue;\n }\n\n if (!this.isFormattable(field) || typeof value !== \"number\")\n continue;\n\n const koq = field.properties[0].property.kindOfQuantity;\n const formattedValue = await this._propertyValueFormatter.format(value, { koqName: koq.name, unitSystem: this._unitSystem });\n if (!formattedValue)\n continue;\n\n displayValues[field.name] = formattedValue;\n }\n }\n\n private async formatNestedContentDisplayValues(nestedValues: NestedContentValue[], fields: Field[]) {\n for (const nestedValue of nestedValues) {\n await this.formatValues(nestedValue.values, nestedValue.displayValues, fields, nestedValue.mergedFieldNames);\n }\n }\n\n private isFormattable(field: Field): field is FormattableField {\n return field.isPropertiesField()\n && field.properties.length > 0\n && field.properties[0].property.kindOfQuantity !== undefined;\n }\n}\n\ntype FormattableField = PropertiesField & {\n properties: [{\n property: PropertyInfo & {\n kindOfQuantity: KindOfQuantityInfo;\n };\n }];\n};\n\ninterface FormattingProps {\n formatProps: FormatProps;\n persistenceUnitName: string;\n}\n\nasync function getFormattingProps(schemaLocater: ISchemaLocater, options: FormatOptions): Promise<FormattingProps | undefined> {\n const { koqName, unitSystem } = options;\n\n const koq = await getKoq(schemaLocater, koqName);\n if (!koq)\n return undefined;\n\n const persistenceUnit = await koq.persistenceUnit;\n // istanbul ignore if\n if (!persistenceUnit)\n return undefined;\n\n const formatProps = await getKoqFormatProps(koq, persistenceUnit, unitSystem);\n if (!formatProps)\n return undefined;\n\n return { formatProps, persistenceUnitName: persistenceUnit.fullName };\n}\n\nasync function getKoq(schemaLocater: ISchemaLocater, fullName: string) {\n const [schemaName, propKoqName] = fullName.split(\":\");\n const schema = await schemaLocater.getSchema(new SchemaKey(schemaName), SchemaMatchType.Latest);\n if (!schema)\n return undefined;\n\n return schema.getItem<KindOfQuantity>(propKoqName);\n}\n\nasync function getKoqFormatProps(koq: KindOfQuantity, persistenceUnit: Unit | InvertedUnit, unitSystem: UnitSystemKey) {\n const unitSystems = getUnitSystemGroupNames(unitSystem);\n // use one of KOQ presentation format that matches requested unit system\n const presentationFormat = await getKoqPresentationFormat(koq, unitSystems);\n if (presentationFormat)\n return formatToFormatProps(presentationFormat);\n\n // use persistence unit format if it matches requested unit system and matching presentation format was not found\n const persistenceUnitSystem = await persistenceUnit.unitSystem;\n if (persistenceUnitSystem && unitSystems.includes(persistenceUnitSystem.name.toUpperCase()))\n return getPersistenceUnitFormatProps(persistenceUnit);\n\n // use default presentation format if persistence unit does not match requested unit system\n if (koq.defaultPresentationFormat)\n return formatToFormatProps(koq.defaultPresentationFormat);\n\n return undefined;\n}\n\nasync function getKoqPresentationFormat(koq: KindOfQuantity, unitSystems: string[]) {\n const presentationFormats = koq.presentationFormats;\n for (const system of unitSystems) {\n for (const format of presentationFormats) {\n const unit = format.units && format.units[0][0];\n // istanbul ignore if\n if (!unit)\n continue;\n\n const currentUnitSystem = await unit.unitSystem;\n if (currentUnitSystem && currentUnitSystem.name.toUpperCase() === system)\n return format;\n }\n }\n return undefined;\n}\n\nfunction formatToFormatProps(format: ECFormat | OverrideFormat): FormatProps {\n // istanbul ignore if\n if (OverrideFormat.isOverrideFormat(format)) {\n const baseFormat = baseFormatToFormatProps(format.parent);\n return {\n ...baseFormat,\n composite: format.units\n ? {\n ...baseFormat.composite,\n units: format.units.map(([unit, _]) => ({ name: unit.fullName, label: unit.label })),\n spacer: format.spacer,\n includeZero: format.includeZero,\n }\n : baseFormat.composite,\n };\n }\n return baseFormatToFormatProps(format);\n}\n\nfunction baseFormatToFormatProps(format: ECFormat): FormatProps {\n const json = format.toJSON();\n return {\n ...json,\n composite: json.composite\n ? {\n ...json.composite,\n spacer: format.spacer,\n includeZero: format.includeZero,\n }\n : /* istanbul ignore next */ undefined,\n };\n}\n\nfunction getPersistenceUnitFormatProps(persistenceUnit: Unit | InvertedUnit): FormatProps {\n // Same as Format \"DefaultRealU\" in Formats ecschema\n return {\n formatTraits: [\"keepSingleZero\", \"keepDecimalPoint\", \"showUnitLabel\"],\n precision: 6,\n type: \"Decimal\",\n uomSeparator: \" \",\n decimalSeparator: \".\",\n composite: {\n units: [{\n name: persistenceUnit.fullName,\n label: persistenceUnit.label,\n }],\n },\n };\n}\n\nfunction getUnitSystemGroupNames(unitSystem: UnitSystemKey) {\n switch (unitSystem) {\n case \"imperial\":\n return [\"IMPERIAL\", \"USCUSTOM\", \"INTERNATIONAL\", \"FINANCE\"];\n case \"metric\":\n return [\"SI\", \"METRIC\", \"INTERNATIONAL\", \"FINANCE\"];\n case \"usCustomary\":\n return [\"USCUSTOM\", \"INTERNATIONAL\", \"FINANCE\"];\n case \"usSurvey\":\n return [\"USSURVEY\", \"USCUSTOM\", \"INTERNATIONAL\", \"FINANCE\"];\n }\n}\n"]}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Core
|
|
3
|
-
*/
|
|
4
|
-
import { IDisposable } from "@itwin/core-bentley";
|
|
5
|
-
import { Rule } from "./rules/Rule";
|
|
6
|
-
import { Ruleset, SupplementationInfo } from "./rules/Ruleset";
|
|
7
|
-
import { VariablesGroup } from "./rules/Variables";
|
|
8
|
-
/**
|
|
9
|
-
* A ruleset that is registered in a ruleset manager.
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
export declare class RegisteredRuleset implements IDisposable, Ruleset {
|
|
13
|
-
private _ruleset;
|
|
14
|
-
private _uniqueIdentifier;
|
|
15
|
-
private _disposeFunc;
|
|
16
|
-
/** Create a registered ruleset */
|
|
17
|
-
constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void);
|
|
18
|
-
/** Dispose registered ruleset. */
|
|
19
|
-
dispose(): void;
|
|
20
|
-
get uniqueIdentifier(): string;
|
|
21
|
-
get id(): string;
|
|
22
|
-
get supplementationInfo(): SupplementationInfo | undefined;
|
|
23
|
-
get rules(): Rule[];
|
|
24
|
-
get vars(): VariablesGroup[] | undefined;
|
|
25
|
-
toJSON(): Ruleset;
|
|
26
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Core
|
|
3
|
+
*/
|
|
4
|
+
import { IDisposable } from "@itwin/core-bentley";
|
|
5
|
+
import { Rule } from "./rules/Rule";
|
|
6
|
+
import { Ruleset, SupplementationInfo } from "./rules/Ruleset";
|
|
7
|
+
import { VariablesGroup } from "./rules/Variables";
|
|
8
|
+
/**
|
|
9
|
+
* A ruleset that is registered in a ruleset manager.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export declare class RegisteredRuleset implements IDisposable, Ruleset {
|
|
13
|
+
private _ruleset;
|
|
14
|
+
private _uniqueIdentifier;
|
|
15
|
+
private _disposeFunc;
|
|
16
|
+
/** Create a registered ruleset */
|
|
17
|
+
constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void);
|
|
18
|
+
/** Dispose registered ruleset. */
|
|
19
|
+
dispose(): void;
|
|
20
|
+
get uniqueIdentifier(): string;
|
|
21
|
+
get id(): string;
|
|
22
|
+
get supplementationInfo(): SupplementationInfo | undefined;
|
|
23
|
+
get rules(): Rule[];
|
|
24
|
+
get vars(): VariablesGroup[] | undefined;
|
|
25
|
+
toJSON(): Ruleset;
|
|
26
|
+
}
|
|
27
27
|
//# sourceMappingURL=RegisteredRuleset.d.ts.map
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
/** @packageDocumentation
|
|
7
|
-
* @module Core
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.RegisteredRuleset = void 0;
|
|
11
|
-
/**
|
|
12
|
-
* A ruleset that is registered in a ruleset manager.
|
|
13
|
-
* @public
|
|
14
|
-
*/
|
|
15
|
-
class RegisteredRuleset {
|
|
16
|
-
/** Create a registered ruleset */
|
|
17
|
-
constructor(ruleset, uniqueIdentifier, disposeFunc) {
|
|
18
|
-
this._disposeFunc = disposeFunc;
|
|
19
|
-
this._ruleset = ruleset;
|
|
20
|
-
this._uniqueIdentifier = uniqueIdentifier;
|
|
21
|
-
}
|
|
22
|
-
/** Dispose registered ruleset. */
|
|
23
|
-
dispose() {
|
|
24
|
-
this._disposeFunc(this);
|
|
25
|
-
}
|
|
26
|
-
get uniqueIdentifier() { return this._uniqueIdentifier; }
|
|
27
|
-
get id() { return this._ruleset.id; }
|
|
28
|
-
get supplementationInfo() { return this._ruleset.supplementationInfo; }
|
|
29
|
-
get rules() { return this._ruleset.rules; }
|
|
30
|
-
get vars() { return this._ruleset.vars; }
|
|
31
|
-
toJSON() { return this._ruleset; }
|
|
32
|
-
}
|
|
33
|
-
exports.RegisteredRuleset = RegisteredRuleset;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Core
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.RegisteredRuleset = void 0;
|
|
11
|
+
/**
|
|
12
|
+
* A ruleset that is registered in a ruleset manager.
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
class RegisteredRuleset {
|
|
16
|
+
/** Create a registered ruleset */
|
|
17
|
+
constructor(ruleset, uniqueIdentifier, disposeFunc) {
|
|
18
|
+
this._disposeFunc = disposeFunc;
|
|
19
|
+
this._ruleset = ruleset;
|
|
20
|
+
this._uniqueIdentifier = uniqueIdentifier;
|
|
21
|
+
}
|
|
22
|
+
/** Dispose registered ruleset. */
|
|
23
|
+
dispose() {
|
|
24
|
+
this._disposeFunc(this);
|
|
25
|
+
}
|
|
26
|
+
get uniqueIdentifier() { return this._uniqueIdentifier; }
|
|
27
|
+
get id() { return this._ruleset.id; }
|
|
28
|
+
get supplementationInfo() { return this._ruleset.supplementationInfo; }
|
|
29
|
+
get rules() { return this._ruleset.rules; }
|
|
30
|
+
get vars() { return this._ruleset.vars; }
|
|
31
|
+
toJSON() { return this._ruleset; }
|
|
32
|
+
}
|
|
33
|
+
exports.RegisteredRuleset = RegisteredRuleset;
|
|
34
34
|
//# sourceMappingURL=RegisteredRuleset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisteredRuleset.js","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAOH;;;GAGG;AACH,MAAa,iBAAiB;IAK5B,kCAAkC;IAClC,YAAmB,OAAgB,EAAE,gBAAwB,EAAE,WAAiD;QAC9G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAC3B,OAAO;QACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAW,gBAAgB,KAAK,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChE,IAAW,EAAE,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,IAAW,mBAAmB,KAAsC,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC/G,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,IAAW,IAAI,KAAmC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;CACnD;AAvBD,8CAuBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"RegisteredRuleset.js","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAOH;;;GAGG;AACH,MAAa,iBAAiB;IAK5B,kCAAkC;IAClC,YAAmB,OAAgB,EAAE,gBAAwB,EAAE,WAAiD;QAC9G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAC3B,OAAO;QACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAW,gBAAgB,KAAK,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAChE,IAAW,EAAE,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,IAAW,mBAAmB,KAAsC,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC/G,IAAW,KAAK,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,IAAW,IAAI,KAAmC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,MAAM,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;CACnD;AAvBD,8CAuBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { IDisposable } from \"@itwin/core-bentley\";\nimport { Rule } from \"./rules/Rule\";\nimport { Ruleset, SupplementationInfo } from \"./rules/Ruleset\";\nimport { VariablesGroup } from \"./rules/Variables\";\n\n/**\n * A ruleset that is registered in a ruleset manager.\n * @public\n */\nexport class RegisteredRuleset implements IDisposable, Ruleset {\n private _ruleset: Ruleset;\n private _uniqueIdentifier: string;\n private _disposeFunc: (ruleset: RegisteredRuleset) => void;\n\n /** Create a registered ruleset */\n public constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void) {\n this._disposeFunc = disposeFunc;\n this._ruleset = ruleset;\n this._uniqueIdentifier = uniqueIdentifier;\n }\n\n /** Dispose registered ruleset. */\n public dispose() {\n this._disposeFunc(this);\n }\n\n public get uniqueIdentifier() { return this._uniqueIdentifier; }\n public get id(): string { return this._ruleset.id; }\n public get supplementationInfo(): SupplementationInfo | undefined { return this._ruleset.supplementationInfo; }\n public get rules(): Rule[] { return this._ruleset.rules; }\n public get vars(): VariablesGroup[] | undefined { return this._ruleset.vars; }\n public toJSON(): Ruleset { return this._ruleset; }\n}\n"]}
|