@ynput/ayon-frontend-shared 0.2.22 → 0.2.24

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 (794) hide show
  1. package/dist/DetailsPanel.cjs.js +22 -12
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +22 -12
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +17 -1
  6. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  7. package/dist/ProjectTreeTable.es.js +19 -3
  8. package/dist/ProjectTreeTable.es.js.map +1 -1
  9. package/dist/SimpleTable.cjs.js +18 -0
  10. package/dist/SimpleTable.cjs.js.map +1 -0
  11. package/dist/SimpleTable.es.js +18 -0
  12. package/dist/SimpleTable.es.js.map +1 -0
  13. package/dist/api.cjs.js +15 -0
  14. package/dist/api.cjs.js.map +1 -1
  15. package/dist/api.es.js +87 -72
  16. package/dist/api.es.js.map +1 -1
  17. package/dist/components.cjs.js +6 -0
  18. package/dist/components.cjs.js.map +1 -1
  19. package/dist/components.es.js +6 -0
  20. package/dist/components.es.js.map +1 -1
  21. package/dist/hooks.cjs.js +2 -0
  22. package/dist/hooks.cjs.js.map +1 -1
  23. package/dist/hooks.es.js +2 -0
  24. package/dist/hooks.es.js.map +1 -1
  25. package/dist/index.cjs.js +22 -12
  26. package/dist/index.cjs.js.map +1 -1
  27. package/dist/index.es.js +22 -12
  28. package/dist/index.es.js.map +1 -1
  29. package/dist/shared/src/api/base/client.cjs.js +2 -1
  30. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  31. package/dist/shared/src/api/base/client.es.js +2 -1
  32. package/dist/shared/src/api/base/client.es.js.map +1 -1
  33. package/dist/shared/src/api/generated/graphql.cjs.js +9 -10
  34. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  35. package/dist/shared/src/api/generated/graphql.es.js +9 -10
  36. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  37. package/dist/shared/src/api/generated/graphqlLinks.cjs.js +447 -0
  38. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -0
  39. package/dist/shared/src/api/generated/graphqlLinks.es.js +447 -0
  40. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -0
  41. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
  42. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  43. package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
  44. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  45. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
  46. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  47. package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
  48. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
  50. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
  52. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
  54. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
  56. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
  58. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
  60. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
  62. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
  64. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
  66. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
  68. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -0
  70. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/cloud/cloud.es.js +1 -0
  72. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +4 -1
  74. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/entities/getEntity.es.js +4 -1
  76. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +2 -0
  78. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +2 -0
  80. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +4 -0
  82. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -0
  84. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +4 -0
  86. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -0
  88. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +3 -0
  90. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entityLists/getLists.es.js +3 -0
  92. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
  94. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
  96. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
  98. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
  100. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
  102. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
  104. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -0
  106. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +1 -0
  108. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +142 -0
  110. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -0
  111. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +142 -0
  112. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -0
  113. package/dist/shared/src/api/queries/links/getLinks.cjs.js +202 -0
  114. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -0
  115. package/dist/shared/src/api/queries/links/getLinks.es.js +202 -0
  116. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -0
  117. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +304 -0
  118. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -0
  119. package/dist/shared/src/api/queries/links/updateLinks.es.js +304 -0
  120. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -0
  121. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js +8 -0
  122. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js.map +1 -0
  123. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js +8 -0
  124. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js.map +1 -0
  125. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +5 -4
  126. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/overview/getOverview.es.js +5 -4
  128. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +70 -15
  130. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -15
  132. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
  134. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
  136. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -0
  138. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/products/createProduct.es.js +1 -0
  140. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
  142. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
  144. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/review/getReview.cjs.js +2 -0
  146. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/review/getReview.es.js +2 -0
  148. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
  150. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
  152. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/share/share.cjs.js +1 -0
  154. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/share/share.es.js +1 -0
  156. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
  158. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
  160. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +2 -0
  162. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +2 -0
  164. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -0
  166. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/users/getUsers.es.js +4 -0
  168. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
  170. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
  172. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -0
  174. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/versions/updateVersions.es.js +1 -0
  176. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -0
  178. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/views/getViews.es.js +1 -0
  180. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
  182. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
  184. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  185. package/dist/shared/src/components/Chips/Chips.cjs.js +149 -0
  186. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -0
  187. package/dist/shared/src/components/Chips/Chips.es.js +149 -0
  188. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -0
  189. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
  190. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  191. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
  192. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  193. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +5 -0
  194. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  195. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +5 -0
  196. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  197. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -0
  198. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  199. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -0
  200. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  201. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +37 -27
  202. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  203. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +37 -27
  204. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  205. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
  206. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  207. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
  208. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  209. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -2
  210. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  211. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -2
  212. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  213. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +331 -0
  214. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -0
  215. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +332 -0
  216. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -0
  217. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +125 -0
  218. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -0
  219. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +125 -0
  220. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -0
  221. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +92 -0
  222. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -0
  223. package/dist/shared/src/components/LinksManager/LinksManager.es.js +92 -0
  224. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -0
  225. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +250 -0
  226. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -0
  227. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +250 -0
  228. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -0
  229. package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js +229 -0
  230. package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js.map +1 -0
  231. package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js +229 -0
  232. package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js.map +1 -0
  233. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js +12 -0
  234. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js.map +1 -0
  235. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js +13 -0
  236. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js.map +1 -0
  237. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js +103 -0
  238. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js.map +1 -0
  239. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js +104 -0
  240. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js.map +1 -0
  241. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +278 -0
  242. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -0
  243. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +279 -0
  244. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -0
  245. package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js +70 -0
  246. package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js.map +1 -0
  247. package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js +70 -0
  248. package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js.map +1 -0
  249. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +22 -12
  250. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  251. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +22 -12
  252. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  253. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +104 -14
  254. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  255. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +104 -14
  256. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  257. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +22 -12
  258. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  259. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +22 -12
  260. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  261. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
  262. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  263. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
  264. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  265. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +23 -13
  266. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -13
  268. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  269. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +22 -12
  270. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +22 -12
  272. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +22 -12
  274. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +22 -12
  276. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +4 -0
  278. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -0
  280. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  281. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +5 -0
  282. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  283. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +5 -0
  284. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  285. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +22 -12
  286. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  287. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +22 -12
  288. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  289. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +22 -12
  290. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  291. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +22 -12
  292. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  293. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +7 -2
  294. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  295. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +7 -2
  296. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  297. package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
  298. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  299. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
  300. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  301. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +22 -12
  302. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +22 -12
  304. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  305. package/dist/shared/src/containers/Actions/Actions.cjs.js +4 -0
  306. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Actions/Actions.es.js +4 -0
  308. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  309. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +22 -12
  310. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +22 -12
  312. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  313. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +22 -12
  314. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +22 -12
  316. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  317. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +22 -12
  318. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +22 -12
  320. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +22 -12
  322. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +22 -12
  324. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +18 -8
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +18 -8
  328. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +4 -0
  330. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -0
  332. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -0
  334. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -0
  336. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +4 -0
  338. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -0
  340. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  341. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +357 -0
  342. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -0
  343. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +357 -0
  344. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -0
  345. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +262 -0
  346. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -0
  347. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +263 -0
  348. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -0
  349. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +273 -0
  350. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -0
  351. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +274 -0
  352. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -0
  353. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +250 -0
  354. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -0
  355. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +251 -0
  356. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -0
  357. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +35 -0
  358. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -0
  359. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +36 -0
  360. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -0
  361. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +235 -0
  362. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -0
  363. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +235 -0
  364. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -0
  365. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +49 -0
  366. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -0
  367. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +49 -0
  368. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -0
  369. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js +12 -0
  370. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js.map +1 -0
  371. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js +12 -0
  372. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js.map +1 -0
  373. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js +26 -0
  374. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -0
  375. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js +26 -0
  376. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -0
  377. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +2 -0
  378. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +2 -0
  380. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -0
  382. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -0
  384. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
  386. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
  388. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +4 -0
  390. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +4 -0
  392. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +5 -4
  394. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +5 -4
  396. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  397. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +4 -0
  398. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -0
  400. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  401. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -0
  402. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -0
  404. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  405. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -0
  406. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -0
  408. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +36 -6
  410. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +36 -6
  412. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +25 -0
  414. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +25 -0
  416. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +263 -9
  418. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +264 -10
  420. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +21 -11
  422. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +21 -11
  424. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +4 -0
  426. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +4 -0
  428. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +1 -229
  430. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +2 -230
  432. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +432 -0
  434. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -0
  435. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +432 -0
  436. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -0
  437. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +120 -47
  438. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +121 -48
  440. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js +33 -0
  442. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -0
  443. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js +33 -0
  444. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -0
  445. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +4 -0
  446. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -0
  448. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +13 -0
  450. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +14 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +104 -5
  454. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +104 -5
  456. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +13 -0
  460. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +13 -0
  462. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +4 -0
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -0
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +127 -4
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +127 -4
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +134 -3
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +134 -3
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +199 -0
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +199 -0
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +111 -12
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +111 -12
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +2 -0
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +2 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +65 -9
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +65 -9
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -0
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +1 -0
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +113 -14
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +113 -14
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +4 -0
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +4 -0
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +4 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +4 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +199 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +199 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +201 -0
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -0
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +202 -0
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -0
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +4 -0
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -0
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +103 -4
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +103 -4
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +13 -7
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +13 -7
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +126 -15
  532. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +126 -15
  534. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -0
  536. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +1 -0
  538. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +49 -0
  540. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -0
  541. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +49 -0
  542. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -0
  543. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +2 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +2 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +142 -0
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +143 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +14 -7
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +14 -7
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +0 -7
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +0 -7
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +299 -0
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -0
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +299 -0
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -0
  563. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +22 -12
  564. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +22 -12
  566. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  567. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +528 -0
  568. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -0
  569. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +529 -0
  570. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -0
  571. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +160 -0
  572. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -0
  573. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +160 -0
  574. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -0
  575. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +74 -0
  576. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -0
  577. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +74 -0
  578. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -0
  579. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js +19 -0
  580. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js.map +1 -0
  581. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js +19 -0
  582. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js.map +1 -0
  583. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -0
  584. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +1 -0
  586. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  587. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +18 -2
  588. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  589. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +18 -2
  590. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  591. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js +17 -0
  592. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js.map +1 -0
  593. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js +17 -0
  594. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js.map +1 -0
  595. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js +37 -0
  596. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js.map +1 -0
  597. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js +37 -0
  598. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js.map +1 -0
  599. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js +13 -2
  600. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js +14 -3
  602. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js.map +1 -1
  603. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js +1 -2
  604. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js +2 -3
  606. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js.map +1 -1
  607. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +11 -0
  608. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +11 -0
  610. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  611. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -0
  612. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +1 -0
  614. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  615. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -0
  616. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +1 -0
  618. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  619. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +53 -14
  620. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +53 -14
  622. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  623. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +4 -0
  624. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -0
  626. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  627. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +4 -0
  628. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -0
  630. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  631. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js +2 -2
  632. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js +1 -1
  634. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js +2 -1
  635. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js +2 -1
  637. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
  638. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +4 -0
  639. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  640. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -0
  641. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  642. package/dist/shared/src/context/AddonProjectContext.cjs.js +4 -0
  643. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  644. package/dist/shared/src/context/AddonProjectContext.es.js +4 -0
  645. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  646. package/dist/shared/src/context/DetailsPanelContext.cjs.js +4 -0
  647. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  648. package/dist/shared/src/context/DetailsPanelContext.es.js +4 -0
  649. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  650. package/dist/shared/src/context/PowerpackContext.cjs.js +4 -0
  651. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  652. package/dist/shared/src/context/PowerpackContext.es.js +4 -0
  653. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  654. package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
  655. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  656. package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
  657. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  658. package/dist/shared/src/hooks/useActionTriggers.cjs.js +4 -0
  659. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  660. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -0
  661. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  662. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +4 -0
  663. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  664. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -0
  665. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  666. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +147 -0
  667. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -0
  668. package/dist/shared/src/hooks/useHierarchyTable.es.js +147 -0
  669. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -0
  670. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +12 -5
  671. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  672. package/dist/shared/src/hooks/useScopedStatuses.es.js +12 -5
  673. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  674. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +4 -0
  675. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  676. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -0
  677. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  678. package/dist/shared/src/{utils/extractVersionFromFilename.es.js.map → util/extractVersionFromFilename.cjs.js.map} +1 -1
  679. package/dist/shared/src/util/extractVersionFromFilename.es.js.map +1 -0
  680. package/dist/shared/src/util/getEntityId.cjs.js +11 -0
  681. package/dist/shared/src/util/getEntityId.cjs.js.map +1 -0
  682. package/dist/shared/src/util/getEntityId.es.js +11 -0
  683. package/dist/shared/src/util/getEntityId.es.js.map +1 -0
  684. package/dist/shared/src/{utils → util}/versionUploadHelpers.cjs.js +3 -2
  685. package/dist/shared/src/{utils/versionUploadHelpers.es.js.map → util/versionUploadHelpers.cjs.js.map} +1 -1
  686. package/dist/shared/src/{utils → util}/versionUploadHelpers.es.js +3 -2
  687. package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -0
  688. package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js +16 -0
  689. package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js.map +1 -0
  690. package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js +17 -0
  691. package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js.map +1 -0
  692. package/dist/types/SimpleTable.d.ts +6 -0
  693. package/dist/types/api/generated/graphql.d.ts +116 -33
  694. package/dist/types/api/generated/graphqlLinks.d.ts +2269 -0
  695. package/dist/types/api/generated/index.d.ts +2 -0
  696. package/dist/types/api/queries/entities/getEntity.d.ts +80 -79
  697. package/dist/types/api/queries/entityLists/types.d.ts +5 -5
  698. package/dist/types/api/queries/index.d.ts +1 -0
  699. package/dist/types/api/queries/links/getEntityLinks.d.ts +182 -0
  700. package/dist/types/api/queries/links/getLinks.d.ts +862 -0
  701. package/dist/types/api/queries/links/index.d.ts +3 -0
  702. package/dist/types/api/queries/links/updateLinks.d.ts +321 -0
  703. package/dist/types/api/queries/links/utils/formatEntityLinks.d.ts +1 -0
  704. package/dist/types/api/queries/overview/index.d.ts +1 -0
  705. package/dist/types/api/queries/overview/updateOverview.d.ts +9 -0
  706. package/dist/types/components/Chips/Chips.d.ts +14 -0
  707. package/dist/types/components/Chips/index.d.ts +1 -0
  708. package/dist/types/components/LinksManager/AddNewLinks.d.ts +11 -0
  709. package/dist/types/components/LinksManager/LinkManagerItem.d.ts +9 -0
  710. package/dist/types/components/LinksManager/LinksManager.d.ts +24 -0
  711. package/dist/types/components/LinksManager/LinksManager.styled.d.ts +17 -0
  712. package/dist/types/components/LinksManager/LinksManagerDialog.d.ts +9 -0
  713. package/dist/types/components/LinksManager/SearchingLoadingItems.d.ts +5 -0
  714. package/dist/types/components/LinksManager/hooks/useKeyboardNavigation.d.ts +24 -0
  715. package/dist/types/components/LinksManager/hooks/useUpdateLinks.d.ts +24 -0
  716. package/dist/types/components/LinksManager/index.d.ts +2 -0
  717. package/dist/types/components/LinksManager/utils/formatEntityPath.d.ts +1 -0
  718. package/dist/types/components/LinksManager/utils/linkUpdates.d.ts +47 -0
  719. package/dist/types/components/index.d.ts +2 -0
  720. package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +15 -0
  721. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +17 -0
  722. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableHeader.d.ts +25 -0
  723. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableSearch.d.ts +8 -0
  724. package/dist/types/containers/EntityPickerDialog/components/index.d.ts +1 -0
  725. package/dist/types/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.d.ts +9 -0
  726. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +28 -0
  727. package/dist/types/containers/EntityPickerDialog/index.d.ts +1 -0
  728. package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +8 -0
  729. package/dist/types/containers/EntityPickerDialog/util/entityHierarchies.d.ts +3 -0
  730. package/dist/types/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.d.ts +2 -0
  731. package/dist/types/containers/EntityPickerDialog/util/index.d.ts +3 -0
  732. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -2
  733. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
  734. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +6 -1
  735. package/dist/types/containers/ProjectTreeTable/context/CellEditingContext.d.ts +1 -4
  736. package/dist/types/containers/ProjectTreeTable/context/CellEditingProvider.d.ts +4 -0
  737. package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +16 -0
  738. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
  739. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +2 -0
  740. package/dist/types/containers/ProjectTreeTable/hooks/useHistory.d.ts +1 -1
  741. package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +34 -0
  742. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  743. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +10 -34
  744. package/dist/types/containers/ProjectTreeTable/utils/cellUtils.d.ts +2 -0
  745. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  746. package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +17 -0
  747. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +7 -1
  748. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +23 -0
  749. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  750. package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.d.ts +7 -0
  751. package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTableRowTemplate.d.ts +1 -0
  752. package/dist/types/{SimpleTable → containers/SimpleTable}/index.d.ts +1 -0
  753. package/dist/types/containers/Views/ViewsMenu/SectionHeader.d.ts +6 -0
  754. package/dist/types/containers/Views/ViewsMenu/SectionHeader.styled.d.ts +1 -0
  755. package/dist/types/containers/Views/ViewsMenu/ViewsMenu.d.ts +8 -3
  756. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
  757. package/dist/types/containers/Views/utils/getCustomViewsFallback.d.ts +4 -3
  758. package/dist/types/hooks/index.d.ts +1 -0
  759. package/dist/types/hooks/useHierarchyTable.d.ts +13 -0
  760. package/dist/types/util/getEntityId.d.ts +2 -0
  761. package/dist/types/util/index.d.ts +3 -0
  762. package/dist/util.cjs.js +16 -0
  763. package/dist/util.cjs.js.map +1 -1
  764. package/dist/util.es.js +17 -1
  765. package/dist/util.es.js.map +1 -1
  766. package/package.json +8 -2
  767. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js +0 -7
  768. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js.map +0 -1
  769. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js +0 -8
  770. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js.map +0 -1
  771. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js +0 -14
  772. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js.map +0 -1
  773. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js +0 -15
  774. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js.map +0 -1
  775. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js +0 -11
  776. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js.map +0 -1
  777. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js +0 -11
  778. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js.map +0 -1
  779. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js +0 -57
  780. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js.map +0 -1
  781. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js +0 -58
  782. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js.map +0 -1
  783. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js +0 -16
  784. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js.map +0 -1
  785. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js +0 -17
  786. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js.map +0 -1
  787. package/dist/shared/src/utils/extractVersionFromFilename.cjs.js.map +0 -1
  788. package/dist/shared/src/utils/versionUploadHelpers.cjs.js.map +0 -1
  789. /package/dist/shared/src/{utils → util}/extractVersionFromFilename.cjs.js +0 -0
  790. /package/dist/shared/src/{utils → util}/extractVersionFromFilename.es.js +0 -0
  791. /package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.styled.d.ts +0 -0
  792. /package/dist/types/{SimpleTable → containers/SimpleTable}/context/SimpleTableContext.d.ts +0 -0
  793. /package/dist/types/{utils → util}/extractVersionFromFilename.d.ts +0 -0
  794. /package/dist/types/{utils → util}/versionUploadHelpers.d.ts +0 -0
@@ -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'\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?: GroupByEntityType\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\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 useBuildGroupByTableData = (props: BuildGroupByTableProps) => {\n const { project, entities, entityType, groups = [], attribFields, showEmpty } = props\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow => {\n const typeData = getEntityTypeData('task', 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: 'task',\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 path: task.folder?.path,\n updatedAt: task.updatedAt,\n }\n },\n [getEntityTypeData],\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 })\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 }\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 })\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.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["_a","_b"],"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 { 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?: GroupByEntityType\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\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 useBuildGroupByTableData = (props: BuildGroupByTableProps) => {\n const { project, entities, entityType, groups = [], attribFields, showEmpty } = props\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow => {\n const typeData = getEntityTypeData('task', 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: 'task',\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 path: task.folder?.path,\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, 'task', {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n },\n [getEntityTypeData],\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.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["_a","_b"],"mappings":"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"}
@@ -2,6 +2,121 @@
2
2
  const React = require("react");
3
3
  const loadingUtils = require("../utils/loadingUtils.cjs.js");
4
4
  const useGetEntityTypeData = require("./useGetEntityTypeData.cjs.js");
5
+ require("@ynput/ayon-react-components");
6
+ const productTypes = require("../../../util/productTypes.cjs.js");
7
+ require("lodash");
8
+ require("react-toastify");
9
+ require("uuid");
10
+ require("../../../util/pubsub.cjs.js");
11
+ require("../context/CellEditingContext.cjs.js");
12
+ require("../../../../../_virtual/jsx-runtime.cjs.js");
13
+ require("../context/SelectionCellsContext.cjs.js");
14
+ require("../context/ProjectTableQueriesContext.cjs.js");
15
+ require("../context/ProjectTableContext.cjs.js");
16
+ require("../context/ClipboardContext.cjs.js");
17
+ require("@tanstack/react-table");
18
+ require("../ProjectTreeTable.cjs.js");
19
+ require("../context/ColumnSettingsContext.cjs.js");
20
+ require("../context/SelectedRowsContext.cjs.js");
21
+ require("../context/DetailsPanelEntityContext.cjs.js");
22
+ ;/* empty css */
23
+ require("clsx");
24
+ require("../../ContextMenu/ContextMenuContext.cjs.js");
25
+ require("../../../api/base/client.cjs.js");
26
+ require("../../../api/generated/graphql.cjs.js");
27
+ require("../../../api/generated/graphqlLinks.cjs.js");
28
+ require("../../../api/generated/access.cjs.js");
29
+ require("../../../api/generated/actions.cjs.js");
30
+ require("../../../api/generated/activityFeed.cjs.js");
31
+ require("../../../api/generated/addons.cjs.js");
32
+ require("../../../api/generated/anatomy.cjs.js");
33
+ require("../../../api/generated/attributes.cjs.js");
34
+ require("../../../api/generated/authentication.cjs.js");
35
+ require("../../../api/generated/bundles.cjs.js");
36
+ require("../../../api/generated/configuration.cjs.js");
37
+ require("../../../api/generated/desktop.cjs.js");
38
+ require("../../../api/generated/entityLists.cjs.js");
39
+ require("../../../api/generated/events.cjs.js");
40
+ require("../../../api/generated/files.cjs.js");
41
+ require("../../../api/generated/folders.cjs.js");
42
+ require("../../../api/generated/inbox.cjs.js");
43
+ require("../../../api/generated/links.cjs.js");
44
+ require("../../../api/generated/market.cjs.js");
45
+ require("../../../api/generated/onboarding.cjs.js");
46
+ require("../../../api/generated/operations.cjs.js");
47
+ require("../../../api/generated/products.cjs.js");
48
+ require("../../../api/generated/projectDashboard.cjs.js");
49
+ require("../../../api/generated/projects.cjs.js");
50
+ require("../../../api/generated/reviewables.cjs.js");
51
+ require("../../../api/generated/services.cjs.js");
52
+ require("../../../api/generated/system.cjs.js");
53
+ require("../../../api/generated/tasks.cjs.js");
54
+ require("../../../api/generated/teams.cjs.js");
55
+ require("../../../api/generated/thumbnails.cjs.js");
56
+ require("../../../api/generated/uRIs.cjs.js");
57
+ require("../../../api/generated/users.cjs.js");
58
+ require("../../../api/generated/versions.cjs.js");
59
+ require("../../../api/generated/workfiles.cjs.js");
60
+ require("../../../api/generated/ynputCloud.cjs.js");
61
+ require("../../../api/generated/grouping.cjs.js");
62
+ require("../../../api/generated/views.cjs.js");
63
+ require("../../../api/queries/actions/getActions.cjs.js");
64
+ require("../../../api/queries/activities/getActivities.cjs.js");
65
+ require("../../../api/queries/activities/updateActivities.cjs.js");
66
+ require("../../../api/queries/activities/updateReaction.cjs.js");
67
+ require("../../../api/queries/activities/getMentions.cjs.js");
68
+ require("../../../api/queries/addons/getAddons.cjs.js");
69
+ require("../../../api/queries/addons/updateAddons.cjs.js");
70
+ require("../../../api/queries/attributes/getAttributes.cjs.js");
71
+ require("../../../api/queries/attributes/updateAttributes.cjs.js");
72
+ require("../../../api/queries/authentication/getAuthentication.cjs.js");
73
+ require("../../../api/queries/cloud/cloud.cjs.js");
74
+ require("../../../api/queries/entities/getEntity.cjs.js");
75
+ require("../../../api/queries/entities/getEntityPanel.cjs.js");
76
+ require("../../../api/queries/entities/updateEntity.cjs.js");
77
+ require("../../../api/queries/entityLists/getLists.cjs.js");
78
+ require("../../../api/queries/entityLists/updateLists.cjs.js");
79
+ require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
80
+ require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
81
+ require("../../../api/queries/folders/getFolders.cjs.js");
82
+ require("../../../api/queries/grouping/getGrouping.cjs.js");
83
+ require("../../../api/queries/links/updateLinks.cjs.js");
84
+ require("../../../api/queries/links/getLinks.cjs.js");
85
+ require("../../../api/queries/links/getEntityLinks.cjs.js");
86
+ require("../../../api/queries/overview/getOverview.cjs.js");
87
+ require("../../../api/queries/overview/updateOverview.cjs.js");
88
+ require("../../../api/queries/permissions/getPermissions.cjs.js");
89
+ require("../../../api/queries/products/createProduct.cjs.js");
90
+ require("../../../api/queries/project/getProject.cjs.js");
91
+ require("../../../api/queries/project/updateProject.cjs.js");
92
+ require("../../../api/queries/review/getReview.cjs.js");
93
+ require("../../../api/queries/review/updateReview.cjs.js");
94
+ require("../../../api/queries/share/share.cjs.js");
95
+ require("../../../api/queries/system/getSystem.cjs.js");
96
+ require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");
97
+ require("../../../api/queries/users/getUsers.cjs.js");
98
+ require("../../../api/queries/users/updateUsers.cjs.js");
99
+ require("../../../api/queries/versions/updateVersions.cjs.js");
100
+ require("../../../api/queries/views/getViews.cjs.js");
101
+ require("../../../api/queries/views/updateViews.cjs.js");
102
+ require("../../../api/queries/watchers/getWatchers.cjs.js");
103
+ require("../../../context/RemoteModulesContext.cjs.js");
104
+ require("../../../../../_virtual/runtime.cjs.js");
105
+ require("../../../../../_virtual/semver.cjs.js");
106
+ require("../../../context/DetailsPanelContext.cjs.js");
107
+ require("../../../context/ThumbnailUploaderContext.cjs.js");
108
+ require("../../../context/SettingsPanelContext.cjs.js");
109
+ require("../../../context/pip/PiPProvider.cjs.js");
110
+ require("react-dom");
111
+ require("../../../context/pip/PiPWrapper.cjs.js");
112
+ require("../../../context/AddonProjectContext.cjs.js");
113
+ require("../../../context/AddonContext.cjs.js");
114
+ require("../../../context/PowerpackContext.cjs.js");
115
+ require("react-redux");
116
+ require("custom-protocol-check");
117
+ require("../components/GroupSettingsFallback.cjs.js");
118
+ require("../context/ProjectDataContext.cjs.js");
119
+ const linksToTableData = require("../utils/linksToTableData.cjs.js");
5
120
  const TASKS_INFINITE_QUERY_COUNT = 100;
6
121
  function useBuildProjectDataTable({
7
122
  foldersMap,
@@ -69,10 +184,16 @@ function useBuildProjectDataTable({
69
184
  var _a, _b, _c, _d, _e, _f, _g;
70
185
  const createTaskRow = (task, parentId) => {
71
186
  const typeData = getEntityTypeData("task", task.taskType);
187
+ const links = linksToTableData.linksToTableData(task.links, "task", {
188
+ folderTypes: (projectInfo == null ? void 0 : projectInfo.folderTypes) || [],
189
+ productTypes: Object.values(productTypes || {}),
190
+ taskTypes: (projectInfo == null ? void 0 : projectInfo.taskTypes) || []
191
+ });
72
192
  return {
73
193
  id: task.id,
74
194
  entityType: "task",
75
195
  parentId: parentId || task.folderId,
196
+ folderId: task.folderId,
76
197
  name: task.name || "",
77
198
  label: task.label || task.name || "",
78
199
  icon: (typeData == null ? void 0 : typeData.icon) || null,
@@ -85,9 +206,11 @@ function useBuildProjectDataTable({
85
206
  subType: task.taskType || null,
86
207
  attrib: task.attrib,
87
208
  ownAttrib: task.ownAttrib,
88
- path: task.folder.path,
209
+ parents: task.parents || [],
210
+ path: task.parents.join("/") || null,
211
+ // todo: probably remove this and just use parents
89
212
  updatedAt: task.updatedAt,
90
- hasReviewables: task.hasReviewables
213
+ links
91
214
  };
92
215
  };
93
216
  if (!showHierarchy) {
@@ -119,10 +242,17 @@ function useBuildProjectDataTable({
119
242
  for (const folderId of visibleFolders) {
120
243
  const folder = foldersMap.get(folderId);
121
244
  if (!folder) continue;
245
+ const links = linksToTableData.linksToTableData(folder.links, "folder", {
246
+ folderTypes: (projectInfo == null ? void 0 : projectInfo.folderTypes) || [],
247
+ productTypes: Object.values(productTypes || {}),
248
+ taskTypes: (projectInfo == null ? void 0 : projectInfo.taskTypes) || []
249
+ });
122
250
  const row = {
123
251
  id: folderId,
124
252
  entityType: "folder",
125
253
  parentId: folder.parentId || void 0,
254
+ folderId: folderId || null,
255
+ // root folders have no folderId
126
256
  name: folder.name || "",
127
257
  label: folder.label || folder.name || "",
128
258
  icon: ((_d = getEntityTypeData("folder", folder.folderType)) == null ? void 0 : _d.icon) || null,
@@ -137,7 +267,8 @@ function useBuildProjectDataTable({
137
267
  attrib: folder.attrib || {},
138
268
  childOnlyMatch: folder.childOnlyMatch || false,
139
269
  updatedAt: folder.updatedAt,
140
- hasReviewables: folder.hasReviewables || false
270
+ hasReviewables: folder.hasReviewables || false,
271
+ links
141
272
  };
142
273
  rowsById.set(folderId, row);
143
274
  if (!folder.parentId || !foldersMap.has(folder.parentId)) {
@@ -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'\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 return {\n id: task.id,\n entityType: 'task',\n parentId: 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 path: task.folder.path,\n updatedAt: task.updatedAt,\n hasReviewables: task.hasReviewables,\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 const firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\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(loadingAttribs, 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 // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\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 attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n hasReviewables: folder.hasReviewables || false,\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 firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(loadingAttribs, count, {\n type: 'task',\n parentId: folderId,\n })\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":["useGetEntityTypeData","useMemo","generateLoadingRows"],"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 { 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 updatedAt: task.updatedAt,\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 const firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\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(loadingAttribs, 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 attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n hasReviewables: folder.hasReviewables || 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 firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(loadingAttribs, count, {\n type: 'task',\n parentId: folderId,\n })\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":["useGetEntityTypeData","useMemo","linksToTableData","generateLoadingRows"],"mappings":"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"}
@@ -1,6 +1,121 @@
1
1
  import { useMemo } from "react";
2
2
  import { generateLoadingRows } from "../utils/loadingUtils.es.js";
3
3
  import { useGetEntityTypeData } from "./useGetEntityTypeData.es.js";
4
+ import "@ynput/ayon-react-components";
5
+ import productTypes from "../../../util/productTypes.es.js";
6
+ import "lodash";
7
+ import "react-toastify";
8
+ import "uuid";
9
+ import "../../../util/pubsub.es.js";
10
+ import "../context/CellEditingContext.es.js";
11
+ import "../../../../../_virtual/jsx-runtime.es.js";
12
+ import "../context/SelectionCellsContext.es.js";
13
+ import "../context/ProjectTableQueriesContext.es.js";
14
+ import "../context/ProjectTableContext.es.js";
15
+ import "../context/ClipboardContext.es.js";
16
+ import "@tanstack/react-table";
17
+ import "../ProjectTreeTable.es.js";
18
+ import "../context/ColumnSettingsContext.es.js";
19
+ import "../context/SelectedRowsContext.es.js";
20
+ import "../context/DetailsPanelEntityContext.es.js";
21
+ /* empty css */
22
+ import "clsx";
23
+ import "../../ContextMenu/ContextMenuContext.es.js";
24
+ import "../../../api/base/client.es.js";
25
+ import "../../../api/generated/graphql.es.js";
26
+ import "../../../api/generated/graphqlLinks.es.js";
27
+ import "../../../api/generated/access.es.js";
28
+ import "../../../api/generated/actions.es.js";
29
+ import "../../../api/generated/activityFeed.es.js";
30
+ import "../../../api/generated/addons.es.js";
31
+ import "../../../api/generated/anatomy.es.js";
32
+ import "../../../api/generated/attributes.es.js";
33
+ import "../../../api/generated/authentication.es.js";
34
+ import "../../../api/generated/bundles.es.js";
35
+ import "../../../api/generated/configuration.es.js";
36
+ import "../../../api/generated/desktop.es.js";
37
+ import "../../../api/generated/entityLists.es.js";
38
+ import "../../../api/generated/events.es.js";
39
+ import "../../../api/generated/files.es.js";
40
+ import "../../../api/generated/folders.es.js";
41
+ import "../../../api/generated/inbox.es.js";
42
+ import "../../../api/generated/links.es.js";
43
+ import "../../../api/generated/market.es.js";
44
+ import "../../../api/generated/onboarding.es.js";
45
+ import "../../../api/generated/operations.es.js";
46
+ import "../../../api/generated/products.es.js";
47
+ import "../../../api/generated/projectDashboard.es.js";
48
+ import "../../../api/generated/projects.es.js";
49
+ import "../../../api/generated/reviewables.es.js";
50
+ import "../../../api/generated/services.es.js";
51
+ import "../../../api/generated/system.es.js";
52
+ import "../../../api/generated/tasks.es.js";
53
+ import "../../../api/generated/teams.es.js";
54
+ import "../../../api/generated/thumbnails.es.js";
55
+ import "../../../api/generated/uRIs.es.js";
56
+ import "../../../api/generated/users.es.js";
57
+ import "../../../api/generated/versions.es.js";
58
+ import "../../../api/generated/workfiles.es.js";
59
+ import "../../../api/generated/ynputCloud.es.js";
60
+ import "../../../api/generated/grouping.es.js";
61
+ import "../../../api/generated/views.es.js";
62
+ import "../../../api/queries/actions/getActions.es.js";
63
+ import "../../../api/queries/activities/getActivities.es.js";
64
+ import "../../../api/queries/activities/updateActivities.es.js";
65
+ import "../../../api/queries/activities/updateReaction.es.js";
66
+ import "../../../api/queries/activities/getMentions.es.js";
67
+ import "../../../api/queries/addons/getAddons.es.js";
68
+ import "../../../api/queries/addons/updateAddons.es.js";
69
+ import "../../../api/queries/attributes/getAttributes.es.js";
70
+ import "../../../api/queries/attributes/updateAttributes.es.js";
71
+ import "../../../api/queries/authentication/getAuthentication.es.js";
72
+ import "../../../api/queries/cloud/cloud.es.js";
73
+ import "../../../api/queries/entities/getEntity.es.js";
74
+ import "../../../api/queries/entities/getEntityPanel.es.js";
75
+ import "../../../api/queries/entities/updateEntity.es.js";
76
+ import "../../../api/queries/entityLists/getLists.es.js";
77
+ import "../../../api/queries/entityLists/updateLists.es.js";
78
+ import "../../../api/queries/entityLists/getListsAttributes.es.js";
79
+ import "../../../api/queries/entityLists/updateListsAttributes.es.js";
80
+ import "../../../api/queries/folders/getFolders.es.js";
81
+ import "../../../api/queries/grouping/getGrouping.es.js";
82
+ import "../../../api/queries/links/updateLinks.es.js";
83
+ import "../../../api/queries/links/getLinks.es.js";
84
+ import "../../../api/queries/links/getEntityLinks.es.js";
85
+ import "../../../api/queries/overview/getOverview.es.js";
86
+ import "../../../api/queries/overview/updateOverview.es.js";
87
+ import "../../../api/queries/permissions/getPermissions.es.js";
88
+ import "../../../api/queries/products/createProduct.es.js";
89
+ import "../../../api/queries/project/getProject.es.js";
90
+ import "../../../api/queries/project/updateProject.es.js";
91
+ import "../../../api/queries/review/getReview.es.js";
92
+ import "../../../api/queries/review/updateReview.es.js";
93
+ import "../../../api/queries/share/share.es.js";
94
+ import "../../../api/queries/system/getSystem.es.js";
95
+ import "../../../api/queries/userDashboard/getUserDashboard.es.js";
96
+ import "../../../api/queries/users/getUsers.es.js";
97
+ import "../../../api/queries/users/updateUsers.es.js";
98
+ import "../../../api/queries/versions/updateVersions.es.js";
99
+ import "../../../api/queries/views/getViews.es.js";
100
+ import "../../../api/queries/views/updateViews.es.js";
101
+ import "../../../api/queries/watchers/getWatchers.es.js";
102
+ import "../../../context/RemoteModulesContext.es.js";
103
+ import "../../../../../_virtual/runtime.es.js";
104
+ import "../../../../../_virtual/semver.es.js";
105
+ import "../../../context/DetailsPanelContext.es.js";
106
+ import "../../../context/ThumbnailUploaderContext.es.js";
107
+ import "../../../context/SettingsPanelContext.es.js";
108
+ import "../../../context/pip/PiPProvider.es.js";
109
+ import "react-dom";
110
+ import "../../../context/pip/PiPWrapper.es.js";
111
+ import "../../../context/AddonProjectContext.es.js";
112
+ import "../../../context/AddonContext.es.js";
113
+ import "../../../context/PowerpackContext.es.js";
114
+ import "react-redux";
115
+ import "custom-protocol-check";
116
+ import "../components/GroupSettingsFallback.es.js";
117
+ import "../context/ProjectDataContext.es.js";
118
+ import { linksToTableData } from "../utils/linksToTableData.es.js";
4
119
  const TASKS_INFINITE_QUERY_COUNT = 100;
5
120
  function useBuildProjectDataTable({
6
121
  foldersMap,
@@ -68,10 +183,16 @@ function useBuildProjectDataTable({
68
183
  var _a, _b, _c, _d, _e, _f, _g;
69
184
  const createTaskRow = (task, parentId) => {
70
185
  const typeData = getEntityTypeData("task", task.taskType);
186
+ const links = linksToTableData(task.links, "task", {
187
+ folderTypes: (projectInfo == null ? void 0 : projectInfo.folderTypes) || [],
188
+ productTypes: Object.values(productTypes || {}),
189
+ taskTypes: (projectInfo == null ? void 0 : projectInfo.taskTypes) || []
190
+ });
71
191
  return {
72
192
  id: task.id,
73
193
  entityType: "task",
74
194
  parentId: parentId || task.folderId,
195
+ folderId: task.folderId,
75
196
  name: task.name || "",
76
197
  label: task.label || task.name || "",
77
198
  icon: (typeData == null ? void 0 : typeData.icon) || null,
@@ -84,9 +205,11 @@ function useBuildProjectDataTable({
84
205
  subType: task.taskType || null,
85
206
  attrib: task.attrib,
86
207
  ownAttrib: task.ownAttrib,
87
- path: task.folder.path,
208
+ parents: task.parents || [],
209
+ path: task.parents.join("/") || null,
210
+ // todo: probably remove this and just use parents
88
211
  updatedAt: task.updatedAt,
89
- hasReviewables: task.hasReviewables
212
+ links
90
213
  };
91
214
  };
92
215
  if (!showHierarchy) {
@@ -118,10 +241,17 @@ function useBuildProjectDataTable({
118
241
  for (const folderId of visibleFolders) {
119
242
  const folder = foldersMap.get(folderId);
120
243
  if (!folder) continue;
244
+ const links = linksToTableData(folder.links, "folder", {
245
+ folderTypes: (projectInfo == null ? void 0 : projectInfo.folderTypes) || [],
246
+ productTypes: Object.values(productTypes || {}),
247
+ taskTypes: (projectInfo == null ? void 0 : projectInfo.taskTypes) || []
248
+ });
121
249
  const row = {
122
250
  id: folderId,
123
251
  entityType: "folder",
124
252
  parentId: folder.parentId || void 0,
253
+ folderId: folderId || null,
254
+ // root folders have no folderId
125
255
  name: folder.name || "",
126
256
  label: folder.label || folder.name || "",
127
257
  icon: ((_d = getEntityTypeData("folder", folder.folderType)) == null ? void 0 : _d.icon) || null,
@@ -136,7 +266,8 @@ function useBuildProjectDataTable({
136
266
  attrib: folder.attrib || {},
137
267
  childOnlyMatch: folder.childOnlyMatch || false,
138
268
  updatedAt: folder.updatedAt,
139
- hasReviewables: folder.hasReviewables || false
269
+ hasReviewables: folder.hasReviewables || false,
270
+ links
140
271
  };
141
272
  rowsById.set(folderId, row);
142
273
  if (!folder.parentId || !foldersMap.has(folder.parentId)) {
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildProjectDataTable.es.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'\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 return {\n id: task.id,\n entityType: 'task',\n parentId: 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 path: task.folder.path,\n updatedAt: task.updatedAt,\n hasReviewables: task.hasReviewables,\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 const firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\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(loadingAttribs, 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 // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\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 attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n hasReviewables: folder.hasReviewables || false,\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 firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(loadingAttribs, count, {\n type: 'task',\n parentId: folderId,\n })\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":[],"mappings":"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"}
1
+ {"version":3,"file":"useBuildProjectDataTable.es.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 updatedAt: task.updatedAt,\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 const firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\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(loadingAttribs, 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 attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n hasReviewables: folder.hasReviewables || 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 firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(loadingAttribs, count, {\n type: 'task',\n parentId: folderId,\n })\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":[],"mappings":"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"}