@ynput/ayon-frontend-shared 0.3.37 → 0.3.38

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 (354) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -24
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/_virtual/index.cjs6.js +1 -1
  5. package/dist/_virtual/index.cjs8.js +1 -1
  6. package/dist/_virtual/index.es6.js +2 -2
  7. package/dist/_virtual/index.es8.js +2 -2
  8. package/dist/index.cjs.js +1 -1
  9. package/dist/index.es.js +12 -11
  10. package/dist/index.es.js.map +1 -1
  11. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  12. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  13. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  14. package/dist/node_modules/remove-accents/index.es.js +1 -1
  15. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  16. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  17. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  18. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  19. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
  20. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
  21. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
  22. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
  23. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  24. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  25. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  26. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  27. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  28. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  29. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  30. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  31. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -4
  32. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  33. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  34. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  35. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +5 -4
  36. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  37. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  38. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  39. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -4
  40. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  41. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  42. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  43. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -4
  44. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  45. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  46. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  47. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -4
  48. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  49. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  50. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  51. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +5 -4
  52. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  53. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  54. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  55. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -4
  56. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  57. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  58. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  59. package/dist/shared/src/components/RenameForm/RenameForm.es.js +5 -4
  60. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  61. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  62. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  63. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -4
  64. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  65. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  66. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  67. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -5
  68. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  69. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  70. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  71. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -4
  72. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  73. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  74. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  75. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +5 -4
  76. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  77. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  78. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  79. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +254 -240
  80. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  81. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  82. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  83. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +7 -6
  84. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  85. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  86. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  87. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -4
  88. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  89. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  90. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  91. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -4
  92. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  93. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  94. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  95. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +9 -8
  96. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  97. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  98. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  99. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -4
  100. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  101. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  102. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  103. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -4
  104. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  105. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  106. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  107. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +5 -4
  108. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  109. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  110. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  111. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -4
  112. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  113. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  114. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  115. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -4
  116. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  117. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  118. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  119. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -4
  120. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  121. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  122. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  123. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +5 -4
  124. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  125. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  126. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  127. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +5 -4
  128. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  129. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  130. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  131. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +17 -16
  132. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  133. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  134. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  135. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +5 -4
  136. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  137. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  138. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  139. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -4
  140. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  141. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  142. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  143. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -4
  144. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  145. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  146. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  147. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -4
  148. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  149. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  150. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  151. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -4
  152. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  153. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  154. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  155. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -4
  156. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  157. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  158. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  159. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +5 -4
  160. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  161. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  162. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  163. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +5 -4
  164. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  165. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  166. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  167. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +5 -4
  168. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  169. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  170. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  171. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +7 -6
  172. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  173. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  174. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  175. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -4
  176. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  177. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  178. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  179. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +9 -8
  180. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  181. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  182. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  183. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +5 -4
  184. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  185. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  186. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  187. package/dist/shared/src/containers/ListTable/ListTable.es.js +5 -4
  188. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  189. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  190. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +3 -2
  192. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  193. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  194. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +5 -4
  196. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +171 -168
  200. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +87 -85
  204. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +5 -4
  208. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +5 -4
  212. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -4
  216. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
  220. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +5 -4
  224. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  228. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -58
  230. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  232. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -4
  234. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +8 -7
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +5 -4
  242. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
  246. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
  250. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +5 -4
  254. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +5 -4
  258. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +248 -207
  262. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -4
  266. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +5 -4
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -4
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -4
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -4
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +5 -4
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  291. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -15
  294. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  295. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +66 -55
  298. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  299. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +5 -4
  302. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  303. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  304. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +47 -45
  306. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  307. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +5 -4
  310. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  311. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +11 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +76 -51
  314. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +5 -4
  318. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +5 -4
  322. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  323. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  324. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -4
  326. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  327. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  328. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +5 -4
  330. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  331. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  332. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +5 -4
  334. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  335. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  336. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +5 -4
  338. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  339. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  340. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -4
  342. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  343. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  344. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  345. package/dist/shared/src/context/WebsocketContext.es.js +7 -6
  346. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  347. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
  348. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
  349. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
  350. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +1 -0
  351. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +1 -0
  352. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -0
  353. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
  354. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type { FolderListItem, GetGroupedTasksListArgs, EntityGroup, QueryFilter } from '@shared/api'\nimport { useGroupedPagination } from '@shared/hooks'\nimport { getGroupByDataType } from '@shared/util'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks } from '../types'\nimport { TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { useProjectFoldersContext } from '@shared/context'\n\ntype QueryFilterParams = {\n filter: QueryFilter | undefined\n filterString?: string\n search?: string\n}\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n excludeSelectedFolders?: boolean\n taskIds?: string[] // specific task IDs to filter by (from entity list slicer)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n taskGroupsCount?: number // override for number of items per group\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n skipLinks?: boolean\n showComments?: boolean // only fetch latestComments when the comments column is visible\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n excludeSelectedFolders = false,\n taskIds, // specific task IDs from entity list slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n attribFields,\n modules,\n skipLinks,\n showComments = false,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useProjectFoldersContext()\n\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const taskParentIds = excludeSelectedFolders\n ? Array.from(new Set([...expandedParentIds, ...selectedFolders]))\n : expandedParentIds\n\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: taskParentIds,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n showComments,\n },\n { skip: !taskParentIds.length || (!showHierarchy && !isFlatFolderView) },\n )\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n (!showHierarchy && !isFlatFolderView)\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isLoading: isLoadingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetSearchFoldersQuery(\n {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n search: taskFilters.search,\n },\n },\n {\n skip: skipFoldersByTaskFilter,\n },\n )\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isRootFromSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [\n folders,\n foldersByTaskFilter,\n skipFoldersByTaskFilter,\n expanded,\n selectedFolders,\n excludeSelectedFolders,\n ])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\n },\n { skip: skipLinks },\n )\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // In flat folder view folders are shown as top-level rows — ancestors are\n // not needed and would bring in unrelated subtrees (e.g. showing the root\n // \"assets\" node which then exposes all its children).\n // In hierarchy mode ancestors ARE needed so the tree path is navigable.\n if (!isFlatFolderView) {\n const matchedIds = [...relevantFolderIds]\n for (const folderId of matchedIds) {\n addParents(folderId)\n }\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n const selectedPaths = selectedFolders\n .map((id) => map.get(id)?.path)\n .filter(Boolean) as string[]\n\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n\n const isSelected = selectedPaths.includes(folderPath)\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isChild || (isSelected && !excludeSelectedFolders)) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [\n folders,\n foldersByTaskFilter,\n isUninitialized,\n selectedFolders,\n excludeSelectedFolders,\n foldersLinks,\n isFlatFolderView,\n ])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length\n ? Array.from(\n new Set([...foldersMap.keys(), ...(excludeSelectedFolders ? selectedFolders : [])]),\n )\n : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n folderIds: taskIds?.length ? undefined : tasksFolderIdsParams,\n taskIds: taskIds?.length ? taskIds : undefined,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n showComments,\n },\n {\n // Use flat task list when entity list provides specific task IDs, even in hierarchy mode\n skip: (showHierarchy || isFlatFolderView) && !taskIds?.length,\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n },\n )\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const { pageCounts: groupPageCounts, incrementPageCount } = useGroupedPagination({\n groups: taskGroups,\n })\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n const groupByDataType = getGroupByDataType(groupBy, attribFields)\n\n // get expanded group values from the expanded state\n // group IDs are formatted as `_GROUP_<value>` so we extract the values\n const expandedGroupValues = useMemo(() => {\n return Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => isGroupId(id))\n .map(([id]) => id.slice(GROUP_BY_ID.length))\n }, [expanded])\n\n // get group queries from powerpack, filtered to only include expanded groups\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries =\n getGroupQueries?.({\n groups: taskGroups,\n taskGroups, // deprecated, but keep for backward compatibility\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n\n // Only fetch tasks for groups that are expanded\n return allGroupQueries.filter((group) => expandedGroupValues.includes(group.value))\n }, [\n groupBy,\n taskGroups,\n groupPageCounts,\n groupByDataType,\n taskFilters.filter,\n getGroupQueries,\n expandedGroupValues,\n ])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\n refetch: refetchGroupedTasks,\n } = useGetGroupedTasksListQuery(\n {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: taskFilters.search,\n folderFilter: folderFilters.filterString,\n folderIds: tasksFolderIdsParams,\n groupCount: taskGroupsCount,\n showComments,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Resolve which task source to use based on current mode\n // When entity list provides specific task IDs, use flat task list even in hierarchy mode\n const resolvedTasks = useMemo(() => {\n if (taskIds?.length) return tasksList\n if (showHierarchy || isFlatFolderView) return expandedFoldersTasks\n if (groupBy) return groupTasks\n return tasksList\n }, [\n taskIds,\n showHierarchy,\n isFlatFolderView,\n groupBy,\n tasksList,\n expandedFoldersTasks,\n groupTasks,\n ])\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n return new Set(resolvedTasks.map((task) => task.id))\n }, [resolvedTasks])\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n refetch: refetchTasksLinks,\n isUninitialized: isUninitializedTasksLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task',\n },\n {\n skip: visibleTasks.size === 0 || skipLinks,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n for (const task of resolvedTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n // dedup like tasksMap — resolvedTasks can contain the same task twice\n // (overlapping infinite-query pages, or a task in multiple groups)\n const folderTaskIds = tasksByFolderMap.get(folderId)!\n if (!folderTaskIds.includes(taskId)) folderTaskIds.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [resolvedTasks, tasksLinks])\n\n // When entity list provides specific task IDs, filter folders to only those containing tasks\n const filteredFoldersMap: FolderNodeMap = useMemo(() => {\n if (!taskIds?.length || !tasksByFolderMap.size) return foldersMap\n\n const relevantFolderIds = new Set<string>()\n\n // Add all folders that contain selected tasks\n for (const folderId of tasksByFolderMap.keys()) {\n relevantFolderIds.add(folderId)\n }\n\n // Add parent folders for proper tree display\n const addParents = (folderId: string) => {\n const folder = foldersMap.get(folderId)\n if (folder && folder.parentId) {\n const parentId = folder.parentId as string\n if (!relevantFolderIds.has(parentId)) {\n relevantFolderIds.add(parentId)\n addParents(parentId)\n }\n }\n }\n\n for (const folderId of relevantFolderIds) {\n addParents(folderId)\n }\n\n const filtered = new Map() as FolderNodeMap\n for (const [id, folder] of foldersMap) {\n if (relevantFolderIds.has(id)) {\n filtered.set(id, folder)\n }\n }\n\n return filtered\n }, [foldersMap, tasksByFolderMap, taskIds])\n\n // reload all data for all queries\n const reloadTableData = () => {\n // only reload if there is data\n if (!isUninitializedFolders) refetchFolders()\n if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks()\n if (!isUninitializedTasksFolders) refetchTasksFolders()\n if (!isUninitializedTasksList) refetchTasksList()\n if (!isUninitializedGroupedTasks) refetchGroupedTasks()\n if (!isUninitializedFoldersLinks) refetchFoldersLinks()\n if (!isUninitializedTasksLinks) refetchTasksLinks()\n }\n\n return {\n foldersMap: filteredFoldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoadingFolders || isLoadingTasksList || isLoadingTasksFolders || isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["useFetchOverviewData","projectName","selectedFolders","excludeSelectedFolders","taskIds","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","isFlatFolderView","attribFields","modules","skipLinks","showComments","getGroupQueries","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","refetchFolders","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","taskParentIds","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isLoadingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetSearchFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isRootFromSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","matchedIds","selectedPaths","filteredMap","folderPath","isSelected","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","useState","useEffect","singleSort","sortId","tasksFolderIdsParams","tasksListInfiniteData","isLoadingTasksList","isFetchingTasksList","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","group","groupTasks","isUninitializedGroupedTasks","refetchGroupedTasks","useGetGroupedTasksListQuery","resolvedTasks","visibleTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask","folderTaskIds","filtered"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type { FolderListItem, GetGroupedTasksListArgs, EntityGroup, QueryFilter } from '@shared/api'\nimport { useGroupedPagination, useQueryArgumentChangeLoading } from '@shared/hooks'\nimport { getGroupByDataType } from '@shared/util'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks } from '../types'\nimport { TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId, GROUP_BY_ID } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from '@shared/hooks'\nimport { useGetEntityLinksQuery } from '@shared/api'\nimport { useProjectFoldersContext } from '@shared/context'\n\ntype QueryFilterParams = {\n filter: QueryFilter | undefined\n filterString?: string\n search?: string\n}\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n loadingLinksEntityIds: Set<string> // entity IDs whose links are currently being fetched (not yet cached)\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n excludeSelectedFolders?: boolean\n taskIds?: string[] // specific task IDs to filter by (from entity list slicer)\n taskFilters: QueryFilterParams // filters for tasks\n folderFilters: QueryFilterParams // filters for folders\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n taskGroupsCount?: number // override for number of items per group\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n skipLinks?: boolean\n showComments?: boolean // only fetch latestComments when the comments column is visible\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n excludeSelectedFolders = false,\n taskIds, // specific task IDs from entity list slicer\n taskFilters,\n folderFilters,\n sorting,\n groupBy,\n taskGroups = [],\n taskGroupsCount,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n attribFields,\n modules,\n skipLinks,\n showComments = false,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n folders,\n isLoading: isLoadingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useProjectFoldersContext()\n\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const taskParentIds = excludeSelectedFolders\n ? Array.from(new Set([...expandedParentIds, ...selectedFolders]))\n : expandedParentIds\n\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: taskParentIds,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n showComments,\n },\n { skip: !taskParentIds.length || (!showHierarchy && !isFlatFolderView) },\n )\n\n const skipFoldersByTaskFilter =\n (!taskFilters.filterString &&\n !folderFilters.filterString &&\n !taskFilters.search &&\n !folderFilters.search) ||\n !folders.length ||\n (!showHierarchy && !isFlatFolderView)\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isLoading: isLoadingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetSearchFoldersQuery(\n {\n projectName,\n folderSearchRequest: {\n taskFilter: taskFilters.filter?.conditions?.length ? taskFilters.filter : undefined,\n folderFilter: folderFilters.filter?.conditions?.length ? folderFilters.filter : undefined,\n search: taskFilters.search,\n },\n },\n {\n skip: skipFoldersByTaskFilter,\n },\n )\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isRootFromSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [\n folders,\n foldersByTaskFilter,\n skipFoldersByTaskFilter,\n expanded,\n selectedFolders,\n excludeSelectedFolders,\n ])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n isFetching: isFetchingFoldersLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\n },\n { skip: skipLinks },\n )\n\n const isLoadingFolderLinks = useQueryArgumentChangeLoading(\n {\n isLoading: isFetchingFoldersLinks,\n dependencies: [visibleFolders, projectName],\n },\n isFetchingFoldersLinks,\n )\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // In flat folder view folders are shown as top-level rows — ancestors are\n // not needed and would bring in unrelated subtrees (e.g. showing the root\n // \"assets\" node which then exposes all its children).\n // In hierarchy mode ancestors ARE needed so the tree path is navigable.\n if (!isFlatFolderView) {\n const matchedIds = [...relevantFolderIds]\n for (const folderId of matchedIds) {\n addParents(folderId)\n }\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n const selectedPaths = selectedFolders\n .map((id) => map.get(id)?.path)\n .filter(Boolean) as string[]\n\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n\n const isSelected = selectedPaths.includes(folderPath)\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isChild || (isSelected && !excludeSelectedFolders)) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [\n folders,\n foldersByTaskFilter,\n isUninitialized,\n selectedFolders,\n excludeSelectedFolders,\n foldersLinks,\n isFlatFolderView,\n ])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length\n ? Array.from(\n new Set([...foldersMap.keys(), ...(excludeSelectedFolders ? selectedFolders : [])]),\n )\n : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isLoading: isLoadingTasksList,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: taskFilters.filterString,\n folderFilter: folderFilters.filterString,\n search: taskFilters.search,\n folderIds: taskIds?.length ? undefined : tasksFolderIdsParams,\n taskIds: taskIds?.length ? taskIds : undefined,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n showComments,\n },\n {\n // Use flat task list when entity list provides specific task IDs, even in hierarchy mode\n skip: (showHierarchy || isFlatFolderView) && !taskIds?.length,\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n },\n )\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const { pageCounts: groupPageCounts, incrementPageCount } = useGroupedPagination({\n groups: taskGroups,\n })\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n const groupByDataType = getGroupByDataType(groupBy, attribFields)\n\n // get expanded group values from the expanded state\n // group IDs are formatted as `_GROUP_<value>` so we extract the values\n const expandedGroupValues = useMemo(() => {\n return Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => isGroupId(id))\n .map(([id]) => id.slice(GROUP_BY_ID.length))\n }, [expanded])\n\n // get group queries from powerpack, filtered to only include expanded groups\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n if (!groupBy) return []\n\n const allGroupQueries =\n getGroupQueries?.({\n groups: taskGroups,\n taskGroups, // deprecated, but keep for backward compatibility\n filters: taskFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n\n // Only fetch tasks for groups that are expanded\n return allGroupQueries.filter((group) => expandedGroupValues.includes(group.value))\n }, [\n groupBy,\n taskGroups,\n groupPageCounts,\n groupByDataType,\n taskFilters.filter,\n getGroupQueries,\n expandedGroupValues,\n ])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isUninitialized: isUninitializedGroupedTasks,\n refetch: refetchGroupedTasks,\n } = useGetGroupedTasksListQuery(\n {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: taskFilters.search,\n folderFilter: folderFilters.filterString,\n folderIds: tasksFolderIdsParams,\n groupCount: taskGroupsCount,\n showComments,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Resolve which task source to use based on current mode\n // When entity list provides specific task IDs, use flat task list even in hierarchy mode\n const resolvedTasks = useMemo(() => {\n if (taskIds?.length) return tasksList\n if (showHierarchy || isFlatFolderView) return expandedFoldersTasks\n if (groupBy) return groupTasks\n return tasksList\n }, [\n taskIds,\n showHierarchy,\n isFlatFolderView,\n groupBy,\n tasksList,\n expandedFoldersTasks,\n groupTasks,\n ])\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n return new Set(resolvedTasks.map((task) => task.id))\n }, [resolvedTasks])\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n refetch: refetchTasksLinks,\n isUninitialized: isUninitializedTasksLinks,\n isFetching: isFetchingTasksLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task',\n },\n {\n skip: visibleTasks.size === 0 || skipLinks,\n },\n )\n\n const isLoadingTaskLinks = useQueryArgumentChangeLoading(\n {\n isLoading: isFetchingTasksLinks,\n dependencies: [visibleTasks, projectName],\n },\n isFetchingTasksLinks,\n )\n\n // Compute entity IDs whose links are currently loading (in query but not yet in the cache result)\n const loadingLinksEntityIds = useMemo(() => {\n const ids = new Set<string>()\n\n if (isFetchingFoldersLinks && !skipLinks) {\n const cachedIds = new Set(foldersLinks.map((l) => l.id))\n for (const id of visibleFolders) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n if (isFetchingTasksLinks && !skipLinks) {\n const cachedIds = new Set(tasksLinks.map((l) => l.id))\n for (const id of visibleTasks) {\n if (!cachedIds.has(id)) ids.add(id)\n }\n }\n\n return ids\n }, [\n isFetchingFoldersLinks,\n isFetchingTasksLinks,\n foldersLinks,\n tasksLinks,\n visibleFolders,\n visibleTasks,\n skipLinks,\n ])\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n incrementPageCount(group)\n }\n } else if (hasNextPage) {\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n for (const task of resolvedTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n // dedup like tasksMap — resolvedTasks can contain the same task twice\n // (overlapping infinite-query pages, or a task in multiple groups)\n const folderTaskIds = tasksByFolderMap.get(folderId)!\n if (!folderTaskIds.includes(taskId)) folderTaskIds.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [resolvedTasks, tasksLinks])\n\n // When entity list provides specific task IDs, filter folders to only those containing tasks\n const filteredFoldersMap: FolderNodeMap = useMemo(() => {\n if (!taskIds?.length || !tasksByFolderMap.size) return foldersMap\n\n const relevantFolderIds = new Set<string>()\n\n // Add all folders that contain selected tasks\n for (const folderId of tasksByFolderMap.keys()) {\n relevantFolderIds.add(folderId)\n }\n\n // Add parent folders for proper tree display\n const addParents = (folderId: string) => {\n const folder = foldersMap.get(folderId)\n if (folder && folder.parentId) {\n const parentId = folder.parentId as string\n if (!relevantFolderIds.has(parentId)) {\n relevantFolderIds.add(parentId)\n addParents(parentId)\n }\n }\n }\n\n for (const folderId of relevantFolderIds) {\n addParents(folderId)\n }\n\n const filtered = new Map() as FolderNodeMap\n for (const [id, folder] of foldersMap) {\n if (relevantFolderIds.has(id)) {\n filtered.set(id, folder)\n }\n }\n\n return filtered\n }, [foldersMap, tasksByFolderMap, taskIds])\n\n // reload all data for all queries\n const reloadTableData = () => {\n // only reload if there is data\n if (!isUninitializedFolders) refetchFolders()\n if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks()\n if (!isUninitializedTasksFolders) refetchTasksFolders()\n if (!isUninitializedTasksList) refetchTasksList()\n if (!isUninitializedGroupedTasks) refetchGroupedTasks()\n if (!isUninitializedFoldersLinks) refetchFoldersLinks()\n if (!isUninitializedTasksLinks) refetchTasksLinks()\n }\n\n return {\n foldersMap: filteredFoldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoadingFolders || isLoadingTasksList || isLoadingTasksFolders || isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n loadingLinksEntityIds,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["useFetchOverviewData","projectName","selectedFolders","excludeSelectedFolders","taskIds","taskFilters","folderFilters","sorting","groupBy","taskGroups","taskGroupsCount","expanded","showHierarchy","isFlatFolderView","attribFields","modules","skipLinks","showComments","getGroupQueries","isLoadingModules","folders","isLoadingFolders","isUninitializedFolders","refetchFolders","useProjectFoldersContext","expandedParentIds","isExpanded","id","isGroupId","taskParentIds","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isLoadingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetSearchFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isRootFromSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","isFetchingFoldersLinks","useGetEntityLinksQuery","useQueryArgumentChangeLoading","foldersMap","map","addExtraDataToFolder","link","relevantFolderIds","folderId","foldersByIdMap","addParents","matchedIds","selectedPaths","filteredMap","folderPath","isSelected","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","useState","useEffect","singleSort","sortId","tasksFolderIdsParams","tasksListInfiniteData","isLoadingTasksList","isFetchingTasksList","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","groupPageCounts","incrementPageCount","useGroupedPagination","groupByDataType","getGroupByDataType","expandedGroupValues","GROUP_BY_ID","groupQueries","group","groupTasks","isUninitializedGroupedTasks","refetchGroupedTasks","useGetGroupedTasksListQuery","resolvedTasks","visibleTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","isFetchingTasksLinks","loadingLinksEntityIds","ids","cachedIds","l","handleFetchNextPage","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask","folderTaskIds","filtered"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react");require("react-toastify");require("lodash");const u=require("../../../util/getAttributeIcon.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.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/dataImport.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/projectFolders.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/activities/getCategories.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/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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/users/guests.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("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");const p=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../context/CellEditingContext.cjs.js");require("../components/TableFooterRow.cjs.js");const b=require("../context/ColumnSettingsContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const a=["string","integer","float"],l=(r,q,i,t)=>(i||a).includes(r.data.type)&&(!q||r.scope?.includes(q))?t?!!r.data.enum&&r.data.enum.length>0:!0:!1,g=({allowedTypes:r,enumOnly:q,scope:i})=>{const{columnOrder:t}=b.useColumnSettingsContext(),{attribFields:s}=p.useProjectTableContext();return d.useMemo(()=>[{value:"folderType",label:"Folder type",icon:u.getAttributeIcon("folder"),scopes:["folder","task"]},{value:"taskType",label:"Task type",icon:u.getAttributeIcon("task"),scopes:["task","version"]},{value:"productType",label:"Product type",icon:u.getAttributeIcon("product"),scopes:["product","version"]},{value:"assignees",label:"Assignee",icon:u.getAttributeIcon("assignees"),scopes:["task"]},{value:"status",label:"Status",icon:u.getAttributeIcon("status"),scopes:["task","version","folder","product"]},{value:"tags",label:"Tags",icon:u.getAttributeIcon("tags"),scopes:["task","version","folder","product"]},...s.filter(e=>l(e,i,r,q)).map(e=>({value:"attrib."+e.name,label:e.data.title||e.name,icon:u.getAttributeIcon(e.name)}))].filter(e=>!i||("scopes"in e?e.scopes.includes(i):!0)).sort((e,c)=>{const o=t.indexOf(e.value),n=t.indexOf(c.value);return o===-1&&n===-1?0:o===-1?1:n===-1?-1:o-n}),[s,t,r,q,i])};exports.allowedGroupByFields=a;exports.isAttribGroupable=l;exports.useGetGroupedFields=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react");require("react-toastify");require("lodash");const u=require("../../../util/getAttributeIcon.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.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/dataImport.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/projectFolders.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/activities/getCategories.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/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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/users/guests.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("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");const p=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../context/CellEditingContext.cjs.js");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");const b=require("../context/ColumnSettingsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const a=["string","integer","float"],l=(r,q,i,t)=>(i||a).includes(r.data.type)&&(!q||r.scope?.includes(q))?t?!!r.data.enum&&r.data.enum.length>0:!0:!1,g=({allowedTypes:r,enumOnly:q,scope:i})=>{const{columnOrder:t}=b.useColumnSettingsContext(),{attribFields:s}=p.useProjectTableContext();return d.useMemo(()=>[{value:"folderType",label:"Folder type",icon:u.getAttributeIcon("folder"),scopes:["folder","task"]},{value:"taskType",label:"Task type",icon:u.getAttributeIcon("task"),scopes:["task","version"]},{value:"productType",label:"Product type",icon:u.getAttributeIcon("product"),scopes:["product","version"]},{value:"assignees",label:"Assignee",icon:u.getAttributeIcon("assignees"),scopes:["task"]},{value:"status",label:"Status",icon:u.getAttributeIcon("status"),scopes:["task","version","folder","product"]},{value:"tags",label:"Tags",icon:u.getAttributeIcon("tags"),scopes:["task","version","folder","product"]},...s.filter(e=>l(e,i,r,q)).map(e=>({value:"attrib."+e.name,label:e.data.title||e.name,icon:u.getAttributeIcon(e.name)}))].filter(e=>!i||("scopes"in e?e.scopes.includes(i):!0)).sort((e,c)=>{const o=t.indexOf(e.value),n=t.indexOf(c.value);return o===-1&&n===-1?0:o===-1?1:n===-1?-1:o-n}),[s,t,r,q,i])};exports.allowedGroupByFields=a;exports.isAttribGroupable=l;exports.useGetGroupedFields=g;
2
2
  //# sourceMappingURL=useGetGroupedFields.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetGroupedFields.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetGroupedFields.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { ProjectTableAttribute } from '../types'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { getAttributeIcon } from '@shared/util'\n\n// @martastain says list_of_* is a pita to implement, so we are not supporting it for now\nexport const allowedGroupByFields = ['string', 'integer', 'float']\nexport const isAttribGroupable = (\n attrib: ProjectTableAttribute,\n entityType?: string,\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType =\n typesToCheck.includes(attrib.data.type) &&\n (!entityType || attrib.scope?.includes(entityType as (typeof attrib.scope)[0]))\n\n if (!hasValidType) return false\n if (enumOnly) return !!attrib.data.enum && attrib.data.enum.length > 0\n\n return true\n}\n\nexport const useGetGroupedFields = ({\n allowedTypes,\n enumOnly,\n scope,\n}: {\n allowedTypes?: ('string' | 'integer' | 'float')[]\n enumOnly?: boolean\n scope?: string\n}) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'folderType',\n label: 'Folder type',\n icon: getAttributeIcon('folder'),\n scopes: ['folder', 'task'],\n },\n {\n value: 'taskType',\n label: 'Task type',\n icon: getAttributeIcon('task'),\n scopes: ['task', 'version'],\n },\n {\n value: 'productType',\n label: 'Product type',\n icon: getAttributeIcon('product'),\n scopes: ['product', 'version'],\n },\n // {\n // value: 'version',\n // label: 'Version',\n // icon: getAttributeIcon('version'),\n // scopes: ['version'],\n // },\n // {\n // value: 'author',\n // label: 'Author',\n // icon: getAttributeIcon('author'),\n // scopes: ['version'],\n // },\n {\n value: 'assignees',\n label: 'Assignee',\n icon: getAttributeIcon('assignees'),\n scopes: ['task'],\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n scopes: ['task', 'version', 'folder', 'product'],\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n scopes: ['task', 'version', 'folder', 'product'],\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, scope, allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\n ]\n .filter((field) => !scope || ('scopes' in field ? field.scopes.includes(scope) : true))\n .sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n if (indexA === -1 && indexB === -1) return 0\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n return indexA - indexB\n }),\n [attribFields, columnOrder, allowedTypes, enumOnly, scope],\n )\n}\n"],"names":["allowedGroupByFields","isAttribGroupable","attrib","entityType","allowedTypes","enumOnly","useGetGroupedFields","scope","columnOrder","useColumnSettingsContext","attribFields","useProjectTableContext","useMemo","getAttributeIcon","field","a","b","indexA","indexB"],"mappings":"gmhBAMO,MAAMA,EAAuB,CAAC,SAAU,UAAW,OAAO,EACpDC,EAAoB,CAC/BC,EACAC,EACAC,EACAC,KAEqBD,GAAgBJ,GAEtB,SAASE,EAAO,KAAK,IAAI,IACrC,CAACC,GAAcD,EAAO,OAAO,SAASC,CAAsC,GAG3EE,EAAiB,CAAC,CAACH,EAAO,KAAK,MAAQA,EAAO,KAAK,KAAK,OAAS,EAE9D,GAHmB,GAMfI,EAAsB,CAAC,CAClC,aAAAF,EACA,SAAAC,EACA,MAAAE,CACF,IAIM,CACJ,KAAM,CAAE,YAAAC,CAAA,EAAgBC,2BAAA,EAClB,CAAE,aAAAC,CAAA,EAAiBC,yBAAA,EAEzB,OAAOC,EAAAA,QACL,IACE,CACE,CACE,MAAO,aACP,MAAO,cACP,KAAMC,EAAAA,iBAAiB,QAAQ,EAC/B,OAAQ,CAAC,SAAU,MAAM,CAAA,EAE3B,CACE,MAAO,WACP,MAAO,YACP,KAAMA,EAAAA,iBAAiB,MAAM,EAC7B,OAAQ,CAAC,OAAQ,SAAS,CAAA,EAE5B,CACE,MAAO,cACP,MAAO,eACP,KAAMA,EAAAA,iBAAiB,SAAS,EAChC,OAAQ,CAAC,UAAW,SAAS,CAAA,EAc/B,CACE,MAAO,YACP,MAAO,WACP,KAAMA,EAAAA,iBAAiB,WAAW,EAClC,OAAQ,CAAC,MAAM,CAAA,EAEjB,CACE,MAAO,SACP,MAAO,SACP,KAAMA,EAAAA,iBAAiB,QAAQ,EAC/B,OAAQ,CAAC,OAAQ,UAAW,SAAU,SAAS,CAAA,EAEjD,CACE,MAAO,OACP,MAAO,OACP,KAAMA,EAAAA,iBAAiB,MAAM,EAC7B,OAAQ,CAAC,OAAQ,UAAW,SAAU,SAAS,CAAA,EAEjD,GAAGH,EACA,OAAQR,GAAWD,EAAkBC,EAAQK,EAAOH,EAAcC,CAAQ,CAAC,EAC3E,IAAKS,IAAW,CACf,MAAO,UAAYA,EAAM,KACzB,MAAOA,EAAM,KAAK,OAASA,EAAM,KACjC,KAAMD,EAAAA,iBAAiBC,EAAM,IAAI,CAAA,EACjC,CAAA,EAEH,OAAQA,GAAU,CAACP,IAAU,WAAYO,EAAQA,EAAM,OAAO,SAASP,CAAK,EAAI,GAAK,EACrF,KAAK,CAACQ,EAAGC,IAAM,CACd,MAAMC,EAAST,EAAY,QAAQO,EAAE,KAAK,EACpCG,EAASV,EAAY,QAAQQ,EAAE,KAAK,EAC1C,OAAIC,IAAW,IAAMC,IAAW,GAAW,EACvCD,IAAW,GAAW,EACtBC,IAAW,GAAW,GACnBD,EAASC,CAClB,CAAC,EACL,CAACR,EAAcF,EAAaJ,EAAcC,EAAUE,CAAK,CAAA,CAE7D"}
1
+ {"version":3,"file":"useGetGroupedFields.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetGroupedFields.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { ProjectTableAttribute } from '../types'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { getAttributeIcon } from '@shared/util'\n\n// @martastain says list_of_* is a pita to implement, so we are not supporting it for now\nexport const allowedGroupByFields = ['string', 'integer', 'float']\nexport const isAttribGroupable = (\n attrib: ProjectTableAttribute,\n entityType?: string,\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType =\n typesToCheck.includes(attrib.data.type) &&\n (!entityType || attrib.scope?.includes(entityType as (typeof attrib.scope)[0]))\n\n if (!hasValidType) return false\n if (enumOnly) return !!attrib.data.enum && attrib.data.enum.length > 0\n\n return true\n}\n\nexport const useGetGroupedFields = ({\n allowedTypes,\n enumOnly,\n scope,\n}: {\n allowedTypes?: ('string' | 'integer' | 'float')[]\n enumOnly?: boolean\n scope?: string\n}) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'folderType',\n label: 'Folder type',\n icon: getAttributeIcon('folder'),\n scopes: ['folder', 'task'],\n },\n {\n value: 'taskType',\n label: 'Task type',\n icon: getAttributeIcon('task'),\n scopes: ['task', 'version'],\n },\n {\n value: 'productType',\n label: 'Product type',\n icon: getAttributeIcon('product'),\n scopes: ['product', 'version'],\n },\n // {\n // value: 'version',\n // label: 'Version',\n // icon: getAttributeIcon('version'),\n // scopes: ['version'],\n // },\n // {\n // value: 'author',\n // label: 'Author',\n // icon: getAttributeIcon('author'),\n // scopes: ['version'],\n // },\n {\n value: 'assignees',\n label: 'Assignee',\n icon: getAttributeIcon('assignees'),\n scopes: ['task'],\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n scopes: ['task', 'version', 'folder', 'product'],\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n scopes: ['task', 'version', 'folder', 'product'],\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, scope, allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\n ]\n .filter((field) => !scope || ('scopes' in field ? field.scopes.includes(scope) : true))\n .sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n if (indexA === -1 && indexB === -1) return 0\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n return indexA - indexB\n }),\n [attribFields, columnOrder, allowedTypes, enumOnly, scope],\n )\n}\n"],"names":["allowedGroupByFields","isAttribGroupable","attrib","entityType","allowedTypes","enumOnly","useGetGroupedFields","scope","columnOrder","useColumnSettingsContext","attribFields","useProjectTableContext","useMemo","getAttributeIcon","field","a","b","indexA","indexB"],"mappings":"yohBAMO,MAAMA,EAAuB,CAAC,SAAU,UAAW,OAAO,EACpDC,EAAoB,CAC/BC,EACAC,EACAC,EACAC,KAEqBD,GAAgBJ,GAEtB,SAASE,EAAO,KAAK,IAAI,IACrC,CAACC,GAAcD,EAAO,OAAO,SAASC,CAAsC,GAG3EE,EAAiB,CAAC,CAACH,EAAO,KAAK,MAAQA,EAAO,KAAK,KAAK,OAAS,EAE9D,GAHmB,GAMfI,EAAsB,CAAC,CAClC,aAAAF,EACA,SAAAC,EACA,MAAAE,CACF,IAIM,CACJ,KAAM,CAAE,YAAAC,CAAA,EAAgBC,2BAAA,EAClB,CAAE,aAAAC,CAAA,EAAiBC,yBAAA,EAEzB,OAAOC,EAAAA,QACL,IACE,CACE,CACE,MAAO,aACP,MAAO,cACP,KAAMC,EAAAA,iBAAiB,QAAQ,EAC/B,OAAQ,CAAC,SAAU,MAAM,CAAA,EAE3B,CACE,MAAO,WACP,MAAO,YACP,KAAMA,EAAAA,iBAAiB,MAAM,EAC7B,OAAQ,CAAC,OAAQ,SAAS,CAAA,EAE5B,CACE,MAAO,cACP,MAAO,eACP,KAAMA,EAAAA,iBAAiB,SAAS,EAChC,OAAQ,CAAC,UAAW,SAAS,CAAA,EAc/B,CACE,MAAO,YACP,MAAO,WACP,KAAMA,EAAAA,iBAAiB,WAAW,EAClC,OAAQ,CAAC,MAAM,CAAA,EAEjB,CACE,MAAO,SACP,MAAO,SACP,KAAMA,EAAAA,iBAAiB,QAAQ,EAC/B,OAAQ,CAAC,OAAQ,UAAW,SAAU,SAAS,CAAA,EAEjD,CACE,MAAO,OACP,MAAO,OACP,KAAMA,EAAAA,iBAAiB,MAAM,EAC7B,OAAQ,CAAC,OAAQ,UAAW,SAAU,SAAS,CAAA,EAEjD,GAAGH,EACA,OAAQR,GAAWD,EAAkBC,EAAQK,EAAOH,EAAcC,CAAQ,CAAC,EAC3E,IAAKS,IAAW,CACf,MAAO,UAAYA,EAAM,KACzB,MAAOA,EAAM,KAAK,OAASA,EAAM,KACjC,KAAMD,EAAAA,iBAAiBC,EAAM,IAAI,CAAA,EACjC,CAAA,EAEH,OAAQA,GAAU,CAACP,IAAU,WAAYO,EAAQA,EAAM,OAAO,SAASP,CAAK,EAAI,GAAK,EACrF,KAAK,CAACQ,EAAGC,IAAM,CACd,MAAMC,EAAST,EAAY,QAAQO,EAAE,KAAK,EACpCG,EAASV,EAAY,QAAQQ,EAAE,KAAK,EAC1C,OAAIC,IAAW,IAAMC,IAAW,GAAW,EACvCD,IAAW,GAAW,EACtBC,IAAW,GAAW,GACnBD,EAASC,CAClB,CAAC,EACL,CAACR,EAAcF,EAAaJ,EAAcC,EAAUE,CAAK,CAAA,CAE7D"}
@@ -206,8 +206,7 @@ import "../widgets/CellWidget.es.js";
206
206
  import "../widgets/EntityNameWidget.es.js";
207
207
  import "../widgets/GroupHeaderWidget.es.js";
208
208
  import "../widgets/ThumbnailWidget.es.js";
209
- import "../context/DetailsPanelEntityContext.es.js";
210
- import "../context/SelectedRowsContext.es.js";
209
+ import "../widgets/LinksWidget.es.js";
211
210
  import "../../../components/LinksManager/LinksManager.styled.es.js";
212
211
  import { useProjectTableContext as u } from "../context/ProjectTableContext.es.js";
213
212
  import "../widgets/EmptyWidget.es.js";
@@ -226,7 +225,9 @@ import "../context/SelectionCellsContext.es.js";
226
225
  import "../context/ProjectDataContext.es.js";
227
226
  import "../context/CellEditingContext.es.js";
228
227
  import "../components/TableFooterRow.es.js";
228
+ import "../context/SelectedRowsContext.es.js";
229
229
  import { useColumnSettingsContext as c } from "../context/ColumnSettingsContext.es.js";
230
+ import "../context/DetailsPanelEntityContext.es.js";
230
231
  import "../../EntityPickerDialog/EntityPickerDialog.es.js";
231
232
  import "../../Slicer/components/Slicer.es.js";
232
233
  import "../../Slicer/context/SlicerContext.es.js";
@@ -288,7 +289,7 @@ import "../../../components/Menu/Menu.styled.es.js";
288
289
  import "../../../components/Menu/MenuItem.es.js";
289
290
  import "../../../components/ReviewablesSelector/ReviewablesSelector.es.js";
290
291
  import "../../../components/ColumnHeaderMenuUI.es.js";
291
- const d = ["string", "integer", "float"], f = (o, p, i, m) => (i || d).includes(o.data.type) && (!p || o.scope?.includes(p)) ? m ? !!o.data.enum && o.data.enum.length > 0 : !0 : !1, wp = ({
292
+ const d = ["string", "integer", "float"], f = (o, p, i, m) => (i || d).includes(o.data.type) && (!p || o.scope?.includes(p)) ? m ? !!o.data.enum && o.data.enum.length > 0 : !0 : !1, zp = ({
292
293
  allowedTypes: o,
293
294
  enumOnly: p,
294
295
  scope: i
@@ -359,6 +360,6 @@ const d = ["string", "integer", "float"], f = (o, p, i, m) => (i || d).includes(
359
360
  export {
360
361
  d as allowedGroupByFields,
361
362
  f as isAttribGroupable,
362
- wp as useGetGroupedFields
363
+ zp as useGetGroupedFields
363
364
  };
364
365
  //# sourceMappingURL=useGetGroupedFields.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetGroupedFields.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetGroupedFields.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { ProjectTableAttribute } from '../types'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { getAttributeIcon } from '@shared/util'\n\n// @martastain says list_of_* is a pita to implement, so we are not supporting it for now\nexport const allowedGroupByFields = ['string', 'integer', 'float']\nexport const isAttribGroupable = (\n attrib: ProjectTableAttribute,\n entityType?: string,\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType =\n typesToCheck.includes(attrib.data.type) &&\n (!entityType || attrib.scope?.includes(entityType as (typeof attrib.scope)[0]))\n\n if (!hasValidType) return false\n if (enumOnly) return !!attrib.data.enum && attrib.data.enum.length > 0\n\n return true\n}\n\nexport const useGetGroupedFields = ({\n allowedTypes,\n enumOnly,\n scope,\n}: {\n allowedTypes?: ('string' | 'integer' | 'float')[]\n enumOnly?: boolean\n scope?: string\n}) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'folderType',\n label: 'Folder type',\n icon: getAttributeIcon('folder'),\n scopes: ['folder', 'task'],\n },\n {\n value: 'taskType',\n label: 'Task type',\n icon: getAttributeIcon('task'),\n scopes: ['task', 'version'],\n },\n {\n value: 'productType',\n label: 'Product type',\n icon: getAttributeIcon('product'),\n scopes: ['product', 'version'],\n },\n // {\n // value: 'version',\n // label: 'Version',\n // icon: getAttributeIcon('version'),\n // scopes: ['version'],\n // },\n // {\n // value: 'author',\n // label: 'Author',\n // icon: getAttributeIcon('author'),\n // scopes: ['version'],\n // },\n {\n value: 'assignees',\n label: 'Assignee',\n icon: getAttributeIcon('assignees'),\n scopes: ['task'],\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n scopes: ['task', 'version', 'folder', 'product'],\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n scopes: ['task', 'version', 'folder', 'product'],\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, scope, allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\n ]\n .filter((field) => !scope || ('scopes' in field ? field.scopes.includes(scope) : true))\n .sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n if (indexA === -1 && indexB === -1) return 0\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n return indexA - indexB\n }),\n [attribFields, columnOrder, allowedTypes, enumOnly, scope],\n )\n}\n"],"names":["allowedGroupByFields","isAttribGroupable","attrib","entityType","allowedTypes","enumOnly","useGetGroupedFields","scope","columnOrder","useColumnSettingsContext","attribFields","useProjectTableContext","useMemo","getAttributeIcon","field","a","b","indexA","indexB"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAMA,IAAuB,CAAC,UAAU,WAAW,OAAO,GACpDC,IAAoB,CAC/BC,GACAC,GACAC,GACAC,OAEqBD,KAAgBJ,GAEtB,SAASE,EAAO,KAAK,IAAI,MACrC,CAACC,KAAcD,EAAO,OAAO,SAASC,CAAsC,KAG3EE,IAAiB,CAAC,CAACH,EAAO,KAAK,QAAQA,EAAO,KAAK,KAAK,SAAS,IAE9D,KAHmB,IAMfI,KAAsB,CAAC;AAAA,EAClC,cAAAF;AAAA,EACA,UAAAC;AAAA,EACA,OAAAE;AACF,MAIM;AACJ,QAAM,EAAE,aAAAC,EAAA,IAAgBC,EAAA,GAClB,EAAE,cAAAC,EAAA,IAAiBC,EAAA;AAEzB,SAAOC;AAAA,IACL,MACE;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMC,EAAiB,QAAQ;AAAA,QAC/B,QAAQ,CAAC,UAAU,MAAM;AAAA,MAAA;AAAA,MAE3B;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,MAAM;AAAA,QAC7B,QAAQ,CAAC,QAAQ,SAAS;AAAA,MAAA;AAAA,MAE5B;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,SAAS;AAAA,QAChC,QAAQ,CAAC,WAAW,SAAS;AAAA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAc/B;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,WAAW;AAAA,QAClC,QAAQ,CAAC,MAAM;AAAA,MAAA;AAAA,MAEjB;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,QAAQ;AAAA,QAC/B,QAAQ,CAAC,QAAQ,WAAW,UAAU,SAAS;AAAA,MAAA;AAAA,MAEjD;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,MAAM;AAAA,QAC7B,QAAQ,CAAC,QAAQ,WAAW,UAAU,SAAS;AAAA,MAAA;AAAA,MAEjD,GAAGH,EACA,OAAO,CAACR,MAAWD,EAAkBC,GAAQK,GAAOH,GAAcC,CAAQ,CAAC,EAC3E,IAAI,CAACS,OAAW;AAAA,QACf,OAAO,YAAYA,EAAM;AAAA,QACzB,OAAOA,EAAM,KAAK,SAASA,EAAM;AAAA,QACjC,MAAMD,EAAiBC,EAAM,IAAI;AAAA,MAAA,EACjC;AAAA,IAAA,EAEH,OAAO,CAACA,MAAU,CAACP,MAAU,YAAYO,IAAQA,EAAM,OAAO,SAASP,CAAK,IAAI,GAAK,EACrF,KAAK,CAACQ,GAAGC,MAAM;AACd,YAAMC,IAAST,EAAY,QAAQO,EAAE,KAAK,GACpCG,IAASV,EAAY,QAAQQ,EAAE,KAAK;AAC1C,aAAIC,MAAW,MAAMC,MAAW,KAAW,IACvCD,MAAW,KAAW,IACtBC,MAAW,KAAW,KACnBD,IAASC;AAAA,IAClB,CAAC;AAAA,IACL,CAACR,GAAcF,GAAaJ,GAAcC,GAAUE,CAAK;AAAA,EAAA;AAE7D;"}
1
+ {"version":3,"file":"useGetGroupedFields.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetGroupedFields.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { ProjectTableAttribute } from '../types'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { getAttributeIcon } from '@shared/util'\n\n// @martastain says list_of_* is a pita to implement, so we are not supporting it for now\nexport const allowedGroupByFields = ['string', 'integer', 'float']\nexport const isAttribGroupable = (\n attrib: ProjectTableAttribute,\n entityType?: string,\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType =\n typesToCheck.includes(attrib.data.type) &&\n (!entityType || attrib.scope?.includes(entityType as (typeof attrib.scope)[0]))\n\n if (!hasValidType) return false\n if (enumOnly) return !!attrib.data.enum && attrib.data.enum.length > 0\n\n return true\n}\n\nexport const useGetGroupedFields = ({\n allowedTypes,\n enumOnly,\n scope,\n}: {\n allowedTypes?: ('string' | 'integer' | 'float')[]\n enumOnly?: boolean\n scope?: string\n}) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'folderType',\n label: 'Folder type',\n icon: getAttributeIcon('folder'),\n scopes: ['folder', 'task'],\n },\n {\n value: 'taskType',\n label: 'Task type',\n icon: getAttributeIcon('task'),\n scopes: ['task', 'version'],\n },\n {\n value: 'productType',\n label: 'Product type',\n icon: getAttributeIcon('product'),\n scopes: ['product', 'version'],\n },\n // {\n // value: 'version',\n // label: 'Version',\n // icon: getAttributeIcon('version'),\n // scopes: ['version'],\n // },\n // {\n // value: 'author',\n // label: 'Author',\n // icon: getAttributeIcon('author'),\n // scopes: ['version'],\n // },\n {\n value: 'assignees',\n label: 'Assignee',\n icon: getAttributeIcon('assignees'),\n scopes: ['task'],\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n scopes: ['task', 'version', 'folder', 'product'],\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n scopes: ['task', 'version', 'folder', 'product'],\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, scope, allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\n ]\n .filter((field) => !scope || ('scopes' in field ? field.scopes.includes(scope) : true))\n .sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n if (indexA === -1 && indexB === -1) return 0\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n return indexA - indexB\n }),\n [attribFields, columnOrder, allowedTypes, enumOnly, scope],\n )\n}\n"],"names":["allowedGroupByFields","isAttribGroupable","attrib","entityType","allowedTypes","enumOnly","useGetGroupedFields","scope","columnOrder","useColumnSettingsContext","attribFields","useProjectTableContext","useMemo","getAttributeIcon","field","a","b","indexA","indexB"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAMA,IAAuB,CAAC,UAAU,WAAW,OAAO,GACpDC,IAAoB,CAC/BC,GACAC,GACAC,GACAC,OAEqBD,KAAgBJ,GAEtB,SAASE,EAAO,KAAK,IAAI,MACrC,CAACC,KAAcD,EAAO,OAAO,SAASC,CAAsC,KAG3EE,IAAiB,CAAC,CAACH,EAAO,KAAK,QAAQA,EAAO,KAAK,KAAK,SAAS,IAE9D,KAHmB,IAMfI,KAAsB,CAAC;AAAA,EAClC,cAAAF;AAAA,EACA,UAAAC;AAAA,EACA,OAAAE;AACF,MAIM;AACJ,QAAM,EAAE,aAAAC,EAAA,IAAgBC,EAAA,GAClB,EAAE,cAAAC,EAAA,IAAiBC,EAAA;AAEzB,SAAOC;AAAA,IACL,MACE;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMC,EAAiB,QAAQ;AAAA,QAC/B,QAAQ,CAAC,UAAU,MAAM;AAAA,MAAA;AAAA,MAE3B;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,MAAM;AAAA,QAC7B,QAAQ,CAAC,QAAQ,SAAS;AAAA,MAAA;AAAA,MAE5B;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,SAAS;AAAA,QAChC,QAAQ,CAAC,WAAW,SAAS;AAAA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAc/B;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,WAAW;AAAA,QAClC,QAAQ,CAAC,MAAM;AAAA,MAAA;AAAA,MAEjB;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,QAAQ;AAAA,QAC/B,QAAQ,CAAC,QAAQ,WAAW,UAAU,SAAS;AAAA,MAAA;AAAA,MAEjD;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,MAAM;AAAA,QAC7B,QAAQ,CAAC,QAAQ,WAAW,UAAU,SAAS;AAAA,MAAA;AAAA,MAEjD,GAAGH,EACA,OAAO,CAACR,MAAWD,EAAkBC,GAAQK,GAAOH,GAAcC,CAAQ,CAAC,EAC3E,IAAI,CAACS,OAAW;AAAA,QACf,OAAO,YAAYA,EAAM;AAAA,QACzB,OAAOA,EAAM,KAAK,SAASA,EAAM;AAAA,QACjC,MAAMD,EAAiBC,EAAM,IAAI;AAAA,MAAA,EACjC;AAAA,IAAA,EAEH,OAAO,CAACA,MAAU,CAACP,MAAU,YAAYO,IAAQA,EAAM,OAAO,SAASP,CAAK,IAAI,GAAK,EACrF,KAAK,CAACQ,GAAGC,MAAM;AACd,YAAMC,IAAST,EAAY,QAAQO,EAAE,KAAK,GACpCG,IAASV,EAAY,QAAQQ,EAAE,KAAK;AAC1C,aAAIC,MAAW,MAAMC,MAAW,KAAW,IACvCD,MAAW,KAAW,IACtBC,MAAW,KAAW,KACnBD,IAASC;AAAA,IAClB,CAAC;AAAA,IACL,CAACR,GAAcF,GAAaJ,GAAcC,GAAUE,CAAK;AAAA,EAAA;AAE7D;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("../../../../../_virtual/jsx-runtime.cjs.js"),R=require("react");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.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/dataImport.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/projectFolders.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/activities/getCategories.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/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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/users/guests.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("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");const j=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../context/CellEditingContext.cjs.js");const G=require("./useGetGroupedFields.cjs.js");require("../components/TableFooterRow.cjs.js");const F=require("../context/ColumnSettingsContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const r="hierarchy",c="folder",g="name",_=({scope:h})=>{const{groupBy:o,groupByConfig:v,updateGroupBy:u,updateGroupByConfig:C,sorting:d,updateSorting:a}=F.useColumnSettingsContext(),{modules:l,showHierarchy:S,updateShowHierarchy:i,hierarchyOptions:b,hierarchyActive:m}=j.useProjectTableContext(),p=G.useGetGroupedFields({scope:h});if(!l)return null;const{GroupSettings:H,requiredVersion:x}=l||{},f=!!i,y=f?[...b||[{value:r,label:"Hierarchy",icon:"account_tree"},{value:"folder",label:"Folder",icon:"folder"}],...p]:p,s=m??S,q=o??(f&&s?{id:r,desc:!1}:void 0),n=d?.[0]?.id===g?!!d[0].desc:!1,t=q?.id===c||q?.id===r?{...q,desc:n}:q,A=R.useCallback(e=>{if(e?.id===r||e?.id===c){if(e.id===r?s:o?.id===c){e.desc!==n&&a([{id:g,desc:!!e.desc}]);return}e.id===r?i?.(!0):u(e);return}if(!e){i?i(!1):u(void 0);return}u(e)},[u,i,a,o,n,s]);return{id:"group-by",title:"Group",icon:"splitscreen",preview:t?y.find(e=>e.value===t.id)?.label??t.id:"None",component:O.jsxRuntimeExports.jsx(H,{fields:y,requiredVersion:x,groupBy:t,updateGroupBy:A,config:v,onConfigChange:C})}};exports.useGroupBySettings=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("../../../../../_virtual/jsx-runtime.cjs.js"),R=require("react");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.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/dataImport.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/projectFolders.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/activities/getCategories.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/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.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/users/guests.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("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.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("remark-emoji");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/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.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/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");const j=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../components/DeleteConfirmContent.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../context/CellEditingContext.cjs.js");const G=require("./useGetGroupedFields.cjs.js");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");const F=require("../context/ColumnSettingsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");const r="hierarchy",c="folder",g="name",_=({scope:h})=>{const{groupBy:o,groupByConfig:v,updateGroupBy:u,updateGroupByConfig:C,sorting:d,updateSorting:a}=F.useColumnSettingsContext(),{modules:l,showHierarchy:S,updateShowHierarchy:i,hierarchyOptions:b,hierarchyActive:m}=j.useProjectTableContext(),p=G.useGetGroupedFields({scope:h});if(!l)return null;const{GroupSettings:H,requiredVersion:x}=l||{},f=!!i,y=f?[...b||[{value:r,label:"Hierarchy",icon:"account_tree"},{value:"folder",label:"Folder",icon:"folder"}],...p]:p,s=m??S,q=o??(f&&s?{id:r,desc:!1}:void 0),n=d?.[0]?.id===g?!!d[0].desc:!1,t=q?.id===c||q?.id===r?{...q,desc:n}:q,A=R.useCallback(e=>{if(e?.id===r||e?.id===c){if(e.id===r?s:o?.id===c){e.desc!==n&&a([{id:g,desc:!!e.desc}]);return}e.id===r?i?.(!0):u(e);return}if(!e){i?i(!1):u(void 0);return}u(e)},[u,i,a,o,n,s]);return{id:"group-by",title:"Group",icon:"splitscreen",preview:t?y.find(e=>e.value===t.id)?.label??t.id:"None",component:O.jsxRuntimeExports.jsx(H,{fields:y,requiredVersion:x,groupBy:t,updateGroupBy:A,config:v,onConfigChange:C})}};exports.useGroupBySettings=_;
2
2
  //# sourceMappingURL=useGroupBySettings.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGroupBySettings.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGroupBySettings.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { useGetGroupedFields } from '..'\nimport { TableGroupBy } from '@shared/containers'\n\nconst HIERARCHY_ID = 'hierarchy'\nconst FOLDER_ID = 'folder'\nconst NAME_SORT_COLUMN = 'name'\n\ninterface UseGroupBySettingsProps {\n scope?: string\n}\n\nexport const useGroupBySettings = ({ scope }: UseGroupBySettingsProps) => {\n const { groupBy, groupByConfig, updateGroupBy, updateGroupByConfig, sorting, updateSorting } =\n useColumnSettingsContext()\n const { modules, showHierarchy, updateShowHierarchy, hierarchyOptions: customHierarchyOptions, hierarchyActive, } = useProjectTableContext()\n const groupByFields = useGetGroupedFields({ scope })\n if (!modules) return null\n const { GroupSettings, requiredVersion } = modules || {}\n\n // Add hierarchy-like options when the table supports it\n const hasHierarchy = !!updateShowHierarchy\n const defaultHierarchyOptions = [\n { value: HIERARCHY_ID, label: 'Hierarchy', icon: 'account_tree' },\n { value: 'folder', label: 'Folder', icon: 'folder' },\n ]\n const fields = hasHierarchy\n ? [...(customHierarchyOptions || defaultHierarchyOptions), ...groupByFields]\n : groupByFields\n\n // When hierarchy is active (groupBy is undefined), present a virtual groupBy\n // so the GroupSettings component highlights the hierarchy option as selected\n // hierarchyActive overrides showHierarchy for panel display when table behavior differs\n const isHierarchyActive = hierarchyActive ?? showHierarchy\n const baseVirtualGroupBy =\n groupBy ?? (hasHierarchy && isHierarchyActive ? { id: HIERARCHY_ID, desc: false } : undefined)\n const nameSortDesc =\n sorting?.[0]?.id === NAME_SORT_COLUMN ? !!sorting[0].desc : false\n const virtualGroupBy =\n baseVirtualGroupBy?.id === FOLDER_ID || baseVirtualGroupBy?.id === HIERARCHY_ID\n ? { ...baseVirtualGroupBy, desc: nameSortDesc }\n : baseVirtualGroupBy\n\n // Wrap updateGroupBy to intercept \"hierarchy\", \"folder\" and \"none\" selection\n const handleUpdateGroupBy = useCallback(\n (newGroupBy: TableGroupBy | undefined) => {\n if (newGroupBy?.id === HIERARCHY_ID || newGroupBy?.id === FOLDER_ID) {\n const isAlreadyActive =\n newGroupBy.id === HIERARCHY_ID ? isHierarchyActive : groupBy?.id === FOLDER_ID\n if (isAlreadyActive) {\n if (newGroupBy.desc !== nameSortDesc) {\n updateSorting([{ id: NAME_SORT_COLUMN, desc: !!newGroupBy.desc }])\n }\n return\n }\n if (newGroupBy.id === HIERARCHY_ID) {\n updateShowHierarchy?.(true)\n } else {\n updateGroupBy(newGroupBy)\n }\n return\n }\n if (!newGroupBy) {\n // None selected: flat list (no hierarchy, no grouping)\n if (updateShowHierarchy) {\n // Has hierarchy support: delegate to updateShowHierarchy(false)\n // which routes through onUpdateViewGroupBy(undefined) and clears everything\n updateShowHierarchy(false)\n } else {\n // No hierarchy support: just clear groupBy through ColumnSettingsContext\n updateGroupBy(undefined)\n }\n return\n }\n updateGroupBy(newGroupBy)\n },\n [updateGroupBy, updateShowHierarchy, updateSorting, groupBy, nameSortDesc, isHierarchyActive],\n )\n\n const preview = virtualGroupBy\n ? fields.find((f) => f.value === virtualGroupBy.id)?.label ?? virtualGroupBy.id\n : 'None'\n\n return {\n id: 'group-by',\n title: 'Group',\n icon: 'splitscreen',\n preview,\n component: (\n <GroupSettings\n fields={fields}\n requiredVersion={requiredVersion}\n groupBy={virtualGroupBy}\n updateGroupBy={handleUpdateGroupBy}\n config={groupByConfig}\n onConfigChange={updateGroupByConfig}\n />\n ),\n }\n}\n"],"names":["HIERARCHY_ID","FOLDER_ID","NAME_SORT_COLUMN","useGroupBySettings","scope","groupBy","groupByConfig","updateGroupBy","updateGroupByConfig","sorting","updateSorting","useColumnSettingsContext","modules","showHierarchy","updateShowHierarchy","customHierarchyOptions","hierarchyActive","useProjectTableContext","groupByFields","useGetGroupedFields","GroupSettings","requiredVersion","hasHierarchy","fields","isHierarchyActive","baseVirtualGroupBy","nameSortDesc","virtualGroupBy","handleUpdateGroupBy","useCallback","newGroupBy","f","jsx"],"mappings":"ylhBAKA,MAAMA,EAAe,YACfC,EAAY,SACZC,EAAmB,OAMZC,EAAqB,CAAC,CAAE,MAAAC,KAAqC,CACxE,KAAM,CAAE,QAAAC,EAAS,cAAAC,EAAe,cAAAC,EAAe,oBAAAC,EAAqB,QAAAC,EAAS,cAAAC,CAAA,EAC3EC,2BAAA,EACI,CAAE,QAAAC,EAAS,cAAAC,EAAe,oBAAAC,EAAqB,iBAAkBC,EAAwB,gBAAAC,CAAA,EAAqBC,yBAAA,EAC9GC,EAAgBC,EAAAA,oBAAoB,CAAE,MAAAf,EAAO,EACnD,GAAI,CAACQ,EAAS,OAAO,KACrB,KAAM,CAAE,cAAAQ,EAAe,gBAAAC,CAAA,EAAoBT,GAAW,CAAA,EAGhDU,EAAe,CAAC,CAACR,EAKjBS,EAASD,EACX,CAAC,GAAIP,GALuB,CAC9B,CAAE,MAAOf,EAAc,MAAO,YAAa,KAAM,cAAA,EACjD,CAAE,MAAO,SAAU,MAAO,SAAU,KAAM,QAAA,CAAS,EAGQ,GAAGkB,CAAa,EACzEA,EAKEM,EAAoBR,GAAmBH,EACvCY,EACJpB,IAAYiB,GAAgBE,EAAoB,CAAE,GAAIxB,EAAc,KAAM,EAAA,EAAU,QAChF0B,EACJjB,IAAU,CAAC,GAAG,KAAOP,EAAmB,CAAC,CAACO,EAAQ,CAAC,EAAE,KAAO,GACxDkB,EACJF,GAAoB,KAAOxB,GAAawB,GAAoB,KAAOzB,EAC/D,CAAE,GAAGyB,EAAoB,KAAMC,CAAA,EAC/BD,EAGAG,EAAsBC,EAAAA,YACzBC,GAAyC,CACxC,GAAIA,GAAY,KAAO9B,GAAgB8B,GAAY,KAAO7B,EAAW,CAGnE,GADE6B,EAAW,KAAO9B,EAAewB,EAAoBnB,GAAS,KAAOJ,EAClD,CACf6B,EAAW,OAASJ,GACtBhB,EAAc,CAAC,CAAE,GAAIR,EAAkB,KAAM,CAAC,CAAC4B,EAAW,IAAA,CAAM,CAAC,EAEnE,MACF,CACIA,EAAW,KAAO9B,EACpBc,IAAsB,EAAI,EAE1BP,EAAcuB,CAAU,EAE1B,MACF,CACA,GAAI,CAACA,EAAY,CAEXhB,EAGFA,EAAoB,EAAK,EAGzBP,EAAc,MAAS,EAEzB,MACF,CACAA,EAAcuB,CAAU,CAC1B,EACA,CAACvB,EAAeO,EAAqBJ,EAAeL,EAASqB,EAAcF,CAAiB,CAAA,EAO9F,MAAO,CACL,GAAI,WACJ,MAAO,QACP,KAAM,cACN,QARcG,EACZJ,EAAO,KAAMQ,GAAMA,EAAE,QAAUJ,EAAe,EAAE,GAAG,OAASA,EAAe,GAC3E,OAOF,UACEK,EAAAA,kBAAAA,IAACZ,EAAA,CACC,OAAAG,EACA,gBAAAF,EACA,QAASM,EACT,cAAeC,EACf,OAAQtB,EACR,eAAgBE,CAAA,CAAA,CAClB,CAGN"}
1
+ {"version":3,"file":"useGroupBySettings.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGroupBySettings.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { useGetGroupedFields } from '..'\nimport { TableGroupBy } from '@shared/containers'\n\nconst HIERARCHY_ID = 'hierarchy'\nconst FOLDER_ID = 'folder'\nconst NAME_SORT_COLUMN = 'name'\n\ninterface UseGroupBySettingsProps {\n scope?: string\n}\n\nexport const useGroupBySettings = ({ scope }: UseGroupBySettingsProps) => {\n const { groupBy, groupByConfig, updateGroupBy, updateGroupByConfig, sorting, updateSorting } =\n useColumnSettingsContext()\n const { modules, showHierarchy, updateShowHierarchy, hierarchyOptions: customHierarchyOptions, hierarchyActive, } = useProjectTableContext()\n const groupByFields = useGetGroupedFields({ scope })\n if (!modules) return null\n const { GroupSettings, requiredVersion } = modules || {}\n\n // Add hierarchy-like options when the table supports it\n const hasHierarchy = !!updateShowHierarchy\n const defaultHierarchyOptions = [\n { value: HIERARCHY_ID, label: 'Hierarchy', icon: 'account_tree' },\n { value: 'folder', label: 'Folder', icon: 'folder' },\n ]\n const fields = hasHierarchy\n ? [...(customHierarchyOptions || defaultHierarchyOptions), ...groupByFields]\n : groupByFields\n\n // When hierarchy is active (groupBy is undefined), present a virtual groupBy\n // so the GroupSettings component highlights the hierarchy option as selected\n // hierarchyActive overrides showHierarchy for panel display when table behavior differs\n const isHierarchyActive = hierarchyActive ?? showHierarchy\n const baseVirtualGroupBy =\n groupBy ?? (hasHierarchy && isHierarchyActive ? { id: HIERARCHY_ID, desc: false } : undefined)\n const nameSortDesc =\n sorting?.[0]?.id === NAME_SORT_COLUMN ? !!sorting[0].desc : false\n const virtualGroupBy =\n baseVirtualGroupBy?.id === FOLDER_ID || baseVirtualGroupBy?.id === HIERARCHY_ID\n ? { ...baseVirtualGroupBy, desc: nameSortDesc }\n : baseVirtualGroupBy\n\n // Wrap updateGroupBy to intercept \"hierarchy\", \"folder\" and \"none\" selection\n const handleUpdateGroupBy = useCallback(\n (newGroupBy: TableGroupBy | undefined) => {\n if (newGroupBy?.id === HIERARCHY_ID || newGroupBy?.id === FOLDER_ID) {\n const isAlreadyActive =\n newGroupBy.id === HIERARCHY_ID ? isHierarchyActive : groupBy?.id === FOLDER_ID\n if (isAlreadyActive) {\n if (newGroupBy.desc !== nameSortDesc) {\n updateSorting([{ id: NAME_SORT_COLUMN, desc: !!newGroupBy.desc }])\n }\n return\n }\n if (newGroupBy.id === HIERARCHY_ID) {\n updateShowHierarchy?.(true)\n } else {\n updateGroupBy(newGroupBy)\n }\n return\n }\n if (!newGroupBy) {\n // None selected: flat list (no hierarchy, no grouping)\n if (updateShowHierarchy) {\n // Has hierarchy support: delegate to updateShowHierarchy(false)\n // which routes through onUpdateViewGroupBy(undefined) and clears everything\n updateShowHierarchy(false)\n } else {\n // No hierarchy support: just clear groupBy through ColumnSettingsContext\n updateGroupBy(undefined)\n }\n return\n }\n updateGroupBy(newGroupBy)\n },\n [updateGroupBy, updateShowHierarchy, updateSorting, groupBy, nameSortDesc, isHierarchyActive],\n )\n\n const preview = virtualGroupBy\n ? fields.find((f) => f.value === virtualGroupBy.id)?.label ?? virtualGroupBy.id\n : 'None'\n\n return {\n id: 'group-by',\n title: 'Group',\n icon: 'splitscreen',\n preview,\n component: (\n <GroupSettings\n fields={fields}\n requiredVersion={requiredVersion}\n groupBy={virtualGroupBy}\n updateGroupBy={handleUpdateGroupBy}\n config={groupByConfig}\n onConfigChange={updateGroupByConfig}\n />\n ),\n }\n}\n"],"names":["HIERARCHY_ID","FOLDER_ID","NAME_SORT_COLUMN","useGroupBySettings","scope","groupBy","groupByConfig","updateGroupBy","updateGroupByConfig","sorting","updateSorting","useColumnSettingsContext","modules","showHierarchy","updateShowHierarchy","customHierarchyOptions","hierarchyActive","useProjectTableContext","groupByFields","useGetGroupedFields","GroupSettings","requiredVersion","hasHierarchy","fields","isHierarchyActive","baseVirtualGroupBy","nameSortDesc","virtualGroupBy","handleUpdateGroupBy","useCallback","newGroupBy","f","jsx"],"mappings":"kohBAKA,MAAMA,EAAe,YACfC,EAAY,SACZC,EAAmB,OAMZC,EAAqB,CAAC,CAAE,MAAAC,KAAqC,CACxE,KAAM,CAAE,QAAAC,EAAS,cAAAC,EAAe,cAAAC,EAAe,oBAAAC,EAAqB,QAAAC,EAAS,cAAAC,CAAA,EAC3EC,2BAAA,EACI,CAAE,QAAAC,EAAS,cAAAC,EAAe,oBAAAC,EAAqB,iBAAkBC,EAAwB,gBAAAC,CAAA,EAAqBC,yBAAA,EAC9GC,EAAgBC,EAAAA,oBAAoB,CAAE,MAAAf,EAAO,EACnD,GAAI,CAACQ,EAAS,OAAO,KACrB,KAAM,CAAE,cAAAQ,EAAe,gBAAAC,CAAA,EAAoBT,GAAW,CAAA,EAGhDU,EAAe,CAAC,CAACR,EAKjBS,EAASD,EACX,CAAC,GAAIP,GALuB,CAC9B,CAAE,MAAOf,EAAc,MAAO,YAAa,KAAM,cAAA,EACjD,CAAE,MAAO,SAAU,MAAO,SAAU,KAAM,QAAA,CAAS,EAGQ,GAAGkB,CAAa,EACzEA,EAKEM,EAAoBR,GAAmBH,EACvCY,EACJpB,IAAYiB,GAAgBE,EAAoB,CAAE,GAAIxB,EAAc,KAAM,EAAA,EAAU,QAChF0B,EACJjB,IAAU,CAAC,GAAG,KAAOP,EAAmB,CAAC,CAACO,EAAQ,CAAC,EAAE,KAAO,GACxDkB,EACJF,GAAoB,KAAOxB,GAAawB,GAAoB,KAAOzB,EAC/D,CAAE,GAAGyB,EAAoB,KAAMC,CAAA,EAC/BD,EAGAG,EAAsBC,EAAAA,YACzBC,GAAyC,CACxC,GAAIA,GAAY,KAAO9B,GAAgB8B,GAAY,KAAO7B,EAAW,CAGnE,GADE6B,EAAW,KAAO9B,EAAewB,EAAoBnB,GAAS,KAAOJ,EAClD,CACf6B,EAAW,OAASJ,GACtBhB,EAAc,CAAC,CAAE,GAAIR,EAAkB,KAAM,CAAC,CAAC4B,EAAW,IAAA,CAAM,CAAC,EAEnE,MACF,CACIA,EAAW,KAAO9B,EACpBc,IAAsB,EAAI,EAE1BP,EAAcuB,CAAU,EAE1B,MACF,CACA,GAAI,CAACA,EAAY,CAEXhB,EAGFA,EAAoB,EAAK,EAGzBP,EAAc,MAAS,EAEzB,MACF,CACAA,EAAcuB,CAAU,CAC1B,EACA,CAACvB,EAAeO,EAAqBJ,EAAeL,EAASqB,EAAcF,CAAiB,CAAA,EAO9F,MAAO,CACL,GAAI,WACJ,MAAO,QACP,KAAM,cACN,QARcG,EACZJ,EAAO,KAAMQ,GAAMA,EAAE,QAAUJ,EAAe,EAAE,GAAG,OAASA,EAAe,GAC3E,OAOF,UACEK,EAAAA,kBAAAA,IAACZ,EAAA,CACC,OAAAG,EACA,gBAAAF,EACA,QAASM,EACT,cAAeC,EACf,OAAQtB,EACR,eAAgBE,CAAA,CAAA,CAClB,CAGN"}