@reltio/components 1.4.2018 → 1.4.2020

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 (276) hide show
  1. package/BarChart/helpers.d.ts +2 -2
  2. package/BasicTable/IntegrationBasicTable.test.js +6 -18
  3. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +2 -5
  4. package/HierarchyNodeTitle/useEntityDetails.js +3 -0
  5. package/HierarchyNodeTitle/useEntityDetails.test.js +28 -0
  6. package/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +2 -5
  7. package/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.js +33 -22
  8. package/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.test.js +120 -112
  9. package/InlineSimpleAttribute/InlineSimpleAttribute.js +1 -1
  10. package/LineChart/helpers.d.ts +2 -2
  11. package/PieChart/PieChart.test.js +4 -0
  12. package/ProfileBandNavigation/useSearchNavigation.js +11 -3
  13. package/ProfileBandNavigation/useSearchNavigation.test.js +176 -0
  14. package/UploadImageDialog/UploadImageDialog.specs.js +1 -4
  15. package/UploadImageDialog/components/TargetBox/TargetBox.js +31 -20
  16. package/UploadImageDialog/components/TargetBox/TargetBox.specs.d.ts +1 -1
  17. package/UploadImageDialog/components/TargetBox/TargetBox.specs.js +57 -16
  18. package/UploadImageDialog/components/TargetBox/styles.js +2 -1
  19. package/VerticalHeadingsTable/DndVerticalHeadingsTable.test.js +114 -0
  20. package/VerticalHeadingsTable/VerticalHeadingsTable.d.ts +2 -1
  21. package/VerticalHeadingsTable/VerticalHeadingsTable.js +10 -13
  22. package/VerticalHeadingsTable/VerticalHeadingsTable.test.js +74 -269
  23. package/VerticalHeadingsTable/components/DndComponent/DndComponent.d.ts +14 -0
  24. package/VerticalHeadingsTable/components/DndComponent/DndComponent.js +96 -0
  25. package/VerticalHeadingsTable/components/DndComponent/helpers.d.ts +3 -0
  26. package/VerticalHeadingsTable/components/DndComponent/helpers.js +35 -0
  27. package/VerticalHeadingsTable/components/DndComponent/index.d.ts +1 -0
  28. package/VerticalHeadingsTable/components/DndComponent/index.js +1 -0
  29. package/VerticalHeadingsTable/components/{TableColumnDragLayer → DndComponent}/styles.d.ts +1 -1
  30. package/VerticalHeadingsTable/components/DndComponent/styles.js +10 -0
  31. package/VerticalHeadingsTable/components/DndComponent/types.d.ts +14 -0
  32. package/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.d.ts +7 -0
  33. package/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.js +13 -0
  34. package/VerticalHeadingsTable/components/DndMeasurer/index.d.ts +1 -0
  35. package/VerticalHeadingsTable/components/DndMeasurer/index.js +1 -0
  36. package/VerticalHeadingsTable/components/TableCell/TableCell.d.ts +2 -2
  37. package/VerticalHeadingsTable/components/TableCell/TableCell.js +2 -2
  38. package/VerticalHeadingsTable/components/TableCell/TableCell.test.js +101 -43
  39. package/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.d.ts +10 -0
  40. package/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.js +32 -0
  41. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.d.ts +2 -4
  42. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.js +30 -59
  43. package/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.test.js +126 -56
  44. package/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.d.ts +3 -3
  45. package/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.js +16 -6
  46. package/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.d.ts +9 -0
  47. package/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.js +30 -0
  48. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.d.ts +4 -4
  49. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.js +3 -4
  50. package/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.test.js +44 -29
  51. package/VerticalHeadingsTable/components/TableRow/TableRow.d.ts +4 -5
  52. package/VerticalHeadingsTable/components/TableRow/TableRow.js +3 -3
  53. package/VerticalHeadingsTable/components/TableRow/TableRow.test.js +35 -57
  54. package/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.d.ts +12 -0
  55. package/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.js +16 -0
  56. package/VerticalHeadingsTable/components/TableRowDragPreview/index.d.ts +1 -0
  57. package/VerticalHeadingsTable/components/TableRowDragPreview/index.js +1 -0
  58. package/{cjs/VerticalHeadingsTable/components/TableColumnDragLayer → VerticalHeadingsTable/components/TableRowDragPreview}/styles.d.ts +1 -1
  59. package/VerticalHeadingsTable/components/TableRowDragPreview/styles.js +8 -0
  60. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.d.ts +2 -8
  61. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.js +22 -53
  62. package/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.test.js +53 -83
  63. package/cjs/BarChart/helpers.d.ts +2 -2
  64. package/cjs/BasicTable/IntegrationBasicTable.test.js +6 -18
  65. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +2 -5
  66. package/cjs/HierarchyNodeTitle/useEntityDetails.js +3 -0
  67. package/cjs/HierarchyNodeTitle/useEntityDetails.test.js +28 -0
  68. package/cjs/ImageAttributesLineEditor/ImageAttributesLineEditor.test.js +2 -5
  69. package/cjs/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.js +55 -21
  70. package/cjs/InlineAttributesPager/components/InlineSimpleAttributesBlock/InlineSimpleAttributesBlock.test.js +120 -135
  71. package/cjs/InlineSimpleAttribute/InlineSimpleAttribute.js +1 -1
  72. package/cjs/LineChart/helpers.d.ts +2 -2
  73. package/cjs/PieChart/PieChart.test.js +4 -0
  74. package/cjs/ProfileBandNavigation/useSearchNavigation.js +11 -3
  75. package/cjs/ProfileBandNavigation/useSearchNavigation.test.js +176 -0
  76. package/cjs/UploadImageDialog/UploadImageDialog.specs.js +1 -4
  77. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.js +54 -20
  78. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.specs.d.ts +1 -1
  79. package/cjs/UploadImageDialog/components/TargetBox/TargetBox.specs.js +57 -16
  80. package/cjs/UploadImageDialog/components/TargetBox/styles.js +2 -1
  81. package/cjs/VerticalHeadingsTable/DndVerticalHeadingsTable.test.d.ts +1 -0
  82. package/cjs/VerticalHeadingsTable/DndVerticalHeadingsTable.test.js +119 -0
  83. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.d.ts +2 -1
  84. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.js +9 -12
  85. package/cjs/VerticalHeadingsTable/VerticalHeadingsTable.test.js +74 -269
  86. package/cjs/VerticalHeadingsTable/components/DndComponent/DndComponent.d.ts +14 -0
  87. package/cjs/VerticalHeadingsTable/components/DndComponent/DndComponent.js +123 -0
  88. package/cjs/VerticalHeadingsTable/components/DndComponent/helpers.d.ts +3 -0
  89. package/cjs/VerticalHeadingsTable/components/DndComponent/helpers.js +40 -0
  90. package/cjs/VerticalHeadingsTable/components/DndComponent/index.d.ts +1 -0
  91. package/cjs/VerticalHeadingsTable/components/DndComponent/index.js +5 -0
  92. package/{features/crosswalks/CrosswalkDragLayer → cjs/VerticalHeadingsTable/components/DndComponent}/styles.d.ts +1 -1
  93. package/cjs/VerticalHeadingsTable/components/DndComponent/styles.js +13 -0
  94. package/cjs/VerticalHeadingsTable/components/DndComponent/types.d.ts +14 -0
  95. package/cjs/VerticalHeadingsTable/components/DndComponent/types.js +2 -0
  96. package/cjs/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.d.ts +7 -0
  97. package/cjs/VerticalHeadingsTable/components/DndMeasurer/DndMeasurer.js +40 -0
  98. package/cjs/VerticalHeadingsTable/components/DndMeasurer/index.d.ts +1 -0
  99. package/cjs/VerticalHeadingsTable/components/DndMeasurer/index.js +5 -0
  100. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.d.ts +2 -2
  101. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.js +2 -2
  102. package/cjs/VerticalHeadingsTable/components/TableCell/TableCell.test.js +101 -43
  103. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.d.ts +10 -0
  104. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/ColumnDragIndicator.js +39 -0
  105. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.d.ts +2 -4
  106. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.js +29 -58
  107. package/cjs/VerticalHeadingsTable/components/TableCellWithDnd/TableCellWithDnd.test.js +128 -58
  108. package/cjs/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.d.ts +3 -3
  109. package/cjs/VerticalHeadingsTable/components/TableColumnDragPreview/TableColumnDragPreview.js +38 -9
  110. package/cjs/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.d.ts +9 -0
  111. package/cjs/VerticalHeadingsTable/components/TableHeadCell/RowDragIndicator.js +37 -0
  112. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.d.ts +4 -4
  113. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.js +3 -4
  114. package/cjs/VerticalHeadingsTable/components/TableHeadCell/TableHeadCell.test.js +43 -51
  115. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.d.ts +4 -5
  116. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.js +3 -3
  117. package/cjs/VerticalHeadingsTable/components/TableRow/TableRow.test.js +35 -57
  118. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.d.ts +12 -0
  119. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/TableRowDragPreview.js +42 -0
  120. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/index.d.ts +1 -0
  121. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/index.js +5 -0
  122. package/cjs/{features/crosswalks/CrosswalkDragLayer → VerticalHeadingsTable/components/TableRowDragPreview}/styles.d.ts +1 -1
  123. package/cjs/VerticalHeadingsTable/components/TableRowDragPreview/styles.js +11 -0
  124. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.d.ts +2 -8
  125. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.js +21 -52
  126. package/cjs/VerticalHeadingsTable/components/TableRowWithDnd/TableRowWithDnd.test.js +55 -85
  127. package/cjs/contexts/CrosswalksDisplayContext/index.d.ts +2 -2
  128. package/cjs/contexts/CrosswalksDisplayContext/index.js +6 -2
  129. package/cjs/features/crosswalks/AttributesTable/AttributesTable.d.ts +3 -1
  130. package/cjs/features/crosswalks/AttributesTable/AttributesTable.js +2 -2
  131. package/cjs/features/crosswalks/AttributesTable/AttributesTable.test.js +17 -10
  132. package/cjs/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.d.ts +3 -2
  133. package/cjs/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.js +13 -2
  134. package/cjs/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.d.ts +8 -0
  135. package/cjs/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.js +51 -0
  136. package/cjs/features/crosswalks/CrosswalkDndComponent/index.d.ts +1 -0
  137. package/cjs/features/crosswalks/CrosswalkDndComponent/index.js +5 -0
  138. package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.js +16 -5
  139. package/cjs/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.d.ts +1 -0
  140. package/cjs/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.js +97 -0
  141. package/{features/crosswalks/CrosswalkDragLayer/components → cjs/features/crosswalks}/CrosswalkDragPreview/styles.d.ts +1 -1
  142. package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/styles.js +6 -1
  143. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.js +25 -16
  144. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +7 -33
  145. package/cjs/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.d.ts +1 -0
  146. package/cjs/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.js +134 -0
  147. package/cjs/features/crosswalks/CrosswalkRow/styles.d.ts +1 -1
  148. package/cjs/features/crosswalks/CrosswalkRow/styles.js +10 -1
  149. package/cjs/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +0 -1
  150. package/cjs/features/crosswalks/hooks/useDraggingCrosswalk.d.ts +6 -0
  151. package/cjs/features/crosswalks/hooks/useDraggingCrosswalk.js +19 -0
  152. package/cjs/features/crosswalks/hooks/useModifiedEntity.js +6 -6
  153. package/cjs/features/crosswalks/index.d.ts +1 -1
  154. package/cjs/features/crosswalks/index.js +3 -3
  155. package/cjs/hooks/useDndBasicTableScrollModifier/index.d.ts +1 -0
  156. package/cjs/hooks/useDndBasicTableScrollModifier/index.js +5 -0
  157. package/cjs/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.d.ts +10 -0
  158. package/cjs/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.js +57 -0
  159. package/cjs/index.d.ts +2 -1
  160. package/cjs/index.js +3 -1
  161. package/cjs/test-utils/dndKit/DndContext.d.ts +12 -0
  162. package/cjs/test-utils/dndKit/DndContext.js +5 -0
  163. package/cjs/test-utils/dndKit/DndContextComponent.d.ts +5 -0
  164. package/cjs/test-utils/dndKit/DndContextComponent.js +97 -0
  165. package/cjs/test-utils/dndKit/DndMonitorContext.d.ts +2 -0
  166. package/cjs/test-utils/dndKit/DndMonitorContext.js +5 -0
  167. package/cjs/test-utils/dndKit/DragOverlay.d.ts +5 -0
  168. package/cjs/test-utils/dndKit/DragOverlay.js +14 -0
  169. package/cjs/test-utils/dndKit/index.d.ts +32 -0
  170. package/cjs/test-utils/dndKit/index.js +22 -0
  171. package/cjs/test-utils/dndKit/type.d.ts +17 -0
  172. package/cjs/test-utils/dndKit/type.js +2 -0
  173. package/cjs/test-utils/dndKit/useDndContext.d.ts +8 -0
  174. package/cjs/test-utils/dndKit/useDndContext.js +13 -0
  175. package/cjs/test-utils/dndKit/useDndMonitor.d.ts +2 -0
  176. package/cjs/test-utils/dndKit/useDndMonitor.js +13 -0
  177. package/cjs/test-utils/dndKit/useDndMonitorProvider.d.ts +1 -0
  178. package/cjs/test-utils/dndKit/useDndMonitorProvider.js +17 -0
  179. package/cjs/test-utils/dndKit/useDraggable.d.ts +12 -0
  180. package/cjs/test-utils/dndKit/useDraggable.js +43 -0
  181. package/cjs/test-utils/dndKit/useDroppable.d.ts +4 -0
  182. package/cjs/test-utils/dndKit/useDroppable.js +45 -0
  183. package/cjs/types/basicTable.d.ts +4 -0
  184. package/contexts/CrosswalksDisplayContext/index.d.ts +2 -2
  185. package/contexts/CrosswalksDisplayContext/index.js +6 -2
  186. package/features/crosswalks/AttributesTable/AttributesTable.d.ts +3 -1
  187. package/features/crosswalks/AttributesTable/AttributesTable.js +2 -2
  188. package/features/crosswalks/AttributesTable/AttributesTable.test.js +17 -10
  189. package/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.d.ts +3 -2
  190. package/features/crosswalks/AttributesTable/components/OvValuesRenderer/OvValuesRenderer.js +13 -2
  191. package/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.d.ts +8 -0
  192. package/features/crosswalks/CrosswalkDndComponent/CrosswalkDndComponent.js +24 -0
  193. package/features/crosswalks/CrosswalkDndComponent/index.d.ts +1 -0
  194. package/features/crosswalks/CrosswalkDndComponent/index.js +1 -0
  195. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.js +30 -0
  196. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.d.ts +1 -0
  197. package/features/crosswalks/CrosswalkDragPreview/CrosswalkDragPreview.test.js +69 -0
  198. package/{cjs/features/crosswalks/CrosswalkDragLayer/components → features/crosswalks}/CrosswalkDragPreview/styles.d.ts +1 -1
  199. package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/styles.js +6 -1
  200. package/features/crosswalks/CrosswalkRow/CrosswalkRow.js +25 -16
  201. package/features/crosswalks/CrosswalkRow/CrosswalkRow.test.js +7 -33
  202. package/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.d.ts +1 -0
  203. package/features/crosswalks/CrosswalkRow/DndCrosswalkRow.test.js +129 -0
  204. package/features/crosswalks/CrosswalkRow/styles.d.ts +1 -1
  205. package/features/crosswalks/CrosswalkRow/styles.js +10 -1
  206. package/features/crosswalks/SourceCrosswalksRow/SourceCrosswalksRow.test.js +0 -1
  207. package/features/crosswalks/hooks/useDraggingCrosswalk.d.ts +6 -0
  208. package/features/crosswalks/hooks/useDraggingCrosswalk.js +15 -0
  209. package/features/crosswalks/hooks/useModifiedEntity.js +6 -6
  210. package/features/crosswalks/index.d.ts +1 -1
  211. package/features/crosswalks/index.js +1 -1
  212. package/hooks/useDndBasicTableScrollModifier/index.d.ts +1 -0
  213. package/hooks/useDndBasicTableScrollModifier/index.js +1 -0
  214. package/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.d.ts +10 -0
  215. package/hooks/useDndBasicTableScrollModifier/useDndBasicTableScrollModifier.js +53 -0
  216. package/index.d.ts +2 -1
  217. package/index.js +1 -0
  218. package/package.json +3 -3
  219. package/test-utils/dndKit/DndContext.d.ts +12 -0
  220. package/test-utils/dndKit/DndContext.js +2 -0
  221. package/test-utils/dndKit/DndContextComponent.d.ts +5 -0
  222. package/test-utils/dndKit/DndContextComponent.js +70 -0
  223. package/test-utils/dndKit/DndMonitorContext.d.ts +2 -0
  224. package/test-utils/dndKit/DndMonitorContext.js +2 -0
  225. package/test-utils/dndKit/DragOverlay.d.ts +5 -0
  226. package/test-utils/dndKit/DragOverlay.js +7 -0
  227. package/test-utils/dndKit/index.d.ts +32 -0
  228. package/test-utils/dndKit/index.js +19 -0
  229. package/test-utils/dndKit/type.d.ts +17 -0
  230. package/test-utils/dndKit/type.js +1 -0
  231. package/test-utils/dndKit/useDndContext.d.ts +8 -0
  232. package/test-utils/dndKit/useDndContext.js +9 -0
  233. package/test-utils/dndKit/useDndMonitor.d.ts +2 -0
  234. package/test-utils/dndKit/useDndMonitor.js +9 -0
  235. package/test-utils/dndKit/useDndMonitorProvider.d.ts +1 -0
  236. package/test-utils/dndKit/useDndMonitorProvider.js +13 -0
  237. package/test-utils/dndKit/useDraggable.d.ts +12 -0
  238. package/test-utils/dndKit/useDraggable.js +39 -0
  239. package/test-utils/dndKit/useDroppable.d.ts +4 -0
  240. package/test-utils/dndKit/useDroppable.js +41 -0
  241. package/types/basicTable.d.ts +4 -0
  242. package/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.d.ts +0 -6
  243. package/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.js +0 -23
  244. package/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.d.ts +0 -6
  245. package/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.js +0 -11
  246. package/VerticalHeadingsTable/components/TableColumnDragLayer/index.d.ts +0 -1
  247. package/VerticalHeadingsTable/components/TableColumnDragLayer/index.js +0 -1
  248. package/VerticalHeadingsTable/components/TableColumnDragLayer/styles.js +0 -13
  249. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.d.ts +0 -6
  250. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/TableColumnDragLayer.js +0 -50
  251. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.d.ts +0 -6
  252. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/helpers.js +0 -15
  253. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/index.d.ts +0 -1
  254. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/index.js +0 -5
  255. package/cjs/VerticalHeadingsTable/components/TableColumnDragLayer/styles.js +0 -16
  256. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.d.ts +0 -2
  257. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.js +0 -51
  258. package/cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.js +0 -93
  259. package/cjs/features/crosswalks/CrosswalkDragLayer/index.d.ts +0 -1
  260. package/cjs/features/crosswalks/CrosswalkDragLayer/index.js +0 -5
  261. package/cjs/features/crosswalks/CrosswalkDragLayer/styles.js +0 -17
  262. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.d.ts +0 -2
  263. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.js +0 -25
  264. package/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.js +0 -65
  265. package/features/crosswalks/CrosswalkDragLayer/components/CrosswalkDragPreview/CrosswalkDragPreview.js +0 -19
  266. package/features/crosswalks/CrosswalkDragLayer/index.d.ts +0 -1
  267. package/features/crosswalks/CrosswalkDragLayer/index.js +0 -1
  268. package/features/crosswalks/CrosswalkDragLayer/styles.js +0 -14
  269. /package/{cjs/features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.d.ts → VerticalHeadingsTable/DndVerticalHeadingsTable.test.d.ts} +0 -0
  270. /package/{features/crosswalks/CrosswalkDragLayer/CrosswalkDragLayer.test.d.ts → VerticalHeadingsTable/components/DndComponent/types.js} +0 -0
  271. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.d.ts +0 -0
  272. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.d.ts +0 -0
  273. /package/cjs/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.js +0 -0
  274. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/CrosswalkDragPreview.d.ts +0 -0
  275. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.d.ts +0 -0
  276. /package/features/crosswalks/{CrosswalkDragLayer/components/CrosswalkDragPreview → CrosswalkDragPreview}/index.js +0 -0
@@ -562,6 +562,94 @@ describe('useSearchNavigation behavior', function () {
562
562
  }
563
563
  });
564
564
  }); });
565
+ it('should catch and handle checkEntity error when checking previous entity', function () { return __awaiter(void 0, void 0, void 0, function () {
566
+ var warnSpy, _a, result, waitFor;
567
+ return __generator(this, function (_b) {
568
+ switch (_b.label) {
569
+ case 0:
570
+ warnSpy = jest.spyOn(global.console, 'warn');
571
+ searchProvider.checkEntity.mockRejectedValue({ errorCode: 403, errorMessage: 'Access is denied' });
572
+ _a = setUp(), result = _a.result, waitFor = _a.waitFor;
573
+ (0, react_hooks_1.act)(function () {
574
+ result.current.onPrev();
575
+ });
576
+ return [4 /*yield*/, waitFor(function () { return expect(result.current.isPrevDisabled).toBe(false); })];
577
+ case 1:
578
+ _b.sent();
579
+ expect(warnSpy).toHaveBeenCalledWith("Can't load previous page of search", {
580
+ errorCode: 403,
581
+ errorMessage: 'Access is denied'
582
+ });
583
+ warnSpy.mockRestore();
584
+ return [2 /*return*/];
585
+ }
586
+ });
587
+ }); });
588
+ it('should catch and handle requestTotal error when requesting previous entities page', function () { return __awaiter(void 0, void 0, void 0, function () {
589
+ var warnSpy, searchNavigationData, entity, mdmValues, _a, result, waitFor;
590
+ return __generator(this, function (_b) {
591
+ switch (_b.label) {
592
+ case 0:
593
+ warnSpy = jest.spyOn(global.console, 'warn');
594
+ searchProvider.requestTotal.mockRejectedValue({ errorCode: 403, errorMessage: 'Access is denied' });
595
+ searchNavigationData = {
596
+ uri: 'uri3',
597
+ cache: ['uri3', 'uri4', 'uri5'],
598
+ index: 3,
599
+ total: 10,
600
+ tenant: 't1'
601
+ };
602
+ entity = { uri: 'uri3' };
603
+ mdmValues = __assign(__assign({}, defaultMdmValues), { searchNavigationData: searchNavigationData, entity: entity });
604
+ _a = setUp({ mdmValues: mdmValues }), result = _a.result, waitFor = _a.waitFor;
605
+ (0, react_hooks_1.act)(function () {
606
+ result.current.onPrev();
607
+ });
608
+ return [4 /*yield*/, waitFor(function () { return expect(result.current.isPrevDisabled).toBe(false); })];
609
+ case 1:
610
+ _b.sent();
611
+ expect(warnSpy).toHaveBeenCalledWith('Failed to load total count of entities', {
612
+ errorCode: 403,
613
+ errorMessage: 'Access is denied'
614
+ });
615
+ warnSpy.mockRestore();
616
+ return [2 /*return*/];
617
+ }
618
+ });
619
+ }); });
620
+ it('should catch and handle requestEntities error when requesting previous entities page', function () { return __awaiter(void 0, void 0, void 0, function () {
621
+ var warnSpy, searchNavigationData, entity, mdmValues, _a, result, waitFor;
622
+ return __generator(this, function (_b) {
623
+ switch (_b.label) {
624
+ case 0:
625
+ warnSpy = jest.spyOn(global.console, 'warn');
626
+ searchProvider.requestTotal.mockResolvedValue(11);
627
+ searchProvider.requestEntities.mockRejectedValue({ errorCode: 403, errorMessage: 'Access is denied' });
628
+ searchNavigationData = {
629
+ uri: 'uri3',
630
+ cache: ['uri3', 'uri4', 'uri5'],
631
+ index: 5,
632
+ total: 10,
633
+ tenant: 't1'
634
+ };
635
+ entity = { uri: 'uri3' };
636
+ mdmValues = __assign(__assign({}, defaultMdmValues), { searchNavigationData: searchNavigationData, entity: entity });
637
+ _a = setUp({ mdmValues: mdmValues }), result = _a.result, waitFor = _a.waitFor;
638
+ (0, react_hooks_1.act)(function () {
639
+ result.current.onPrev();
640
+ });
641
+ return [4 /*yield*/, waitFor(function () { return expect(result.current.isPrevDisabled).toBe(false); })];
642
+ case 1:
643
+ _b.sent();
644
+ expect(warnSpy).toHaveBeenCalledWith("Can't load previous page of search", {
645
+ errorCode: 403,
646
+ errorMessage: 'Access is denied'
647
+ });
648
+ warnSpy.mockRestore();
649
+ return [2 /*return*/];
650
+ }
651
+ });
652
+ }); });
565
653
  });
566
654
  describe('onNext behavior', function () {
567
655
  it('should do nothing if cache or uri in searchNavigationData are not specified', function () {
@@ -929,5 +1017,93 @@ describe('useSearchNavigation behavior', function () {
929
1017
  }
930
1018
  });
931
1019
  }); });
1020
+ it('should catch and handle checkEntity error when checking next entity', function () { return __awaiter(void 0, void 0, void 0, function () {
1021
+ var warnSpy, _a, result, waitFor;
1022
+ return __generator(this, function (_b) {
1023
+ switch (_b.label) {
1024
+ case 0:
1025
+ warnSpy = jest.spyOn(global.console, 'warn');
1026
+ searchProvider.checkEntity.mockRejectedValue({ errorCode: 403, errorMessage: 'Access is denied' });
1027
+ _a = setUp(), result = _a.result, waitFor = _a.waitFor;
1028
+ (0, react_hooks_1.act)(function () {
1029
+ result.current.onNext();
1030
+ });
1031
+ return [4 /*yield*/, waitFor(function () { return expect(result.current.isNextDisabled).toBe(false); })];
1032
+ case 1:
1033
+ _b.sent();
1034
+ expect(warnSpy).toHaveBeenCalledWith("Can't load next page of search", {
1035
+ errorCode: 403,
1036
+ errorMessage: 'Access is denied'
1037
+ });
1038
+ warnSpy.mockRestore();
1039
+ return [2 /*return*/];
1040
+ }
1041
+ });
1042
+ }); });
1043
+ it('should catch and handle requestTotal error when requesting next entities page', function () { return __awaiter(void 0, void 0, void 0, function () {
1044
+ var warnSpy, searchNavigationData, entity, mdmValues, _a, result, waitFor;
1045
+ return __generator(this, function (_b) {
1046
+ switch (_b.label) {
1047
+ case 0:
1048
+ warnSpy = jest.spyOn(global.console, 'warn');
1049
+ searchProvider.requestTotal.mockRejectedValue({ errorCode: 403, errorMessage: 'Access is denied' });
1050
+ searchNavigationData = {
1051
+ uri: 'uri5',
1052
+ cache: ['uri3', 'uri4', 'uri5'],
1053
+ index: 5,
1054
+ total: 10,
1055
+ tenant: 't1'
1056
+ };
1057
+ entity = { uri: 'uri5' };
1058
+ mdmValues = __assign(__assign({}, defaultMdmValues), { searchNavigationData: searchNavigationData, entity: entity });
1059
+ _a = setUp({ mdmValues: mdmValues }), result = _a.result, waitFor = _a.waitFor;
1060
+ (0, react_hooks_1.act)(function () {
1061
+ result.current.onNext();
1062
+ });
1063
+ return [4 /*yield*/, waitFor(function () { return expect(result.current.isNextDisabled).toBe(false); })];
1064
+ case 1:
1065
+ _b.sent();
1066
+ expect(warnSpy).toHaveBeenCalledWith('Failed to load total count of entities', {
1067
+ errorCode: 403,
1068
+ errorMessage: 'Access is denied'
1069
+ });
1070
+ warnSpy.mockRestore();
1071
+ return [2 /*return*/];
1072
+ }
1073
+ });
1074
+ }); });
1075
+ it('should catch and handle requestEntities error when requesting next entities page', function () { return __awaiter(void 0, void 0, void 0, function () {
1076
+ var warnSpy, searchNavigationData, entity, mdmValues, _a, result, waitFor;
1077
+ return __generator(this, function (_b) {
1078
+ switch (_b.label) {
1079
+ case 0:
1080
+ warnSpy = jest.spyOn(global.console, 'warn');
1081
+ searchProvider.requestTotal.mockResolvedValue(11);
1082
+ searchProvider.requestEntities.mockRejectedValue({ errorCode: 403, errorMessage: 'Access is denied' });
1083
+ searchNavigationData = {
1084
+ uri: 'uri5',
1085
+ cache: ['uri3', 'uri4', 'uri5'],
1086
+ index: 5,
1087
+ total: 10,
1088
+ tenant: 't1'
1089
+ };
1090
+ entity = { uri: 'uri5' };
1091
+ mdmValues = __assign(__assign({}, defaultMdmValues), { searchNavigationData: searchNavigationData, entity: entity });
1092
+ _a = setUp({ mdmValues: mdmValues }), result = _a.result, waitFor = _a.waitFor;
1093
+ (0, react_hooks_1.act)(function () {
1094
+ result.current.onNext();
1095
+ });
1096
+ return [4 /*yield*/, waitFor(function () { return expect(result.current.isNextDisabled).toBe(false); })];
1097
+ case 1:
1098
+ _b.sent();
1099
+ expect(warnSpy).toHaveBeenCalledWith("Can't load next page of search", {
1100
+ errorCode: 403,
1101
+ errorMessage: 'Access is denied'
1102
+ });
1103
+ warnSpy.mockRestore();
1104
+ return [2 /*return*/];
1105
+ }
1106
+ });
1107
+ }); });
932
1108
  });
933
1109
  });
@@ -53,8 +53,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
53
53
  var react_1 = __importDefault(require("react"));
54
54
  var react_2 = require("@testing-library/react");
55
55
  var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
- var react_dnd_test_backend_1 = __importDefault(require("react-dnd-test-backend"));
57
- var react_dnd_1 = require("react-dnd");
58
56
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
59
57
  var constants_1 = require("./constants");
60
58
  var UploadImageDialog_1 = require("./UploadImageDialog");
@@ -73,8 +71,7 @@ describe('UploadImageDialog tests', function () {
73
71
  var props = { onClose: onClose, onUpload: onUpload, open: true };
74
72
  var Providers = function (_a) {
75
73
  var children = _a.children;
76
- return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: { imageServicePath: imageServicePath, environment: environment, tenant: tenant } },
77
- react_1.default.createElement(react_dnd_1.DndProvider, { backend: react_dnd_test_backend_1.default }, children)));
74
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: { imageServicePath: imageServicePath, environment: environment, tenant: tenant } }, children));
78
75
  };
79
76
  return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(UploadImageDialog_1.UploadImageDialog, __assign({}, props)), { wrapper: Providers }));
80
77
  };
@@ -1,40 +1,74 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.TargetBox = void 0;
7
- var react_1 = __importDefault(require("react"));
30
+ var react_1 = __importStar(require("react"));
8
31
  var classnames_1 = __importDefault(require("classnames"));
9
32
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
10
- var react_dnd_1 = require("react-dnd");
11
- var react_dnd_html5_backend_1 = require("react-dnd-html5-backend");
12
33
  var Typography_1 = __importDefault(require("@mui/material/Typography"));
13
34
  var SelectImageButton_1 = require("../SelectImageButton");
14
35
  var UploadIcon_1 = __importDefault(require("../../../icons/UploadIcon"));
15
36
  var constants_1 = require("../../constants");
16
37
  var styles_1 = require("./styles");
38
+ var ACCEPTABLE_FILE_TYPE = 'Files';
17
39
  var TargetBox = function (_a) {
18
40
  var _b;
19
41
  var onAppendFile = _a.onAppendFile, className = _a.className;
20
42
  var styles = (0, styles_1.useStyles)();
21
- var _c = (0, react_dnd_1.useDrop)({
22
- accept: [react_dnd_html5_backend_1.NativeTypes.FILE],
23
- drop: function (item) {
24
- if (item) {
25
- // TODO remove after update react-dnd
26
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27
- // @ts-ignore
28
- onAppendFile(item.files[0]);
29
- }
30
- },
31
- collect: function (monitor) { return ({
32
- isOver: monitor.isOver(),
33
- canDrop: monitor.canDrop()
34
- }); }
35
- }), _d = _c[0], canDrop = _d.canDrop, isOver = _d.isOver, drop = _c[1];
36
- var isActive = canDrop && isOver;
37
- return (react_1.default.createElement("div", { ref: drop, className: (0, classnames_1.default)(styles.root, (_b = {}, _b[styles.isActive] = isActive, _b), className) },
43
+ var _c = (0, react_1.useState)(false), isActive = _c[0], setIsActive = _c[1];
44
+ var handleDragOver = (0, react_1.useCallback)(function (e) {
45
+ e.preventDefault();
46
+ e.stopPropagation();
47
+ var filesType = e.dataTransfer.types[0];
48
+ var isValidType = filesType === ACCEPTABLE_FILE_TYPE;
49
+ e.dataTransfer.dropEffect = isValidType ? 'copy' : 'none';
50
+ setIsActive(isValidType);
51
+ }, []);
52
+ var handleDragLeave = (0, react_1.useCallback)(function (e) {
53
+ e.preventDefault();
54
+ e.stopPropagation();
55
+ var relatedTarget = e.relatedTarget;
56
+ var isLeave = relatedTarget && !e.currentTarget.contains(relatedTarget);
57
+ if (isLeave || !relatedTarget) {
58
+ setIsActive(false);
59
+ }
60
+ }, []);
61
+ var handleDrop = (0, react_1.useCallback)(function (e) {
62
+ e.preventDefault();
63
+ e.stopPropagation();
64
+ setIsActive(false);
65
+ var filesType = e.dataTransfer.types[0];
66
+ if (filesType === ACCEPTABLE_FILE_TYPE) {
67
+ var file = e.dataTransfer.files[0];
68
+ onAppendFile(file);
69
+ }
70
+ }, [onAppendFile]);
71
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.root, (_b = {}, _b[styles.isActive] = isActive, _b), className), onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop },
38
72
  react_1.default.createElement(UploadIcon_1.default, { className: styles.icon }),
39
73
  react_1.default.createElement(Typography_1.default, { className: styles.title }, ui_i18n_1.default.text('Drag an image here')),
40
74
  react_1.default.createElement(Typography_1.default, { className: styles.description }, ui_i18n_1.default.text('Acceptable image types would include JPG, PNG, TIFF, GIF, BMP. Maximum image size: ${MAX_IMAGE_SIZE}Mb', {
@@ -1 +1 @@
1
- export {};
1
+ import '@testing-library/jest-dom';
@@ -4,24 +4,65 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
8
- var react_dnd_1 = require("react-dnd");
9
- var react_dnd_test_backend_1 = __importDefault(require("react-dnd-test-backend"));
10
- var SelectImageButton_1 = require("../SelectImageButton");
7
+ var react_2 = require("@testing-library/react");
8
+ require("@testing-library/jest-dom");
11
9
  var TargetBox_1 = require("./TargetBox");
12
- describe('TargetBox tests', function () {
13
- var onAppendFile;
14
- beforeEach(function () {
15
- onAppendFile = jest.fn();
10
+ var mockOnAppendFile = jest.fn();
11
+ var setUp = function () {
12
+ return (0, react_2.render)(react_1.default.createElement(TargetBox_1.TargetBox, { onAppendFile: mockOnAppendFile }));
13
+ };
14
+ describe('TargetBox', function () {
15
+ afterEach(function () {
16
+ jest.clearAllMocks();
17
+ });
18
+ it('should renders well', function () {
19
+ var getByText = setUp().getByText;
20
+ expect(getByText('Drag an image here')).toBeInTheDocument();
21
+ });
22
+ it('should activates drag state on drag over with acceptable file type', function () {
23
+ var container = setUp().container;
24
+ var dropZone = container.firstChild;
25
+ react_2.fireEvent.dragOver(dropZone, {
26
+ dataTransfer: { types: ['Files'], dropEffect: 'copy' }
27
+ });
28
+ expect(dropZone).toHaveClass('isActive');
29
+ });
30
+ it('should does not activate drag state with unacceptable file type', function () {
31
+ var container = setUp().container;
32
+ var dropZone = container.firstChild;
33
+ react_2.fireEvent.dragOver(dropZone, {
34
+ dataTransfer: { types: ['Text'], dropEffect: 'none' }
35
+ });
36
+ expect(dropZone).not.toHaveClass('isActive');
37
+ });
38
+ it('should deactivates drag state on drag leave', function () {
39
+ var container = setUp().container;
40
+ var dropZone = container.firstChild;
41
+ react_2.fireEvent.dragOver(dropZone, { dataTransfer: { types: ['Files'] } });
42
+ expect(dropZone).toHaveClass('isActive');
43
+ react_2.fireEvent.dragLeave(dropZone);
44
+ expect(dropZone).not.toHaveClass('isActive');
16
45
  });
17
- it('should not pass .isActive className to root element if dnd zone is not active', function () {
18
- var component = (0, enzyme_1.mount)(react_1.default.createElement(react_dnd_1.DndProvider, { backend: react_dnd_test_backend_1.default },
19
- react_1.default.createElement(TargetBox_1.TargetBox, { onAppendFile: onAppendFile })));
20
- expect(component.find('.root').prop('className')).toBe('root');
46
+ it('should calls onAppendFile with the dropped file', function () {
47
+ var file = new File(['test content'], 'test.png', { type: 'image/png' });
48
+ var container = setUp().container;
49
+ var dropZone = container.firstChild;
50
+ react_2.fireEvent.drop(dropZone, {
51
+ dataTransfer: {
52
+ files: [file],
53
+ types: ['Files']
54
+ }
55
+ });
56
+ expect(mockOnAppendFile).toHaveBeenCalledWith(file);
21
57
  });
22
- it('should onAppendFile prop correctly to SelectImageButton', function () {
23
- var component = (0, enzyme_1.mount)(react_1.default.createElement(react_dnd_1.DndProvider, { backend: react_dnd_test_backend_1.default },
24
- react_1.default.createElement(TargetBox_1.TargetBox, { onAppendFile: onAppendFile })));
25
- expect(component.find(SelectImageButton_1.SelectImageButton).prop('onAppendFile')).toEqual(onAppendFile);
58
+ it('should does not call onAppendFile if dropped item is not of file type', function () {
59
+ var container = setUp().container;
60
+ var dropZone = container.firstChild;
61
+ react_2.fireEvent.drop(dropZone, {
62
+ dataTransfer: {
63
+ types: ['Text']
64
+ }
65
+ });
66
+ expect(mockOnAppendFile).not.toHaveBeenCalled();
26
67
  });
27
68
  });
@@ -12,7 +12,8 @@ exports.useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
12
12
  icon: {
13
13
  width: '190px',
14
14
  height: '190px',
15
- marginBottom: '24px'
15
+ marginBottom: '24px',
16
+ pointerEvents: 'none'
16
17
  },
17
18
  title: {
18
19
  marginBottom: '8px',
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ var react_1 = __importDefault(require("react"));
27
+ var react_2 = require("@testing-library/react");
28
+ var dndKit_1 = require("../test-utils/dndKit");
29
+ jest.mock('@dnd-kit/core', function () { return dndKit_1.mockDndKit; });
30
+ var VerticalHeadingsTable_1 = __importDefault(require("./VerticalHeadingsTable"));
31
+ var setUp = function (props) {
32
+ var containerRef = {
33
+ current: {
34
+ clientHeight: 500,
35
+ clientWidth: 500,
36
+ getBoundingClientRect: function () {
37
+ return {
38
+ top: 0,
39
+ left: 0
40
+ };
41
+ }
42
+ }
43
+ };
44
+ return (0, react_2.render)(react_1.default.createElement(VerticalHeadingsTable_1.default, __assign({ containerRef: containerRef }, props)));
45
+ };
46
+ describe('VerticalHeadingsTable drag and drop tests', function () {
47
+ var rowsData = [
48
+ { id: 'entityCard', label: '' },
49
+ { id: 'matchMethod', label: 'Match Method' },
50
+ { id: 'workflowCard', label: '' },
51
+ { id: 'attributes.FirstName', label: 'First Name' },
52
+ { id: 'attributes.LastName', label: 'Last Name' },
53
+ { id: 'attributes.Int', label: 'Int' }
54
+ ];
55
+ var columnsData = __spreadArray([], new Array(3), true).map(function (_, index) { return ({
56
+ entityCard: "entityCard-".concat(index),
57
+ matchMethod: "matchMethod-".concat(index),
58
+ workflowCard: "workflowCard-".concat(index),
59
+ 'attributes.FirstName': "attributes.FirstName-".concat(index),
60
+ 'attributes.LastName': "attributes.LastName-".concat(index),
61
+ 'attributes.Int': "attributes.Int-".concat(index),
62
+ id: "entities/".concat(index),
63
+ isDraggable: index !== 0
64
+ }); });
65
+ var defaultProps = {
66
+ theadRowsNumber: 2,
67
+ rowsData: rowsData,
68
+ columnsData: columnsData,
69
+ onMoveColumn: jest.fn(),
70
+ onDropColumn: jest.fn(),
71
+ onMoveRow: jest.fn(),
72
+ onDropRow: jest.fn()
73
+ };
74
+ it('should reorder draggable columns correctly', function () {
75
+ setUp(defaultProps);
76
+ var from = react_2.screen.getByText(columnsData[1].entityCard);
77
+ var to = react_2.screen.getByText(columnsData[2].entityCard);
78
+ react_2.fireEvent.mouseDown(from.firstChild);
79
+ react_2.fireEvent.mouseOver(to.parentNode);
80
+ react_2.fireEvent.mouseUp(from.firstChild);
81
+ expect(defaultProps.onMoveColumn).toHaveBeenCalledWith(columnsData[1].id, columnsData[2].id);
82
+ expect(defaultProps.onDropColumn).toHaveBeenCalled();
83
+ });
84
+ it('should reorder draggable rows correctly', function () {
85
+ setUp(defaultProps);
86
+ var from = react_2.screen.getByText(rowsData[3].label);
87
+ var to = react_2.screen.getByText(rowsData[5].label);
88
+ react_2.fireEvent.mouseDown(from.firstChild);
89
+ react_2.fireEvent.mouseOver(to.parentNode);
90
+ react_2.fireEvent.mouseUp(from.firstChild);
91
+ expect(defaultProps.onMoveRow).toHaveBeenCalledWith(rowsData[3].id, rowsData[5].id);
92
+ expect(defaultProps.onDropRow).toHaveBeenCalled();
93
+ });
94
+ it('should render backdrop during drag', function () {
95
+ setUp(defaultProps);
96
+ var draggingRow = react_2.screen.getByText(rowsData[3].label);
97
+ react_2.fireEvent.mouseDown(draggingRow.firstChild);
98
+ expect(document.getElementsByClassName('backDrop')).toHaveLength(1);
99
+ react_2.fireEvent.mouseUp(draggingRow.firstChild);
100
+ expect(document.getElementsByClassName('backDrop')).toHaveLength(0);
101
+ var draggingColumn = react_2.screen.getByText(columnsData[1].entityCard);
102
+ react_2.fireEvent.mouseDown(draggingColumn.firstChild);
103
+ expect(document.getElementsByClassName('backDrop')).toHaveLength(1);
104
+ react_2.fireEvent.mouseUp(draggingColumn.firstChild);
105
+ expect(document.getElementsByClassName('backDrop')).toHaveLength(0);
106
+ });
107
+ it('should render column overlay', function () {
108
+ setUp(defaultProps);
109
+ var draggingColumn = react_2.screen.getByText(columnsData[1].entityCard);
110
+ react_2.fireEvent.mouseDown(draggingColumn.firstChild);
111
+ expect(react_2.screen.getAllByText(columnsData[1].entityCard)).toHaveLength(2);
112
+ });
113
+ it('should render row overlay', function () {
114
+ setUp(defaultProps);
115
+ var draggingRow = react_2.screen.getByText(rowsData[3].label);
116
+ react_2.fireEvent.mouseDown(draggingRow.firstChild);
117
+ expect(react_2.screen.getAllByText(rowsData[3].label)).toHaveLength(2);
118
+ });
119
+ });
@@ -4,6 +4,7 @@ type Props = {
4
4
  className?: string;
5
5
  rowsData: RowData[];
6
6
  columnsData: ColumnData[];
7
+ containerRef: React.MutableRefObject<HTMLDivElement>;
7
8
  theadRowsNumber?: number;
8
9
  onMoveRow?: (dragId: string, hoverId: string) => void;
9
10
  onDropRow?: () => void;
@@ -12,5 +13,5 @@ type Props = {
12
13
  setHoveredColumn?: (columnValue: ColumnData) => void;
13
14
  resetHoveredColumn?: () => void;
14
15
  };
15
- declare const _default: React.MemoExoticComponent<({ className, rowsData, columnsData, theadRowsNumber, onMoveRow, onDropRow, onMoveColumn, onDropColumn, setHoveredColumn, resetHoveredColumn }: Props) => React.JSX.Element>;
16
+ declare const _default: React.MemoExoticComponent<({ className, rowsData, columnsData, containerRef, theadRowsNumber, onMoveRow, onDropRow, onMoveColumn, onDropColumn, setHoveredColumn, resetHoveredColumn }: Props) => React.JSX.Element>;
16
17
  export default _default;
@@ -26,20 +26,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  var react_1 = __importStar(require("react"));
27
27
  var TableRow_1 = require("./components/TableRow");
28
28
  var TableRowWithDnd_1 = require("./components/TableRowWithDnd");
29
- var TableColumnDragLayer_1 = require("./components/TableColumnDragLayer");
29
+ var DndComponent_1 = require("./components/DndComponent");
30
30
  var VerticalHeadingsTable = function (_a) {
31
- var _b;
32
- var className = _a.className, rowsData = _a.rowsData, columnsData = _a.columnsData, _c = _a.theadRowsNumber, theadRowsNumber = _c === void 0 ? 0 : _c, onMoveRow = _a.onMoveRow, onDropRow = _a.onDropRow, onMoveColumn = _a.onMoveColumn, onDropColumn = _a.onDropColumn, setHoveredColumn = _a.setHoveredColumn, resetHoveredColumn = _a.resetHoveredColumn;
33
- var _d = (0, react_1.useState)(false), someRowIsDragging = _d[0], setSomeRowIsDragging = _d[1];
34
- var tableRef = (0, react_1.useRef)(null);
35
- var tableHeight = (_b = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight;
36
- var isDNDActive = !!onMoveRow || !!onMoveColumn;
37
- return (react_1.default.createElement(react_1.default.Fragment, null,
38
- isDNDActive && react_1.default.createElement(TableColumnDragLayer_1.TableColumnDragLayer, { columnHeight: tableHeight }),
39
- react_1.default.createElement("table", { ref: tableRef, className: className },
40
- theadRowsNumber > 0 && (react_1.default.createElement("thead", null, rowsData.slice(0, theadRowsNumber).map(function (rowData, index) { return (react_1.default.createElement(TableRow_1.TableRow, { key: rowData.id || index, rowData: rowData, columnsData: columnsData, index: index, onMoveColumn: onMoveColumn, onDropColumn: onDropColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })); }))),
31
+ var className = _a.className, rowsData = _a.rowsData, columnsData = _a.columnsData, containerRef = _a.containerRef, _b = _a.theadRowsNumber, theadRowsNumber = _b === void 0 ? 0 : _b, onMoveRow = _a.onMoveRow, onDropRow = _a.onDropRow, onMoveColumn = _a.onMoveColumn, onDropColumn = _a.onDropColumn, setHoveredColumn = _a.setHoveredColumn, resetHoveredColumn = _a.resetHoveredColumn;
32
+ var columnsId = (0, react_1.useMemo)(function () { return columnsData.map(function (columnData) { return columnData.id; }); }, [columnsData]);
33
+ var rowsId = (0, react_1.useMemo)(function () { return rowsData.map(function (rowData) { return rowData.id; }); }, [rowsData]);
34
+ var isMoveColumnEnabled = !!onMoveColumn;
35
+ return (react_1.default.createElement(DndComponent_1.DndComponent, { containerRef: containerRef, onMoveColumn: onMoveColumn, onDropColumn: onDropColumn, onMoveRow: onMoveRow, onDropRow: onDropRow, columnsId: columnsId, rowsId: rowsId, tableClassName: className },
36
+ react_1.default.createElement("table", { className: className },
37
+ theadRowsNumber > 0 && (react_1.default.createElement("thead", null, rowsData.slice(0, theadRowsNumber).map(function (rowData, index) { return (react_1.default.createElement(TableRow_1.TableRow, { key: rowData.id || index, rowData: rowData, columnsData: columnsData, index: index, isMoveColumnEnabled: isMoveColumnEnabled, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })); }))),
41
38
  react_1.default.createElement("tbody", null, rowsData.slice(theadRowsNumber).map(function (rowData, index) {
42
- return onMoveRow ? (react_1.default.createElement(TableRowWithDnd_1.TableRowWithDnd, { key: rowData.id || index, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveRow: onMoveRow, onDropRow: onDropRow, onMoveColumn: onMoveColumn, onDropColumn: onDropColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn, someRowIsDragging: someRowIsDragging, setSomeRowIsDragging: setSomeRowIsDragging })) : (react_1.default.createElement(TableRow_1.TableRow, { key: rowData.id || index, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveColumn: onMoveColumn, onDropColumn: onDropColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
39
+ return onMoveRow ? (react_1.default.createElement(TableRowWithDnd_1.TableRowWithDnd, { key: rowData.id || index, rowData: rowData, columnsData: columnsData, isMoveColumnEnabled: isMoveColumnEnabled, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (react_1.default.createElement(TableRow_1.TableRow, { key: rowData.id || index, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, isMoveColumnEnabled: isMoveColumnEnabled, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
43
40
  })))));
44
41
  };
45
42
  exports.default = (0, react_1.memo)(VerticalHeadingsTable);