@ynput/ayon-frontend-shared 0.2.36 → 0.2.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +68 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +182 -167
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js +1 -1
  8. package/dist/Views.cjs.js.map +1 -1
  9. package/dist/Views.es.js +25 -24
  10. package/dist/Views.es.js.map +1 -1
  11. package/dist/_virtual/index.cjs10.js +1 -1
  12. package/dist/_virtual/index.cjs11.js +1 -1
  13. package/dist/_virtual/index.cjs12.js +1 -1
  14. package/dist/_virtual/index.cjs2.js +1 -1
  15. package/dist/_virtual/index.cjs3.js +1 -1
  16. package/dist/_virtual/index.cjs5.js +1 -1
  17. package/dist/_virtual/index.es10.js +3 -3
  18. package/dist/_virtual/index.es11.js +5 -5
  19. package/dist/_virtual/index.es12.js +5 -5
  20. package/dist/_virtual/index.es2.js +2 -5
  21. package/dist/_virtual/index.es2.js.map +1 -1
  22. package/dist/_virtual/index.es3.js +5 -2
  23. package/dist/_virtual/index.es3.js.map +1 -1
  24. package/dist/_virtual/index.es4.js +2 -2
  25. package/dist/_virtual/index.es5.js +2 -2
  26. package/dist/api.cjs.js +1 -1
  27. package/dist/api.es.js +107 -106
  28. package/dist/components.cjs.js +1 -1
  29. package/dist/components.es.js +135 -133
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/context.cjs.js +1 -1
  32. package/dist/context.es.js +32 -26
  33. package/dist/context.es.js.map +1 -1
  34. package/dist/index.cjs.js +1 -1
  35. package/dist/index.es.js +54 -52
  36. package/dist/index.es.js.map +1 -1
  37. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  38. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  41. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  43. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  44. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  45. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  46. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  47. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  48. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  49. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  51. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  52. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  53. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  54. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  55. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/authentication.cjs.js.map +1 -1
  60. package/dist/shared/src/api/generated/authentication.es.js.map +1 -1
  61. package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
  62. package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/entityLists.cjs.js +1 -1
  64. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  65. package/dist/shared/src/api/generated/entityLists.es.js +88 -84
  66. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/graphql.cjs.js +22 -20
  68. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/graphql.es.js +34 -32
  70. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  71. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  72. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  73. package/dist/shared/src/api/generated/onboarding.cjs.js.map +1 -1
  74. package/dist/shared/src/api/generated/onboarding.es.js.map +1 -1
  75. package/dist/shared/src/api/generated/products.cjs.js.map +1 -1
  76. package/dist/shared/src/api/generated/products.es.js.map +1 -1
  77. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  78. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  79. package/dist/shared/src/api/generated/system.cjs.js +1 -1
  80. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  81. package/dist/shared/src/api/generated/system.es.js +3 -0
  82. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  83. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  84. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  85. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  86. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/ynputCloud.cjs.js +1 -1
  88. package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
  89. package/dist/shared/src/api/generated/ynputCloud.es.js +6 -1
  90. package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
  91. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  92. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/project/getProject.es.js +7 -1
  94. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  95. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  96. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +73 -67
  100. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  102. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  103. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  104. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +131 -114
  106. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  107. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  108. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  109. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +129 -122
  110. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  111. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  112. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  113. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  114. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  115. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  116. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  117. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  118. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  119. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  120. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  121. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +61 -50
  122. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  123. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  124. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  125. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +6 -4
  126. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  127. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  128. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  129. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +70 -68
  130. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  131. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  132. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  133. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -5
  134. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  135. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  136. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  137. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +119 -112
  138. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  139. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  140. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  141. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +106 -105
  142. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  143. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  144. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  145. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +54 -52
  146. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  147. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  148. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  149. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +58 -46
  150. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  151. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  152. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  153. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +11 -9
  154. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  155. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  156. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  157. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +45 -43
  158. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  159. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  160. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  161. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +79 -77
  162. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  163. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  164. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  165. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +44 -42
  166. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  167. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +2 -0
  168. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -0
  169. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +263 -0
  170. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -0
  171. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +2 -2
  172. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  173. package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -64
  174. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  175. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  176. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +140 -142
  178. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  180. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  181. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +50 -48
  182. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  183. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  184. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  185. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +49 -47
  186. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  187. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js +1 -1
  188. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.cjs.js.map +1 -1
  189. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js +19 -27
  190. package/dist/shared/src/components/ReviewablesList/getGroupedReviewables.es.js.map +1 -1
  191. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  192. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  193. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +321 -258
  194. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  195. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  196. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  197. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +27 -25
  198. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  199. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  200. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  201. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +48 -46
  202. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  203. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  204. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  205. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +9 -7
  206. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  207. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -6
  208. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  209. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +109 -112
  210. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  211. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  212. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  213. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +22 -23
  214. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  215. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  216. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +49 -47
  218. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  219. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  220. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  222. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  223. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  224. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +50 -48
  226. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +162 -160
  230. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +58 -56
  234. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +112 -103
  238. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +88 -86
  242. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  246. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +19 -17
  250. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +36 -32
  254. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js +25 -22
  258. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +17 -15
  262. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  263. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  264. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +45 -43
  266. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  267. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  268. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +49 -47
  270. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  271. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +49 -47
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  275. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +49 -47
  278. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  280. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +45 -46
  282. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  284. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/Feed.es.js +5 -3
  286. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  288. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  290. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  291. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +9 -7
  294. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  296. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +110 -108
  298. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  300. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  302. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  304. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +10 -8
  306. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  308. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +13 -11
  310. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  312. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +42 -41
  314. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  316. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +46 -42
  318. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  320. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +11 -9
  322. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +335 -329
  326. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +54 -52
  330. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  332. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +43 -41
  334. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +53 -51
  338. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +51 -49
  342. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  344. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +235 -214
  346. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +45 -40
  350. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +160 -156
  356. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +59 -57
  360. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +26 -90
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +69 -69
  368. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +111 -111
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +58 -57
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +51 -49
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +60 -53
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +15 -20
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +68 -66
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +63 -59
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +51 -49
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +52 -50
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +67 -65
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +4 -4
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +55 -53
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +130 -116
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +58 -56
  428. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +26 -34
  432. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  434. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +122 -233
  436. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +64 -62
  440. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +47 -45
  444. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +3 -3
  446. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +58 -62
  448. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  449. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  450. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +114 -112
  452. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  453. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  454. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +49 -47
  456. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  457. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  458. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  460. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  461. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  462. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +8 -6
  464. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  465. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  466. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +100 -94
  468. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  469. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  470. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  472. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  473. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  474. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  476. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  477. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  478. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +9 -9
  480. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  481. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  482. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +40 -35
  484. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  485. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  486. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  487. package/dist/shared/src/context/AddonProjectContext.es.js +8 -7
  488. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  489. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  490. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  491. package/dist/shared/src/context/DetailsPanelContext.es.js +76 -76
  492. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  493. package/dist/shared/src/context/GlobalContext.cjs.js +2 -0
  494. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -0
  495. package/dist/shared/src/context/GlobalContext.es.js +123 -0
  496. package/dist/shared/src/context/GlobalContext.es.js.map +1 -0
  497. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  498. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  499. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  500. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  501. package/dist/shared/src/context/ProjectContext.cjs.js +2 -0
  502. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -0
  503. package/dist/shared/src/context/ProjectContext.es.js +182 -0
  504. package/dist/shared/src/context/ProjectContext.es.js.map +1 -0
  505. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  506. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  507. package/dist/shared/src/context/RemoteModulesContext.es.js +35 -34
  508. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  509. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  510. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  511. package/dist/shared/src/context/WebsocketContext.es.js +48 -46
  512. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  513. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  514. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  515. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  516. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  517. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  518. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  519. package/dist/shared/src/hooks/useGetEntityGroups.es.js +6 -5
  520. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  521. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  522. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  523. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  524. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  525. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  526. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  527. package/dist/shared/src/hooks/useUserProjectConfig.es.js +27 -12
  528. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  529. package/dist/shared/src/util/versionUploadHelpers.cjs.js +1 -1
  530. package/dist/shared/src/util/versionUploadHelpers.cjs.js.map +1 -1
  531. package/dist/shared/src/util/versionUploadHelpers.es.js +24 -34
  532. package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -1
  533. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +1 -1
  534. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -1
  535. package/dist/src/components/Menu/MenuComponents/Menu.es.js +4 -2
  536. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -1
  537. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +1 -1
  538. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -1
  539. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +7 -5
  540. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -1
  541. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +1 -1
  542. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -1
  543. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +18 -16
  544. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -1
  545. package/dist/types/api/generated/actions.d.ts +2 -0
  546. package/dist/types/api/generated/attributes.d.ts +20 -5
  547. package/dist/types/api/generated/authentication.d.ts +2 -0
  548. package/dist/types/api/generated/configuration.d.ts +3 -1
  549. package/dist/types/api/generated/entityLists.d.ts +22 -5
  550. package/dist/types/api/generated/enums.d.ts +36 -0
  551. package/dist/types/api/generated/graphql.d.ts +9 -2
  552. package/dist/types/api/generated/graphqlLinks.d.ts +3 -0
  553. package/dist/types/api/generated/onboarding.d.ts +1 -0
  554. package/dist/types/api/generated/products.d.ts +9 -3
  555. package/dist/types/api/generated/projects.d.ts +4 -4
  556. package/dist/types/api/generated/system.d.ts +27 -5
  557. package/dist/types/api/generated/users.d.ts +2 -0
  558. package/dist/types/api/generated/views.d.ts +40 -5
  559. package/dist/types/api/generated/ynputCloud.d.ts +7 -20
  560. package/dist/types/api/queries/actions/getActions.d.ts +6 -6
  561. package/dist/types/api/queries/activities/getActivities.d.ts +10 -8
  562. package/dist/types/api/queries/activities/getCategories.d.ts +2 -2
  563. package/dist/types/api/queries/activities/getMentions.d.ts +2 -2
  564. package/dist/types/api/queries/activities/updateActivities.d.ts +4 -0
  565. package/dist/types/api/queries/addons/getAddons.d.ts +8 -8
  566. package/dist/types/api/queries/attributes/getAttributes.d.ts +4 -4
  567. package/dist/types/api/queries/authentication/getAuthentication.d.ts +2 -2
  568. package/dist/types/api/queries/cloud/cloud.d.ts +21 -21
  569. package/dist/types/api/queries/entities/getEntity.d.ts +12 -10
  570. package/dist/types/api/queries/entities/getEntityPanel.d.ts +6 -4
  571. package/dist/types/api/queries/entities/updateEntity.d.ts +2 -0
  572. package/dist/types/api/queries/entityLists/getLists.d.ts +190 -188
  573. package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +2 -2
  574. package/dist/types/api/queries/entityLists/listFolders.d.ts +2 -2
  575. package/dist/types/api/queries/folders/getFolders.d.ts +4 -4
  576. package/dist/types/api/queries/grouping/getGrouping.d.ts +2 -2
  577. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -2
  578. package/dist/types/api/queries/overview/getOverview.d.ts +12 -10
  579. package/dist/types/api/queries/permissions/getPermissions.d.ts +4 -4
  580. package/dist/types/api/queries/project/getProject.d.ts +190 -6
  581. package/dist/types/api/queries/review/getReview.d.ts +6 -6
  582. package/dist/types/api/queries/share/share.d.ts +2 -2
  583. package/dist/types/api/queries/system/getSystem.d.ts +91 -81
  584. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +13 -8
  585. package/dist/types/api/queries/users/getUsers.d.ts +63 -57
  586. package/dist/types/api/queries/users/guests.d.ts +2 -2
  587. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +29 -6
  588. package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +5 -5
  589. package/dist/types/api/queries/versions/updateVersions.d.ts +2 -2
  590. package/dist/types/api/queries/views/getViews.d.ts +8 -8
  591. package/dist/types/api/queries/watchers/getWatchers.d.ts +2 -2
  592. package/dist/types/components/DetailsPanelDetails/hooks/index.d.ts +0 -1
  593. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +29 -0
  594. package/dist/types/components/RemotePage/index.d.ts +1 -0
  595. package/dist/types/components/ReviewablesList/getGroupedReviewables.d.ts +1 -2
  596. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +2 -1
  597. package/dist/types/components/index.d.ts +31 -30
  598. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +3 -2
  599. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +3 -0
  600. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +4 -2
  601. package/dist/types/containers/Feed/context/FeedContext.d.ts +4 -3
  602. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -1
  603. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +0 -5
  604. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -4
  605. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +1 -7
  606. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +2 -3
  607. package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +1 -3
  608. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +5 -3
  609. package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +1 -1
  610. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -0
  611. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +3 -2
  612. package/dist/types/containers/Views/index.d.ts +2 -2
  613. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +6 -10
  614. package/dist/types/context/AddonProjectContext.d.ts +9 -14
  615. package/dist/types/context/DetailsPanelContext.d.ts +1 -2
  616. package/dist/types/context/GlobalContext.d.ts +25 -0
  617. package/dist/types/context/ProjectContext.d.ts +33 -0
  618. package/dist/types/context/index.d.ts +2 -0
  619. package/dist/types/hooks/useGroupByRemoteModules.d.ts +2 -1
  620. package/dist/types/util/index.d.ts +0 -2
  621. package/dist/types/util/versionUploadHelpers.d.ts +0 -1
  622. package/dist/util.cjs.js +1 -1
  623. package/dist/util.es.js +55 -58
  624. package/dist/util.es.js.map +1 -1
  625. package/package.json +1 -1
  626. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +0 -2
  627. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +0 -1
  628. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +0 -99
  629. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +0 -1
  630. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +0 -2
  631. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +0 -1
  632. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +0 -64
  633. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +0 -1
  634. package/dist/shared/src/util/productTypes.cjs.js +0 -2
  635. package/dist/shared/src/util/productTypes.cjs.js.map +0 -1
  636. package/dist/shared/src/util/productTypes.es.js +0 -25
  637. package/dist/shared/src/util/productTypes.es.js.map +0 -1
  638. package/dist/types/components/DetailsPanelDetails/hooks/useEntityData.d.ts +0 -12
  639. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +0 -11
  640. package/dist/types/util/productTypes.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildGroupByTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { ProjectModel, EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n project?: ProjectModel\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModel,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModel | undefined,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n}\n\nconst useBuildGroupByTableData = ({\n project,\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n}: BuildGroupByTableProps) => {\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows && group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","_a","s","_b","t","_c","f","_e","_d","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","productTypes","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","_f","groupsList","attribSortingIds","a","b","indexA","indexB","_g","_j","_h","_i","nonEmptyGroups"],"mappings":"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"}
1
+ {"version":3,"file":"useBuildGroupByTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n entities: EntitiesMap\n entityType: string\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n groupRowFunc?: (node: any) => TableRow\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModelWithProducts,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst defaultEntityToGroupRow = (\n task: EditorTaskNode,\n group: string | undefined,\n entityType: string,\n project: ProjectModelWithProducts,\n getEntityTypeData: ReturnType<typeof useGetEntityTypeData>,\n): TableRow & { subRows: TableRow[] } => {\n const typeData = getEntityTypeData(entityType, task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: entityType,\n parentId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, entityType, {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(project.productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n}\n\nconst useBuildGroupByTableData = ({\n entities,\n entityType,\n groups = [],\n attribFields,\n showEmpty,\n groupRowFunc, // for versions etc\n}: BuildGroupByTableProps) => {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow & { subRows: TableRow[] } => {\n // Use provided groupRowFunc or fall back to default\n const baseRow = groupRowFunc\n ? groupRowFunc(task)\n : defaultEntityToGroupRow(task, group, entityType, project, getEntityTypeData)\n\n // Ensure group-specific fields are set\n return {\n ...baseRow,\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the group\n subRows: baseRow.subRows || [],\n }\n },\n [groupRowFunc, getEntityTypeData, entityType, project],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows?.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows?.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows?.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows && group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["NEXT_PAGE_ID","UNGROUPED_VALUE","ROW_ID_SEPARATOR","valueToStringArray","value","v","getGroupData","groupById","groupValue","groups","group","GROUP_BY_ID","buildGroupId","parseGroupId","groupId","isGroupId","id","getSortingIds","groupBy","project","attribFields","attributeId","_a","s","_b","t","_c","f","_e","_d","field","e","defaultEntityToGroupRow","task","entityType","getEntityTypeData","typeData","linksToTableData","useBuildGroupByTableData","entities","showEmpty","groupRowFunc","useProjectContext","useGetEntityTypeData","entityToGroupRow","useCallback","baseRow","groupsMap","groupData","ungroupedId","getUnGroupedGroup","ungroupedGroup","entity","groupValues","groupRow","_f","groupsList","attribSortingIds","a","b","indexA","indexB","_g","_j","_h","_i","nonEmptyGroups"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const p=require("react"),I=require("../utils/loadingUtils.cjs.js"),D=require("./useGetEntityTypeData.cjs.js");require("@ynput/ayon-react-components");const O=require("../../../util/productTypes.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.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/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/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/versions/getVersionsProducts.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/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.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("../../../context/WebsocketContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const P=require("../utils/linksToTableData.cjs.js"),N=100;function _({foldersMap:a,tasksMap:b,rows:w,tasksByFolderMap:S,expanded:y,projectInfo:t,showHierarchy:R,loadingTasks:T={},isLoadingMore:m=!1}){const v=D.useGetEntityTypeData({projectInfo:t}),M=p.useMemo(()=>JSON.stringify(y),[y]),c=p.useMemo(()=>new Set(Object.entries(y).filter(([s,u])=>u).map(([s])=>s)),[M]),{childToParentMap:A,parentToChildrenMap:E}=p.useMemo(()=>{const s=new Map,u=new Map;for(const i of a.values()){if(!(i!=null&&i.id))continue;const o=i.parentId;if(o){s.set(i.id,o);let q=u.get(o);q||(q=new Set,u.set(o,q)),q.add(i.id)}}return{childToParentMap:s,parentToChildrenMap:u}},[a]),g=p.useMemo(()=>{const s=new Set,u=[];for(const i of a.values())i!=null&&i.id&&(!i.parentId||!a.has(i.parentId))&&(s.add(i.id),u.push(i.id));for(;u.length>0;){const i=u.shift();if(!c.has(i))continue;const q=E.get(i);if(q)for(const e of q)s.has(e)||(s.add(e),u.push(e))}return s},[a,E,c]);return p.useMemo(()=>{var o,q;const s=(e,r)=>{const n=v("task",e.taskType),l=P.linksToTableData(e.links,"task",{folderTypes:(t==null?void 0:t.folderTypes)||[],productTypes:Object.values(O||{}),taskTypes:(t==null?void 0:t.taskTypes)||[]});return{id:e.id,entityType:"task",parentId:r||e.folderId,folderId:e.folderId,name:e.name||"",label:e.label||e.name||"",icon:(n==null?void 0:n.icon)||null,color:(n==null?void 0:n.color)||null,status:e.status,assignees:e.assignees,tags:e.tags,img:null,subRows:[],subType:e.taskType||null,attrib:e.attrib,ownAttrib:e.ownAttrib,parents:e.parents||[],path:e.parents.join("/")||null,folder:e.parents[e.parents.length-1]||void 0,updatedAt:e.updatedAt,createdAt:e.createdAt,hasReviewables:e.hasReviewables||!1,links:l}};if(!R){const e=[];for(const r of b.values())r.id&&e.push(s(r));for(const r of w||[])e.push(r);if(m){const r=N;{const n=I.generateLoadingRows(r,{type:"task"});e.push(...n)}}return e}const u=new Map,i=[];for(const e of g){const r=a.get(e);if(!r)continue;const n=P.linksToTableData(r.links,"folder",{folderTypes:(t==null?void 0:t.folderTypes)||[],productTypes:Object.values(O||{}),taskTypes:(t==null?void 0:t.taskTypes)||[]}),l={id:e,entityType:"folder",parentId:r.parentId||void 0,folderId:e||null,name:r.name||"",label:r.label||r.name||"",icon:((o=v("folder",r.folderType))==null?void 0:o.icon)||null,color:null,img:null,subRows:[],status:r.status,tags:r.tags||[],subType:r.folderType||null,ownAttrib:r.ownAttrib||[],path:r.path,folder:r.parents[r.parents.length-1]||void 0,attrib:r.attrib||{},childOnlyMatch:r.childOnlyMatch||!1,updatedAt:r.updatedAt,createdAt:r.createdAt,hasReviewables:r.hasReviewables||!1,hasVersions:r.hasVersions||!1,links:n};if(u.set(e,l),(!r.parentId||!a.has(r.parentId))&&i.push(l),c.has(e)){const f=(S.get(e)||[]).flatMap(h=>b.get(h)||[]);if(f.length||T[e]){const h=new Array(f.length);for(let d=0;d<f.length;d++)h[d]=s(f[d],e);if(T[e]){const d=T[e];if(d>0){const C=I.generateLoadingRows(d,{parentId:e});h.push(...C)}}l.subRows=h}}}for(const e of g){const r=A.get(e);if(!r||!c.has(r))continue;const n=u.get(e),l=u.get(r);!n||!l||(q=l.subRows)==null||q.push(n)}for(const e of w||[])i.push(e);return i},[a,b,w,g,A,c,R,T,m])}module.exports=_;
1
+ "use strict";const p=require("react"),P=require("../utils/loadingUtils.cjs.js"),M=require("./useGetEntityTypeData.cjs.js");require("@ynput/ayon-react-components");require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");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("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const O=require("../../../context/ProjectContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.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/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/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/versions/getVersionsProducts.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/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const E=require("../utils/linksToTableData.cjs.js"),D=100;function N({foldersMap:q,tasksMap:w,rows:y,tasksByFolderMap:C,expanded:b,showHierarchy:g,loadingTasks:h={},isLoadingMore:R=!1}){const u=O.useProjectContext(),m=M.useGetEntityTypeData({projectInfo:u}),S=p.useMemo(()=>JSON.stringify(b),[b]),c=p.useMemo(()=>new Set(Object.entries(b).filter(([n,t])=>t).map(([n])=>n)),[S]),{childToParentMap:A,parentToChildrenMap:v}=p.useMemo(()=>{const n=new Map,t=new Map;for(const i of q.values()){if(!(i!=null&&i.id))continue;const a=i.parentId;if(a){n.set(i.id,a);let o=t.get(a);o||(o=new Set,t.set(a,o)),o.add(i.id)}}return{childToParentMap:n,parentToChildrenMap:t}},[q]),I=p.useMemo(()=>{const n=new Set,t=[];for(const i of q.values())i!=null&&i.id&&(!i.parentId||!q.has(i.parentId))&&(n.add(i.id),t.push(i.id));for(;t.length>0;){const i=t.shift();if(!c.has(i))continue;const o=v.get(i);if(o)for(const e of o)n.has(e)||(n.add(e),t.push(e))}return n},[q,v,c]);return p.useMemo(()=>{var a,o;const n=(e,r)=>{const s=m("task",e.taskType),l=E.linksToTableData(e.links,"task",{folderTypes:(u==null?void 0:u.folderTypes)||[],productTypes:u.productTypes||[],taskTypes:(u==null?void 0:u.taskTypes)||[]});return{id:e.id,entityType:"task",parentId:r||e.folderId,folderId:e.folderId,name:e.name||"",label:e.label||e.name||"",icon:(s==null?void 0:s.icon)||null,color:(s==null?void 0:s.color)||null,status:e.status,assignees:e.assignees,tags:e.tags,img:null,subRows:[],subType:e.taskType||null,attrib:e.attrib,ownAttrib:e.ownAttrib,parents:e.parents||[],path:e.parents.join("/")||null,folder:e.parents[e.parents.length-1]||void 0,updatedAt:e.updatedAt,createdAt:e.createdAt,hasReviewables:e.hasReviewables||!1,links:l}};if(!g){const e=[];for(const r of w.values())r.id&&e.push(n(r));for(const r of y||[])e.push(r);if(R){const r=D;{const s=P.generateLoadingRows(r,{type:"task"});e.push(...s)}}return e}const t=new Map,i=[];for(const e of I){const r=q.get(e);if(!r)continue;const s=E.linksToTableData(r.links,"folder",{folderTypes:(u==null?void 0:u.folderTypes)||[],productTypes:(u==null?void 0:u.productTypes)||[],taskTypes:(u==null?void 0:u.taskTypes)||[]}),l={id:e,entityType:"folder",parentId:r.parentId||void 0,folderId:e||null,name:r.name||"",label:r.label||r.name||"",icon:((a=m("folder",r.folderType))==null?void 0:a.icon)||null,color:null,img:null,subRows:[],status:r.status,tags:r.tags||[],subType:r.folderType||null,ownAttrib:r.ownAttrib||[],path:r.path,folder:r.parents[r.parents.length-1]||void 0,attrib:r.attrib||{},childOnlyMatch:r.childOnlyMatch||!1,updatedAt:r.updatedAt,createdAt:r.createdAt,hasReviewables:r.hasReviewables||!1,hasVersions:r.hasVersions||!1,links:s};if(t.set(e,l),(!r.parentId||!q.has(r.parentId))&&i.push(l),c.has(e)){const T=(C.get(e)||[]).flatMap(f=>w.get(f)||[]);if(T.length||h[e]){const f=new Array(T.length);for(let d=0;d<T.length;d++)f[d]=n(T[d],e);if(h[e]){const d=h[e];if(d>0){const x=P.generateLoadingRows(d,{parentId:e});f.push(...x)}}l.subRows=f}}}for(const e of I){const r=A.get(e);if(!r||!c.has(r))continue;const s=t.get(e),l=t.get(r);!s||!l||(o=l.subRows)==null||o.push(s)}for(const e of y||[])i.push(e);return i},[q,w,y,I,A,c,g,h,R])}module.exports=N;
2
2
  //# sourceMappingURL=useBuildProjectDataTable.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildProjectDataTable.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { ProjectModel } from '../types/project'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n projectInfo?: ProjectModel\n showHierarchy: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const getEntityTypeData = useGetEntityTypeData({ projectInfo })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', {\n folderTypes: projectInfo?.folderTypes || [],\n productTypes: Object.values(productTypes || {}),\n taskTypes: projectInfo?.taskTypes || [],\n })\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n hasReviewables: task.hasReviewables || false,\n links: links,\n }\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', {\n folderTypes: projectInfo?.folderTypes || [],\n productTypes: Object.values(productTypes || {}),\n taskTypes: projectInfo?.taskTypes || [],\n })\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: getEntityTypeData('folder', folder.folderType)?.icon || null,\n color: null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","projectInfo","showHierarchy","loadingTasks","isLoadingMore","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","productTypes","flatRows","row","count","loadingTaskRows","generateLoadingRows","rowsById","rootRows","_a","folderTasks","taskId","taskRows","i","childRow","parentRow","_b"],"mappings":"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"}
1
+ {"version":3,"file":"useBuildProjectDataTable.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', {\n folderTypes: project?.folderTypes || [],\n productTypes: project.productTypes || [],\n taskTypes: project?.taskTypes || [],\n })\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n hasReviewables: task.hasReviewables || false,\n links: links,\n }\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', {\n folderTypes: project?.folderTypes || [],\n productTypes: project?.productTypes || [],\n taskTypes: project?.taskTypes || [],\n })\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: getEntityTypeData('folder', folder.folderType)?.icon || null,\n color: null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","loadingTasks","isLoadingMore","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","flatRows","row","count","loadingTaskRows","generateLoadingRows","rowsById","rootRows","_a","folderTasks","taskId","taskRows","i","childRow","parentRow","_b"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { useMemo as f } from "react";
1
+ import { useMemo as u } from "react";
2
2
  import { generateLoadingRows as E } from "../utils/loadingUtils.es.js";
3
- import { useGetEntityTypeData as x } from "./useGetEntityTypeData.es.js";
3
+ import { useGetEntityTypeData as N } from "./useGetEntityTypeData.es.js";
4
4
  import "@ynput/ayon-react-components";
5
- import P from "../../../util/productTypes.es.js";
6
- import "lodash";
7
5
  import "react-toastify";
6
+ import "lodash";
8
7
  import "uuid";
9
8
  import "../../../util/pubsub.es.js";
10
9
  import "../context/CellEditingContext.es.js";
@@ -12,6 +11,21 @@ import "../../../../../_virtual/jsx-runtime.es.js";
12
11
  import "../context/SelectionCellsContext.es.js";
13
12
  import "../context/ProjectTableQueriesContext.es.js";
14
13
  import "../context/ProjectTableContext.es.js";
14
+ import "../../../context/RemoteModulesContext.es.js";
15
+ import "../../../context/DetailsPanelContext.es.js";
16
+ import "../../../context/ThumbnailUploaderContext.es.js";
17
+ import "../../../context/SettingsPanelContext.es.js";
18
+ import "../../../context/pip/PiPProvider.es.js";
19
+ import "react-dom";
20
+ import "../../../context/pip/PiPWrapper.es.js";
21
+ import "../../../context/AddonProjectContext.es.js";
22
+ import "../../../context/AddonContext.es.js";
23
+ import "../../../context/PowerpackContext.es.js";
24
+ import "../../../context/MoveEntityContext.es.js";
25
+ import "../../../context/MenuContext.es.js";
26
+ import "../../../context/WebsocketContext.es.js";
27
+ import "../../../context/GlobalContext.es.js";
28
+ import { useProjectContext as _ } from "../../../context/ProjectContext.es.js";
15
29
  import "../context/ClipboardContext.es.js";
16
30
  import "@tanstack/react-table";
17
31
  import "../ProjectTreeTable.es.js";
@@ -104,82 +118,68 @@ import "../../../api/queries/versions/updateVersions.es.js";
104
118
  import "../../../api/queries/views/getViews.es.js";
105
119
  import "../../../api/queries/views/updateViews.es.js";
106
120
  import "../../../api/queries/watchers/getWatchers.es.js";
107
- import "../../../context/RemoteModulesContext.es.js";
108
121
  import "../../../../../_virtual/runtime.es.js";
109
122
  import "../../../../../_virtual/semver.es.js";
110
- import "../../../context/DetailsPanelContext.es.js";
111
- import "../../../context/ThumbnailUploaderContext.es.js";
112
- import "../../../context/SettingsPanelContext.es.js";
113
- import "../../../context/pip/PiPProvider.es.js";
114
- import "react-dom";
115
- import "../../../context/pip/PiPWrapper.es.js";
116
- import "../../../context/AddonProjectContext.es.js";
117
- import "../../../context/AddonContext.es.js";
118
- import "../../../context/PowerpackContext.es.js";
119
- import "../../../context/MoveEntityContext.es.js";
120
- import "../../../context/MenuContext.es.js";
121
- import "../../../context/WebsocketContext.es.js";
122
123
  import "react-redux";
123
124
  import "custom-protocol-check";
124
125
  import "../components/GroupSettingsFallback.es.js";
125
126
  import { linksToTableData as S } from "../utils/linksToTableData.es.js";
126
127
  const F = 100;
127
- function ki({
128
+ function tr({
128
129
  foldersMap: s,
129
130
  tasksMap: w,
130
- rows: b,
131
+ rows: y,
131
132
  tasksByFolderMap: C,
132
- expanded: y,
133
- projectInfo: e,
134
- showHierarchy: R,
133
+ expanded: I,
134
+ showHierarchy: g,
135
135
  loadingTasks: h = {},
136
- isLoadingMore: v = !1
136
+ isLoadingMore: R = !1
137
137
  }) {
138
- const A = x({ projectInfo: e }), N = f(() => JSON.stringify(y), [y]), u = f(() => new Set(
139
- Object.entries(y).filter(([p, r]) => r).map(([p]) => p)
140
- ), [N]), { childToParentMap: I, parentToChildrenMap: O } = f(() => {
141
- const p = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
142
- for (const o of s.values()) {
143
- if (!(o != null && o.id)) continue;
144
- const a = o.parentId;
138
+ const i = _(), A = N({ projectInfo: i }), O = u(() => JSON.stringify(I), [I]), c = u(() => new Set(
139
+ Object.entries(I).filter(([e, p]) => p).map(([e]) => e)
140
+ ), [O]), { childToParentMap: v, parentToChildrenMap: P } = u(() => {
141
+ const e = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map();
142
+ for (const r of s.values()) {
143
+ if (!(r != null && r.id)) continue;
144
+ const a = r.parentId;
145
145
  if (a) {
146
- p.set(o.id, a);
147
- let n = r.get(a);
148
- n || (n = /* @__PURE__ */ new Set(), r.set(a, n)), n.add(o.id);
146
+ e.set(r.id, a);
147
+ let m = p.get(a);
148
+ m || (m = /* @__PURE__ */ new Set(), p.set(a, m)), m.add(r.id);
149
149
  }
150
150
  }
151
- return { childToParentMap: p, parentToChildrenMap: r };
152
- }, [s]), g = f(() => {
153
- const p = /* @__PURE__ */ new Set(), r = [];
154
- for (const o of s.values())
155
- o != null && o.id && (!o.parentId || !s.has(o.parentId)) && (p.add(o.id), r.push(o.id));
156
- for (; r.length > 0; ) {
157
- const o = r.shift();
158
- if (!u.has(o)) continue;
159
- const n = O.get(o);
160
- if (n)
161
- for (const t of n)
162
- p.has(t) || (p.add(t), r.push(t));
151
+ return { childToParentMap: e, parentToChildrenMap: p };
152
+ }, [s]), b = u(() => {
153
+ const e = /* @__PURE__ */ new Set(), p = [];
154
+ for (const r of s.values())
155
+ r != null && r.id && (!r.parentId || !s.has(r.parentId)) && (e.add(r.id), p.push(r.id));
156
+ for (; p.length > 0; ) {
157
+ const r = p.shift();
158
+ if (!c.has(r)) continue;
159
+ const m = P.get(r);
160
+ if (m)
161
+ for (const t of m)
162
+ e.has(t) || (e.add(t), p.push(t));
163
163
  }
164
- return p;
165
- }, [s, O, u]);
166
- return f(() => {
167
- var a, n;
168
- const p = (t, i) => {
169
- const m = A("task", t.taskType), l = S(t.links, "task", {
170
- folderTypes: (e == null ? void 0 : e.folderTypes) || [],
171
- productTypes: Object.values(P || {}),
172
- taskTypes: (e == null ? void 0 : e.taskTypes) || []
164
+ return e;
165
+ }, [s, P, c]);
166
+ return u(() => {
167
+ var a, m;
168
+ const e = (t, o) => {
169
+ const n = A("task", t.taskType), l = S(t.links, "task", {
170
+ folderTypes: (i == null ? void 0 : i.folderTypes) || [],
171
+ productTypes: i.productTypes || [],
172
+ taskTypes: (i == null ? void 0 : i.taskTypes) || []
173
173
  });
174
174
  return {
175
175
  id: t.id,
176
176
  entityType: "task",
177
- parentId: i || t.folderId,
177
+ parentId: o || t.folderId,
178
178
  folderId: t.folderId,
179
179
  name: t.name || "",
180
180
  label: t.label || t.name || "",
181
- icon: (m == null ? void 0 : m.icon) || null,
182
- color: (m == null ? void 0 : m.color) || null,
181
+ icon: (n == null ? void 0 : n.icon) || null,
182
+ color: (n == null ? void 0 : n.color) || null,
183
183
  status: t.status,
184
184
  assignees: t.assignees,
185
185
  tags: t.tags,
@@ -198,96 +198,96 @@ function ki({
198
198
  links: l
199
199
  };
200
200
  };
201
- if (!R) {
201
+ if (!g) {
202
202
  const t = [];
203
- for (const i of w.values())
204
- i.id && t.push(p(i));
205
- for (const i of b || [])
206
- t.push(i);
207
- if (v) {
208
- const i = F;
203
+ for (const o of w.values())
204
+ o.id && t.push(e(o));
205
+ for (const o of y || [])
206
+ t.push(o);
207
+ if (R) {
208
+ const o = F;
209
209
  {
210
- const m = E(i, {
210
+ const n = E(o, {
211
211
  type: "task"
212
212
  });
213
- t.push(...m);
213
+ t.push(...n);
214
214
  }
215
215
  }
216
216
  return t;
217
217
  }
218
- const r = /* @__PURE__ */ new Map(), o = [];
219
- for (const t of g) {
220
- const i = s.get(t);
221
- if (!i) continue;
222
- const m = S(i.links, "folder", {
223
- folderTypes: (e == null ? void 0 : e.folderTypes) || [],
224
- productTypes: Object.values(P || {}),
225
- taskTypes: (e == null ? void 0 : e.taskTypes) || []
218
+ const p = /* @__PURE__ */ new Map(), r = [];
219
+ for (const t of b) {
220
+ const o = s.get(t);
221
+ if (!o) continue;
222
+ const n = S(o.links, "folder", {
223
+ folderTypes: (i == null ? void 0 : i.folderTypes) || [],
224
+ productTypes: (i == null ? void 0 : i.productTypes) || [],
225
+ taskTypes: (i == null ? void 0 : i.taskTypes) || []
226
226
  }), l = {
227
227
  id: t,
228
228
  entityType: "folder",
229
- parentId: i.parentId || void 0,
229
+ parentId: o.parentId || void 0,
230
230
  folderId: t || null,
231
231
  // root folders have no folderId
232
- name: i.name || "",
233
- label: i.label || i.name || "",
234
- icon: ((a = A("folder", i.folderType)) == null ? void 0 : a.icon) || null,
232
+ name: o.name || "",
233
+ label: o.label || o.name || "",
234
+ icon: ((a = A("folder", o.folderType)) == null ? void 0 : a.icon) || null,
235
235
  color: null,
236
236
  img: null,
237
237
  subRows: [],
238
- status: i.status,
239
- tags: i.tags || [],
240
- subType: i.folderType || null,
241
- ownAttrib: i.ownAttrib || [],
242
- path: i.path,
243
- folder: i.parents[i.parents.length - 1] || void 0,
244
- attrib: i.attrib || {},
245
- childOnlyMatch: i.childOnlyMatch || !1,
246
- updatedAt: i.updatedAt,
247
- createdAt: i.createdAt,
248
- hasReviewables: i.hasReviewables || !1,
249
- hasVersions: i.hasVersions || !1,
250
- links: m
238
+ status: o.status,
239
+ tags: o.tags || [],
240
+ subType: o.folderType || null,
241
+ ownAttrib: o.ownAttrib || [],
242
+ path: o.path,
243
+ folder: o.parents[o.parents.length - 1] || void 0,
244
+ attrib: o.attrib || {},
245
+ childOnlyMatch: o.childOnlyMatch || !1,
246
+ updatedAt: o.updatedAt,
247
+ createdAt: o.createdAt,
248
+ hasReviewables: o.hasReviewables || !1,
249
+ hasVersions: o.hasVersions || !1,
250
+ links: n
251
251
  };
252
- if (r.set(t, l), (!i.parentId || !s.has(i.parentId)) && o.push(l), u.has(t)) {
253
- const T = (C.get(t) || []).flatMap((c) => w.get(c) || []);
252
+ if (p.set(t, l), (!o.parentId || !s.has(o.parentId)) && r.push(l), c.has(t)) {
253
+ const T = (C.get(t) || []).flatMap((f) => w.get(f) || []);
254
254
  if (T.length || h[t]) {
255
- const c = new Array(T.length);
255
+ const f = new Array(T.length);
256
256
  for (let d = 0; d < T.length; d++)
257
- c[d] = p(T[d], t);
257
+ f[d] = e(T[d], t);
258
258
  if (h[t]) {
259
259
  const d = h[t];
260
260
  if (d > 0) {
261
- const _ = E(d, { parentId: t });
262
- c.push(..._);
261
+ const x = E(d, { parentId: t });
262
+ f.push(...x);
263
263
  }
264
264
  }
265
- l.subRows = c;
265
+ l.subRows = f;
266
266
  }
267
267
  }
268
268
  }
269
- for (const t of g) {
270
- const i = I.get(t);
271
- if (!i || !u.has(i)) continue;
272
- const m = r.get(t), l = r.get(i);
273
- !m || !l || (n = l.subRows) == null || n.push(m);
269
+ for (const t of b) {
270
+ const o = v.get(t);
271
+ if (!o || !c.has(o)) continue;
272
+ const n = p.get(t), l = p.get(o);
273
+ !n || !l || (m = l.subRows) == null || m.push(n);
274
274
  }
275
- for (const t of b || [])
276
- o.push(t);
277
- return o;
275
+ for (const t of y || [])
276
+ r.push(t);
277
+ return r;
278
278
  }, [
279
279
  s,
280
280
  w,
281
+ y,
281
282
  b,
283
+ v,
284
+ c,
282
285
  g,
283
- I,
284
- u,
285
- R,
286
286
  h,
287
- v
287
+ R
288
288
  ]);
289
289
  }
290
290
  export {
291
- ki as default
291
+ tr as default
292
292
  };
293
293
  //# sourceMappingURL=useBuildProjectDataTable.es.js.map