@reltio/components 1.4.1944 → 1.4.1946

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 (301) hide show
  1. package/cjs/AttributeListItem/AttributeListItem.spec.js +4 -4
  2. package/cjs/AttributesErrorsPanel/components/Error/Error.specs.js +1 -1
  3. package/cjs/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +8 -8
  4. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +2 -2
  5. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +3 -3
  6. package/cjs/AttributesFiltersButton/AttributesFiltersButton.test.js +1 -1
  7. package/cjs/AttributesView/AttributesView.d.ts +2 -1
  8. package/cjs/AttributesView/AttributesView.js +4 -2
  9. package/cjs/AttributesView/AttributesView.test.js +32 -0
  10. package/cjs/AutoSizeList/AutoSizeList.test.js +27 -30
  11. package/cjs/BasicTable/BasicTable.test.js +26 -5
  12. package/cjs/BasicTable/IntegrationBasicTable.test.js +16 -5
  13. package/cjs/BasicTable/helpers.test.js +1 -1
  14. package/cjs/CollapseRowButton/CollapseRowButton.test.js +3 -3
  15. package/cjs/CommentsContainer/CommentsContainer.test.js +2 -2
  16. package/cjs/CustomDateRangeEditor/CustomDateRangeEditor.test.js +2 -2
  17. package/cjs/DataTypeValue/DataTypeValue.test.js +2 -25
  18. package/cjs/DataTypeValueEditor/useEditorContext.test.js +2 -2
  19. package/cjs/DependentLookupEditor/DependentLookupEditor.test.js +116 -70
  20. package/cjs/DropDownEditor/DropDownEditor.test.js +1 -1
  21. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +4 -27
  22. package/cjs/EditModeAttributesList/EditModeAttributesList.d.ts +1 -1
  23. package/cjs/EditModeAttributesList/EditModeAttributesList.js +16 -5
  24. package/cjs/EditModeAttributesList/EditModeAttributesList.test.js +7 -4
  25. package/cjs/EditModeAttributesPager/EditModeAttributesPager.js +1 -2
  26. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +4 -1
  27. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +28 -37
  28. package/cjs/EntitySelector/EntitySelector.test.js +13 -42
  29. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +1 -1
  30. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.js +1 -1
  31. package/cjs/EntitySelector/components/Group/Group.test.js +1 -1
  32. package/cjs/EntityUriLink/EntityUriLink.test.js +1 -0
  33. package/cjs/ErrorBoundary/ErrorBoundary.test.js +2 -0
  34. package/cjs/ExpandedValueTooltip/ExpandedValueTooltip.test.js +4 -1
  35. package/cjs/FilterButton/FilterButton.test.js +1 -1
  36. package/cjs/HOCs/withFilter/components/ColumnFilter/ColumnFilter.spec.js +3 -3
  37. package/cjs/HOCs/withTableContext/withTableContext.test.js +1 -1
  38. package/cjs/HierarchyNodeTitle/HierarchyNodeTitle.test.js +4 -27
  39. package/cjs/HierarchyNodeTitle/useEntityDetails.test.js +18 -32
  40. package/cjs/ImageAttributesGallery/ImageAttributesGallery.test.js +6 -4
  41. package/cjs/ImageAttributesGallery/components/HeaderRight/HeaderRight.test.js +1 -1
  42. package/cjs/ImageAttributesLine/ImageAttributesLine.test.js +110 -68
  43. package/cjs/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +4 -4
  44. package/cjs/ImageGalleryDialog/ImageGalleryDialog.specs.js +3 -3
  45. package/cjs/ImportButton/ImportButton.test.js +1 -1
  46. package/cjs/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.js +1 -1
  47. package/cjs/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.test.js +1 -1
  48. package/cjs/InlineComplexAttribute/InlineComplexAttribute.test.js +3 -3
  49. package/cjs/InlineSimpleAttribute/InlineSimpleAttribute.spec.js +31 -22
  50. package/cjs/LineChart/LineChart.test.js +1 -1
  51. package/cjs/Link/Link.test.js +1 -0
  52. package/cjs/LookupEditor/LookupEditor.test.js +3 -3
  53. package/cjs/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.js +1 -1
  54. package/cjs/MapChart/MapChart.test.js +3 -3
  55. package/cjs/MetadataTypesSelector/MetadataTypesSelector.test.js +3 -3
  56. package/cjs/MoreAttributesButton/MoreAttributesButton.test.js +1 -1
  57. package/cjs/MultipleInput/MultipleInput.test.js +11 -11
  58. package/cjs/MultipliableSelect/MultipliableSelect.test.js +14 -8
  59. package/cjs/NestedAttributeEditor/NestedAttributeEditor.test.js +4 -27
  60. package/cjs/NumberEditor/NumberEditor.test.js +4 -4
  61. package/cjs/PieChart/PieChart.test.js +1 -1
  62. package/cjs/PivotingTooltip/IntegrationPivotingTooltip.test.js +11 -34
  63. package/cjs/PivotingTooltip/components/PivotingTooltipContent/PivotingTooltipContent.test.js +4 -30
  64. package/cjs/PivotingUriLink/PivotingUriLink.spec.js +1 -0
  65. package/cjs/ProfileBandNavigation/useSearchNavigation.test.js +3 -3
  66. package/cjs/ProfilesList/ProfilesList.spec.js +1 -1
  67. package/cjs/ReactSelectLoadMoreButton/ReactSelectLoadMoreButton.test.js +1 -1
  68. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.d.ts +2 -2
  69. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.js +6 -4
  70. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.test.js +1 -1
  71. package/cjs/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +11 -2
  72. package/cjs/ReadOnlyAttributesPager/components/EmptyRenderer/EmptyRenderer.d.ts +9 -0
  73. package/cjs/ReadOnlyAttributesPager/components/EmptyRenderer/EmptyRenderer.js +20 -0
  74. package/cjs/ReadOnlyAttributesPager/components/EmptyRenderer/index.d.ts +1 -0
  75. package/cjs/ReadOnlyAttributesPager/components/EmptyRenderer/index.js +5 -0
  76. package/cjs/ReadOnlyAttributesPager/styles.d.ts +1 -0
  77. package/cjs/ReadOnlyAttributesPager/styles.js +5 -1
  78. package/cjs/ReferenceAttributeEditor/ReferenceAttributeEditor.test.js +6 -30
  79. package/cjs/RelationEditor/IntegrationRelationEditor.test.js +1 -1
  80. package/cjs/RelationEditor/RelationEditor.test.js +20 -44
  81. package/cjs/ReltioMap/ReltioMap.spec.js +10 -8
  82. package/cjs/ReltioMap/components/EntityMarker/EntityMarker.spec.js +2 -26
  83. package/cjs/ScrollableTabs/ScrollableTabs.test.js +1 -1
  84. package/cjs/SearchInput/SearchInput.spec.js +2 -2
  85. package/cjs/SelectionPopup/SelectionPopup.spec.js +9 -12
  86. package/cjs/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +4 -4
  87. package/cjs/ShowLess/ShowLess.test.js +1 -1
  88. package/cjs/ShowMore/ShowMore.test.js +2 -2
  89. package/cjs/SideButtonsPanel/SideButtonsPanel.spec.js +3 -3
  90. package/cjs/SimpleAttribute/IntegrationSimpleAttribute.test.js +15 -34
  91. package/cjs/SimpleDropDownSelector/SimpleDropDownSelector.test.js +1 -1
  92. package/cjs/TableWithBars/TableWithBars.test.js +1 -1
  93. package/cjs/TreeChart/TreeChart.test.js +1 -1
  94. package/cjs/TypeaheadEditor/TypeaheadEditor.test.js +8 -1
  95. package/cjs/UploadFileButton/UploadFileButton.spec.js +103 -69
  96. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.test.js +4 -1
  97. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.test.js +3 -1
  98. package/cjs/constants/attributes.d.ts +1 -1
  99. package/cjs/constants/attributes.js +2 -2
  100. package/cjs/constants/index.d.ts +1 -1
  101. package/cjs/constants/index.js +2 -2
  102. package/cjs/contexts/AllwaysVisibleAttributesContext/index.d.ts +2 -0
  103. package/cjs/contexts/AllwaysVisibleAttributesContext/index.js +6 -0
  104. package/cjs/features/activity-log/ActivitiesFactory/components/SearchActivity/SearchActivity.test.js +2 -2
  105. package/cjs/features/activity-log/ActivityExportButton/ActivityExportButton.specs.js +1 -25
  106. package/cjs/features/activity-log/ActivityFilterEditor/components/EntityChangedSelectors/EntityChangedSelectors.specs.js +1 -25
  107. package/cjs/features/activity-log/ActivityLog/ActivityLog.test.js +4 -0
  108. package/cjs/features/activity-log/ActivityLog/components/GroupItem/GroupItem.test.js +1 -1
  109. package/cjs/features/activity-log/ActivityLogFilter/ActivityLogFilter.specs.js +1 -2
  110. package/cjs/features/crosswalks/AttributesTable/AttributesTable.test.js +13 -13
  111. package/cjs/features/crosswalks/AttributesTable/IntegrationAttributesTable.test.js +5 -5
  112. package/cjs/features/crosswalks/AttributesTable/components/AddAttributesButton/AddAttributesButton.test.js +4 -4
  113. package/cjs/features/crosswalks/AttributesTable/components/ConfirmEditIgnoredDialog/ConfirmEditIgnoredDialog.test.js +5 -5
  114. package/cjs/features/crosswalks/AttributesTable/components/WinnerSourcesRenderer/WinnerSourcesRenderer.test.js +2 -2
  115. package/cjs/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.d.ts +2 -2
  116. package/cjs/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.js +27 -4
  117. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +15 -16
  118. package/cjs/features/crosswalks/ShowDependentLink/ShowDependentLink.test.js +1 -1
  119. package/cjs/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +2 -2
  120. package/cjs/features/crosswalks/hooks/useAttributeActions.test.js +95 -118
  121. package/cjs/features/crosswalks/hooks/useCrosswalkActions.test.js +38 -61
  122. package/cjs/features/crosswalks/hooks/useModifiedEntity.test.js +8 -8
  123. package/cjs/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.test.js +2 -2
  124. package/cjs/features/history/ContributorsPanel/components/ContributorItem/ContributorItem.specs.js +5 -26
  125. package/cjs/features/history/HistoryGraph/components/HistoryLink/HistoryLink.specs.js +2 -2
  126. package/cjs/features/history/HistoryRow/HistoryRow.specs.js +2 -26
  127. package/cjs/features/history/HistoryTree/HistoryTree.specs.js +1 -1
  128. package/cjs/features/history/HistoryView/HistoryView.specs.js +1 -1
  129. package/cjs/features/history/helpers/filters.test.js +6 -6
  130. package/cjs/features/history/hooks/useHistory.test.js +23 -48
  131. package/cjs/features/workflow/AddWorkflowDialog/AddWorkflowDialog.spec.js +24 -8
  132. package/cjs/features/workflow/AssigneeSelector/AssigneeSelector.spec.js +1 -26
  133. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.spec.js +4 -30
  134. package/cjs/features/workflow/hooks/useChangeRequest.specs.js +11 -36
  135. package/cjs/helpers/attributesView.d.ts +1 -1
  136. package/cjs/helpers/attributesView.js +2 -2
  137. package/cjs/helpers/customScript.test.js +19 -19
  138. package/cjs/hooks/useAPI/useAPI.test.js +12 -12
  139. package/cjs/hooks/useBasicTableCellRenderer/CellRenderer.test.js +2 -1
  140. package/cjs/hooks/useCollapsibleTableRows/dataHelpers.test.js +1 -1
  141. package/cjs/hooks/useCollapsibleTableRows/useCollapsibleTableRows.test.js +1 -1
  142. package/cjs/hooks/useConfigPermissions/useConfigPermissions.specs.js +5 -29
  143. package/cjs/hooks/useCustomScripts/useCustomScripts.test.js +8 -8
  144. package/cjs/hooks/useLayoutResetter/useLayoutResetter.test.js +8 -8
  145. package/cjs/hooks/useMarkers/helpers.js +1 -2
  146. package/cjs/hooks/useReadableSearchState/useReadableSearchState.test.js +14 -44
  147. package/cjs/hooks/useRelationsLoader/useRelationsLoader.specs.js +3 -4
  148. package/cjs/hooks/useSavedStateForEntityType/useSavedStateForEntityType.test.js +4 -4
  149. package/cjs/hooks/useScrollToAttributeError/useScrollToAttributeError.test.js +1 -1
  150. package/cjs/hooks/useSnackbar/useSnackbar.test.js +24 -17
  151. package/esm/AttributeListItem/AttributeListItem.spec.js +4 -4
  152. package/esm/AttributesErrorsPanel/components/Error/Error.specs.js +1 -1
  153. package/esm/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +8 -8
  154. package/esm/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +2 -2
  155. package/esm/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +3 -3
  156. package/esm/AttributesFiltersButton/AttributesFiltersButton.test.js +1 -1
  157. package/esm/AttributesView/AttributesView.d.ts +2 -1
  158. package/esm/AttributesView/AttributesView.js +4 -2
  159. package/esm/AttributesView/AttributesView.test.js +32 -0
  160. package/esm/AutoSizeList/AutoSizeList.test.js +28 -31
  161. package/esm/BasicTable/BasicTable.test.js +26 -5
  162. package/esm/BasicTable/IntegrationBasicTable.test.js +17 -6
  163. package/esm/BasicTable/helpers.test.js +1 -1
  164. package/esm/CollapseRowButton/CollapseRowButton.test.js +3 -3
  165. package/esm/CommentsContainer/CommentsContainer.test.js +2 -2
  166. package/esm/CustomDateRangeEditor/CustomDateRangeEditor.test.js +2 -2
  167. package/esm/DataTypeValue/DataTypeValue.test.js +2 -2
  168. package/esm/DataTypeValueEditor/useEditorContext.test.js +2 -2
  169. package/esm/DependentLookupEditor/DependentLookupEditor.test.js +116 -70
  170. package/esm/DropDownEditor/DropDownEditor.test.js +1 -1
  171. package/esm/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +4 -4
  172. package/esm/EditModeAttributesList/EditModeAttributesList.d.ts +1 -1
  173. package/esm/EditModeAttributesList/EditModeAttributesList.js +17 -6
  174. package/esm/EditModeAttributesList/EditModeAttributesList.test.js +5 -2
  175. package/esm/EditModeAttributesPager/EditModeAttributesPager.js +1 -2
  176. package/esm/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +4 -1
  177. package/esm/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +30 -16
  178. package/esm/EntitySelector/EntitySelector.test.js +13 -19
  179. package/esm/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +1 -1
  180. package/esm/EntitySelector/components/EntityOption/EntityOption.test.js +1 -1
  181. package/esm/EntitySelector/components/Group/Group.test.js +1 -1
  182. package/esm/EntityUriLink/EntityUriLink.test.js +1 -0
  183. package/esm/ErrorBoundary/ErrorBoundary.test.js +2 -0
  184. package/esm/ExpandedValueTooltip/ExpandedValueTooltip.test.js +4 -1
  185. package/esm/FilterButton/FilterButton.test.js +1 -1
  186. package/esm/HOCs/withFilter/components/ColumnFilter/ColumnFilter.spec.js +3 -3
  187. package/esm/HOCs/withTableContext/withTableContext.test.js +1 -1
  188. package/esm/HierarchyNodeTitle/HierarchyNodeTitle.test.js +4 -4
  189. package/esm/HierarchyNodeTitle/useEntityDetails.test.js +19 -10
  190. package/esm/ImageAttributesGallery/ImageAttributesGallery.test.js +6 -4
  191. package/esm/ImageAttributesGallery/components/HeaderRight/HeaderRight.test.js +1 -1
  192. package/esm/ImageAttributesLine/ImageAttributesLine.test.js +110 -68
  193. package/esm/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +4 -4
  194. package/esm/ImageGalleryDialog/ImageGalleryDialog.specs.js +3 -3
  195. package/esm/ImportButton/ImportButton.test.js +1 -1
  196. package/esm/InlineAttributesPager/components/InlineNestedAttributesBlock/InlineNestedAttributesBlock.test.js +1 -1
  197. package/esm/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.test.js +1 -1
  198. package/esm/InlineComplexAttribute/InlineComplexAttribute.test.js +3 -3
  199. package/esm/InlineSimpleAttribute/InlineSimpleAttribute.spec.js +32 -23
  200. package/esm/LineChart/LineChart.test.js +1 -1
  201. package/esm/Link/Link.test.js +1 -0
  202. package/esm/LookupEditor/LookupEditor.test.js +3 -3
  203. package/esm/LookupEditor/components/GroupedDropDownEditor/GroupedDropDownEditor.test.js +1 -1
  204. package/esm/MapChart/MapChart.test.js +3 -3
  205. package/esm/MetadataTypesSelector/MetadataTypesSelector.test.js +3 -3
  206. package/esm/MoreAttributesButton/MoreAttributesButton.test.js +1 -1
  207. package/esm/MultipleInput/MultipleInput.test.js +11 -11
  208. package/esm/MultipliableSelect/MultipliableSelect.test.js +14 -8
  209. package/esm/NestedAttributeEditor/NestedAttributeEditor.test.js +4 -4
  210. package/esm/NumberEditor/NumberEditor.test.js +4 -4
  211. package/esm/PieChart/PieChart.test.js +1 -1
  212. package/esm/PivotingTooltip/IntegrationPivotingTooltip.test.js +11 -11
  213. package/esm/PivotingTooltip/components/PivotingTooltipContent/PivotingTooltipContent.test.js +4 -7
  214. package/esm/PivotingUriLink/PivotingUriLink.spec.js +1 -0
  215. package/esm/ProfileBandNavigation/useSearchNavigation.test.js +3 -3
  216. package/esm/ProfilesList/ProfilesList.spec.js +1 -1
  217. package/esm/ReactSelectLoadMoreButton/ReactSelectLoadMoreButton.test.js +1 -1
  218. package/esm/ReadOnlyAttributesList/ReadOnlyAttributesList.d.ts +2 -2
  219. package/esm/ReadOnlyAttributesList/ReadOnlyAttributesList.js +7 -5
  220. package/esm/ReadOnlyAttributesList/ReadOnlyAttributesList.test.js +1 -1
  221. package/esm/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +12 -3
  222. package/esm/ReadOnlyAttributesPager/components/EmptyRenderer/EmptyRenderer.d.ts +9 -0
  223. package/esm/ReadOnlyAttributesPager/components/EmptyRenderer/EmptyRenderer.js +13 -0
  224. package/esm/ReadOnlyAttributesPager/components/EmptyRenderer/index.d.ts +1 -0
  225. package/esm/ReadOnlyAttributesPager/components/EmptyRenderer/index.js +1 -0
  226. package/esm/ReadOnlyAttributesPager/styles.d.ts +1 -0
  227. package/esm/ReadOnlyAttributesPager/styles.js +4 -0
  228. package/esm/ReferenceAttributeEditor/ReferenceAttributeEditor.test.js +7 -8
  229. package/esm/RelationEditor/IntegrationRelationEditor.test.js +1 -1
  230. package/esm/RelationEditor/RelationEditor.test.js +21 -22
  231. package/esm/ReltioMap/ReltioMap.spec.js +11 -9
  232. package/esm/ReltioMap/components/EntityMarker/EntityMarker.spec.js +3 -4
  233. package/esm/ScrollableTabs/ScrollableTabs.test.js +1 -1
  234. package/esm/SearchInput/SearchInput.spec.js +2 -2
  235. package/esm/SelectionPopup/SelectionPopup.spec.js +9 -12
  236. package/esm/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +4 -4
  237. package/esm/ShowLess/ShowLess.test.js +1 -1
  238. package/esm/ShowMore/ShowMore.test.js +2 -2
  239. package/esm/SideButtonsPanel/SideButtonsPanel.spec.js +3 -3
  240. package/esm/SimpleAttribute/IntegrationSimpleAttribute.test.js +16 -12
  241. package/esm/SimpleDropDownSelector/SimpleDropDownSelector.test.js +1 -1
  242. package/esm/TableWithBars/TableWithBars.test.js +1 -1
  243. package/esm/TreeChart/TreeChart.test.js +1 -1
  244. package/esm/TypeaheadEditor/TypeaheadEditor.test.js +8 -1
  245. package/esm/UploadFileButton/UploadFileButton.spec.js +103 -69
  246. package/esm/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.test.js +4 -1
  247. package/esm/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.test.js +3 -1
  248. package/esm/constants/attributes.d.ts +1 -1
  249. package/esm/constants/attributes.js +1 -1
  250. package/esm/constants/index.d.ts +1 -1
  251. package/esm/constants/index.js +1 -1
  252. package/esm/contexts/AllwaysVisibleAttributesContext/index.d.ts +2 -0
  253. package/esm/contexts/AllwaysVisibleAttributesContext/index.js +3 -0
  254. package/esm/features/activity-log/ActivitiesFactory/components/SearchActivity/SearchActivity.test.js +2 -2
  255. package/esm/features/activity-log/ActivityExportButton/ActivityExportButton.specs.js +1 -2
  256. package/esm/features/activity-log/ActivityFilterEditor/components/EntityChangedSelectors/EntityChangedSelectors.specs.js +2 -3
  257. package/esm/features/activity-log/ActivityLog/ActivityLog.test.js +4 -0
  258. package/esm/features/activity-log/ActivityLog/components/GroupItem/GroupItem.test.js +1 -1
  259. package/esm/features/activity-log/ActivityLogFilter/ActivityLogFilter.specs.js +1 -2
  260. package/esm/features/crosswalks/AttributesTable/AttributesTable.test.js +13 -13
  261. package/esm/features/crosswalks/AttributesTable/IntegrationAttributesTable.test.js +5 -5
  262. package/esm/features/crosswalks/AttributesTable/components/AddAttributesButton/AddAttributesButton.test.js +4 -4
  263. package/esm/features/crosswalks/AttributesTable/components/ConfirmEditIgnoredDialog/ConfirmEditIgnoredDialog.test.js +5 -5
  264. package/esm/features/crosswalks/AttributesTable/components/WinnerSourcesRenderer/WinnerSourcesRenderer.test.js +2 -2
  265. package/esm/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.d.ts +2 -2
  266. package/esm/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.js +4 -3
  267. package/esm/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +15 -16
  268. package/esm/features/crosswalks/ShowDependentLink/ShowDependentLink.test.js +1 -1
  269. package/esm/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +2 -2
  270. package/esm/features/crosswalks/hooks/useAttributeActions.test.js +95 -95
  271. package/esm/features/crosswalks/hooks/useCrosswalkActions.test.js +38 -38
  272. package/esm/features/crosswalks/hooks/useModifiedEntity.test.js +8 -8
  273. package/esm/features/graph/DataModelGraph/hooks/useEdgeLabelsRenderer.test.js +2 -2
  274. package/esm/features/history/ContributorsPanel/components/ContributorItem/ContributorItem.specs.js +5 -3
  275. package/esm/features/history/HistoryGraph/components/HistoryLink/HistoryLink.specs.js +2 -2
  276. package/esm/features/history/HistoryRow/HistoryRow.specs.js +2 -3
  277. package/esm/features/history/HistoryTree/HistoryTree.specs.js +1 -1
  278. package/esm/features/history/HistoryView/HistoryView.specs.js +1 -1
  279. package/esm/features/history/helpers/filters.test.js +6 -6
  280. package/esm/features/history/hooks/useHistory.test.js +23 -25
  281. package/esm/features/workflow/AddWorkflowDialog/AddWorkflowDialog.spec.js +25 -9
  282. package/esm/features/workflow/AssigneeSelector/AssigneeSelector.spec.js +1 -3
  283. package/esm/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.spec.js +5 -8
  284. package/esm/features/workflow/hooks/useChangeRequest.specs.js +11 -13
  285. package/esm/helpers/attributesView.d.ts +1 -1
  286. package/esm/helpers/attributesView.js +2 -2
  287. package/esm/helpers/customScript.test.js +19 -19
  288. package/esm/hooks/useAPI/useAPI.test.js +12 -12
  289. package/esm/hooks/useBasicTableCellRenderer/CellRenderer.test.js +2 -1
  290. package/esm/hooks/useCollapsibleTableRows/dataHelpers.test.js +1 -1
  291. package/esm/hooks/useCollapsibleTableRows/useCollapsibleTableRows.test.js +1 -1
  292. package/esm/hooks/useConfigPermissions/useConfigPermissions.specs.js +6 -7
  293. package/esm/hooks/useCustomScripts/useCustomScripts.test.js +8 -8
  294. package/esm/hooks/useLayoutResetter/useLayoutResetter.test.js +9 -9
  295. package/esm/hooks/useMarkers/helpers.js +1 -2
  296. package/esm/hooks/useReadableSearchState/useReadableSearchState.test.js +8 -15
  297. package/esm/hooks/useRelationsLoader/useRelationsLoader.specs.js +1 -2
  298. package/esm/hooks/useSavedStateForEntityType/useSavedStateForEntityType.test.js +4 -4
  299. package/esm/hooks/useScrollToAttributeError/useScrollToAttributeError.test.js +1 -1
  300. package/esm/hooks/useSnackbar/useSnackbar.test.js +25 -18
  301. package/package.json +2 -2
@@ -96,7 +96,7 @@ describe('MultipleInput behaviour', function () {
96
96
  return [4 /*yield*/, user.click(getMuiIconByName('Cancel', chips[1]))];
97
97
  case 1:
98
98
  _a.sent();
99
- expect(props.onChange).toBeCalledWith(['1', '3']);
99
+ expect(props.onChange).toHaveBeenCalledWith(['1', '3']);
100
100
  return [2 /*return*/];
101
101
  }
102
102
  });
@@ -111,7 +111,7 @@ describe('MultipleInput behaviour', function () {
111
111
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '4{Enter}')];
112
112
  case 1:
113
113
  _a.sent();
114
- expect(props.onChange).toBeCalledWith(['1', '2', '3', '4']);
114
+ expect(props.onChange).toHaveBeenCalledWith(['1', '2', '3', '4']);
115
115
  return [2 /*return*/];
116
116
  }
117
117
  });
@@ -129,7 +129,7 @@ describe('MultipleInput behaviour', function () {
129
129
  return [4 /*yield*/, user.click(container)];
130
130
  case 2:
131
131
  _b.sent();
132
- expect(props.onChange).toBeCalledWith(['1', '2', '3', '4']);
132
+ expect(props.onChange).toHaveBeenCalledWith(['1', '2', '3', '4']);
133
133
  return [2 /*return*/];
134
134
  }
135
135
  });
@@ -144,7 +144,7 @@ describe('MultipleInput behaviour', function () {
144
144
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '{Backspace}')];
145
145
  case 1:
146
146
  _a.sent();
147
- expect(props.onChange).toBeCalledWith(['1', '2']);
147
+ expect(props.onChange).toHaveBeenCalledWith(['1', '2']);
148
148
  return [2 /*return*/];
149
149
  }
150
150
  });
@@ -159,7 +159,7 @@ describe('MultipleInput behaviour', function () {
159
159
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '{Tab}')];
160
160
  case 1:
161
161
  _a.sent();
162
- expect(props.onChange).not.toBeCalled();
162
+ expect(props.onChange).not.toHaveBeenCalled();
163
163
  return [2 /*return*/];
164
164
  }
165
165
  });
@@ -174,7 +174,7 @@ describe('MultipleInput behaviour', function () {
174
174
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), 'test{Backspace}')];
175
175
  case 1:
176
176
  _a.sent();
177
- expect(props.onChange).not.toBeCalled();
177
+ expect(props.onChange).not.toHaveBeenCalled();
178
178
  return [2 /*return*/];
179
179
  }
180
180
  });
@@ -189,7 +189,7 @@ describe('MultipleInput behaviour', function () {
189
189
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '{Backspace}')];
190
190
  case 1:
191
191
  _a.sent();
192
- expect(props.onChange).not.toBeCalled();
192
+ expect(props.onChange).not.toHaveBeenCalled();
193
193
  return [2 /*return*/];
194
194
  }
195
195
  });
@@ -204,7 +204,7 @@ describe('MultipleInput behaviour', function () {
204
204
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), 'test{Enter}')];
205
205
  case 1:
206
206
  _a.sent();
207
- expect(props.onChange).toBeCalledWith(['test']);
207
+ expect(props.onChange).toHaveBeenCalledWith(['test']);
208
208
  return [2 /*return*/];
209
209
  }
210
210
  });
@@ -220,7 +220,7 @@ describe('MultipleInput behaviour', function () {
220
220
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), 'test 2{Enter}')];
221
221
  case 1:
222
222
  _a.sent();
223
- expect(props.onChange).toBeCalledWith(['test 1', 'test 2']);
223
+ expect(props.onChange).toHaveBeenCalledWith(['test 1', 'test 2']);
224
224
  return [2 /*return*/];
225
225
  }
226
226
  });
@@ -237,11 +237,11 @@ describe('MultipleInput behaviour', function () {
237
237
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '{Enter}')];
238
238
  case 1:
239
239
  _a.sent();
240
- expect(onChange).not.toBeCalled();
240
+ expect(onChange).not.toHaveBeenCalled();
241
241
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), ' {Enter}')];
242
242
  case 2:
243
243
  _a.sent();
244
- expect(onChange).not.toBeCalled();
244
+ expect(onChange).not.toHaveBeenCalled();
245
245
  return [2 /*return*/];
246
246
  }
247
247
  });
@@ -1,28 +1,32 @@
1
1
  import React from 'react';
2
2
  import { mount, shallow } from 'enzyme';
3
3
  import TextField from '@mui/material/TextField';
4
+ import MenuItem from '@mui/material/MenuItem';
4
5
  import { ValueChip } from '../ValueChip';
5
6
  import { MultipliableSelect } from './MultipliableSelect';
6
7
  describe('MultipliableSelect', function () {
7
8
  describe('single mode', function () {
8
9
  it('should render MUI TextField with string value', function () {
9
10
  var value = '1';
10
- var wrapper = mount(React.createElement(MultipliableSelect, { value: value }));
11
+ var wrapper = mount(React.createElement(MultipliableSelect, { value: value },
12
+ React.createElement(MenuItem, { value: "1" })));
11
13
  expect(wrapper.find(TextField)).toHaveLength(1);
12
14
  expect(wrapper.text()).toBe(value);
13
15
  });
14
16
  it('should call props.onChange on select change', function () {
15
17
  var onChange = jest.fn();
16
18
  var value = '1';
17
- var wrapper = shallow(React.createElement(MultipliableSelect, { onChange: onChange }));
19
+ var wrapper = shallow(React.createElement(MultipliableSelect, { onChange: onChange },
20
+ React.createElement("div", null)));
18
21
  wrapper.find(TextField).simulate('change', { target: { value: value } });
19
- expect(onChange).toBeCalledWith(value);
22
+ expect(onChange).toHaveBeenCalledWith(value);
20
23
  });
21
24
  });
22
25
  describe('multiple mode', function () {
23
26
  it('should render MUI TextField with chip values', function () {
24
27
  var value = ['1', '2', '3'];
25
- var wrapper = mount(React.createElement(MultipliableSelect, { multiple: true, value: value }));
28
+ var wrapper = mount(React.createElement(MultipliableSelect, { multiple: true, value: value },
29
+ React.createElement("div", null)));
26
30
  expect(wrapper.find(TextField).prop('SelectProps').multiple).toBe(true);
27
31
  expect(wrapper.find(ValueChip)).toHaveLength(value.length);
28
32
  wrapper.find(ValueChip).forEach(function (n, i) {
@@ -32,16 +36,18 @@ describe('MultipliableSelect', function () {
32
36
  it('should call props.onChange on select change', function () {
33
37
  var onChange = jest.fn();
34
38
  var value = ['1'];
35
- var wrapper = shallow(React.createElement(MultipliableSelect, { multiple: true, onChange: onChange }));
39
+ var wrapper = shallow(React.createElement(MultipliableSelect, { multiple: true, onChange: onChange },
40
+ React.createElement("div", null)));
36
41
  wrapper.find(TextField).simulate('change', { target: { value: value } });
37
- expect(onChange).toBeCalledWith(value);
42
+ expect(onChange).toHaveBeenCalledWith(value);
38
43
  });
39
44
  it('should call props.onChange on Chip deletion', function () {
40
45
  var value = ['1', '2', '3'];
41
46
  var onChange = jest.fn();
42
- var wrapper = mount(React.createElement(MultipliableSelect, { multiple: true, value: value, onChange: onChange }));
47
+ var wrapper = mount(React.createElement(MultipliableSelect, { multiple: true, value: value, onChange: onChange },
48
+ React.createElement("div", null)));
43
49
  wrapper.find(ValueChip).at(1).prop('onDelete')();
44
- expect(onChange).toBeCalledWith(['1', '3']);
50
+ expect(onChange).toHaveBeenCalledWith(['1', '3']);
45
51
  });
46
52
  });
47
53
  });
@@ -11,10 +11,10 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import React from 'react';
13
13
  import { shallow } from 'enzyme';
14
- import * as mdmSdk from '@reltio/mdm-sdk';
15
14
  import { NestedAttributeEditor } from './NestedAttributeEditor';
16
15
  import { EditModeComplexAttribute } from '../EditModeComplexAttribute';
17
- jest.mock('@reltio/mdm-sdk');
16
+ import { evaluateDeepEntityLabel, getLabel } from '@reltio/mdm-sdk';
17
+ jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { evaluateDeepEntityLabel: jest.fn(), getLabel: jest.fn() })); });
18
18
  describe('NestedAttributeEditor', function () {
19
19
  it('should render EditModeComplexAttribute with specified label and attributes', function () {
20
20
  var props = {
@@ -25,8 +25,8 @@ describe('NestedAttributeEditor', function () {
25
25
  attributeValue: {}
26
26
  };
27
27
  var label = 'Label123';
28
- jest.spyOn(mdmSdk, 'evaluateDeepEntityLabel').mockReturnValue(label);
29
- jest.spyOn(mdmSdk, 'getLabel').mockReturnValue(label);
28
+ evaluateDeepEntityLabel.mockReturnValue(label);
29
+ getLabel.mockReturnValue(label);
30
30
  var component = shallow(React.createElement(NestedAttributeEditor, __assign({}, props)));
31
31
  var complex = component.find(EditModeComplexAttribute);
32
32
  expect(complex.length).toBe(1);
@@ -98,7 +98,7 @@ describe('NumberEditor', function () {
98
98
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '<-123,456abc_78>{enter}')];
99
99
  case 1:
100
100
  _a.sent();
101
- expect(defaultProps.onChange).toBeCalledWith('-123456.78');
101
+ expect(defaultProps.onChange).toHaveBeenCalledWith('-123456.78');
102
102
  return [2 /*return*/];
103
103
  }
104
104
  });
@@ -116,7 +116,7 @@ describe('NumberEditor', function () {
116
116
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '{enter}')];
117
117
  case 1:
118
118
  _a.sent();
119
- expect(defaultProps.onChange).toBeCalledWith('123');
119
+ expect(defaultProps.onChange).toHaveBeenCalledWith('123');
120
120
  return [2 /*return*/];
121
121
  }
122
122
  });
@@ -155,7 +155,7 @@ describe('NumberEditor', function () {
155
155
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '<-123,456abc_78>{enter}')];
156
156
  case 1:
157
157
  _a.sent();
158
- expect(defaultProps.onChange).toBeCalledWith(['-123456.78']);
158
+ expect(defaultProps.onChange).toHaveBeenCalledWith(['-123456.78']);
159
159
  return [2 /*return*/];
160
160
  }
161
161
  });
@@ -173,7 +173,7 @@ describe('NumberEditor', function () {
173
173
  return [4 /*yield*/, user.type(screen.getByRole('textbox'), '123.45{enter}')];
174
174
  case 1:
175
175
  _a.sent();
176
- expect(defaultProps.onChange).toBeCalledWith(['12345']);
176
+ expect(defaultProps.onChange).toHaveBeenCalledWith(['12345']);
177
177
  return [2 /*return*/];
178
178
  }
179
179
  });
@@ -90,7 +90,7 @@ describe('PieChart', function () {
90
90
  var wrapper = mount(React.createElement(PieChart, { width: 600, height: 300, data: data, onItemClick: onItemClick }));
91
91
  var sector = wrapper.find('.recharts-pie-sector').first();
92
92
  sector.simulate('click');
93
- expect(onItemClick).toBeCalledWith('1');
93
+ expect(onItemClick).toHaveBeenCalledWith('1');
94
94
  });
95
95
  it('should render chart legend with percents correctly', function () {
96
96
  var legendPayload = [
@@ -46,7 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import React from 'react';
49
- import * as mdmSdkModule from '@reltio/mdm-sdk';
49
+ import { getFilteredEntities, getTotals } from '@reltio/mdm-sdk';
50
50
  import { render, screen } from '@testing-library/react';
51
51
  import userEvent from '@testing-library/user-event';
52
52
  import { MdmModuleProvider } from '../contexts/MdmModuleContext';
@@ -138,10 +138,10 @@ describe('PivotingTooltip test', function () {
138
138
  lookupCode: '8-800-555-35-35',
139
139
  lookupRawValue: '8-800-555-35-35'
140
140
  };
141
- var mockGetFilteredEntities = jest
142
- .spyOn(mdmSdkModule, 'getFilteredEntities')
143
- .mockResolvedValue(mockGetFilteredEntitiesResponse);
144
- var mockGetTotals = jest.spyOn(mdmSdkModule, 'getTotals').mockResolvedValue({ total: 5 });
141
+ beforeEach(function () {
142
+ getFilteredEntities.mockResolvedValue(mockGetFilteredEntitiesResponse);
143
+ getTotals.mockResolvedValue({ total: 5 });
144
+ });
145
145
  it('getTotals should not be called if user do not hover tooltip', function () { return __awaiter(void 0, void 0, void 0, function () {
146
146
  var value, attributeType, props, tooltip;
147
147
  return __generator(this, function (_a) {
@@ -159,8 +159,8 @@ describe('PivotingTooltip test', function () {
159
159
  case 1:
160
160
  tooltip = _a.sent();
161
161
  expect(tooltip).toBeInTheDocument();
162
- expect(mockGetTotals).toHaveBeenCalledTimes(0);
163
- expect(mockGetFilteredEntities).toHaveBeenCalledTimes(0);
162
+ expect(getTotals).toHaveBeenCalledTimes(0);
163
+ expect(getFilteredEntities).toHaveBeenCalledTimes(0);
164
164
  return [2 /*return*/];
165
165
  }
166
166
  });
@@ -192,7 +192,7 @@ describe('PivotingTooltip test', function () {
192
192
  case 4:
193
193
  tooltipContent = _a.sent();
194
194
  expect(tooltipContent).toBeInTheDocument();
195
- expect(mockGetFilteredEntities).toBeCalledWith({
195
+ expect(getFilteredEntities).toHaveBeenCalledWith({
196
196
  filters: [
197
197
  { fieldName: 'type', filter: 'equals', values: ['configuration/entityTypes/HCP'] },
198
198
  { fieldName: 'attributes.Phone', filter: 'equals', values: ['8-800-555-35-35'] }
@@ -242,7 +242,7 @@ describe('PivotingTooltip test', function () {
242
242
  case 4:
243
243
  tooltipContent = _a.sent();
244
244
  expect(tooltipContent).toBeInTheDocument();
245
- expect(mockGetFilteredEntities).toBeCalledWith({
245
+ expect(getFilteredEntities).toHaveBeenCalledWith({
246
246
  filters: [
247
247
  { fieldName: 'type', filter: 'equals', values: ['configuration/entityTypes/HCP_1'] },
248
248
  { fieldName: 'attributes.Phone', filter: 'equals', values: ['8-800-555-35-35'] }
@@ -286,7 +286,7 @@ describe('PivotingTooltip test', function () {
286
286
  case 4:
287
287
  tooltipContent = _a.sent();
288
288
  expect(tooltipContent).toBeInTheDocument();
289
- expect(mockGetTotals).toBeCalledWith({
289
+ expect(getTotals).toHaveBeenCalledWith({
290
290
  filters: [
291
291
  { fieldName: 'type', filter: 'equals', values: ['configuration/entityTypes/HCP'] },
292
292
  { fieldName: 'attributes.Phone', filter: 'equals', values: ['8-800-555-35-35'] }
@@ -336,7 +336,7 @@ describe('PivotingTooltip test', function () {
336
336
  case 4:
337
337
  tooltipContent = _a.sent();
338
338
  expect(tooltipContent).toBeInTheDocument();
339
- expect(mockGetTotals).toBeCalledWith({
339
+ expect(getTotals).toHaveBeenCalledWith({
340
340
  filters: [
341
341
  { fieldName: 'type', filter: 'equals', values: ['configuration/entityTypes/HCP_1'] },
342
342
  { fieldName: 'attributes.Phone', filter: 'equals', values: ['8-800-555-35-35'] }
@@ -48,14 +48,11 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
48
48
  import React from 'react';
49
49
  import { mount } from 'enzyme';
50
50
  import { act } from 'react-dom/test-utils';
51
- import * as mdmSdkModule from '@reltio/mdm-sdk';
52
- import { PivotingTooltipContent } from './PivotingTooltipContent';
51
+ import { getTotals } from '@reltio/mdm-sdk';
53
52
  import { PivotingUriLink } from '../../../PivotingUriLink';
54
53
  import { MdmModuleProvider } from '../../../contexts/MdmModuleContext';
54
+ import { PivotingTooltipContent } from './PivotingTooltipContent';
55
55
  jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getFilteredEntities: jest.fn(), getTotals: jest.fn() })); });
56
- jest.mock('../../../EntityAvatar', function () { return ({
57
- EntityUriLink: function () { return React.createElement("div", null); }
58
- }); });
59
56
  jest.mock('../../../EntityAvatar', function () { return ({
60
57
  EntityAvatar: function () { return React.createElement("div", null); }
61
58
  }); });
@@ -172,7 +169,7 @@ describe('PivotingTooltipContent test', function () {
172
169
  it('should not show footer with see all button if total count less than 6', function () { return __awaiter(void 0, void 0, void 0, function () {
173
170
  var component;
174
171
  return __generator(this, function (_a) {
175
- jest.spyOn(mdmSdkModule, 'getTotals').mockImplementation(function () { return Promise.resolve({ total: 4 }); });
172
+ getTotals.mockImplementation(function () { return Promise.resolve({ total: 4 }); });
176
173
  component = setUp();
177
174
  expect(component.find('.footer')).toHaveLength(0);
178
175
  return [2 /*return*/];
@@ -181,7 +178,7 @@ describe('PivotingTooltipContent test', function () {
181
178
  it('should show footer with see all button if total count more than 6', function () { return __awaiter(void 0, void 0, void 0, function () {
182
179
  var component;
183
180
  return __generator(this, function (_a) {
184
- jest.spyOn(mdmSdkModule, 'getTotals').mockImplementation(function () { return Promise.resolve({ total: 10 }); });
181
+ getTotals.mockImplementation(function () { return Promise.resolve({ total: 10 }); });
185
182
  component = setUp(__assign(__assign({}, defaultProps), { total: 7 }));
186
183
  expect(component.find('.footer')).toHaveLength(1);
187
184
  return [2 /*return*/];
@@ -99,6 +99,7 @@ describe('EntityUriLink tests', function () {
99
99
  onClick = defaultProps.onClick;
100
100
  user = setUp().user;
101
101
  link = screen.getByText('label');
102
+ link.addEventListener('click', function (event) { return event.preventDefault(); }, false);
102
103
  return [4 /*yield*/, user.keyboard('{Control>}')];
103
104
  case 1:
104
105
  _a.sent();
@@ -195,7 +195,7 @@ describe('useSearchNavigation behavior', function () {
195
195
  case 1:
196
196
  _b.sent();
197
197
  expect(mdmActions.updateSearchNavigationDataFields).toHaveBeenCalledTimes(1);
198
- expect(mdmActions.openEntity).toBeCalledTimes(1);
198
+ expect(mdmActions.openEntity).toHaveBeenCalledTimes(1);
199
199
  expect(mdmActions.updateSearchNavigationDataFields).toHaveBeenCalledWith({
200
200
  index: defaultMdmValues.searchNavigationData.index - 1,
201
201
  uri: 'uri0',
@@ -263,7 +263,7 @@ describe('useSearchNavigation behavior', function () {
263
263
  case 1:
264
264
  _b.sent();
265
265
  expect(mdmActions.updateSearchNavigationDataFields).toHaveBeenCalledTimes(1);
266
- expect(mdmActions.openEntity).toBeCalledTimes(1);
266
+ expect(mdmActions.openEntity).toHaveBeenCalledTimes(1);
267
267
  expect(mdmActions.updateSearchNavigationDataFields).toHaveBeenCalledWith({
268
268
  index: searchNavigationData.index - 2,
269
269
  uri: 'uri0',
@@ -305,7 +305,7 @@ describe('useSearchNavigation behavior', function () {
305
305
  case 1:
306
306
  _b.sent();
307
307
  expect(mdmActions.updateSearchNavigationDataFields).toHaveBeenCalledTimes(1);
308
- expect(mdmActions.openEntity).toBeCalledTimes(0);
308
+ expect(mdmActions.openEntity).toHaveBeenCalledTimes(0);
309
309
  expect(mdmActions.updateSearchNavigationDataFields).toHaveBeenCalledWith({
310
310
  index: searchNavigationData.index - 2,
311
311
  cache: ['uri2'],
@@ -17,7 +17,7 @@ import { EntityUriLink } from '../EntityUriLink';
17
17
  import { EntityAvatar } from '../EntityAvatar';
18
18
  import { ProfilesList } from './ProfilesList';
19
19
  import { ImportModes } from '../types';
20
- var EntityAvatarMock = function (props) { return React.createElement("div", __assign({}, props)); };
20
+ var EntityAvatarMock = function () { return React.createElement("div", null); };
21
21
  jest.mock('../EntityAvatar', function () { return ({
22
22
  EntityAvatar: EntityAvatarMock
23
23
  }); });
@@ -11,7 +11,7 @@ describe('ReactSelectLoadMoreButton tests', function () {
11
11
  expect(component.find(Button).text()).toEqual('Load more');
12
12
  var event = {};
13
13
  component.find(Button).prop('onClick')(event);
14
- expect(onClick).toBeCalled();
14
+ expect(onClick).toHaveBeenCalled();
15
15
  });
16
16
  it('should render loading state', function () {
17
17
  var component = shallow(React.createElement(ReactSelectLoadMoreButton, { loading: true, onClick: onClick }));
@@ -9,12 +9,12 @@ type Props = {
9
9
  children?: React.ReactNode;
10
10
  className?: string;
11
11
  max?: number;
12
- alwaysVisibleTypeUris?: string[];
12
+ fixedTypeUris?: string[];
13
13
  showNonOv?: boolean;
14
14
  classes?: ReadOnlyAttributeClasses;
15
15
  };
16
16
  declare const _default: React.MemoExoticComponent<{
17
- ({ attrTypes, entity, parentUri, drawLines, children, className, max, alwaysVisibleTypeUris, showNonOv, classes }: Props): JSX.Element;
17
+ ({ attrTypes, entity, parentUri, drawLines, children, className, max, fixedTypeUris, showNonOv, classes }: Props): JSX.Element;
18
18
  displayName: string;
19
19
  }>;
20
20
  export default _default;
@@ -16,18 +16,20 @@ import { BranchDecorator } from '../BranchDecorator';
16
16
  import { ReadOnlyAttributesPager } from '../ReadOnlyAttributesPager';
17
17
  import { ShowMore } from '../ShowMore';
18
18
  import { ShowLess } from '../ShowLess';
19
- import { ALWAYS_VISIBLE_TYPE_URIS } from '../constants';
19
+ import { FIXED_TYPE_URIS } from '../constants';
20
20
  import { splitPagersData } from '../helpers/attributesView';
21
21
  import { HiddenAttributesContext } from '../contexts/HiddenAttributesContext';
22
+ import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
22
23
  var ReadOnlyAttributesList = function (_a) {
23
- var _b = _a.attrTypes, attrTypes = _b === void 0 ? [] : _b, entity = _a.entity, parentUri = _a.parentUri, drawLines = _a.drawLines, children = _a.children, className = _a.className, max = _a.max, _c = _a.alwaysVisibleTypeUris, alwaysVisibleTypeUris = _c === void 0 ? ALWAYS_VISIBLE_TYPE_URIS : _c, showNonOv = _a.showNonOv, classes = _a.classes;
24
+ var _b = _a.attrTypes, attrTypes = _b === void 0 ? [] : _b, entity = _a.entity, parentUri = _a.parentUri, drawLines = _a.drawLines, children = _a.children, className = _a.className, max = _a.max, _c = _a.fixedTypeUris, fixedTypeUris = _c === void 0 ? FIXED_TYPE_URIS : _c, showNonOv = _a.showNonOv, classes = _a.classes;
24
25
  var hiddenAttributes = useContext(HiddenAttributesContext);
26
+ var alwaysVisibleAttributes = useContext(AlwaysVisibleAttributesContext);
25
27
  var entityUri = parentUri && getBaseUri(parentUri);
26
28
  var currentEntityHiddenAttributes = useMemo(function () { return hiddenAttributes[entityUri] || []; }, [hiddenAttributes, entityUri]);
27
29
  var filteredAttrTypes = useMemo(function () { return (attrTypes || []).filter(function (attrType) { return !currentEntityHiddenAttributes.includes(attrType.uri); }); }, [attrTypes, currentEntityHiddenAttributes]);
28
30
  var _d = useState(max || Infinity), visibleValuesCount = _d[0], setVisibleValuesCount = _d[1];
29
- var pagersData = useMemo(function () { return getAttributesListForReadMode(filteredAttrTypes, entity, showNonOv); }, [filteredAttrTypes, entity, showNonOv]);
30
- var _e = useMemo(function () { return splitPagersData(alwaysVisibleTypeUris, pagersData); }, [pagersData, alwaysVisibleTypeUris]), alwaysVisiblePagersData = _e[0], regularPagersData = _e[1];
31
+ var pagersData = useMemo(function () { return getAttributesListForReadMode(filteredAttrTypes, entity, showNonOv, alwaysVisibleAttributes); }, [filteredAttrTypes, entity, showNonOv, alwaysVisibleAttributes]);
32
+ var _e = useMemo(function () { return splitPagersData(fixedTypeUris, pagersData); }, [pagersData, fixedTypeUris]), fixedPagersData = _e[0], regularPagersData = _e[1];
31
33
  var visibleAttributePagersData = regularPagersData.slice(0, visibleValuesCount);
32
34
  var showMore = max && visibleAttributePagersData.length < regularPagersData.length;
33
35
  var showLess = max && visibleAttributePagersData.length >= regularPagersData.length && max < visibleAttributePagersData.length;
@@ -42,7 +44,7 @@ var ReadOnlyAttributesList = function (_a) {
42
44
  };
43
45
  return (React.createElement("div", { className: className },
44
46
  children && React.createElement(BranchDecorator, __assign({}, decoratorProps), children),
45
- visibleAttributePagersData.concat(alwaysVisiblePagersData).map(function (_a) {
47
+ visibleAttributePagersData.concat(fixedPagersData).map(function (_a) {
46
48
  var attrType = _a.attrType, values = _a.values;
47
49
  return (React.createElement(ReadOnlyAttributesPager, { key: attrType.uri, attributeType: attrType, drawLines: drawLines, values: values, paging: path(['paging', attrType.uri], entity.attributes), parentUri: parentUri, showNonOv: showNonOv, classes: classes }));
48
50
  }),
@@ -232,7 +232,7 @@ describe('ReadOnlyAttributesList tests', function () {
232
232
  expect(showMoreButton.length).toBe(0);
233
233
  expect(showLessButton.length).toBe(0);
234
234
  });
235
- describe('alwaysVisibleTypeUris behavior', function () {
235
+ describe('fixedTypeUris behavior', function () {
236
236
  var attrTypes = __spreadArray(__spreadArray([], attributesList, true), [EntityAttrTypes.roles, EntityAttrTypes.tags], false);
237
237
  var entity = {
238
238
  attributes: attributes,
@@ -10,7 +10,7 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import classnames from 'classnames';
13
- import React, { memo } from 'react';
13
+ import React, { useContext, memo, useMemo } from 'react';
14
14
  import { always, cond, has, ifElse, partition, prop, T } from 'ramda';
15
15
  import { isComplexAttribute, isImage, isSpecialAttribute, isOv } from '@reltio/mdm-sdk';
16
16
  import { BranchDecorator } from '../BranchDecorator';
@@ -18,13 +18,16 @@ import { OneLineRenderer } from './components/OneLineRenderer';
18
18
  import { MultiLineRenderer } from './components/MultiLineRenderer';
19
19
  import { SpecialRenderer } from './components/SpecialRenderer';
20
20
  import { ImageLineRenderer } from './components/ImageLineRenderer';
21
+ import { EmptyRenderer } from './components/EmptyRenderer';
21
22
  import { useMdmAction, useMdmMaxValuesInResponse } from '../contexts/MdmModuleContext';
23
+ import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
22
24
  import { useStyles } from './styles';
23
25
  var RENDERER_TYPES = {
24
26
  oneLine: 'oneLine',
25
27
  multiLine: 'multiLine',
26
28
  imageLine: 'imageLine',
27
- special: 'special'
29
+ special: 'special',
30
+ empty: 'empty'
28
31
  };
29
32
  var ReadOnlyAttributesPager = function (_a) {
30
33
  var _b, _c, _d, _e;
@@ -35,7 +38,9 @@ var ReadOnlyAttributesPager = function (_a) {
35
38
  var maxValuesInResponse = useMdmMaxValuesInResponse();
36
39
  var max = (_f = maxProp !== null && maxProp !== void 0 ? maxProp : maxValuesInResponse) !== null && _f !== void 0 ? _f : Infinity;
37
40
  var partitionByOv = partition(isOv);
38
- if (!values || !values.length) {
41
+ var alwaysVisibleAttributes = useContext(AlwaysVisibleAttributesContext);
42
+ var isAlwaysVisible = useMemo(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeType.uri); }, [attributeType.uri, alwaysVisibleAttributes]);
43
+ if (!values || (!values.length && !isAlwaysVisible)) {
39
44
  return null;
40
45
  }
41
46
  var _h = partitionByOv(values), ovValues = _h[0], nonOvValues = _h[1];
@@ -47,11 +52,13 @@ var ReadOnlyAttributesPager = function (_a) {
47
52
  ? paging.totalValues - totalVisibleValues
48
53
  : nonVisibleValues.length;
49
54
  var isOneLineRender = totalVisibleValues === 1 && !isComplexAttribute(attributeType);
55
+ var isEmptyRender = values.length === 0 && isAlwaysVisible;
50
56
  var render = function () {
51
57
  var type = cond([
52
58
  [isSpecialAttribute, always(RENDERER_TYPES.special)],
53
59
  [isImage, always(RENDERER_TYPES.imageLine)],
54
60
  [always(isOneLineRender), always(RENDERER_TYPES.oneLine)],
61
+ [always(isEmptyRender), always(RENDERER_TYPES.empty)],
55
62
  [T, always(RENDERER_TYPES.multiLine)]
56
63
  ])(attributeType);
57
64
  switch (type) {
@@ -63,6 +70,8 @@ var ReadOnlyAttributesPager = function (_a) {
63
70
  return (React.createElement(ImageLineRenderer, { attributeValues: visibleValues, attributeType: attributeType, paging: paging, parentUri: parentUri, requestNextPageOfAttributeValues: requestNextPageOfAttributeValues, showNonOv: showNonOv }));
64
71
  case RENDERER_TYPES.special:
65
72
  return React.createElement(SpecialRenderer, { values: visibleValues, attributeType: attributeType, classes: classes });
73
+ case RENDERER_TYPES.empty:
74
+ return React.createElement(EmptyRenderer, { attributeType: attributeType, classes: classes });
66
75
  }
67
76
  };
68
77
  return (React.createElement(BranchDecorator, { enabled: drawLines, className: classnames(__assign((_b = {}, _b[styles.paddingWrapperWithLines] = drawLines, _b), ((classes === null || classes === void 0 ? void 0 : classes.wrapperWithLines) ? (_c = {}, _c[classes === null || classes === void 0 ? void 0 : classes.wrapperWithLines] = drawLines, _c) : {}))) },
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { AttributeType } from '@reltio/mdm-sdk';
3
+ import { ReadOnlyAttributeClasses } from '../../..';
4
+ type Props = {
5
+ attributeType: AttributeType;
6
+ classes?: ReadOnlyAttributeClasses;
7
+ };
8
+ export declare const EmptyRenderer: ({ attributeType, classes }: Props) => JSX.Element;
9
+ export {};
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import classnames from 'classnames';
3
+ import { AttributeTitle } from '../../../AttributeTitle';
4
+ import { DescriptionIcon } from '../../../DescriptionIcon';
5
+ import { useEmptyStyles } from '../../styles';
6
+ export var EmptyRenderer = function (_a) {
7
+ var attributeType = _a.attributeType, classes = _a.classes;
8
+ var styles = useEmptyStyles();
9
+ var label = attributeType.label, description = attributeType.description;
10
+ return (React.createElement("div", { "data-reltio-id": "reltio-empty-renderer", className: classnames(styles.titleRow, styles.wrapper) },
11
+ React.createElement(AttributeTitle, { label: label, className: classnames(styles.title, classes === null || classes === void 0 ? void 0 : classes.title), "data-reltio-id": "reltio-attribute-label" }),
12
+ React.createElement(DescriptionIcon, { description: description, className: styles.descriptionIcon })));
13
+ };
@@ -0,0 +1 @@
1
+ export { EmptyRenderer } from './EmptyRenderer';
@@ -0,0 +1 @@
1
+ export { EmptyRenderer } from './EmptyRenderer';
@@ -1,3 +1,4 @@
1
1
  export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"paddingWrapper" | "paddingWrapperWithLines">;
2
2
  export declare const useOneLineStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "attribute" | "collaborationWrapper" | "titleIcon" | "titleRow" | "ovIcon" | "descriptionIcon">;
3
3
  export declare const useMultiLineStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "attributes" | "attribute" | "titleRow" | "ovIcon" | "descriptionIcon">;
4
+ export declare const useEmptyStyles: (props?: any) => import("@mui/styles").ClassNameMap<"title" | "wrapper" | "titleRow" | "ovIcon" | "descriptionIcon">;
@@ -87,3 +87,7 @@ export var useMultiLineStyles = makeStyles(__assign({ wrapper: {
87
87
  }, attributes: {
88
88
  alignSelf: 'stretch'
89
89
  }, titleRow: __assign(__assign({}, commonStyles.titleRow), { marginBottom: '3px' }) }, commonStyles));
90
+ export var useEmptyStyles = makeStyles(__assign({ wrapper: {
91
+ fontSize: fontSize,
92
+ lineHeight: lineHeight
93
+ } }, commonStyles));
@@ -11,12 +11,11 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import React from 'react';
13
13
  import { mount } from 'enzyme';
14
- import { Mode } from '@reltio/mdm-sdk';
14
+ import { Mode, createTemporaryEntity } from '@reltio/mdm-sdk';
15
15
  import { referenceAttrType, metadata } from './metadata.test-data';
16
16
  import ReferenceAttributeEditor from './ReferenceAttributeEditor';
17
17
  import { EditModeComplexAttribute } from '../EditModeComplexAttribute';
18
18
  import { EntitySelector } from '../EntitySelector';
19
- import * as mdmSdk from '@reltio/mdm-sdk';
20
19
  import { ErrorWrapper } from '../ErrorWrapper';
21
20
  import { useScrollToAttributeError } from '../hooks/useScrollToAttributeError';
22
21
  import { ScrollType, ScrollToElementContext } from '../contexts/ScrollToElementContext';
@@ -493,9 +492,9 @@ describe('ReferenceAttributeEditor', function () {
493
492
  uri: 'entities/uri$$1',
494
493
  label: 'New entity!'
495
494
  };
496
- jest.spyOn(mdmSdk, 'createTemporaryEntity').mockReturnValue(mockedNewEntity);
495
+ createTemporaryEntity.mockReturnValue(mockedNewEntity);
497
496
  entitySelector.prop('onCreate')(entityTypeUri);
498
- expect(mdmSdk.createTemporaryEntity).toHaveBeenCalledWith(expect.objectContaining({
497
+ expect(createTemporaryEntity).toHaveBeenCalledWith(expect.objectContaining({
499
498
  entityTypeUri: entityTypeUri,
500
499
  attributeTypes: [
501
500
  {
@@ -554,9 +553,9 @@ describe('ReferenceAttributeEditor', function () {
554
553
  uri: 'entities/uri$$1',
555
554
  label: 'New entity!'
556
555
  };
557
- jest.spyOn(mdmSdk, 'createTemporaryEntity').mockReturnValue(mockedNewEntity);
556
+ createTemporaryEntity.mockReturnValue(mockedNewEntity);
558
557
  entitySelector.prop('onCreate')(entityTypeUri);
559
- expect(mdmSdk.createTemporaryEntity).toHaveBeenCalledWith(expect.objectContaining({ entityTypeUri: entityTypeUri }));
558
+ expect(createTemporaryEntity).toHaveBeenCalledWith(expect.objectContaining({ entityTypeUri: entityTypeUri }));
560
559
  expect(mdmActions.entityDeleted).toHaveBeenCalledWith(modifiedEntity.uri);
561
560
  expect(mdmActions.entityCreated).toHaveBeenCalledWith(mockedNewEntity);
562
561
  expect(props.onChangeAttribute).toHaveBeenCalledWith({
@@ -588,9 +587,9 @@ describe('ReferenceAttributeEditor', function () {
588
587
  uri: 'entities/uri$$1',
589
588
  label: 'New entity!'
590
589
  };
591
- jest.spyOn(mdmSdk, 'createTemporaryEntity').mockReturnValue(mockedNewEntity);
590
+ createTemporaryEntity.mockReturnValue(mockedNewEntity);
592
591
  entitySelector.prop('onCreate')(entityTypeUri, initValue);
593
- expect(mdmSdk.createTemporaryEntity).toHaveBeenCalledWith({
592
+ expect(createTemporaryEntity).toHaveBeenCalledWith({
594
593
  entityTypeUri: entityTypeUri,
595
594
  initValue: initValue,
596
595
  attributeTypes: [
@@ -176,7 +176,7 @@ describe('RelationEditor behaviour', function () {
176
176
  return [4 /*yield*/, user.click(inputs[0])];
177
177
  case 1:
178
178
  _a.sent();
179
- expect(typeAheadSearch).toBeCalledWith([{ label: 'Address', uri: 'configuration/entityTypes/Location' }], '', {
179
+ expect(typeAheadSearch).toHaveBeenCalledWith([{ label: 'Address', uri: 'configuration/entityTypes/Location' }], '', {
180
180
  globalFilter: '',
181
181
  max: 20,
182
182
  searchOptions: '',