@ynput/ayon-frontend-shared 0.2.29 → 0.2.30

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 (629) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +51 -49
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/api.cjs.js +1 -1
  8. package/dist/api.es.js +220 -213
  9. package/dist/api.es.js.map +1 -1
  10. package/dist/components.cjs.js +1 -1
  11. package/dist/components.es.js +82 -74
  12. package/dist/components.es.js.map +1 -1
  13. package/dist/context.cjs.js +1 -1
  14. package/dist/context.es.js +23 -19
  15. package/dist/context.es.js.map +1 -1
  16. package/dist/hooks.cjs.js +1 -1
  17. package/dist/hooks.es.js +12 -10
  18. package/dist/hooks.es.js.map +1 -1
  19. package/dist/index.cjs.js +1 -1
  20. package/dist/index.es.js +11 -9
  21. package/dist/index.es.js.map +1 -1
  22. package/dist/shared/src/api/base/client.cjs.js +1 -1
  23. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  24. package/dist/shared/src/api/base/client.es.js +8 -7
  25. package/dist/shared/src/api/base/client.es.js.map +1 -1
  26. package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
  27. package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
  28. package/dist/shared/src/api/generated/attributes.cjs.js +1 -1
  29. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  30. package/dist/shared/src/api/generated/attributes.es.js +9 -2
  31. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  32. package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
  33. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  34. package/dist/shared/src/api/generated/entityLists.es.js +46 -0
  35. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  36. package/dist/shared/src/api/generated/graphql.cjs.js +10 -5
  37. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/graphql.es.js +23 -18
  39. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  40. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  41. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/attributes/updateAttributes.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/attributes/updateAttributes.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/attributes/updateAttributes.es.js +12 -5
  45. package/dist/shared/src/api/queries/attributes/updateAttributes.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
  49. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/entities/updateEntity.es.js +33 -32
  53. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  55. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/entityLists/getLists.es.js +151 -125
  57. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +2 -0
  59. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -0
  60. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +111 -0
  61. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -0
  62. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +104 -88
  65. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.es.js +7 -6
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -19
  71. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/project/getProject.es.js +10 -70
  73. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/project/updateProject.cjs.js +1 -1
  75. package/dist/shared/src/api/queries/project/updateProject.cjs.js.map +1 -1
  76. package/dist/shared/src/api/queries/project/updateProject.es.js +35 -61
  77. package/dist/shared/src/api/queries/project/updateProject.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
  79. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  80. package/dist/shared/src/api/queries/system/getSystem.es.js +14 -8
  81. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  82. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  83. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  84. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +23 -23
  85. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  86. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/users/getUsers.es.js +18 -17
  88. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
  90. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/users/updateUsers.es.js +19 -11
  92. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  93. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  94. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  95. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +30 -29
  96. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  97. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  98. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  99. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  100. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  101. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -3
  102. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  103. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +64 -51
  104. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  105. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  106. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  107. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +66 -59
  108. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  109. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js +4 -5
  110. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.cjs.js.map +1 -1
  111. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js +46 -41
  112. package/dist/shared/src/components/DetailsPanelDetails/BorderedSection.es.js.map +1 -1
  113. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  114. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  115. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  116. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  117. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js +76 -5
  118. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.cjs.js.map +1 -1
  119. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js +76 -5
  120. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.styles.es.js.map +1 -1
  121. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -2
  122. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  123. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +11 -11
  124. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  125. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  126. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  127. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +32 -32
  128. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  129. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  130. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  131. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +15 -8
  132. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  133. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  134. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  135. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
  136. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  137. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  138. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  139. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  140. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  141. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  142. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  143. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
  144. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  145. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  146. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  147. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
  148. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  149. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +1 -1
  150. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  151. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +51 -152
  152. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  153. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js +3 -1
  154. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js.map +1 -1
  155. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js +3 -1
  156. package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js.map +1 -1
  157. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js +2 -0
  158. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -0
  159. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js +141 -0
  160. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -0
  161. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  162. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  163. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  164. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  165. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  166. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  167. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
  168. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  169. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  170. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  171. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  172. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  173. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  174. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  175. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
  176. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  177. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
  178. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
  179. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +177 -0
  180. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
  181. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
  182. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
  183. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +31 -0
  184. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
  185. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
  186. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  187. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +8 -7
  188. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  189. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  190. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  191. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +42 -31
  192. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  193. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js +12 -2
  194. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js.map +1 -1
  195. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js +15 -4
  196. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js.map +1 -1
  197. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  198. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  199. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
  200. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  201. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  202. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  203. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -3
  204. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  205. package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js +2 -1
  206. package/dist/shared/src/components/QuillListStyles/QuillListStyles.cjs.js.map +1 -1
  207. package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js +2 -1
  208. package/dist/shared/src/components/QuillListStyles/QuillListStyles.es.js.map +1 -1
  209. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
  210. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  211. package/dist/shared/src/components/RenameForm/RenameForm.es.js +116 -105
  212. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  213. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  214. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  215. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  216. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  217. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  218. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  219. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
  220. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  221. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  222. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  223. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
  224. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  225. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  226. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  227. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
  228. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  229. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  230. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  231. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  232. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  233. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  234. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  235. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +3 -2
  236. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  237. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +3 -3
  238. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  239. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -5
  240. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  241. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  242. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  243. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
  244. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  245. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  246. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  247. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +12 -11
  248. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  249. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  250. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  251. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
  252. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  253. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  254. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  255. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  256. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  257. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  258. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  259. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  260. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  261. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  262. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
  264. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  265. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  266. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  268. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  269. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  270. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
  272. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  273. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +149 -160
  276. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  277. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
  278. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
  280. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  281. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  282. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
  284. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  285. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  286. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  288. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  289. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  290. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -2
  292. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  293. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  294. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  296. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  297. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  298. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +3 -2
  300. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  301. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  302. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +3 -2
  304. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  305. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  306. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +3 -2
  308. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  309. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  310. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
  312. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  313. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  314. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
  316. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  317. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  318. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
  320. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  321. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  322. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
  324. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  325. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  326. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  328. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  330. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/Feed.es.js +20 -19
  332. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  334. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +3 -2
  336. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  337. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +18 -3
  338. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +24 -9
  340. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  341. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  342. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +3 -2
  344. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +7 -0
  346. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +7 -0
  348. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  350. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +3 -2
  352. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  353. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  354. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +3 -2
  356. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  357. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  358. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +3 -2
  360. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  361. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  362. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +3 -2
  364. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  365. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  366. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  368. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  369. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  370. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  372. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +8 -4
  376. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +191 -183
  380. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +3 -3
  382. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +280 -57
  384. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
  388. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
  392. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +34 -32
  396. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
  400. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +10 -9
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +20 -18
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +48 -45
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +2 -0
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -0
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +239 -0
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -0
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +3 -2
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +25 -22
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -2
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
  460. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +5 -3
  464. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  466. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +57 -55
  468. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
  472. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +5 -2
  476. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  477. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  478. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
  480. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  481. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  482. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +169 -148
  484. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  485. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +23 -4
  486. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +24 -5
  488. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  489. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  490. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
  492. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  493. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  494. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  496. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  497. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  498. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +9 -8
  500. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  501. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  502. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  504. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  505. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  506. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  508. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  509. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  510. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  512. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  513. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  514. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  516. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  517. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  518. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  520. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  521. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  522. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  524. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  525. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  526. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  527. package/dist/shared/src/context/AddonProjectContext.es.js +13 -12
  528. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  529. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  530. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  531. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  532. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  533. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  534. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  535. package/dist/shared/src/context/PowerpackContext.es.js +61 -41
  536. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  537. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  538. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  539. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  540. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  541. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  542. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  543. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  544. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  545. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  546. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  547. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  548. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  549. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  550. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  551. package/dist/shared/src/hooks/useHierarchyTable.es.js +3 -2
  552. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  553. package/dist/shared/src/hooks/useQueryArgumentChangeLoading.cjs.js +2 -0
  554. package/dist/shared/src/hooks/useQueryArgumentChangeLoading.cjs.js.map +1 -0
  555. package/dist/shared/src/hooks/useQueryArgumentChangeLoading.es.js +12 -0
  556. package/dist/shared/src/hooks/useQueryArgumentChangeLoading.es.js.map +1 -0
  557. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  558. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  559. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  560. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  561. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  562. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  563. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  564. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  565. package/dist/shared/src/util/checkName.cjs.js +1 -1
  566. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  567. package/dist/shared/src/util/checkName.es.js +35 -5
  568. package/dist/shared/src/util/checkName.es.js.map +1 -1
  569. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  570. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  571. package/dist/src/components/Menu/MenuComponents/Menu.es.js +59 -35
  572. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  573. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +13 -0
  574. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -1
  575. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +13 -0
  576. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -1
  577. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  578. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  579. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +52 -36
  580. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  581. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  582. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  583. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +103 -83
  584. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  585. package/dist/types/api/generated/anatomy.d.ts +23 -0
  586. package/dist/types/api/generated/attributes.d.ts +15 -4
  587. package/dist/types/api/generated/entityLists.d.ts +102 -9
  588. package/dist/types/api/generated/graphql.d.ts +9 -1
  589. package/dist/types/api/generated/projects.d.ts +8 -0
  590. package/dist/types/api/queries/attributes/getAttributes.d.ts +1 -0
  591. package/dist/types/api/queries/attributes/updateAttributes.d.ts +162 -0
  592. package/dist/types/api/queries/entityLists/getLists.d.ts +152 -0
  593. package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +5 -0
  594. package/dist/types/api/queries/entityLists/index.d.ts +1 -0
  595. package/dist/types/api/queries/entityLists/listFolders.d.ts +613 -0
  596. package/dist/types/api/queries/entityLists/types.d.ts +3 -1
  597. package/dist/types/api/queries/entityLists/updateLists.d.ts +5 -0
  598. package/dist/types/api/queries/entityLists/updateListsAttributes.d.ts +5 -0
  599. package/dist/types/api/queries/project/getProject.d.ts +4 -305
  600. package/dist/types/api/queries/project/updateProject.d.ts +803 -0
  601. package/dist/types/api/queries/users/updateUsers.d.ts +160 -0
  602. package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
  603. package/dist/types/components/DetailsPanelDetails/BorderedSection.d.ts +5 -3
  604. package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +3 -2
  605. package/dist/types/components/DetailsPanelDetails/index.d.ts +1 -0
  606. package/dist/types/components/EnumEditor/EnumEditorItem.d.ts +13 -0
  607. package/dist/types/components/EnumEditor/index.d.ts +1 -0
  608. package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +11 -0
  609. package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
  610. package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
  611. package/dist/types/components/ListMetaData/index.d.ts +1 -0
  612. package/dist/types/components/Powerpack/PowerpackDialog.styled.d.ts +1 -0
  613. package/dist/types/components/index.d.ts +2 -0
  614. package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
  615. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +2 -0
  616. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  617. package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -2
  618. package/dist/types/containers/ProjectTreeTable/hooks/useColumnGroupBy.d.ts +10 -0
  619. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
  620. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
  621. package/dist/types/context/AddonProjectContext.d.ts +2 -1
  622. package/dist/types/context/PowerpackContext.d.ts +4 -2
  623. package/dist/types/context/index.d.ts +1 -0
  624. package/dist/types/hooks/index.d.ts +1 -0
  625. package/dist/types/hooks/useQueryArgumentChangeLoading.d.ts +9 -0
  626. package/dist/types/util/checkName.d.ts +9 -1
  627. package/dist/util.cjs.js +1 -1
  628. package/dist/util.es.js +34 -32
  629. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumnGroupBy.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useColumnGroupBy.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useColumnSettingsContext, useProjectTableContext } from '../context'\nimport { isAttribGroupable } from './useGetGroupedFields'\n\n/**\n * Encapsulates mapping a table column to a groupBy id, determining if it is eligible\n * for grouping, and providing a helper to trigger grouping.\n */\nexport const useColumnGroupBy = (columnId: string) => {\n const { updateGroupBy } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n const isAttribColumn = columnId.startsWith('attrib_')\n const attribName = isAttribColumn ? columnId.replace('attrib_', '') : undefined\n const attribField = useMemo(\n () => (isAttribColumn ? attribFields.find((f) => f.name === attribName) : undefined),\n [attribFields, isAttribColumn, attribName],\n )\n\n const targetGroupById = useMemo(() => {\n if (columnId.startsWith('attrib_')) return 'attrib.' + columnId.replace('attrib_', '')\n if (columnId === 'subType') return 'taskType'\n if (['status', 'assignees', 'tags', 'taskType'].includes(columnId)) return columnId\n return undefined\n }, [columnId])\n\n const canGroupThisColumn = useMemo(() => {\n if (!targetGroupById) return false\n if (!isAttribColumn) return true\n return !!attribField && isAttribGroupable(attribField, 'task')\n }, [attribField, isAttribColumn, targetGroupById])\n\n const groupLabel = useMemo(() => {\n if (isAttribColumn) return attribField?.data.title || attribField?.name || attribName || 'Attribute'\n if (columnId === 'status') return 'Status'\n if (columnId === 'subType') return 'Type'\n if (columnId === 'assignees') return 'Assignees'\n if (columnId === 'tags') return 'Tags'\n return 'Column'\n }, [attribField, attribName, columnId, isAttribColumn])\n\n const groupBySelectedColumn = useCallback(() => {\n if (targetGroupById) updateGroupBy({ id: targetGroupById, desc: false })\n }, [targetGroupById, updateGroupBy])\n\n return {\n targetGroupById,\n canGroupThisColumn,\n groupLabel,\n groupBySelectedColumn,\n }\n}\n\n\n"],"names":["useColumnGroupBy","columnId","updateGroupBy","useColumnSettingsContext","attribFields","useProjectTableContext","isAttribColumn","attribName","attribField","useMemo","targetGroupById","canGroupThisColumn","isAttribGroupable","groupLabel","groupBySelectedColumn","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAAA,KAAmB,CAACC,MAAqB;AAC9C,QAAA,EAAE,eAAAC,EAAc,IAAIC,EAAyB,GAC7C,EAAE,cAAAC,EAAa,IAAIC,EAAuB,GAE1CC,IAAiBL,EAAS,WAAW,SAAS,GAC9CM,IAAaD,IAAiBL,EAAS,QAAQ,WAAW,EAAE,IAAI,QAChEO,IAAcC;AAAA,IAClB,MAAOH,IAAiBF,EAAa,KAAK,CAAC,MAAM,EAAE,SAASG,CAAU,IAAI;AAAA,IAC1E,CAACH,GAAcE,GAAgBC,CAAU;AAAA,EAC3C,GAEMG,IAAkBD,EAAQ,MAAM;AAChC,QAAAR,EAAS,WAAW,SAAS,UAAU,YAAYA,EAAS,QAAQ,WAAW,EAAE;AACjF,QAAAA,MAAa,UAAkB,QAAA;AAC/B,QAAA,CAAC,UAAU,aAAa,QAAQ,UAAU,EAAE,SAASA,CAAQ,EAAU,QAAAA;AAAA,EACpE,GACN,CAACA,CAAQ,CAAC,GAEPU,IAAqBF,EAAQ,MAC5BC,IACAJ,IACE,CAAC,CAACE,KAAeI,EAAkBJ,GAAa,MAAM,IADjC,KADC,IAG5B,CAACA,GAAaF,GAAgBI,CAAe,CAAC,GAE3CG,IAAaJ,EAAQ,MACrBH,KAAuBE,KAAA,gBAAAA,EAAa,KAAK,WAASA,KAAA,gBAAAA,EAAa,SAAQD,KAAc,cACrFN,MAAa,WAAiB,WAC9BA,MAAa,YAAkB,SAC/BA,MAAa,cAAoB,cACjCA,MAAa,SAAe,SACzB,UACN,CAACO,GAAaD,GAAYN,GAAUK,CAAc,CAAC,GAEhDQ,IAAwBC,EAAY,MAAM;AAC9C,IAAIL,KAA+BR,EAAA,EAAE,IAAIQ,GAAiB,MAAM,IAAO;AAAA,EAAA,GACtE,CAACA,GAAiBR,CAAa,CAAC;AAE5B,SAAA;AAAA,IACL,iBAAAQ;AAAA,IACA,oBAAAC;AAAA,IACA,YAAAE;AAAA,IACA,uBAAAC;AAAA,EACF;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");const Le=require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");const X=require("../../../api/queries/links/getEntityLinks.cjs.js"),E=require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const u=require("react"),ve=require("../utils/loadingUtils.cjs.js"),ye=require("./useBuildGroupByTableData.cjs.js"),ze=({projectName:l,selectedFolders:h,queryFilters:c,sorting:Q,groupBy:a,taskGroups:I=[],expanded:G,showHierarchy:f,attribFields:C,modules:Y})=>{const{getGroupQueries:P,isLoading:w}=Y,{data:{folders:q=[]}={},isLoading:Z,isFetching:$,isUninitialized:j,refetch:B}=Le.useGetFolderListQuery({projectName:l||"",attrib:!0},{skip:!l}),m=Object.entries(G).filter(([,e])=>e).filter(([e])=>!ye.isGroupId(e)).map(([e])=>e),{data:p=[],isFetching:A,refetch:H,isUninitialized:ee}=E.useGetOverviewTasksByFoldersQuery({projectName:l,parentIds:m,filter:c.filterString,search:c.search},{skip:!m.length||!f}),W=!c.filterString||!q.length||!f,{data:T,isUninitialized:_,isFetching:ie,isUninitialized:se,refetch:re}=E.useGetQueryTasksFoldersQuery({projectName:l,tasksFoldersQuery:{filter:c.filter,search:c.search}},{skip:W}),te=u.useMemo(()=>{const e=new Set;return q.forEach(s=>{if(!s.parentId){e.add(s.id);return}const r=s.parentId,d=h.includes(s.id);(G[r]===!0||d)&&e.add(s.id)}),e},[q,T,W,G,h]),{data:x=[],refetch:ne,isUninitialized:ae}=X.useGetEntityLinksQuery({projectName:l,entityIds:Array.from(te),entityType:"folder"}),L=u.useMemo(()=>{const e=new Map,s=r=>{var t;return{...r,entityId:r.id,entityType:"folder",links:((t=x==null?void 0:x.find(i=>i.id===r.id))==null?void 0:t.links)||[]}};if(!_&&T&&q.length){const r=new Set;for(const i of T)r.add(i);const d=new Map;for(const i of q)d.set(i.id,i);const t=i=>{const o=d.get(i);o&&o.parentId&&(r.add(o.parentId),t(o.parentId))};for(const i of T)t(i);for(const i of q)r.has(i.id)&&e.set(i.id,s(i))}else for(const r of q)e.set(r.id,s(r));if(h.length){const r=h.map(t=>{var i;return(i=e.get(t))==null?void 0:i.path}).filter(Boolean),d=new Map;return e.forEach((t,i)=>{const o=t.path,g=o.split("/");let F=!1;for(let M=0;M<g.length;M++){const me=g.slice(0,M+1).join("/");if(r.some(xe=>xe===me)){F=!0;break}}const O=r.some(M=>o.startsWith(M+"/"));(F||O)&&d.set(i,s(t))}),d}return e},[q,T,_,h,x]),de=u.useMemo(()=>A?ve.determineLoadingTaskFolders({expandedFoldersTasks:p,expandedParentIds:m,foldersMap:L}):{},[A,p,m,L]),[S,oe]=u.useState("");u.useEffect(()=>{S&&oe("")},[Q,S]);const n={...Q[0]},v=(n==null?void 0:n.id)==="name"&&!f?"path":(n==null?void 0:n.id)==="subType"?"taskType":n==null?void 0:n.id,N=h.length?Array.from(L.keys()):void 0,{data:k,isFetching:ue,fetchNextPage:ce,hasNextPage:le,isFetchingNextPage:R,isUninitialized:fe,refetch:qe}=E.useGetTasksListInfiniteInfiniteQuery({projectName:l,filter:c.filterString,search:c.search,folderIds:N,sortBy:v?v.replace("_","."):void 0,desc:!!(n!=null&&n.desc)},{skip:f,initialPageParam:{cursor:"",desc:!!(n!=null&&n.desc)}}),y=u.useMemo(()=>k!=null&&k.pages?k.pages.flatMap(e=>e.tasks||[]):[],[k==null?void 0:k.pages]),D=u.useMemo(()=>I.reduce((e,s)=>(e[s.value]=1,e),{}),[I]),[z,J]=u.useState({});u.useEffect(()=>{const e=Object.keys(D).length>0,s=Object.keys(z).length>0;e&&!s&&J(D)},[D]);const ke=u.useMemo(()=>{var s;if(!(a!=null&&a.id))return"string";const e=a.id;if(e==="assignees"||e==="tags")return"list_of_strings";if(e.startsWith("attrib.")){const r=e.split(".")[1],d=C.find(t=>t.name===r);return((s=d==null?void 0:d.data)==null?void 0:s.type)||"string"}return"string"},[a==null?void 0:a.id,C]),K=u.useMemo(()=>a?(P==null?void 0:P({taskGroups:I,filters:c.filter,groupBy:a,groupPageCounts:z}))??[]:[],[a,I,z,ke,c.filter,P]),{data:{tasks:U=[]}={},isFetching:he,isUninitialized:pe,refetch:Te}=E.useGetGroupedTasksListQuery({projectName:l,groups:K,sortBy:v?v.replace("_","."):void 0,desc:!!(n!=null&&n.desc),search:c.search,folderIds:N},{skip:!a||!K.length||w}),V=u.useMemo(()=>{const e=f?p:a?U:y;return new Set(e.map(s=>s.id))},[p,f,y,U,a]),{data:b=[],refetch:ge,isUninitialized:Fe}=X.useGetEntityLinksQuery({projectName:l,entityIds:Array.from(V),entityType:"task"},{skip:V.size===0}),Me=e=>{a?e&&e in z&&(console.log("fetching next page for group:",e),J(s=>{const r={...s};return r[e]=(r[e]||1)+1,r})):le&&(console.log("fetching next page"),ce())},{tasksMap:Ie,tasksByFolderMap:Pe}=u.useMemo(()=>{const e=new Map,s=new Map,r=t=>{var i;return{...t,entityId:t.id,entityType:"task",links:((i=b==null?void 0:b.find(o=>o.id===t.id))==null?void 0:i.links)||[]}},d=f?p:a?U:y;for(const t of d){const i=t.id,o=t.folderId;if(e.has(i)){const g=e.get(i),F=r(t),O={...g,...F,groups:[...g.groups||[],...F.groups||[]]};e.set(i,O)}else e.set(i,r(t));s.has(o)?s.get(o).push(i):s.set(o,[i])}return{tasksMap:e,tasksByFolderMap:s}},[p,f,y,U,b]);return{foldersMap:L,tasksMap:Ie,tasksByFolderMap:Pe,isLoadingAll:Z||$||ue&&!R||ie||he||w,isLoadingMore:R,loadingTasks:de,fetchNextPage:Me,reloadTableData:()=>{j||B(),ee||H(),se||re(),fe||qe(),pe||Te(),ae||ne(),Fe||ge()}}};exports.useFetchOverviewData=ze;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");const Le=require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");const X=require("../../../api/queries/links/getEntityLinks.cjs.js"),E=require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");const u=require("react"),ve=require("../utils/loadingUtils.cjs.js"),ye=require("./useBuildGroupByTableData.cjs.js"),ze=({projectName:l,selectedFolders:h,queryFilters:c,sorting:Q,groupBy:a,taskGroups:I=[],expanded:G,showHierarchy:f,attribFields:C,modules:Y})=>{const{getGroupQueries:P,isLoading:w}=Y,{data:{folders:q=[]}={},isLoading:Z,isFetching:$,isUninitialized:j,refetch:B}=Le.useGetFolderListQuery({projectName:l||"",attrib:!0},{skip:!l}),m=Object.entries(G).filter(([,e])=>e).filter(([e])=>!ye.isGroupId(e)).map(([e])=>e),{data:p=[],isFetching:A,refetch:H,isUninitialized:ee}=E.useGetOverviewTasksByFoldersQuery({projectName:l,parentIds:m,filter:c.filterString,search:c.search},{skip:!m.length||!f}),W=!c.filterString||!q.length||!f,{data:T,isUninitialized:_,isFetching:ie,isUninitialized:se,refetch:re}=E.useGetQueryTasksFoldersQuery({projectName:l,tasksFoldersQuery:{filter:c.filter,search:c.search}},{skip:W}),te=u.useMemo(()=>{const e=new Set;return q.forEach(s=>{if(!s.parentId){e.add(s.id);return}const r=s.parentId,d=h.includes(s.id);(G[r]===!0||d)&&e.add(s.id)}),e},[q,T,W,G,h]),{data:x=[],refetch:ne,isUninitialized:ae}=X.useGetEntityLinksQuery({projectName:l,entityIds:Array.from(te),entityType:"folder"}),L=u.useMemo(()=>{const e=new Map,s=r=>{var t;return{...r,entityId:r.id,entityType:"folder",links:((t=x==null?void 0:x.find(i=>i.id===r.id))==null?void 0:t.links)||[]}};if(!_&&T&&q.length){const r=new Set;for(const i of T)r.add(i);const d=new Map;for(const i of q)d.set(i.id,i);const t=i=>{const o=d.get(i);o&&o.parentId&&(r.add(o.parentId),t(o.parentId))};for(const i of T)t(i);for(const i of q)r.has(i.id)&&e.set(i.id,s(i))}else for(const r of q)e.set(r.id,s(r));if(h.length){const r=h.map(t=>{var i;return(i=e.get(t))==null?void 0:i.path}).filter(Boolean),d=new Map;return e.forEach((t,i)=>{const o=t.path,g=o.split("/");let F=!1;for(let M=0;M<g.length;M++){const me=g.slice(0,M+1).join("/");if(r.some(xe=>xe===me)){F=!0;break}}const O=r.some(M=>o.startsWith(M+"/"));(F||O)&&d.set(i,s(t))}),d}return e},[q,T,_,h,x]),de=u.useMemo(()=>A?ve.determineLoadingTaskFolders({expandedFoldersTasks:p,expandedParentIds:m,foldersMap:L}):{},[A,p,m,L]),[S,oe]=u.useState("");u.useEffect(()=>{S&&oe("")},[Q,S]);const n={...Q[0]},v=(n==null?void 0:n.id)==="name"&&!f?"path":(n==null?void 0:n.id)==="subType"?"taskType":n==null?void 0:n.id,N=h.length?Array.from(L.keys()):void 0,{data:k,isFetching:ue,fetchNextPage:ce,hasNextPage:le,isFetchingNextPage:R,isUninitialized:fe,refetch:qe}=E.useGetTasksListInfiniteInfiniteQuery({projectName:l,filter:c.filterString,search:c.search,folderIds:N,sortBy:v?v.replace("_","."):void 0,desc:!!(n!=null&&n.desc)},{skip:f,initialPageParam:{cursor:"",desc:!!(n!=null&&n.desc)}}),y=u.useMemo(()=>k!=null&&k.pages?k.pages.flatMap(e=>e.tasks||[]):[],[k==null?void 0:k.pages]),D=u.useMemo(()=>I.reduce((e,s)=>(e[s.value]=1,e),{}),[I]),[z,J]=u.useState({});u.useEffect(()=>{const e=Object.keys(D).length>0,s=Object.keys(z).length>0;e&&!s&&J(D)},[D]);const ke=u.useMemo(()=>{var s;if(!(a!=null&&a.id))return"string";const e=a.id;if(e==="assignees"||e==="tags")return"list_of_strings";if(e.startsWith("attrib.")){const r=e.split(".")[1],d=C.find(t=>t.name===r);return((s=d==null?void 0:d.data)==null?void 0:s.type)||"string"}return"string"},[a==null?void 0:a.id,C]),K=u.useMemo(()=>a?(P==null?void 0:P({taskGroups:I,filters:c.filter,groupBy:a,groupPageCounts:z}))??[]:[],[a,I,z,ke,c.filter,P]),{data:{tasks:U=[]}={},isFetching:he,isUninitialized:pe,refetch:Te}=E.useGetGroupedTasksListQuery({projectName:l,groups:K,sortBy:v?v.replace("_","."):void 0,desc:!!(n!=null&&n.desc),search:c.search,folderIds:N},{skip:!a||!K.length||w}),V=u.useMemo(()=>{const e=f?p:a?U:y;return new Set(e.map(s=>s.id))},[p,f,y,U,a]),{data:b=[],refetch:ge,isUninitialized:Fe}=X.useGetEntityLinksQuery({projectName:l,entityIds:Array.from(V),entityType:"task"},{skip:V.size===0}),Me=e=>{a?e&&e in z&&(console.log("fetching next page for group:",e),J(s=>{const r={...s};return r[e]=(r[e]||1)+1,r})):le&&(console.log("fetching next page"),ce())},{tasksMap:Ie,tasksByFolderMap:Pe}=u.useMemo(()=>{const e=new Map,s=new Map,r=t=>{var i;return{...t,entityId:t.id,entityType:"task",links:((i=b==null?void 0:b.find(o=>o.id===t.id))==null?void 0:i.links)||[]}},d=f?p:a?U:y;for(const t of d){const i=t.id,o=t.folderId;if(e.has(i)){const g=e.get(i),F=r(t),O={...g,...F,groups:[...g.groups||[],...F.groups||[]]};e.set(i,O)}else e.set(i,r(t));s.has(o)?s.get(o).push(i):s.set(o,[i])}return{tasksMap:e,tasksByFolderMap:s}},[p,f,y,U,b]);return{foldersMap:L,tasksMap:Ie,tasksByFolderMap:Pe,isLoadingAll:Z||$||ue&&!R||ie||he||w,isLoadingMore:R,loadingTasks:de,fetchNextPage:Me,reloadTableData:()=>{j||B(),ee||H(),se||re(),fe||qe(),pe||Te(),ae||ne(),Fe||ge()}}};exports.useFetchOverviewData=ze;
2
2
  //# sourceMappingURL=useFetchOverviewData.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} from '@shared/api'\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 } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from './useProjectTableModules'\nimport { useGetEntityLinksQuery } from '@shared/api'\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 queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n queryFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // console.log('Folder count:', folders.length)\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 {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !showHierarchy\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\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 isSelectedInSlicer = selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isSelectedInSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery({\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\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 // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\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 // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\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 (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks])\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 ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\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 initGroupPageCounts = useMemo(() => {\n return taskGroups.reduce((acc, group) => {\n acc[group.value] = 1 // initialize each group with 1 count\n return acc\n }, {} as Record<string, number>)\n }, [taskGroups])\n const [groupPageCounts, setGroupPageCounts] = useState<Record<string, number>>({})\n\n // when initGroupPageCounts changes, set it to groupPageCounts\n useEffect(() => {\n const hasInitData = Object.keys(initGroupPageCounts).length > 0\n const hasCurrentData = Object.keys(groupPageCounts).length > 0\n\n if (hasInitData && !hasCurrentData) {\n setGroupPageCounts(initGroupPageCounts)\n }\n }, [initGroupPageCounts])\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\n // get the data type for the groupBy\n const groupByDataType = useMemo(() => {\n if (!groupBy?.id) return 'string'\n\n const groupById = groupBy.id\n\n // Handle special cases for built-in group types\n if (groupById === 'assignees' || groupById === 'tags') {\n return 'list_of_strings'\n }\n\n // Handle attribute-based grouping (format: \"attrib.attributeName\")\n if (groupById.startsWith('attrib.')) {\n const attributeName = groupById.split('.')[1]\n const attribute = attribFields.find((field) => field.name === attributeName)\n return attribute?.data?.type || 'string'\n }\n\n // Default fallback\n return 'string'\n }, [groupBy?.id, attribFields])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n taskGroups,\n filters: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\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: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n return new Set(allTasks.map((task) => task.id))\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy])\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,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n // fetch next page for a specific group by increasing the count in groupPageCounts\n setGroupPageCounts((prevCounts) => {\n const newCounts = { ...prevCounts }\n newCounts[group] = (newCounts[group] || 1) + 1 // increment the count for this group\n return newCounts\n })\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\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 // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\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 tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks])\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: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoading ||\n isFetchingFolders ||\n (isFetchingTasksList && !isFetchingNextPageTasksList) ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n 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","queryFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoading","isFetchingFolders","isUninitializedFolders","refetchFolders","useGetFolderListQuery","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetQueryTasksFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","_a","link","relevantFolderIds","folderId","foldersByIdMap","addParents","selectedPaths","filteredMap","folderPath","folderPathParts","isParentOrSelf","i","partialPath","p","isChild","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","useState","useEffect","singleSort","sortId","tasksFolderIdsParams","tasksListInfiniteData","isFetchingTasksList","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","initGroupPageCounts","acc","group","groupPageCounts","setGroupPageCounts","hasInitData","hasCurrentData","groupByDataType","groupById","attributeName","attribute","field","groupQueries","groupTasks","isFetchingGroups","isUninitializedGroupedTasks","refetchGroupedTasks","useGetGroupedTasksListQuery","visibleTasks","allTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","handleFetchNextPage","prevCounts","newCounts","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} from '@shared/api'\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 } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from './useProjectTableModules'\nimport { useGetEntityLinksQuery } from '@shared/api'\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 queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n queryFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // console.log('Folder count:', folders.length)\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 {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !showHierarchy\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\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 isSelectedInSlicer = selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isSelectedInSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery({\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\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 // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\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 // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\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 (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks])\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 ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\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 initGroupPageCounts = useMemo(() => {\n return taskGroups.reduce((acc, group) => {\n acc[group.value] = 1 // initialize each group with 1 count\n return acc\n }, {} as Record<string, number>)\n }, [taskGroups])\n const [groupPageCounts, setGroupPageCounts] = useState<Record<string, number>>({})\n\n // when initGroupPageCounts changes, set it to groupPageCounts\n useEffect(() => {\n const hasInitData = Object.keys(initGroupPageCounts).length > 0\n const hasCurrentData = Object.keys(groupPageCounts).length > 0\n\n if (hasInitData && !hasCurrentData) {\n setGroupPageCounts(initGroupPageCounts)\n }\n }, [initGroupPageCounts])\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\n // get the data type for the groupBy\n const groupByDataType = useMemo(() => {\n if (!groupBy?.id) return 'string'\n\n const groupById = groupBy.id\n\n // Handle special cases for built-in group types\n if (groupById === 'assignees' || groupById === 'tags') {\n return 'list_of_strings'\n }\n\n // Handle attribute-based grouping (format: \"attrib.attributeName\")\n if (groupById.startsWith('attrib.')) {\n const attributeName = groupById.split('.')[1]\n const attribute = attribFields.find((field) => field.name === attributeName)\n return attribute?.data?.type || 'string'\n }\n\n // Default fallback\n return 'string'\n }, [groupBy?.id, attribFields])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n taskGroups,\n filters: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\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: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n return new Set(allTasks.map((task) => task.id))\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy])\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,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n // fetch next page for a specific group by increasing the count in groupPageCounts\n setGroupPageCounts((prevCounts) => {\n const newCounts = { ...prevCounts }\n newCounts[group] = (newCounts[group] || 1) + 1 // increment the count for this group\n return newCounts\n })\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\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 // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\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 tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks])\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: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoading ||\n isFetchingFolders ||\n (isFetchingTasksList && !isFetchingNextPageTasksList) ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n 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","queryFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoading","isFetchingFolders","isUninitializedFolders","refetchFolders","useGetFolderListQuery","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetQueryTasksFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","_a","link","relevantFolderIds","folderId","foldersByIdMap","addParents","selectedPaths","filteredMap","folderPath","folderPathParts","isParentOrSelf","i","partialPath","p","isChild","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","useState","useEffect","singleSort","sortId","tasksFolderIdsParams","tasksListInfiniteData","isFetchingTasksList","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","initGroupPageCounts","acc","group","groupPageCounts","setGroupPageCounts","hasInitData","hasCurrentData","groupByDataType","groupById","attributeName","attribute","field","groupQueries","groupTasks","isFetchingGroups","isUninitializedGroupedTasks","refetchGroupedTasks","useGetGroupedTasksListQuery","visibleTasks","allTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","handleFetchNextPage","prevCounts","newCounts","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask"],"mappings":"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"}
@@ -54,6 +54,7 @@ import "../../../api/queries/entityLists/getLists.es.js";
54
54
  import "../../../api/queries/entityLists/updateLists.es.js";
55
55
  import "../../../api/queries/entityLists/getListsAttributes.es.js";
56
56
  import "../../../api/queries/entityLists/updateListsAttributes.es.js";
57
+ import "../../../api/queries/entityLists/listFolders.es.js";
57
58
  import { useGetFolderListQuery as Ut } from "../../../api/queries/folders/getFolders.es.js";
58
59
  import "../../../api/queries/grouping/getGrouping.es.js";
59
60
  import "../../../api/queries/links/updateLinks.es.js";
@@ -79,7 +80,7 @@ import "../../../api/queries/watchers/getWatchers.es.js";
79
80
  import { useMemo as c, useState as Y, useEffect as Z } from "react";
80
81
  import { determineLoadingTaskFolders as Gt } from "../utils/loadingUtils.es.js";
81
82
  import { isGroupId as Ct } from "./useBuildGroupByTableData.es.js";
82
- const ds = ({
83
+ const ps = ({
83
84
  projectName: f,
84
85
  selectedFolders: k,
85
86
  // comes from the slicer
@@ -327,6 +328,6 @@ const ds = ({
327
328
  };
328
329
  };
329
330
  export {
330
- ds as useFetchOverviewData
331
+ ps as useFetchOverviewData
331
332
  };
332
333
  //# sourceMappingURL=useFetchOverviewData.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} from '@shared/api'\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 } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from './useProjectTableModules'\nimport { useGetEntityLinksQuery } from '@shared/api'\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 queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n queryFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // console.log('Folder count:', folders.length)\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 {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !showHierarchy\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\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 isSelectedInSlicer = selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isSelectedInSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery({\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\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 // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\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 // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\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 (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks])\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 ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\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 initGroupPageCounts = useMemo(() => {\n return taskGroups.reduce((acc, group) => {\n acc[group.value] = 1 // initialize each group with 1 count\n return acc\n }, {} as Record<string, number>)\n }, [taskGroups])\n const [groupPageCounts, setGroupPageCounts] = useState<Record<string, number>>({})\n\n // when initGroupPageCounts changes, set it to groupPageCounts\n useEffect(() => {\n const hasInitData = Object.keys(initGroupPageCounts).length > 0\n const hasCurrentData = Object.keys(groupPageCounts).length > 0\n\n if (hasInitData && !hasCurrentData) {\n setGroupPageCounts(initGroupPageCounts)\n }\n }, [initGroupPageCounts])\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\n // get the data type for the groupBy\n const groupByDataType = useMemo(() => {\n if (!groupBy?.id) return 'string'\n\n const groupById = groupBy.id\n\n // Handle special cases for built-in group types\n if (groupById === 'assignees' || groupById === 'tags') {\n return 'list_of_strings'\n }\n\n // Handle attribute-based grouping (format: \"attrib.attributeName\")\n if (groupById.startsWith('attrib.')) {\n const attributeName = groupById.split('.')[1]\n const attribute = attribFields.find((field) => field.name === attributeName)\n return attribute?.data?.type || 'string'\n }\n\n // Default fallback\n return 'string'\n }, [groupBy?.id, attribFields])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n taskGroups,\n filters: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\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: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n return new Set(allTasks.map((task) => task.id))\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy])\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,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n // fetch next page for a specific group by increasing the count in groupPageCounts\n setGroupPageCounts((prevCounts) => {\n const newCounts = { ...prevCounts }\n newCounts[group] = (newCounts[group] || 1) + 1 // increment the count for this group\n return newCounts\n })\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\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 // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\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 tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks])\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: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoading ||\n isFetchingFolders ||\n (isFetchingTasksList && !isFetchingNextPageTasksList) ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n 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","queryFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoading","isFetchingFolders","isUninitializedFolders","refetchFolders","useGetFolderListQuery","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetQueryTasksFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","_a","link","relevantFolderIds","folderId","foldersByIdMap","addParents","selectedPaths","filteredMap","folderPath","folderPathParts","isParentOrSelf","i","partialPath","p","isChild","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","useState","useEffect","singleSort","sortId","tasksFolderIdsParams","tasksListInfiniteData","isFetchingTasksList","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","initGroupPageCounts","acc","group","groupPageCounts","setGroupPageCounts","hasInitData","hasCurrentData","groupByDataType","groupById","attributeName","attribute","field","groupQueries","groupTasks","isFetchingGroups","isUninitializedGroupedTasks","refetchGroupedTasks","useGetGroupedTasksListQuery","visibleTasks","allTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","handleFetchNextPage","prevCounts","newCounts","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} from '@shared/api'\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 } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from './useProjectTableModules'\nimport { useGetEntityLinksQuery } from '@shared/api'\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 queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n queryFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // console.log('Folder count:', folders.length)\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 {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !showHierarchy\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\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 isSelectedInSlicer = selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isSelectedInSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery({\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\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 // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\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 // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\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 (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks])\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 ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\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 initGroupPageCounts = useMemo(() => {\n return taskGroups.reduce((acc, group) => {\n acc[group.value] = 1 // initialize each group with 1 count\n return acc\n }, {} as Record<string, number>)\n }, [taskGroups])\n const [groupPageCounts, setGroupPageCounts] = useState<Record<string, number>>({})\n\n // when initGroupPageCounts changes, set it to groupPageCounts\n useEffect(() => {\n const hasInitData = Object.keys(initGroupPageCounts).length > 0\n const hasCurrentData = Object.keys(groupPageCounts).length > 0\n\n if (hasInitData && !hasCurrentData) {\n setGroupPageCounts(initGroupPageCounts)\n }\n }, [initGroupPageCounts])\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\n // get the data type for the groupBy\n const groupByDataType = useMemo(() => {\n if (!groupBy?.id) return 'string'\n\n const groupById = groupBy.id\n\n // Handle special cases for built-in group types\n if (groupById === 'assignees' || groupById === 'tags') {\n return 'list_of_strings'\n }\n\n // Handle attribute-based grouping (format: \"attrib.attributeName\")\n if (groupById.startsWith('attrib.')) {\n const attributeName = groupById.split('.')[1]\n const attribute = attribFields.find((field) => field.name === attributeName)\n return attribute?.data?.type || 'string'\n }\n\n // Default fallback\n return 'string'\n }, [groupBy?.id, attribFields])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n taskGroups,\n filters: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\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: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n return new Set(allTasks.map((task) => task.id))\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy])\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,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n // fetch next page for a specific group by increasing the count in groupPageCounts\n setGroupPageCounts((prevCounts) => {\n const newCounts = { ...prevCounts }\n newCounts[group] = (newCounts[group] || 1) + 1 // increment the count for this group\n return newCounts\n })\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\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 // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\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 tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks])\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: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoading ||\n isFetchingFolders ||\n (isFetchingTasksList && !isFetchingNextPageTasksList) ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n 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","queryFilters","sorting","groupBy","taskGroups","expanded","showHierarchy","attribFields","modules","getGroupQueries","isLoadingModules","folders","isLoading","isFetchingFolders","isUninitializedFolders","refetchFolders","useGetFolderListQuery","expandedParentIds","isExpanded","id","isGroupId","expandedFoldersTasks","isFetchingExpandedFoldersTasks","refetchExpandedFoldersTasks","isUninitializedExpandedFoldersTasks","useGetOverviewTasksByFoldersQuery","skipFoldersByTaskFilter","foldersByTaskFilter","isUninitialized","isFetchingTasksFolders","isUninitializedTasksFolders","refetchTasksFolders","useGetQueryTasksFoldersQuery","visibleFolders","useMemo","visibleSet","folder","parentId","isSelectedInSlicer","foldersLinks","refetchFoldersLinks","isUninitializedFoldersLinks","useGetEntityLinksQuery","foldersMap","map","addExtraDataToFolder","_a","link","relevantFolderIds","folderId","foldersByIdMap","addParents","selectedPaths","filteredMap","folderPath","folderPathParts","isParentOrSelf","i","partialPath","p","isChild","selectedPath","loadingTasksForParents","determineLoadingTaskFolders","tasksListCursor","setTasksListCursor","useState","useEffect","singleSort","sortId","tasksFolderIdsParams","tasksListInfiniteData","isFetchingTasksList","fetchNextPage","hasNextPage","isFetchingNextPageTasksList","isUninitializedTasksList","refetchTasksList","useGetTasksListInfiniteInfiniteQuery","tasksList","page","initGroupPageCounts","acc","group","groupPageCounts","setGroupPageCounts","hasInitData","hasCurrentData","groupByDataType","groupById","attributeName","attribute","field","groupQueries","groupTasks","isFetchingGroups","isUninitializedGroupedTasks","refetchGroupedTasks","useGetGroupedTasksListQuery","visibleTasks","allTasks","task","tasksLinks","refetchTasksLinks","isUninitializedTasksLinks","handleFetchNextPage","prevCounts","newCounts","tasksMap","tasksByFolderMap","addExtraDataToTask","taskId","existingTask","currentTask","mergedTask"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react");require("react-toastify");require("lodash");const q=require("../../../util/getAttributeIcon.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.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("clsx");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../ProjectTreeTable.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const d=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const g=require("../context/ColumnSettingsContext.cjs.js"),a=["string","integer","float"],l=(r,t,i,s)=>{var u;return(i||a).includes(r.data.type)&&((u=r.scope)==null?void 0:u.includes(t))?s?!!r.data.enum&&r.data.enum.length>0:!0:!1},b=(r,t)=>{const{columnOrder:i}=g.useColumnSettingsContext(),{attribFields:s}=d.useProjectTableContext();return c.useMemo(()=>[{value:"taskType",label:"Task Type",icon:q.getAttributeIcon("task")},{value:"assignees",label:"Assignees",icon:q.getAttributeIcon("assignees")},{value:"status",label:"Status",icon:q.getAttributeIcon("status")},{value:"tags",label:"Tags",icon:q.getAttributeIcon("tags")},...s.filter(e=>l(e,"task",r,t)).map(e=>({value:"attrib."+e.name,label:e.data.title||e.name,icon:q.getAttributeIcon(e.name)}))].sort((e,o)=>{const u=i.indexOf(e.value),n=i.indexOf(o.value);return u===-1&&n===-1?0:u===-1?1:n===-1?-1:u-n}),[s,i,r,t])};exports.allowedGroupByFields=a;exports.isAttribGroupable=l;exports.useGetGroupedFields=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react");require("react-toastify");require("lodash");const q=require("../../../util/getAttributeIcon.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("@ynput/ayon-react-components");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.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("clsx");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../ProjectTreeTable.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const d=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const g=require("../context/ColumnSettingsContext.cjs.js"),a=["string","integer","float"],l=(r,t,i,s)=>{var u;return(i||a).includes(r.data.type)&&((u=r.scope)==null?void 0:u.includes(t))?s?!!r.data.enum&&r.data.enum.length>0:!0:!1},b=(r,t)=>{const{columnOrder:i}=g.useColumnSettingsContext(),{attribFields:s}=d.useProjectTableContext();return c.useMemo(()=>[{value:"taskType",label:"Task Type",icon:q.getAttributeIcon("task")},{value:"assignees",label:"Assignees",icon:q.getAttributeIcon("assignees")},{value:"status",label:"Status",icon:q.getAttributeIcon("status")},{value:"tags",label:"Tags",icon:q.getAttributeIcon("tags")},...s.filter(e=>l(e,"task",r,t)).map(e=>({value:"attrib."+e.name,label:e.data.title||e.name,icon:q.getAttributeIcon(e.name)}))].sort((e,o)=>{const u=i.indexOf(e.value),n=i.indexOf(o.value);return u===-1&&n===-1?0:u===-1?1:n===-1?-1:u-n}),[s,i,r,t])};exports.allowedGroupByFields=a;exports.isAttribGroupable=l;exports.useGetGroupedFields=b;
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'\nimport { EntityGrouping } from '@shared/api'\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: EntityGrouping['entityType'],\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType = typesToCheck.includes(attrib.data.type) && attrib.scope?.includes(entityType)\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?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'taskType',\n label: 'Task Type',\n icon: getAttributeIcon('task'),\n },\n {\n value: 'assignees',\n label: 'Assignees',\n icon: getAttributeIcon('assignees'),\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, 'task', allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\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],\n )\n}\n"],"names":["allowedGroupByFields","isAttribGroupable","attrib","entityType","allowedTypes","enumOnly","_a","useGetGroupedFields","columnOrder","useColumnSettingsContext","attribFields","useProjectTableContext","useMemo","getAttributeIcon","field","a","b","indexA","indexB"],"mappings":"w1XAOaA,EAAuB,CAAC,SAAU,UAAW,OAAO,EACpDC,EAAoB,CAC/BC,EACAC,EACAC,EACAC,IACG,OAIC,OAHiBD,GAAgBJ,GACH,SAASE,EAAO,KAAK,IAAI,KAAKI,EAAAJ,EAAO,QAAP,YAAAI,EAAc,SAASH,IAGnFE,EAAiB,CAAC,CAACH,EAAO,KAAK,MAAQA,EAAO,KAAK,KAAK,OAAS,EAE9D,GAHmB,EAI5B,EAEaK,EAAsB,CACjCH,EACAC,IACG,CACG,KAAA,CAAE,YAAAG,CAAY,EAAIC,2BAAyB,EAC3C,CAAE,aAAAC,CAAa,EAAIC,yBAAuB,EAEzC,OAAAC,EAAA,QACL,IACE,CACE,CACE,MAAO,WACP,MAAO,YACP,KAAMC,mBAAiB,MAAM,CAC/B,EACA,CACE,MAAO,YACP,MAAO,YACP,KAAMA,mBAAiB,WAAW,CACpC,EACA,CACE,MAAO,SACP,MAAO,SACP,KAAMA,mBAAiB,QAAQ,CACjC,EACA,CACE,MAAO,OACP,MAAO,OACP,KAAMA,mBAAiB,MAAM,CAC/B,EACA,GAAGH,EACA,OAAQR,GAAWD,EAAkBC,EAAQ,OAAQE,EAAcC,CAAQ,CAAC,EAC5E,IAAKS,IAAW,CACf,MAAO,UAAYA,EAAM,KACzB,MAAOA,EAAM,KAAK,OAASA,EAAM,KACjC,KAAMD,EAAAA,iBAAiBC,EAAM,IAAI,CAAA,EACjC,CAAA,EACJ,KAAK,CAACC,EAAGC,IAAM,CACf,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,CAAA,CACjB,EACH,CAACR,EAAcF,EAAaJ,EAAcC,CAAQ,CACpD,CACF"}
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'\nimport { EntityGrouping } from '@shared/api'\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: EntityGrouping['entityType'],\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType = typesToCheck.includes(attrib.data.type) && attrib.scope?.includes(entityType)\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?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'taskType',\n label: 'Task Type',\n icon: getAttributeIcon('task'),\n },\n {\n value: 'assignees',\n label: 'Assignees',\n icon: getAttributeIcon('assignees'),\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, 'task', allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\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],\n )\n}\n"],"names":["allowedGroupByFields","isAttribGroupable","attrib","entityType","allowedTypes","enumOnly","_a","useGetGroupedFields","columnOrder","useColumnSettingsContext","attribFields","useProjectTableContext","useMemo","getAttributeIcon","field","a","b","indexA","indexB"],"mappings":"+gYAOaA,EAAuB,CAAC,SAAU,UAAW,OAAO,EACpDC,EAAoB,CAC/BC,EACAC,EACAC,EACAC,IACG,OAIC,OAHiBD,GAAgBJ,GACH,SAASE,EAAO,KAAK,IAAI,KAAKI,EAAAJ,EAAO,QAAP,YAAAI,EAAc,SAASH,IAGnFE,EAAiB,CAAC,CAACH,EAAO,KAAK,MAAQA,EAAO,KAAK,KAAK,OAAS,EAE9D,GAHmB,EAI5B,EAEaK,EAAsB,CACjCH,EACAC,IACG,CACG,KAAA,CAAE,YAAAG,CAAY,EAAIC,2BAAyB,EAC3C,CAAE,aAAAC,CAAa,EAAIC,yBAAuB,EAEzC,OAAAC,EAAA,QACL,IACE,CACE,CACE,MAAO,WACP,MAAO,YACP,KAAMC,mBAAiB,MAAM,CAC/B,EACA,CACE,MAAO,YACP,MAAO,YACP,KAAMA,mBAAiB,WAAW,CACpC,EACA,CACE,MAAO,SACP,MAAO,SACP,KAAMA,mBAAiB,QAAQ,CACjC,EACA,CACE,MAAO,OACP,MAAO,OACP,KAAMA,mBAAiB,MAAM,CAC/B,EACA,GAAGH,EACA,OAAQR,GAAWD,EAAkBC,EAAQ,OAAQE,EAAcC,CAAQ,CAAC,EAC5E,IAAKS,IAAW,CACf,MAAO,UAAYA,EAAM,KACzB,MAAOA,EAAM,KAAK,OAASA,EAAM,KACjC,KAAMD,EAAAA,iBAAiBC,EAAM,IAAI,CAAA,EACjC,CAAA,EACJ,KAAK,CAACC,EAAGC,IAAM,CACf,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,CAAA,CACjB,EACH,CAACR,EAAcF,EAAaJ,EAAcC,CAAQ,CACpD,CACF"}
@@ -77,6 +77,7 @@ import "../../../api/queries/entityLists/getLists.es.js";
77
77
  import "../../../api/queries/entityLists/updateLists.es.js";
78
78
  import "../../../api/queries/entityLists/getListsAttributes.es.js";
79
79
  import "../../../api/queries/entityLists/updateListsAttributes.es.js";
80
+ import "../../../api/queries/entityLists/listFolders.es.js";
80
81
  import "../../../api/queries/folders/getFolders.es.js";
81
82
  import "../../../api/queries/grouping/getGrouping.es.js";
82
83
  import "../../../api/queries/links/updateLinks.es.js";
@@ -117,6 +118,7 @@ import "../../../context/AddonProjectContext.es.js";
117
118
  import "../../../context/AddonContext.es.js";
118
119
  import "../../../context/PowerpackContext.es.js";
119
120
  import "../../../context/MoveEntityContext.es.js";
121
+ import "../../../context/MenuContext.es.js";
120
122
  import "../../../components/ReviewableCard/ReviewableCard.es.js";
121
123
  import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
122
124
  import "../../../components/FileThumbnail/FileThumbnail.es.js";
@@ -185,6 +187,7 @@ import "../../../components/EntityPath/EntityPath.styled.es.js";
185
187
  import "../../../components/EntityPath/SegmentProvider.es.js";
186
188
  import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
187
189
  import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
190
+ import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
188
191
  import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
189
192
  import "../../../components/Watchers/Watchers.es.js";
190
193
  import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
@@ -215,7 +218,7 @@ import { useColumnSettingsContext as l } from "../context/ColumnSettingsContext.
215
218
  const c = ["string", "integer", "float"], d = (o, p, i, e) => {
216
219
  var r;
217
220
  return (i || c).includes(o.data.type) && ((r = o.scope) == null ? void 0 : r.includes(p)) ? e ? !!o.data.enum && o.data.enum.length > 0 : !0 : !1;
218
- }, di = (o, p) => {
221
+ }, bi = (o, p) => {
219
222
  const { columnOrder: i } = l(), { attribFields: e } = u();
220
223
  return n(
221
224
  () => [
@@ -254,6 +257,6 @@ const c = ["string", "integer", "float"], d = (o, p, i, e) => {
254
257
  export {
255
258
  c as allowedGroupByFields,
256
259
  d as isAttribGroupable,
257
- di as useGetGroupedFields
260
+ bi as useGetGroupedFields
258
261
  };
259
262
  //# 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'\nimport { EntityGrouping } from '@shared/api'\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: EntityGrouping['entityType'],\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType = typesToCheck.includes(attrib.data.type) && attrib.scope?.includes(entityType)\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?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'taskType',\n label: 'Task Type',\n icon: getAttributeIcon('task'),\n },\n {\n value: 'assignees',\n label: 'Assignees',\n icon: getAttributeIcon('assignees'),\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, 'task', allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\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],\n )\n}\n"],"names":["allowedGroupByFields","isAttribGroupable","attrib","entityType","allowedTypes","enumOnly","_a","useGetGroupedFields","columnOrder","useColumnSettingsContext","attribFields","useProjectTableContext","useMemo","getAttributeIcon","field","a","b","indexA","indexB"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,IAAuB,CAAC,UAAU,WAAW,OAAO,GACpDC,IAAoB,CAC/BC,GACAC,GACAC,GACAC,MACG;;AAIC,UAHiBD,KAAgBJ,GACH,SAASE,EAAO,KAAK,IAAI,OAAKI,IAAAJ,EAAO,UAAP,gBAAAI,EAAc,SAASH,MAGnFE,IAAiB,CAAC,CAACH,EAAO,KAAK,QAAQA,EAAO,KAAK,KAAK,SAAS,IAE9D,KAHmB;AAI5B,GAEaK,KAAsB,CACjCH,GACAC,MACG;AACG,QAAA,EAAE,aAAAG,EAAY,IAAIC,EAAyB,GAC3C,EAAE,cAAAC,EAAa,IAAIC,EAAuB;AAEzC,SAAAC;AAAA,IACL,MACE;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMC,EAAiB,MAAM;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,WAAW;AAAA,MACpC;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,QAAQ;AAAA,MACjC;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,MAAM;AAAA,MAC/B;AAAA,MACA,GAAGH,EACA,OAAO,CAACR,MAAWD,EAAkBC,GAAQ,QAAQE,GAAcC,CAAQ,CAAC,EAC5E,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,EACJ,KAAK,CAACC,GAAGC,MAAM;AACf,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,IAAA,CACjB;AAAA,IACH,CAACR,GAAcF,GAAaJ,GAAcC,CAAQ;AAAA,EACpD;AACF;"}
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'\nimport { EntityGrouping } from '@shared/api'\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: EntityGrouping['entityType'],\n allowedTypes?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const typesToCheck = allowedTypes || allowedGroupByFields\n const hasValidType = typesToCheck.includes(attrib.data.type) && attrib.scope?.includes(entityType)\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?: ('string' | 'integer' | 'float')[],\n enumOnly?: boolean,\n) => {\n const { columnOrder } = useColumnSettingsContext()\n const { attribFields } = useProjectTableContext()\n\n return useMemo(\n () =>\n [\n {\n value: 'taskType',\n label: 'Task Type',\n icon: getAttributeIcon('task'),\n },\n {\n value: 'assignees',\n label: 'Assignees',\n icon: getAttributeIcon('assignees'),\n },\n {\n value: 'status',\n label: 'Status',\n icon: getAttributeIcon('status'),\n },\n {\n value: 'tags',\n label: 'Tags',\n icon: getAttributeIcon('tags'),\n },\n ...attribFields\n .filter((attrib) => isAttribGroupable(attrib, 'task', allowedTypes, enumOnly))\n .map((field) => ({\n value: 'attrib.' + field.name,\n label: field.data.title || field.name,\n icon: getAttributeIcon(field.name),\n })),\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],\n )\n}\n"],"names":["allowedGroupByFields","isAttribGroupable","attrib","entityType","allowedTypes","enumOnly","_a","useGetGroupedFields","columnOrder","useColumnSettingsContext","attribFields","useProjectTableContext","useMemo","getAttributeIcon","field","a","b","indexA","indexB"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,IAAuB,CAAC,UAAU,WAAW,OAAO,GACpDC,IAAoB,CAC/BC,GACAC,GACAC,GACAC,MACG;;AAIC,UAHiBD,KAAgBJ,GACH,SAASE,EAAO,KAAK,IAAI,OAAKI,IAAAJ,EAAO,UAAP,gBAAAI,EAAc,SAASH,MAGnFE,IAAiB,CAAC,CAACH,EAAO,KAAK,QAAQA,EAAO,KAAK,KAAK,SAAS,IAE9D,KAHmB;AAI5B,GAEaK,KAAsB,CACjCH,GACAC,MACG;AACG,QAAA,EAAE,aAAAG,EAAY,IAAIC,EAAyB,GAC3C,EAAE,cAAAC,EAAa,IAAIC,EAAuB;AAEzC,SAAAC;AAAA,IACL,MACE;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMC,EAAiB,MAAM;AAAA,MAC/B;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,WAAW;AAAA,MACpC;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,QAAQ;AAAA,MACjC;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAMA,EAAiB,MAAM;AAAA,MAC/B;AAAA,MACA,GAAGH,EACA,OAAO,CAACR,MAAWD,EAAkBC,GAAQ,QAAQE,GAAcC,CAAQ,CAAC,EAC5E,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,EACJ,KAAK,CAACC,GAAGC,MAAM;AACf,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,IAAA,CACjB;AAAA,IACH,CAACR,GAAcF,GAAaJ,GAAcC,CAAQ;AAAA,EACpD;AACF;"}