@itwin/presentation-common 4.0.0-dev.51 → 4.0.0-dev.54
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 +14 -14
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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 -47
- package/lib/cjs/presentation-common/Error.js +64 -64
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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 -273
- 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.d.ts.map +1 -1
- package/lib/cjs/presentation-common/PresentationRpcInterface.js +108 -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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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 +133 -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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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 -47
- package/lib/esm/presentation-common/Error.js +60 -60
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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 -273
- 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.d.ts.map +1 -1
- package/lib/esm/presentation-common/PresentationRpcInterface.js +105 -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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- 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 +14 -14
- package/package.json +12 -12
|
@@ -1,387 +1,387 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module Content
|
|
7
|
-
*/
|
|
8
|
-
import { assert } from "@itwin/core-bentley";
|
|
9
|
-
import { NavigationPropertyInfo, RelatedClassInfo, RelationshipPath, } from "../EC";
|
|
10
|
-
import { PresentationError, PresentationStatus } from "../Error";
|
|
11
|
-
import { RelationshipMeaning } from "../rules/content/modifiers/RelatedPropertiesSpecification";
|
|
12
|
-
import { Property } from "./Property";
|
|
13
|
-
/** Is supplied field a properties field. */
|
|
14
|
-
const isPropertiesField = (field) => {
|
|
15
|
-
return !!field.properties;
|
|
16
|
-
};
|
|
17
|
-
/** Is supplied field a nested content field. */
|
|
18
|
-
const isNestedContentField = (field) => {
|
|
19
|
-
return !!field.nestedFields;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Describes a single content field. A field is usually represented as a grid column
|
|
23
|
-
* or a property pane row.
|
|
24
|
-
*
|
|
25
|
-
* @public
|
|
26
|
-
*/
|
|
27
|
-
export class Field {
|
|
28
|
-
/**
|
|
29
|
-
* Creates an instance of Field.
|
|
30
|
-
* @param category Category information
|
|
31
|
-
* @param name Unique name
|
|
32
|
-
* @param label Display label
|
|
33
|
-
* @param type Description of this field's values data type
|
|
34
|
-
* @param isReadonly Are values in this field read-only
|
|
35
|
-
* @param priority Priority of the field
|
|
36
|
-
* @param editor Property editor used to edit values of this field
|
|
37
|
-
* @param renderer Property renderer used to render values of this field
|
|
38
|
-
*/
|
|
39
|
-
constructor(category, name, label, type, isReadonly, priority, editor, renderer) {
|
|
40
|
-
this.category = category;
|
|
41
|
-
this.name = name;
|
|
42
|
-
this.label = label;
|
|
43
|
-
this.type = type;
|
|
44
|
-
this.isReadonly = isReadonly;
|
|
45
|
-
this.priority = priority;
|
|
46
|
-
this.editor = editor;
|
|
47
|
-
this.renderer = renderer;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Is this a [[PropertiesField]]
|
|
51
|
-
*/
|
|
52
|
-
isPropertiesField() { return isPropertiesField(this); }
|
|
53
|
-
/**
|
|
54
|
-
* Is this a [[NestedContentField]]
|
|
55
|
-
*/
|
|
56
|
-
isNestedContentField() { return isNestedContentField(this); }
|
|
57
|
-
/**
|
|
58
|
-
* Get parent
|
|
59
|
-
*/
|
|
60
|
-
get parent() { return this._parent; }
|
|
61
|
-
clone() {
|
|
62
|
-
const clone = new Field(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.editor, this.renderer);
|
|
63
|
-
clone.rebuildParentship(this.parent);
|
|
64
|
-
return clone;
|
|
65
|
-
}
|
|
66
|
-
/** Serialize this object to JSON */
|
|
67
|
-
toJSON() {
|
|
68
|
-
return {
|
|
69
|
-
category: this.category.name,
|
|
70
|
-
name: this.name,
|
|
71
|
-
label: this.label,
|
|
72
|
-
type: this.type,
|
|
73
|
-
isReadonly: this.isReadonly,
|
|
74
|
-
priority: this.priority,
|
|
75
|
-
renderer: this.renderer,
|
|
76
|
-
editor: this.editor,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
/** Serialize this object to compressed JSON */
|
|
80
|
-
toCompressedJSON(classesMap) {
|
|
81
|
-
if (this.isPropertiesField())
|
|
82
|
-
return {
|
|
83
|
-
...this.toJSON(),
|
|
84
|
-
properties: this.properties.map((property) => Property.toCompressedJSON(property, classesMap)),
|
|
85
|
-
};
|
|
86
|
-
if (this.isNestedContentField()) {
|
|
87
|
-
const { id, ...leftOverInfo } = this.contentClassInfo;
|
|
88
|
-
classesMap[id] = leftOverInfo;
|
|
89
|
-
return {
|
|
90
|
-
...this.toJSON(),
|
|
91
|
-
contentClassInfo: id,
|
|
92
|
-
pathToPrimaryClass: this.pathToPrimaryClass.map((classInfo) => RelatedClassInfo.toCompressedJSON(classInfo, classesMap)),
|
|
93
|
-
nestedFields: this.nestedFields.map((field) => field.toCompressedJSON(classesMap)),
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
return this.toJSON();
|
|
97
|
-
}
|
|
98
|
-
/** Deserialize [[Field]] from JSON */
|
|
99
|
-
static fromJSON(json, categories) {
|
|
100
|
-
if (!json)
|
|
101
|
-
return undefined;
|
|
102
|
-
if (isPropertiesField(json))
|
|
103
|
-
return PropertiesField.fromJSON(json, categories);
|
|
104
|
-
if (isNestedContentField(json))
|
|
105
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
106
|
-
return NestedContentField.fromJSON(json, categories);
|
|
107
|
-
const field = Object.create(Field.prototype);
|
|
108
|
-
return Object.assign(field, json, {
|
|
109
|
-
category: Field.getCategoryFromFieldJson(json, categories),
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
/** Deserialize a [[Field]] from compressed JSON. */
|
|
113
|
-
static fromCompressedJSON(json, classesMap, categories) {
|
|
114
|
-
if (!json)
|
|
115
|
-
return undefined;
|
|
116
|
-
if (isPropertiesField(json))
|
|
117
|
-
return PropertiesField.fromCompressedJSON(json, classesMap, categories);
|
|
118
|
-
if (isNestedContentField(json))
|
|
119
|
-
return NestedContentField.fromCompressedJSON(json, classesMap, categories);
|
|
120
|
-
const field = Object.create(Field.prototype);
|
|
121
|
-
return Object.assign(field, json, {
|
|
122
|
-
category: Field.getCategoryFromFieldJson(json, categories),
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
static getCategoryFromFieldJson(fieldJson, categories) {
|
|
126
|
-
const category = categories.find((c) => c.name === fieldJson.category);
|
|
127
|
-
if (!category)
|
|
128
|
-
throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid content field category`);
|
|
129
|
-
return category;
|
|
130
|
-
}
|
|
131
|
-
/** Resets field's parent. */
|
|
132
|
-
resetParentship() {
|
|
133
|
-
this._parent = undefined;
|
|
134
|
-
}
|
|
135
|
-
/** Sets provided [[NestedContentField]] as parent of this field. */
|
|
136
|
-
rebuildParentship(parentField) {
|
|
137
|
-
this._parent = parentField;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Get descriptor for this field.
|
|
141
|
-
* @public
|
|
142
|
-
*/
|
|
143
|
-
getFieldDescriptor() {
|
|
144
|
-
return {
|
|
145
|
-
type: FieldDescriptorType.Name,
|
|
146
|
-
fieldName: this.name,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Describes a content field that's based on one or more similar
|
|
152
|
-
* EC properties.
|
|
153
|
-
*
|
|
154
|
-
* @public
|
|
155
|
-
*/
|
|
156
|
-
export class PropertiesField extends Field {
|
|
157
|
-
/**
|
|
158
|
-
* Creates an instance of PropertiesField.
|
|
159
|
-
* @param category Category information
|
|
160
|
-
* @param name Unique name
|
|
161
|
-
* @param label Display label
|
|
162
|
-
* @param type Description of this field's values data type
|
|
163
|
-
* @param isReadonly Are values in this field read-only
|
|
164
|
-
* @param priority Priority of the field
|
|
165
|
-
* @param properties A list of properties this field is created from
|
|
166
|
-
* @param editor Property editor used to edit values of this field
|
|
167
|
-
* @param renderer Property renderer used to render values of this field
|
|
168
|
-
*/
|
|
169
|
-
constructor(category, name, label, description, isReadonly, priority, properties, editor, renderer) {
|
|
170
|
-
super(category, name, label, description, isReadonly, priority, editor, renderer);
|
|
171
|
-
this.properties = properties;
|
|
172
|
-
}
|
|
173
|
-
clone() {
|
|
174
|
-
const clone = new PropertiesField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
|
|
175
|
-
clone.rebuildParentship(this.parent);
|
|
176
|
-
return clone;
|
|
177
|
-
}
|
|
178
|
-
/** Serialize this object to JSON */
|
|
179
|
-
toJSON() {
|
|
180
|
-
return {
|
|
181
|
-
...super.toJSON(),
|
|
182
|
-
properties: this.properties,
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
/** Deserialize [[PropertiesField]] from JSON */
|
|
186
|
-
static fromJSON(json, categories) {
|
|
187
|
-
if (!json)
|
|
188
|
-
return undefined;
|
|
189
|
-
const field = Object.create(PropertiesField.prototype);
|
|
190
|
-
return Object.assign(field, json, {
|
|
191
|
-
category: this.getCategoryFromFieldJson(json, categories),
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Deserialize a [[PropertiesField]] from compressed JSON.
|
|
196
|
-
* @public
|
|
197
|
-
*/
|
|
198
|
-
static fromCompressedJSON(json, classesMap, categories) {
|
|
199
|
-
const field = Object.create(PropertiesField.prototype);
|
|
200
|
-
return Object.assign(field, json, {
|
|
201
|
-
category: this.getCategoryFromFieldJson(json, categories),
|
|
202
|
-
properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Get descriptor for this field.
|
|
207
|
-
* @public
|
|
208
|
-
*/
|
|
209
|
-
getFieldDescriptor() {
|
|
210
|
-
const pathFromPropertyToSelectClass = new Array();
|
|
211
|
-
let currAncestor = this.parent;
|
|
212
|
-
while (currAncestor) {
|
|
213
|
-
pathFromPropertyToSelectClass.push(...currAncestor.pathToPrimaryClass);
|
|
214
|
-
currAncestor = currAncestor.parent;
|
|
215
|
-
}
|
|
216
|
-
return {
|
|
217
|
-
type: FieldDescriptorType.Properties,
|
|
218
|
-
pathFromSelectToPropertyClass: RelationshipPath.strip(RelationshipPath.reverse(pathFromPropertyToSelectClass)),
|
|
219
|
-
properties: this.properties.map((p) => ({
|
|
220
|
-
class: p.property.classInfo.name,
|
|
221
|
-
name: p.property.name,
|
|
222
|
-
})),
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Describes a content field that contains [Nested content]($docs/presentation/content/Terminology#nested-content).
|
|
228
|
-
*
|
|
229
|
-
* @public
|
|
230
|
-
*/
|
|
231
|
-
export class NestedContentField extends Field {
|
|
232
|
-
/**
|
|
233
|
-
* Creates an instance of NestedContentField.
|
|
234
|
-
* @param category Category information
|
|
235
|
-
* @param name Unique name
|
|
236
|
-
* @param label Display label
|
|
237
|
-
* @param type Description of this field's values data type
|
|
238
|
-
* @param isReadonly Are values in this field read-only
|
|
239
|
-
* @param priority Priority of the field
|
|
240
|
-
* @param contentClassInfo Information about an ECClass whose properties are nested inside this field
|
|
241
|
-
* @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)
|
|
242
|
-
* @param nestedFields Contained nested fields
|
|
243
|
-
* @param editor Property editor used to edit values of this field
|
|
244
|
-
* @param autoExpand Flag specifying whether field should be expanded
|
|
245
|
-
* @param relationshipMeaning RelationshipMeaning of the field
|
|
246
|
-
* @param renderer Property renderer used to render values of this field
|
|
247
|
-
*/
|
|
248
|
-
constructor(category, name, label, description, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
|
|
249
|
-
super(category, name, label, description, isReadonly, priority, editor, renderer);
|
|
250
|
-
this.contentClassInfo = contentClassInfo;
|
|
251
|
-
this.pathToPrimaryClass = pathToPrimaryClass;
|
|
252
|
-
this.relationshipMeaning = RelationshipMeaning.RelatedInstance;
|
|
253
|
-
this.nestedFields = nestedFields;
|
|
254
|
-
this.autoExpand = autoExpand;
|
|
255
|
-
this.actualPrimaryClassIds = [];
|
|
256
|
-
}
|
|
257
|
-
clone() {
|
|
258
|
-
const clone = new NestedContentField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.contentClassInfo, this.pathToPrimaryClass, this.nestedFields.map((n) => n.clone()), this.editor, this.autoExpand, this.renderer);
|
|
259
|
-
clone.actualPrimaryClassIds = this.actualPrimaryClassIds;
|
|
260
|
-
clone.relationshipMeaning = this.relationshipMeaning;
|
|
261
|
-
clone.rebuildParentship(this.parent);
|
|
262
|
-
return clone;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Get field by its name
|
|
266
|
-
* @param name Name of the field to find
|
|
267
|
-
* @param recurse Recurse into nested fields
|
|
268
|
-
*/
|
|
269
|
-
getFieldByName(name, recurse) {
|
|
270
|
-
return getFieldByName(this.nestedFields, name, recurse);
|
|
271
|
-
}
|
|
272
|
-
/** Serialize this object to JSON */
|
|
273
|
-
toJSON() {
|
|
274
|
-
return {
|
|
275
|
-
...super.toJSON(),
|
|
276
|
-
contentClassInfo: this.contentClassInfo,
|
|
277
|
-
pathToPrimaryClass: this.pathToPrimaryClass,
|
|
278
|
-
relationshipMeaning: this.relationshipMeaning,
|
|
279
|
-
actualPrimaryClassIds: this.actualPrimaryClassIds,
|
|
280
|
-
nestedFields: this.nestedFields.map((field) => field.toJSON()),
|
|
281
|
-
autoExpand: this.autoExpand,
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
/**
|
|
285
|
-
* Deserialize [[NestedContentField]] from JSON
|
|
286
|
-
* @deprecated in 3.x. Use [[NestedContentField.fromCompressedJSON]]
|
|
287
|
-
*/
|
|
288
|
-
static fromJSON(json, categories) {
|
|
289
|
-
if (!json)
|
|
290
|
-
return undefined;
|
|
291
|
-
const field = Object.create(NestedContentField.prototype);
|
|
292
|
-
return Object.assign(field, json, this.fromCommonJSON(json, categories), {
|
|
293
|
-
nestedFields: json.nestedFields
|
|
294
|
-
.map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
|
|
295
|
-
.filter((nestedField) => !!nestedField),
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
/** Deserialize a [[NestedContentField]] from compressed JSON. */
|
|
299
|
-
static fromCompressedJSON(json, classesMap, categories) {
|
|
300
|
-
assert(classesMap.hasOwnProperty(json.contentClassInfo));
|
|
301
|
-
const field = Object.create(NestedContentField.prototype);
|
|
302
|
-
return Object.assign(field, json, this.fromCommonJSON(json, categories), {
|
|
303
|
-
category: this.getCategoryFromFieldJson(json, categories),
|
|
304
|
-
nestedFields: json.nestedFields.map((nestedFieldJson) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))
|
|
305
|
-
.filter((nestedField) => !!nestedField),
|
|
306
|
-
contentClassInfo: { id: json.contentClassInfo, ...classesMap[json.contentClassInfo] },
|
|
307
|
-
pathToPrimaryClass: json.pathToPrimaryClass.map((stepJson) => RelatedClassInfo.fromCompressedJSON(stepJson, classesMap)),
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
311
|
-
static fromCommonJSON(json, categories) {
|
|
312
|
-
return {
|
|
313
|
-
category: this.getCategoryFromFieldJson(json, categories),
|
|
314
|
-
relationshipMeaning: json.relationshipMeaning ?? RelationshipMeaning.RelatedInstance,
|
|
315
|
-
actualPrimaryClassIds: json.actualPrimaryClassIds ?? [],
|
|
316
|
-
autoExpand: json.autoExpand,
|
|
317
|
-
};
|
|
318
|
-
}
|
|
319
|
-
/** Resets parent of this field and all nested fields. */
|
|
320
|
-
resetParentship() {
|
|
321
|
-
super.resetParentship();
|
|
322
|
-
for (const nestedField of this.nestedFields)
|
|
323
|
-
nestedField.resetParentship();
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Sets provided [[NestedContentField]] as parent of this fields and recursively updates
|
|
327
|
-
* all nested fields parents.
|
|
328
|
-
*/
|
|
329
|
-
rebuildParentship(parentField) {
|
|
330
|
-
super.rebuildParentship(parentField);
|
|
331
|
-
for (const nestedField of this.nestedFields)
|
|
332
|
-
nestedField.rebuildParentship(this);
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
/** @internal */
|
|
336
|
-
export const getFieldByName = (fields, name, recurse) => {
|
|
337
|
-
if (name) {
|
|
338
|
-
for (const field of fields) {
|
|
339
|
-
if (field.name === name)
|
|
340
|
-
return field;
|
|
341
|
-
if (recurse && field.isNestedContentField()) {
|
|
342
|
-
const nested = getFieldByName(field.nestedFields, name, recurse);
|
|
343
|
-
if (nested)
|
|
344
|
-
return nested;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
return undefined;
|
|
349
|
-
};
|
|
350
|
-
/**
|
|
351
|
-
* Types of different field descriptors.
|
|
352
|
-
* @public
|
|
353
|
-
*/
|
|
354
|
-
export var FieldDescriptorType;
|
|
355
|
-
(function (FieldDescriptorType) {
|
|
356
|
-
FieldDescriptorType["Name"] = "name";
|
|
357
|
-
FieldDescriptorType["Properties"] = "properties";
|
|
358
|
-
})(FieldDescriptorType || (FieldDescriptorType = {}));
|
|
359
|
-
/** @public */
|
|
360
|
-
export var FieldDescriptor;
|
|
361
|
-
(function (FieldDescriptor) {
|
|
362
|
-
/** Is this a named field descriptor */
|
|
363
|
-
function isNamed(d) {
|
|
364
|
-
return d.type === FieldDescriptorType.Name;
|
|
365
|
-
}
|
|
366
|
-
FieldDescriptor.isNamed = isNamed;
|
|
367
|
-
/** Is this a properties field descriptor */
|
|
368
|
-
function isProperties(d) {
|
|
369
|
-
return d.type === FieldDescriptorType.Properties;
|
|
370
|
-
}
|
|
371
|
-
FieldDescriptor.isProperties = isProperties;
|
|
372
|
-
})(FieldDescriptor || (FieldDescriptor = {}));
|
|
373
|
-
function fromCompressedPropertyJSON(compressedPropertyJSON, classesMap) {
|
|
374
|
-
return {
|
|
375
|
-
property: fromCompressedPropertyInfoJSON(compressedPropertyJSON.property, classesMap),
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
function fromCompressedPropertyInfoJSON(compressedPropertyJSON, classesMap) {
|
|
379
|
-
assert(classesMap.hasOwnProperty(compressedPropertyJSON.classInfo));
|
|
380
|
-
const { navigationPropertyInfo, ...leftOverPropertyJSON } = compressedPropertyJSON;
|
|
381
|
-
return {
|
|
382
|
-
...leftOverPropertyJSON,
|
|
383
|
-
classInfo: { id: compressedPropertyJSON.classInfo, ...classesMap[compressedPropertyJSON.classInfo] },
|
|
384
|
-
...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.fromCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),
|
|
385
|
-
};
|
|
386
|
-
}
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module Content
|
|
7
|
+
*/
|
|
8
|
+
import { assert } from "@itwin/core-bentley";
|
|
9
|
+
import { NavigationPropertyInfo, RelatedClassInfo, RelationshipPath, } from "../EC";
|
|
10
|
+
import { PresentationError, PresentationStatus } from "../Error";
|
|
11
|
+
import { RelationshipMeaning } from "../rules/content/modifiers/RelatedPropertiesSpecification";
|
|
12
|
+
import { Property } from "./Property";
|
|
13
|
+
/** Is supplied field a properties field. */
|
|
14
|
+
const isPropertiesField = (field) => {
|
|
15
|
+
return !!field.properties;
|
|
16
|
+
};
|
|
17
|
+
/** Is supplied field a nested content field. */
|
|
18
|
+
const isNestedContentField = (field) => {
|
|
19
|
+
return !!field.nestedFields;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Describes a single content field. A field is usually represented as a grid column
|
|
23
|
+
* or a property pane row.
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export class Field {
|
|
28
|
+
/**
|
|
29
|
+
* Creates an instance of Field.
|
|
30
|
+
* @param category Category information
|
|
31
|
+
* @param name Unique name
|
|
32
|
+
* @param label Display label
|
|
33
|
+
* @param type Description of this field's values data type
|
|
34
|
+
* @param isReadonly Are values in this field read-only
|
|
35
|
+
* @param priority Priority of the field
|
|
36
|
+
* @param editor Property editor used to edit values of this field
|
|
37
|
+
* @param renderer Property renderer used to render values of this field
|
|
38
|
+
*/
|
|
39
|
+
constructor(category, name, label, type, isReadonly, priority, editor, renderer) {
|
|
40
|
+
this.category = category;
|
|
41
|
+
this.name = name;
|
|
42
|
+
this.label = label;
|
|
43
|
+
this.type = type;
|
|
44
|
+
this.isReadonly = isReadonly;
|
|
45
|
+
this.priority = priority;
|
|
46
|
+
this.editor = editor;
|
|
47
|
+
this.renderer = renderer;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Is this a [[PropertiesField]]
|
|
51
|
+
*/
|
|
52
|
+
isPropertiesField() { return isPropertiesField(this); }
|
|
53
|
+
/**
|
|
54
|
+
* Is this a [[NestedContentField]]
|
|
55
|
+
*/
|
|
56
|
+
isNestedContentField() { return isNestedContentField(this); }
|
|
57
|
+
/**
|
|
58
|
+
* Get parent
|
|
59
|
+
*/
|
|
60
|
+
get parent() { return this._parent; }
|
|
61
|
+
clone() {
|
|
62
|
+
const clone = new Field(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.editor, this.renderer);
|
|
63
|
+
clone.rebuildParentship(this.parent);
|
|
64
|
+
return clone;
|
|
65
|
+
}
|
|
66
|
+
/** Serialize this object to JSON */
|
|
67
|
+
toJSON() {
|
|
68
|
+
return {
|
|
69
|
+
category: this.category.name,
|
|
70
|
+
name: this.name,
|
|
71
|
+
label: this.label,
|
|
72
|
+
type: this.type,
|
|
73
|
+
isReadonly: this.isReadonly,
|
|
74
|
+
priority: this.priority,
|
|
75
|
+
renderer: this.renderer,
|
|
76
|
+
editor: this.editor,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/** Serialize this object to compressed JSON */
|
|
80
|
+
toCompressedJSON(classesMap) {
|
|
81
|
+
if (this.isPropertiesField())
|
|
82
|
+
return {
|
|
83
|
+
...this.toJSON(),
|
|
84
|
+
properties: this.properties.map((property) => Property.toCompressedJSON(property, classesMap)),
|
|
85
|
+
};
|
|
86
|
+
if (this.isNestedContentField()) {
|
|
87
|
+
const { id, ...leftOverInfo } = this.contentClassInfo;
|
|
88
|
+
classesMap[id] = leftOverInfo;
|
|
89
|
+
return {
|
|
90
|
+
...this.toJSON(),
|
|
91
|
+
contentClassInfo: id,
|
|
92
|
+
pathToPrimaryClass: this.pathToPrimaryClass.map((classInfo) => RelatedClassInfo.toCompressedJSON(classInfo, classesMap)),
|
|
93
|
+
nestedFields: this.nestedFields.map((field) => field.toCompressedJSON(classesMap)),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return this.toJSON();
|
|
97
|
+
}
|
|
98
|
+
/** Deserialize [[Field]] from JSON */
|
|
99
|
+
static fromJSON(json, categories) {
|
|
100
|
+
if (!json)
|
|
101
|
+
return undefined;
|
|
102
|
+
if (isPropertiesField(json))
|
|
103
|
+
return PropertiesField.fromJSON(json, categories);
|
|
104
|
+
if (isNestedContentField(json))
|
|
105
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
106
|
+
return NestedContentField.fromJSON(json, categories);
|
|
107
|
+
const field = Object.create(Field.prototype);
|
|
108
|
+
return Object.assign(field, json, {
|
|
109
|
+
category: Field.getCategoryFromFieldJson(json, categories),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/** Deserialize a [[Field]] from compressed JSON. */
|
|
113
|
+
static fromCompressedJSON(json, classesMap, categories) {
|
|
114
|
+
if (!json)
|
|
115
|
+
return undefined;
|
|
116
|
+
if (isPropertiesField(json))
|
|
117
|
+
return PropertiesField.fromCompressedJSON(json, classesMap, categories);
|
|
118
|
+
if (isNestedContentField(json))
|
|
119
|
+
return NestedContentField.fromCompressedJSON(json, classesMap, categories);
|
|
120
|
+
const field = Object.create(Field.prototype);
|
|
121
|
+
return Object.assign(field, json, {
|
|
122
|
+
category: Field.getCategoryFromFieldJson(json, categories),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
static getCategoryFromFieldJson(fieldJson, categories) {
|
|
126
|
+
const category = categories.find((c) => c.name === fieldJson.category);
|
|
127
|
+
if (!category)
|
|
128
|
+
throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid content field category`);
|
|
129
|
+
return category;
|
|
130
|
+
}
|
|
131
|
+
/** Resets field's parent. */
|
|
132
|
+
resetParentship() {
|
|
133
|
+
this._parent = undefined;
|
|
134
|
+
}
|
|
135
|
+
/** Sets provided [[NestedContentField]] as parent of this field. */
|
|
136
|
+
rebuildParentship(parentField) {
|
|
137
|
+
this._parent = parentField;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get descriptor for this field.
|
|
141
|
+
* @public
|
|
142
|
+
*/
|
|
143
|
+
getFieldDescriptor() {
|
|
144
|
+
return {
|
|
145
|
+
type: FieldDescriptorType.Name,
|
|
146
|
+
fieldName: this.name,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Describes a content field that's based on one or more similar
|
|
152
|
+
* EC properties.
|
|
153
|
+
*
|
|
154
|
+
* @public
|
|
155
|
+
*/
|
|
156
|
+
export class PropertiesField extends Field {
|
|
157
|
+
/**
|
|
158
|
+
* Creates an instance of PropertiesField.
|
|
159
|
+
* @param category Category information
|
|
160
|
+
* @param name Unique name
|
|
161
|
+
* @param label Display label
|
|
162
|
+
* @param type Description of this field's values data type
|
|
163
|
+
* @param isReadonly Are values in this field read-only
|
|
164
|
+
* @param priority Priority of the field
|
|
165
|
+
* @param properties A list of properties this field is created from
|
|
166
|
+
* @param editor Property editor used to edit values of this field
|
|
167
|
+
* @param renderer Property renderer used to render values of this field
|
|
168
|
+
*/
|
|
169
|
+
constructor(category, name, label, description, isReadonly, priority, properties, editor, renderer) {
|
|
170
|
+
super(category, name, label, description, isReadonly, priority, editor, renderer);
|
|
171
|
+
this.properties = properties;
|
|
172
|
+
}
|
|
173
|
+
clone() {
|
|
174
|
+
const clone = new PropertiesField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
|
|
175
|
+
clone.rebuildParentship(this.parent);
|
|
176
|
+
return clone;
|
|
177
|
+
}
|
|
178
|
+
/** Serialize this object to JSON */
|
|
179
|
+
toJSON() {
|
|
180
|
+
return {
|
|
181
|
+
...super.toJSON(),
|
|
182
|
+
properties: this.properties,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
/** Deserialize [[PropertiesField]] from JSON */
|
|
186
|
+
static fromJSON(json, categories) {
|
|
187
|
+
if (!json)
|
|
188
|
+
return undefined;
|
|
189
|
+
const field = Object.create(PropertiesField.prototype);
|
|
190
|
+
return Object.assign(field, json, {
|
|
191
|
+
category: this.getCategoryFromFieldJson(json, categories),
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Deserialize a [[PropertiesField]] from compressed JSON.
|
|
196
|
+
* @public
|
|
197
|
+
*/
|
|
198
|
+
static fromCompressedJSON(json, classesMap, categories) {
|
|
199
|
+
const field = Object.create(PropertiesField.prototype);
|
|
200
|
+
return Object.assign(field, json, {
|
|
201
|
+
category: this.getCategoryFromFieldJson(json, categories),
|
|
202
|
+
properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Get descriptor for this field.
|
|
207
|
+
* @public
|
|
208
|
+
*/
|
|
209
|
+
getFieldDescriptor() {
|
|
210
|
+
const pathFromPropertyToSelectClass = new Array();
|
|
211
|
+
let currAncestor = this.parent;
|
|
212
|
+
while (currAncestor) {
|
|
213
|
+
pathFromPropertyToSelectClass.push(...currAncestor.pathToPrimaryClass);
|
|
214
|
+
currAncestor = currAncestor.parent;
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
type: FieldDescriptorType.Properties,
|
|
218
|
+
pathFromSelectToPropertyClass: RelationshipPath.strip(RelationshipPath.reverse(pathFromPropertyToSelectClass)),
|
|
219
|
+
properties: this.properties.map((p) => ({
|
|
220
|
+
class: p.property.classInfo.name,
|
|
221
|
+
name: p.property.name,
|
|
222
|
+
})),
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Describes a content field that contains [Nested content]($docs/presentation/content/Terminology#nested-content).
|
|
228
|
+
*
|
|
229
|
+
* @public
|
|
230
|
+
*/
|
|
231
|
+
export class NestedContentField extends Field {
|
|
232
|
+
/**
|
|
233
|
+
* Creates an instance of NestedContentField.
|
|
234
|
+
* @param category Category information
|
|
235
|
+
* @param name Unique name
|
|
236
|
+
* @param label Display label
|
|
237
|
+
* @param type Description of this field's values data type
|
|
238
|
+
* @param isReadonly Are values in this field read-only
|
|
239
|
+
* @param priority Priority of the field
|
|
240
|
+
* @param contentClassInfo Information about an ECClass whose properties are nested inside this field
|
|
241
|
+
* @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)
|
|
242
|
+
* @param nestedFields Contained nested fields
|
|
243
|
+
* @param editor Property editor used to edit values of this field
|
|
244
|
+
* @param autoExpand Flag specifying whether field should be expanded
|
|
245
|
+
* @param relationshipMeaning RelationshipMeaning of the field
|
|
246
|
+
* @param renderer Property renderer used to render values of this field
|
|
247
|
+
*/
|
|
248
|
+
constructor(category, name, label, description, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
|
|
249
|
+
super(category, name, label, description, isReadonly, priority, editor, renderer);
|
|
250
|
+
this.contentClassInfo = contentClassInfo;
|
|
251
|
+
this.pathToPrimaryClass = pathToPrimaryClass;
|
|
252
|
+
this.relationshipMeaning = RelationshipMeaning.RelatedInstance;
|
|
253
|
+
this.nestedFields = nestedFields;
|
|
254
|
+
this.autoExpand = autoExpand;
|
|
255
|
+
this.actualPrimaryClassIds = [];
|
|
256
|
+
}
|
|
257
|
+
clone() {
|
|
258
|
+
const clone = new NestedContentField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.contentClassInfo, this.pathToPrimaryClass, this.nestedFields.map((n) => n.clone()), this.editor, this.autoExpand, this.renderer);
|
|
259
|
+
clone.actualPrimaryClassIds = this.actualPrimaryClassIds;
|
|
260
|
+
clone.relationshipMeaning = this.relationshipMeaning;
|
|
261
|
+
clone.rebuildParentship(this.parent);
|
|
262
|
+
return clone;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Get field by its name
|
|
266
|
+
* @param name Name of the field to find
|
|
267
|
+
* @param recurse Recurse into nested fields
|
|
268
|
+
*/
|
|
269
|
+
getFieldByName(name, recurse) {
|
|
270
|
+
return getFieldByName(this.nestedFields, name, recurse);
|
|
271
|
+
}
|
|
272
|
+
/** Serialize this object to JSON */
|
|
273
|
+
toJSON() {
|
|
274
|
+
return {
|
|
275
|
+
...super.toJSON(),
|
|
276
|
+
contentClassInfo: this.contentClassInfo,
|
|
277
|
+
pathToPrimaryClass: this.pathToPrimaryClass,
|
|
278
|
+
relationshipMeaning: this.relationshipMeaning,
|
|
279
|
+
actualPrimaryClassIds: this.actualPrimaryClassIds,
|
|
280
|
+
nestedFields: this.nestedFields.map((field) => field.toJSON()),
|
|
281
|
+
autoExpand: this.autoExpand,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Deserialize [[NestedContentField]] from JSON
|
|
286
|
+
* @deprecated in 3.x. Use [[NestedContentField.fromCompressedJSON]]
|
|
287
|
+
*/
|
|
288
|
+
static fromJSON(json, categories) {
|
|
289
|
+
if (!json)
|
|
290
|
+
return undefined;
|
|
291
|
+
const field = Object.create(NestedContentField.prototype);
|
|
292
|
+
return Object.assign(field, json, this.fromCommonJSON(json, categories), {
|
|
293
|
+
nestedFields: json.nestedFields
|
|
294
|
+
.map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
|
|
295
|
+
.filter((nestedField) => !!nestedField),
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
/** Deserialize a [[NestedContentField]] from compressed JSON. */
|
|
299
|
+
static fromCompressedJSON(json, classesMap, categories) {
|
|
300
|
+
assert(classesMap.hasOwnProperty(json.contentClassInfo));
|
|
301
|
+
const field = Object.create(NestedContentField.prototype);
|
|
302
|
+
return Object.assign(field, json, this.fromCommonJSON(json, categories), {
|
|
303
|
+
category: this.getCategoryFromFieldJson(json, categories),
|
|
304
|
+
nestedFields: json.nestedFields.map((nestedFieldJson) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))
|
|
305
|
+
.filter((nestedField) => !!nestedField),
|
|
306
|
+
contentClassInfo: { id: json.contentClassInfo, ...classesMap[json.contentClassInfo] },
|
|
307
|
+
pathToPrimaryClass: json.pathToPrimaryClass.map((stepJson) => RelatedClassInfo.fromCompressedJSON(stepJson, classesMap)),
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
311
|
+
static fromCommonJSON(json, categories) {
|
|
312
|
+
return {
|
|
313
|
+
category: this.getCategoryFromFieldJson(json, categories),
|
|
314
|
+
relationshipMeaning: json.relationshipMeaning ?? RelationshipMeaning.RelatedInstance,
|
|
315
|
+
actualPrimaryClassIds: json.actualPrimaryClassIds ?? [],
|
|
316
|
+
autoExpand: json.autoExpand,
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
/** Resets parent of this field and all nested fields. */
|
|
320
|
+
resetParentship() {
|
|
321
|
+
super.resetParentship();
|
|
322
|
+
for (const nestedField of this.nestedFields)
|
|
323
|
+
nestedField.resetParentship();
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Sets provided [[NestedContentField]] as parent of this fields and recursively updates
|
|
327
|
+
* all nested fields parents.
|
|
328
|
+
*/
|
|
329
|
+
rebuildParentship(parentField) {
|
|
330
|
+
super.rebuildParentship(parentField);
|
|
331
|
+
for (const nestedField of this.nestedFields)
|
|
332
|
+
nestedField.rebuildParentship(this);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/** @internal */
|
|
336
|
+
export const getFieldByName = (fields, name, recurse) => {
|
|
337
|
+
if (name) {
|
|
338
|
+
for (const field of fields) {
|
|
339
|
+
if (field.name === name)
|
|
340
|
+
return field;
|
|
341
|
+
if (recurse && field.isNestedContentField()) {
|
|
342
|
+
const nested = getFieldByName(field.nestedFields, name, recurse);
|
|
343
|
+
if (nested)
|
|
344
|
+
return nested;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
return undefined;
|
|
349
|
+
};
|
|
350
|
+
/**
|
|
351
|
+
* Types of different field descriptors.
|
|
352
|
+
* @public
|
|
353
|
+
*/
|
|
354
|
+
export var FieldDescriptorType;
|
|
355
|
+
(function (FieldDescriptorType) {
|
|
356
|
+
FieldDescriptorType["Name"] = "name";
|
|
357
|
+
FieldDescriptorType["Properties"] = "properties";
|
|
358
|
+
})(FieldDescriptorType || (FieldDescriptorType = {}));
|
|
359
|
+
/** @public */
|
|
360
|
+
export var FieldDescriptor;
|
|
361
|
+
(function (FieldDescriptor) {
|
|
362
|
+
/** Is this a named field descriptor */
|
|
363
|
+
function isNamed(d) {
|
|
364
|
+
return d.type === FieldDescriptorType.Name;
|
|
365
|
+
}
|
|
366
|
+
FieldDescriptor.isNamed = isNamed;
|
|
367
|
+
/** Is this a properties field descriptor */
|
|
368
|
+
function isProperties(d) {
|
|
369
|
+
return d.type === FieldDescriptorType.Properties;
|
|
370
|
+
}
|
|
371
|
+
FieldDescriptor.isProperties = isProperties;
|
|
372
|
+
})(FieldDescriptor || (FieldDescriptor = {}));
|
|
373
|
+
function fromCompressedPropertyJSON(compressedPropertyJSON, classesMap) {
|
|
374
|
+
return {
|
|
375
|
+
property: fromCompressedPropertyInfoJSON(compressedPropertyJSON.property, classesMap),
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
function fromCompressedPropertyInfoJSON(compressedPropertyJSON, classesMap) {
|
|
379
|
+
assert(classesMap.hasOwnProperty(compressedPropertyJSON.classInfo));
|
|
380
|
+
const { navigationPropertyInfo, ...leftOverPropertyJSON } = compressedPropertyJSON;
|
|
381
|
+
return {
|
|
382
|
+
...leftOverPropertyJSON,
|
|
383
|
+
classInfo: { id: compressedPropertyJSON.classInfo, ...classesMap[compressedPropertyJSON.classInfo] },
|
|
384
|
+
...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.fromCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
387
|
//# sourceMappingURL=Fields.js.map
|