@ynput/ayon-frontend-shared 0.2.26 → 0.2.28

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 (367) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Views.cjs.js +1 -1
  5. package/dist/Views.cjs.js.map +1 -1
  6. package/dist/Views.es.js +13 -11
  7. package/dist/Views.es.js.map +1 -1
  8. package/dist/api.cjs.js +1 -1
  9. package/dist/api.es.js +153 -151
  10. package/dist/components.cjs.js +1 -1
  11. package/dist/components.es.js +62 -51
  12. package/dist/components.es.js.map +1 -1
  13. package/dist/index.cjs.js +1 -1
  14. package/dist/index.es.js +12 -6
  15. package/dist/index.es.js.map +1 -1
  16. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  17. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  18. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  19. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  20. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  21. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  22. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entityLists/getLists.es.js +142 -117
  25. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +110 -95
  29. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/users/getUsers.es.js +21 -17
  33. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  34. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
  35. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
  36. package/dist/shared/src/components/AccessUser/AccessUser.es.js +33 -0
  37. package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
  38. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +42 -0
  39. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
  40. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +46 -0
  41. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
  42. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +34 -0
  43. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +1 -0
  44. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +46 -0
  45. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +1 -0
  46. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +20 -10
  47. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  48. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +81 -67
  49. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  51. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +59 -52
  53. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  54. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  55. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  56. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
  57. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  58. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  59. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  60. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
  61. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  62. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  63. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  64. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
  65. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  66. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
  67. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
  68. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +205 -0
  69. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
  70. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
  71. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
  72. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +25 -0
  73. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
  74. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
  75. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
  77. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  78. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  79. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  80. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -2
  81. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  82. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +9 -0
  83. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +1 -0
  84. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +25 -0
  85. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +1 -0
  86. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  87. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  88. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
  89. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  90. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  91. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  92. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +18 -21
  93. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  94. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  95. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  96. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
  97. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  98. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  99. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  100. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
  101. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  102. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  103. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  104. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
  105. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  106. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +2 -0
  107. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
  108. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +17 -0
  109. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
  110. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  111. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  112. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
  113. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  114. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  115. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  116. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
  117. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  118. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  119. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  120. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
  121. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  122. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  123. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  124. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
  125. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  126. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  127. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  128. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +146 -157
  129. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  130. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
  131. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  132. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
  133. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  134. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  135. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  136. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
  137. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  138. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  139. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  140. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  141. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  142. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  143. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  144. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
  145. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  146. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  147. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  148. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
  149. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  150. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  151. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  152. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
  153. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  154. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  155. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  156. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
  157. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  158. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  159. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  160. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
  161. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  162. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  164. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +413 -396
  165. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  166. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +104 -25
  167. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  168. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +131 -52
  169. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  170. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  172. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +136 -129
  173. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  174. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +16 -53
  175. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  176. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +100 -120
  177. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  178. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  180. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
  181. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  182. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +7 -3
  183. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  184. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +12 -8
  185. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  186. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  188. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
  189. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  190. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  191. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  192. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +250 -235
  193. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  194. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  196. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +24 -21
  197. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
  201. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  204. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +10 -10
  207. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -9
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +65 -60
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +5 -2
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
  231. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  232. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
  243. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +41 -14
  247. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +110 -104
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +2 -2
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +8 -8
  259. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  261. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +44 -43
  263. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
  267. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  268. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  269. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
  271. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  272. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +118 -103
  275. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +16 -4
  277. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +13 -1
  279. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  280. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  281. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
  283. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  284. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  286. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +2 -0
  287. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +1 -0
  288. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +64 -0
  289. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +1 -0
  290. package/dist/shared/src/context/MenuContext.cjs.js +2 -0
  291. package/dist/shared/src/context/MenuContext.cjs.js.map +1 -0
  292. package/dist/shared/src/context/MenuContext.es.js +28 -0
  293. package/dist/shared/src/context/MenuContext.es.js.map +1 -0
  294. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  295. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  296. package/dist/shared/src/context/PowerpackContext.es.js +20 -15
  297. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  298. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  299. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  300. package/dist/shared/src/context/RemoteModulesContext.es.js +19 -19
  301. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  302. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  303. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  304. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +2 -0
  305. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -0
  306. package/dist/src/components/Menu/MenuComponents/Menu.es.js +55 -0
  307. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -0
  308. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +254 -0
  309. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -0
  310. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +265 -0
  311. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -0
  312. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +2 -0
  313. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +1 -0
  314. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +80 -0
  315. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +1 -0
  316. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +2 -0
  317. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -0
  318. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +59 -0
  319. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -0
  320. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +2 -0
  321. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -0
  322. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +112 -0
  323. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -0
  324. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +2 -0
  325. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +1 -0
  326. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +35 -0
  327. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +1 -0
  328. package/dist/types/api/generated/entityLists.d.ts +8 -8
  329. package/dist/types/api/generated/users.d.ts +18 -14
  330. package/dist/types/api/generated/views.d.ts +47 -9
  331. package/dist/types/api/queries/entityLists/getLists.d.ts +133 -0
  332. package/dist/types/api/queries/entityLists/types.d.ts +2 -1
  333. package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
  334. package/dist/types/api/queries/users/getUsers.d.ts +132 -0
  335. package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
  336. package/dist/types/components/AccessUser/AccessUser.d.ts +22 -0
  337. package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
  338. package/dist/types/components/AccessUser/index.d.ts +1 -0
  339. package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +8 -0
  340. package/dist/types/components/DetailsMetaData/index.d.ts +1 -0
  341. package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
  342. package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +13 -0
  343. package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
  344. package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
  345. package/dist/types/components/ListMetaData/index.d.ts +1 -0
  346. package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +5 -0
  347. package/dist/types/components/Powerpack/index.d.ts +1 -0
  348. package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +10 -0
  349. package/dist/types/components/ShareOptionIcon/index.d.ts +2 -0
  350. package/dist/types/components/index.d.ts +4 -0
  351. package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
  352. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +3 -1
  353. package/dist/types/containers/ProjectTreeTable/components/ColumnHeaderMenu.d.ts +4 -1
  354. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +1 -0
  355. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +3 -1
  356. package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -0
  357. package/dist/types/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +1 -1
  358. package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -0
  359. package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -2
  360. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
  361. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
  362. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +11 -0
  363. package/dist/types/containers/Views/index.d.ts +6 -2
  364. package/dist/types/context/MenuContext.d.ts +12 -0
  365. package/dist/types/context/PowerpackContext.d.ts +1 -1
  366. package/dist/types/index.d.ts +1 -0
  367. package/package.json +1 -1
@@ -195,6 +195,7 @@ import "../../../components/Powerpack/PowerpackButton.es.js";
195
195
  import "../../../components/Powerpack/PricingLink.es.js";
196
196
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
197
197
  import "../../../components/Powerpack/CTAButton.es.js";
198
+ import "../../../components/Powerpack/RequiredPowerpackVersion.es.js";
198
199
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
199
200
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
200
201
  import "../../../components/AttributeEditor/components/MinMaxField.es.js";
@@ -208,10 +209,12 @@ import "../../../components/Feedback/SupportBubble.es.js";
208
209
  import { Chips as g } from "../../../components/Chips/Chips.es.js";
209
210
  import "../../../components/LinksManager/LinksManager.styled.es.js";
210
211
  import "../../EntityPickerDialog/EntityPickerDialog.es.js";
211
- const fr = (t, o, r) => {
212
+ import "../../../components/DetailsMetaData/DetailsMetaData.es.js";
213
+ import "../../../components/AccessUser/AccessUser.es.js";
214
+ const Tr = (t, o, r) => {
212
215
  const m = o.split("|"), [e, n, c] = m;
213
216
  return t === "in" ? r === c : r === n;
214
- }, xr = ({
217
+ }, gr = ({
215
218
  value: t,
216
219
  isEditing: o,
217
220
  cellId: r,
@@ -278,7 +281,7 @@ const fr = (t, o, r) => {
278
281
  ] });
279
282
  };
280
283
  export {
281
- xr as LinksWidget,
282
- fr as isLinkEditable
284
+ gr as LinksWidget,
285
+ Tr as isLinkEditable
283
286
  };
284
287
  //# sourceMappingURL=LinksWidget.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinksWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/LinksWidget.tsx"],"sourcesContent":["import { Chips, ChipValue, LinkEntity } from '@shared/components'\nimport { LinksManagerDialog } from '@shared/components/LinksManager/LinksManagerDialog'\nimport { FC } from 'react'\nimport { EDIT_TRIGGER_CLASS, WidgetBaseProps } from './CellWidget'\nimport { createPortal } from 'react-dom'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { useSelectedRowsContext } from '../context/SelectedRowsContext'\n\nexport const isLinkEditable = (\n direction: 'in' | 'out',\n linkType: string,\n entityType: string,\n): boolean => {\n const linkTypeParts = linkType.split('|')\n const [_name, outType, inType] = linkTypeParts\n if (direction === 'in') {\n return entityType === inType\n } else {\n return entityType === outType\n }\n}\n\nexport type LinkWidgetData = {\n direction: 'in' | 'out'\n entityId: string\n entityType: string\n link: {\n linkType: string\n label: string\n targetEntityType: string\n }\n links: LinkEntity[]\n}\n\nexport interface LinksWidgetProps extends WidgetBaseProps {\n value?: LinkWidgetData\n projectName: string\n cellId: string\n disabled?: boolean\n folderId?: string | null // the folder selected or the parent folder of the selected (used in EntityPickerDialog)\n}\n\nexport const LinksWidget: FC<LinksWidgetProps> = ({\n value,\n isEditing,\n cellId,\n projectName,\n disabled,\n folderId,\n onChange: _onChange, // not used in this widget\n onCancelEdit,\n}) => {\n // Try to get the contexts, but they might not exist in all environments\n let setSelectedEntity:\n | ((entity: { entityId: string; entityType: 'folder' | 'task' }) => void)\n | undefined\n let clearRowsSelection: (() => void) | undefined\n\n const selectedEntityIds: string[] = []\n try {\n const entityContext = useDetailsPanelEntityContext()\n setSelectedEntity = entityContext.setSelectedEntity\n if (entityContext.selectedEntity) {\n selectedEntityIds.push(entityContext.selectedEntity.entityId)\n }\n } catch {\n // Context not available\n }\n\n try {\n const rowsContext = useSelectedRowsContext()\n clearRowsSelection = rowsContext.clearRowsSelection\n } catch {\n // Context not available\n }\n\n const handleEntityClick = (entityId: string, entityType: string) => {\n // Clear any row selection first if context is available\n if (clearRowsSelection) {\n clearRowsSelection()\n }\n // Set the selected entity if context is available\n if (setSelectedEntity) {\n setSelectedEntity({\n entityId,\n entityType: entityType as 'folder' | 'task',\n })\n } else {\n // Fallback to console.log if contexts are not available\n console.log('Entity clicked:', entityId, entityType)\n }\n }\n return (\n <>\n <Chips\n values={\n value?.links?.map((v) => ({\n label: v.label,\n tooltip: v.parents.join('/') + '/' + v.label,\n })) || []\n }\n pt={{ chip: { className: EDIT_TRIGGER_CLASS } }}\n disabled={disabled}\n />\n {isEditing &&\n value &&\n createPortal(\n <LinksManagerDialog\n isEditing={isEditing}\n anchorId={cellId}\n projectName={projectName}\n linkTypeLabel={value.link.label || ''}\n links={value.links}\n direction={value.direction}\n entityId={value.entityId}\n entityType={value.entityType}\n targetEntityType={value.link.targetEntityType}\n linkType={value.link.linkType}\n selectedEntityIds={selectedEntityIds}\n onClose={onCancelEdit}\n onEntityClick={handleEntityClick}\n disabled={disabled}\n folderId={folderId}\n />,\n document.body,\n )}\n </>\n )\n}\n"],"names":["isLinkEditable","direction","linkType","entityType","linkTypeParts","_name","outType","inType","LinksWidget","value","isEditing","cellId","projectName","disabled","folderId","_onChange","onCancelEdit","setSelectedEntity","clearRowsSelection","selectedEntityIds","entityContext","useDetailsPanelEntityContext","useSelectedRowsContext","handleEntityClick","entityId","jsxs","Fragment","jsx","Chips","_a","v","EDIT_TRIGGER_CLASS","createPortal","LinksManagerDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAMA,KAAiB,CAC5BC,GACAC,GACAC,MACY;AACN,QAAAC,IAAgBF,EAAS,MAAM,GAAG,GAClC,CAACG,GAAOC,GAASC,CAAM,IAAIH;AACjC,SAAIH,MAAc,OACTE,MAAeI,IAEfJ,MAAeG;AAE1B,GAsBaE,KAAoC,CAAC;AAAA,EAChD,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAUC;AAAA;AAAA,EACV,cAAAC;AACF,MAAM;;AAEA,MAAAC,GAGAC;AAEJ,QAAMC,IAA8B,CAAC;AACjC,MAAA;AACF,UAAMC,IAAgBC,EAA6B;AACnD,IAAAJ,IAAoBG,EAAc,mBAC9BA,EAAc,kBACED,EAAA,KAAKC,EAAc,eAAe,QAAQ;AAAA,EAC9D,QACM;AAAA,EAAA;AAIJ,MAAA;AAEF,IAAAF,IADoBI,EAAuB,EACV;AAAA,EAAA,QAC3B;AAAA,EAAA;AAIF,QAAAC,IAAoB,CAACC,GAAkBrB,MAAuB;AAElE,IAAIe,KACiBA,EAAA,GAGjBD,IACgBA,EAAA;AAAA,MAChB,UAAAO;AAAA,MACA,YAAArB;AAAA,IAAA,CACD,IAGO,QAAA,IAAI,mBAAmBqB,GAAUrB,CAAU;AAAA,EAEvD;AACA,SAEIsB,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAAC,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UACEC,IAAApB,KAAA,gBAAAA,EAAO,UAAP,gBAAAoB,EAAc,IAAI,CAACC,OAAO;AAAA,UACxB,OAAOA,EAAE;AAAA,UACT,SAASA,EAAE,QAAQ,KAAK,GAAG,IAAI,MAAMA,EAAE;AAAA,QACzC,QAAO,CAAC;AAAA,QAEV,IAAI,EAAE,MAAM,EAAE,WAAWC,IAAqB;AAAA,QAC9C,UAAAlB;AAAA,MAAA;AAAA,IACF;AAAA,IACCH,KACCD,KACAuB;AAAA,MACEL,gBAAAA,EAAA;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,WAAAvB;AAAA,UACA,UAAUC;AAAA,UACV,aAAAC;AAAA,UACA,eAAeH,EAAM,KAAK,SAAS;AAAA,UACnC,OAAOA,EAAM;AAAA,UACb,WAAWA,EAAM;AAAA,UACjB,UAAUA,EAAM;AAAA,UAChB,YAAYA,EAAM;AAAA,UAClB,kBAAkBA,EAAM,KAAK;AAAA,UAC7B,UAAUA,EAAM,KAAK;AAAA,UACrB,mBAAAU;AAAA,UACA,SAASH;AAAA,UACT,eAAeO;AAAA,UACf,UAAAV;AAAA,UACA,UAAAC;AAAA,QAAA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IAAA;AAAA,EACX,GACJ;AAEJ;"}
1
+ {"version":3,"file":"LinksWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/LinksWidget.tsx"],"sourcesContent":["import { Chips, ChipValue, LinkEntity } from '@shared/components'\nimport { LinksManagerDialog } from '@shared/components/LinksManager/LinksManagerDialog'\nimport { FC } from 'react'\nimport { EDIT_TRIGGER_CLASS, WidgetBaseProps } from './CellWidget'\nimport { createPortal } from 'react-dom'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { useSelectedRowsContext } from '../context/SelectedRowsContext'\n\nexport const isLinkEditable = (\n direction: 'in' | 'out',\n linkType: string,\n entityType: string,\n): boolean => {\n const linkTypeParts = linkType.split('|')\n const [_name, outType, inType] = linkTypeParts\n if (direction === 'in') {\n return entityType === inType\n } else {\n return entityType === outType\n }\n}\n\nexport type LinkWidgetData = {\n direction: 'in' | 'out'\n entityId: string\n entityType: string\n link: {\n linkType: string\n label: string\n targetEntityType: string\n }\n links: LinkEntity[]\n}\n\nexport interface LinksWidgetProps extends WidgetBaseProps {\n value?: LinkWidgetData\n projectName: string\n cellId: string\n disabled?: boolean\n folderId?: string | null // the folder selected or the parent folder of the selected (used in EntityPickerDialog)\n}\n\nexport const LinksWidget: FC<LinksWidgetProps> = ({\n value,\n isEditing,\n cellId,\n projectName,\n disabled,\n folderId,\n onChange: _onChange, // not used in this widget\n onCancelEdit,\n}) => {\n // Try to get the contexts, but they might not exist in all environments\n let setSelectedEntity:\n | ((entity: { entityId: string; entityType: 'folder' | 'task' }) => void)\n | undefined\n let clearRowsSelection: (() => void) | undefined\n\n const selectedEntityIds: string[] = []\n try {\n const entityContext = useDetailsPanelEntityContext()\n setSelectedEntity = entityContext.setSelectedEntity\n if (entityContext.selectedEntity) {\n selectedEntityIds.push(entityContext.selectedEntity.entityId)\n }\n } catch {\n // Context not available\n }\n\n try {\n const rowsContext = useSelectedRowsContext()\n clearRowsSelection = rowsContext.clearRowsSelection\n } catch {\n // Context not available\n }\n\n const handleEntityClick = (entityId: string, entityType: string) => {\n // Clear any row selection first if context is available\n if (clearRowsSelection) {\n clearRowsSelection()\n }\n // Set the selected entity if context is available\n if (setSelectedEntity) {\n setSelectedEntity({\n entityId,\n entityType: entityType as 'folder' | 'task',\n })\n } else {\n // Fallback to console.log if contexts are not available\n console.log('Entity clicked:', entityId, entityType)\n }\n }\n return (\n <>\n <Chips\n values={\n value?.links?.map((v) => ({\n label: v.label,\n tooltip: v.parents.join('/') + '/' + v.label,\n })) || []\n }\n pt={{ chip: { className: EDIT_TRIGGER_CLASS } }}\n disabled={disabled}\n />\n {isEditing &&\n value &&\n createPortal(\n <LinksManagerDialog\n isEditing={isEditing}\n anchorId={cellId}\n projectName={projectName}\n linkTypeLabel={value.link.label || ''}\n links={value.links}\n direction={value.direction}\n entityId={value.entityId}\n entityType={value.entityType}\n targetEntityType={value.link.targetEntityType}\n linkType={value.link.linkType}\n selectedEntityIds={selectedEntityIds}\n onClose={onCancelEdit}\n onEntityClick={handleEntityClick}\n disabled={disabled}\n folderId={folderId}\n />,\n document.body,\n )}\n </>\n )\n}\n"],"names":["isLinkEditable","direction","linkType","entityType","linkTypeParts","_name","outType","inType","LinksWidget","value","isEditing","cellId","projectName","disabled","folderId","_onChange","onCancelEdit","setSelectedEntity","clearRowsSelection","selectedEntityIds","entityContext","useDetailsPanelEntityContext","useSelectedRowsContext","handleEntityClick","entityId","jsxs","Fragment","jsx","Chips","_a","v","EDIT_TRIGGER_CLASS","createPortal","LinksManagerDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,MAAMA,KAAiB,CAC5BC,GACAC,GACAC,MACY;AACN,QAAAC,IAAgBF,EAAS,MAAM,GAAG,GAClC,CAACG,GAAOC,GAASC,CAAM,IAAIH;AACjC,SAAIH,MAAc,OACTE,MAAeI,IAEfJ,MAAeG;AAE1B,GAsBaE,KAAoC,CAAC;AAAA,EAChD,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAUC;AAAA;AAAA,EACV,cAAAC;AACF,MAAM;;AAEA,MAAAC,GAGAC;AAEJ,QAAMC,IAA8B,CAAC;AACjC,MAAA;AACF,UAAMC,IAAgBC,EAA6B;AACnD,IAAAJ,IAAoBG,EAAc,mBAC9BA,EAAc,kBACED,EAAA,KAAKC,EAAc,eAAe,QAAQ;AAAA,EAC9D,QACM;AAAA,EAAA;AAIJ,MAAA;AAEF,IAAAF,IADoBI,EAAuB,EACV;AAAA,EAAA,QAC3B;AAAA,EAAA;AAIF,QAAAC,IAAoB,CAACC,GAAkBrB,MAAuB;AAElE,IAAIe,KACiBA,EAAA,GAGjBD,IACgBA,EAAA;AAAA,MAChB,UAAAO;AAAA,MACA,YAAArB;AAAA,IAAA,CACD,IAGO,QAAA,IAAI,mBAAmBqB,GAAUrB,CAAU;AAAA,EAEvD;AACA,SAEIsB,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAAC,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UACEC,IAAApB,KAAA,gBAAAA,EAAO,UAAP,gBAAAoB,EAAc,IAAI,CAACC,OAAO;AAAA,UACxB,OAAOA,EAAE;AAAA,UACT,SAASA,EAAE,QAAQ,KAAK,GAAG,IAAI,MAAMA,EAAE;AAAA,QACzC,QAAO,CAAC;AAAA,QAEV,IAAI,EAAE,MAAM,EAAE,WAAWC,IAAqB;AAAA,QAC9C,UAAAlB;AAAA,MAAA;AAAA,IACF;AAAA,IACCH,KACCD,KACAuB;AAAA,MACEL,gBAAAA,EAAA;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,WAAAvB;AAAA,UACA,UAAUC;AAAA,UACV,aAAAC;AAAA,UACA,eAAeH,EAAM,KAAK,SAAS;AAAA,UACnC,OAAOA,EAAM;AAAA,UACb,WAAWA,EAAM;AAAA,UACjB,UAAUA,EAAM;AAAA,UAChB,YAAYA,EAAM;AAAA,UAClB,kBAAkBA,EAAM,KAAK;AAAA,UAC7B,UAAUA,EAAM,KAAK;AAAA,UACrB,mBAAAU;AAAA,UACA,SAASH;AAAA,UACT,eAAeO;AAAA,UACf,UAAAV;AAAA,UACA,UAAAC;AAAA,QAAA;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IAAA;AAAA,EACX,GACJ;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),j=require("@ynput/ayon-react-components"),f=require("../../../node_modules/primereact/treetable/treetable.esm.cjs.js"),g=require("../../../node_modules/primereact/column/column.esm.cjs.js");require("lodash");require("react-toastify");const w=require("../../util/groupResult.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("clsx");const y=require("../ContextMenu/useCreateContextMenu.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");const M=require("../../components/DetailsDialog/DetailsDialog.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/LinksManagerDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");const C=require("./versionsToRepresentations.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");const b=[{field:"name",header:"Name",width:90,expander:!0},{field:"folderName",header:"Folder",width:130},{field:"productName",header:"Product",width:130},{field:"Product type",header:"productType",width:110}],S=({entities:n=[]})=>{var a;const q=u.useMemo(()=>C(n)||[],[n]),[i,s]=u.useState(!1),d=(a=q.find(e=>e.id===i))==null?void 0:a.projectName,[l,c]=u.useState([]),m=u.useMemo(()=>w.groupResult(q,"name"),[q]),o=e=>{c([e])},p=e=>{o(e.node.data.id)},x=e=>[{label:"Representation detail",command:()=>s(e),icon:"database"}],[h]=y.useCreateContextMenu([]),R=e=>{const t=e.node.data.id;t&&(o(t),h(e.originalEvent,x(t)))};return r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[r.jsxRuntimeExports.jsx(j.TablePanel,{children:r.jsxRuntimeExports.jsx(f.TreeTable,{scrollable:!0,scrollHeight:"100%",value:m,emptyMessage:"No representation found",selectionMode:"single",selectionKeys:l[0],onRowClick:p,onContextMenu:R,children:b.map(e=>r.jsxRuntimeExports.jsx(g.Column,{field:e.field,header:e.header,expander:e.expander,style:{width:e.width}},e.field))})}),i&&r.jsxRuntimeExports.jsx(M.DetailsDialog,{projectName:d,entityType:"representation",entityIds:[i],visible:!!i,onHide:()=>s(!1)})]})};exports.RepresentationsList=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../../../_virtual/jsx-runtime.cjs.js"),u=require("react"),j=require("@ynput/ayon-react-components"),f=require("../../../node_modules/primereact/treetable/treetable.esm.cjs.js"),g=require("../../../node_modules/primereact/column/column.esm.cjs.js");require("lodash");require("react-toastify");const w=require("../../util/groupResult.cjs.js");require("uuid");require("../../util/pubsub.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("clsx");const y=require("../ContextMenu/useCreateContextMenu.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");const M=require("../../components/DetailsDialog/DetailsDialog.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/LinksManagerDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");const C=require("./versionsToRepresentations.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredPowerpackVersion.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/DetailsMetaData/DetailsMetaData.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");const b=[{field:"name",header:"Name",width:90,expander:!0},{field:"folderName",header:"Folder",width:130},{field:"productName",header:"Product",width:130},{field:"Product type",header:"productType",width:110}],S=({entities:n=[]})=>{var a;const q=u.useMemo(()=>C(n)||[],[n]),[i,s]=u.useState(!1),d=(a=q.find(e=>e.id===i))==null?void 0:a.projectName,[l,c]=u.useState([]),m=u.useMemo(()=>w.groupResult(q,"name"),[q]),o=e=>{c([e])},p=e=>{o(e.node.data.id)},x=e=>[{label:"Representation detail",command:()=>s(e),icon:"database"}],[h]=y.useCreateContextMenu([]),R=e=>{const t=e.node.data.id;t&&(o(t),h(e.originalEvent,x(t)))};return r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[r.jsxRuntimeExports.jsx(j.TablePanel,{children:r.jsxRuntimeExports.jsx(f.TreeTable,{scrollable:!0,scrollHeight:"100%",value:m,emptyMessage:"No representation found",selectionMode:"single",selectionKeys:l[0],onRowClick:p,onContextMenu:R,children:b.map(e=>r.jsxRuntimeExports.jsx(g.Column,{field:e.field,header:e.header,expander:e.expander,style:{width:e.width}},e.field))})}),i&&r.jsxRuntimeExports.jsx(M.DetailsDialog,{projectName:d,entityType:"representation",entityIds:[i],visible:!!i,onHide:()=>s(!1)})]})};exports.RepresentationsList=S;
2
2
  //# sourceMappingURL=RepresentationsList.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RepresentationsList.cjs.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["columns","RepresentationsList","entities","representations","useMemo","versionsToRepresentations","showDetail","setShowDetail","useState","showDetailProjectName","_a","rep","selected","setSelected","data","groupResult","onRepSelectionChange","entityId","onRowClick","ctxMenuItems","id","ctxMenuShow","useCreateContextMenu","handleContextMenu","jsxs","Fragment","jsx","TablePanel","TreeTable","col","Column","DetailsDialog"],"mappings":"m5XAYA,MAAMA,EAAU,CACd,CACE,MAAO,OACP,OAAQ,OACR,MAAO,GACP,SAAU,EACZ,EACA,CACE,MAAO,aACP,OAAQ,SACR,MAAO,GACT,EACA,CACE,MAAO,cACP,OAAQ,UACR,MAAO,GACT,EACA,CACE,MAAO,eACP,OAAQ,cACR,MAAO,GAAA,CAEX,EAMaC,EAAsB,CAAC,CAAE,SAAAC,EAAW,CAAA,KAAgB,OAEzD,MAAAC,EAAkBC,EAAQ,QAAA,IAAMC,EAA0BH,CAAQ,GAAK,CAAC,EAAG,CAACA,CAAQ,CAAC,EAErF,CAACI,EAAYC,CAAa,EAAIC,EAAAA,SAAyB,EAAK,EAC5DC,GAAwBC,EAAAP,EAAgB,KAAMQ,GAAQA,EAAI,KAAOL,CAAU,IAAnD,YAAAI,EAAsD,YAE9E,CAACE,EAAUC,CAAW,EAAIL,EAAAA,SAAmB,CAAA,CAAE,EAE/CM,EAAOV,EAAAA,QAAQ,IAEZW,EAAA,YAAYZ,EAAiB,MAAM,EACzC,CAACA,CAAe,CAAC,EAEda,EAAwBC,GAAqB,CAErCJ,EAAA,CAACI,CAAQ,CAAC,CACxB,EAEMC,EAAc,GAAW,CACRF,EAAA,EAAE,KAAK,KAAK,EAAE,CACrC,EAEMG,EAAgBC,GAAe,CACnC,CACE,MAAO,wBACP,QAAS,IAAMb,EAAca,CAAE,EAC/B,KAAM,UAAA,CAEV,EAEM,CAACC,CAAW,EAAIC,EAAA,qBAAqB,EAAE,EAEvCC,EAAqB,GAAW,CAC9B,MAAAH,EAAK,EAAE,KAAK,KAAK,GAEnBA,IAEFJ,EAAqBI,CAAE,EAEvBC,EAAY,EAAE,cAAeF,EAAaC,CAAE,CAAC,EAEjD,EAEA,OAEII,EAAA,kBAAA,KAAAC,6BAAA,CAAA,SAAA,CAAAC,wBAACC,EAAAA,WACC,CAAA,SAAAD,EAAA,kBAAA,IAACE,EAAA,UAAA,CACC,WAAU,GACV,aAAa,OACb,MAAOd,EACP,aAAa,0BACb,cAAc,SACd,cAAeF,EAAS,CAAC,EACzB,WAAAM,EACA,cAAeK,EAEd,SAAAvB,EAAQ,IAAK6B,GAEVH,EAAA,kBAAA,IAACI,EAAA,OAAA,CAEC,MAAOD,EAAI,MACX,OAAQA,EAAI,OACZ,SAAUA,EAAI,SACd,MAAO,CAAE,MAAOA,EAAI,KAAM,CAAA,EAJrBA,EAAI,KAKX,CAEH,CAAA,CAAA,EAEL,EAECvB,GACCoB,EAAA,kBAAA,IAACK,EAAA,cAAA,CACC,YAAatB,EACb,WAAY,iBACZ,UAAW,CAACH,CAAU,EACtB,QAAS,CAAC,CAACA,EACX,OAAQ,IAAMC,EAAc,EAAK,CAAA,CAAA,CACnC,EAEJ,CAEJ"}
1
+ {"version":3,"file":"RepresentationsList.cjs.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["columns","RepresentationsList","entities","representations","useMemo","versionsToRepresentations","showDetail","setShowDetail","useState","showDetailProjectName","_a","rep","selected","setSelected","data","groupResult","onRepSelectionChange","entityId","onRowClick","ctxMenuItems","id","ctxMenuShow","useCreateContextMenu","handleContextMenu","jsxs","Fragment","jsx","TablePanel","TreeTable","col","Column","DetailsDialog"],"mappings":"qlYAYA,MAAMA,EAAU,CACd,CACE,MAAO,OACP,OAAQ,OACR,MAAO,GACP,SAAU,EACZ,EACA,CACE,MAAO,aACP,OAAQ,SACR,MAAO,GACT,EACA,CACE,MAAO,cACP,OAAQ,UACR,MAAO,GACT,EACA,CACE,MAAO,eACP,OAAQ,cACR,MAAO,GAAA,CAEX,EAMaC,EAAsB,CAAC,CAAE,SAAAC,EAAW,CAAA,KAAgB,OAEzD,MAAAC,EAAkBC,EAAQ,QAAA,IAAMC,EAA0BH,CAAQ,GAAK,CAAC,EAAG,CAACA,CAAQ,CAAC,EAErF,CAACI,EAAYC,CAAa,EAAIC,EAAAA,SAAyB,EAAK,EAC5DC,GAAwBC,EAAAP,EAAgB,KAAMQ,GAAQA,EAAI,KAAOL,CAAU,IAAnD,YAAAI,EAAsD,YAE9E,CAACE,EAAUC,CAAW,EAAIL,EAAAA,SAAmB,CAAA,CAAE,EAE/CM,EAAOV,EAAAA,QAAQ,IAEZW,EAAA,YAAYZ,EAAiB,MAAM,EACzC,CAACA,CAAe,CAAC,EAEda,EAAwBC,GAAqB,CAErCJ,EAAA,CAACI,CAAQ,CAAC,CACxB,EAEMC,EAAc,GAAW,CACRF,EAAA,EAAE,KAAK,KAAK,EAAE,CACrC,EAEMG,EAAgBC,GAAe,CACnC,CACE,MAAO,wBACP,QAAS,IAAMb,EAAca,CAAE,EAC/B,KAAM,UAAA,CAEV,EAEM,CAACC,CAAW,EAAIC,EAAA,qBAAqB,EAAE,EAEvCC,EAAqB,GAAW,CAC9B,MAAAH,EAAK,EAAE,KAAK,KAAK,GAEnBA,IAEFJ,EAAqBI,CAAE,EAEvBC,EAAY,EAAE,cAAeF,EAAaC,CAAE,CAAC,EAEjD,EAEA,OAEII,EAAA,kBAAA,KAAAC,6BAAA,CAAA,SAAA,CAAAC,wBAACC,EAAAA,WACC,CAAA,SAAAD,EAAA,kBAAA,IAACE,EAAA,UAAA,CACC,WAAU,GACV,aAAa,OACb,MAAOd,EACP,aAAa,0BACb,cAAc,SACd,cAAeF,EAAS,CAAC,EACzB,WAAAM,EACA,cAAeK,EAEd,SAAAvB,EAAQ,IAAK6B,GAEVH,EAAA,kBAAA,IAACI,EAAA,OAAA,CAEC,MAAOD,EAAI,MACX,OAAQA,EAAI,OACZ,SAAUA,EAAI,SACd,MAAO,CAAE,MAAOA,EAAI,KAAM,CAAA,EAJrBA,EAAI,KAKX,CAEH,CAAA,CAAA,EAEL,EAECvB,GACCoB,EAAA,kBAAA,IAACK,EAAA,cAAA,CACC,YAAatB,EACb,WAAY,iBACZ,UAAW,CAACH,CAAU,EACtB,QAAS,CAAC,CAACA,EACX,OAAQ,IAAMC,EAAc,EAAK,CAAA,CAAA,CACnC,EAEJ,CAEJ"}
@@ -201,6 +201,7 @@ import "../../components/Powerpack/PowerpackButton.es.js";
201
201
  import "../../components/Powerpack/PricingLink.es.js";
202
202
  import "../../components/Powerpack/PowerpackDialog.styled.es.js";
203
203
  import "../../components/Powerpack/CTAButton.es.js";
204
+ import "../../components/Powerpack/RequiredPowerpackVersion.es.js";
204
205
  import "../../components/SettingsPanel/SettingsPanel.es.js";
205
206
  import "../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
206
207
  import "../../components/AttributeEditor/components/MinMaxField.es.js";
@@ -214,6 +215,8 @@ import "../../components/Feedback/SupportBubble.es.js";
214
215
  import "../../components/Chips/Chips.es.js";
215
216
  import "../../components/LinksManager/LinksManager.styled.es.js";
216
217
  import "../EntityPickerDialog/EntityPickerDialog.es.js";
218
+ import "../../components/DetailsMetaData/DetailsMetaData.es.js";
219
+ import "../../components/AccessUser/AccessUser.es.js";
217
220
  const T = [
218
221
  {
219
222
  field: "name",
@@ -236,7 +239,7 @@ const T = [
236
239
  header: "productType",
237
240
  width: 110
238
241
  }
239
- ], Si = ({ entities: p = [] }) => {
242
+ ], Ei = ({ entities: p = [] }) => {
240
243
  var s;
241
244
  const i = a(() => b(p) || [], [p]), [r, e] = d(!1), l = (s = i.find((t) => t.id === r)) == null ? void 0 : s.projectName, [c, u] = d([]), f = a(() => C(i, "name"), [i]), n = (t) => {
242
245
  u([t]);
@@ -289,6 +292,6 @@ const T = [
289
292
  ] });
290
293
  };
291
294
  export {
292
- Si as RepresentationsList
295
+ Ei as RepresentationsList
293
296
  };
294
297
  //# sourceMappingURL=RepresentationsList.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RepresentationsList.es.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["columns","RepresentationsList","entities","representations","useMemo","versionsToRepresentations","showDetail","setShowDetail","useState","showDetailProjectName","_a","rep","selected","setSelected","data","groupResult","onRepSelectionChange","entityId","onRowClick","e","ctxMenuItems","id","ctxMenuShow","useCreateContextMenu","handleContextMenu","jsxs","Fragment","jsx","TablePanel","TreeTable","col","Column","DetailsDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAMA,IAAU;AAAA,EACd;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAEX,GAMaC,KAAsB,CAAC,EAAE,UAAAC,IAAW,CAAA,QAAgB;;AAEzD,QAAAC,IAAkBC,EAAQ,MAAMC,EAA0BH,CAAQ,KAAK,CAAC,GAAG,CAACA,CAAQ,CAAC,GAErF,CAACI,GAAYC,CAAa,IAAIC,EAAyB,EAAK,GAC5DC,KAAwBC,IAAAP,EAAgB,KAAK,CAACQ,MAAQA,EAAI,OAAOL,CAAU,MAAnD,gBAAAI,EAAsD,aAE9E,CAACE,GAAUC,CAAW,IAAIL,EAAmB,CAAA,CAAE,GAE/CM,IAAOV,EAAQ,MAEZW,EAAYZ,GAAiB,MAAM,GACzC,CAACA,CAAe,CAAC,GAEda,IAAuB,CAACC,MAAqB;AAErC,IAAAJ,EAAA,CAACI,CAAQ,CAAC;AAAA,EACxB,GAEMC,IAAa,CAACC,MAAW;AACR,IAAAH,EAAAG,EAAE,KAAK,KAAK,EAAE;AAAA,EACrC,GAEMC,IAAe,CAACC,MAAe;AAAA,IACnC;AAAA,MACE,OAAO;AAAA,MACP,SAAS,MAAMd,EAAcc,CAAE;AAAA,MAC/B,MAAM;AAAA,IAAA;AAAA,EAEV,GAEM,CAACC,CAAW,IAAIC,EAAqB,EAAE,GAEvCC,IAAoB,CAACL,MAAW;AAC9B,UAAAE,IAAKF,EAAE,KAAK,KAAK;AAEvB,IAAIE,MAEFL,EAAqBK,CAAE,GAEvBC,EAAYH,EAAE,eAAeC,EAAaC,CAAE,CAAC;AAAA,EAEjD;AAEA,SAEII,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAAC,gBAAAA,MAACC,GACC,EAAA,UAAAD,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,YAAU;AAAA,QACV,cAAa;AAAA,QACb,OAAOf;AAAA,QACP,cAAa;AAAA,QACb,eAAc;AAAA,QACd,eAAeF,EAAS,CAAC;AAAA,QACzB,YAAAM;AAAA,QACA,eAAeM;AAAA,QAEd,UAAAxB,EAAQ,IAAI,CAAC8B,MAEVH,gBAAAA,EAAA;AAAA,UAACI;AAAA,UAAA;AAAA,YAEC,OAAOD,EAAI;AAAA,YACX,QAAQA,EAAI;AAAA,YACZ,UAAUA,EAAI;AAAA,YACd,OAAO,EAAE,OAAOA,EAAI,MAAM;AAAA,UAAA;AAAA,UAJrBA,EAAI;AAAA,QAKX,CAEH;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,IAECxB,KACCqB,gBAAAA,EAAA;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,aAAavB;AAAA,QACb,YAAY;AAAA,QACZ,WAAW,CAACH,CAAU;AAAA,QACtB,SAAS,CAAC,CAACA;AAAA,QACX,QAAQ,MAAMC,EAAc,EAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACnC,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"RepresentationsList.es.js","sources":["../../../../../src/containers/RepresentationsList/RepresentationsList.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { TablePanel } from '@ynput/ayon-react-components'\n\nimport { TreeTable } from 'primereact/treetable'\nimport { Column } from 'primereact/column'\n\nimport { groupResult } from '@shared/util'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { DetailsDialog } from '@shared/components'\nimport versionsToRepresentations from './versionsToRepresentations'\nimport { DetailsPanelEntityData } from '@shared/api'\n\nconst columns = [\n {\n field: 'name',\n header: 'Name',\n width: 90,\n expander: true,\n },\n {\n field: 'folderName',\n header: 'Folder',\n width: 130,\n },\n {\n field: 'productName',\n header: 'Product',\n width: 130,\n },\n {\n field: 'Product type',\n header: 'productType',\n width: 110,\n },\n]\n\ntype Props = {\n entities: DetailsPanelEntityData[]\n}\n\nexport const RepresentationsList = ({ entities = [] }: Props) => {\n // merge all entities data into one array of entities\n const representations = useMemo(() => versionsToRepresentations(entities) || [], [entities])\n\n const [showDetail, setShowDetail] = useState<false | string>(false)\n const showDetailProjectName = representations.find((rep) => rep.id === showDetail)?.projectName\n\n const [selected, setSelected] = useState<string[]>([])\n\n const data = useMemo(() => {\n // @ts-expect-error - groupResult is not typed\n return groupResult(representations, 'name')\n }, [representations])\n\n const onRepSelectionChange = (entityId: string) => {\n // set focused state\n setSelected([entityId])\n }\n\n const onRowClick = (e: any) => {\n onRepSelectionChange(e.node.data.id)\n }\n\n const ctxMenuItems = (id: string) => [\n {\n label: 'Representation detail',\n command: () => setShowDetail(id),\n icon: 'database',\n },\n ]\n\n const [ctxMenuShow] = useCreateContextMenu([])\n\n const handleContextMenu = (e: any) => {\n const id = e.node.data.id\n\n if (id) {\n // update focused representations\n onRepSelectionChange(id)\n // open context menu\n ctxMenuShow(e.originalEvent, ctxMenuItems(id))\n }\n }\n\n return (\n <>\n <TablePanel>\n <TreeTable\n scrollable\n scrollHeight=\"100%\"\n value={data}\n emptyMessage=\"No representation found\"\n selectionMode=\"single\"\n selectionKeys={selected[0]}\n onRowClick={onRowClick}\n onContextMenu={handleContextMenu}\n >\n {columns.map((col) => {\n return (\n <Column\n key={col.field}\n field={col.field}\n header={col.header}\n expander={col.expander}\n style={{ width: col.width }}\n />\n )\n })}\n </TreeTable>\n </TablePanel>\n\n {showDetail && (\n <DetailsDialog\n projectName={showDetailProjectName}\n entityType={'representation'}\n entityIds={[showDetail]}\n visible={!!showDetail}\n onHide={() => setShowDetail(false)}\n />\n )}\n </>\n )\n}\n"],"names":["columns","RepresentationsList","entities","representations","useMemo","versionsToRepresentations","showDetail","setShowDetail","useState","showDetailProjectName","_a","rep","selected","setSelected","data","groupResult","onRepSelectionChange","entityId","onRowClick","e","ctxMenuItems","id","ctxMenuShow","useCreateContextMenu","handleContextMenu","jsxs","Fragment","jsx","TablePanel","TreeTable","col","Column","DetailsDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAMA,IAAU;AAAA,EACd;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,OAAO;AAAA,EAAA;AAEX,GAMaC,KAAsB,CAAC,EAAE,UAAAC,IAAW,CAAA,QAAgB;;AAEzD,QAAAC,IAAkBC,EAAQ,MAAMC,EAA0BH,CAAQ,KAAK,CAAC,GAAG,CAACA,CAAQ,CAAC,GAErF,CAACI,GAAYC,CAAa,IAAIC,EAAyB,EAAK,GAC5DC,KAAwBC,IAAAP,EAAgB,KAAK,CAACQ,MAAQA,EAAI,OAAOL,CAAU,MAAnD,gBAAAI,EAAsD,aAE9E,CAACE,GAAUC,CAAW,IAAIL,EAAmB,CAAA,CAAE,GAE/CM,IAAOV,EAAQ,MAEZW,EAAYZ,GAAiB,MAAM,GACzC,CAACA,CAAe,CAAC,GAEda,IAAuB,CAACC,MAAqB;AAErC,IAAAJ,EAAA,CAACI,CAAQ,CAAC;AAAA,EACxB,GAEMC,IAAa,CAACC,MAAW;AACR,IAAAH,EAAAG,EAAE,KAAK,KAAK,EAAE;AAAA,EACrC,GAEMC,IAAe,CAACC,MAAe;AAAA,IACnC;AAAA,MACE,OAAO;AAAA,MACP,SAAS,MAAMd,EAAcc,CAAE;AAAA,MAC/B,MAAM;AAAA,IAAA;AAAA,EAEV,GAEM,CAACC,CAAW,IAAIC,EAAqB,EAAE,GAEvCC,IAAoB,CAACL,MAAW;AAC9B,UAAAE,IAAKF,EAAE,KAAK,KAAK;AAEvB,IAAIE,MAEFL,EAAqBK,CAAE,GAEvBC,EAAYH,EAAE,eAAeC,EAAaC,CAAE,CAAC;AAAA,EAEjD;AAEA,SAEII,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAAC,gBAAAA,MAACC,GACC,EAAA,UAAAD,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,YAAU;AAAA,QACV,cAAa;AAAA,QACb,OAAOf;AAAA,QACP,cAAa;AAAA,QACb,eAAc;AAAA,QACd,eAAeF,EAAS,CAAC;AAAA,QACzB,YAAAM;AAAA,QACA,eAAeM;AAAA,QAEd,UAAAxB,EAAQ,IAAI,CAAC8B,MAEVH,gBAAAA,EAAA;AAAA,UAACI;AAAA,UAAA;AAAA,YAEC,OAAOD,EAAI;AAAA,YACX,QAAQA,EAAI;AAAA,YACZ,UAAUA,EAAI;AAAA,YACd,OAAO,EAAE,OAAOA,EAAI,MAAM;AAAA,UAAA;AAAA,UAJrBA,EAAI;AAAA,QAKX,CAEH;AAAA,MAAA;AAAA,IAAA,GAEL;AAAA,IAECxB,KACCqB,gBAAAA,EAAA;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,aAAavB;AAAA,QACb,YAAY;AAAA,QACZ,WAAW,CAACH,CAAU;AAAA,QACtB,SAAS,CAAC,CAACA;AAAA,QACX,QAAQ,MAAMC,EAAc,EAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACnC,GAEJ;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";const h=require("../../../../_virtual/jsx-runtime.cjs.js"),c=require("react"),v=require("./SimpleTable.styled.cjs.js"),m=require("@tanstack/react-table"),ee=require("@tanstack/react-virtual"),U=require("clsx"),re=require("./hooks/useRowKeydown.cjs.js"),V=require("@tanstack/match-sorter-utils"),ie=require("./context/SimpleTableContext.cjs.js"),ue=require("./SimpleTableRowTemplate.cjs.js");require("@ynput/ayon-react-components");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");const te=require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/LinksManagerDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");const ne=(l,n,s,d)=>{const q=V.rankItem(l.getValue(n),s);return d({itemRank:q}),q.passed},qe=(l,n,s)=>{var q,a;let d=0;return l.columnFiltersMeta[s]&&(d=V.compareItems((q=l.columnFiltersMeta[s])==null?void 0:q.itemRank,(a=n.columnFiltersMeta[s])==null?void 0:a.itemRank)),d===0?m.sortingFns.alphanumeric(l,n,s):d};function oe(l,n,s){const d=[];if(n===s){const o=l.find(b=>b.id===n);return o?[o]:[]}let q=-1,a=-1;for(let o=0;o<l.length&&(l[o].id===n&&(q=o),l[o].id===s&&(a=o),!(q!==-1&&a!==-1));o++);if(q===-1||a===-1)return[];const S=Math.min(q,a),j=Math.max(q,a);for(let o=S;o<=j;o++)d.push(l[o]);return d}const le=({data:l=[],isLoading:n,error:s,isExpandable:d,isMultiSelect:q=!0,enableClickToDeselect:a=!0,forceUpdateTable:S,globalFilter:j,meta:o,rowHeight:b,onScrollBottom:F,children:_,pt:f})=>{const{rowSelection:M,expanded:A,setExpanded:E,onExpandedChange:w,onRowSelectionChange:P,rowPinning:K,onRowPinningChange:p}=ie.useSimpleTableContext(),C=c.useRef(null),z=c.useRef(null),B=c.useMemo(()=>n?Array.from({length:10},(e,i)=>({id:`placeholder-${i}`,name:`placeholder-${i}`,label:`placeholder-${i}`,icon:null,img:null,subRows:[],data:{id:`placeholder-${i}`}})):l,[n,l,S]),y=c.useCallback((e,i,u,r)=>{const g=i,x=e.getFilteredRowModel().flatRows,t=x.find(k=>k.id===g);if(t&&!t.original.isDisabled){if(a&&!u&&!r&&Object.keys(e.getState().rowSelection).length===1&&e.getState().rowSelection[g]){e.setRowSelection({}),C.current=null;return}if(q&&u&&C.current){const k=C.current;if(!x.find(H=>H.id===k))e.setRowSelection({[g]:!0});else{const H=oe(x,g,k),N={};H.forEach(Z=>N[Z.id]=!0),e.setRowSelection(N)}}else q&&r?t.toggleSelected():e.setRowSelection({[g]:!0});C.current=g}},[q,a]),I=c.useCallback((e,i)=>{if(!z.current){console.warn("tableRef not yet available in handleRowSelectForKeydown");return}const u=e.shiftKey,r=e.ctrlKey||e.metaKey;y(z.current,i.id,u,r)},[y]),{handleRowKeyDown:$}=re({handleRowSelect:I}),O=c.useMemo(()=>[{accessorKey:"label",header:void 0,filterFn:"fuzzy",sortingFn:qe,cell:({row:e,getValue:i,table:u})=>{const r=u.options.meta,g=t=>{t.target instanceof HTMLInputElement||t.target instanceof HTMLButtonElement||t.target instanceof HTMLTextAreaElement||t.target instanceof HTMLSelectElement||t.target instanceof HTMLAnchorElement||t.target.closest("button, a, input, textarea, select")||y(u,e.id,t.shiftKey,t.ctrlKey||t.metaKey)},x={className:U({selected:e.getIsSelected(),loading:r==null?void 0:r.isLoading,disabled:e.original.isDisabled}),onKeyDown:t=>{t.target instanceof HTMLInputElement||$(t,e)},onClick:g,depth:e.depth,tabIndex:0,value:i(),parents:e.original.parents,icon:e.original.icon||void 0,iconColor:e.original.iconColor,isRowExpandable:e.getCanExpand(),isRowExpanded:e.getIsExpanded(),isTableExpandable:r==null?void 0:r.isExpandable,onExpandClick:e.getToggleExpandedHandler(),startContent:e.original.startContent,endContent:e.original.endContent,isDisabled:e.original.isDisabled,disabledMessage:e.original.disabledMessage};return r!=null&&r.children?r.children(x,e,u):h.jsxRuntimeExports.jsx(ue.SimpleTableCellTemplate,{...x,...f==null?void 0:f.cell})}}],[S,y,$,a]),Y=c.useCallback(e=>{P(m.functionalUpdate(e,M))},[P,M]),G=c.useCallback(e=>{K&&(p==null||p(m.functionalUpdate(e,K)))},[p]),J=c.useCallback(e=>{E==null||E(i=>{const u=e instanceof Function?e(i):e;return w==null||w(u),u})},[E,w]),T=m.useReactTable({data:B,columns:O,state:{expanded:A,rowSelection:M,globalFilter:j,rowPinning:K},onRowSelectionChange:Y,onRowPinningChange:G,filterFns:{fuzzy:ne},enableRowSelection:!0,enableRowPinning:!!p,getRowId:e=>e.id,enableSubRowSelection:!1,onExpandedChange:J,getSubRows:e=>e.subRows,getCoreRowModel:m.getCoreRowModel(),getFilteredRowModel:m.getFilteredRowModel(),getExpandedRowModel:m.getExpandedRowModel(),filterFromLeafRows:!0,meta:{isExpandable:!!d,isLoading:n,children:_,...o}});c.useEffect(()=>{z.current=T},[T]);const{rows:D}=T.getRowModel(),L=c.useRef(null),R=ee.useVirtualizer({count:D.length,estimateSize:()=>b||34,getScrollElement:()=>L.current,measureElement:b?()=>b:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?e=>e==null?void 0:e.getBoundingClientRect().height:void 0,overscan:5}),Q=c.useCallback(e=>{e&&R.measureElement(e)},[R]),W=c.useCallback(e=>{if(!F)return;const i=e.currentTarget,{scrollTop:u,scrollHeight:r,clientHeight:g}=i;r-u-g<100&&!n&&F()},[F,n]),X=e=>{a&&!e.target.closest("tr")&&(T.setRowSelection({}),C.current=null)};return h.jsxRuntimeExports.jsxs(v.TableContainer,{ref:L,className:U({isLoading:n}),onScroll:W,onClick:X,children:[!s&&h.jsxRuntimeExports.jsx("table",{children:h.jsxRuntimeExports.jsx("tbody",{style:{height:`${R==null?void 0:R.getTotalSize()}px`},children:R==null?void 0:R.getVirtualItems().map(e=>{var u;const i=D[e.index];return h.jsxRuntimeExports.jsx("tr",{"data-index":e.index,ref:Q,id:i.id,...f==null?void 0:f.row,style:{transform:`translateY(${e.start}px)`,...(u=f==null?void 0:f.row)==null?void 0:u.style},children:i.getVisibleCells().map(r=>h.jsxRuntimeExports.jsx("td",{children:m.flexRender(r.column.columnDef.cell,r.getContext())},r.id))},i.id)})})}),!!s&&h.jsxRuntimeExports.jsx(te.EmptyPlaceholder,{error:s})]})};module.exports=le;
1
+ "use strict";const h=require("../../../../_virtual/jsx-runtime.cjs.js"),c=require("react"),ee=require("./SimpleTable.styled.cjs.js"),m=require("@tanstack/react-table"),re=require("@tanstack/react-virtual"),V=require("clsx"),ie=require("./hooks/useRowKeydown.cjs.js"),_=require("@tanstack/match-sorter-utils"),ue=require("./context/SimpleTableContext.cjs.js"),te=require("./SimpleTableRowTemplate.cjs.js");require("@ynput/ayon-react-components");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");const ne=require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/desktop.cjs.js");require("../../api/generated/entityLists.cjs.js");require("../../api/generated/events.cjs.js");require("../../api/generated/files.cjs.js");require("../../api/generated/folders.cjs.js");require("../../api/generated/inbox.cjs.js");require("../../api/generated/links.cjs.js");require("../../api/generated/market.cjs.js");require("../../api/generated/onboarding.cjs.js");require("../../api/generated/operations.cjs.js");require("../../api/generated/products.cjs.js");require("../../api/generated/projectDashboard.cjs.js");require("../../api/generated/projects.cjs.js");require("../../api/generated/reviewables.cjs.js");require("../../api/generated/services.cjs.js");require("../../api/generated/system.cjs.js");require("../../api/generated/tasks.cjs.js");require("../../api/generated/teams.cjs.js");require("../../api/generated/thumbnails.cjs.js");require("../../api/generated/uRIs.cjs.js");require("../../api/generated/users.cjs.js");require("../../api/generated/versions.cjs.js");require("../../api/generated/workfiles.cjs.js");require("../../api/generated/ynputCloud.cjs.js");require("../../api/generated/grouping.cjs.js");require("../../api/generated/views.cjs.js");require("../../api/queries/actions/getActions.cjs.js");require("../../api/queries/activities/getActivities.cjs.js");require("../../api/queries/activities/updateActivities.cjs.js");require("../../api/queries/activities/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/addons/getAddons.cjs.js");require("../../api/queries/addons/updateAddons.cjs.js");require("../../api/queries/attributes/getAttributes.cjs.js");require("../../api/queries/attributes/updateAttributes.cjs.js");require("../../api/queries/authentication/getAuthentication.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/entities/updateEntity.cjs.js");require("../../api/queries/entityLists/getLists.cjs.js");require("../../api/queries/entityLists/updateLists.cjs.js");require("../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/grouping/getGrouping.cjs.js");require("../../api/queries/links/updateLinks.cjs.js");require("../../api/queries/links/getLinks.cjs.js");require("../../api/queries/links/getEntityLinks.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/review/getReview.cjs.js");require("../../api/queries/review/updateReview.cjs.js");require("../../api/queries/share/share.cjs.js");require("../../api/queries/system/getSystem.cjs.js");require("../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../api/queries/users/getUsers.cjs.js");require("../../api/queries/users/updateUsers.cjs.js");require("../../api/queries/versions/updateVersions.cjs.js");require("../../api/queries/views/getViews.cjs.js");require("../../api/queries/views/updateViews.cjs.js");require("../../api/queries/watchers/getWatchers.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../util/pubsub.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../context/RemoteModulesContext.cjs.js");require("../../context/DetailsPanelContext.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/PowerpackContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("date-fns");require("../ProjectTreeTable/ProjectTreeTable.cjs.js");require("../ProjectTreeTable/context/CellEditingContext.cjs.js");require("../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../components/LinksManager/LinksManagerDialog.cjs.js");require("../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../ProjectTreeTable/components/SelectionCell.cjs.js");require("../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../ProjectTreeTable/components/ColumnHeaderMenu.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/context/ViewsContext.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/PricingLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredPowerpackVersion.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../components/Feedback/FeedbackContext.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/Chips/Chips.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../components/DetailsMetaData/DetailsMetaData.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");const qe=(l,n,s,d)=>{const q=_.rankItem(l.getValue(n),s);return d({itemRank:q}),q.passed},oe=(l,n,s)=>{var q,a;let d=0;return l.columnFiltersMeta[s]&&(d=_.compareItems((q=l.columnFiltersMeta[s])==null?void 0:q.itemRank,(a=n.columnFiltersMeta[s])==null?void 0:a.itemRank)),d===0?m.sortingFns.alphanumeric(l,n,s):d};function le(l,n,s){const d=[];if(n===s){const o=l.find(F=>F.id===n);return o?[o]:[]}let q=-1,a=-1;for(let o=0;o<l.length&&(l[o].id===n&&(q=o),l[o].id===s&&(a=o),!(q!==-1&&a!==-1));o++);if(q===-1||a===-1)return[];const C=Math.min(q,a),S=Math.max(q,a);for(let o=C;o<=S;o++)d.push(l[o]);return d}const se=({data:l=[],isLoading:n,error:s,isExpandable:d,isMultiSelect:q=!0,enableClickToDeselect:a=!0,enableNonFolderIndent:C=!0,forceUpdateTable:S,globalFilter:o,meta:F,rowHeight:j,onScrollBottom:M,children:A,pt:f})=>{const{rowSelection:K,expanded:B,setExpanded:E,onExpandedChange:y,onRowSelectionChange:$,rowPinning:z,onRowPinningChange:b}=ue.useSimpleTableContext(),p=c.useRef(null),H=c.useRef(null),O=c.useMemo(()=>n?Array.from({length:10},(e,i)=>({id:`placeholder-${i}`,name:`placeholder-${i}`,label:`placeholder-${i}`,icon:null,img:null,subRows:[],data:{id:`placeholder-${i}`}})):l,[n,l,S]),w=c.useCallback((e,i,u,r)=>{const g=i,x=e.getFilteredRowModel().flatRows,t=x.find(k=>k.id===g);if(t&&!t.original.isDisabled){if(a&&!u&&!r&&Object.keys(e.getState().rowSelection).length===1&&e.getState().rowSelection[g]){e.setRowSelection({}),p.current=null;return}if(q&&u&&p.current){const k=p.current;if(!x.find(P=>P.id===k))e.setRowSelection({[g]:!0});else{const P=le(x,g,k),U={};P.forEach(v=>U[v.id]=!0),e.setRowSelection(U)}}else q&&r?t.toggleSelected():e.setRowSelection({[g]:!0});p.current=g}},[q,a]),Y=c.useCallback((e,i)=>{if(!H.current){console.warn("tableRef not yet available in handleRowSelectForKeydown");return}const u=e.shiftKey,r=e.ctrlKey||e.metaKey;w(H.current,i.id,u,r)},[w]),{handleRowKeyDown:D}=ie({handleRowSelect:Y}),G=c.useMemo(()=>[{accessorKey:"label",header:void 0,filterFn:"fuzzy",sortingFn:oe,cell:({row:e,getValue:i,table:u})=>{const r=u.options.meta,g=t=>{t.target instanceof HTMLInputElement||t.target instanceof HTMLButtonElement||t.target instanceof HTMLTextAreaElement||t.target instanceof HTMLSelectElement||t.target instanceof HTMLAnchorElement||t.target.closest("button, a, input, textarea, select")||w(u,e.id,t.shiftKey,t.ctrlKey||t.metaKey)},x={className:V({selected:e.getIsSelected(),loading:r==null?void 0:r.isLoading,disabled:e.original.isDisabled,inactive:e.original.inactive}),onKeyDown:t=>{t.target instanceof HTMLInputElement||D(t,e)},onClick:g,depth:e.depth,tabIndex:0,value:i(),parents:e.original.parents,icon:e.original.icon||void 0,iconColor:e.original.iconColor,iconFilled:e.original.iconFilled,isRowExpandable:e.getCanExpand(),enableNonFolderIndent:C,isRowExpanded:e.getIsExpanded(),isTableExpandable:r==null?void 0:r.isExpandable,onExpandClick:e.getToggleExpandedHandler(),startContent:e.original.startContent,endContent:e.original.endContent,isDisabled:e.original.isDisabled,disabledMessage:e.original.disabledMessage};return r!=null&&r.children?r.children(x,e,u):h.jsxRuntimeExports.jsx(te.SimpleTableCellTemplate,{...x,...f==null?void 0:f.cell})}}],[S,w,D,a,C]),I=c.useCallback(e=>{$(m.functionalUpdate(e,K))},[$,K]),J=c.useCallback(e=>{z&&(b==null||b(m.functionalUpdate(e,z)))},[b]),Q=c.useCallback(e=>{E==null||E(i=>{const u=e instanceof Function?e(i):e;return y==null||y(u),u})},[E,y]),T=m.useReactTable({data:O,columns:G,state:{expanded:B,rowSelection:K,globalFilter:o,rowPinning:z},onRowSelectionChange:I,onRowPinningChange:J,filterFns:{fuzzy:qe},enableRowSelection:!0,enableRowPinning:!!b,getRowId:e=>e.id,enableSubRowSelection:!1,onExpandedChange:Q,getSubRows:e=>e.subRows,getCoreRowModel:m.getCoreRowModel(),getFilteredRowModel:m.getFilteredRowModel(),getExpandedRowModel:m.getExpandedRowModel(),filterFromLeafRows:!0,meta:{isExpandable:!!d,isLoading:n,children:A,...F}});c.useEffect(()=>{H.current=T},[T]);const{rows:L}=T.getRowModel(),N=c.useRef(null),R=re.useVirtualizer({count:L.length,estimateSize:()=>j||34,getScrollElement:()=>N.current,measureElement:j?()=>j:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?e=>e==null?void 0:e.getBoundingClientRect().height:void 0,overscan:5}),W=c.useCallback(e=>{e&&R.measureElement(e)},[R]),X=c.useCallback(e=>{if(!M)return;const i=e.currentTarget,{scrollTop:u,scrollHeight:r,clientHeight:g}=i;r-u-g<100&&!n&&M()},[M,n]),Z=e=>{a&&!e.target.closest("tr")&&(T.setRowSelection({}),p.current=null)};return h.jsxRuntimeExports.jsxs(ee.TableContainer,{ref:N,className:V({isLoading:n}),onScroll:X,onClick:Z,children:[!s&&h.jsxRuntimeExports.jsx("table",{children:h.jsxRuntimeExports.jsx("tbody",{style:{height:`${R==null?void 0:R.getTotalSize()}px`},children:R==null?void 0:R.getVirtualItems().map(e=>{var u;const i=L[e.index];return h.jsxRuntimeExports.jsx("tr",{"data-index":e.index,ref:W,id:i.id,...f==null?void 0:f.row,style:{transform:`translateY(${e.start}px)`,...(u=f==null?void 0:f.row)==null?void 0:u.style},children:i.getVisibleCells().map(r=>h.jsxRuntimeExports.jsx("td",{children:m.flexRender(r.column.columnDef.cell,r.getContext())},r.id))},i.id)})})}),!!s&&h.jsxRuntimeExports.jsx(ne.EmptyPlaceholder,{error:s})]})};module.exports=se;
2
2
  //# sourceMappingURL=SimpleTable.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTable.cjs.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import { FC, useMemo, useRef, MouseEvent as ReactMouseEvent, useCallback, useEffect } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n ColumnDef,\n flexRender,\n Row,\n FilterFn,\n SortingFn,\n sortingFns,\n RowData,\n Table,\n OnChangeFn,\n RowSelectionState,\n functionalUpdate,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\n\nimport clsx from 'clsx'\nimport useRowKeydown, { RowKeyboardEvent } from './hooks/useRowKeydown'\n\nimport { RankingInfo, rankItem, compareItems } from '@tanstack/match-sorter-utils'\nimport { useSimpleTableContext } from './context/SimpleTableContext'\nimport { SimpleTableCellTemplate, SimpleTableCellTemplateProps } from './SimpleTableRowTemplate'\nimport { EmptyPlaceholder } from '@shared/components'\nimport { RowPinningState } from '@tanstack/react-table'\n\ndeclare module '@tanstack/react-table' {\n //add fuzzy filter to the filterFns\n interface FilterFns {\n fuzzy: FilterFn<unknown>\n }\n interface FilterMeta {\n itemRank: RankingInfo\n }\n\n interface TableMeta<TData extends RowData> {\n isExpandable?: boolean\n isLoading?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<TData>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n [key: string]: any\n }\n}\n\n// Define a custom fuzzy filter function that will apply ranking info to rows (using match-sorter utils)\nconst fuzzyFilter: FilterFn<any> = (row, columnId, value, addMeta) => {\n // Rank the item\n const itemRank = rankItem(row.getValue(columnId), value)\n\n // Store the itemRank info\n addMeta({\n itemRank,\n })\n\n // Return if the item should be filtered in/out\n return itemRank.passed\n}\n\n// Define a custom fuzzy sort function that will sort by rank if the row has ranking information\nconst fuzzySort: SortingFn<any> = (rowA, rowB, columnId) => {\n let dir = 0\n\n // Only sort by rank if the column has ranking information\n if (rowA.columnFiltersMeta[columnId]) {\n dir = compareItems(\n rowA.columnFiltersMeta[columnId]?.itemRank!,\n rowB.columnFiltersMeta[columnId]?.itemRank!,\n )\n }\n\n // Provide an alphanumeric fallback for when the item ranks are equal\n return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir\n}\n\nexport type RowItemData = {\n id: string\n name?: string | null\n label?: string | null\n subType?: string | null\n [key: string]: any\n}\n\nexport type SimpleTableRow = {\n id: string\n parentId?: string\n name: string\n label: string\n parents?: string[]\n icon?: string | null\n iconColor?: string\n img?: string | null\n startContent?: JSX.Element\n endContent?: JSX.Element\n subRows: SimpleTableRow[]\n data: RowItemData\n isDisabled?: boolean\n disabledMessage?: string\n}\n\nexport interface SimpleTableProps {\n data: SimpleTableRow[]\n isLoading: boolean\n error?: string\n isExpandable?: boolean // show expand/collapse icons\n isMultiSelect?: boolean // enable multi-select with shift+click and ctrl/cmd+click\n enableClickToDeselect?: boolean // allow deselecting a single selected row by clicking it again & clicking outside clears selection\n forceUpdateTable?: any\n globalFilter?: string\n meta?: Record<string, any>\n rowHeight?: number // height of each row, used for virtual scrolling\n onScrollBottom?: () => void // callback fired when scrolled to the bottom of the table\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<SimpleTableRow>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n pt?: {\n cell?: SimpleTableCellTemplateProps\n row?: React.HTMLAttributes<HTMLTableRowElement>\n }\n}\n\n// Helper function to get row range for shift-selection\n// Operates on the provided list of rows (e.g., filtered and sorted rows)\nfunction getRowRange<TData extends RowData>(\n rows: Array<Row<TData>>,\n idA: string,\n idB: string,\n): Array<Row<TData>> {\n const range: Array<Row<TData>> = []\n // If idA and idB are the same, or one is not found, handle appropriately\n if (idA === idB) {\n const singleRow = rows.find((row) => row.id === idA)\n return singleRow ? [singleRow] : []\n }\n\n let indexA = -1\n let indexB = -1\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].id === idA) indexA = i\n if (rows[i].id === idB) indexB = i\n if (indexA !== -1 && indexB !== -1) break\n }\n\n if (indexA === -1 || indexB === -1) return [] // One or both IDs not found\n\n const start = Math.min(indexA, indexB)\n const end = Math.max(indexA, indexB)\n\n for (let i = start; i <= end; i++) {\n range.push(rows[i])\n }\n return range\n}\n\nconst SimpleTable: FC<SimpleTableProps> = ({\n data = [],\n isLoading,\n error,\n isExpandable,\n isMultiSelect = true,\n enableClickToDeselect = true,\n forceUpdateTable,\n globalFilter,\n meta,\n rowHeight,\n onScrollBottom,\n children,\n pt,\n}) => {\n const {\n rowSelection,\n expanded,\n setExpanded,\n onExpandedChange,\n onRowSelectionChange,\n rowPinning,\n onRowPinningChange,\n } = useSimpleTableContext()\n const lastSelectedIdRef = useRef<string | null>(null)\n const tableRef = useRef<Table<SimpleTableRow> | null>(null)\n\n // stable data reference\n const tableData = useMemo(() => {\n if (!isLoading) return data\n\n // show loading placeholders\n return Array.from({ length: 10 }, (_, i) => ({\n id: `placeholder-${i}`,\n name: `placeholder-${i}`,\n label: `placeholder-${i}`,\n icon: null,\n img: null,\n subRows: [],\n data: {\n id: `placeholder-${i}`,\n },\n }))\n }, [isLoading, data, forceUpdateTable])\n\n // Define the core selection logic using useCallback for stability\n const handleSelectionLogic = useCallback(\n (\n tableInstance: Table<SimpleTableRow>,\n rowId: string,\n isShift: boolean,\n isCtrlOrMeta: boolean,\n ) => {\n const currentId = rowId\n const allProcessableRows = tableInstance.getFilteredRowModel().flatRows\n const currentRow = allProcessableRows.find((r) => r.id === currentId)\n\n if (!currentRow) return\n\n // Prevent selection of disabled rows\n if (currentRow.original.isDisabled) return\n\n // If click-to-deselect is enabled and only one row is selected and it's the current row\n if (\n enableClickToDeselect &&\n !isShift &&\n !isCtrlOrMeta &&\n Object.keys(tableInstance.getState().rowSelection).length === 1 &&\n tableInstance.getState().rowSelection[currentId]\n ) {\n tableInstance.setRowSelection({})\n lastSelectedIdRef.current = null\n return\n }\n\n if (isMultiSelect && isShift && lastSelectedIdRef.current) {\n const lastId = lastSelectedIdRef.current\n const anchorRow = allProcessableRows.find((r) => r.id === lastId)\n\n if (!anchorRow) {\n tableInstance.setRowSelection({ [currentId]: true })\n } else {\n const rowsToToggle = getRowRange(allProcessableRows, currentId, lastId)\n const newSelection: RowSelectionState = {}\n rowsToToggle.forEach((r) => (newSelection[r.id] = true))\n tableInstance.setRowSelection(newSelection)\n }\n } else if (isMultiSelect && isCtrlOrMeta) {\n currentRow.toggleSelected()\n } else {\n tableInstance.setRowSelection({ [currentId]: true })\n }\n lastSelectedIdRef.current = currentId\n },\n [isMultiSelect, enableClickToDeselect],\n )\n\n // Callback for useRowKeydown's handleRowSelect prop\n // Uses tableRef to access the table instance, avoiding direct dependency on 'table' variable at definition time\n const handleRowSelectForKeydown = useCallback(\n (\n event: RowKeyboardEvent, // Use the specific keyboard event type from the hook\n selectedRow: Row<SimpleTableRow>,\n ) => {\n if (!tableRef.current) {\n console.warn('tableRef not yet available in handleRowSelectForKeydown')\n return\n }\n\n // Extract modifier keys from the event\n const isShiftKey = event.shiftKey\n const isCtrlKey = event.ctrlKey || event.metaKey\n\n handleSelectionLogic(\n tableRef.current, // Pass the main table instance\n selectedRow.id,\n isShiftKey,\n isCtrlKey,\n )\n },\n [handleSelectionLogic], // Depends only on handleSelectionLogic\n )\n\n const { handleRowKeyDown } = useRowKeydown<SimpleTableRow>({\n handleRowSelect: handleRowSelectForKeydown,\n })\n\n const columns = useMemo<ColumnDef<SimpleTableRow>[]>(\n () => [\n {\n accessorKey: 'label',\n header: undefined,\n filterFn: 'fuzzy',\n sortingFn: fuzzySort, //sort by fuzzy rank (falls back to alphanumeric)\n cell: ({ row, getValue, table: cellTableInstance }) => {\n const cellMeta = cellTableInstance.options.meta\n\n const handleCellClick = (event: ReactMouseEvent<HTMLElement, MouseEvent>) => {\n // Prevent row selection if clicking on an interactive element within the cell\n if (\n event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLButtonElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement ||\n event.target instanceof HTMLAnchorElement ||\n (event.target as HTMLElement).closest('button, a, input, textarea, select')\n ) {\n return\n }\n handleSelectionLogic(\n cellTableInstance, // Pass the cell's table instance\n row.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n }\n\n const props: SimpleTableCellTemplateProps & {\n onClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n } = {\n className: clsx({\n selected: row.getIsSelected(),\n loading: cellMeta?.isLoading,\n disabled: row.original.isDisabled,\n }),\n onKeyDown: (e) => {\n if (e.target instanceof HTMLInputElement) return\n // Corrected typo: handleRowKeydown -> handleRowKeyDown\n handleRowKeyDown(e, row)\n },\n onClick: handleCellClick, // Added onClick handler\n depth: row.depth,\n tabIndex: 0,\n value: getValue<string>(),\n parents: row.original.parents,\n icon: row.original.icon || undefined,\n iconColor: row.original.iconColor,\n isRowExpandable: row.getCanExpand(),\n isRowExpanded: row.getIsExpanded(),\n isTableExpandable: cellMeta?.isExpandable,\n onExpandClick: row.getToggleExpandedHandler(),\n startContent: row.original.startContent,\n endContent: row.original.endContent,\n isDisabled: row.original.isDisabled,\n disabledMessage: row.original.disabledMessage,\n }\n\n // Use children function if provided, otherwise default to SimpleTableCellTemplate\n return cellMeta?.children ? (\n cellMeta.children(props, row, cellTableInstance)\n ) : (\n <SimpleTableCellTemplate {...props} {...pt?.cell} />\n )\n },\n },\n ],\n [forceUpdateTable, handleSelectionLogic, handleRowKeyDown, enableClickToDeselect], // include enableClickToDeselect for completeness\n )\n\n const handleRowSelectionChangeCallback: OnChangeFn<RowSelectionState> = useCallback(\n (updater) => {\n onRowSelectionChange(functionalUpdate(updater, rowSelection))\n },\n [onRowSelectionChange, rowSelection], // Depends only on the stable setState function from context\n )\n\n const handleRowPinningChangeCallback: OnChangeFn<RowPinningState> = useCallback(\n (updater) => {\n rowPinning && onRowPinningChange?.(functionalUpdate(updater, rowPinning))\n },\n [onRowPinningChange], // Depends only on the stable setState function from context\n )\n\n const handleExpandedChange = useCallback(\n (updater: any) => {\n setExpanded?.((old) => {\n const newExpanded = updater instanceof Function ? updater(old) : updater\n onExpandedChange?.(newExpanded)\n return newExpanded\n })\n },\n [setExpanded, onExpandedChange],\n )\n\n const table = useReactTable({\n data: tableData,\n columns,\n state: {\n expanded,\n rowSelection,\n globalFilter,\n rowPinning,\n },\n onRowSelectionChange: handleRowSelectionChangeCallback,\n onRowPinningChange: handleRowPinningChangeCallback,\n filterFns: {\n fuzzy: fuzzyFilter,\n },\n enableRowSelection: true, //enable row selection for all rows\n enableRowPinning: !!onRowPinningChange,\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n onExpandedChange: handleExpandedChange,\n getSubRows: (row) => row.subRows,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // debugTable: true,\n meta: {\n isExpandable: !!isExpandable,\n isLoading: isLoading,\n children: children,\n ...meta,\n },\n })\n\n // Update tableRef whenever the table instance changes.\n // This ensures handleRowSelectForKeydown uses the current table instance.\n useEffect(() => {\n tableRef.current = table\n }, [table])\n\n const { rows } = table.getRowModel()\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight || 34, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement: rowHeight\n ? () => rowHeight\n : typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n // Memoize the ref callback to prevent infinite re-renders\n const measureElementRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n // Handle scroll to bottom detection\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLDivElement>) => {\n if (!onScrollBottom) return\n\n const target = event.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = target\n\n // Check if we're near the bottom (within 100px)\n const isNearBottom = scrollHeight - scrollTop - clientHeight < 100\n\n if (isNearBottom && !isLoading) {\n onScrollBottom()\n }\n },\n [onScrollBottom, isLoading],\n )\n\n const handleContainerClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // if the click is outside of any row, clear selection\n if (enableClickToDeselect && !(e.target as HTMLElement).closest('tr')) {\n table.setRowSelection({})\n lastSelectedIdRef.current = null\n }\n }\n\n return (\n <Styled.TableContainer\n ref={tableContainerRef}\n className={clsx({ isLoading })}\n onScroll={handleScroll}\n onClick={handleContainerClick}\n >\n {!error && (\n <table>\n <tbody\n style={{\n height: `${rowVirtualizer?.getTotalSize()}px`, //tells scrollbar how big the table is\n }}\n >\n {rowVirtualizer?.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<SimpleTableRow>\n return (\n <tr\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={measureElementRef} //measure dynamic row height\n key={row.id}\n id={row.id}\n {...pt?.row}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n ...pt?.row?.style, // custom styles to be passed\n }}\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <td key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!error && <EmptyPlaceholder error={error} />}\n </Styled.TableContainer>\n )\n}\n\nexport default SimpleTable\n"],"names":["fuzzyFilter","row","columnId","value","addMeta","itemRank","rankItem","fuzzySort","rowA","rowB","dir","compareItems","_a","_b","sortingFns","getRowRange","rows","idA","idB","range","singleRow","indexA","indexB","i","start","end","SimpleTable","data","isLoading","error","isExpandable","isMultiSelect","enableClickToDeselect","forceUpdateTable","globalFilter","meta","rowHeight","onScrollBottom","children","pt","rowSelection","expanded","setExpanded","onExpandedChange","onRowSelectionChange","rowPinning","onRowPinningChange","useSimpleTableContext","lastSelectedIdRef","useRef","tableRef","tableData","useMemo","_","handleSelectionLogic","useCallback","tableInstance","rowId","isShift","isCtrlOrMeta","currentId","allProcessableRows","currentRow","r","lastId","rowsToToggle","newSelection","handleRowSelectForKeydown","event","selectedRow","isShiftKey","isCtrlKey","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","props","clsx","e","jsx","SimpleTableCellTemplate","handleRowSelectionChangeCallback","updater","functionalUpdate","handleRowPinningChangeCallback","handleExpandedChange","old","newExpanded","table","useReactTable","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","useEffect","tableContainerRef","rowVirtualizer","useVirtualizer","element","measureElementRef","node","handleScroll","target","scrollTop","scrollHeight","clientHeight","handleContainerClick","jsxs","Styled.TableContainer","virtualRow","cell","flexRender","EmptyPlaceholder"],"mappings":"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"}
1
+ {"version":3,"file":"SimpleTable.cjs.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import { FC, useMemo, useRef, MouseEvent as ReactMouseEvent, useCallback, useEffect } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport {\n useReactTable,\n getCoreRowModel,\n getFilteredRowModel,\n getExpandedRowModel,\n ColumnDef,\n flexRender,\n Row,\n FilterFn,\n SortingFn,\n sortingFns,\n RowData,\n Table,\n OnChangeFn,\n RowSelectionState,\n functionalUpdate,\n} from '@tanstack/react-table'\nimport { useVirtualizer } from '@tanstack/react-virtual'\n\nimport clsx from 'clsx'\nimport useRowKeydown, { RowKeyboardEvent } from './hooks/useRowKeydown'\n\nimport { RankingInfo, rankItem, compareItems } from '@tanstack/match-sorter-utils'\nimport { useSimpleTableContext } from './context/SimpleTableContext'\nimport { SimpleTableCellTemplate, SimpleTableCellTemplateProps } from './SimpleTableRowTemplate'\nimport { EmptyPlaceholder } from '@shared/components'\nimport { RowPinningState } from '@tanstack/react-table'\n\ndeclare module '@tanstack/react-table' {\n //add fuzzy filter to the filterFns\n interface FilterFns {\n fuzzy: FilterFn<unknown>\n }\n interface FilterMeta {\n itemRank: RankingInfo\n }\n\n interface TableMeta<TData extends RowData> {\n isExpandable?: boolean\n isLoading?: boolean\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<TData>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n [key: string]: any\n }\n}\n\n// Define a custom fuzzy filter function that will apply ranking info to rows (using match-sorter utils)\nconst fuzzyFilter: FilterFn<any> = (row, columnId, value, addMeta) => {\n // Rank the item\n const itemRank = rankItem(row.getValue(columnId), value)\n\n // Store the itemRank info\n addMeta({\n itemRank,\n })\n\n // Return if the item should be filtered in/out\n return itemRank.passed\n}\n\n// Define a custom fuzzy sort function that will sort by rank if the row has ranking information\nconst fuzzySort: SortingFn<any> = (rowA, rowB, columnId) => {\n let dir = 0\n\n // Only sort by rank if the column has ranking information\n if (rowA.columnFiltersMeta[columnId]) {\n dir = compareItems(\n rowA.columnFiltersMeta[columnId]?.itemRank!,\n rowB.columnFiltersMeta[columnId]?.itemRank!,\n )\n }\n\n // Provide an alphanumeric fallback for when the item ranks are equal\n return dir === 0 ? sortingFns.alphanumeric(rowA, rowB, columnId) : dir\n}\n\nexport type RowItemData = {\n id: string\n name?: string | null\n label?: string | null\n subType?: string | null\n [key: string]: any\n}\n\nexport type SimpleTableRow = {\n id: string\n parentId?: string\n name: string\n label: string\n parents?: string[]\n icon?: string | null\n iconColor?: string\n iconFilled?: boolean\n img?: string | null\n startContent?: JSX.Element\n endContent?: JSX.Element\n subRows: SimpleTableRow[]\n data: RowItemData\n isDisabled?: boolean\n disabledMessage?: string\n inactive?: boolean\n}\n\nexport interface SimpleTableProps {\n data: SimpleTableRow[]\n isLoading: boolean\n error?: string\n isExpandable?: boolean // show expand/collapse icons\n isMultiSelect?: boolean // enable multi-select with shift+click and ctrl/cmd+click\n enableClickToDeselect?: boolean // allow deselecting a single selected row by clicking it again & clicking outside clears selection\n enableNonFolderIndent?: boolean // indent non-folder rows to align with folder rows\n forceUpdateTable?: any\n globalFilter?: string\n meta?: Record<string, any>\n rowHeight?: number // height of each row, used for virtual scrolling\n onScrollBottom?: () => void // callback fired when scrolled to the bottom of the table\n children?: (\n props: SimpleTableCellTemplateProps,\n row: Row<SimpleTableRow>,\n table: Table<SimpleTableRow>,\n ) => JSX.Element\n pt?: {\n cell?: SimpleTableCellTemplateProps\n row?: React.HTMLAttributes<HTMLTableRowElement>\n }\n}\n\n// Helper function to get row range for shift-selection\n// Operates on the provided list of rows (e.g., filtered and sorted rows)\nfunction getRowRange<TData extends RowData>(\n rows: Array<Row<TData>>,\n idA: string,\n idB: string,\n): Array<Row<TData>> {\n const range: Array<Row<TData>> = []\n // If idA and idB are the same, or one is not found, handle appropriately\n if (idA === idB) {\n const singleRow = rows.find((row) => row.id === idA)\n return singleRow ? [singleRow] : []\n }\n\n let indexA = -1\n let indexB = -1\n\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].id === idA) indexA = i\n if (rows[i].id === idB) indexB = i\n if (indexA !== -1 && indexB !== -1) break\n }\n\n if (indexA === -1 || indexB === -1) return [] // One or both IDs not found\n\n const start = Math.min(indexA, indexB)\n const end = Math.max(indexA, indexB)\n\n for (let i = start; i <= end; i++) {\n range.push(rows[i])\n }\n return range\n}\n\nconst SimpleTable: FC<SimpleTableProps> = ({\n data = [],\n isLoading,\n error,\n isExpandable,\n isMultiSelect = true,\n enableClickToDeselect = true,\n enableNonFolderIndent = true,\n forceUpdateTable,\n globalFilter,\n meta,\n rowHeight,\n onScrollBottom,\n children,\n pt,\n}) => {\n const {\n rowSelection,\n expanded,\n setExpanded,\n onExpandedChange,\n onRowSelectionChange,\n rowPinning,\n onRowPinningChange,\n } = useSimpleTableContext()\n const lastSelectedIdRef = useRef<string | null>(null)\n const tableRef = useRef<Table<SimpleTableRow> | null>(null)\n\n // stable data reference\n const tableData = useMemo(() => {\n if (!isLoading) return data\n\n // show loading placeholders\n return Array.from({ length: 10 }, (_, i) => ({\n id: `placeholder-${i}`,\n name: `placeholder-${i}`,\n label: `placeholder-${i}`,\n icon: null,\n img: null,\n subRows: [],\n data: {\n id: `placeholder-${i}`,\n },\n }))\n }, [isLoading, data, forceUpdateTable])\n\n // Define the core selection logic using useCallback for stability\n const handleSelectionLogic = useCallback(\n (\n tableInstance: Table<SimpleTableRow>,\n rowId: string,\n isShift: boolean,\n isCtrlOrMeta: boolean,\n ) => {\n const currentId = rowId\n const allProcessableRows = tableInstance.getFilteredRowModel().flatRows\n const currentRow = allProcessableRows.find((r) => r.id === currentId)\n\n if (!currentRow) return\n\n // Prevent selection of disabled rows\n if (currentRow.original.isDisabled) return\n\n // If click-to-deselect is enabled and only one row is selected and it's the current row\n if (\n enableClickToDeselect &&\n !isShift &&\n !isCtrlOrMeta &&\n Object.keys(tableInstance.getState().rowSelection).length === 1 &&\n tableInstance.getState().rowSelection[currentId]\n ) {\n tableInstance.setRowSelection({})\n lastSelectedIdRef.current = null\n return\n }\n\n if (isMultiSelect && isShift && lastSelectedIdRef.current) {\n const lastId = lastSelectedIdRef.current\n const anchorRow = allProcessableRows.find((r) => r.id === lastId)\n\n if (!anchorRow) {\n tableInstance.setRowSelection({ [currentId]: true })\n } else {\n const rowsToToggle = getRowRange(allProcessableRows, currentId, lastId)\n const newSelection: RowSelectionState = {}\n rowsToToggle.forEach((r) => (newSelection[r.id] = true))\n tableInstance.setRowSelection(newSelection)\n }\n } else if (isMultiSelect && isCtrlOrMeta) {\n currentRow.toggleSelected()\n } else {\n tableInstance.setRowSelection({ [currentId]: true })\n }\n lastSelectedIdRef.current = currentId\n },\n [isMultiSelect, enableClickToDeselect],\n )\n\n // Callback for useRowKeydown's handleRowSelect prop\n // Uses tableRef to access the table instance, avoiding direct dependency on 'table' variable at definition time\n const handleRowSelectForKeydown = useCallback(\n (\n event: RowKeyboardEvent, // Use the specific keyboard event type from the hook\n selectedRow: Row<SimpleTableRow>,\n ) => {\n if (!tableRef.current) {\n console.warn('tableRef not yet available in handleRowSelectForKeydown')\n return\n }\n\n // Extract modifier keys from the event\n const isShiftKey = event.shiftKey\n const isCtrlKey = event.ctrlKey || event.metaKey\n\n handleSelectionLogic(\n tableRef.current, // Pass the main table instance\n selectedRow.id,\n isShiftKey,\n isCtrlKey,\n )\n },\n [handleSelectionLogic], // Depends only on handleSelectionLogic\n )\n\n const { handleRowKeyDown } = useRowKeydown<SimpleTableRow>({\n handleRowSelect: handleRowSelectForKeydown,\n })\n\n const columns = useMemo<ColumnDef<SimpleTableRow>[]>(\n () => [\n {\n accessorKey: 'label',\n header: undefined,\n filterFn: 'fuzzy',\n sortingFn: fuzzySort, //sort by fuzzy rank (falls back to alphanumeric)\n cell: ({ row, getValue, table: cellTableInstance }) => {\n const cellMeta = cellTableInstance.options.meta\n\n const handleCellClick = (event: ReactMouseEvent<HTMLElement, MouseEvent>) => {\n // Prevent row selection if clicking on an interactive element within the cell\n if (\n event.target instanceof HTMLInputElement ||\n event.target instanceof HTMLButtonElement ||\n event.target instanceof HTMLTextAreaElement ||\n event.target instanceof HTMLSelectElement ||\n event.target instanceof HTMLAnchorElement ||\n (event.target as HTMLElement).closest('button, a, input, textarea, select')\n ) {\n return\n }\n handleSelectionLogic(\n cellTableInstance, // Pass the cell's table instance\n row.id,\n event.shiftKey,\n event.ctrlKey || event.metaKey,\n )\n }\n\n const props: SimpleTableCellTemplateProps & {\n onClick?: (event: ReactMouseEvent<HTMLElement, MouseEvent>) => void\n } = {\n className: clsx({\n selected: row.getIsSelected(),\n loading: cellMeta?.isLoading,\n disabled: row.original.isDisabled, // you can't select disabled rows\n inactive: row.original.inactive, // false: archived items but still selectable\n }),\n onKeyDown: (e) => {\n if (e.target instanceof HTMLInputElement) return\n // Corrected typo: handleRowKeydown -> handleRowKeyDown\n handleRowKeyDown(e, row)\n },\n onClick: handleCellClick, // Added onClick handler\n depth: row.depth,\n tabIndex: 0,\n value: getValue<string>(),\n parents: row.original.parents,\n icon: row.original.icon || undefined,\n iconColor: row.original.iconColor,\n iconFilled: row.original.iconFilled,\n isRowExpandable: row.getCanExpand(),\n enableNonFolderIndent,\n isRowExpanded: row.getIsExpanded(),\n isTableExpandable: cellMeta?.isExpandable,\n onExpandClick: row.getToggleExpandedHandler(),\n startContent: row.original.startContent,\n endContent: row.original.endContent,\n isDisabled: row.original.isDisabled,\n disabledMessage: row.original.disabledMessage,\n }\n\n // Use children function if provided, otherwise default to SimpleTableCellTemplate\n return cellMeta?.children ? (\n cellMeta.children(props, row, cellTableInstance)\n ) : (\n <SimpleTableCellTemplate {...props} {...pt?.cell} />\n )\n },\n },\n ],\n [\n forceUpdateTable,\n handleSelectionLogic,\n handleRowKeyDown,\n enableClickToDeselect,\n enableNonFolderIndent,\n ], // include enableClickToDeselect for completeness\n )\n\n const handleRowSelectionChangeCallback: OnChangeFn<RowSelectionState> = useCallback(\n (updater) => {\n onRowSelectionChange(functionalUpdate(updater, rowSelection))\n },\n [onRowSelectionChange, rowSelection], // Depends only on the stable setState function from context\n )\n\n const handleRowPinningChangeCallback: OnChangeFn<RowPinningState> = useCallback(\n (updater) => {\n rowPinning && onRowPinningChange?.(functionalUpdate(updater, rowPinning))\n },\n [onRowPinningChange], // Depends only on the stable setState function from context\n )\n\n const handleExpandedChange = useCallback(\n (updater: any) => {\n setExpanded?.((old) => {\n const newExpanded = updater instanceof Function ? updater(old) : updater\n onExpandedChange?.(newExpanded)\n return newExpanded\n })\n },\n [setExpanded, onExpandedChange],\n )\n\n const table = useReactTable({\n data: tableData,\n columns,\n state: {\n expanded,\n rowSelection,\n globalFilter,\n rowPinning,\n },\n onRowSelectionChange: handleRowSelectionChangeCallback,\n onRowPinningChange: handleRowPinningChangeCallback,\n filterFns: {\n fuzzy: fuzzyFilter,\n },\n enableRowSelection: true, //enable row selection for all rows\n enableRowPinning: !!onRowPinningChange,\n getRowId: (row) => row.id,\n enableSubRowSelection: false, //disable sub row selection\n onExpandedChange: handleExpandedChange,\n getSubRows: (row) => row.subRows,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getExpandedRowModel: getExpandedRowModel(),\n filterFromLeafRows: true,\n // debugTable: true,\n meta: {\n isExpandable: !!isExpandable,\n isLoading: isLoading,\n children: children,\n ...meta,\n },\n })\n\n // Update tableRef whenever the table instance changes.\n // This ensures handleRowSelectForKeydown uses the current table instance.\n useEffect(() => {\n tableRef.current = table\n }, [table])\n\n const { rows } = table.getRowModel()\n\n //The virtualizer needs to know the scrollable container element\n const tableContainerRef = useRef<HTMLDivElement>(null)\n\n const rowVirtualizer = useVirtualizer({\n count: rows.length,\n estimateSize: () => rowHeight || 34, //estimate row height for accurate scrollbar dragging\n getScrollElement: () => tableContainerRef.current,\n //measure dynamic row height, except in firefox because it measures table border height incorrectly\n measureElement: rowHeight\n ? () => rowHeight\n : typeof window !== 'undefined' && navigator.userAgent.indexOf('Firefox') === -1\n ? (element) => element?.getBoundingClientRect().height\n : undefined,\n overscan: 5,\n })\n\n // Memoize the ref callback to prevent infinite re-renders\n const measureElementRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n rowVirtualizer.measureElement(node)\n }\n },\n [rowVirtualizer],\n )\n\n // Handle scroll to bottom detection\n const handleScroll = useCallback(\n (event: React.UIEvent<HTMLDivElement>) => {\n if (!onScrollBottom) return\n\n const target = event.currentTarget\n const { scrollTop, scrollHeight, clientHeight } = target\n\n // Check if we're near the bottom (within 100px)\n const isNearBottom = scrollHeight - scrollTop - clientHeight < 100\n\n if (isNearBottom && !isLoading) {\n onScrollBottom()\n }\n },\n [onScrollBottom, isLoading],\n )\n\n const handleContainerClick = (e: React.MouseEvent<HTMLDivElement>) => {\n // if the click is outside of any row, clear selection\n if (enableClickToDeselect && !(e.target as HTMLElement).closest('tr')) {\n table.setRowSelection({})\n lastSelectedIdRef.current = null\n }\n }\n\n return (\n <Styled.TableContainer\n ref={tableContainerRef}\n className={clsx({ isLoading })}\n onScroll={handleScroll}\n onClick={handleContainerClick}\n >\n {!error && (\n <table>\n <tbody\n style={{\n height: `${rowVirtualizer?.getTotalSize()}px`, //tells scrollbar how big the table is\n }}\n >\n {rowVirtualizer?.getVirtualItems().map((virtualRow) => {\n const row = rows[virtualRow.index] as Row<SimpleTableRow>\n return (\n <tr\n data-index={virtualRow.index} //needed for dynamic row height measurement\n ref={measureElementRef} //measure dynamic row height\n key={row.id}\n id={row.id}\n {...pt?.row}\n style={{\n transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll\n ...pt?.row?.style, // custom styles to be passed\n }}\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <td key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )}\n {!!error && <EmptyPlaceholder error={error} />}\n </Styled.TableContainer>\n )\n}\n\nexport default SimpleTable\n"],"names":["fuzzyFilter","row","columnId","value","addMeta","itemRank","rankItem","fuzzySort","rowA","rowB","dir","compareItems","_a","_b","sortingFns","getRowRange","rows","idA","idB","range","singleRow","indexA","indexB","i","start","end","SimpleTable","data","isLoading","error","isExpandable","isMultiSelect","enableClickToDeselect","enableNonFolderIndent","forceUpdateTable","globalFilter","meta","rowHeight","onScrollBottom","children","pt","rowSelection","expanded","setExpanded","onExpandedChange","onRowSelectionChange","rowPinning","onRowPinningChange","useSimpleTableContext","lastSelectedIdRef","useRef","tableRef","tableData","useMemo","_","handleSelectionLogic","useCallback","tableInstance","rowId","isShift","isCtrlOrMeta","currentId","allProcessableRows","currentRow","r","lastId","rowsToToggle","newSelection","handleRowSelectForKeydown","event","selectedRow","isShiftKey","isCtrlKey","handleRowKeyDown","useRowKeydown","columns","getValue","cellTableInstance","cellMeta","handleCellClick","props","clsx","e","jsx","SimpleTableCellTemplate","handleRowSelectionChangeCallback","updater","functionalUpdate","handleRowPinningChangeCallback","handleExpandedChange","old","newExpanded","table","useReactTable","getCoreRowModel","getFilteredRowModel","getExpandedRowModel","useEffect","tableContainerRef","rowVirtualizer","useVirtualizer","element","measureElementRef","node","handleScroll","target","scrollTop","scrollHeight","clientHeight","handleContainerClick","jsxs","Styled.TableContainer","virtualRow","cell","flexRender","EmptyPlaceholder"],"mappings":"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"}