@ynput/ayon-frontend-shared 0.2.23 → 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 (784) 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/_virtual/index.cjs10.js +4 -4
  14. package/dist/_virtual/index.cjs8.js +4 -4
  15. package/dist/_virtual/index.cjs9.js +4 -4
  16. package/dist/_virtual/index.es10.js +4 -4
  17. package/dist/_virtual/index.es8.js +4 -4
  18. package/dist/_virtual/index.es9.js +4 -4
  19. package/dist/api.cjs.js +15 -0
  20. package/dist/api.cjs.js.map +1 -1
  21. package/dist/api.es.js +87 -72
  22. package/dist/api.es.js.map +1 -1
  23. package/dist/components.cjs.js +6 -0
  24. package/dist/components.cjs.js.map +1 -1
  25. package/dist/components.es.js +6 -0
  26. package/dist/components.es.js.map +1 -1
  27. package/dist/hooks.cjs.js +2 -0
  28. package/dist/hooks.cjs.js.map +1 -1
  29. package/dist/hooks.es.js +2 -0
  30. package/dist/hooks.es.js.map +1 -1
  31. package/dist/index.cjs.js +22 -12
  32. package/dist/index.cjs.js.map +1 -1
  33. package/dist/index.es.js +22 -12
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  36. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  37. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  38. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  39. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/shared/src/api/base/client.cjs.js +2 -1
  42. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  43. package/dist/shared/src/api/base/client.es.js +2 -1
  44. package/dist/shared/src/api/base/client.es.js.map +1 -1
  45. package/dist/shared/src/api/generated/graphql.cjs.js +9 -10
  46. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  47. package/dist/shared/src/api/generated/graphql.es.js +9 -10
  48. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  49. package/dist/shared/src/api/generated/graphqlLinks.cjs.js +447 -0
  50. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -0
  51. package/dist/shared/src/api/generated/graphqlLinks.es.js +447 -0
  52. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -0
  53. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
  54. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
  56. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
  58. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
  60. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
  62. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
  64. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
  66. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
  68. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
  70. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
  72. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
  74. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
  76. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
  78. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
  80. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -0
  82. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/cloud/cloud.es.js +1 -0
  84. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +4 -1
  86. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/entities/getEntity.es.js +4 -1
  88. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +2 -0
  90. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +2 -0
  92. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +4 -0
  94. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -0
  96. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +4 -0
  98. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -0
  100. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +3 -0
  102. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/entityLists/getLists.es.js +3 -0
  104. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
  106. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
  108. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
  110. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
  112. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
  114. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
  116. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -0
  118. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +1 -0
  120. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +142 -0
  122. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -0
  123. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +142 -0
  124. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -0
  125. package/dist/shared/src/api/queries/links/getLinks.cjs.js +202 -0
  126. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -0
  127. package/dist/shared/src/api/queries/links/getLinks.es.js +202 -0
  128. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -0
  129. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +304 -0
  130. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -0
  131. package/dist/shared/src/api/queries/links/updateLinks.es.js +304 -0
  132. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -0
  133. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js +8 -0
  134. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js.map +1 -0
  135. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js +8 -0
  136. package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js.map +1 -0
  137. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +5 -4
  138. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/overview/getOverview.es.js +5 -4
  140. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +70 -15
  142. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -15
  144. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
  146. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
  148. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -0
  150. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/products/createProduct.es.js +1 -0
  152. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
  154. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
  156. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/review/getReview.cjs.js +2 -0
  158. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/review/getReview.es.js +2 -0
  160. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
  162. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
  164. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/share/share.cjs.js +1 -0
  166. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/share/share.es.js +1 -0
  168. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
  170. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
  172. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +2 -0
  174. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +2 -0
  176. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -0
  178. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/users/getUsers.es.js +4 -0
  180. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
  182. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
  184. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -0
  186. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/versions/updateVersions.es.js +1 -0
  188. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -0
  190. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/views/getViews.es.js +1 -0
  192. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
  194. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
  196. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  197. package/dist/shared/src/components/Chips/Chips.cjs.js +149 -0
  198. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -0
  199. package/dist/shared/src/components/Chips/Chips.es.js +149 -0
  200. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -0
  201. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
  202. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  203. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
  204. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  205. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +5 -0
  206. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  207. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +5 -0
  208. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  209. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -0
  210. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  211. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -0
  212. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  213. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +37 -27
  214. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  215. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +37 -27
  216. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  217. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
  218. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  219. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
  220. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  221. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -2
  222. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -2
  224. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  225. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +331 -0
  226. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -0
  227. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +332 -0
  228. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -0
  229. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +125 -0
  230. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -0
  231. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +125 -0
  232. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -0
  233. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +92 -0
  234. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -0
  235. package/dist/shared/src/components/LinksManager/LinksManager.es.js +92 -0
  236. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -0
  237. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +250 -0
  238. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -0
  239. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +250 -0
  240. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -0
  241. package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js +229 -0
  242. package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js.map +1 -0
  243. package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js +229 -0
  244. package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js.map +1 -0
  245. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js +12 -0
  246. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js.map +1 -0
  247. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js +13 -0
  248. package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js.map +1 -0
  249. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js +103 -0
  250. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js.map +1 -0
  251. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js +104 -0
  252. package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js.map +1 -0
  253. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +278 -0
  254. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -0
  255. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +279 -0
  256. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -0
  257. package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js +70 -0
  258. package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js.map +1 -0
  259. package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js +70 -0
  260. package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js.map +1 -0
  261. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +22 -12
  262. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  263. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +22 -12
  264. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  265. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +104 -14
  266. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +104 -14
  268. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  269. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +22 -12
  270. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +22 -12
  272. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
  274. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
  276. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +23 -13
  278. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -13
  280. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  281. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +22 -12
  282. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  283. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +22 -12
  284. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  285. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +22 -12
  286. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  287. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +22 -12
  288. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  289. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +4 -0
  290. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  291. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -0
  292. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  293. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +5 -0
  294. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  295. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +5 -0
  296. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  297. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +22 -12
  298. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  299. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +22 -12
  300. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  301. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +22 -12
  302. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  303. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +22 -12
  304. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  305. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +7 -2
  306. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  307. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +7 -2
  308. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  309. package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
  310. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  311. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
  312. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  313. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +22 -12
  314. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +22 -12
  316. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  317. package/dist/shared/src/containers/Actions/Actions.cjs.js +4 -0
  318. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/Actions/Actions.es.js +4 -0
  320. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  321. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +22 -12
  322. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +22 -12
  324. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +22 -12
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +22 -12
  328. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +22 -12
  330. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +22 -12
  332. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +22 -12
  334. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +22 -12
  336. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +18 -8
  338. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +18 -8
  340. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +4 -0
  342. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -0
  344. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -0
  346. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -0
  348. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  349. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +4 -0
  350. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -0
  352. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  353. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +357 -0
  354. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -0
  355. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +357 -0
  356. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -0
  357. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +262 -0
  358. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -0
  359. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +263 -0
  360. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -0
  361. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +273 -0
  362. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -0
  363. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +274 -0
  364. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -0
  365. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +250 -0
  366. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -0
  367. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +251 -0
  368. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -0
  369. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +35 -0
  370. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -0
  371. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +36 -0
  372. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -0
  373. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +235 -0
  374. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -0
  375. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +235 -0
  376. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -0
  377. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +49 -0
  378. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -0
  379. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +49 -0
  380. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -0
  381. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js +12 -0
  382. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js.map +1 -0
  383. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js +12 -0
  384. package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js.map +1 -0
  385. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js +26 -0
  386. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -0
  387. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js +26 -0
  388. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -0
  389. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +2 -0
  390. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +2 -0
  392. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -0
  394. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -0
  396. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  397. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
  398. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
  400. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  401. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +4 -0
  402. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +4 -0
  404. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  405. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +5 -4
  406. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +5 -4
  408. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  409. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +4 -0
  410. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -0
  412. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  413. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -0
  414. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -0
  416. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  417. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -0
  418. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -0
  420. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +36 -6
  422. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +36 -6
  424. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +25 -0
  426. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +25 -0
  428. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +263 -9
  430. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +264 -10
  432. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +21 -11
  434. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +21 -11
  436. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +4 -0
  438. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +4 -0
  440. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +1 -229
  442. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +2 -230
  444. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +432 -0
  446. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -0
  447. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +432 -0
  448. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -0
  449. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +120 -47
  450. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +121 -48
  452. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js +33 -0
  454. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -0
  455. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js +33 -0
  456. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -0
  457. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +4 -0
  458. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -0
  460. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +13 -0
  462. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +14 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +104 -5
  466. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +104 -5
  468. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +13 -0
  472. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +13 -0
  474. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +4 -0
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -0
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +127 -4
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +127 -4
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +134 -3
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +134 -3
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +199 -0
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +199 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +111 -12
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +111 -12
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +2 -0
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +2 -0
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +65 -9
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +65 -9
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -0
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +1 -0
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +113 -14
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +113 -14
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +4 -0
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +4 -0
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +4 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +4 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +199 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +199 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +201 -0
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -0
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +202 -0
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -0
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +4 -0
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -0
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +103 -4
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +103 -4
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +13 -7
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +13 -7
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +126 -15
  544. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +126 -15
  546. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -0
  548. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +1 -0
  550. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +49 -0
  552. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -0
  553. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +49 -0
  554. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -0
  555. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +2 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +2 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +142 -0
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +143 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +14 -7
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +14 -7
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +0 -7
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +0 -7
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +299 -0
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -0
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +299 -0
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -0
  575. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +22 -12
  576. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +22 -12
  578. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  579. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +528 -0
  580. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -0
  581. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +529 -0
  582. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -0
  583. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +160 -0
  584. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -0
  585. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +160 -0
  586. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -0
  587. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +74 -0
  588. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -0
  589. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +74 -0
  590. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -0
  591. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js +19 -0
  592. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js.map +1 -0
  593. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js +19 -0
  594. package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js.map +1 -0
  595. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -0
  596. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +1 -0
  598. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  599. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +18 -2
  600. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +18 -2
  602. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  603. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js.map +1 -1
  604. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js.map +1 -1
  605. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +6 -0
  606. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -0
  608. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  609. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -0
  610. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +1 -0
  612. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  613. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -0
  614. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  615. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +1 -0
  616. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  617. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +10 -3
  618. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +10 -3
  620. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  621. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +4 -0
  622. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  623. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -0
  624. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  625. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +4 -0
  626. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  627. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -0
  628. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  629. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js +2 -2
  630. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
  631. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js +1 -1
  632. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +4 -0
  633. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  634. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -0
  635. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  636. package/dist/shared/src/context/AddonProjectContext.cjs.js +4 -0
  637. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  638. package/dist/shared/src/context/AddonProjectContext.es.js +4 -0
  639. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  640. package/dist/shared/src/context/DetailsPanelContext.cjs.js +4 -0
  641. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  642. package/dist/shared/src/context/DetailsPanelContext.es.js +4 -0
  643. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  644. package/dist/shared/src/context/PowerpackContext.cjs.js +4 -0
  645. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  646. package/dist/shared/src/context/PowerpackContext.es.js +4 -0
  647. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  648. package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
  649. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  650. package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
  651. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  652. package/dist/shared/src/hooks/useActionTriggers.cjs.js +4 -0
  653. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  654. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -0
  655. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  656. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +4 -0
  657. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  658. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -0
  659. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  660. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +147 -0
  661. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -0
  662. package/dist/shared/src/hooks/useHierarchyTable.es.js +147 -0
  663. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -0
  664. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +12 -5
  665. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  666. package/dist/shared/src/hooks/useScopedStatuses.es.js +12 -5
  667. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  668. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +4 -0
  669. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  670. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -0
  671. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  672. package/dist/shared/src/{utils/extractVersionFromFilename.es.js.map → util/extractVersionFromFilename.cjs.js.map} +1 -1
  673. package/dist/shared/src/util/extractVersionFromFilename.es.js.map +1 -0
  674. package/dist/shared/src/util/getEntityId.cjs.js +11 -0
  675. package/dist/shared/src/util/getEntityId.cjs.js.map +1 -0
  676. package/dist/shared/src/util/getEntityId.es.js +11 -0
  677. package/dist/shared/src/util/getEntityId.es.js.map +1 -0
  678. package/dist/shared/src/{utils → util}/versionUploadHelpers.cjs.js +3 -2
  679. package/dist/shared/src/{utils/versionUploadHelpers.es.js.map → util/versionUploadHelpers.cjs.js.map} +1 -1
  680. package/dist/shared/src/{utils → util}/versionUploadHelpers.es.js +3 -2
  681. package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -0
  682. package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js +16 -0
  683. package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js.map +1 -0
  684. package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js +17 -0
  685. package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js.map +1 -0
  686. package/dist/types/SimpleTable.d.ts +6 -0
  687. package/dist/types/api/generated/graphql.d.ts +116 -33
  688. package/dist/types/api/generated/graphqlLinks.d.ts +2269 -0
  689. package/dist/types/api/generated/index.d.ts +2 -0
  690. package/dist/types/api/queries/entities/getEntity.d.ts +80 -79
  691. package/dist/types/api/queries/entityLists/types.d.ts +5 -5
  692. package/dist/types/api/queries/index.d.ts +1 -0
  693. package/dist/types/api/queries/links/getEntityLinks.d.ts +182 -0
  694. package/dist/types/api/queries/links/getLinks.d.ts +862 -0
  695. package/dist/types/api/queries/links/index.d.ts +3 -0
  696. package/dist/types/api/queries/links/updateLinks.d.ts +321 -0
  697. package/dist/types/api/queries/links/utils/formatEntityLinks.d.ts +1 -0
  698. package/dist/types/api/queries/overview/index.d.ts +1 -0
  699. package/dist/types/api/queries/overview/updateOverview.d.ts +9 -0
  700. package/dist/types/components/Chips/Chips.d.ts +14 -0
  701. package/dist/types/components/Chips/index.d.ts +1 -0
  702. package/dist/types/components/LinksManager/AddNewLinks.d.ts +11 -0
  703. package/dist/types/components/LinksManager/LinkManagerItem.d.ts +9 -0
  704. package/dist/types/components/LinksManager/LinksManager.d.ts +24 -0
  705. package/dist/types/components/LinksManager/LinksManager.styled.d.ts +17 -0
  706. package/dist/types/components/LinksManager/LinksManagerDialog.d.ts +9 -0
  707. package/dist/types/components/LinksManager/SearchingLoadingItems.d.ts +5 -0
  708. package/dist/types/components/LinksManager/hooks/useKeyboardNavigation.d.ts +24 -0
  709. package/dist/types/components/LinksManager/hooks/useUpdateLinks.d.ts +24 -0
  710. package/dist/types/components/LinksManager/index.d.ts +2 -0
  711. package/dist/types/components/LinksManager/utils/formatEntityPath.d.ts +1 -0
  712. package/dist/types/components/LinksManager/utils/linkUpdates.d.ts +47 -0
  713. package/dist/types/components/index.d.ts +2 -0
  714. package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +15 -0
  715. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +17 -0
  716. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableHeader.d.ts +25 -0
  717. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableSearch.d.ts +8 -0
  718. package/dist/types/containers/EntityPickerDialog/components/index.d.ts +1 -0
  719. package/dist/types/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.d.ts +9 -0
  720. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +28 -0
  721. package/dist/types/containers/EntityPickerDialog/index.d.ts +1 -0
  722. package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +8 -0
  723. package/dist/types/containers/EntityPickerDialog/util/entityHierarchies.d.ts +3 -0
  724. package/dist/types/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.d.ts +2 -0
  725. package/dist/types/containers/EntityPickerDialog/util/index.d.ts +3 -0
  726. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -2
  727. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
  728. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +6 -1
  729. package/dist/types/containers/ProjectTreeTable/context/CellEditingContext.d.ts +1 -4
  730. package/dist/types/containers/ProjectTreeTable/context/CellEditingProvider.d.ts +4 -0
  731. package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +16 -0
  732. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
  733. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +2 -0
  734. package/dist/types/containers/ProjectTreeTable/hooks/useHistory.d.ts +1 -1
  735. package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +34 -0
  736. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  737. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +10 -34
  738. package/dist/types/containers/ProjectTreeTable/utils/cellUtils.d.ts +2 -0
  739. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  740. package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +17 -0
  741. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +7 -1
  742. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +23 -0
  743. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  744. package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.d.ts +7 -0
  745. package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTableRowTemplate.d.ts +1 -0
  746. package/dist/types/{SimpleTable → containers/SimpleTable}/index.d.ts +1 -0
  747. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
  748. package/dist/types/hooks/index.d.ts +1 -0
  749. package/dist/types/hooks/useHierarchyTable.d.ts +13 -0
  750. package/dist/types/util/getEntityId.d.ts +2 -0
  751. package/dist/types/util/index.d.ts +3 -0
  752. package/dist/util.cjs.js +16 -0
  753. package/dist/util.cjs.js.map +1 -1
  754. package/dist/util.es.js +17 -1
  755. package/dist/util.es.js.map +1 -1
  756. package/package.json +8 -2
  757. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js +0 -7
  758. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js.map +0 -1
  759. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js +0 -8
  760. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js.map +0 -1
  761. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js +0 -14
  762. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js.map +0 -1
  763. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js +0 -15
  764. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js.map +0 -1
  765. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js +0 -11
  766. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js.map +0 -1
  767. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js +0 -11
  768. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js.map +0 -1
  769. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js +0 -57
  770. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js.map +0 -1
  771. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js +0 -58
  772. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js.map +0 -1
  773. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js +0 -16
  774. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js.map +0 -1
  775. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js +0 -17
  776. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js.map +0 -1
  777. package/dist/shared/src/utils/extractVersionFromFilename.cjs.js.map +0 -1
  778. package/dist/shared/src/utils/versionUploadHelpers.cjs.js.map +0 -1
  779. /package/dist/shared/src/{utils → util}/extractVersionFromFilename.cjs.js +0 -0
  780. /package/dist/shared/src/{utils → util}/extractVersionFromFilename.es.js +0 -0
  781. /package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.styled.d.ts +0 -0
  782. /package/dist/types/{SimpleTable → containers/SimpleTable}/context/SimpleTableContext.d.ts +0 -0
  783. /package/dist/types/{utils → util}/extractVersionFromFilename.d.ts +0 -0
  784. /package/dist/types/{utils → util}/versionUploadHelpers.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useDeleteEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useDeleteEntities.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\n// TODO: confirmDelete uses prime react, so we should find a different solution\nimport { confirmDelete } from '../../../util'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { toast } from 'react-toastify'\nimport { EntityMap } from '../types'\nimport { OperationWithRowId } from './useUpdateTableData'\n\ntype UseDeleteEntitiesProps = {\n onSuccess?: () => void\n}\n\nconst useDeleteEntities = ({ onSuccess }: UseDeleteEntitiesProps) => {\n const { updateEntities } = useProjectTableQueriesContext()\n\n const { getEntityById } = useProjectTableContext()\n\n const getValidEntity = (entityId: string): (EntityMap & { rowId: string }) | null => {\n const entity = getEntityById(entityId) as EntityMap & { rowId: string }\n return entity || null\n }\n\n const handleDeleteEntities = useCallback(\n async (entityIds: string[]) => {\n if (!entityIds || entityIds.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n const fullEntities: (EntityMap & { rowId: string })[] = []\n const addedEntityIds = new Set<string>()\n\n for (const id of entityIds) {\n const entity = getValidEntity(id)\n if (entity && !addedEntityIds.has(entity.id)) {\n fullEntities.push(entity)\n addedEntityIds.add(entity.id)\n }\n }\n\n if (fullEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n const deleteEntities = async (force = false) => {\n const operations: OperationWithRowId[] = []\n for (const e of fullEntities) {\n if (!e) continue\n operations.push({\n entityType: 'folderId' in e ? 'task' : 'folder',\n type: 'delete',\n entityId: e.id,\n rowId: e.rowId,\n force,\n })\n }\n try {\n await updateEntities?.({ operations })\n if (onSuccess) {\n onSuccess()\n }\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error(`Failed to delete entities:`, error)\n throw { message, ...error }\n }\n }\n\n const entityLabel =\n fullEntities.length === 1\n ? `\"${fullEntities[0].label || fullEntities[0].name}\"`\n : `${fullEntities.length} entities`\n\n confirmDelete({\n label: 'folders and tasks',\n message: `Are you sure you want to delete ${entityLabel}? This action cannot be undone.`,\n accept: deleteEntities,\n onError: (error: any) => {\n const FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n // check if the error is because of child tasks, products\n if (error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) {\n const confirmForce = window.confirm(\n `Are you really sure you want to delete ${entityLabel} and all of its dependencies? This cannot be undone. (NOT RECOMMENDED)`,\n )\n if (confirmForce) {\n deleteEntities(true)\n } else {\n console.log('User cancelled forced delete')\n }\n }\n },\n deleteLabel: 'Delete forever',\n })\n },\n [getEntityById, updateEntities, onSuccess],\n )\n\n return handleDeleteEntities\n}\n\nexport default useDeleteEntities\n"],"names":[],"mappings":";;;;;;AAaA,MAAM,oBAAoB,CAAC,EAAE,gBAAwC;AAC7D,QAAA,EAAE,eAAe,IAAI,8BAA8B;AAEnD,QAAA,EAAE,cAAc,IAAI,uBAAuB;AAE3C,QAAA,iBAAiB,CAAC,aAA6D;AAC7E,UAAA,SAAS,cAAc,QAAQ;AACrC,WAAO,UAAU;AAAA,EACnB;AAEA,QAAM,uBAAuB;AAAA,IAC3B,OAAO,cAAwB;AAC7B,UAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxC,cAAM,MAAM,sBAAsB;AAClC;AAAA,MAAA;AAGF,YAAM,eAAkD,CAAC;AACnD,YAAA,qCAAqB,IAAY;AAEvC,iBAAW,MAAM,WAAW;AACpB,cAAA,SAAS,eAAe,EAAE;AAChC,YAAI,UAAU,CAAC,eAAe,IAAI,OAAO,EAAE,GAAG;AAC5C,uBAAa,KAAK,MAAM;AACT,yBAAA,IAAI,OAAO,EAAE;AAAA,QAAA;AAAA,MAC9B;AAGE,UAAA,aAAa,WAAW,GAAG;AAC7B,cAAM,MAAM,mBAAmB;AAC/B;AAAA,MAAA;AAGI,YAAA,iBAAiB,OAAO,QAAQ,UAAU;AAC9C,cAAM,aAAmC,CAAC;AAC1C,mBAAW,KAAK,cAAc;AAC5B,cAAI,CAAC,EAAG;AACR,qBAAW,KAAK;AAAA,YACd,YAAY,cAAc,IAAI,SAAS;AAAA,YACvC,MAAM;AAAA,YACN,UAAU,EAAE;AAAA,YACZ,OAAO,EAAE;AAAA,YACT;AAAA,UAAA,CACD;AAAA,QAAA;AAEC,YAAA;AACI,iBAAA,iDAAiB,EAAE;AACzB,cAAI,WAAW;AACH,sBAAA;AAAA,UAAA;AAAA,iBAEL,OAAY;AACb,gBAAA,WAAU,+BAAO,UAAS;AACxB,kBAAA,MAAM,8BAA8B,KAAK;AAC3C,gBAAA,EAAE,SAAS,GAAG,MAAM;AAAA,QAAA;AAAA,MAE9B;AAEA,YAAM,cACJ,aAAa,WAAW,IACpB,IAAI,aAAa,CAAC,EAAE,SAAS,aAAa,CAAC,EAAE,IAAI,MACjD,GAAG,aAAa,MAAM;AAEd,oBAAA;AAAA,QACZ,OAAO;AAAA,QACP,SAAS,mCAAmC,WAAW;AAAA,QACvD,QAAQ;AAAA,QACR,SAAS,CAAC,UAAe;;AACvB,gBAAM,4BAA4B;AAElC,eAAI,oCAAO,eAAP,mBAAmB,SAAS,4BAA4B;AAC1D,kBAAM,eAAe,OAAO;AAAA,cAC1B,0CAA0C,WAAW;AAAA,YACvD;AACA,gBAAI,cAAc;AAChB,6BAAe,IAAI;AAAA,YAAA,OACd;AACL,sBAAQ,IAAI,8BAA8B;AAAA,YAAA;AAAA,UAC5C;AAAA,QAEJ;AAAA,QACA,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAAC,eAAe,gBAAgB,SAAS;AAAA,EAC3C;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"useDeleteEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useDeleteEntities.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\n// TODO: confirmDelete uses prime react, so we should find a different solution\nimport { confirmDelete } from '../../../util'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { toast } from 'react-toastify'\nimport { EntityMap } from '../types'\nimport { OperationWithRowId } from './useUpdateTableData'\n\ntype UseDeleteEntitiesProps = {\n onSuccess?: () => void\n}\n\nconst useDeleteEntities = ({ onSuccess }: UseDeleteEntitiesProps) => {\n const { updateEntities } = useProjectTableQueriesContext()\n\n const { getEntityById } = useProjectTableContext()\n\n const getValidEntity = (entityId: string): (EntityMap & { rowId: string }) | null => {\n const entity = getEntityById(entityId) as EntityMap & { rowId: string }\n return entity || null\n }\n\n const handleDeleteEntities = useCallback(\n async (entityIds: string[]) => {\n if (!entityIds || entityIds.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n const fullEntities: (EntityMap & { rowId: string })[] = []\n const addedEntityIds = new Set<string>()\n\n for (const id of entityIds) {\n const entity = getValidEntity(id)\n if (entity && !addedEntityIds.has(entity.id)) {\n fullEntities.push(entity)\n addedEntityIds.add(entity.id)\n }\n }\n\n if (fullEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n const deleteEntities = async (force = false) => {\n const operations: OperationWithRowId[] = []\n for (const e of fullEntities) {\n if (!e) continue\n operations.push({\n entityType: 'folderId' in e ? 'task' : 'folder',\n type: 'delete',\n entityId: e.id,\n rowId: e.rowId,\n force,\n })\n }\n try {\n await updateEntities?.({ operations })\n if (onSuccess) {\n onSuccess()\n }\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error(`Failed to delete entities:`, error)\n throw { message, ...error }\n }\n }\n\n const entityLabel =\n fullEntities.length === 1\n ? `\"${fullEntities[0].label || fullEntities[0].name}\"`\n : `${fullEntities.length} entities`\n\n confirmDelete({\n label: 'folders and tasks',\n message: `Are you sure you want to delete ${entityLabel}? This action cannot be undone.`,\n accept: deleteEntities,\n onError: (error: any) => {\n const FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n // check if the error is because of child tasks, products\n if (error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) {\n const confirmForce = window.confirm(\n `Are you really sure you want to delete ${entityLabel} and all of its dependencies? This cannot be undone. (NOT RECOMMENDED)`,\n )\n if (confirmForce) {\n deleteEntities(true)\n } else {\n console.log('User cancelled forced delete')\n }\n }\n },\n deleteLabel: 'Delete forever',\n })\n },\n [getEntityById, updateEntities, onSuccess],\n )\n\n return handleDeleteEntities\n}\n\nexport default useDeleteEntities\n"],"names":[],"mappings":";;;;;;;;AAaA,MAAM,oBAAoB,CAAC,EAAE,gBAAwC;AAC7D,QAAA,EAAE,eAAe,IAAI,8BAA8B;AAEnD,QAAA,EAAE,cAAc,IAAI,uBAAuB;AAE3C,QAAA,iBAAiB,CAAC,aAA6D;AAC7E,UAAA,SAAS,cAAc,QAAQ;AACrC,WAAO,UAAU;AAAA,EACnB;AAEA,QAAM,uBAAuB;AAAA,IAC3B,OAAO,cAAwB;AAC7B,UAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxC,cAAM,MAAM,sBAAsB;AAClC;AAAA,MAAA;AAGF,YAAM,eAAkD,CAAC;AACnD,YAAA,qCAAqB,IAAY;AAEvC,iBAAW,MAAM,WAAW;AACpB,cAAA,SAAS,eAAe,EAAE;AAChC,YAAI,UAAU,CAAC,eAAe,IAAI,OAAO,EAAE,GAAG;AAC5C,uBAAa,KAAK,MAAM;AACT,yBAAA,IAAI,OAAO,EAAE;AAAA,QAAA;AAAA,MAC9B;AAGE,UAAA,aAAa,WAAW,GAAG;AAC7B,cAAM,MAAM,mBAAmB;AAC/B;AAAA,MAAA;AAGI,YAAA,iBAAiB,OAAO,QAAQ,UAAU;AAC9C,cAAM,aAAmC,CAAC;AAC1C,mBAAW,KAAK,cAAc;AAC5B,cAAI,CAAC,EAAG;AACR,qBAAW,KAAK;AAAA,YACd,YAAY,cAAc,IAAI,SAAS;AAAA,YACvC,MAAM;AAAA,YACN,UAAU,EAAE;AAAA,YACZ,OAAO,EAAE;AAAA,YACT;AAAA,UAAA,CACD;AAAA,QAAA;AAEC,YAAA;AACI,iBAAA,iDAAiB,EAAE;AACzB,cAAI,WAAW;AACH,sBAAA;AAAA,UAAA;AAAA,iBAEL,OAAY;AACb,gBAAA,WAAU,+BAAO,UAAS;AACxB,kBAAA,MAAM,8BAA8B,KAAK;AAC3C,gBAAA,EAAE,SAAS,GAAG,MAAM;AAAA,QAAA;AAAA,MAE9B;AAEA,YAAM,cACJ,aAAa,WAAW,IACpB,IAAI,aAAa,CAAC,EAAE,SAAS,aAAa,CAAC,EAAE,IAAI,MACjD,GAAG,aAAa,MAAM;AAEd,oBAAA;AAAA,QACZ,OAAO;AAAA,QACP,SAAS,mCAAmC,WAAW;AAAA,QACvD,QAAQ;AAAA,QACR,SAAS,CAAC,UAAe;;AACvB,gBAAM,4BAA4B;AAElC,eAAI,oCAAO,eAAP,mBAAmB,SAAS,4BAA4B;AAC1D,kBAAM,eAAe,OAAO;AAAA,cAC1B,0CAA0C,WAAW;AAAA,YACvD;AACA,gBAAI,cAAc;AAChB,6BAAe,IAAI;AAAA,YAAA,OACd;AACL,sBAAQ,IAAI,8BAA8B;AAAA,YAAA;AAAA,UAC5C;AAAA,QAEJ;AAAA,QACA,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAAC,eAAe,gBAAgB,SAAS;AAAA,EAC3C;AAEO,SAAA;AACT;"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("../../../api/base/client.cjs.js");
4
4
  require("../../../api/generated/graphql.cjs.js");
5
+ require("../../../api/generated/graphqlLinks.cjs.js");
5
6
  require("../../../api/generated/access.cjs.js");
6
7
  require("../../../api/generated/actions.cjs.js");
7
8
  require("../../../api/generated/activityFeed.cjs.js");
@@ -57,6 +58,9 @@ require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
57
58
  require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
58
59
  const getFolders = require("../../../api/queries/folders/getFolders.cjs.js");
59
60
  require("../../../api/queries/grouping/getGrouping.cjs.js");
61
+ require("../../../api/queries/links/updateLinks.cjs.js");
62
+ require("../../../api/queries/links/getLinks.cjs.js");
63
+ const getEntityLinks = require("../../../api/queries/links/getEntityLinks.cjs.js");
60
64
  const getOverview = require("../../../api/queries/overview/getOverview.cjs.js");
61
65
  require("../../../api/queries/overview/updateOverview.cjs.js");
62
66
  require("../../../api/queries/permissions/getPermissions.cjs.js");
@@ -116,6 +120,7 @@ const useFetchOverviewData = ({
116
120
  },
117
121
  { skip: !expandedParentIds.length || !showHierarchy }
118
122
  );
123
+ const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !showHierarchy;
119
124
  const {
120
125
  data: foldersByTaskFilter,
121
126
  isUninitialized,
@@ -128,16 +133,43 @@ const useFetchOverviewData = ({
128
133
  tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search }
129
134
  },
130
135
  {
131
- skip: !queryFilters.filterString || !folders.length || !showHierarchy
136
+ skip: skipFoldersByTaskFilter
132
137
  }
133
138
  );
139
+ const visibleFolders = React.useMemo(() => {
140
+ const visibleSet = /* @__PURE__ */ new Set();
141
+ folders.forEach((folder) => {
142
+ if (!folder.parentId) {
143
+ visibleSet.add(folder.id);
144
+ return;
145
+ }
146
+ const parentId = folder.parentId;
147
+ const isSelectedInSlicer = selectedFolders.includes(folder.id);
148
+ const expandedMap = expanded;
149
+ if (expandedMap[parentId] === true || isSelectedInSlicer) {
150
+ visibleSet.add(folder.id);
151
+ }
152
+ });
153
+ return visibleSet;
154
+ }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders]);
155
+ const {
156
+ data: foldersLinks = [],
157
+ refetch: refetchFoldersLinks,
158
+ isUninitialized: isUninitializedFoldersLinks
159
+ } = getEntityLinks.useGetEntityLinksQuery({
160
+ projectName,
161
+ entityIds: Array.from(visibleFolders),
162
+ entityType: "folder"
163
+ });
134
164
  const foldersMap = React.useMemo(() => {
135
165
  const map = /* @__PURE__ */ new Map();
136
166
  const addExtraDataToFolder = (folder) => {
167
+ var _a;
137
168
  const folderWithExtraData = {
138
169
  ...folder,
139
170
  entityId: folder.id,
140
- entityType: "folder"
171
+ entityType: "folder",
172
+ links: ((_a = foldersLinks == null ? void 0 : foldersLinks.find((link) => link.id === folder.id)) == null ? void 0 : _a.links) || []
141
173
  };
142
174
  return folderWithExtraData;
143
175
  };
@@ -197,7 +229,7 @@ const useFetchOverviewData = ({
197
229
  return filteredMap;
198
230
  }
199
231
  return map;
200
- }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders]);
232
+ }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks]);
201
233
  const loadingTasksForParents = React.useMemo(() => {
202
234
  if (isFetchingExpandedFoldersTasks) {
203
235
  return loadingUtils.determineLoadingTaskFolders({
@@ -298,6 +330,24 @@ const useFetchOverviewData = ({
298
330
  skip: !groupBy || !groupQueries.length || isLoadingModules
299
331
  }
300
332
  );
333
+ const visibleTasks = React.useMemo(() => {
334
+ const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList;
335
+ return new Set(allTasks.map((task) => task.id));
336
+ }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy]);
337
+ const {
338
+ data: tasksLinks = [],
339
+ refetch: refetchTasksLinks,
340
+ isUninitialized: isUninitializedTasksLinks
341
+ } = getEntityLinks.useGetEntityLinksQuery(
342
+ {
343
+ projectName,
344
+ entityIds: Array.from(visibleTasks),
345
+ entityType: "task"
346
+ },
347
+ {
348
+ skip: visibleTasks.size === 0
349
+ }
350
+ );
301
351
  const handleFetchNextPage = (group) => {
302
352
  if (groupBy) {
303
353
  if (group && group in groupPageCounts) {
@@ -316,11 +366,15 @@ const useFetchOverviewData = ({
316
366
  const { tasksMap, tasksByFolderMap } = React.useMemo(() => {
317
367
  const tasksMap2 = /* @__PURE__ */ new Map();
318
368
  const tasksByFolderMap2 = /* @__PURE__ */ new Map();
319
- const addExtraDataToTask = (task) => ({
320
- ...task,
321
- entityId: task.id,
322
- entityType: "task"
323
- });
369
+ const addExtraDataToTask = (task) => {
370
+ var _a;
371
+ return {
372
+ ...task,
373
+ entityId: task.id,
374
+ entityType: "task",
375
+ links: ((_a = tasksLinks == null ? void 0 : tasksLinks.find((link) => link.id === task.id)) == null ? void 0 : _a.links) || []
376
+ };
377
+ };
324
378
  const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList;
325
379
  for (const task of allTasks) {
326
380
  const taskId = task.id;
@@ -344,13 +398,15 @@ const useFetchOverviewData = ({
344
398
  }
345
399
  }
346
400
  return { tasksMap: tasksMap2, tasksByFolderMap: tasksByFolderMap2 };
347
- }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks]);
401
+ }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks]);
348
402
  const reloadTableData = () => {
349
403
  if (!isUninitializedFolders) refetchFolders();
350
404
  if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks();
351
405
  if (!isUninitializedTasksFolders) refetchTasksFolders();
352
406
  if (!isUninitializedTasksList) refetchTasksList();
353
407
  if (!isUninitializedGroupedTasks) refetchGroupedTasks();
408
+ if (!isUninitializedFoldersLinks) refetchFoldersLinks();
409
+ if (!isUninitializedTasksLinks) refetchTasksLinks();
354
410
  };
355
411
  return {
356
412
  foldersMap,
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} from '@shared/api'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks } from '../types'\nimport { TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from './useProjectTableModules'\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n queryFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // console.log('Folder count:', folders.length)\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\n },\n {\n skip: !queryFilters.filterString || !folders.length || !showHierarchy,\n },\n )\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n const selectedPaths = selectedFolders\n .map((id) => map.get(id)?.path)\n .filter(Boolean) as string[]\n\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n\n // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n },\n )\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const initGroupPageCounts = useMemo(() => {\n return taskGroups.reduce((acc, group) => {\n acc[group.value] = 1 // initialize each group with 1 count\n return acc\n }, {} as Record<string, number>)\n }, [taskGroups])\n const [groupPageCounts, setGroupPageCounts] = useState<Record<string, number>>({})\n\n // when initGroupPageCounts changes, set it to groupPageCounts\n useEffect(() => {\n const hasInitData = Object.keys(initGroupPageCounts).length > 0\n const hasCurrentData = Object.keys(groupPageCounts).length > 0\n\n if (hasInitData && !hasCurrentData) {\n setGroupPageCounts(initGroupPageCounts)\n }\n }, [initGroupPageCounts])\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n\n // get the data type for the groupBy\n const groupByDataType = useMemo(() => {\n if (!groupBy?.id) return 'string'\n\n const groupById = groupBy.id\n\n // Handle special cases for built-in group types\n if (groupById === 'assignees' || groupById === 'tags') {\n return 'list_of_strings'\n }\n\n // Handle attribute-based grouping (format: \"attrib.attributeName\")\n if (groupById.startsWith('attrib.')) {\n const attributeName = groupById.split('.')[1]\n const attribute = attribFields.find((field) => field.name === attributeName)\n return attribute?.data?.type || 'string'\n }\n\n // Default fallback\n return 'string'\n }, [groupBy?.id, attribFields])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n taskGroups,\n filters: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\n isUninitialized: isUninitializedGroupedTasks,\n refetch: refetchGroupedTasks,\n } = useGetGroupedTasksListQuery(\n {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n // fetch next page for a specific group by increasing the count in groupPageCounts\n setGroupPageCounts((prevCounts) => {\n const newCounts = { ...prevCounts }\n newCounts[group] = (newCounts[group] || 1) + 1 // increment the count for this group\n return newCounts\n })\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n })\n\n // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks])\n\n // reload all data for all queries\n const reloadTableData = () => {\n // only reload if there is data\n if (!isUninitializedFolders) refetchFolders()\n if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks()\n if (!isUninitializedTasksFolders) refetchTasksFolders()\n if (!isUninitializedTasksList) refetchTasksList()\n if (!isUninitializedGroupedTasks) refetchGroupedTasks()\n }\n\n return {\n foldersMap: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoading ||\n isFetchingFolders ||\n (isFetchingTasksList && !isFetchingNextPageTasksList) ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["useGetFolderListQuery","isGroupId","useGetOverviewTasksByFoldersQuery","useGetQueryTasksFoldersQuery","useMemo","determineLoadingTaskFolders","useState","useEffect","useGetTasksListInfiniteInfiniteQuery","useGetGroupedTasksListQuery","tasksMap","tasksByFolderMap"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchOverviewData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} from '@shared/api'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks } from '../types'\nimport { TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from './useProjectTableModules'\nimport { useGetEntityLinksQuery } from '@shared/api'\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n queryFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // console.log('Folder count:', folders.length)\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !showHierarchy\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\n },\n {\n skip: skipFoldersByTaskFilter,\n },\n )\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isSelectedInSlicer = selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isSelectedInSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery({\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\n })\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n const selectedPaths = selectedFolders\n .map((id) => map.get(id)?.path)\n .filter(Boolean) as string[]\n\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n\n // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n },\n )\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const initGroupPageCounts = useMemo(() => {\n return taskGroups.reduce((acc, group) => {\n acc[group.value] = 1 // initialize each group with 1 count\n return acc\n }, {} as Record<string, number>)\n }, [taskGroups])\n const [groupPageCounts, setGroupPageCounts] = useState<Record<string, number>>({})\n\n // when initGroupPageCounts changes, set it to groupPageCounts\n useEffect(() => {\n const hasInitData = Object.keys(initGroupPageCounts).length > 0\n const hasCurrentData = Object.keys(groupPageCounts).length > 0\n\n if (hasInitData && !hasCurrentData) {\n setGroupPageCounts(initGroupPageCounts)\n }\n }, [initGroupPageCounts])\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n\n // get the data type for the groupBy\n const groupByDataType = useMemo(() => {\n if (!groupBy?.id) return 'string'\n\n const groupById = groupBy.id\n\n // Handle special cases for built-in group types\n if (groupById === 'assignees' || groupById === 'tags') {\n return 'list_of_strings'\n }\n\n // Handle attribute-based grouping (format: \"attrib.attributeName\")\n if (groupById.startsWith('attrib.')) {\n const attributeName = groupById.split('.')[1]\n const attribute = attribFields.find((field) => field.name === attributeName)\n return attribute?.data?.type || 'string'\n }\n\n // Default fallback\n return 'string'\n }, [groupBy?.id, attribFields])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n taskGroups,\n filters: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\n isUninitialized: isUninitializedGroupedTasks,\n refetch: refetchGroupedTasks,\n } = useGetGroupedTasksListQuery(\n {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n return new Set(allTasks.map((task) => task.id))\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy])\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n refetch: refetchTasksLinks,\n isUninitialized: isUninitializedTasksLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task',\n },\n {\n skip: visibleTasks.size === 0,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n // fetch next page for a specific group by increasing the count in groupPageCounts\n setGroupPageCounts((prevCounts) => {\n const newCounts = { ...prevCounts }\n newCounts[group] = (newCounts[group] || 1) + 1 // increment the count for this group\n return newCounts\n })\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks])\n\n // reload all data for all queries\n const reloadTableData = () => {\n // only reload if there is data\n if (!isUninitializedFolders) refetchFolders()\n if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks()\n if (!isUninitializedTasksFolders) refetchTasksFolders()\n if (!isUninitializedTasksList) refetchTasksList()\n if (!isUninitializedGroupedTasks) refetchGroupedTasks()\n if (!isUninitializedFoldersLinks) refetchFoldersLinks()\n if (!isUninitializedTasksLinks) refetchTasksLinks()\n }\n\n return {\n foldersMap: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoading ||\n isFetchingFolders ||\n (isFetchingTasksList && !isFetchingNextPageTasksList) ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["useGetFolderListQuery","isGroupId","useGetOverviewTasksByFoldersQuery","useGetQueryTasksFoldersQuery","useMemo","useGetEntityLinksQuery","determineLoadingTaskFolders","useState","useEffect","useGetTasksListInfiniteInfiniteQuery","useGetGroupedTasksListQuery","tasksMap","tasksByFolderMap"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import "../../../api/base/client.es.js";
2
2
  import "../../../api/generated/graphql.es.js";
3
+ import "../../../api/generated/graphqlLinks.es.js";
3
4
  import "../../../api/generated/access.es.js";
4
5
  import "../../../api/generated/actions.es.js";
5
6
  import "../../../api/generated/activityFeed.es.js";
@@ -55,6 +56,9 @@ import "../../../api/queries/entityLists/getListsAttributes.es.js";
55
56
  import "../../../api/queries/entityLists/updateListsAttributes.es.js";
56
57
  import { useGetFolderListQuery } from "../../../api/queries/folders/getFolders.es.js";
57
58
  import "../../../api/queries/grouping/getGrouping.es.js";
59
+ import "../../../api/queries/links/updateLinks.es.js";
60
+ import "../../../api/queries/links/getLinks.es.js";
61
+ import { useGetEntityLinksQuery } from "../../../api/queries/links/getEntityLinks.es.js";
58
62
  import { useGetOverviewTasksByFoldersQuery, useGetQueryTasksFoldersQuery, useGetTasksListInfiniteInfiniteQuery, useGetGroupedTasksListQuery } from "../../../api/queries/overview/getOverview.es.js";
59
63
  import "../../../api/queries/overview/updateOverview.es.js";
60
64
  import "../../../api/queries/permissions/getPermissions.es.js";
@@ -114,6 +118,7 @@ const useFetchOverviewData = ({
114
118
  },
115
119
  { skip: !expandedParentIds.length || !showHierarchy }
116
120
  );
121
+ const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !showHierarchy;
117
122
  const {
118
123
  data: foldersByTaskFilter,
119
124
  isUninitialized,
@@ -126,16 +131,43 @@ const useFetchOverviewData = ({
126
131
  tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search }
127
132
  },
128
133
  {
129
- skip: !queryFilters.filterString || !folders.length || !showHierarchy
134
+ skip: skipFoldersByTaskFilter
130
135
  }
131
136
  );
137
+ const visibleFolders = useMemo(() => {
138
+ const visibleSet = /* @__PURE__ */ new Set();
139
+ folders.forEach((folder) => {
140
+ if (!folder.parentId) {
141
+ visibleSet.add(folder.id);
142
+ return;
143
+ }
144
+ const parentId = folder.parentId;
145
+ const isSelectedInSlicer = selectedFolders.includes(folder.id);
146
+ const expandedMap = expanded;
147
+ if (expandedMap[parentId] === true || isSelectedInSlicer) {
148
+ visibleSet.add(folder.id);
149
+ }
150
+ });
151
+ return visibleSet;
152
+ }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders]);
153
+ const {
154
+ data: foldersLinks = [],
155
+ refetch: refetchFoldersLinks,
156
+ isUninitialized: isUninitializedFoldersLinks
157
+ } = useGetEntityLinksQuery({
158
+ projectName,
159
+ entityIds: Array.from(visibleFolders),
160
+ entityType: "folder"
161
+ });
132
162
  const foldersMap = useMemo(() => {
133
163
  const map = /* @__PURE__ */ new Map();
134
164
  const addExtraDataToFolder = (folder) => {
165
+ var _a;
135
166
  const folderWithExtraData = {
136
167
  ...folder,
137
168
  entityId: folder.id,
138
- entityType: "folder"
169
+ entityType: "folder",
170
+ links: ((_a = foldersLinks == null ? void 0 : foldersLinks.find((link) => link.id === folder.id)) == null ? void 0 : _a.links) || []
139
171
  };
140
172
  return folderWithExtraData;
141
173
  };
@@ -195,7 +227,7 @@ const useFetchOverviewData = ({
195
227
  return filteredMap;
196
228
  }
197
229
  return map;
198
- }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders]);
230
+ }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks]);
199
231
  const loadingTasksForParents = useMemo(() => {
200
232
  if (isFetchingExpandedFoldersTasks) {
201
233
  return determineLoadingTaskFolders({
@@ -296,6 +328,24 @@ const useFetchOverviewData = ({
296
328
  skip: !groupBy || !groupQueries.length || isLoadingModules
297
329
  }
298
330
  );
331
+ const visibleTasks = useMemo(() => {
332
+ const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList;
333
+ return new Set(allTasks.map((task) => task.id));
334
+ }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy]);
335
+ const {
336
+ data: tasksLinks = [],
337
+ refetch: refetchTasksLinks,
338
+ isUninitialized: isUninitializedTasksLinks
339
+ } = useGetEntityLinksQuery(
340
+ {
341
+ projectName,
342
+ entityIds: Array.from(visibleTasks),
343
+ entityType: "task"
344
+ },
345
+ {
346
+ skip: visibleTasks.size === 0
347
+ }
348
+ );
299
349
  const handleFetchNextPage = (group) => {
300
350
  if (groupBy) {
301
351
  if (group && group in groupPageCounts) {
@@ -314,11 +364,15 @@ const useFetchOverviewData = ({
314
364
  const { tasksMap, tasksByFolderMap } = useMemo(() => {
315
365
  const tasksMap2 = /* @__PURE__ */ new Map();
316
366
  const tasksByFolderMap2 = /* @__PURE__ */ new Map();
317
- const addExtraDataToTask = (task) => ({
318
- ...task,
319
- entityId: task.id,
320
- entityType: "task"
321
- });
367
+ const addExtraDataToTask = (task) => {
368
+ var _a;
369
+ return {
370
+ ...task,
371
+ entityId: task.id,
372
+ entityType: "task",
373
+ links: ((_a = tasksLinks == null ? void 0 : tasksLinks.find((link) => link.id === task.id)) == null ? void 0 : _a.links) || []
374
+ };
375
+ };
322
376
  const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList;
323
377
  for (const task of allTasks) {
324
378
  const taskId = task.id;
@@ -342,13 +396,15 @@ const useFetchOverviewData = ({
342
396
  }
343
397
  }
344
398
  return { tasksMap: tasksMap2, tasksByFolderMap: tasksByFolderMap2 };
345
- }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks]);
399
+ }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks]);
346
400
  const reloadTableData = () => {
347
401
  if (!isUninitializedFolders) refetchFolders();
348
402
  if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks();
349
403
  if (!isUninitializedTasksFolders) refetchTasksFolders();
350
404
  if (!isUninitializedTasksList) refetchTasksList();
351
405
  if (!isUninitializedGroupedTasks) refetchGroupedTasks();
406
+ if (!isUninitializedFoldersLinks) refetchFoldersLinks();
407
+ if (!isUninitializedTasksLinks) refetchTasksLinks();
352
408
  };
353
409
  return {
354
410
  foldersMap,
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} from '@shared/api'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks } from '../types'\nimport { TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from './useProjectTableModules'\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n queryFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // console.log('Folder count:', folders.length)\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\n },\n {\n skip: !queryFilters.filterString || !folders.length || !showHierarchy,\n },\n )\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n const selectedPaths = selectedFolders\n .map((id) => map.get(id)?.path)\n .filter(Boolean) as string[]\n\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n\n // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n },\n )\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const initGroupPageCounts = useMemo(() => {\n return taskGroups.reduce((acc, group) => {\n acc[group.value] = 1 // initialize each group with 1 count\n return acc\n }, {} as Record<string, number>)\n }, [taskGroups])\n const [groupPageCounts, setGroupPageCounts] = useState<Record<string, number>>({})\n\n // when initGroupPageCounts changes, set it to groupPageCounts\n useEffect(() => {\n const hasInitData = Object.keys(initGroupPageCounts).length > 0\n const hasCurrentData = Object.keys(groupPageCounts).length > 0\n\n if (hasInitData && !hasCurrentData) {\n setGroupPageCounts(initGroupPageCounts)\n }\n }, [initGroupPageCounts])\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n\n // get the data type for the groupBy\n const groupByDataType = useMemo(() => {\n if (!groupBy?.id) return 'string'\n\n const groupById = groupBy.id\n\n // Handle special cases for built-in group types\n if (groupById === 'assignees' || groupById === 'tags') {\n return 'list_of_strings'\n }\n\n // Handle attribute-based grouping (format: \"attrib.attributeName\")\n if (groupById.startsWith('attrib.')) {\n const attributeName = groupById.split('.')[1]\n const attribute = attribFields.find((field) => field.name === attributeName)\n return attribute?.data?.type || 'string'\n }\n\n // Default fallback\n return 'string'\n }, [groupBy?.id, attribFields])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n taskGroups,\n filters: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\n isUninitialized: isUninitializedGroupedTasks,\n refetch: refetchGroupedTasks,\n } = useGetGroupedTasksListQuery(\n {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n // fetch next page for a specific group by increasing the count in groupPageCounts\n setGroupPageCounts((prevCounts) => {\n const newCounts = { ...prevCounts }\n newCounts[group] = (newCounts[group] || 1) + 1 // increment the count for this group\n return newCounts\n })\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n })\n\n // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks])\n\n // reload all data for all queries\n const reloadTableData = () => {\n // only reload if there is data\n if (!isUninitializedFolders) refetchFolders()\n if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks()\n if (!isUninitializedTasksFolders) refetchTasksFolders()\n if (!isUninitializedTasksList) refetchTasksList()\n if (!isUninitializedGroupedTasks) refetchGroupedTasks()\n }\n\n return {\n foldersMap: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoading ||\n isFetchingFolders ||\n (isFetchingTasksList && !isFetchingNextPageTasksList) ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["tasksMap","tasksByFolderMap"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchOverviewData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useFetchOverviewData.ts"],"sourcesContent":["import {\n useGetFolderListQuery,\n useGetGroupedTasksListQuery,\n useGetOverviewTasksByFoldersQuery,\n useGetQueryTasksFoldersQuery,\n useGetTasksListInfiniteInfiniteQuery,\n} from '@shared/api'\nimport type {\n FolderListItem,\n GetGroupedTasksListArgs,\n EntityGroup,\n QueryTasksFoldersApiArg,\n QueryFilter,\n} from '@shared/api'\nimport { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table'\nimport { useEffect, useMemo, useState } from 'react'\nimport { ExpandedState, SortingState } from '@tanstack/react-table'\nimport { determineLoadingTaskFolders } from '../utils/loadingUtils'\nimport { LoadingTasks } from '../types'\nimport { TasksByFolderMap } from '../utils'\nimport { TableGroupBy } from '../context'\nimport { isGroupId } from '../hooks/useBuildGroupByTableData'\nimport { ProjectTableAttribute } from '../hooks/useAttributesList'\nimport { ProjectTableModulesType } from './useProjectTableModules'\nimport { useGetEntityLinksQuery } from '@shared/api'\n\ntype useFetchOverviewDataData = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n isLoadingAll: boolean // the whole table is a loading state\n isLoadingMore: boolean // loading more tasks\n loadingTasks: LoadingTasks // show number of loading tasks per folder or root\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n}\n\ntype Params = {\n projectName: string\n selectedFolders: string[] // folders selected in the slicer (hierarchy)\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n } // filters from the filters bar or slicer (not hierarchy)\n sorting: SortingState\n groupBy: TableGroupBy | undefined\n taskGroups: EntityGroup[]\n expanded: ExpandedState\n showHierarchy: boolean\n attribFields: ProjectTableAttribute[]\n modules: ProjectTableModulesType\n}\n\nexport const useFetchOverviewData = ({\n projectName,\n selectedFolders, // comes from the slicer\n queryFilters,\n sorting,\n groupBy,\n taskGroups = [],\n expanded,\n showHierarchy,\n attribFields,\n modules,\n}: Params): useFetchOverviewDataData => {\n const { getGroupQueries, isLoading: isLoadingModules } = modules\n\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching: isFetchingFolders,\n isUninitialized: isUninitializedFolders,\n refetch: refetchFolders,\n } = useGetFolderListQuery(\n { projectName: projectName || '', attrib: true },\n { skip: !projectName },\n )\n\n // console.log('Folder count:', folders.length)\n const expandedParentIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .filter(([id]) => !isGroupId(id)) // filter out the root folder\n .map(([id]) => id)\n\n const {\n data: expandedFoldersTasks = [],\n isFetching: isFetchingExpandedFoldersTasks,\n refetch: refetchExpandedFoldersTasks,\n isUninitialized: isUninitializedExpandedFoldersTasks,\n } = useGetOverviewTasksByFoldersQuery(\n {\n projectName,\n parentIds: expandedParentIds,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n },\n { skip: !expandedParentIds.length || !showHierarchy },\n )\n\n const skipFoldersByTaskFilter = !queryFilters.filterString || !folders.length || !showHierarchy\n // get folders that would be left if the filters were applied for tasks\n const {\n data: foldersByTaskFilter,\n isUninitialized,\n isFetching: isFetchingTasksFolders,\n isUninitialized: isUninitializedTasksFolders,\n refetch: refetchTasksFolders,\n } = useGetQueryTasksFoldersQuery(\n {\n projectName,\n tasksFoldersQuery: { filter: queryFilters.filter, search: queryFilters.search },\n },\n {\n skip: skipFoldersByTaskFilter,\n },\n )\n\n // create a list of folders that are current visible in the table\n // root folders are always visible\n // then a folder is visible if it's parent is expanded\n const visibleFolders = useMemo(() => {\n const visibleSet = new Set<string>()\n\n // Check each folder in the map\n folders.forEach((folder) => {\n // Root folders are always visible\n if (!folder.parentId) {\n visibleSet.add(folder.id)\n return\n }\n\n // Check if parent is expanded\n const parentId = folder.parentId as string\n const isSelectedInSlicer = selectedFolders.includes(folder.id as string)\n const expandedMap = expanded as Record<string, boolean>\n if (expandedMap[parentId] === true || isSelectedInSlicer) {\n visibleSet.add(folder.id)\n }\n })\n\n return visibleSet\n }, [folders, foldersByTaskFilter, skipFoldersByTaskFilter, expanded, selectedFolders])\n\n // get all links for visible folders\n const {\n data: foldersLinks = [],\n refetch: refetchFoldersLinks,\n isUninitialized: isUninitializedFoldersLinks,\n } = useGetEntityLinksQuery({\n projectName,\n entityIds: Array.from(visibleFolders),\n entityType: 'folder',\n })\n\n // create a map of folders by id for efficient lookups\n const foldersMap: FolderNodeMap = useMemo(() => {\n const map = new Map()\n\n const addExtraDataToFolder = (folder: FolderListItem) => {\n // add any extra data to folder\n const folderWithExtraData: MatchingFolder = {\n ...folder,\n entityId: folder.id,\n entityType: 'folder',\n links: foldersLinks?.find((link) => link.id === folder.id)?.links || [],\n }\n return folderWithExtraData\n }\n\n // If we have task filters and folders to filter\n if (!isUninitialized && foldersByTaskFilter && folders.length) {\n // Create a set for efficient lookups of filtered folder IDs\n const relevantFolderIds = new Set<string>()\n\n // First pass: Add all folders from the task filter\n for (const folderId of foldersByTaskFilter) {\n relevantFolderIds.add(folderId)\n }\n\n // Create a map of folders by ID for parentId lookups\n const foldersByIdMap = new Map<string, (typeof folders)[0]>()\n for (const folder of folders) {\n foldersByIdMap.set(folder.id as string, folder)\n }\n\n // Second pass: Add all parent folders of filtered folders\n const addParents = (folderId: string) => {\n const folder = foldersByIdMap.get(folderId)\n if (folder && folder.parentId) {\n relevantFolderIds.add(folder.parentId as string)\n addParents(folder.parentId as string)\n }\n }\n\n // Process each filtered folder to add its parents\n for (const folderId of foldersByTaskFilter) {\n addParents(folderId)\n }\n\n // Third pass: Build the final map using only relevant folders\n for (const folder of folders) {\n if (relevantFolderIds.has(folder.id as string)) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n } else {\n // No filtering, include all folders\n for (const folder of folders) {\n map.set(folder.id as string, addExtraDataToFolder(folder))\n }\n }\n\n // Filter by selected folders if needed\n if (selectedFolders.length) {\n const selectedPaths = selectedFolders\n .map((id) => map.get(id)?.path)\n .filter(Boolean) as string[]\n\n // Create a new map that only contains selected folders and their children\n const filteredMap = new Map()\n\n // For each folder, check if it should be included\n map.forEach((folder, folderId) => {\n const folderPath = folder.path as string\n\n // Include if it's a parent or the folder itself\n const folderPathParts = folderPath.split('/')\n let isParentOrSelf = false\n\n for (let i = 0; i < folderPathParts.length; i++) {\n const partialPath = folderPathParts.slice(0, i + 1).join('/')\n if (selectedPaths.some((p) => p === partialPath)) {\n isParentOrSelf = true\n break\n }\n }\n\n // Include if it's a child of any selected folder\n const isChild = selectedPaths.some((selectedPath) =>\n folderPath.startsWith(selectedPath + '/'),\n )\n\n if (isParentOrSelf || isChild) {\n filteredMap.set(folderId, addExtraDataToFolder(folder))\n }\n })\n\n return filteredMap\n }\n\n return map\n }, [folders, foldersByTaskFilter, isUninitialized, selectedFolders, foldersLinks])\n\n // calculate partial loading states\n const loadingTasksForParents = useMemo(() => {\n if (isFetchingExpandedFoldersTasks) {\n return determineLoadingTaskFolders({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n })\n } else return {}\n }, [isFetchingExpandedFoldersTasks, expandedFoldersTasks, expandedParentIds, foldersMap])\n\n const [tasksListCursor, setTasksListCursor] = useState('')\n\n // every time the sorting changes, reset the cursor\n useEffect(() => {\n if (tasksListCursor) setTasksListCursor('')\n }, [sorting, tasksListCursor])\n\n // Create sort params for infinite query\n const singleSort = { ...sorting[0] }\n // if task list and sorting by name, sort by path instead\n const sortByPath = singleSort?.id === 'name' && !showHierarchy\n const sortId = sortByPath ? 'path' : singleSort?.id === 'subType' ? 'taskType' : singleSort?.id\n const tasksFolderIdsParams = selectedFolders.length ? Array.from(foldersMap.keys()) : undefined\n\n // Use the new infinite query hook for tasks list with correct name\n const {\n data: tasksListInfiniteData,\n isFetching: isFetchingTasksList,\n fetchNextPage,\n hasNextPage,\n isFetchingNextPage: isFetchingNextPageTasksList,\n isUninitialized: isUninitializedTasksList,\n refetch: refetchTasksList,\n } = useGetTasksListInfiniteInfiniteQuery(\n {\n projectName,\n filter: queryFilters.filterString,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n },\n {\n skip: showHierarchy,\n initialPageParam: {\n cursor: '',\n desc: !!singleSort?.desc,\n },\n },\n )\n\n // Extract tasks from infinite query data correctly\n const tasksList = useMemo(() => {\n if (!tasksListInfiniteData?.pages) return []\n return tasksListInfiniteData.pages.flatMap((page) => page.tasks || [])\n }, [tasksListInfiniteData?.pages])\n\n const initGroupPageCounts = useMemo(() => {\n return taskGroups.reduce((acc, group) => {\n acc[group.value] = 1 // initialize each group with 1 count\n return acc\n }, {} as Record<string, number>)\n }, [taskGroups])\n const [groupPageCounts, setGroupPageCounts] = useState<Record<string, number>>({})\n\n // when initGroupPageCounts changes, set it to groupPageCounts\n useEffect(() => {\n const hasInitData = Object.keys(initGroupPageCounts).length > 0\n const hasCurrentData = Object.keys(groupPageCounts).length > 0\n\n if (hasInitData && !hasCurrentData) {\n setGroupPageCounts(initGroupPageCounts)\n }\n }, [initGroupPageCounts])\n\n // for grouped tasks, we fetch all tasks for each group\n // we do this by building a list of groups with filters for that group\n\n // get the data type for the groupBy\n const groupByDataType = useMemo(() => {\n if (!groupBy?.id) return 'string'\n\n const groupById = groupBy.id\n\n // Handle special cases for built-in group types\n if (groupById === 'assignees' || groupById === 'tags') {\n return 'list_of_strings'\n }\n\n // Handle attribute-based grouping (format: \"attrib.attributeName\")\n if (groupById.startsWith('attrib.')) {\n const attributeName = groupById.split('.')[1]\n const attribute = attribFields.find((field) => field.name === attributeName)\n return attribute?.data?.type || 'string'\n }\n\n // Default fallback\n return 'string'\n }, [groupBy?.id, attribFields])\n\n const groupQueries: GetGroupedTasksListArgs['groups'] = useMemo(() => {\n return groupBy\n ? getGroupQueries?.({\n taskGroups,\n filters: queryFilters.filter,\n groupBy,\n groupPageCounts,\n }) ?? []\n : []\n }, [groupBy, taskGroups, groupPageCounts, groupByDataType, queryFilters.filter, getGroupQueries])\n\n const {\n data: { tasks: groupTasks = [] } = {},\n isFetching: isFetchingGroups,\n isUninitialized: isUninitializedGroupedTasks,\n refetch: refetchGroupedTasks,\n } = useGetGroupedTasksListQuery(\n {\n projectName,\n groups: groupQueries,\n sortBy: sortId ? sortId.replace('_', '.') : undefined,\n desc: !!singleSort?.desc,\n search: queryFilters.search,\n folderIds: tasksFolderIdsParams,\n },\n {\n skip: !groupBy || !groupQueries.length || isLoadingModules,\n },\n )\n\n // Get visible tasks for link fetching\n const visibleTasks = useMemo(() => {\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n return new Set(allTasks.map((task) => task.id))\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, groupBy])\n\n // Get all links for visible tasks\n const {\n data: tasksLinks = [],\n refetch: refetchTasksLinks,\n isUninitialized: isUninitializedTasksLinks,\n } = useGetEntityLinksQuery(\n {\n projectName,\n entityIds: Array.from(visibleTasks),\n entityType: 'task',\n },\n {\n skip: visibleTasks.size === 0,\n },\n )\n\n const handleFetchNextPage = (group?: string) => {\n if (groupBy) {\n if (group && group in groupPageCounts) {\n console.log('fetching next page for group:', group)\n // fetch next page for a specific group by increasing the count in groupPageCounts\n setGroupPageCounts((prevCounts) => {\n const newCounts = { ...prevCounts }\n newCounts[group] = (newCounts[group] || 1) + 1 // increment the count for this group\n return newCounts\n })\n }\n } else if (hasNextPage) {\n console.log('fetching next page')\n fetchNextPage()\n }\n }\n\n // tasksMaps is a map of tasks by task ID\n // tasksByFolderMap is a map of tasks by folder ID\n const { tasksMap, tasksByFolderMap } = useMemo(() => {\n const tasksMap: TaskNodeMap = new Map()\n const tasksByFolderMap: TasksByFolderMap = new Map()\n\n const addExtraDataToTask = (task: EditorTaskNode) => ({\n ...task,\n entityId: task.id,\n entityType: 'task' as const,\n links: tasksLinks?.find((link) => link.id === task.id)?.links || [],\n })\n\n // either show the hierarchy or the flat list of tasks\n const allTasks = showHierarchy ? expandedFoldersTasks : groupBy ? groupTasks : tasksList\n for (const task of allTasks) {\n const taskId = task.id as string\n const folderId = task.folderId as string\n\n if (tasksMap.has(taskId)) {\n // merge specific data if the task already exists\n const existingTask = tasksMap.get(taskId) as EditorTaskNode\n const currentTask = addExtraDataToTask(task)\n const mergedTask = {\n ...existingTask,\n ...currentTask,\n groups: [...(existingTask.groups || []), ...(currentTask.groups || [])],\n }\n\n tasksMap.set(taskId, mergedTask)\n } else {\n tasksMap.set(taskId, addExtraDataToTask(task))\n }\n\n if (tasksByFolderMap.has(folderId)) {\n tasksByFolderMap.get(folderId)!.push(taskId)\n } else {\n tasksByFolderMap.set(folderId, [taskId])\n }\n }\n\n return { tasksMap, tasksByFolderMap }\n }, [expandedFoldersTasks, showHierarchy, tasksList, groupTasks, tasksLinks])\n\n // reload all data for all queries\n const reloadTableData = () => {\n // only reload if there is data\n if (!isUninitializedFolders) refetchFolders()\n if (!isUninitializedExpandedFoldersTasks) refetchExpandedFoldersTasks()\n if (!isUninitializedTasksFolders) refetchTasksFolders()\n if (!isUninitializedTasksList) refetchTasksList()\n if (!isUninitializedGroupedTasks) refetchGroupedTasks()\n if (!isUninitializedFoldersLinks) refetchFoldersLinks()\n if (!isUninitializedTasksLinks) refetchTasksLinks()\n }\n\n return {\n foldersMap: foldersMap,\n tasksMap: tasksMap,\n tasksByFolderMap: tasksByFolderMap,\n isLoadingAll:\n isLoading ||\n isFetchingFolders ||\n (isFetchingTasksList && !isFetchingNextPageTasksList) ||\n isFetchingTasksFolders ||\n isFetchingGroups ||\n isLoadingModules, // these all show a full loading state\n isLoadingMore: isFetchingNextPageTasksList,\n loadingTasks: loadingTasksForParents,\n fetchNextPage: handleFetchNextPage,\n reloadTableData,\n }\n}\n"],"names":["tasksMap","tasksByFolderMap"],"mappings":"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"}
@@ -4,6 +4,7 @@ const React = require("react");
4
4
  const productTypes = require("../../../util/productTypes.cjs.js");
5
5
  require("lodash");
6
6
  require("react-toastify");
7
+ require("uuid");
7
8
  require("../../../util/pubsub.cjs.js");
8
9
  const useGetEntityTypeData = ({ projectInfo }) => {
9
10
  const { folderTypes = [], taskTypes = [] } = projectInfo || {};
@@ -1 +1 @@
1
- {"version":3,"file":"useGetEntityTypeData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { ProjectModel, TaskType, FolderType } from '../types/project'\nimport { productTypes } from '@shared/util'\n\ntype Props = {\n projectInfo?: ProjectModel\n}\n\nexport const useGetEntityTypeData = ({ projectInfo }: Props) => {\n const { folderTypes = [], taskTypes = [] } = projectInfo || {}\n\n // create a map of folder types by name for efficient lookups\n const folderTypesByName = useMemo(() => {\n const map: Map<string, FolderType> = new Map()\n for (const folderType of folderTypes) {\n map.set(folderType.name, folderType)\n }\n return map\n }, [folderTypes])\n\n // create a map of task types by name for efficient lookups\n const taskTypesByName = useMemo(() => {\n const map: Map<string, TaskType> = new Map()\n for (const taskType of taskTypes) {\n map.set(taskType.name, taskType)\n }\n return map\n }, [taskTypes])\n\n // convert object to map for product types\n const productTypesByName = useMemo(() => {\n const map: Map<string, any> = new Map()\n for (const name in productTypes) {\n map.set(name, productTypes[name])\n }\n return map\n }, [productTypes])\n\n const getEntityTypeData = useCallback(\n (type: 'folder' | 'task' | 'product' | string | undefined, subType?: string) => {\n if (!type || !subType) return\n switch (type) {\n case 'folder':\n return folderTypesByName.get(subType)\n case 'task':\n return taskTypesByName.get(subType)\n case 'product':\n return productTypesByName.get(subType)\n\n default:\n break\n }\n },\n [folderTypesByName, taskTypesByName, productTypesByName],\n )\n\n return getEntityTypeData\n}\n"],"names":["useMemo","useCallback"],"mappings":";;;;;;;AAQO,MAAM,uBAAuB,CAAC,EAAE,kBAAyB;AACxD,QAAA,EAAE,cAAc,CAAC,GAAG,YAAY,CAAC,EAAA,IAAM,eAAe,CAAC;AAGvD,QAAA,oBAAoBA,MAAAA,QAAQ,MAAM;AAChC,UAAA,0BAAmC,IAAI;AAC7C,eAAW,cAAc,aAAa;AAChC,UAAA,IAAI,WAAW,MAAM,UAAU;AAAA,IAAA;AAE9B,WAAA;AAAA,EAAA,GACN,CAAC,WAAW,CAAC;AAGV,QAAA,kBAAkBA,MAAAA,QAAQ,MAAM;AAC9B,UAAA,0BAAiC,IAAI;AAC3C,eAAW,YAAY,WAAW;AAC5B,UAAA,IAAI,SAAS,MAAM,QAAQ;AAAA,IAAA;AAE1B,WAAA;AAAA,EAAA,GACN,CAAC,SAAS,CAAC;AAGR,QAAA,qBAAqBA,MAAAA,QAAQ,MAAM;AACjC,UAAA,0BAA4B,IAAI;AACtC,eAAW,QAAQ,cAAc;AAC/B,UAAI,IAAI,MAAM,aAAa,IAAI,CAAC;AAAA,IAAA;AAE3B,WAAA;AAAA,EAAA,GACN,CAAC,YAAY,CAAC;AAEjB,QAAM,oBAAoBC,MAAA;AAAA,IACxB,CAAC,MAA0D,YAAqB;AAC1E,UAAA,CAAC,QAAQ,CAAC,QAAS;AACvB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACI,iBAAA,kBAAkB,IAAI,OAAO;AAAA,QACtC,KAAK;AACI,iBAAA,gBAAgB,IAAI,OAAO;AAAA,QACpC,KAAK;AACI,iBAAA,mBAAmB,IAAI,OAAO;AAAA,MAGrC;AAAA,IAEN;AAAA,IACA,CAAC,mBAAmB,iBAAiB,kBAAkB;AAAA,EACzD;AAEO,SAAA;AACT;;"}
1
+ {"version":3,"file":"useGetEntityTypeData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { ProjectModel, TaskType, FolderType } from '../types/project'\nimport { productTypes } from '@shared/util'\n\ntype Props = {\n projectInfo?: ProjectModel\n}\n\nexport const useGetEntityTypeData = ({ projectInfo }: Props) => {\n const { folderTypes = [], taskTypes = [] } = projectInfo || {}\n\n // create a map of folder types by name for efficient lookups\n const folderTypesByName = useMemo(() => {\n const map: Map<string, FolderType> = new Map()\n for (const folderType of folderTypes) {\n map.set(folderType.name, folderType)\n }\n return map\n }, [folderTypes])\n\n // create a map of task types by name for efficient lookups\n const taskTypesByName = useMemo(() => {\n const map: Map<string, TaskType> = new Map()\n for (const taskType of taskTypes) {\n map.set(taskType.name, taskType)\n }\n return map\n }, [taskTypes])\n\n // convert object to map for product types\n const productTypesByName = useMemo(() => {\n const map: Map<string, any> = new Map()\n for (const name in productTypes) {\n map.set(name, productTypes[name])\n }\n return map\n }, [productTypes])\n\n const getEntityTypeData = useCallback(\n (type: 'folder' | 'task' | 'product' | string | undefined, subType?: string) => {\n if (!type || !subType) return\n switch (type) {\n case 'folder':\n return folderTypesByName.get(subType)\n case 'task':\n return taskTypesByName.get(subType)\n case 'product':\n return productTypesByName.get(subType)\n\n default:\n break\n }\n },\n [folderTypesByName, taskTypesByName, productTypesByName],\n )\n\n return getEntityTypeData\n}\n"],"names":["useMemo","useCallback"],"mappings":";;;;;;;;AAQO,MAAM,uBAAuB,CAAC,EAAE,kBAAyB;AACxD,QAAA,EAAE,cAAc,CAAC,GAAG,YAAY,CAAC,EAAA,IAAM,eAAe,CAAC;AAGvD,QAAA,oBAAoBA,MAAAA,QAAQ,MAAM;AAChC,UAAA,0BAAmC,IAAI;AAC7C,eAAW,cAAc,aAAa;AAChC,UAAA,IAAI,WAAW,MAAM,UAAU;AAAA,IAAA;AAE9B,WAAA;AAAA,EAAA,GACN,CAAC,WAAW,CAAC;AAGV,QAAA,kBAAkBA,MAAAA,QAAQ,MAAM;AAC9B,UAAA,0BAAiC,IAAI;AAC3C,eAAW,YAAY,WAAW;AAC5B,UAAA,IAAI,SAAS,MAAM,QAAQ;AAAA,IAAA;AAE1B,WAAA;AAAA,EAAA,GACN,CAAC,SAAS,CAAC;AAGR,QAAA,qBAAqBA,MAAAA,QAAQ,MAAM;AACjC,UAAA,0BAA4B,IAAI;AACtC,eAAW,QAAQ,cAAc;AAC/B,UAAI,IAAI,MAAM,aAAa,IAAI,CAAC;AAAA,IAAA;AAE3B,WAAA;AAAA,EAAA,GACN,CAAC,YAAY,CAAC;AAEjB,QAAM,oBAAoBC,MAAA;AAAA,IACxB,CAAC,MAA0D,YAAqB;AAC1E,UAAA,CAAC,QAAQ,CAAC,QAAS;AACvB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACI,iBAAA,kBAAkB,IAAI,OAAO;AAAA,QACtC,KAAK;AACI,iBAAA,gBAAgB,IAAI,OAAO;AAAA,QACpC,KAAK;AACI,iBAAA,mBAAmB,IAAI,OAAO;AAAA,MAGrC;AAAA,IAEN;AAAA,IACA,CAAC,mBAAmB,iBAAiB,kBAAkB;AAAA,EACzD;AAEO,SAAA;AACT;;"}
@@ -2,6 +2,7 @@ import { useMemo, useCallback } from "react";
2
2
  import productTypes from "../../../util/productTypes.es.js";
3
3
  import "lodash";
4
4
  import "react-toastify";
5
+ import "uuid";
5
6
  import "../../../util/pubsub.es.js";
6
7
  const useGetEntityTypeData = ({ projectInfo }) => {
7
8
  const { folderTypes = [], taskTypes = [] } = projectInfo || {};
@@ -1 +1 @@
1
- {"version":3,"file":"useGetEntityTypeData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { ProjectModel, TaskType, FolderType } from '../types/project'\nimport { productTypes } from '@shared/util'\n\ntype Props = {\n projectInfo?: ProjectModel\n}\n\nexport const useGetEntityTypeData = ({ projectInfo }: Props) => {\n const { folderTypes = [], taskTypes = [] } = projectInfo || {}\n\n // create a map of folder types by name for efficient lookups\n const folderTypesByName = useMemo(() => {\n const map: Map<string, FolderType> = new Map()\n for (const folderType of folderTypes) {\n map.set(folderType.name, folderType)\n }\n return map\n }, [folderTypes])\n\n // create a map of task types by name for efficient lookups\n const taskTypesByName = useMemo(() => {\n const map: Map<string, TaskType> = new Map()\n for (const taskType of taskTypes) {\n map.set(taskType.name, taskType)\n }\n return map\n }, [taskTypes])\n\n // convert object to map for product types\n const productTypesByName = useMemo(() => {\n const map: Map<string, any> = new Map()\n for (const name in productTypes) {\n map.set(name, productTypes[name])\n }\n return map\n }, [productTypes])\n\n const getEntityTypeData = useCallback(\n (type: 'folder' | 'task' | 'product' | string | undefined, subType?: string) => {\n if (!type || !subType) return\n switch (type) {\n case 'folder':\n return folderTypesByName.get(subType)\n case 'task':\n return taskTypesByName.get(subType)\n case 'product':\n return productTypesByName.get(subType)\n\n default:\n break\n }\n },\n [folderTypesByName, taskTypesByName, productTypesByName],\n )\n\n return getEntityTypeData\n}\n"],"names":[],"mappings":";;;;;AAQO,MAAM,uBAAuB,CAAC,EAAE,kBAAyB;AACxD,QAAA,EAAE,cAAc,CAAC,GAAG,YAAY,CAAC,EAAA,IAAM,eAAe,CAAC;AAGvD,QAAA,oBAAoB,QAAQ,MAAM;AAChC,UAAA,0BAAmC,IAAI;AAC7C,eAAW,cAAc,aAAa;AAChC,UAAA,IAAI,WAAW,MAAM,UAAU;AAAA,IAAA;AAE9B,WAAA;AAAA,EAAA,GACN,CAAC,WAAW,CAAC;AAGV,QAAA,kBAAkB,QAAQ,MAAM;AAC9B,UAAA,0BAAiC,IAAI;AAC3C,eAAW,YAAY,WAAW;AAC5B,UAAA,IAAI,SAAS,MAAM,QAAQ;AAAA,IAAA;AAE1B,WAAA;AAAA,EAAA,GACN,CAAC,SAAS,CAAC;AAGR,QAAA,qBAAqB,QAAQ,MAAM;AACjC,UAAA,0BAA4B,IAAI;AACtC,eAAW,QAAQ,cAAc;AAC/B,UAAI,IAAI,MAAM,aAAa,IAAI,CAAC;AAAA,IAAA;AAE3B,WAAA;AAAA,EAAA,GACN,CAAC,YAAY,CAAC;AAEjB,QAAM,oBAAoB;AAAA,IACxB,CAAC,MAA0D,YAAqB;AAC1E,UAAA,CAAC,QAAQ,CAAC,QAAS;AACvB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACI,iBAAA,kBAAkB,IAAI,OAAO;AAAA,QACtC,KAAK;AACI,iBAAA,gBAAgB,IAAI,OAAO;AAAA,QACpC,KAAK;AACI,iBAAA,mBAAmB,IAAI,OAAO;AAAA,MAGrC;AAAA,IAEN;AAAA,IACA,CAAC,mBAAmB,iBAAiB,kBAAkB;AAAA,EACzD;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"useGetEntityTypeData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { ProjectModel, TaskType, FolderType } from '../types/project'\nimport { productTypes } from '@shared/util'\n\ntype Props = {\n projectInfo?: ProjectModel\n}\n\nexport const useGetEntityTypeData = ({ projectInfo }: Props) => {\n const { folderTypes = [], taskTypes = [] } = projectInfo || {}\n\n // create a map of folder types by name for efficient lookups\n const folderTypesByName = useMemo(() => {\n const map: Map<string, FolderType> = new Map()\n for (const folderType of folderTypes) {\n map.set(folderType.name, folderType)\n }\n return map\n }, [folderTypes])\n\n // create a map of task types by name for efficient lookups\n const taskTypesByName = useMemo(() => {\n const map: Map<string, TaskType> = new Map()\n for (const taskType of taskTypes) {\n map.set(taskType.name, taskType)\n }\n return map\n }, [taskTypes])\n\n // convert object to map for product types\n const productTypesByName = useMemo(() => {\n const map: Map<string, any> = new Map()\n for (const name in productTypes) {\n map.set(name, productTypes[name])\n }\n return map\n }, [productTypes])\n\n const getEntityTypeData = useCallback(\n (type: 'folder' | 'task' | 'product' | string | undefined, subType?: string) => {\n if (!type || !subType) return\n switch (type) {\n case 'folder':\n return folderTypesByName.get(subType)\n case 'task':\n return taskTypesByName.get(subType)\n case 'product':\n return productTypesByName.get(subType)\n\n default:\n break\n }\n },\n [folderTypesByName, taskTypesByName, productTypesByName],\n )\n\n return getEntityTypeData\n}\n"],"names":[],"mappings":";;;;;;AAQO,MAAM,uBAAuB,CAAC,EAAE,kBAAyB;AACxD,QAAA,EAAE,cAAc,CAAC,GAAG,YAAY,CAAC,EAAA,IAAM,eAAe,CAAC;AAGvD,QAAA,oBAAoB,QAAQ,MAAM;AAChC,UAAA,0BAAmC,IAAI;AAC7C,eAAW,cAAc,aAAa;AAChC,UAAA,IAAI,WAAW,MAAM,UAAU;AAAA,IAAA;AAE9B,WAAA;AAAA,EAAA,GACN,CAAC,WAAW,CAAC;AAGV,QAAA,kBAAkB,QAAQ,MAAM;AAC9B,UAAA,0BAAiC,IAAI;AAC3C,eAAW,YAAY,WAAW;AAC5B,UAAA,IAAI,SAAS,MAAM,QAAQ;AAAA,IAAA;AAE1B,WAAA;AAAA,EAAA,GACN,CAAC,SAAS,CAAC;AAGR,QAAA,qBAAqB,QAAQ,MAAM;AACjC,UAAA,0BAA4B,IAAI;AACtC,eAAW,QAAQ,cAAc;AAC/B,UAAI,IAAI,MAAM,aAAa,IAAI,CAAC;AAAA,IAAA;AAE3B,WAAA;AAAA,EAAA,GACN,CAAC,YAAY,CAAC;AAEjB,QAAM,oBAAoB;AAAA,IACxB,CAAC,MAA0D,YAAqB;AAC1E,UAAA,CAAC,QAAQ,CAAC,QAAS;AACvB,cAAQ,MAAM;AAAA,QACZ,KAAK;AACI,iBAAA,kBAAkB,IAAI,OAAO;AAAA,QACtC,KAAK;AACI,iBAAA,gBAAgB,IAAI,OAAO;AAAA,QACpC,KAAK;AACI,iBAAA,mBAAmB,IAAI,OAAO;AAAA,MAGrC;AAAA,IAEN;AAAA,IACA,CAAC,mBAAmB,iBAAiB,kBAAkB;AAAA,EACzD;AAEO,SAAA;AACT;"}