@itwin/grouping-mapping-widget 0.25.2 → 0.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/LICENSE.md +9 -9
  2. package/README.md +115 -115
  3. package/lib/cjs/WidgetShell/GroupingMapping.d.ts +5 -5
  4. package/lib/cjs/WidgetShell/GroupingMapping.js +2 -4
  5. package/lib/cjs/WidgetShell/GroupingMapping.js.map +1 -1
  6. package/lib/cjs/WidgetShell/GroupingMappingContent.js +4 -4
  7. package/lib/cjs/WidgetShell/GroupingMappingContent.js.map +1 -1
  8. package/lib/cjs/WidgetShell/GroupingMappingHeader.d.ts +1 -1
  9. package/lib/cjs/WidgetShell/GroupingMappingHeader.js +5 -5
  10. package/lib/cjs/WidgetShell/GroupingMappingHeader.js.map +1 -1
  11. package/lib/cjs/WidgetShell/GroupingMappingWidget.d.ts +4 -0
  12. package/lib/cjs/WidgetShell/GroupingMappingWidget.js +5 -3
  13. package/lib/cjs/WidgetShell/GroupingMappingWidget.js.map +1 -1
  14. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js +28 -8
  15. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  16. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
  17. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
  18. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
  19. package/lib/cjs/common/hooks/useIsMounted.js +3 -3
  20. package/lib/cjs/common/hooks/useIsMounted.js.map +1 -1
  21. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js +3 -3
  22. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js.map +1 -1
  23. package/lib/cjs/common/utils.js +3 -3
  24. package/lib/cjs/common/utils.js.map +1 -1
  25. package/lib/cjs/common/viewerUtils.js +2 -2
  26. package/lib/cjs/common/viewerUtils.js.map +1 -1
  27. package/lib/cjs/components/Constants.js +4 -4
  28. package/lib/cjs/components/Constants.js.map +1 -1
  29. package/lib/cjs/components/GroupingMappingContext.d.ts +19 -3
  30. package/lib/cjs/components/GroupingMappingContext.js +40 -13
  31. package/lib/cjs/components/GroupingMappingContext.js.map +1 -1
  32. package/lib/cjs/components/Groups/Editing/GroupAction.d.ts +10 -2
  33. package/lib/cjs/components/Groups/Editing/GroupAction.js +16 -14
  34. package/lib/cjs/components/Groups/Editing/GroupAction.js.map +1 -1
  35. package/lib/cjs/components/Groups/Editing/GroupDetails.d.ts +1 -1
  36. package/lib/cjs/components/Groups/Editing/GroupDetails.js +5 -7
  37. package/lib/cjs/components/Groups/Editing/GroupDetails.js.map +1 -1
  38. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  39. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
  40. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  41. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js +4 -4
  42. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
  43. package/lib/cjs/components/Groups/GroupColorLegend.d.ts +3 -3
  44. package/lib/cjs/components/Groups/GroupColorLegend.js +3 -3
  45. package/lib/cjs/components/Groups/GroupColorLegend.js.map +1 -1
  46. package/lib/cjs/components/Groups/GroupListItem.d.ts +4 -4
  47. package/lib/cjs/components/Groups/GroupListItem.js +6 -4
  48. package/lib/cjs/components/Groups/GroupListItem.js.map +1 -1
  49. package/lib/cjs/components/Groups/GroupListItem.scss +14 -0
  50. package/lib/cjs/components/Groups/GroupMenuActions.d.ts +4 -4
  51. package/lib/cjs/components/Groups/GroupMenuActions.js +17 -6
  52. package/lib/cjs/components/Groups/GroupMenuActions.js.map +1 -1
  53. package/lib/cjs/components/Groups/GroupMenuActions.scss +2 -0
  54. package/lib/cjs/components/Groups/GroupOverlapProgressBar.d.ts +2 -2
  55. package/lib/cjs/components/Groups/GroupOverlapProgressBar.js.map +1 -1
  56. package/lib/cjs/components/Groups/Groups.d.ts +12 -4
  57. package/lib/cjs/components/Groups/Groups.js +7 -3
  58. package/lib/cjs/components/Groups/Groups.js.map +1 -1
  59. package/lib/cjs/components/Groups/GroupsAddButton.d.ts +1 -1
  60. package/lib/cjs/components/Groups/GroupsAddButton.js +4 -4
  61. package/lib/cjs/components/Groups/GroupsAddButton.js.map +1 -1
  62. package/lib/cjs/components/Groups/GroupsAddButton.scss +1 -1
  63. package/lib/cjs/components/Groups/GroupsShowHideButtons.d.ts +5 -5
  64. package/lib/cjs/components/Groups/GroupsShowHideButtons.js +2 -2
  65. package/lib/cjs/components/Groups/GroupsShowHideButtons.js.map +1 -1
  66. package/lib/cjs/components/Groups/GroupsView.d.ts +19 -11
  67. package/lib/cjs/components/Groups/GroupsView.js +12 -10
  68. package/lib/cjs/components/Groups/GroupsView.js.map +1 -1
  69. package/lib/cjs/components/Groups/GroupsView.scss +1 -1
  70. package/lib/cjs/components/Groups/GroupsVisualization.d.ts +8 -0
  71. package/lib/cjs/components/Groups/GroupsVisualization.js +27 -24
  72. package/lib/cjs/components/Groups/GroupsVisualization.js.map +1 -1
  73. package/lib/cjs/components/Groups/GroupsVisualizationActions.js +4 -4
  74. package/lib/cjs/components/Groups/GroupsVisualizationActions.js.map +1 -1
  75. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.d.ts +4 -4
  76. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js +4 -4
  77. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
  78. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
  79. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
  80. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
  81. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
  82. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
  83. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +3 -3
  84. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
  85. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
  86. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
  87. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
  88. package/lib/cjs/components/Groups/ToggleGroupVisibility.js +3 -3
  89. package/lib/cjs/components/Groups/ToggleGroupVisibility.js.map +1 -1
  90. package/lib/cjs/components/Groups/groupsHelpers.d.ts +2 -2
  91. package/lib/cjs/components/Groups/groupsHelpers.js +8 -4
  92. package/lib/cjs/components/Groups/groupsHelpers.js.map +1 -1
  93. package/lib/cjs/components/Groups/hooks/useFetchGroups.d.ts +3 -3
  94. package/lib/cjs/components/Groups/hooks/useFetchGroups.js +6 -5
  95. package/lib/cjs/components/Groups/hooks/useFetchGroups.js.map +1 -1
  96. package/lib/cjs/components/Groups/hooks/useGroupsOperations.d.ts +16 -8
  97. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js +14 -10
  98. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  99. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.d.ts +4 -4
  100. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
  101. package/lib/cjs/components/Groups/hooks/useVisualization.js +2 -4
  102. package/lib/cjs/components/Groups/hooks/useVisualization.js.map +1 -1
  103. package/lib/cjs/components/Mappings/BlockingOverlay.js +3 -3
  104. package/lib/cjs/components/Mappings/BlockingOverlay.js.map +1 -1
  105. package/lib/cjs/components/Mappings/Editing/MappingAction.d.ts +8 -0
  106. package/lib/cjs/components/Mappings/Editing/MappingAction.js +16 -15
  107. package/lib/cjs/components/Mappings/Editing/MappingAction.js.map +1 -1
  108. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
  109. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
  110. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  111. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js +12 -7
  112. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  113. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
  114. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
  115. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
  116. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
  117. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
  118. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
  119. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
  120. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
  121. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
  122. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js +9 -9
  123. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
  124. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
  125. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  126. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.d.ts +1 -2
  127. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js +30 -33
  128. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
  129. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
  130. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js +4 -4
  131. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  132. package/lib/cjs/components/Mappings/Import/SelectIModel.d.ts +1 -1
  133. package/lib/cjs/components/Mappings/Import/SelectIModel.js +5 -5
  134. package/lib/cjs/components/Mappings/Import/SelectIModel.js.map +1 -1
  135. package/lib/cjs/components/Mappings/Import/SelectITwin.js +2 -2
  136. package/lib/cjs/components/Mappings/Import/SelectITwin.js.map +1 -1
  137. package/lib/cjs/components/Mappings/Import/SelectITwin.scss +1 -1
  138. package/lib/cjs/components/Mappings/Import/SelectMappings.d.ts +1 -1
  139. package/lib/cjs/components/Mappings/Import/SelectMappings.js +7 -7
  140. package/lib/cjs/components/Mappings/Import/SelectMappings.js.map +1 -1
  141. package/lib/cjs/components/Mappings/MappingListItem.js.map +1 -1
  142. package/lib/cjs/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  143. package/lib/cjs/components/Mappings/MappingViewActionGroup.js +6 -6
  144. package/lib/cjs/components/Mappings/MappingViewActionGroup.js.map +1 -1
  145. package/lib/cjs/components/Mappings/Mappings.d.ts +8 -0
  146. package/lib/cjs/components/Mappings/Mappings.js +7 -3
  147. package/lib/cjs/components/Mappings/Mappings.js.map +1 -1
  148. package/lib/cjs/components/Mappings/MappingsView.d.ts +7 -0
  149. package/lib/cjs/components/Mappings/MappingsView.js +17 -15
  150. package/lib/cjs/components/Mappings/MappingsView.js.map +1 -1
  151. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.d.ts +1 -2
  152. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js +11 -8
  153. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
  154. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
  155. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js +8 -7
  156. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
  157. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js +2 -2
  158. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js.map +1 -1
  159. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.d.ts +9 -2
  160. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js +44 -22
  161. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  162. package/lib/cjs/components/Mappings/hooks/useRunExtraction.d.ts +2 -2
  163. package/lib/cjs/components/Mappings/hooks/useRunExtraction.js +27 -19
  164. package/lib/cjs/components/Mappings/hooks/useRunExtraction.js.map +1 -1
  165. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +11 -3
  166. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +28 -15
  167. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  168. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +11 -3
  169. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +30 -20
  170. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  171. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +3 -3
  172. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +7 -5
  173. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  174. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +4 -6
  175. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  176. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +11 -3
  177. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +74 -50
  178. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  179. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
  180. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +3 -3
  181. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +21 -15
  182. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  183. package/lib/cjs/components/Properties/GroupColorToggle.d.ts +2 -2
  184. package/lib/cjs/components/Properties/GroupColorToggle.js +4 -4
  185. package/lib/cjs/components/Properties/GroupColorToggle.js.map +1 -1
  186. package/lib/cjs/components/Properties/GroupInformationPanel.js +3 -3
  187. package/lib/cjs/components/Properties/GroupInformationPanel.js.map +1 -1
  188. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.d.ts +13 -5
  189. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +41 -42
  190. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  191. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
  192. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
  193. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
  194. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.d.ts +4 -4
  195. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +20 -16
  196. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  197. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.d.ts +3 -5
  198. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js +20 -65
  199. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
  200. package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +20 -29
  201. package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
  202. package/lib/cjs/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
  203. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js +7 -7
  204. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js.map +1 -1
  205. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
  206. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  207. package/lib/cjs/components/Properties/PropertyAction.js +9 -21
  208. package/lib/cjs/components/Properties/PropertyAction.js.map +1 -1
  209. package/lib/cjs/components/Properties/PropertyMenu.d.ts +13 -5
  210. package/lib/cjs/components/Properties/PropertyMenu.js +16 -18
  211. package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -1
  212. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.d.ts +8 -0
  213. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js +9 -5
  214. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  215. package/lib/cjs/components/Properties/PropertyNameCell.d.ts +1 -1
  216. package/lib/cjs/components/Properties/PropertyNameCell.js +4 -4
  217. package/lib/cjs/components/Properties/PropertyNameCell.js.map +1 -1
  218. package/lib/cjs/components/Properties/PropertyTable.js +5 -6
  219. package/lib/cjs/components/Properties/PropertyTable.js.map +1 -1
  220. package/lib/cjs/components/Properties/PropertyTableToolbar.d.ts +1 -1
  221. package/lib/cjs/components/Properties/PropertyTableToolbar.js +4 -4
  222. package/lib/cjs/components/Properties/PropertyTableToolbar.js.map +1 -1
  223. package/lib/cjs/components/Properties/hooks/useFormulaValidation.d.ts +2 -1
  224. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js +11 -7
  225. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  226. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.d.ts +4 -0
  227. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.js +12 -0
  228. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.js.map +1 -0
  229. package/lib/cjs/components/Properties/hooks/useValidator.js +4 -4
  230. package/lib/cjs/components/Properties/hooks/useValidator.js.map +1 -1
  231. package/lib/cjs/components/SharedComponents/ActionPanel.d.ts +1 -1
  232. package/lib/cjs/components/SharedComponents/ActionPanel.js +9 -10
  233. package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -1
  234. package/lib/cjs/components/SharedComponents/DeleteModal.d.ts +1 -1
  235. package/lib/cjs/components/SharedComponents/DeleteModal.js +9 -10
  236. package/lib/cjs/components/SharedComponents/DeleteModal.js.map +1 -1
  237. package/lib/cjs/components/SharedComponents/EmptyMessage.js +4 -4
  238. package/lib/cjs/components/SharedComponents/EmptyMessage.js.map +1 -1
  239. package/lib/cjs/components/SharedComponents/LoadingOverlay.js +4 -4
  240. package/lib/cjs/components/SharedComponents/LoadingOverlay.js.map +1 -1
  241. package/lib/cjs/components/SharedComponents/LoadingSpinner.js +3 -3
  242. package/lib/cjs/components/SharedComponents/LoadingSpinner.js.map +1 -1
  243. package/lib/cjs/components/SharedComponents/StatusIcon.js +3 -3
  244. package/lib/cjs/components/SharedComponents/StatusIcon.js.map +1 -1
  245. package/lib/cjs/components/context/ExtractionClientContext.js +3 -3
  246. package/lib/cjs/components/context/ExtractionClientContext.js.map +1 -1
  247. package/lib/cjs/components/context/ExtractionStateJobContext.js +3 -3
  248. package/lib/cjs/components/context/ExtractionStateJobContext.js.map +1 -1
  249. package/lib/cjs/components/context/GroupHilitedElementsContext.js +3 -3
  250. package/lib/cjs/components/context/GroupHilitedElementsContext.js.map +1 -1
  251. package/lib/cjs/components/context/GroupingApiConfigContext.d.ts +16 -0
  252. package/lib/cjs/components/context/GroupingApiConfigContext.js +7 -0
  253. package/lib/cjs/components/context/GroupingApiConfigContext.js.map +1 -1
  254. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js +3 -3
  255. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js.map +1 -1
  256. package/lib/cjs/components/context/GroupsClientContext.d.ts +20 -0
  257. package/lib/cjs/components/context/GroupsClientContext.js +45 -0
  258. package/lib/cjs/components/context/GroupsClientContext.js.map +1 -0
  259. package/lib/cjs/components/context/IModelsClientContext.js.map +1 -1
  260. package/lib/cjs/components/context/ITwinsClientContext.js +3 -3
  261. package/lib/cjs/components/context/ITwinsClientContext.js.map +1 -1
  262. package/lib/cjs/components/context/MappingClientContext.d.ts +12 -0
  263. package/lib/cjs/components/context/MappingClientContext.js +14 -2
  264. package/lib/cjs/components/context/MappingClientContext.js.map +1 -1
  265. package/lib/cjs/components/context/PropertiesClientContext.d.ts +20 -0
  266. package/lib/cjs/components/context/PropertiesClientContext.js +45 -0
  267. package/lib/cjs/components/context/PropertiesClientContext.js.map +1 -0
  268. package/lib/cjs/components/context/PropertiesGroupColorContext.js +3 -3
  269. package/lib/cjs/components/context/PropertiesGroupColorContext.js.map +1 -1
  270. package/lib/cjs/components/context/PropertyGridWrapperContext.js +3 -3
  271. package/lib/cjs/components/context/PropertyGridWrapperContext.js.map +1 -1
  272. package/lib/cjs/components/customUI/DefaultGroupingUI.js +3 -3
  273. package/lib/cjs/components/customUI/DefaultGroupingUI.js.map +1 -1
  274. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.d.ts +5 -1
  275. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js +17 -18
  276. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  277. package/lib/cjs/components/customUI/GroupingMappingCustomUI.d.ts +15 -3
  278. package/lib/cjs/components/customUI/GroupingMappingCustomUI.js +3 -0
  279. package/lib/cjs/components/customUI/GroupingMappingCustomUI.js.map +1 -1
  280. package/lib/cjs/components/customUI/ManualGroupingCustomUI.d.ts +5 -1
  281. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js +12 -8
  282. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js.map +1 -1
  283. package/lib/cjs/components/customUI/SearchGroupingCustomUI.d.ts +5 -1
  284. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js +20 -45
  285. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js.map +1 -1
  286. package/lib/cjs/decorators/BboxDimensionsDecorator.js +3 -10
  287. package/lib/cjs/decorators/BboxDimensionsDecorator.js.map +1 -1
  288. package/lib/cjs/formula/FormulaDataTypeResolver.d.ts +1 -0
  289. package/lib/cjs/formula/FormulaDataTypeResolver.js +4 -3
  290. package/lib/cjs/formula/FormulaDataTypeResolver.js.map +1 -1
  291. package/lib/cjs/formula/FormulaFunctionProvider.js +146 -65
  292. package/lib/cjs/formula/FormulaFunctionProvider.js.map +1 -1
  293. package/lib/cjs/formula/FormulaOperatorsProvider.js +139 -45
  294. package/lib/cjs/formula/FormulaOperatorsProvider.js.map +1 -1
  295. package/lib/cjs/formula/FormulaSplitter.js +63 -13
  296. package/lib/cjs/formula/FormulaSplitter.js.map +1 -1
  297. package/lib/cjs/formula/FormulaTokensDataTypeResolver.js +9 -16
  298. package/lib/cjs/formula/FormulaTokensDataTypeResolver.js.map +1 -1
  299. package/lib/cjs/formula/IResult.d.ts +3 -0
  300. package/lib/cjs/formula/IResult.js.map +1 -1
  301. package/lib/cjs/formula/InfixToPostfixConverter.js +4 -4
  302. package/lib/cjs/formula/InfixToPostfixConverter.js.map +1 -1
  303. package/lib/cjs/formula/InputStream.js +3 -3
  304. package/lib/cjs/formula/InputStream.js.map +1 -1
  305. package/lib/cjs/formula/ParenthesisValidator.js +3 -3
  306. package/lib/cjs/formula/ParenthesisValidator.js.map +1 -1
  307. package/lib/cjs/formula/Queue.js +3 -3
  308. package/lib/cjs/formula/Queue.js.map +1 -1
  309. package/lib/cjs/formula/Stack.js +3 -3
  310. package/lib/cjs/formula/Stack.js.map +1 -1
  311. package/lib/cjs/formula/StringBuilder.js +3 -3
  312. package/lib/cjs/formula/StringBuilder.js.map +1 -1
  313. package/lib/cjs/formula/Types.d.ts +16 -1
  314. package/lib/cjs/formula/Types.js.map +1 -1
  315. package/lib/cjs/formula/Utils.js +4 -4
  316. package/lib/cjs/formula/Utils.js.map +1 -1
  317. package/lib/cjs/grouping-mapping-widget.d.ts +5 -3
  318. package/lib/cjs/grouping-mapping-widget.js +14 -4
  319. package/lib/cjs/grouping-mapping-widget.js.map +1 -1
  320. package/lib/cjs/test/GroupPropertyUtils.test.js +27 -65
  321. package/lib/cjs/test/GroupPropertyUtils.test.js.map +1 -1
  322. package/lib/cjs/test/GroupingMappingCustomUI.test.js +21 -12
  323. package/lib/cjs/test/GroupingMappingCustomUI.test.js.map +1 -1
  324. package/lib/cjs/test/MockFactory.js +3 -3
  325. package/lib/cjs/test/MockFactory.js.map +1 -1
  326. package/lib/cjs/test/PropertyFieldsHelpers.js +3 -3
  327. package/lib/cjs/test/PropertyFieldsHelpers.js.map +1 -1
  328. package/lib/cjs/test/QueryBuilder.test.js +3 -3
  329. package/lib/cjs/test/QueryBuilder.test.js.map +1 -1
  330. package/lib/cjs/test/QueryBuilder.testdata.js +3 -3
  331. package/lib/cjs/test/QueryBuilder.testdata.js.map +1 -1
  332. package/lib/cjs/test/QueryBuilderTestData.js.map +1 -1
  333. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  334. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  335. package/lib/cjs/test/test-utils.js +4 -4
  336. package/lib/cjs/test/test-utils.js.map +1 -1
  337. package/lib/esm/WidgetShell/GroupingMapping.d.ts +5 -5
  338. package/lib/esm/WidgetShell/GroupingMapping.js +3 -5
  339. package/lib/esm/WidgetShell/GroupingMapping.js.map +1 -1
  340. package/lib/esm/WidgetShell/GroupingMappingContent.js +4 -4
  341. package/lib/esm/WidgetShell/GroupingMappingContent.js.map +1 -1
  342. package/lib/esm/WidgetShell/GroupingMappingHeader.d.ts +1 -1
  343. package/lib/esm/WidgetShell/GroupingMappingHeader.js +5 -5
  344. package/lib/esm/WidgetShell/GroupingMappingHeader.js.map +1 -1
  345. package/lib/esm/WidgetShell/GroupingMappingWidget.d.ts +4 -0
  346. package/lib/esm/WidgetShell/GroupingMappingWidget.js +6 -4
  347. package/lib/esm/WidgetShell/GroupingMappingWidget.js.map +1 -1
  348. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js +28 -8
  349. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  350. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
  351. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
  352. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
  353. package/lib/esm/common/hooks/useIsMounted.js +3 -3
  354. package/lib/esm/common/hooks/useIsMounted.js.map +1 -1
  355. package/lib/esm/common/hooks/useMemoizedCollectionPick.js +3 -3
  356. package/lib/esm/common/hooks/useMemoizedCollectionPick.js.map +1 -1
  357. package/lib/esm/common/utils.js +3 -3
  358. package/lib/esm/common/utils.js.map +1 -1
  359. package/lib/esm/common/viewerUtils.js +2 -2
  360. package/lib/esm/common/viewerUtils.js.map +1 -1
  361. package/lib/esm/components/Constants.js +4 -4
  362. package/lib/esm/components/Constants.js.map +1 -1
  363. package/lib/esm/components/GroupingMappingContext.d.ts +19 -3
  364. package/lib/esm/components/GroupingMappingContext.js +41 -14
  365. package/lib/esm/components/GroupingMappingContext.js.map +1 -1
  366. package/lib/esm/components/Groups/Editing/GroupAction.d.ts +10 -2
  367. package/lib/esm/components/Groups/Editing/GroupAction.js +17 -15
  368. package/lib/esm/components/Groups/Editing/GroupAction.js.map +1 -1
  369. package/lib/esm/components/Groups/Editing/GroupDetails.d.ts +1 -1
  370. package/lib/esm/components/Groups/Editing/GroupDetails.js +5 -7
  371. package/lib/esm/components/Groups/Editing/GroupDetails.js.map +1 -1
  372. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  373. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
  374. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  375. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js +4 -4
  376. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
  377. package/lib/esm/components/Groups/GroupColorLegend.d.ts +3 -3
  378. package/lib/esm/components/Groups/GroupColorLegend.js +3 -3
  379. package/lib/esm/components/Groups/GroupColorLegend.js.map +1 -1
  380. package/lib/esm/components/Groups/GroupListItem.d.ts +4 -4
  381. package/lib/esm/components/Groups/GroupListItem.js +6 -4
  382. package/lib/esm/components/Groups/GroupListItem.js.map +1 -1
  383. package/lib/esm/components/Groups/GroupListItem.scss +14 -0
  384. package/lib/esm/components/Groups/GroupMenuActions.d.ts +4 -4
  385. package/lib/esm/components/Groups/GroupMenuActions.js +17 -6
  386. package/lib/esm/components/Groups/GroupMenuActions.js.map +1 -1
  387. package/lib/esm/components/Groups/GroupMenuActions.scss +2 -0
  388. package/lib/esm/components/Groups/GroupOverlapProgressBar.d.ts +2 -2
  389. package/lib/esm/components/Groups/GroupOverlapProgressBar.js.map +1 -1
  390. package/lib/esm/components/Groups/Groups.d.ts +12 -4
  391. package/lib/esm/components/Groups/Groups.js +7 -3
  392. package/lib/esm/components/Groups/Groups.js.map +1 -1
  393. package/lib/esm/components/Groups/GroupsAddButton.d.ts +1 -1
  394. package/lib/esm/components/Groups/GroupsAddButton.js +4 -4
  395. package/lib/esm/components/Groups/GroupsAddButton.js.map +1 -1
  396. package/lib/esm/components/Groups/GroupsAddButton.scss +1 -1
  397. package/lib/esm/components/Groups/GroupsShowHideButtons.d.ts +5 -5
  398. package/lib/esm/components/Groups/GroupsShowHideButtons.js +2 -2
  399. package/lib/esm/components/Groups/GroupsShowHideButtons.js.map +1 -1
  400. package/lib/esm/components/Groups/GroupsView.d.ts +19 -11
  401. package/lib/esm/components/Groups/GroupsView.js +14 -12
  402. package/lib/esm/components/Groups/GroupsView.js.map +1 -1
  403. package/lib/esm/components/Groups/GroupsView.scss +1 -1
  404. package/lib/esm/components/Groups/GroupsVisualization.d.ts +8 -0
  405. package/lib/esm/components/Groups/GroupsVisualization.js +29 -26
  406. package/lib/esm/components/Groups/GroupsVisualization.js.map +1 -1
  407. package/lib/esm/components/Groups/GroupsVisualizationActions.js +4 -4
  408. package/lib/esm/components/Groups/GroupsVisualizationActions.js.map +1 -1
  409. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.d.ts +4 -4
  410. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js +5 -5
  411. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
  412. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
  413. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
  414. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
  415. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
  416. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
  417. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +3 -3
  418. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
  419. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
  420. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
  421. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
  422. package/lib/esm/components/Groups/ToggleGroupVisibility.js +3 -3
  423. package/lib/esm/components/Groups/ToggleGroupVisibility.js.map +1 -1
  424. package/lib/esm/components/Groups/groupsHelpers.d.ts +2 -2
  425. package/lib/esm/components/Groups/groupsHelpers.js +9 -5
  426. package/lib/esm/components/Groups/groupsHelpers.js.map +1 -1
  427. package/lib/esm/components/Groups/hooks/useFetchGroups.d.ts +3 -3
  428. package/lib/esm/components/Groups/hooks/useFetchGroups.js +6 -5
  429. package/lib/esm/components/Groups/hooks/useFetchGroups.js.map +1 -1
  430. package/lib/esm/components/Groups/hooks/useGroupsOperations.d.ts +16 -8
  431. package/lib/esm/components/Groups/hooks/useGroupsOperations.js +14 -10
  432. package/lib/esm/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  433. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.d.ts +4 -4
  434. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
  435. package/lib/esm/components/Groups/hooks/useVisualization.js +3 -5
  436. package/lib/esm/components/Groups/hooks/useVisualization.js.map +1 -1
  437. package/lib/esm/components/Mappings/BlockingOverlay.js +3 -3
  438. package/lib/esm/components/Mappings/BlockingOverlay.js.map +1 -1
  439. package/lib/esm/components/Mappings/Editing/MappingAction.d.ts +8 -0
  440. package/lib/esm/components/Mappings/Editing/MappingAction.js +16 -15
  441. package/lib/esm/components/Mappings/Editing/MappingAction.js.map +1 -1
  442. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
  443. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
  444. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  445. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js +12 -7
  446. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  447. package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
  448. package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
  449. package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
  450. package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
  451. package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
  452. package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
  453. package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
  454. package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
  455. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
  456. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js +9 -9
  457. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
  458. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
  459. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  460. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.d.ts +1 -2
  461. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js +31 -34
  462. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
  463. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
  464. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js +4 -4
  465. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  466. package/lib/esm/components/Mappings/Import/SelectIModel.d.ts +1 -1
  467. package/lib/esm/components/Mappings/Import/SelectIModel.js +5 -5
  468. package/lib/esm/components/Mappings/Import/SelectIModel.js.map +1 -1
  469. package/lib/esm/components/Mappings/Import/SelectITwin.js +2 -2
  470. package/lib/esm/components/Mappings/Import/SelectITwin.js.map +1 -1
  471. package/lib/esm/components/Mappings/Import/SelectITwin.scss +1 -1
  472. package/lib/esm/components/Mappings/Import/SelectMappings.d.ts +1 -1
  473. package/lib/esm/components/Mappings/Import/SelectMappings.js +8 -8
  474. package/lib/esm/components/Mappings/Import/SelectMappings.js.map +1 -1
  475. package/lib/esm/components/Mappings/MappingListItem.js.map +1 -1
  476. package/lib/esm/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  477. package/lib/esm/components/Mappings/MappingViewActionGroup.js +8 -8
  478. package/lib/esm/components/Mappings/MappingViewActionGroup.js.map +1 -1
  479. package/lib/esm/components/Mappings/Mappings.d.ts +8 -0
  480. package/lib/esm/components/Mappings/Mappings.js +7 -3
  481. package/lib/esm/components/Mappings/Mappings.js.map +1 -1
  482. package/lib/esm/components/Mappings/MappingsView.d.ts +7 -0
  483. package/lib/esm/components/Mappings/MappingsView.js +19 -17
  484. package/lib/esm/components/Mappings/MappingsView.js.map +1 -1
  485. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.d.ts +1 -2
  486. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js +11 -8
  487. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
  488. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
  489. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js +9 -8
  490. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
  491. package/lib/esm/components/Mappings/hooks/useFetchMappings.js +2 -2
  492. package/lib/esm/components/Mappings/hooks/useFetchMappings.js.map +1 -1
  493. package/lib/esm/components/Mappings/hooks/useMappingsOperations.d.ts +9 -2
  494. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js +45 -23
  495. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  496. package/lib/esm/components/Mappings/hooks/useRunExtraction.d.ts +2 -2
  497. package/lib/esm/components/Mappings/hooks/useRunExtraction.js +27 -19
  498. package/lib/esm/components/Mappings/hooks/useRunExtraction.js.map +1 -1
  499. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +11 -3
  500. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +30 -17
  501. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  502. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +11 -3
  503. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +33 -23
  504. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  505. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +3 -3
  506. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +8 -6
  507. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  508. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +5 -7
  509. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  510. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +11 -3
  511. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +76 -52
  512. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  513. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
  514. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +3 -3
  515. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +23 -17
  516. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  517. package/lib/esm/components/Properties/GroupColorToggle.d.ts +2 -2
  518. package/lib/esm/components/Properties/GroupColorToggle.js +4 -4
  519. package/lib/esm/components/Properties/GroupColorToggle.js.map +1 -1
  520. package/lib/esm/components/Properties/GroupInformationPanel.js +3 -3
  521. package/lib/esm/components/Properties/GroupInformationPanel.js.map +1 -1
  522. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.d.ts +13 -5
  523. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +43 -44
  524. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  525. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
  526. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
  527. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
  528. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.d.ts +4 -4
  529. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js +22 -18
  530. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  531. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.d.ts +3 -5
  532. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js +21 -66
  533. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
  534. package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +26 -35
  535. package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
  536. package/lib/esm/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
  537. package/lib/esm/components/Properties/GroupProperties/SaveModal.js +8 -8
  538. package/lib/esm/components/Properties/GroupProperties/SaveModal.js.map +1 -1
  539. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
  540. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  541. package/lib/esm/components/Properties/PropertyAction.js +9 -21
  542. package/lib/esm/components/Properties/PropertyAction.js.map +1 -1
  543. package/lib/esm/components/Properties/PropertyMenu.d.ts +13 -5
  544. package/lib/esm/components/Properties/PropertyMenu.js +16 -18
  545. package/lib/esm/components/Properties/PropertyMenu.js.map +1 -1
  546. package/lib/esm/components/Properties/PropertyMenuWithVisualization.d.ts +8 -0
  547. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js +9 -5
  548. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  549. package/lib/esm/components/Properties/PropertyNameCell.d.ts +1 -1
  550. package/lib/esm/components/Properties/PropertyNameCell.js +4 -4
  551. package/lib/esm/components/Properties/PropertyNameCell.js.map +1 -1
  552. package/lib/esm/components/Properties/PropertyTable.js +5 -6
  553. package/lib/esm/components/Properties/PropertyTable.js.map +1 -1
  554. package/lib/esm/components/Properties/PropertyTableToolbar.d.ts +1 -1
  555. package/lib/esm/components/Properties/PropertyTableToolbar.js +4 -4
  556. package/lib/esm/components/Properties/PropertyTableToolbar.js.map +1 -1
  557. package/lib/esm/components/Properties/hooks/useFormulaValidation.d.ts +2 -1
  558. package/lib/esm/components/Properties/hooks/useFormulaValidation.js +11 -7
  559. package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  560. package/lib/esm/components/Properties/hooks/usePropertiesQuery.d.ts +4 -0
  561. package/lib/esm/components/Properties/hooks/usePropertiesQuery.js +8 -0
  562. package/lib/esm/components/Properties/hooks/usePropertiesQuery.js.map +1 -0
  563. package/lib/esm/components/Properties/hooks/useValidator.js +4 -4
  564. package/lib/esm/components/Properties/hooks/useValidator.js.map +1 -1
  565. package/lib/esm/components/SharedComponents/ActionPanel.d.ts +1 -1
  566. package/lib/esm/components/SharedComponents/ActionPanel.js +9 -10
  567. package/lib/esm/components/SharedComponents/ActionPanel.js.map +1 -1
  568. package/lib/esm/components/SharedComponents/DeleteModal.d.ts +1 -1
  569. package/lib/esm/components/SharedComponents/DeleteModal.js +10 -11
  570. package/lib/esm/components/SharedComponents/DeleteModal.js.map +1 -1
  571. package/lib/esm/components/SharedComponents/EmptyMessage.js +4 -4
  572. package/lib/esm/components/SharedComponents/EmptyMessage.js.map +1 -1
  573. package/lib/esm/components/SharedComponents/LoadingOverlay.js +4 -4
  574. package/lib/esm/components/SharedComponents/LoadingOverlay.js.map +1 -1
  575. package/lib/esm/components/SharedComponents/LoadingSpinner.js +3 -3
  576. package/lib/esm/components/SharedComponents/LoadingSpinner.js.map +1 -1
  577. package/lib/esm/components/SharedComponents/StatusIcon.js +3 -3
  578. package/lib/esm/components/SharedComponents/StatusIcon.js.map +1 -1
  579. package/lib/esm/components/context/ExtractionClientContext.js +3 -3
  580. package/lib/esm/components/context/ExtractionClientContext.js.map +1 -1
  581. package/lib/esm/components/context/ExtractionStateJobContext.js +3 -3
  582. package/lib/esm/components/context/ExtractionStateJobContext.js.map +1 -1
  583. package/lib/esm/components/context/GroupHilitedElementsContext.js +3 -3
  584. package/lib/esm/components/context/GroupHilitedElementsContext.js.map +1 -1
  585. package/lib/esm/components/context/GroupingApiConfigContext.d.ts +16 -0
  586. package/lib/esm/components/context/GroupingApiConfigContext.js +7 -0
  587. package/lib/esm/components/context/GroupingApiConfigContext.js.map +1 -1
  588. package/lib/esm/components/context/GroupingMappingCustomUIContext.js +3 -3
  589. package/lib/esm/components/context/GroupingMappingCustomUIContext.js.map +1 -1
  590. package/lib/esm/components/context/GroupsClientContext.d.ts +20 -0
  591. package/lib/esm/components/context/GroupsClientContext.js +39 -0
  592. package/lib/esm/components/context/GroupsClientContext.js.map +1 -0
  593. package/lib/esm/components/context/IModelsClientContext.js.map +1 -1
  594. package/lib/esm/components/context/ITwinsClientContext.js +3 -3
  595. package/lib/esm/components/context/ITwinsClientContext.js.map +1 -1
  596. package/lib/esm/components/context/MappingClientContext.d.ts +12 -0
  597. package/lib/esm/components/context/MappingClientContext.js +15 -3
  598. package/lib/esm/components/context/MappingClientContext.js.map +1 -1
  599. package/lib/esm/components/context/PropertiesClientContext.d.ts +20 -0
  600. package/lib/esm/components/context/PropertiesClientContext.js +39 -0
  601. package/lib/esm/components/context/PropertiesClientContext.js.map +1 -0
  602. package/lib/esm/components/context/PropertiesGroupColorContext.js +3 -3
  603. package/lib/esm/components/context/PropertiesGroupColorContext.js.map +1 -1
  604. package/lib/esm/components/context/PropertyGridWrapperContext.js +3 -3
  605. package/lib/esm/components/context/PropertyGridWrapperContext.js.map +1 -1
  606. package/lib/esm/components/customUI/DefaultGroupingUI.js +3 -3
  607. package/lib/esm/components/customUI/DefaultGroupingUI.js.map +1 -1
  608. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.d.ts +5 -1
  609. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js +18 -19
  610. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  611. package/lib/esm/components/customUI/GroupingMappingCustomUI.d.ts +15 -3
  612. package/lib/esm/components/customUI/GroupingMappingCustomUI.js +3 -0
  613. package/lib/esm/components/customUI/GroupingMappingCustomUI.js.map +1 -1
  614. package/lib/esm/components/customUI/ManualGroupingCustomUI.d.ts +5 -1
  615. package/lib/esm/components/customUI/ManualGroupingCustomUI.js +12 -8
  616. package/lib/esm/components/customUI/ManualGroupingCustomUI.js.map +1 -1
  617. package/lib/esm/components/customUI/SearchGroupingCustomUI.d.ts +5 -1
  618. package/lib/esm/components/customUI/SearchGroupingCustomUI.js +20 -45
  619. package/lib/esm/components/customUI/SearchGroupingCustomUI.js.map +1 -1
  620. package/lib/esm/decorators/BboxDimensionsDecorator.js +5 -12
  621. package/lib/esm/decorators/BboxDimensionsDecorator.js.map +1 -1
  622. package/lib/esm/formula/FormulaDataTypeResolver.d.ts +1 -0
  623. package/lib/esm/formula/FormulaDataTypeResolver.js +4 -3
  624. package/lib/esm/formula/FormulaDataTypeResolver.js.map +1 -1
  625. package/lib/esm/formula/FormulaFunctionProvider.js +146 -65
  626. package/lib/esm/formula/FormulaFunctionProvider.js.map +1 -1
  627. package/lib/esm/formula/FormulaOperatorsProvider.js +139 -45
  628. package/lib/esm/formula/FormulaOperatorsProvider.js.map +1 -1
  629. package/lib/esm/formula/FormulaSplitter.js +63 -13
  630. package/lib/esm/formula/FormulaSplitter.js.map +1 -1
  631. package/lib/esm/formula/FormulaTokensDataTypeResolver.js +9 -16
  632. package/lib/esm/formula/FormulaTokensDataTypeResolver.js.map +1 -1
  633. package/lib/esm/formula/IResult.d.ts +3 -0
  634. package/lib/esm/formula/IResult.js.map +1 -1
  635. package/lib/esm/formula/InfixToPostfixConverter.js +5 -5
  636. package/lib/esm/formula/InfixToPostfixConverter.js.map +1 -1
  637. package/lib/esm/formula/InputStream.js +3 -3
  638. package/lib/esm/formula/InputStream.js.map +1 -1
  639. package/lib/esm/formula/ParenthesisValidator.js +3 -3
  640. package/lib/esm/formula/ParenthesisValidator.js.map +1 -1
  641. package/lib/esm/formula/Queue.js +3 -3
  642. package/lib/esm/formula/Queue.js.map +1 -1
  643. package/lib/esm/formula/Stack.js +3 -3
  644. package/lib/esm/formula/Stack.js.map +1 -1
  645. package/lib/esm/formula/StringBuilder.js +3 -3
  646. package/lib/esm/formula/StringBuilder.js.map +1 -1
  647. package/lib/esm/formula/Types.d.ts +16 -1
  648. package/lib/esm/formula/Types.js.map +1 -1
  649. package/lib/esm/formula/Utils.js +4 -4
  650. package/lib/esm/formula/Utils.js.map +1 -1
  651. package/lib/esm/grouping-mapping-widget.d.ts +5 -3
  652. package/lib/esm/grouping-mapping-widget.js +8 -6
  653. package/lib/esm/grouping-mapping-widget.js.map +1 -1
  654. package/lib/esm/test/GroupPropertyUtils.test.js +28 -66
  655. package/lib/esm/test/GroupPropertyUtils.test.js.map +1 -1
  656. package/lib/esm/test/GroupingMappingCustomUI.test.js +21 -12
  657. package/lib/esm/test/GroupingMappingCustomUI.test.js.map +1 -1
  658. package/lib/esm/test/MockFactory.js +3 -3
  659. package/lib/esm/test/MockFactory.js.map +1 -1
  660. package/lib/esm/test/PropertyFieldsHelpers.js +3 -3
  661. package/lib/esm/test/PropertyFieldsHelpers.js.map +1 -1
  662. package/lib/esm/test/QueryBuilder.test.js +3 -3
  663. package/lib/esm/test/QueryBuilder.test.js.map +1 -1
  664. package/lib/esm/test/QueryBuilder.testdata.js +3 -3
  665. package/lib/esm/test/QueryBuilder.testdata.js.map +1 -1
  666. package/lib/esm/test/QueryBuilderTestData.js.map +1 -1
  667. package/lib/esm/test/WidgetHeader.test.js +3 -3
  668. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  669. package/lib/esm/test/test-utils.js +4 -4
  670. package/lib/esm/test/test-utils.js.map +1 -1
  671. package/package.json +10 -5
  672. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.d.ts +0 -4
  673. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.js +0 -12
  674. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.js.map +0 -1
  675. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.d.ts +0 -4
  676. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.js +0 -12
  677. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.js.map +0 -1
  678. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.d.ts +0 -4
  679. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.js +0 -12
  680. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.js.map +0 -1
  681. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.d.ts +0 -4
  682. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.js +0 -8
  683. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.js.map +0 -1
  684. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.d.ts +0 -4
  685. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.js +0 -8
  686. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.js.map +0 -1
  687. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.d.ts +0 -4
  688. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.js +0 -8
  689. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.js.map +0 -1
@@ -1,6 +1,5 @@
1
- import { DataType } from "@itwin/insights-client";
2
1
  import { convertPresentationFields, convertToECProperties, findProperties } from "../components/Properties/GroupProperties/GroupPropertyUtils";
3
- import { createTestECClassInfo, createTestNestedContentField, createTestPropertiesContentField, createTestPropertyInfo, createTestRelatedClassInfo } from "./PropertyFieldsHelpers";
2
+ import { createTestECClassInfo, createTestNestedContentField, createTestPropertiesContentField, createTestPropertyInfo, createTestRelatedClassInfo, } from "./PropertyFieldsHelpers";
4
3
  import { assert, expect } from "chai";
5
4
  import { PropertyValueFormat, RelationshipMeaning } from "@itwin/presentation-common";
6
5
  describe("Group properties utilities", () => {
@@ -13,7 +12,6 @@ describe("Group properties utilities", () => {
13
12
  sourceSchema: "*",
14
13
  sourceClassName: "*",
15
14
  ecPropertyTraversal: ["PropertyName"],
16
- propertyType: DataType.String,
17
15
  primitiveNavigationClass: "",
18
16
  actualECClassName: "SchemaName:ClassName",
19
17
  parentPropertyClassName: undefined,
@@ -24,7 +22,8 @@ describe("Group properties utilities", () => {
24
22
  assert.deepEqual(result, expectedResult);
25
23
  });
26
24
  it("multiple primitive properies of different types", () => {
27
- const testProperties = [createTestPropertyInfo({ name: "propString" }),
25
+ const testProperties = [
26
+ createTestPropertyInfo({ name: "propString" }),
28
27
  createTestPropertyInfo({ name: "propInt", type: "int" }),
29
28
  createTestPropertyInfo({ name: "propBool", type: "boolean" }),
30
29
  createTestPropertyInfo({ name: "propEnum", type: "enum" }),
@@ -39,7 +38,6 @@ describe("Group properties utilities", () => {
39
38
  sourceSchema: "*",
40
39
  sourceClassName: "*",
41
40
  ecPropertyTraversal: ["propString"],
42
- propertyType: DataType.String,
43
41
  primitiveNavigationClass: "",
44
42
  actualECClassName: "SchemaName:ClassName",
45
43
  parentPropertyClassName: undefined,
@@ -51,7 +49,6 @@ describe("Group properties utilities", () => {
51
49
  sourceSchema: "*",
52
50
  sourceClassName: "*",
53
51
  ecPropertyTraversal: ["propInt"],
54
- propertyType: DataType.Integer,
55
52
  primitiveNavigationClass: "",
56
53
  actualECClassName: "SchemaName:ClassName",
57
54
  parentPropertyClassName: undefined,
@@ -63,7 +60,6 @@ describe("Group properties utilities", () => {
63
60
  sourceSchema: "*",
64
61
  sourceClassName: "*",
65
62
  ecPropertyTraversal: ["propBool"],
66
- propertyType: DataType.Boolean,
67
63
  primitiveNavigationClass: "",
68
64
  actualECClassName: "SchemaName:ClassName",
69
65
  parentPropertyClassName: undefined,
@@ -75,7 +71,6 @@ describe("Group properties utilities", () => {
75
71
  sourceSchema: "*",
76
72
  sourceClassName: "*",
77
73
  ecPropertyTraversal: ["propEnum"],
78
- propertyType: DataType.Integer,
79
74
  primitiveNavigationClass: "",
80
75
  actualECClassName: "SchemaName:ClassName",
81
76
  parentPropertyClassName: undefined,
@@ -87,7 +82,6 @@ describe("Group properties utilities", () => {
87
82
  sourceSchema: "*",
88
83
  sourceClassName: "*",
89
84
  ecPropertyTraversal: ["propLong"],
90
- propertyType: DataType.Integer,
91
85
  primitiveNavigationClass: "",
92
86
  actualECClassName: "SchemaName:ClassName",
93
87
  parentPropertyClassName: undefined,
@@ -99,7 +93,6 @@ describe("Group properties utilities", () => {
99
93
  sourceSchema: "*",
100
94
  sourceClassName: "*",
101
95
  ecPropertyTraversal: ["propNumber"],
102
- propertyType: DataType.Number,
103
96
  primitiveNavigationClass: "",
104
97
  actualECClassName: "SchemaName:ClassName",
105
98
  parentPropertyClassName: undefined,
@@ -133,7 +126,6 @@ describe("Group properties utilities", () => {
133
126
  sourceSchema: "SchemaName",
134
127
  sourceClassName: "ClassName",
135
128
  ecPropertyTraversal: ["prop1"],
136
- propertyType: DataType.String,
137
129
  primitiveNavigationClass: "",
138
130
  actualECClassName: "SchemaName:ClassName",
139
131
  parentPropertyClassName: "SchemaName:ClassName",
@@ -167,7 +159,6 @@ describe("Group properties utilities", () => {
167
159
  sourceSchema: "SchemaName",
168
160
  sourceClassName: "ClassName",
169
161
  ecPropertyTraversal: ["prop1"],
170
- propertyType: DataType.String,
171
162
  primitiveNavigationClass: "",
172
163
  actualECClassName: "SchemaName:ClassName",
173
164
  parentPropertyClassName: "SchemaName:ClassName",
@@ -204,7 +195,6 @@ describe("Group properties utilities", () => {
204
195
  key: "SchemaName:ClassName|SchemaName:ClassName|TypeDefinition|prop1",
205
196
  parentPropertyClassName: "SchemaName:ClassName",
206
197
  primitiveNavigationClass: "",
207
- propertyType: DataType.String,
208
198
  sourceClassName: "*",
209
199
  sourceSchema: "*",
210
200
  },
@@ -261,7 +251,6 @@ describe("Group properties utilities", () => {
261
251
  sourceSchema: "SchemaName",
262
252
  sourceClassName: "ClassName",
263
253
  ecPropertyTraversal: ["Identifier"],
264
- propertyType: DataType.String,
265
254
  primitiveNavigationClass: "",
266
255
  actualECClassName: "SchemaName:ClassName",
267
256
  parentPropertyClassName: "SchemaName:ClassName",
@@ -273,7 +262,6 @@ describe("Group properties utilities", () => {
273
262
  sourceSchema: "SchemaName",
274
263
  sourceClassName: "ClassName",
275
264
  ecPropertyTraversal: ["Source", "Repository", "name"],
276
- propertyType: DataType.String,
277
265
  primitiveNavigationClass: "",
278
266
  actualECClassName: "SchemaName:ClassName",
279
267
  parentPropertyClassName: "BisCore:RepositoryLink",
@@ -285,7 +273,6 @@ describe("Group properties utilities", () => {
285
273
  sourceSchema: "SchemaName",
286
274
  sourceClassName: "ClassName",
287
275
  ecPropertyTraversal: ["Source", "Repository", "path"],
288
- propertyType: DataType.String,
289
276
  primitiveNavigationClass: "",
290
277
  actualECClassName: "SchemaName:ClassName",
291
278
  parentPropertyClassName: "BisCore:RepositoryLink",
@@ -300,14 +287,16 @@ describe("Group properties utilities", () => {
300
287
  const structContentFieldDescription = {
301
288
  valueFormat: PropertyValueFormat.Struct,
302
289
  typeName: "StructType",
303
- members: [{
290
+ members: [
291
+ {
304
292
  name: "prop1",
305
293
  label: "prop one",
306
294
  type: {
307
295
  typeName: "string",
308
296
  valueFormat: PropertyValueFormat.Primitive,
309
297
  },
310
- }],
298
+ },
299
+ ],
311
300
  };
312
301
  const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });
313
302
  const result = convertPresentationFields([simpleStructField]);
@@ -317,7 +306,6 @@ describe("Group properties utilities", () => {
317
306
  sourceSchema: "*",
318
307
  sourceClassName: "*",
319
308
  ecPropertyTraversal: ["PropertyName", "prop1"],
320
- propertyType: DataType.String,
321
309
  primitiveNavigationClass: "",
322
310
  actualECClassName: "Struct:Class",
323
311
  parentPropertyClassName: undefined,
@@ -332,7 +320,8 @@ describe("Group properties utilities", () => {
332
320
  const structContentFieldDescription = {
333
321
  valueFormat: PropertyValueFormat.Struct,
334
322
  typeName: "StructType",
335
- members: [{
323
+ members: [
324
+ {
336
325
  name: "prop1",
337
326
  label: "prop one",
338
327
  type: {
@@ -346,16 +335,19 @@ describe("Group properties utilities", () => {
346
335
  type: {
347
336
  typeName: "string",
348
337
  valueFormat: PropertyValueFormat.Struct,
349
- members: [{
338
+ members: [
339
+ {
350
340
  name: "prop2",
351
341
  label: "prop 2",
352
342
  type: {
353
343
  typeName: "string",
354
344
  valueFormat: PropertyValueFormat.Primitive,
355
345
  },
356
- }],
346
+ },
347
+ ],
357
348
  },
358
- }],
349
+ },
350
+ ],
359
351
  };
360
352
  const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });
361
353
  const result = convertPresentationFields([simpleStructField]);
@@ -365,7 +357,6 @@ describe("Group properties utilities", () => {
365
357
  sourceSchema: "*",
366
358
  sourceClassName: "*",
367
359
  ecPropertyTraversal: ["PropertyName", "prop1"],
368
- propertyType: DataType.String,
369
360
  primitiveNavigationClass: "",
370
361
  actualECClassName: "Struct:Class",
371
362
  parentPropertyClassName: undefined,
@@ -377,7 +368,6 @@ describe("Group properties utilities", () => {
377
368
  sourceSchema: "*",
378
369
  sourceClassName: "*",
379
370
  ecPropertyTraversal: ["PropertyName", "struct1", "prop2"],
380
- propertyType: DataType.String,
381
371
  primitiveNavigationClass: "",
382
372
  actualECClassName: "Struct:Class",
383
373
  parentPropertyClassName: undefined,
@@ -406,7 +396,6 @@ describe("Group properties utilities", () => {
406
396
  sourceSchema: "*",
407
397
  sourceClassName: "*",
408
398
  ecPropertyTraversal: ["Model"],
409
- propertyType: DataType.String,
410
399
  primitiveNavigationClass: "BisCore:ModelContainsElements",
411
400
  actualECClassName: "BisCore:Element",
412
401
  parentPropertyClassName: undefined,
@@ -422,7 +411,6 @@ describe("Group properties utilities", () => {
422
411
  sourceSchema: "Schema",
423
412
  sourceClassName: "Class",
424
413
  ecPropertyTraversal: ["PropertyName", "SecondProperty"],
425
- propertyType: DataType.String,
426
414
  primitiveNavigationClass: "",
427
415
  actualECClassName: "SchemaName:ClassName",
428
416
  parentPropertyClassName: undefined,
@@ -434,7 +422,6 @@ describe("Group properties utilities", () => {
434
422
  {
435
423
  ecSchemaName: "Schema",
436
424
  ecClassName: "Class",
437
- ecPropertyType: DataType.String,
438
425
  ecPropertyName: "PropertyName.SecondProperty",
439
426
  },
440
427
  ];
@@ -445,10 +432,7 @@ describe("Group properties utilities", () => {
445
432
  displayLabel: "Model",
446
433
  sourceSchema: "*",
447
434
  sourceClassName: "*",
448
- ecPropertyTraversal: [
449
- "Model",
450
- ],
451
- propertyType: DataType.String,
435
+ ecPropertyTraversal: ["Model"],
452
436
  primitiveNavigationClass: "BisCore:ModelContainsElements",
453
437
  actualECClassName: "BisCore:Element",
454
438
  key: "undefined|BisCore:Element|Model",
@@ -460,13 +444,11 @@ describe("Group properties utilities", () => {
460
444
  {
461
445
  ecSchemaName: "*",
462
446
  ecClassName: "*",
463
- ecPropertyType: DataType.String,
464
447
  ecPropertyName: "Model.ModeledElement.UserLabel",
465
448
  },
466
449
  {
467
450
  ecSchemaName: "*",
468
451
  ecClassName: "*",
469
- ecPropertyType: DataType.String,
470
452
  ecPropertyName: "Model.ModeledElement.CodeValue",
471
453
  },
472
454
  ];
@@ -477,10 +459,7 @@ describe("Group properties utilities", () => {
477
459
  displayLabel: "Category",
478
460
  sourceSchema: "*",
479
461
  sourceClassName: "*",
480
- ecPropertyTraversal: [
481
- "Category",
482
- ],
483
- propertyType: DataType.String,
462
+ ecPropertyTraversal: ["Category"],
484
463
  primitiveNavigationClass: "BisCore:GeometricElement3dIsInCategory",
485
464
  actualECClassName: "BisCore:GeometricElement3d",
486
465
  key: "undefined|BisCore:GeometricElement3d|Category",
@@ -492,13 +471,11 @@ describe("Group properties utilities", () => {
492
471
  {
493
472
  ecSchemaName: "*",
494
473
  ecClassName: "*",
495
- ecPropertyType: DataType.String,
496
474
  ecPropertyName: "Category.UserLabel",
497
475
  },
498
476
  {
499
477
  ecSchemaName: "*",
500
478
  ecClassName: "*",
501
- ecPropertyType: DataType.String,
502
479
  ecPropertyName: "Category.CodeValue",
503
480
  },
504
481
  ];
@@ -509,10 +486,7 @@ describe("Group properties utilities", () => {
509
486
  displayLabel: "Physical Material",
510
487
  sourceSchema: "*",
511
488
  sourceClassName: "*",
512
- ecPropertyTraversal: [
513
- "PhysicalMaterial",
514
- ],
515
- propertyType: DataType.String,
489
+ ecPropertyTraversal: ["PhysicalMaterial"],
516
490
  primitiveNavigationClass: "BisCore:PhysicalElementIsOfPhysicalMaterial",
517
491
  actualECClassName: "BisCore:PhysicalElement",
518
492
  key: "undefined|BisCore:PhysicalElement|PhysicalMaterial",
@@ -524,13 +498,11 @@ describe("Group properties utilities", () => {
524
498
  {
525
499
  ecSchemaName: "*",
526
500
  ecClassName: "*",
527
- ecPropertyType: DataType.String,
528
501
  ecPropertyName: "PhysicalMaterial.UserLabel",
529
502
  },
530
503
  {
531
504
  ecSchemaName: "*",
532
505
  ecClassName: "*",
533
- ecPropertyType: DataType.String,
534
506
  ecPropertyName: "PhysicalMaterial.CodeValue",
535
507
  },
536
508
  ];
@@ -543,7 +515,6 @@ describe("Group properties utilities", () => {
543
515
  sourceSchema: "*",
544
516
  sourceClassName: "*",
545
517
  ecPropertyTraversal: ["propString"],
546
- propertyType: DataType.String,
547
518
  primitiveNavigationClass: "",
548
519
  actualECClassName: "SchemaName:ClassName",
549
520
  parentPropertyClassName: undefined,
@@ -555,7 +526,6 @@ describe("Group properties utilities", () => {
555
526
  sourceSchema: "*",
556
527
  sourceClassName: "*",
557
528
  ecPropertyTraversal: ["propInt"],
558
- propertyType: DataType.Integer,
559
529
  primitiveNavigationClass: "",
560
530
  actualECClassName: "SchemaName:ClassName",
561
531
  parentPropertyClassName: undefined,
@@ -567,13 +537,11 @@ describe("Group properties utilities", () => {
567
537
  {
568
538
  ecSchemaName: "*",
569
539
  ecClassName: "*",
570
- ecPropertyType: DataType.String,
571
540
  ecPropertyName: "propString",
572
541
  },
573
542
  {
574
543
  ecSchemaName: "*",
575
544
  ecClassName: "*",
576
- ecPropertyType: DataType.Integer,
577
545
  ecPropertyName: "propInt",
578
546
  },
579
547
  ];
@@ -581,31 +549,28 @@ describe("Group properties utilities", () => {
581
549
  assert.deepEqual(result, propertiesMetaData);
582
550
  });
583
551
  it("can find properties generated from a single property", () => {
584
- const propertiesMetaData = [{
552
+ const propertiesMetaData = [
553
+ {
585
554
  displayLabel: "Model",
586
555
  sourceSchema: "*",
587
556
  sourceClassName: "*",
588
- ecPropertyTraversal: [
589
- "Model",
590
- ],
591
- propertyType: DataType.String,
557
+ ecPropertyTraversal: ["Model"],
592
558
  primitiveNavigationClass: "BisCore:ModelContainsElements",
593
559
  actualECClassName: "BisCore:Element",
594
560
  key: "undefined|BisCore:Element|Model",
595
561
  categoryLabel: "Selected Item",
596
562
  parentPropertyClassName: undefined,
597
- }];
563
+ },
564
+ ];
598
565
  const ecProperties = [
599
566
  {
600
567
  ecSchemaName: "*",
601
568
  ecClassName: "*",
602
- ecPropertyType: DataType.String,
603
569
  ecPropertyName: "Model.ModeledElement.UserLabel",
604
570
  },
605
571
  {
606
572
  ecSchemaName: "*",
607
573
  ecClassName: "*",
608
- ecPropertyType: DataType.String,
609
574
  ecPropertyName: "Model.ModeledElement.CodeValue",
610
575
  },
611
576
  ];
@@ -613,31 +578,28 @@ describe("Group properties utilities", () => {
613
578
  assert.deepEqual(result, propertiesMetaData);
614
579
  });
615
580
  it("cannot find properties generated from a single property in the wrong order", () => {
616
- const propertiesMetaData = [{
581
+ const propertiesMetaData = [
582
+ {
617
583
  displayLabel: "Model",
618
584
  sourceSchema: "*",
619
585
  sourceClassName: "*",
620
- ecPropertyTraversal: [
621
- "Model",
622
- ],
623
- propertyType: DataType.String,
586
+ ecPropertyTraversal: ["Model"],
624
587
  primitiveNavigationClass: "BisCore:ModelContainsElements",
625
588
  actualECClassName: "BisCore:Element",
626
589
  key: "undefined|BisCore:Element|Model",
627
590
  categoryLabel: "Selected Item",
628
591
  parentPropertyClassName: undefined,
629
- }];
592
+ },
593
+ ];
630
594
  const ecProperties = [
631
595
  {
632
596
  ecSchemaName: "*",
633
597
  ecClassName: "*",
634
- ecPropertyType: DataType.String,
635
598
  ecPropertyName: "Model.ModeledElement.CodeValue",
636
599
  },
637
600
  {
638
601
  ecSchemaName: "*",
639
602
  ecClassName: "*",
640
- ecPropertyType: DataType.String,
641
603
  ecPropertyName: "Model.ModeledElement.UserLabel",
642
604
  },
643
605
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"GroupPropertyUtils.test.js","sourceRoot":"","sources":["../../../src/test/GroupPropertyUtils.test.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*--------------------------------------------------------------------------------------------*/\nimport type { ECProperty } from \"@itwin/insights-client\";\nimport { DataType } from \"@itwin/insights-client\";\nimport type { PropertyMetaData } from \"../components/Properties/GroupProperties/GroupPropertyUtils\";\nimport { convertPresentationFields, convertToECProperties, findProperties } from \"../components/Properties/GroupProperties/GroupPropertyUtils\";\nimport { createTestECClassInfo, createTestNestedContentField, createTestPropertiesContentField, createTestPropertyInfo, createTestRelatedClassInfo } from \"./PropertyFieldsHelpers\";\nimport { assert, expect } from \"chai\";\nimport type { NavigationPropertyInfo, StructTypeDescription } from \"@itwin/presentation-common\";\nimport { PropertyValueFormat, RelationshipMeaning } from \"@itwin/presentation-common\";\n\ndescribe(\"Group properties utilities\", () => {\n it(\"one primitive string property\", () => {\n const propertyFields = [createTestPropertiesContentField({ properties: [{ property: createTestPropertyInfo() }] })];\n\n const result = convertPresentationFields(propertyFields);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|PropertyName\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"multiple primitive properies of different types\", () => {\n const testProperties = [createTestPropertyInfo({ name: \"propString\" }),\n createTestPropertyInfo({ name: \"propInt\", type: \"int\" }),\n createTestPropertyInfo({ name: \"propBool\", type: \"boolean\" }),\n createTestPropertyInfo({ name: \"propEnum\", type: \"enum\" }),\n createTestPropertyInfo({ name: \"propLong\", type: \"long\" }),\n createTestPropertyInfo({ name: \"propNumber\", type: \"number\" }),\n ];\n const propertyFields = testProperties.map((p) => createTestPropertiesContentField({ properties: [{ property: p }] }));\n\n const result = convertPresentationFields(propertyFields);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propString\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propString\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propInt\"],\n propertyType: DataType.Integer,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propInt\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propBool\"],\n propertyType: DataType.Boolean,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propBool\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propEnum\"],\n propertyType: DataType.Integer,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propEnum\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propLong\"],\n propertyType: DataType.Integer,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propLong\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propNumber\"],\n propertyType: DataType.Number,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propNumber\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"one BisCore:ElementOwnsUniqueAspect nested property\", () => {\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Some:UniqueAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsUniqueAspect\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"prop1\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n\n });\n\n it(\"one BisCore:ElementOwnsMultiAspects nested property\", () => {\n\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Some:MultiAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsMultiAspects\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"prop1\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n\n });\n\n it(\"one BisCore:GeometricElement3dHasTypeDefinition nested property\", () => {\n\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.RelatedInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Schema:SomeType\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:GeometricElement3dHasTypeDefinition\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n actualECClassName: \"SchemaName:ClassName\",\n categoryLabel: \"Test Category\",\n displayLabel: \"Properties Field\",\n ecPropertyTraversal: [\"TypeDefinition\", \"prop1\"],\n key: \"SchemaName:ClassName|SchemaName:ClassName|TypeDefinition|prop1\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n primitiveNavigationClass: \"\",\n propertyType: DataType.String,\n sourceClassName: \"*\",\n sourceSchema: \"*\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n\n });\n\n it(\"generate proper external source metadata\", () => {\n\n const propertyName = createTestPropertyInfo({ name: \"name\" });\n const propertyPath = createTestPropertyInfo({ name: \"path\" });\n const repositoryProperties = createTestPropertiesContentField({\n properties: [{ property: propertyName }, { property: propertyPath }],\n });\n\n const nestedExternalSource = createTestNestedContentField({\n nestedFields: [repositoryProperties],\n contentClassInfo: { name: \"BisCore:RepositoryLink\", id: \"\", label: \"\" },\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceIsInRepository\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:RepositoryLink\" }),\n targetClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSource\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ElementIsFromSource\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ExternalSource\" }),\n targetClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceAspect\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"Identifier\" }) }],\n });\n\n const nestedSourceAspectField = createTestNestedContentField({\n nestedFields: [propertiesField, nestedExternalSource],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsMultiAspects\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedSourceAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Identifier\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|Identifier\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Source\", \"Repository\", \"name\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"BisCore:RepositoryLink\",\n key: \"BisCore:RepositoryLink|SchemaName:ClassName|Source|Repository|name\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Source\", \"Repository\", \"path\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"BisCore:RepositoryLink\",\n key: \"BisCore:RepositoryLink|SchemaName:ClassName|Source|Repository|path\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n\n });\n\n it(\"handle simple structs correctly\", () => {\n const structPropertyClass = createTestPropertyInfo({ classInfo: { id: \"0\", label: \"\", name: \"Struct:Class\" } });\n\n const structContentFieldDescription: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"StructType\",\n members: [{\n name: \"prop1\",\n label: \"prop one\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n }],\n };\n const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });\n\n const result = convertPresentationFields([simpleStructField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"prop one\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"prop1\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n }\n );\n\n it(\"handle simple nested structs correctly\", () => {\n const structPropertyClass = createTestPropertyInfo({ classInfo: { id: \"0\", label: \"\", name: \"Struct:Class\" } });\n\n const structContentFieldDescription: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"StructType\",\n members: [{\n name: \"prop1\",\n label: \"prop one\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n },\n {\n name: \"struct1\",\n label: \"struct1\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Struct,\n members: [{\n name: \"prop2\",\n label: \"prop 2\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n }],\n },\n }],\n };\n\n const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });\n\n const result = convertPresentationFields([simpleStructField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"prop one\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"prop1\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|prop1\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"prop 2\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"struct1\", \"prop2\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|struct1|prop2\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n }\n );\n\n it(\"handle primitive navigation (Model)\", () => {\n const modelClassInfo = createTestECClassInfo({ name: \"BisCore:Element\", label: \"Element\" });\n const navigationClassInfo = createTestECClassInfo({ name: \"BisCore:ModelContainsElements\", label: \"ModelContainsElements\" });\n\n const navigationPropertyInfo: NavigationPropertyInfo = {\n classInfo: navigationClassInfo,\n isForwardRelationship: false,\n // Target class does not matter\n targetClassInfo: createTestECClassInfo(),\n isTargetPolymorphic: true,\n\n };\n\n const modelPropertyInfo = createTestPropertyInfo({ name: \"Model\", classInfo: modelClassInfo, type: \"long\", navigationPropertyInfo });\n\n const simpleModelField = createTestPropertiesContentField({ label: \"Model\", properties: [{ property: modelPropertyInfo }] });\n\n const result = convertPresentationFields([simpleModelField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n parentPropertyClassName: undefined,\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n }\n );\n\n it(\"convert PropertyMetaData non primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"A Property\",\n sourceSchema: \"Schema\",\n sourceClassName: \"Class\",\n ecPropertyTraversal: [\"PropertyName\", \"SecondProperty\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|PropertyName\",\n categoryLabel: \"Test Category\",\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECProperty[] = [\n {\n ecSchemaName: \"Schema\",\n ecClassName: \"Class\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"PropertyName.SecondProperty\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Model PropertyMetaData primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"Model\",\n ],\n propertyType: DataType.String,\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECProperty[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Category PropertyMetaData primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Category\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"Category\",\n ],\n propertyType: DataType.String,\n primitiveNavigationClass: \"BisCore:GeometricElement3dIsInCategory\",\n actualECClassName: \"BisCore:GeometricElement3d\",\n key: \"undefined|BisCore:GeometricElement3d|Category\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECProperty[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"Category.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"Category.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Physical Material PropertyMetaData primitive navigation into an ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Physical Material\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"PhysicalMaterial\",\n ],\n propertyType: DataType.String,\n primitiveNavigationClass: \"BisCore:PhysicalElementIsOfPhysicalMaterial\",\n actualECClassName: \"BisCore:PhysicalElement\",\n key: \"undefined|BisCore:PhysicalElement|PhysicalMaterial\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECProperty[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"PhysicalMaterial.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"PhysicalMaterial.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"find properties correctly\", () => {\n\n const propertiesMetaData: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propString\"],\n propertyType: DataType.String,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propString\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propInt\"],\n propertyType: DataType.Integer,\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propInt\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n const ecProperties: ECProperty[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"propString\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.Integer,\n ecPropertyName: \"propInt\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n\n assert.deepEqual(result, propertiesMetaData);\n\n });\n\n it(\"can find properties generated from a single property\", () => {\n\n const propertiesMetaData: PropertyMetaData[] = [{\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"Model\",\n ],\n propertyType: DataType.String,\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n }];\n\n const ecProperties: ECProperty[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n assert.deepEqual(result, propertiesMetaData);\n\n });\n\n it(\"cannot find properties generated from a single property in the wrong order\", () => {\n\n const propertiesMetaData: PropertyMetaData[] = [{\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\n \"Model\",\n ],\n propertyType: DataType.String,\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n }];\n\n const ecProperties: ECProperty[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyType: DataType.String,\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n expect(result).to.be.of.length(0);\n });\n\n});\n"]}
1
+ {"version":3,"file":"GroupPropertyUtils.test.js","sourceRoot":"","sources":["../../../src/test/GroupPropertyUtils.test.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 *--------------------------------------------------------------------------------------------*/\nimport type { ECPropertyReference } from \"@itwin/insights-client\";\nimport type { PropertyMetaData } from \"../components/Properties/GroupProperties/GroupPropertyUtils\";\nimport { convertPresentationFields, convertToECProperties, findProperties } from \"../components/Properties/GroupProperties/GroupPropertyUtils\";\nimport {\n createTestECClassInfo,\n createTestNestedContentField,\n createTestPropertiesContentField,\n createTestPropertyInfo,\n createTestRelatedClassInfo,\n} from \"./PropertyFieldsHelpers\";\nimport { assert, expect } from \"chai\";\nimport type { NavigationPropertyInfo, StructTypeDescription } from \"@itwin/presentation-common\";\nimport { PropertyValueFormat, RelationshipMeaning } from \"@itwin/presentation-common\";\n\ndescribe(\"Group properties utilities\", () => {\n it(\"one primitive string property\", () => {\n const propertyFields = [createTestPropertiesContentField({ properties: [{ property: createTestPropertyInfo() }] })];\n\n const result = convertPresentationFields(propertyFields);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|PropertyName\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"multiple primitive properies of different types\", () => {\n const testProperties = [\n createTestPropertyInfo({ name: \"propString\" }),\n createTestPropertyInfo({ name: \"propInt\", type: \"int\" }),\n createTestPropertyInfo({ name: \"propBool\", type: \"boolean\" }),\n createTestPropertyInfo({ name: \"propEnum\", type: \"enum\" }),\n createTestPropertyInfo({ name: \"propLong\", type: \"long\" }),\n createTestPropertyInfo({ name: \"propNumber\", type: \"number\" }),\n ];\n const propertyFields = testProperties.map((p) => createTestPropertiesContentField({ properties: [{ property: p }] }));\n\n const result = convertPresentationFields(propertyFields);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propString\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propString\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propInt\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propInt\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propBool\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propBool\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propEnum\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propEnum\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propLong\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propLong\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propNumber\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propNumber\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"one BisCore:ElementOwnsUniqueAspect nested property\", () => {\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Some:UniqueAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsUniqueAspect\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"one BisCore:ElementOwnsMultiAspects nested property\", () => {\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Some:MultiAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsMultiAspects\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"one BisCore:GeometricElement3dHasTypeDefinition nested property\", () => {\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"prop1\" }) }],\n });\n\n const nestedAspectField = createTestNestedContentField({\n nestedFields: [propertiesField],\n relationshipMeaning: RelationshipMeaning.RelatedInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"Schema:SomeType\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:GeometricElement3dHasTypeDefinition\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n actualECClassName: \"SchemaName:ClassName\",\n categoryLabel: \"Test Category\",\n displayLabel: \"Properties Field\",\n ecPropertyTraversal: [\"TypeDefinition\", \"prop1\"],\n key: \"SchemaName:ClassName|SchemaName:ClassName|TypeDefinition|prop1\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n primitiveNavigationClass: \"\",\n sourceClassName: \"*\",\n sourceSchema: \"*\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"generate proper external source metadata\", () => {\n const propertyName = createTestPropertyInfo({ name: \"name\" });\n const propertyPath = createTestPropertyInfo({ name: \"path\" });\n const repositoryProperties = createTestPropertiesContentField({\n properties: [{ property: propertyName }, { property: propertyPath }],\n });\n\n const nestedExternalSource = createTestNestedContentField({\n nestedFields: [repositoryProperties],\n contentClassInfo: { name: \"BisCore:RepositoryLink\", id: \"\", label: \"\" },\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceIsInRepository\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:RepositoryLink\" }),\n targetClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSource\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ElementIsFromSource\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ExternalSource\" }),\n targetClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceAspect\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const propertiesField = createTestPropertiesContentField({\n properties: [{ property: createTestPropertyInfo({ name: \"Identifier\" }) }],\n });\n\n const nestedSourceAspectField = createTestNestedContentField({\n nestedFields: [propertiesField, nestedExternalSource],\n relationshipMeaning: RelationshipMeaning.SameInstance,\n pathToPrimaryClass: [\n createTestRelatedClassInfo({\n sourceClassInfo: createTestECClassInfo({ name: \"BisCore:ExternalSourceAspect\" }),\n relationshipInfo: createTestECClassInfo({ name: \"BisCore:ElementOwnsMultiAspects\" }),\n targetClassInfo: createTestECClassInfo({ name: \"Schema:Class\" }),\n isForwardRelationship: false,\n isPolymorphicRelationship: true,\n }),\n ],\n });\n\n const result = convertPresentationFields([nestedSourceAspectField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Identifier\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"SchemaName:ClassName\",\n key: \"SchemaName:ClassName|SchemaName:ClassName|Identifier\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Source\", \"Repository\", \"name\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"BisCore:RepositoryLink\",\n key: \"BisCore:RepositoryLink|SchemaName:ClassName|Source|Repository|name\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"SchemaName\",\n sourceClassName: \"ClassName\",\n ecPropertyTraversal: [\"Source\", \"Repository\", \"path\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: \"BisCore:RepositoryLink\",\n key: \"BisCore:RepositoryLink|SchemaName:ClassName|Source|Repository|path\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"handle simple structs correctly\", () => {\n const structPropertyClass = createTestPropertyInfo({ classInfo: { id: \"0\", label: \"\", name: \"Struct:Class\" } });\n\n const structContentFieldDescription: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"StructType\",\n members: [\n {\n name: \"prop1\",\n label: \"prop one\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n },\n ],\n };\n const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });\n\n const result = convertPresentationFields([simpleStructField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"prop one\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|prop1\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"handle simple nested structs correctly\", () => {\n const structPropertyClass = createTestPropertyInfo({ classInfo: { id: \"0\", label: \"\", name: \"Struct:Class\" } });\n\n const structContentFieldDescription: StructTypeDescription = {\n valueFormat: PropertyValueFormat.Struct,\n typeName: \"StructType\",\n members: [\n {\n name: \"prop1\",\n label: \"prop one\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n },\n {\n name: \"struct1\",\n label: \"struct1\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Struct,\n members: [\n {\n name: \"prop2\",\n label: \"prop 2\",\n type: {\n typeName: \"string\",\n valueFormat: PropertyValueFormat.Primitive,\n },\n },\n ],\n },\n },\n ],\n };\n\n const simpleStructField = createTestPropertiesContentField({ properties: [{ property: structPropertyClass }], type: structContentFieldDescription });\n\n const result = convertPresentationFields([simpleStructField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"prop one\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"prop1\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|prop1\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"prop 2\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PropertyName\", \"struct1\", \"prop2\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"Struct:Class\",\n parentPropertyClassName: undefined,\n key: \"undefined|Struct:Class|PropertyName|struct1|prop2\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"handle primitive navigation (Model)\", () => {\n const modelClassInfo = createTestECClassInfo({ name: \"BisCore:Element\", label: \"Element\" });\n const navigationClassInfo = createTestECClassInfo({ name: \"BisCore:ModelContainsElements\", label: \"ModelContainsElements\" });\n\n const navigationPropertyInfo: NavigationPropertyInfo = {\n classInfo: navigationClassInfo,\n isForwardRelationship: false,\n // Target class does not matter\n targetClassInfo: createTestECClassInfo(),\n isTargetPolymorphic: true,\n };\n\n const modelPropertyInfo = createTestPropertyInfo({ name: \"Model\", classInfo: modelClassInfo, type: \"long\", navigationPropertyInfo });\n\n const simpleModelField = createTestPropertiesContentField({ label: \"Model\", properties: [{ property: modelPropertyInfo }] });\n\n const result = convertPresentationFields([simpleModelField]);\n\n const expectedResult: PropertyMetaData[] = [\n {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n parentPropertyClassName: undefined,\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert PropertyMetaData non primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"A Property\",\n sourceSchema: \"Schema\",\n sourceClassName: \"Class\",\n ecPropertyTraversal: [\"PropertyName\", \"SecondProperty\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|PropertyName\",\n categoryLabel: \"Test Category\",\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"Schema\",\n ecClassName: \"Class\",\n ecPropertyName: \"PropertyName.SecondProperty\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Model PropertyMetaData primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Category PropertyMetaData primitive navigation into ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Category\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Category\"],\n primitiveNavigationClass: \"BisCore:GeometricElement3dIsInCategory\",\n actualECClassName: \"BisCore:GeometricElement3d\",\n key: \"undefined|BisCore:GeometricElement3d|Category\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Category.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Category.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"convert Physical Material PropertyMetaData primitive navigation into an ECProperty\", () => {\n const propertyMetaData: PropertyMetaData = {\n displayLabel: \"Physical Material\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"PhysicalMaterial\"],\n primitiveNavigationClass: \"BisCore:PhysicalElementIsOfPhysicalMaterial\",\n actualECClassName: \"BisCore:PhysicalElement\",\n key: \"undefined|BisCore:PhysicalElement|PhysicalMaterial\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n };\n\n const result = convertToECProperties(propertyMetaData);\n\n const expectedResult: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"PhysicalMaterial.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"PhysicalMaterial.CodeValue\",\n },\n ];\n\n assert.deepEqual(result, expectedResult);\n });\n\n it(\"find properties correctly\", () => {\n const propertiesMetaData: PropertyMetaData[] = [\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propString\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propString\",\n categoryLabel: \"Test Category\",\n },\n {\n displayLabel: \"Properties Field\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"propInt\"],\n primitiveNavigationClass: \"\",\n actualECClassName: \"SchemaName:ClassName\",\n parentPropertyClassName: undefined,\n key: \"undefined|SchemaName:ClassName|propInt\",\n categoryLabel: \"Test Category\",\n },\n ];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"propString\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"propInt\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n\n assert.deepEqual(result, propertiesMetaData);\n });\n\n it(\"can find properties generated from a single property\", () => {\n const propertiesMetaData: PropertyMetaData[] = [\n {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n },\n ];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n assert.deepEqual(result, propertiesMetaData);\n });\n\n it(\"cannot find properties generated from a single property in the wrong order\", () => {\n const propertiesMetaData: PropertyMetaData[] = [\n {\n displayLabel: \"Model\",\n sourceSchema: \"*\",\n sourceClassName: \"*\",\n ecPropertyTraversal: [\"Model\"],\n primitiveNavigationClass: \"BisCore:ModelContainsElements\",\n actualECClassName: \"BisCore:Element\",\n key: \"undefined|BisCore:Element|Model\",\n categoryLabel: \"Selected Item\",\n parentPropertyClassName: undefined,\n },\n ];\n\n const ecProperties: ECPropertyReference[] = [\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.CodeValue\",\n },\n {\n ecSchemaName: \"*\",\n ecClassName: \"*\",\n ecPropertyName: \"Model.ModeledElement.UserLabel\",\n },\n ];\n\n const result = findProperties(ecProperties, propertiesMetaData);\n expect(result).to.be.of.length(0);\n });\n});\n"]}