@ynput/ayon-frontend-shared 0.3.9 → 0.3.10

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 (815) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +182 -171
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +13 -11
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs10.js +1 -1
  11. package/dist/_virtual/index.cjs11.js +1 -1
  12. package/dist/_virtual/index.cjs12.js +1 -1
  13. package/dist/_virtual/index.es10.js +3 -3
  14. package/dist/_virtual/index.es11.js +5 -5
  15. package/dist/_virtual/index.es12.js +5 -5
  16. package/dist/api.cjs.js +1 -1
  17. package/dist/api.es.js +340 -331
  18. package/dist/api.es.js.map +1 -1
  19. package/dist/context.cjs.js +1 -1
  20. package/dist/context.es.js +39 -36
  21. package/dist/context.es.js.map +1 -1
  22. package/dist/index.cjs.js +1 -1
  23. package/dist/index.es.js +11 -9
  24. package/dist/index.es.js.map +1 -1
  25. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  26. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  27. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  28. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  29. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  30. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  31. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  32. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  33. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  34. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  35. package/dist/shared/src/api/generated/projectFolders.cjs.js +2 -0
  36. package/dist/shared/src/api/generated/projectFolders.cjs.js.map +1 -0
  37. package/dist/shared/src/api/generated/projectFolders.es.js +44 -0
  38. package/dist/shared/src/api/generated/projectFolders.es.js.map +1 -0
  39. package/dist/shared/src/api/generated/projects.cjs.js +1 -1
  40. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  41. package/dist/shared/src/api/generated/projects.es.js +20 -0
  42. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  43. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  44. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  45. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -1
  46. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  47. package/dist/shared/src/api/queries/actions/getActions.es.js +11 -10
  48. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  50. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/activities/getActivities.es.js +11 -10
  52. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
  54. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/activities/getCategories.es.js +3 -2
  56. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  57. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -1
  58. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/activities/getMentions.es.js +3 -2
  60. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  61. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
  62. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/updateReaction.es.js +4 -3
  64. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  65. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -1
  66. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  67. package/dist/shared/src/api/queries/addons/getAddons.es.js +7 -6
  68. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  69. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -1
  70. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +4 -3
  72. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -1
  74. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +4 -3
  76. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -1
  78. package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/cloud/cloud.es.js +9 -8
  80. package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
  81. package/dist/shared/src/api/queries/config/getConfig.cjs.js +1 -1
  82. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -1
  83. package/dist/shared/src/api/queries/config/getConfig.es.js +9 -8
  84. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -1
  85. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -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 +13 -12
  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 +1 -1
  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 +4 -3
  92. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
  94. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +4 -2
  96. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  98. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  100. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  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 +15 -14
  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 -1
  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 +3 -2
  108. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +22 -20
  112. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  114. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +17 -16
  116. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  118. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/folders/getFolders.es.js +4 -3
  120. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
  122. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +22 -6
  124. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +3 -2
  128. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/links/getLinks.es.js +14 -13
  132. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/links/updateLinks.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/links/updateLinks.es.js +17 -16
  136. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  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 +37 -36
  140. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  142. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/overview/patchVersions.es.js +88 -53
  144. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  146. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/overview/updateOverview.es.js +8 -6
  148. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -1
  150. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +4 -3
  152. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
  154. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/products/createProduct.es.js +3 -2
  156. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
  158. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/project/getProject.es.js +9 -8
  160. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +2 -0
  162. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -0
  163. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +178 -0
  164. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -0
  165. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  166. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/review/getReview.es.js +15 -14
  168. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
  170. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/review/updateReview.es.js +7 -6
  172. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/share/share.cjs.js +1 -1
  174. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/share/share.es.js +3 -2
  176. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
  178. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/system/getSystem.es.js +5 -4
  180. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js +1 -1
  182. package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/tasks/updateTasks.es.js +6 -6
  184. package/dist/shared/src/api/queries/tasks/updateTasks.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/uris/getUris.cjs.js +1 -1
  186. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/uris/getUris.es.js +3 -2
  188. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  190. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +6 -5
  192. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  194. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/users/getUsers.es.js +20 -18
  196. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  197. package/dist/shared/src/api/queries/users/guests.cjs.js +1 -1
  198. package/dist/shared/src/api/queries/users/guests.cjs.js.map +1 -1
  199. package/dist/shared/src/api/queries/users/guests.es.js +5 -4
  200. package/dist/shared/src/api/queries/users/guests.es.js.map +1 -1
  201. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
  202. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  203. package/dist/shared/src/api/queries/users/updateUsers.es.js +21 -20
  204. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  205. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  206. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  207. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +348 -136
  208. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  209. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +1 -1
  210. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  211. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +57 -59
  212. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  213. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -1
  214. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  215. package/dist/shared/src/api/queries/versions/updateVersions.es.js +6 -5
  216. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  217. package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
  218. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  219. package/dist/shared/src/api/queries/views/getViews.es.js +11 -10
  220. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  221. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -1
  222. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  223. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +4 -3
  224. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  225. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  226. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  228. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  229. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +3 -3
  230. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  231. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +13 -13
  232. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  233. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  234. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  235. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +24 -22
  236. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  237. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  238. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  239. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  240. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  241. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  242. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  243. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  244. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  245. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  246. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  247. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  248. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  249. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  250. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  251. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  252. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  253. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  254. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +16 -14
  256. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  257. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  258. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  259. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  260. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  261. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  262. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  263. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +4 -2
  264. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  265. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  266. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  267. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  268. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  269. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  270. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  272. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  273. package/dist/shared/src/components/Menu/Menu.styled.cjs.js +0 -1
  274. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -1
  275. package/dist/shared/src/components/Menu/Menu.styled.es.js +0 -1
  276. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -1
  277. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  278. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  279. package/dist/shared/src/components/Menu/MenuList.es.js +21 -21
  280. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  281. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  282. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  283. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +58 -38
  284. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  285. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  286. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  287. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -107
  288. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  289. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  290. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  291. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  292. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  293. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  294. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  295. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +4 -2
  296. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  297. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  298. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  299. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +4 -2
  300. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  301. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  302. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  303. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  304. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  308. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +32 -30
  312. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  314. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  316. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  317. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  318. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  319. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  320. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  321. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  322. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  323. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  324. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  325. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  326. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  328. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  329. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +31 -0
  330. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -0
  331. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +107 -0
  332. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -0
  333. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  334. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +33 -28
  336. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  337. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  338. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +17 -7
  340. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  341. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  342. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  343. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  344. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  345. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  346. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  347. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  348. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  349. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  350. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  351. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  352. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  353. package/dist/shared/src/config/plannerFeatures.cjs.js +2 -0
  354. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -0
  355. package/dist/shared/src/config/plannerFeatures.es.js +50 -0
  356. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -0
  357. package/dist/shared/src/config/powerpackFeatures.cjs.js +2 -0
  358. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -0
  359. package/dist/shared/src/config/powerpackFeatures.es.js +74 -0
  360. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -0
  361. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  362. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  364. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  365. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  366. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Actions/Actions.es.js +18 -15
  368. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  369. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  370. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +33 -32
  372. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  374. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  376. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  377. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  378. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +14 -11
  380. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  384. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  388. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  392. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  396. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -16
  400. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +4 -2
  404. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  406. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +4 -2
  408. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +4 -2
  412. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  416. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  417. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  418. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  420. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  421. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  422. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  424. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  425. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  426. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  428. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  429. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  430. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  432. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  433. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  434. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  436. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  437. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js +1 -1
  438. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js +8 -8
  440. package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js.map +1 -1
  441. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  442. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +4 -2
  444. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  445. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  446. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  448. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  449. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  450. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  452. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  454. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +1 -1
  456. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +18 -18
  458. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  460. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  462. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  464. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  466. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  468. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  470. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  472. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  474. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +686 -616
  478. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +26 -11
  480. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +40 -25
  482. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -2
  486. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +2 -0
  488. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -0
  489. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +381 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -0
  491. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  494. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  498. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +6 -2
  500. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +13 -9
  502. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +147 -119
  506. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -3
  508. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +487 -262
  510. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +149 -145
  514. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  518. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +30 -30
  522. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +94 -91
  526. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js +5 -0
  528. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -0
  529. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js +67 -0
  530. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -0
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +33 -31
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +30 -28
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js +2 -0
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js.map +1 -0
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js +56 -0
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js.map +1 -0
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +57 -40
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +30 -28
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +2 -0
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -0
  589. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +303 -0
  590. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -0
  591. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +175 -156
  594. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  598. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  600. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +21 -19
  602. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +6 -4
  606. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  610. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -7
  614. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +1 -1
  616. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -29
  622. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  623. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  624. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -5
  626. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  627. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  628. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +90 -85
  630. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  631. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +9 -5
  632. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +11 -7
  634. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  635. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  636. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  637. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +4 -2
  638. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  639. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  640. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +6 -4
  642. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  643. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  644. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +14 -12
  646. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  647. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  648. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +4 -2
  650. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  651. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  652. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  654. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  655. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  656. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +4 -2
  658. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  659. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  660. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  661. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +40 -38
  662. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  663. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  664. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  665. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +10 -8
  666. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  667. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  668. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  669. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -3
  670. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  671. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  672. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  673. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  674. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  675. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  676. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  677. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  678. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  679. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  680. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  681. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +12 -10
  682. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  683. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  684. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  685. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  686. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  687. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  688. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  689. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  690. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  691. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  692. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  693. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  694. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  695. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  696. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  697. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  698. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  699. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  700. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  701. package/dist/shared/src/context/PowerpackContext.es.js +46 -94
  702. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  703. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  704. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  705. package/dist/shared/src/context/ProjectContext.es.js +6 -4
  706. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  707. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  708. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  709. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  710. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  711. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  712. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  713. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  714. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  715. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  716. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  717. package/dist/shared/src/context/SubtasksModulesContext.es.js +21 -14
  718. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  719. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  720. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  721. package/dist/shared/src/context/UriContext.es.js +7 -5
  722. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  723. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  724. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  725. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  726. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  727. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  728. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  729. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  730. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  731. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  732. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  733. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  734. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  735. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  736. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  737. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  738. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  739. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  740. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  741. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  742. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  743. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  744. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  745. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  746. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  747. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  748. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  749. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  750. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  751. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +2 -0
  752. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -0
  753. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +69 -0
  754. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -0
  755. package/dist/shared/src/util/errorHandling.cjs.js +2 -0
  756. package/dist/shared/src/util/errorHandling.cjs.js.map +1 -0
  757. package/dist/shared/src/util/errorHandling.es.js +9 -0
  758. package/dist/shared/src/util/errorHandling.es.js.map +1 -0
  759. package/dist/shared/src/util/folderHierarchy.cjs.js +2 -0
  760. package/dist/shared/src/util/folderHierarchy.cjs.js.map +1 -0
  761. package/dist/shared/src/util/folderHierarchy.es.js +14 -0
  762. package/dist/shared/src/util/folderHierarchy.es.js.map +1 -0
  763. package/dist/shared/src/util/folderOperations.cjs.js +2 -0
  764. package/dist/shared/src/util/folderOperations.cjs.js.map +1 -0
  765. package/dist/shared/src/util/folderOperations.es.js +27 -0
  766. package/dist/shared/src/util/folderOperations.es.js.map +1 -0
  767. package/dist/shared/src/util/keyboardShortcuts.cjs.js +2 -0
  768. package/dist/shared/src/util/keyboardShortcuts.cjs.js.map +1 -0
  769. package/dist/shared/src/util/keyboardShortcuts.es.js +8 -0
  770. package/dist/shared/src/util/keyboardShortcuts.es.js.map +1 -0
  771. package/dist/types/api/generated/actions.d.ts +2 -1
  772. package/dist/types/api/generated/folders.d.ts +3 -3
  773. package/dist/types/api/generated/index.d.ts +2 -0
  774. package/dist/types/api/generated/projectFolders.d.ts +79 -0
  775. package/dist/types/api/generated/projects.d.ts +55 -1
  776. package/dist/types/api/generated/system.d.ts +2 -1
  777. package/dist/types/api/queries/index.d.ts +1 -0
  778. package/dist/types/api/queries/project/getProject.d.ts +4 -0
  779. package/dist/types/api/queries/projectFolders/index.d.ts +1 -0
  780. package/dist/types/api/queries/projectFolders/projectFolders.d.ts +985 -0
  781. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +1 -1
  782. package/dist/types/components/FolderForm/FolderForm.d.ts +24 -0
  783. package/dist/types/components/FolderForm/index.d.ts +3 -0
  784. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -1
  785. package/dist/types/components/SimpleFormDialog/FormFile.d.ts +16 -0
  786. package/dist/types/components/SimpleFormDialog/SimpleFormDialog.d.ts +2 -1
  787. package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +1 -0
  788. package/dist/types/config/index.d.ts +2 -0
  789. package/dist/types/config/plannerFeatures.d.ts +13 -0
  790. package/dist/types/config/powerpackFeatures.d.ts +6 -0
  791. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +2 -1
  792. package/dist/types/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +1 -0
  793. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  794. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +1 -0
  795. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
  796. package/dist/types/containers/ProjectTreeTable/components/ColumnDndProvider.d.ts +6 -0
  797. package/dist/types/containers/ProjectTreeTable/components/index.d.ts +1 -0
  798. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.d.ts +26 -0
  799. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
  800. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
  801. package/dist/types/containers/ProjectTreeTable/hooks/useColumnDragRestriction.d.ts +19 -0
  802. package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +4 -0
  803. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +2 -1
  804. package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +2 -2
  805. package/dist/types/context/PowerpackContext.d.ts +17 -6
  806. package/dist/types/util/buildHierarchicalTableRows.d.ts +43 -0
  807. package/dist/types/util/errorHandling.d.ts +7 -0
  808. package/dist/types/util/folderHierarchy.d.ts +37 -0
  809. package/dist/types/util/folderOperations.d.ts +34 -0
  810. package/dist/types/util/index.d.ts +5 -0
  811. package/dist/types/util/keyboardShortcuts.d.ts +6 -0
  812. package/dist/util.cjs.js +1 -1
  813. package/dist/util.es.js +51 -41
  814. package/dist/util.es.js.map +1 -1
  815. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"updateTasks.cjs.js","sources":["../../../../../../src/api/queries/tasks/updateTasks.ts"],"sourcesContent":["import { SubTaskNode } from '@shared/api'\nimport { api } from '@shared/api/generated/tasks'\nimport { PatchOperation, patchOverviewTasks } from '../overview/updateOverview'\nimport { patchDetailsPanel } from '../entities/patchDetailsPanel'\n\nconst tasksApi = api.injectEndpoints({\n endpoints: (build) => ({\n updateSubtasks: build.mutation<\n void,\n { projectName: string; taskId: string; subtasks: SubTaskNode[] }\n >({\n queryFn: async ({ projectName, taskId, subtasks }, { dispatch }) => {\n try {\n await dispatch(\n api.endpoints.updateTask.initiate({\n projectName,\n taskId,\n taskPatchModel: {\n data: { subtasks },\n },\n }),\n ).unwrap()\n\n return { data: undefined }\n } catch (error: any) {\n return { error }\n }\n },\n async onQueryStarted({ taskId, subtasks }, { dispatch, queryFulfilled, getState }) {\n const state = getState()\n const patches: any[] = []\n\n const patchOperations: PatchOperation[] = [\n {\n entityId: taskId,\n entityType: 'task',\n data: { subtasks },\n },\n ]\n\n // 1. Patch Overview Tasks\n patchOverviewTasks(patchOperations, { state, dispatch }, patches)\n\n // 2. patch details panel\n patchDetailsPanel(patchOperations, { state, dispatch }, patches)\n\n try {\n await queryFulfilled\n } catch (error) {\n console.error('Error updating subtasks:', error)\n patches.forEach((patch) => patch.undo())\n }\n },\n }),\n }),\n})\n\nexport const { useUpdateSubtasksMutation } = tasksApi\n"],"names":["tasksApi","api","build","projectName","taskId","subtasks","dispatch","error","queryFulfilled","getState","state","patches","patchOperations","patchOverviewTasks","patchDetailsPanel","patch","useUpdateSubtasksMutation"],"mappings":"iOAKMA,EAAWC,EAAAA,IAAI,gBAAgB,CACnC,UAAYC,IAAW,CACrB,eAAgBA,EAAM,SAGpB,CACA,QAAS,MAAO,CAAE,YAAAC,EAAa,OAAAC,EAAQ,SAAAC,CAAA,EAAY,CAAE,SAAAC,KAAe,CAClE,GAAI,CACF,aAAMA,EACJL,MAAI,UAAU,WAAW,SAAS,CAChC,YAAAE,EACA,OAAAC,EACA,eAAgB,CACd,KAAM,CAAE,SAAAC,CAAA,CAAS,CACnB,CACD,CAAA,EACD,OAAA,EAEK,CAAE,KAAM,MAAA,CACjB,OAASE,EAAY,CACnB,MAAO,CAAE,MAAAA,CAAA,CACX,CACF,EACA,MAAM,eAAe,CAAE,OAAAH,EAAQ,SAAAC,CAAA,EAAY,CAAE,SAAAC,EAAU,eAAAE,EAAgB,SAAAC,GAAY,CACjF,MAAMC,EAAQD,EAAA,EACRE,EAAiB,CAAA,EAEjBC,EAAoC,CACxC,CACE,SAAUR,EACV,WAAY,OACZ,KAAM,CAAE,SAAAC,CAAA,CAAS,CACnB,EAIFQ,EAAAA,mBAAmBD,EAAiB,CAAE,MAAAF,EAAO,SAAAJ,CAAA,EAAYK,CAAO,EAGhEG,EAAAA,kBAAkBF,EAAiB,CAAE,MAAAF,EAAO,SAAAJ,CAAA,EAAYK,CAAO,EAE/D,GAAI,CACF,MAAMH,CACR,OAASD,EAAO,CACd,QAAQ,MAAM,2BAA4BA,CAAK,EAC/CI,EAAQ,QAASI,GAAUA,EAAM,MAAM,CACzC,CACF,CAAA,CACD,CAAA,EAEL,CAAC,EAEY,CAAE,0BAAAC,GAA8BhB"}
1
+ {"version":3,"file":"updateTasks.cjs.js","sources":["../../../../../../src/api/queries/tasks/updateTasks.ts"],"sourcesContent":["import { SubTaskNode } from '@shared/api'\nimport { api } from '@shared/api/generated/tasks'\nimport { PatchOperation, patchOverviewTasks } from '../overview/updateOverview'\nimport { patchDetailsPanel } from '../entities/patchDetailsPanel'\n\nconst tasksApi = api.injectEndpoints({\n endpoints: (build) => ({\n updateSubtasks: build.mutation<\n void,\n { projectName: string; taskId: string; subtasks: SubTaskNode[] }\n >({\n queryFn: async ({ projectName, taskId, subtasks }, { dispatch }) => {\n try {\n await dispatch(\n api.endpoints.updateTask.initiate({\n projectName,\n taskId,\n taskPatchModel: {\n data: { subtasks },\n },\n }),\n ).unwrap()\n\n return { data: undefined }\n } catch (error: any) {\n return { error: error.data?.detail || 'Failed to update subtasks (unknown error)' }\n }\n },\n async onQueryStarted({ taskId, subtasks }, { dispatch, queryFulfilled, getState }) {\n const state = getState()\n const patches: any[] = []\n\n const patchOperations: PatchOperation[] = [\n {\n entityId: taskId,\n entityType: 'task',\n data: { subtasks },\n },\n ]\n\n // 1. Patch Overview Tasks\n patchOverviewTasks(patchOperations, { state, dispatch }, patches)\n\n // 2. patch details panel\n patchDetailsPanel(patchOperations, { state, dispatch }, patches)\n\n try {\n await queryFulfilled\n } catch (error) {\n console.error('Error updating subtasks:', error)\n patches.forEach((patch) => patch.undo())\n }\n },\n }),\n }),\n})\n\nexport const { useUpdateSubtasksMutation } = tasksApi\n"],"names":["tasksApi","api","build","projectName","taskId","subtasks","dispatch","error","queryFulfilled","getState","state","patches","patchOperations","patchOverviewTasks","patchDetailsPanel","patch","useUpdateSubtasksMutation"],"mappings":"iOAKMA,EAAWC,EAAAA,IAAI,gBAAgB,CACnC,UAAYC,IAAW,CACrB,eAAgBA,EAAM,SAGpB,CACA,QAAS,MAAO,CAAE,YAAAC,EAAa,OAAAC,EAAQ,SAAAC,CAAA,EAAY,CAAE,SAAAC,KAAe,CAClE,GAAI,CACF,aAAMA,EACJL,MAAI,UAAU,WAAW,SAAS,CAChC,YAAAE,EACA,OAAAC,EACA,eAAgB,CACd,KAAM,CAAE,SAAAC,CAAA,CAAS,CACnB,CACD,CAAA,EACD,OAAA,EAEK,CAAE,KAAM,MAAA,CACjB,OAASE,EAAY,CACnB,MAAO,CAAE,MAAOA,EAAM,MAAM,QAAU,2CAAA,CACxC,CACF,EACA,MAAM,eAAe,CAAE,OAAAH,EAAQ,SAAAC,CAAA,EAAY,CAAE,SAAAC,EAAU,eAAAE,EAAgB,SAAAC,GAAY,CACjF,MAAMC,EAAQD,EAAA,EACRE,EAAiB,CAAA,EAEjBC,EAAoC,CACxC,CACE,SAAUR,EACV,WAAY,OACZ,KAAM,CAAE,SAAAC,CAAA,CAAS,CACnB,EAIFQ,EAAAA,mBAAmBD,EAAiB,CAAE,MAAAF,EAAO,SAAAJ,CAAA,EAAYK,CAAO,EAGhEG,EAAAA,kBAAkBF,EAAiB,CAAE,MAAAF,EAAO,SAAAJ,CAAA,EAAYK,CAAO,EAE/D,GAAI,CACF,MAAMH,CACR,OAASD,EAAO,CACd,QAAQ,MAAM,2BAA4BA,CAAK,EAC/CI,EAAQ,QAASI,GAAUA,EAAM,MAAM,CACzC,CACF,CAAA,CACD,CAAA,EAEL,CAAC,EAEY,CAAE,0BAAAC,GAA8BhB"}
@@ -16,28 +16,28 @@ const h = p.injectEndpoints({
16
16
  })
17
17
  ).unwrap(), { data: void 0 };
18
18
  } catch (n) {
19
- return { error: n };
19
+ return { error: n.data?.detail || "Failed to update subtasks (unknown error)" };
20
20
  }
21
21
  },
22
22
  async onQueryStarted({ taskId: a, subtasks: r }, { dispatch: t, queryFulfilled: e, getState: n }) {
23
- const o = n(), s = [], i = [
23
+ const s = n(), o = [], i = [
24
24
  {
25
25
  entityId: a,
26
26
  entityType: "task",
27
27
  data: { subtasks: r }
28
28
  }
29
29
  ];
30
- k(i, { state: o, dispatch: t }, s), y(i, { state: o, dispatch: t }, s);
30
+ k(i, { state: s, dispatch: t }, o), y(i, { state: s, dispatch: t }, o);
31
31
  try {
32
32
  await e;
33
33
  } catch (d) {
34
- console.error("Error updating subtasks:", d), s.forEach((u) => u.undo());
34
+ console.error("Error updating subtasks:", d), o.forEach((u) => u.undo());
35
35
  }
36
36
  }
37
37
  })
38
38
  })
39
- }), { useUpdateSubtasksMutation: w } = h;
39
+ }), { useUpdateSubtasksMutation: b } = h;
40
40
  export {
41
- w as useUpdateSubtasksMutation
41
+ b as useUpdateSubtasksMutation
42
42
  };
43
43
  //# sourceMappingURL=updateTasks.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateTasks.es.js","sources":["../../../../../../src/api/queries/tasks/updateTasks.ts"],"sourcesContent":["import { SubTaskNode } from '@shared/api'\nimport { api } from '@shared/api/generated/tasks'\nimport { PatchOperation, patchOverviewTasks } from '../overview/updateOverview'\nimport { patchDetailsPanel } from '../entities/patchDetailsPanel'\n\nconst tasksApi = api.injectEndpoints({\n endpoints: (build) => ({\n updateSubtasks: build.mutation<\n void,\n { projectName: string; taskId: string; subtasks: SubTaskNode[] }\n >({\n queryFn: async ({ projectName, taskId, subtasks }, { dispatch }) => {\n try {\n await dispatch(\n api.endpoints.updateTask.initiate({\n projectName,\n taskId,\n taskPatchModel: {\n data: { subtasks },\n },\n }),\n ).unwrap()\n\n return { data: undefined }\n } catch (error: any) {\n return { error }\n }\n },\n async onQueryStarted({ taskId, subtasks }, { dispatch, queryFulfilled, getState }) {\n const state = getState()\n const patches: any[] = []\n\n const patchOperations: PatchOperation[] = [\n {\n entityId: taskId,\n entityType: 'task',\n data: { subtasks },\n },\n ]\n\n // 1. Patch Overview Tasks\n patchOverviewTasks(patchOperations, { state, dispatch }, patches)\n\n // 2. patch details panel\n patchDetailsPanel(patchOperations, { state, dispatch }, patches)\n\n try {\n await queryFulfilled\n } catch (error) {\n console.error('Error updating subtasks:', error)\n patches.forEach((patch) => patch.undo())\n }\n },\n }),\n }),\n})\n\nexport const { useUpdateSubtasksMutation } = tasksApi\n"],"names":["tasksApi","api","build","projectName","taskId","subtasks","dispatch","error","queryFulfilled","getState","state","patches","patchOperations","patchOverviewTasks","patchDetailsPanel","patch","useUpdateSubtasksMutation"],"mappings":";;;AAKA,MAAMA,IAAWC,EAAI,gBAAgB;AAAA,EACnC,WAAW,CAACC,OAAW;AAAA,IACrB,gBAAgBA,EAAM,SAGpB;AAAA,MACA,SAAS,OAAO,EAAE,aAAAC,GAAa,QAAAC,GAAQ,UAAAC,EAAA,GAAY,EAAE,UAAAC,QAAe;AAClE,YAAI;AACF,uBAAMA;AAAA,YACJL,EAAI,UAAU,WAAW,SAAS;AAAA,cAChC,aAAAE;AAAA,cACA,QAAAC;AAAA,cACA,gBAAgB;AAAA,gBACd,MAAM,EAAE,UAAAC,EAAA;AAAA,cAAS;AAAA,YACnB,CACD;AAAA,UAAA,EACD,OAAA,GAEK,EAAE,MAAM,OAAA;AAAA,QACjB,SAASE,GAAY;AACnB,iBAAO,EAAE,OAAAA,EAAA;AAAA,QACX;AAAA,MACF;AAAA,MACA,MAAM,eAAe,EAAE,QAAAH,GAAQ,UAAAC,EAAA,GAAY,EAAE,UAAAC,GAAU,gBAAAE,GAAgB,UAAAC,KAAY;AACjF,cAAMC,IAAQD,EAAA,GACRE,IAAiB,CAAA,GAEjBC,IAAoC;AAAA,UACxC;AAAA,YACE,UAAUR;AAAA,YACV,YAAY;AAAA,YACZ,MAAM,EAAE,UAAAC,EAAA;AAAA,UAAS;AAAA,QACnB;AAIF,QAAAQ,EAAmBD,GAAiB,EAAE,OAAAF,GAAO,UAAAJ,EAAA,GAAYK,CAAO,GAGhEG,EAAkBF,GAAiB,EAAE,OAAAF,GAAO,UAAAJ,EAAA,GAAYK,CAAO;AAE/D,YAAI;AACF,gBAAMH;AAAA,QACR,SAASD,GAAO;AACd,kBAAQ,MAAM,4BAA4BA,CAAK,GAC/CI,EAAQ,QAAQ,CAACI,MAAUA,EAAM,MAAM;AAAA,QACzC;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAAA;AAEL,CAAC,GAEY,EAAE,2BAAAC,MAA8BhB;"}
1
+ {"version":3,"file":"updateTasks.es.js","sources":["../../../../../../src/api/queries/tasks/updateTasks.ts"],"sourcesContent":["import { SubTaskNode } from '@shared/api'\nimport { api } from '@shared/api/generated/tasks'\nimport { PatchOperation, patchOverviewTasks } from '../overview/updateOverview'\nimport { patchDetailsPanel } from '../entities/patchDetailsPanel'\n\nconst tasksApi = api.injectEndpoints({\n endpoints: (build) => ({\n updateSubtasks: build.mutation<\n void,\n { projectName: string; taskId: string; subtasks: SubTaskNode[] }\n >({\n queryFn: async ({ projectName, taskId, subtasks }, { dispatch }) => {\n try {\n await dispatch(\n api.endpoints.updateTask.initiate({\n projectName,\n taskId,\n taskPatchModel: {\n data: { subtasks },\n },\n }),\n ).unwrap()\n\n return { data: undefined }\n } catch (error: any) {\n return { error: error.data?.detail || 'Failed to update subtasks (unknown error)' }\n }\n },\n async onQueryStarted({ taskId, subtasks }, { dispatch, queryFulfilled, getState }) {\n const state = getState()\n const patches: any[] = []\n\n const patchOperations: PatchOperation[] = [\n {\n entityId: taskId,\n entityType: 'task',\n data: { subtasks },\n },\n ]\n\n // 1. Patch Overview Tasks\n patchOverviewTasks(patchOperations, { state, dispatch }, patches)\n\n // 2. patch details panel\n patchDetailsPanel(patchOperations, { state, dispatch }, patches)\n\n try {\n await queryFulfilled\n } catch (error) {\n console.error('Error updating subtasks:', error)\n patches.forEach((patch) => patch.undo())\n }\n },\n }),\n }),\n})\n\nexport const { useUpdateSubtasksMutation } = tasksApi\n"],"names":["tasksApi","api","build","projectName","taskId","subtasks","dispatch","error","queryFulfilled","getState","state","patches","patchOperations","patchOverviewTasks","patchDetailsPanel","patch","useUpdateSubtasksMutation"],"mappings":";;;AAKA,MAAMA,IAAWC,EAAI,gBAAgB;AAAA,EACnC,WAAW,CAACC,OAAW;AAAA,IACrB,gBAAgBA,EAAM,SAGpB;AAAA,MACA,SAAS,OAAO,EAAE,aAAAC,GAAa,QAAAC,GAAQ,UAAAC,EAAA,GAAY,EAAE,UAAAC,QAAe;AAClE,YAAI;AACF,uBAAMA;AAAA,YACJL,EAAI,UAAU,WAAW,SAAS;AAAA,cAChC,aAAAE;AAAA,cACA,QAAAC;AAAA,cACA,gBAAgB;AAAA,gBACd,MAAM,EAAE,UAAAC,EAAA;AAAA,cAAS;AAAA,YACnB,CACD;AAAA,UAAA,EACD,OAAA,GAEK,EAAE,MAAM,OAAA;AAAA,QACjB,SAASE,GAAY;AACnB,iBAAO,EAAE,OAAOA,EAAM,MAAM,UAAU,4CAAA;AAAA,QACxC;AAAA,MACF;AAAA,MACA,MAAM,eAAe,EAAE,QAAAH,GAAQ,UAAAC,EAAA,GAAY,EAAE,UAAAC,GAAU,gBAAAE,GAAgB,UAAAC,KAAY;AACjF,cAAMC,IAAQD,EAAA,GACRE,IAAiB,CAAA,GAEjBC,IAAoC;AAAA,UACxC;AAAA,YACE,UAAUR;AAAA,YACV,YAAY;AAAA,YACZ,MAAM,EAAE,UAAAC,EAAA;AAAA,UAAS;AAAA,QACnB;AAIF,QAAAQ,EAAmBD,GAAiB,EAAE,OAAAF,GAAO,UAAAJ,EAAA,GAAYK,CAAO,GAGhEG,EAAkBF,GAAiB,EAAE,OAAAF,GAAO,UAAAJ,EAAA,GAAYK,CAAO;AAE/D,YAAI;AACF,gBAAMH;AAAA,QACR,SAASD,GAAO;AACd,kBAAQ,MAAM,4BAA4BA,CAAK,GAC/CI,EAAQ,QAAQ,CAACI,MAAUA,EAAM,MAAM;AAAA,QACzC;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAAA;AAEL,CAAC,GAEY,EAAE,2BAAAC,MAA8BhB;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");const e=require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const r=e.api.enhanceEndpoints({endpoints:{resolveUris:{}}}),{useResolveUrisMutation:i}=r;exports.useResolveUrisMutation=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");const e=require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const r=e.api.enhanceEndpoints({endpoints:{resolveUris:{}}}),{useResolveUrisMutation:i}=r;exports.useResolveUrisMutation=i;
2
2
  //# sourceMappingURL=getUris.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUris.cjs.js","sources":["../../../../../../src/api/queries/uris/getUris.ts"],"sourcesContent":["import { uRIsApi } from '@shared/api/generated'\n\nconst enhancedUrisApi = uRIsApi.enhanceEndpoints({\n endpoints: {\n resolveUris: {},\n },\n})\n\nexport const { useResolveUrisMutation } = enhancedUrisApi\n"],"names":["enhancedUrisApi","uRIsApi","useResolveUrisMutation"],"mappings":"srDAEA,MAAMA,EAAkBC,EAAAA,IAAQ,iBAAiB,CAC/C,UAAW,CACT,YAAa,CAAA,CAAC,CAElB,CAAC,EAEY,CAAE,uBAAAC,GAA2BF"}
1
+ {"version":3,"file":"getUris.cjs.js","sources":["../../../../../../src/api/queries/uris/getUris.ts"],"sourcesContent":["import { uRIsApi } from '@shared/api/generated'\n\nconst enhancedUrisApi = uRIsApi.enhanceEndpoints({\n endpoints: {\n resolveUris: {},\n },\n})\n\nexport const { useResolveUrisMutation } = enhancedUrisApi\n"],"names":["enhancedUrisApi","uRIsApi","useResolveUrisMutation"],"mappings":"uuDAEA,MAAMA,EAAkBC,EAAAA,IAAQ,iBAAiB,CAC/C,UAAW,CACT,YAAa,CAAA,CAAC,CAElB,CAAC,EAEY,CAAE,uBAAAC,GAA2BF"}
@@ -23,6 +23,7 @@ import "../../generated/operations.es.js";
23
23
  import "../../generated/products.es.js";
24
24
  import "../../generated/projectDashboard.es.js";
25
25
  import "../../generated/projects.es.js";
26
+ import "../../generated/projectFolders.es.js";
26
27
  import "../../generated/reviewables.es.js";
27
28
  import "../../generated/services.es.js";
28
29
  import "../../generated/system.es.js";
@@ -40,8 +41,8 @@ const o = i.enhanceEndpoints({
40
41
  endpoints: {
41
42
  resolveUris: {}
42
43
  }
43
- }), { useResolveUrisMutation: L } = o;
44
+ }), { useResolveUrisMutation: N } = o;
44
45
  export {
45
- L as useResolveUrisMutation
46
+ N as useResolveUrisMutation
46
47
  };
47
48
  //# sourceMappingURL=getUris.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUris.es.js","sources":["../../../../../../src/api/queries/uris/getUris.ts"],"sourcesContent":["import { uRIsApi } from '@shared/api/generated'\n\nconst enhancedUrisApi = uRIsApi.enhanceEndpoints({\n endpoints: {\n resolveUris: {},\n },\n})\n\nexport const { useResolveUrisMutation } = enhancedUrisApi\n"],"names":["enhancedUrisApi","uRIsApi","useResolveUrisMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,IAAkBC,EAAQ,iBAAiB;AAAA,EAC/C,WAAW;AAAA,IACT,aAAa,CAAA;AAAA,EAAC;AAElB,CAAC,GAEY,EAAE,wBAAAC,MAA2BF;"}
1
+ {"version":3,"file":"getUris.es.js","sources":["../../../../../../src/api/queries/uris/getUris.ts"],"sourcesContent":["import { uRIsApi } from '@shared/api/generated'\n\nconst enhancedUrisApi = uRIsApi.enhanceEndpoints({\n endpoints: {\n resolveUris: {},\n },\n})\n\nexport const { useResolveUrisMutation } = enhancedUrisApi\n"],"names":["enhancedUrisApi","uRIsApi","useResolveUrisMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,IAAkBC,EAAQ,iBAAiB;AAAA,EAC/C,WAAW;AAAA,IACT,aAAa,CAAA;AAAA,EAAC;AAElB,CAAC,GAEY,EAAE,wBAAAC,MAA2BF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const K=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const g=require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("lodash");require("react-toastify");require("uuid");const m=require("../../../util/pubsub.cjs.js"),P=require("./convertAccessGroupsData.cjs.js"),A=require("./getUserProjectsAccess.cjs.js"),h=s=>s.kanban.edges.map(({node:r})=>r).sort((r,o)=>{const e=r.label||r.name,t=o.label||o.name;return e.localeCompare(t)}),k=(s,r,o)=>s?.length?[{type:"kanBanTask",id:"LIST"},...s.flatMap(({id:e,projectName:t,assignees:c})=>[{type:"task",id:e},{type:"kanban",id:"project-"+t},...c.map(n=>({type:"kanban",id:"user-"+n})),...c.map(n=>({type:"kanban",id:"user-"+n+"-project-"+t})),{type:"kanban",id:JSON.stringify(o)}])]:[{type:"kanBanTask",id:"LIST"}],v=async({projects:s=[],taskIds:r=[]},o)=>{try{const e=await o(j.endpoints.GetKanbanTasks.initiate({projects:s,taskIds:r},{forceRefetch:!0}));if(e.status==="rejected"||!e.data)throw console.error("No tasks found",r),new Error(`No tasks found ${r.join(", ")}`);return e.status!=="fulfilled"?[]:e.data}catch(e){return console.error(e),[]}},j=K.api.enhanceEndpoints({endpoints:{GetKanban:{transformResponse:h,providesTags:k,async onCacheEntryAdded({assignees:s=[],projects:r=[]}={},{updateCachedData:o,cacheDataLoaded:e,cacheEntryRemoved:t,dispatch:c}){let n;try{await e;const u=async({projects:q=[],taskIds:d=[]})=>{const p=await v({projects:q,taskIds:d},c),y=p.filter(a=>a.assignees.some(i=>s?.includes(i))),G=p.filter(a=>!a.assignees.some(i=>s?.includes(i)));o(a=>{y.forEach(i=>{const f=a.findIndex(b=>b.id===i.id);f===-1?a.push(i):a[f]=i}),G.forEach(i=>{const f=a.findIndex(b=>b.id===i.id);f!==-1&&a.splice(f,1)})})},l=async(q,d)=>{const p=d.project;if(!r?.includes(p))return console.log("project not selected");const y=d.summary.entityId;if(!y)return console.log("no entity id found");u({taskIds:[y],projects:[p]})};n=m.subscribe("entity.task",l)}catch(u){console.error(u)}await t,m.unsubscribe(n)}},GetKanbanTasks:{transformResponse:h,providesTags:k},GetKanbanProjectUsers:{transformResponse:(s,r,{projects:o}={})=>s.users.edges.map(({node:e})=>{const t=P(e.accessGroups);let n=!e.isManager&&!e.isAdmin?A(t):o;(typeof n=="string"||!n)&&(n=[]);const u=`/api/users/${e.name}/avatar`;return{...e,accessGroups:t,projects:n,avatarUrl:u}}),providesTags:s=>s?.length?[{type:"user",id:"LIST"},...s.map(({name:r})=>({type:"user",id:r}))]:[{type:"user",id:"LIST"}]}}}),{useGetKanbanQuery:I,useGetKanbanProjectUsersQuery:w}=j,T=j.injectEndpoints({endpoints:s=>({getProjectsInfo:s.query({async queryFn({projects:r=[],anatomy:o=!0},{dispatch:e}){try{const t={};for(const c of r){const n=c,u=[e(g.default.endpoints.getProject.initiate({projectName:n},{forceRefetch:!0})).unwrap(),...o?[e(g.default.endpoints.getProjectAnatomy.initiate({projectName:n},{forceRefetch:!0})).unwrap()]:[]],l=await Promise.allSettled(u),q=l[0],d=q.status==="fulfilled"?q.value:void 0,p=o&&l[1]?.status==="fulfilled"?l[1].value:void 0;d&&(t[n]={...d,anatomy:p})}return{data:t,meta:void 0,error:void 0}}catch(t){return console.error(t),{error:t,meta:void 0,data:void 0}}},providesTags:(r,o,{projects:e})=>e.map(t=>({type:"project",id:t}))})})}),{useGetProjectsInfoQuery:S}=T;exports.dashboardQueries=T;exports.getKanbanTasks=v;exports.useGetKanbanProjectUsersQuery=w;exports.useGetKanbanQuery=I;exports.useGetProjectsInfoQuery=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const K=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const g=require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("lodash");require("react-toastify");require("uuid");const m=require("../../../util/pubsub.cjs.js"),P=require("./convertAccessGroupsData.cjs.js"),A=require("./getUserProjectsAccess.cjs.js"),h=s=>s.kanban.edges.map(({node:r})=>r).sort((r,o)=>{const e=r.label||r.name,t=o.label||o.name;return e.localeCompare(t)}),k=(s,r,o)=>s?.length?[{type:"kanBanTask",id:"LIST"},...s.flatMap(({id:e,projectName:t,assignees:c})=>[{type:"task",id:e},{type:"kanban",id:"project-"+t},...c.map(n=>({type:"kanban",id:"user-"+n})),...c.map(n=>({type:"kanban",id:"user-"+n+"-project-"+t})),{type:"kanban",id:JSON.stringify(o)}])]:[{type:"kanBanTask",id:"LIST"}],v=async({projects:s=[],taskIds:r=[]},o)=>{try{const e=await o(j.endpoints.GetKanbanTasks.initiate({projects:s,taskIds:r},{forceRefetch:!0}));if(e.status==="rejected"||!e.data)throw console.error("No tasks found",r),new Error(`No tasks found ${r.join(", ")}`);return e.status!=="fulfilled"?[]:e.data}catch(e){return console.error(e),[]}},j=K.api.enhanceEndpoints({endpoints:{GetKanban:{transformResponse:h,providesTags:k,async onCacheEntryAdded({assignees:s=[],projects:r=[]}={},{updateCachedData:o,cacheDataLoaded:e,cacheEntryRemoved:t,dispatch:c}){let n;try{await e;const u=async({projects:q=[],taskIds:d=[]})=>{const p=await v({projects:q,taskIds:d},c),y=p.filter(a=>a.assignees.some(i=>s?.includes(i))),G=p.filter(a=>!a.assignees.some(i=>s?.includes(i)));o(a=>{y.forEach(i=>{const f=a.findIndex(b=>b.id===i.id);f===-1?a.push(i):a[f]=i}),G.forEach(i=>{const f=a.findIndex(b=>b.id===i.id);f!==-1&&a.splice(f,1)})})},l=async(q,d)=>{const p=d.project;if(!r?.includes(p))return console.log("project not selected");const y=d.summary.entityId;if(!y)return console.log("no entity id found");u({taskIds:[y],projects:[p]})};n=m.subscribe("entity.task",l)}catch(u){console.error(u)}await t,m.unsubscribe(n)}},GetKanbanTasks:{transformResponse:h,providesTags:k},GetKanbanProjectUsers:{transformResponse:(s,r,{projects:o}={})=>s.users.edges.map(({node:e})=>{const t=P(e.accessGroups);let n=!e.isManager&&!e.isAdmin?A(t):o;(typeof n=="string"||!n)&&(n=[]);const u=`/api/users/${e.name}/avatar`;return{...e,accessGroups:t,projects:n,avatarUrl:u}}),providesTags:s=>s?.length?[{type:"user",id:"LIST"},...s.map(({name:r})=>({type:"user",id:r}))]:[{type:"user",id:"LIST"}]}}}),{useGetKanbanQuery:I,useGetKanbanProjectUsersQuery:w}=j,T=j.injectEndpoints({endpoints:s=>({getProjectsInfo:s.query({async queryFn({projects:r=[],anatomy:o=!0},{dispatch:e}){try{const t={};for(const c of r){const n=c,u=[e(g.default.endpoints.getProject.initiate({projectName:n},{forceRefetch:!0})).unwrap(),...o?[e(g.default.endpoints.getProjectAnatomy.initiate({projectName:n},{forceRefetch:!0})).unwrap()]:[]],l=await Promise.allSettled(u),q=l[0],d=q.status==="fulfilled"?q.value:void 0,p=o&&l[1]?.status==="fulfilled"?l[1].value:void 0;d&&(t[n]={...d,anatomy:p})}return{data:t,meta:void 0,error:void 0}}catch(t){return console.error(t),{error:t,meta:void 0,data:void 0}}},providesTags:(r,o,{projects:e})=>e.map(t=>({type:"project",id:t}))})})}),{useGetProjectsInfoQuery:S}=T;exports.dashboardQueries=T;exports.getKanbanTasks=v;exports.useGetKanbanProjectUsersQuery=w;exports.useGetKanbanQuery=I;exports.useGetProjectsInfoQuery=S;
2
2
  //# sourceMappingURL=getUserDashboard.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUserDashboard.cjs.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUserDashboard.cjs.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
@@ -23,6 +23,7 @@ import "../../generated/operations.es.js";
23
23
  import "../../generated/products.es.js";
24
24
  import "../../generated/projectDashboard.es.js";
25
25
  import "../../generated/projects.es.js";
26
+ import "../../generated/projectFolders.es.js";
26
27
  import "../../generated/reviewables.es.js";
27
28
  import "../../generated/services.es.js";
28
29
  import "../../generated/system.es.js";
@@ -157,7 +158,7 @@ const k = (r) => r.kanban.edges.map(({ node: e }) => e).sort((e, n) => {
157
158
  ] : [{ type: "user", id: "LIST" }]
158
159
  }
159
160
  }
160
- }), { useGetKanbanQuery: kt, useGetKanbanProjectUsersQuery: vt } = j, K = j.injectEndpoints({
161
+ }), { useGetKanbanQuery: vt, useGetKanbanProjectUsersQuery: Tt } = j, K = j.injectEndpoints({
161
162
  endpoints: (r) => ({
162
163
  getProjectsInfo: r.query({
163
164
  async queryFn({ projects: e = [], anatomy: n = !0 }, { dispatch: t }) {
@@ -193,12 +194,12 @@ const k = (r) => r.kanban.edges.map(({ node: e }) => e).sort((e, n) => {
193
194
  providesTags: (e, n, { projects: t }) => t.map((o) => ({ type: "project", id: o }))
194
195
  })
195
196
  })
196
- }), { useGetProjectsInfoQuery: Tt } = K;
197
+ }), { useGetProjectsInfoQuery: At } = K;
197
198
  export {
198
199
  K as dashboardQueries,
199
200
  I as getKanbanTasks,
200
- vt as useGetKanbanProjectUsersQuery,
201
- kt as useGetKanbanQuery,
202
- Tt as useGetProjectsInfoQuery
201
+ Tt as useGetKanbanProjectUsersQuery,
202
+ vt as useGetKanbanQuery,
203
+ At as useGetProjectsInfoQuery
203
204
  };
204
205
  //# sourceMappingURL=getUserDashboard.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUserDashboard.es.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUserDashboard.es.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '@shared/api/queries/project'\nimport { PubSub } from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n { assignees = [], projects = [] } = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const patchKanbanTask = async ({\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n }) => {\n const tasks = await getKanbanTasks({ projects, taskIds }, dispatch)\n\n // get all tasks that have been ADDED to the assignees\n const tasksWithArgAssignees = tasks.filter((task) =>\n task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n // get all tasks that have been REMOVED from the assignees\n const tasksWithoutArgAssignees = tasks.filter(\n (task) => !task.assignees.some((assignee) => assignees?.includes(assignee)),\n )\n\n // patch the kanban query by adding new tasks and remove old tasks\n updateCachedData((draft) => {\n // add new tasks\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index === -1) {\n draft.push(task)\n } else {\n // update the task\n draft[index] = task\n }\n })\n // remove old tasks\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((t) => t.id === task.id)\n if (index !== -1) {\n draft.splice(index, 1)\n }\n })\n })\n }\n\n const handlePubSub = async (_topic: string, message: any) => {\n const project = message.project as string\n // first check the project name as selected\n if (!projects?.includes(project)) return console.log('project not selected')\n // then get entity id\n const entityId = message.summary.entityId\n if (!entityId) return console.log('no entity id found')\n\n // patch task updates into kanban cache\n patchKanbanTask({\n taskIds: [entityId],\n projects: [project],\n })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(\n projectQueries.endpoints.getProject.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate(\n { projectName },\n { forceRefetch: true },\n ),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","patchKanbanTask","tasks","tasksWithArgAssignees","task","tasksWithoutArgAssignees","draft","index","t","handlePubSub","_topic","message","project","entityId","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const n=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");const o=require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../links/getEntityLinks.cjs.js");const t=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/updateTasks.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("./updateUsers.cjs.js");require("./guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const d=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const n=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");const o=require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../links/getEntityLinks.cjs.js");const t=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/updateTasks.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("./updateUsers.cjs.js");require("./guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const d=`
2
2
  query UserList($name:String!) {
3
3
  users(name: $name) {
4
4
  edges {
@@ -1 +1 @@
1
- {"version":3,"file":"getUsers.cjs.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.filter((e:any) => e.node.name !== 'CloudServiceWorker').map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUsers.cjs.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.filter((e:any) => e.node.name !== 'CloudServiceWorker').map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
@@ -23,6 +23,7 @@ import "../../generated/operations.es.js";
23
23
  import "../../generated/products.es.js";
24
24
  import "../../generated/projectDashboard.es.js";
25
25
  import "../../generated/projects.es.js";
26
+ import "../../generated/projectFolders.es.js";
26
27
  import "../../generated/reviewables.es.js";
27
28
  import "../../generated/services.es.js";
28
29
  import "../../generated/system.es.js";
@@ -70,6 +71,7 @@ import "../permissions/getPermissions.es.js";
70
71
  import "../products/createProduct.es.js";
71
72
  import "../project/getProject.es.js";
72
73
  import "../project/updateProject.es.js";
74
+ import "../projectFolders/projectFolders.es.js";
73
75
  import "../review/getReview.es.js";
74
76
  import "../review/updateReview.es.js";
75
77
  import "../share/share.es.js";
@@ -255,25 +257,25 @@ query Assignees($projectName: String) {
255
257
  }
256
258
  }
257
259
  }), {
258
- useGetAllProjectUsersAsAssigneeQuery: Je,
259
- useLazyGetAllProjectUsersAsAssigneeQuery: Ke,
260
- useGetActiveUsersCountQuery: We,
261
- useGetAllAssigneesQuery: Fe,
262
- useGetUsersQuery: He,
263
- useGetUserByNameQuery: Ve,
264
- useGetUsersAssigneeQuery: Xe
265
- } = y, { useGetUserSessionsQuery: Ze, useGetCurrentUserQuery: er, useGetUserQuery: rr } = l;
260
+ useGetAllProjectUsersAsAssigneeQuery: We,
261
+ useLazyGetAllProjectUsersAsAssigneeQuery: Fe,
262
+ useGetActiveUsersCountQuery: He,
263
+ useGetAllAssigneesQuery: Ve,
264
+ useGetUsersQuery: Xe,
265
+ useGetUserByNameQuery: Ze,
266
+ useGetUsersAssigneeQuery: er
267
+ } = y, { useGetUserSessionsQuery: rr, useGetCurrentUserQuery: sr, useGetUserQuery: tr } = l;
266
268
  export {
267
269
  g as default,
268
- We as useGetActiveUsersCountQuery,
269
- Fe as useGetAllAssigneesQuery,
270
- Je as useGetAllProjectUsersAsAssigneeQuery,
271
- er as useGetCurrentUserQuery,
272
- Ve as useGetUserByNameQuery,
273
- rr as useGetUserQuery,
274
- Ze as useGetUserSessionsQuery,
275
- Xe as useGetUsersAssigneeQuery,
276
- He as useGetUsersQuery,
277
- Ke as useLazyGetAllProjectUsersAsAssigneeQuery
270
+ He as useGetActiveUsersCountQuery,
271
+ Ve as useGetAllAssigneesQuery,
272
+ We as useGetAllProjectUsersAsAssigneeQuery,
273
+ sr as useGetCurrentUserQuery,
274
+ Ze as useGetUserByNameQuery,
275
+ tr as useGetUserQuery,
276
+ rr as useGetUserSessionsQuery,
277
+ er as useGetUsersAssigneeQuery,
278
+ Xe as useGetUsersQuery,
279
+ Fe as useLazyGetAllProjectUsersAsAssigneeQuery
278
280
  };
279
281
  //# sourceMappingURL=getUsers.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.filter((e:any) => e.node.name !== 'CloudServiceWorker').map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.filter((e:any) => e.node.name !== 'CloudServiceWorker').map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}