@ynput/ayon-frontend-shared 0.4.1 → 0.4.2

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 (1096) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +37 -201
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +248 -512
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +31 -233
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/components.cjs.js +1 -1
  11. package/dist/components.es.js +83 -82
  12. package/dist/components.es.js.map +1 -1
  13. package/dist/index.cjs.js +1 -1
  14. package/dist/index.es.js +32 -130
  15. package/dist/index.es.js.map +1 -1
  16. package/dist/shared/src/api/generated/graphql.cjs.js +8 -7
  17. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  18. package/dist/shared/src/api/generated/graphql.es.js +18 -17
  19. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  20. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  21. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  22. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  23. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  24. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  25. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  27. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  28. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -1
  29. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  31. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  32. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  33. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  34. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +55 -151
  35. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  36. package/dist/shared/src/api/queries/addons/updateAddons.cjs.js.map +1 -1
  37. package/dist/shared/src/api/queries/addons/updateAddons.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  39. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  40. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  41. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  43. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  44. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  45. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +58 -113
  49. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  52. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  53. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  54. package/dist/shared/src/api/queries/entityLists/getLists.es.js +67 -118
  55. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  56. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  57. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  58. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +40 -95
  59. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  60. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -1
  63. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -1
  64. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  65. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  66. package/dist/shared/src/api/queries/folders/getFolders.es.js +68 -119
  67. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  68. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  69. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  70. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +73 -128
  71. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  72. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  73. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  75. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  76. package/dist/shared/src/api/queries/overview/getOverview.es.js +229 -282
  77. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  79. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  80. package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js.map +1 -1
  81. package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
  82. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  83. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  84. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +80 -134
  85. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  86. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  87. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  88. package/dist/shared/src/api/queries/review/getReview.es.js +95 -152
  89. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  90. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  92. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  94. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  95. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  96. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +88 -141
  97. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  98. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  101. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  102. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +30 -80
  103. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  104. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  106. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  109. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  110. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  112. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  113. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  114. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -1
  115. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -1
  116. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  117. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  118. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +28 -30
  119. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  120. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  121. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  122. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +29 -125
  123. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  124. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +3 -3
  125. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  126. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +16 -310
  127. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  128. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +5 -5
  129. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
  130. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +49 -145
  131. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
  132. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  133. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  134. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +45 -141
  135. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  136. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  137. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  138. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +26 -182
  139. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  140. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  141. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  142. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +9 -195
  143. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  144. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  145. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  146. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -200
  147. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  148. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  149. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  150. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +18 -114
  151. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  152. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  153. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  154. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +13 -109
  155. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  156. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  157. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  158. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +11 -316
  159. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  160. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  161. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  162. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +23 -119
  163. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  164. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  165. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  166. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +0 -111
  167. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  168. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +1 -1
  169. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -1
  170. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +1 -1
  171. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -1
  172. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  173. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  174. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +12 -314
  175. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  176. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  177. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  178. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +86 -273
  179. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  180. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  181. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  182. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +34 -335
  183. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  184. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  185. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  186. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  187. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  188. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +15 -310
  189. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  190. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  191. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  192. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
  193. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
  194. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  195. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  196. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +89 -293
  197. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  198. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +2 -2
  199. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -1
  200. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +10 -106
  201. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -1
  202. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +1 -1
  203. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -1
  204. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +6 -5
  205. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  206. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  207. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  208. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  209. package/dist/shared/src/components/LinksManager/LinksManager.es.js +51 -346
  210. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  211. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  212. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  213. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -212
  214. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  215. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  216. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  217. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -205
  218. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  219. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  220. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  221. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -185
  222. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  223. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  224. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  225. package/dist/shared/src/components/Menu/Menu.es.js +48 -343
  226. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  227. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  228. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  229. package/dist/shared/src/components/Menu/MenuItem.es.js +20 -316
  230. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  231. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  232. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  233. package/dist/shared/src/components/Menu/MenuList.es.js +74 -373
  234. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  235. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
  236. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  237. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +16 -315
  238. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  239. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  240. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  241. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -346
  242. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  243. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  244. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  245. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +134 -304
  246. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  247. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  248. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  249. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +74 -367
  250. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  251. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  252. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  253. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -299
  254. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  255. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  256. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  257. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +34 -334
  258. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  259. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  260. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  261. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +30 -331
  262. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  263. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
  264. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  265. package/dist/shared/src/components/RenameForm/RenameForm.es.js +77 -372
  266. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  267. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  268. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  269. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +114 -309
  270. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  271. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  272. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +66 -365
  274. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  276. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +14 -316
  278. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  280. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  281. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +70 -72
  282. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  283. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  284. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  285. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +24 -326
  286. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  287. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
  288. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
  289. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  290. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  291. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +335 -534
  292. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  293. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +7 -7
  294. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  295. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +29 -329
  296. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  297. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +4 -4
  298. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  299. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +53 -355
  300. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  301. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  302. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  303. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +95 -394
  304. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  305. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +2 -2
  306. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  307. package/dist/shared/src/components/SyncButton/SyncButton.es.js +52 -165
  308. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  309. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +3 -3
  310. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  311. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +35 -334
  312. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  313. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  314. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  315. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +26 -122
  316. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  317. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  318. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  319. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +22 -118
  320. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  321. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +13 -13
  322. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  323. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +99 -300
  324. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  325. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  326. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  327. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +61 -262
  328. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  329. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -1
  330. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -1
  331. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  332. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  333. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  334. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -210
  336. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  337. package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/Actions/ActionIcon.es.js.map +1 -1
  339. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  340. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/Actions/Actions.es.js +51 -250
  342. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  343. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  344. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  345. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  346. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +20 -323
  348. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  349. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  351. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  353. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  354. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +143 -327
  356. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  357. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +3 -3
  358. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +27 -329
  360. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  361. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  362. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +39 -236
  364. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  365. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  366. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +65 -255
  368. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  369. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  370. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +16 -317
  372. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  373. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  374. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +61 -354
  376. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  377. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  378. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +20 -116
  380. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +2 -306
  384. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +51 -147
  388. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -202
  392. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
  396. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +9 -9
  400. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -320
  402. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  404. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -217
  406. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  408. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +22 -323
  410. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  412. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -307
  414. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.cjs.js.map +1 -1
  416. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.cjs.js.map +1 -1
  420. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  424. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +10 -106
  426. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  428. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -209
  432. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  433. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  434. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -373
  436. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  437. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  438. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +20 -324
  440. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  441. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +6 -6
  442. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +32 -338
  444. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  445. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +3 -3
  446. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -318
  448. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  449. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  450. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +11 -107
  452. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  453. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  454. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -228
  456. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  457. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  458. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +27 -123
  460. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  461. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -1
  462. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  464. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/Feed.es.js +65 -245
  466. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  470. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -309
  472. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  474. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +145 -421
  476. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  477. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  478. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -317
  480. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  481. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  482. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -120
  484. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  485. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  486. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +42 -331
  488. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  489. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
  490. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
  491. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  492. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +227 -372
  494. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  495. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -1
  496. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  498. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +38 -341
  500. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  501. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  502. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +22 -324
  504. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  506. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +9 -105
  508. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  510. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +21 -324
  512. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  514. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +16 -26
  516. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js +2 -0
  518. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js.map +1 -0
  519. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js +14 -0
  520. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js.map +1 -0
  521. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js +2 -15
  524. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  526. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +62 -361
  528. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +57 -356
  532. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  534. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +14 -310
  536. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  537. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  538. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +34 -238
  540. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  542. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +67 -163
  544. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
  546. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +18 -8
  547. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
  548. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  549. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  550. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +10 -106
  551. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  552. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
  554. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  555. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +13 -109
  557. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  558. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  559. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/ListTable/ListTable.es.js +115 -284
  561. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  562. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  563. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +44 -177
  565. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  566. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  567. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  568. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +46 -343
  569. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  570. package/dist/shared/src/containers/ListTable/ListTableWidgets.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ListTable/ListTableWidgets.es.js.map +1 -1
  572. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -1
  574. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +3 -3
  575. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  576. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +170 -459
  577. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  578. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -1
  580. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  581. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  582. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +117 -314
  583. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +590 -859
  587. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  588. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +245 -391
  591. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +75 -375
  595. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +32 -204
  599. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  600. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +27 -124
  603. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +7 -7
  605. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +35 -131
  607. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  610. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +97 -292
  611. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  613. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  614. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +243 -441
  615. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  616. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +156 -330
  619. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  622. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -208
  623. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  624. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  626. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +120 -420
  627. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  628. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  630. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +71 -245
  631. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  632. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +3 -3
  634. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +83 -179
  642. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -317
  646. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +59 -233
  650. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  652. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +74 -248
  654. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +147 -439
  658. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +23 -197
  662. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  664. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  665. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +32 -206
  666. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +32 -332
  670. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  671. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  672. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +135 -335
  674. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  675. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  676. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  677. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +29 -203
  680. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -204
  684. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +78 -282
  688. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +31 -232
  692. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  694. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  695. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +24 -198
  696. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  697. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  698. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +29 -203
  700. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +167 -467
  704. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  706. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  707. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +41 -215
  708. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  709. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  710. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js.map +1 -1
  712. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
  714. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
  715. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  716. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  717. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js.map +1 -1
  718. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  720. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  722. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  724. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -1
  726. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  728. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  730. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -315
  732. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  734. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +113 -398
  736. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +5 -5
  738. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +40 -332
  740. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  742. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +1 -1
  744. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +22 -194
  746. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  748. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  749. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  750. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  751. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +3 -3
  752. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  753. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +52 -348
  754. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  755. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +5 -5
  756. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  757. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +77 -364
  758. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  759. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  760. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  761. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +28 -202
  762. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  763. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  764. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  765. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +36 -333
  766. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  767. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +5 -5
  768. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  769. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +130 -424
  770. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  771. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
  772. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  773. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +80 -176
  774. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  775. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  776. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  777. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -108
  778. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  779. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  780. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  781. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +20 -217
  782. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  783. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  784. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  785. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +231 -527
  786. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  787. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  788. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  789. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +69 -367
  790. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  791. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +2 -2
  792. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  793. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +18 -318
  794. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  795. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +2 -2
  796. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  797. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +24 -328
  798. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  799. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  800. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  801. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +69 -370
  802. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  803. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  804. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  805. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +27 -228
  806. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  807. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  808. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  809. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +34 -236
  810. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  811. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  812. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  813. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -309
  814. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  815. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  816. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  817. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -311
  818. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  819. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  820. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  821. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +11 -314
  822. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  823. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  824. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  825. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +13 -316
  826. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  827. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  828. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  829. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +34 -338
  830. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  831. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  832. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  833. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +11 -316
  834. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  835. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  836. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  837. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +72 -368
  838. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  839. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  840. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  841. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  842. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  843. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  844. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  845. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +24 -120
  846. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  847. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  848. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  849. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  850. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  851. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +35 -336
  852. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  853. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  854. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  855. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +55 -354
  856. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  857. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  858. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  859. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -335
  860. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  861. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  862. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  863. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +59 -262
  864. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  865. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  866. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  867. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +17 -113
  868. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  869. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  870. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  871. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +45 -141
  872. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  873. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  874. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  875. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  876. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  877. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +22 -216
  878. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  879. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  880. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  881. package/dist/shared/src/containers/Views/types.cjs.js.map +1 -1
  882. package/dist/shared/src/containers/Views/types.es.js.map +1 -1
  883. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
  884. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -1
  885. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  886. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  887. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  888. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  889. package/dist/shared/src/context/AddonProjectContext.es.js +19 -115
  890. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  891. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
  892. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
  893. package/dist/shared/src/context/DeleteEntitiesContext.es.js +1 -1
  894. package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
  895. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  896. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  897. package/dist/shared/src/context/DetailsPanelContext.es.js +66 -362
  898. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  899. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  900. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  901. package/dist/shared/src/context/EntityUpdatesContext.es.js +61 -358
  902. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  903. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  904. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  905. package/dist/shared/src/context/PowerpackContext.es.js +42 -344
  906. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  907. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  908. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  909. package/dist/shared/src/context/ProjectFoldersContext.es.js +26 -231
  910. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  911. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  912. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  913. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  914. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  915. package/dist/shared/src/context/SubtasksModulesContext.es.js +23 -324
  916. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  917. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -1
  918. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
  919. package/dist/shared/src/context/ThumbnailUploaderContext.es.js +17 -21
  920. package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
  921. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  922. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  923. package/dist/shared/src/context/UriContext.es.js +2 -2
  924. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  925. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  926. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  927. package/dist/shared/src/context/WebsocketContext.es.js +28 -229
  928. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  929. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  930. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  931. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -208
  932. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  933. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  934. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  935. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +11 -314
  936. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  937. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  938. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  939. package/dist/shared/src/hooks/useHierarchyTable.es.js +30 -333
  940. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  941. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  942. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  943. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  944. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  945. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +19 -115
  946. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  947. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  948. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  949. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -212
  950. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  951. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
  952. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
  953. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  954. package/dist/shared/src/util/checkName.es.js.map +1 -1
  955. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  956. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  957. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  958. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  959. package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
  960. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
  961. package/dist/shared/src/util/getBundleMode.es.js +16 -112
  962. package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
  963. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  964. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  965. package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
  966. package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
  967. package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
  968. package/dist/shared/src/util/iconUtils.es.js.map +1 -1
  969. package/dist/shared/src/util/mentionTypeOptions.cjs.js +2 -0
  970. package/dist/shared/src/util/mentionTypeOptions.cjs.js.map +1 -0
  971. package/dist/shared/src/util/mentionTypeOptions.es.js +16 -0
  972. package/dist/shared/src/util/mentionTypeOptions.es.js.map +1 -0
  973. package/dist/shared/src/util/parseFilename.cjs.js +2 -0
  974. package/dist/shared/src/util/parseFilename.cjs.js.map +1 -0
  975. package/dist/shared/src/util/parseFilename.es.js +8 -0
  976. package/dist/shared/src/util/parseFilename.es.js.map +1 -0
  977. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -1
  978. package/dist/shared/src/util/uriUtils.es.js.map +1 -1
  979. package/dist/types/api/base/index.d.ts +1 -1
  980. package/dist/types/api/generated/graphql.d.ts +5 -2
  981. package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
  982. package/dist/types/api/queries/activities/getActivities.d.ts +4 -2
  983. package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
  984. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -1
  985. package/dist/types/api/queries/entities/getEntity.d.ts +2 -1
  986. package/dist/types/api/queries/entities/getEntityPanel.d.ts +2 -1
  987. package/dist/types/api/queries/entities/updateEntity.d.ts +2 -1
  988. package/dist/types/api/queries/entityLists/getLists.d.ts +305 -305
  989. package/dist/types/api/queries/overview/getOverview.d.ts +35 -18
  990. package/dist/types/api/queries/project/getProject.d.ts +62 -61
  991. package/dist/types/api/queries/system/getSystem.d.ts +1 -1
  992. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +2 -1
  993. package/dist/types/api/queries/users/getUsers.d.ts +2 -1
  994. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +4 -2
  995. package/dist/types/api/queries/views/getViews.d.ts +1 -1
  996. package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
  997. package/dist/types/components/Menu/Menu.d.ts +1 -1
  998. package/dist/types/components/Menu/MenuList.d.ts +1 -1
  999. package/dist/types/components/Powerpack/PowerpackButton.d.ts +1 -1
  1000. package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +1 -1
  1001. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
  1002. package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
  1003. package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
  1004. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +4 -2
  1005. package/dist/types/components/RenameForm/RenameForm.d.ts +1 -1
  1006. package/dist/types/components/ReviewablesList/SortableReviewableCard.d.ts +1 -1
  1007. package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +2 -2
  1008. package/dist/types/components/ReviewablesSelector/Card.d.ts +1 -1
  1009. package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +1 -1
  1010. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  1011. package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
  1012. package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
  1013. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
  1014. package/dist/types/config/plannerFeatures.d.ts +1 -1
  1015. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  1016. package/dist/types/containers/Actions/Actions.d.ts +2 -2
  1017. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -1
  1018. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +1 -1
  1019. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +1 -1
  1020. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +2 -2
  1021. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.d.ts +1 -1
  1022. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +2 -2
  1023. package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +1 -1
  1024. package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +3 -3
  1025. package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +1 -1
  1026. package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +1 -1
  1027. package/dist/types/containers/DetailsPanel/helpers/getEntityPathData.d.ts +1 -1
  1028. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
  1029. package/dist/types/containers/DetailsPanel/hooks/useGetEntityPath.d.ts +1 -1
  1030. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +1 -1
  1031. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
  1032. package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +1 -1
  1033. package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +1 -1
  1034. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  1035. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
  1036. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -1
  1037. package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +1 -1
  1038. package/dist/types/containers/Feed/components/CommentInput/quillFormats.d.ts +1 -0
  1039. package/dist/types/containers/Feed/components/CommentInput/types.d.ts +1 -12
  1040. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +1 -1
  1041. package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -1
  1042. package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +1 -1
  1043. package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +1 -1
  1044. package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +1 -1
  1045. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -2
  1046. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -1
  1047. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  1048. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -3
  1049. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
  1050. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -5
  1051. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
  1052. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  1053. package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +1 -1
  1054. package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +1 -1
  1055. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
  1056. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +6 -5
  1057. package/dist/types/containers/ProjectTreeTable/utils/getEntityViewerIds.d.ts +1 -1
  1058. package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +1 -1
  1059. package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +1 -1
  1060. package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
  1061. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -1
  1062. package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +1 -1
  1063. package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -1
  1064. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -2
  1065. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +1 -1
  1066. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
  1067. package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
  1068. package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +3 -3
  1069. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
  1070. package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +1 -1
  1071. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +1 -1
  1072. package/dist/types/containers/Slicer/types.d.ts +1 -1
  1073. package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +1 -1
  1074. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -1
  1075. package/dist/types/containers/Views/types.d.ts +1 -1
  1076. package/dist/types/context/AddonContext.d.ts +1 -1
  1077. package/dist/types/context/AddonProjectContext.d.ts +2 -2
  1078. package/dist/types/context/DetailsPanelContext.d.ts +2 -2
  1079. package/dist/types/context/SubtasksModulesContext.d.ts +1 -1
  1080. package/dist/types/hooks/useHierarchyTable.d.ts +1 -1
  1081. package/dist/types/util/buildHierarchicalTableRows.d.ts +1 -1
  1082. package/dist/types/util/columnConfigConverter.d.ts +1 -1
  1083. package/dist/types/util/getBundleMode.d.ts +1 -1
  1084. package/dist/types/util/getGroupByDataType.d.ts +1 -1
  1085. package/dist/types/util/index.d.ts +2 -0
  1086. package/dist/types/util/mentionTypeOptions.d.ts +12 -0
  1087. package/dist/types/util/parseFilename.d.ts +1 -0
  1088. package/dist/types/util/uriUtils.d.ts +1 -1
  1089. package/dist/util.cjs.js +1 -1
  1090. package/dist/util.es.js +24 -20
  1091. package/dist/util.es.js.map +1 -1
  1092. package/package.json +1 -1
  1093. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js +0 -2
  1094. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js.map +0 -1
  1095. package/dist/shared/src/components/ThumbnailSimple/index.es.js +0 -6
  1096. package/dist/shared/src/components/ThumbnailSimple/index.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getFolders.cjs.js","sources":["../../../../../../src/api/queries/folders/getFolders.ts"],"sourcesContent":["import {\n FolderListItem,\n foldersApi,\n GetUpdatedAndNewFoldersQuery,\n gqlApi,\n} from '@shared/api/generated'\nimport {\n getSupportedEntityPatch,\n createRealtimeBatcher,\n REALTIME_REST_CALL_LIMIT,\n waitForRealtimeJitter,\n PubSub,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n ThumbnailUpdateMessage,\n SupportedEntityPatchField,\n} from '@shared/util'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseJSONField } from '../overview'\n\ntype GetUpdatedAndNewFoldersResult = FolderListItem[]\n\n// HELPER QUERIES FOR REALTIME UPDATES\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetUpdatedAndNewFolders'> & {\n GetUpdatedAndNewFolders: OverrideResultType<\n Definitions['GetUpdatedAndNewFolders'],\n GetUpdatedAndNewFoldersResult\n >\n}\n\nconst graphqlFolders = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetUpdatedAndNewFolders: {\n transformResponse: (response: GetUpdatedAndNewFoldersQuery): GetUpdatedAndNewFoldersResult =>\n response.project.folders.edges.map(({ node }) => ({\n ...node,\n attrib: parseJSONField(node.allAttrib),\n path: node.path ?? '',\n parentId: node.parentId ?? undefined,\n label: node.label ?? undefined,\n taskNames: [],\n createdAt: String(node.createdAt),\n updatedAt: String(node.updatedAt),\n })),\n },\n },\n})\n\n// the max number of folder to process in a single batch\n// TODO: Use this limit to trigger the reload button\nexport const MAX_FOLDER_UPDATE_REST_CALLS = REALTIME_REST_CALL_LIMIT\n\nconst enhancedApi = foldersApi.enhanceEndpoints({\n endpoints: {\n getFolderHierarchy: {\n providesTags: ['hierarchy'],\n },\n getFolderList: {\n providesTags: (result, _e, { projectName }) => [\n 'hierarchy',\n { type: 'folder', id: 'LIST' },\n ...(result?.folders.map(({ id }) => ({ type: 'folder', id })) || []),\n { type: 'folder', id: projectName },\n ],\n async onCacheEntryAdded(\n args,\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, getCacheEntry, dispatch },\n ) {\n const { projectName } = args || {}\n const supportedFolderFields = ['status', 'tags', 'folderType']\n const topicFieldMap: Record<string, string> = {\n 'entity.folder.label_changed': 'label',\n 'entity.folder.renamed': 'name',\n 'entity.folder.type_changed': 'folderType',\n 'entity.folder.status_changed': 'status',\n 'entity.folder.tags_changed': 'tags',\n 'entity.folder.attrib_changed': 'attrib',\n }\n\n const topics = ['entity.folder']\n const tokens: (string | undefined)[] = []\n\n // handle a batch of messages, updating the cache and fetching missing data as needed\n const batchProcessMessages: RealtimeBatchProcessor<any> = async (messages, isActive) => {\n if (!projectName) return\n\n const cachedFolderIds = new Set<string>()\n const cachedFolders = getCacheEntry().data\n if (cachedFolders && Array.isArray(cachedFolders.folders)) {\n cachedFolders.folders.forEach((folder: any) => cachedFolderIds.add(folder.id))\n }\n\n const deletedIds: string[] = []\n const createdIds: string[] = []\n const unsupportedFields = new Map<string, Set<string>>()\n const summaryPatches: {\n folderId: string\n field: SupportedEntityPatchField\n value: string | string[]\n }[] = []\n\n // for each message, check it's type and then add it to the appropriate list for processing\n messages.forEach((message) => {\n const folderId = message.summary?.entityId\n if (!folderId) return\n\n // delete: remove from cache - no additional API calls\n if (message.topic === 'entity.folder.deleted') {\n deletedIds.push(folderId)\n return\n }\n\n // create: add to cache - will fetch the full folder data later\n if (message.topic === 'entity.folder.created') {\n createdIds.push(folderId)\n return\n }\n\n // for updates, check if the folder is in the cache\n // no point updating a folder that does not exist for the user\n if (!cachedFolderIds.has(folderId)) return\n\n // check if the updated field data is in the summary (status, tags etc)\n // if it is, we can update the cache directly, otherwise we will need to fetch the full folder data later\n const patch = getSupportedEntityPatch(\n topicFieldMap[message.topic],\n message.summary,\n supportedFolderFields,\n )\n if (patch) summaryPatches.push({ folderId, ...patch })\n else {\n const field = topicFieldMap[message.topic]\n if (!field) return\n\n const fields = unsupportedFields.get(folderId) || new Set<string>()\n fields.add(field)\n unsupportedFields.set(folderId, fields)\n }\n })\n\n // DELETED: remove deleted folders from cache\n if (deletedIds.length) {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n draft.folders = draft.folders.filter((folder: any) => !deletedIds.includes(folder.id))\n })\n }\n\n // UPDATED: update cached folders with summary data from the message, if available\n if (summaryPatches.length) {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n summaryPatches.forEach(({ folderId, field, value }) => {\n const folder = draft.folders.find((item: any) => item.id === folderId)\n if (folder) folder[field] = value\n })\n })\n }\n\n // Fetch created and unsupported folders in one request.\n // This is to avoid overwhelming the API with too many requests at once, and to prevent potential performance issues in the frontend.\n const foldersToFetch = [...new Set([...createdIds, ...unsupportedFields.keys()])]\n if (foldersToFetch.length > MAX_FOLDER_UPDATE_REST_CALLS) return\n\n if (foldersToFetch.length) {\n await waitForRealtimeJitter()\n const fetchedFolders = await dispatch(\n graphqlFolders.endpoints.GetUpdatedAndNewFolders.initiate({\n projectName,\n folderIds: foldersToFetch,\n first: foldersToFetch.length,\n }),\n )\n .unwrap()\n .catch(() => [])\n\n if (!isActive()) return\n const createdFolderIds = new Set(createdIds)\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n const fetchedById = new Map(\n fetchedFolders.filter(Boolean).map((folder: any) => [folder.id, folder] as const),\n )\n\n draft.folders.forEach((folder: any, index: number) => {\n const fetchedFolder = fetchedById.get(folder.id)\n if (!fetchedFolder) return\n\n if (createdFolderIds.has(folder.id)) {\n draft.folders[index] = { ...folder, ...fetchedFolder }\n } else {\n const fields = unsupportedFields.get(folder.id) || new Set<string>()\n fields.forEach((field) => {\n folder[field] = fetchedFolder[field]\n })\n }\n fetchedById.delete(folder.id)\n })\n\n fetchedById.forEach((folder, folderId) => {\n if (createdFolderIds.has(folderId)) draft.folders.push(folder)\n })\n })\n }\n }\n\n // create a batcher to process messages in batches\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n (message: any) =>\n `${message.project ?? projectName}:${message.summary?.entityId}:${message.topic}`,\n )\n\n let unsubscribeThumbnails: (() => void) | undefined\n\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n messages.forEach((message) => {\n if (message.summary.entityType === 'folder' && message.summary.thumbnailHash) {\n const idx = draft.folders.findIndex(\n (f: any) => f.id === message.summary.entityId,\n )\n if (idx !== -1) {\n draft.folders[idx].thumbnailHash = message.summary.thumbnailHash\n }\n }\n })\n })\n },\n ['folder'],\n )\n\n const handlePubSub = (topic: string, message: any) => {\n const entityId = message?.summary?.entityId\n if (!entityId) return\n\n // add update to the batcher\n batcher.add({ ...message, topic })\n }\n\n topics.forEach((t) => tokens.push(PubSub.subscribe(t, handlePubSub)))\n } catch {\n // silent\n }\n\n await cacheEntryRemoved\n tokens.forEach((t) => PubSub.unsubscribe(t))\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n batcher.clear()\n },\n },\n },\n})\n\nexport const { useGetFolderHierarchyQuery, useGetFolderListQuery } = enhancedApi\nexport { enhancedApi as foldersQueries }\n"],"names":["graphqlFolders","gqlApi","response","node","parseJSONField","MAX_FOLDER_UPDATE_REST_CALLS","REALTIME_REST_CALL_LIMIT","enhancedApi","foldersApi","result","_e","projectName","id","args","cacheDataLoaded","cacheEntryRemoved","updateCachedData","getCacheEntry","dispatch","supportedFolderFields","topicFieldMap","topics","tokens","batchProcessMessages","messages","isActive","cachedFolderIds","cachedFolders","folder","deletedIds","createdIds","unsupportedFields","summaryPatches","message","folderId","patch","getSupportedEntityPatch","field","fields","draft","value","item","foldersToFetch","waitForRealtimeJitter","fetchedFolders","createdFolderIds","fetchedById","index","fetchedFolder","batcher","createRealtimeBatcher","unsubscribeThumbnails","subscribeToThumbnailUpdates","idx","handlePubSub","topic","t","PubSub","useGetFolderHierarchyQuery","useGetFolderListQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getFolders.cjs.js","sources":["../../../../../../src/api/queries/folders/getFolders.ts"],"sourcesContent":["import {\n FolderListItem,\n foldersApi,\n GetUpdatedAndNewFoldersQuery,\n gqlApi,\n} from '@shared/api/generated'\nimport {\n getSupportedEntityPatch,\n createRealtimeBatcher,\n REALTIME_REST_CALL_LIMIT,\n waitForRealtimeJitter,\n PubSub,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n ThumbnailUpdateMessage,\n SupportedEntityPatchField,\n} from '@shared/util'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseJSONField } from '../overview'\n\ntype GetUpdatedAndNewFoldersResult = FolderListItem[]\n\n// HELPER QUERIES FOR REALTIME UPDATES\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetUpdatedAndNewFolders'> & {\n GetUpdatedAndNewFolders: OverrideResultType<\n Definitions['GetUpdatedAndNewFolders'],\n GetUpdatedAndNewFoldersResult\n >\n}\n\nconst graphqlFolders = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetUpdatedAndNewFolders: {\n transformResponse: (response: GetUpdatedAndNewFoldersQuery): GetUpdatedAndNewFoldersResult =>\n response.project.folders.edges.map(({ node }) => ({\n ...node,\n attrib: parseJSONField(node.allAttrib),\n path: node.path ?? '',\n parentId: node.parentId ?? undefined,\n label: node.label ?? undefined,\n taskNames: [],\n createdAt: String(node.createdAt),\n updatedAt: String(node.updatedAt),\n })),\n },\n },\n})\n\n// the max number of folder to process in a single batch\n// TODO: Use this limit to trigger the reload button\nexport const MAX_FOLDER_UPDATE_REST_CALLS = REALTIME_REST_CALL_LIMIT\n\nconst enhancedApi = foldersApi.enhanceEndpoints({\n endpoints: {\n getFolderHierarchy: {\n providesTags: ['hierarchy'],\n },\n getFolderList: {\n providesTags: (result, _e, { projectName }) => [\n 'hierarchy',\n { type: 'folder', id: 'LIST' },\n ...(result?.folders.map(({ id }) => ({ type: 'folder', id })) || []),\n { type: 'folder', id: projectName },\n ],\n async onCacheEntryAdded(\n args,\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, getCacheEntry, dispatch },\n ) {\n const { projectName } = args || {}\n const supportedFolderFields = ['status', 'tags', 'folderType']\n const topicFieldMap: Record<string, string> = {\n 'entity.folder.label_changed': 'label',\n 'entity.folder.renamed': 'name',\n 'entity.folder.type_changed': 'folderType',\n 'entity.folder.status_changed': 'status',\n 'entity.folder.tags_changed': 'tags',\n 'entity.folder.attrib_changed': 'attrib',\n }\n\n const topics = ['entity.folder']\n const tokens: (string | undefined)[] = []\n\n // handle a batch of messages, updating the cache and fetching missing data as needed\n const batchProcessMessages: RealtimeBatchProcessor<any> = async (messages, isActive) => {\n if (!projectName) return\n\n const cachedFolderIds = new Set<string>()\n const cachedFolders = getCacheEntry().data\n if (cachedFolders && Array.isArray(cachedFolders.folders)) {\n cachedFolders.folders.forEach((folder: any) => cachedFolderIds.add(folder.id))\n }\n\n const deletedIds: string[] = []\n const createdIds: string[] = []\n const unsupportedFields = new Map<string, Set<string>>()\n const summaryPatches: {\n folderId: string\n field: SupportedEntityPatchField\n value: string | string[]\n }[] = []\n\n // for each message, check it's type and then add it to the appropriate list for processing\n messages.forEach((message) => {\n const folderId = message.summary?.entityId\n if (!folderId) return\n\n // delete: remove from cache - no additional API calls\n if (message.topic === 'entity.folder.deleted') {\n deletedIds.push(folderId)\n return\n }\n\n // create: add to cache - will fetch the full folder data later\n if (message.topic === 'entity.folder.created') {\n createdIds.push(folderId)\n return\n }\n\n // for updates, check if the folder is in the cache\n // no point updating a folder that does not exist for the user\n if (!cachedFolderIds.has(folderId)) return\n\n // check if the updated field data is in the summary (status, tags etc)\n // if it is, we can update the cache directly, otherwise we will need to fetch the full folder data later\n const patch = getSupportedEntityPatch(\n topicFieldMap[message.topic],\n message.summary,\n supportedFolderFields,\n )\n if (patch) summaryPatches.push({ folderId, ...patch })\n else {\n const field = topicFieldMap[message.topic]\n if (!field) return\n\n const fields = unsupportedFields.get(folderId) || new Set<string>()\n fields.add(field)\n unsupportedFields.set(folderId, fields)\n }\n })\n\n // DELETED: remove deleted folders from cache\n if (deletedIds.length) {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n draft.folders = draft.folders.filter((folder: any) => !deletedIds.includes(folder.id))\n })\n }\n\n // UPDATED: update cached folders with summary data from the message, if available\n if (summaryPatches.length) {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n summaryPatches.forEach(({ folderId, field, value }) => {\n const folder = draft.folders.find((item: any) => item.id === folderId)\n if (folder) folder[field] = value\n })\n })\n }\n\n // Fetch created and unsupported folders in one request.\n // This is to avoid overwhelming the API with too many requests at once, and to prevent potential performance issues in the frontend.\n const foldersToFetch = [...new Set([...createdIds, ...unsupportedFields.keys()])]\n if (foldersToFetch.length > MAX_FOLDER_UPDATE_REST_CALLS) return\n\n if (foldersToFetch.length) {\n await waitForRealtimeJitter()\n const fetchedFolders = await dispatch(\n graphqlFolders.endpoints.GetUpdatedAndNewFolders.initiate({\n projectName,\n folderIds: foldersToFetch,\n first: foldersToFetch.length,\n }),\n )\n .unwrap()\n .catch(() => [])\n\n if (!isActive()) return\n const createdFolderIds = new Set(createdIds)\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n const fetchedById = new Map(\n fetchedFolders.filter(Boolean).map((folder: any) => [folder.id, folder] as const),\n )\n\n draft.folders.forEach((folder: any, index: number) => {\n const fetchedFolder = fetchedById.get(folder.id)\n if (!fetchedFolder) return\n\n if (createdFolderIds.has(folder.id)) {\n draft.folders[index] = { ...folder, ...fetchedFolder }\n } else {\n const fields = unsupportedFields.get(folder.id) || new Set<string>()\n fields.forEach((field) => {\n folder[field] = fetchedFolder[field]\n })\n }\n fetchedById.delete(folder.id)\n })\n\n fetchedById.forEach((folder, folderId) => {\n if (createdFolderIds.has(folderId)) draft.folders.push(folder)\n })\n })\n }\n }\n\n // create a batcher to process messages in batches\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n (message: any) =>\n `${message.project ?? projectName}:${message.summary?.entityId}:${message.topic}`,\n )\n\n let unsubscribeThumbnails: (() => void) | undefined\n\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n messages.forEach((message) => {\n if (message.summary.entityType === 'folder' && message.summary.thumbnailHash) {\n const idx = draft.folders.findIndex(\n (f: any) => f.id === message.summary.entityId,\n )\n if (idx !== -1) {\n draft.folders[idx].thumbnailHash = message.summary.thumbnailHash\n }\n }\n })\n })\n },\n ['folder'],\n )\n\n const handlePubSub = (topic: string, message: any) => {\n const entityId = message?.summary?.entityId\n if (!entityId) return\n\n // add update to the batcher\n batcher.add({ ...message, topic })\n }\n\n topics.forEach((t) => tokens.push(PubSub.subscribe(t, handlePubSub)))\n } catch {\n // silent\n }\n\n await cacheEntryRemoved\n tokens.forEach((t) => PubSub.unsubscribe(t))\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n batcher.clear()\n },\n },\n },\n})\n\nexport const { useGetFolderHierarchyQuery, useGetFolderListQuery } = enhancedApi\nexport { enhancedApi as foldersQueries }\n"],"names":["graphqlFolders","gqlApi","response","node","parseJSONField","MAX_FOLDER_UPDATE_REST_CALLS","REALTIME_REST_CALL_LIMIT","enhancedApi","foldersApi","result","_e","projectName","id","args","cacheDataLoaded","cacheEntryRemoved","updateCachedData","getCacheEntry","dispatch","supportedFolderFields","topicFieldMap","topics","tokens","batchProcessMessages","messages","isActive","cachedFolderIds","cachedFolders","folder","deletedIds","createdIds","unsupportedFields","summaryPatches","message","folderId","patch","getSupportedEntityPatch","field","fields","draft","value","item","foldersToFetch","waitForRealtimeJitter","fetchedFolders","createdFolderIds","fetchedById","index","fetchedFolder","batcher","createRealtimeBatcher","unsubscribeThumbnails","subscribeToThumbnailUpdates","idx","f","handlePubSub","topic","t","PubSub","useGetFolderHierarchyQuery","useGetFolderListQuery"],"mappings":"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"}
@@ -42,140 +42,89 @@ import "lodash";
42
42
  import "react-toastify";
43
43
  import "uuid";
44
44
  import { subscribeToThumbnailUpdates as H } from "../../../util/thumbnailWebsocket.es.js";
45
- import "../actions/getActions.es.js";
46
- import "../activities/getActivities.es.js";
47
- import "../activities/updateReaction.es.js";
48
- import "../activities/getMentions.es.js";
49
- import "../activities/getCategories.es.js";
50
- import "../addons/getAddons.es.js";
51
- import "../addons/updateAddons.es.js";
52
- import "../attributes/getAttributes.es.js";
53
- import "../attributes/updateAttributes.es.js";
54
- import "../authentication/getAuthentication.es.js";
55
- import "../bundles/getBundles.es.js";
56
- import "../bundles/updateBundles.es.js";
57
- import "../cloud/cloud.es.js";
58
- import "../columnStats/metricTargets.es.js";
59
- import "../columnStats/groupCounts.es.js";
60
- import "../config/getConfig.es.js";
61
- import "../config/updateConfig.es.js";
62
- import "../entities/getEntity.es.js";
63
- import "../entities/getEntityPanel.es.js";
64
- import { parseJSONField as N } from "../overview/getOverview.es.js";
45
+ import "../users/updateUsers.es.js";
46
+ import { createRealtimeBatcher as N, getSupportedEntityPatch as v, waitForRealtimeJitter as G, REALTIME_REST_CALL_LIMIT as U } from "../../../util/realtimeUpdatesUtils.es.js";
47
+ import _ from "../../../util/pubsub.es.js";
48
+ import { parseJSONField as $ } from "../overview/getOverview.es.js";
65
49
  import "../overview/updateOverview.es.js";
66
50
  import "../versions/getVersionsProducts.es.js";
67
51
  import "../links/getEntityLinks.es.js";
68
- import "../entities/updateEntity.es.js";
69
- import "../entityLists/getLists.es.js";
70
- import "../entityLists/updateLists.es.js";
71
- import "../entityLists/getListsAttributes.es.js";
72
- import "../entityLists/listItemsColumnStats.es.js";
73
- import "../entityLists/updateListsAttributes.es.js";
74
- import "../entityLists/listFolders.es.js";
75
- import "./getFolderDeleteInfo.es.js";
76
- import "../grouping/getGrouping.es.js";
77
- import "../links/updateLinks.es.js";
78
- import "../links/getLinks.es.js";
79
- import "../permissions/getPermissions.es.js";
80
- import "../products/createProduct.es.js";
81
- import "../products/getFolderProducts.es.js";
82
- import "../project/getProject.es.js";
83
- import "../project/updateProject.es.js";
84
- import "../projectFolders/projectFolders.es.js";
85
- import "../review/getReview.es.js";
86
- import "../review/updateReview.es.js";
87
- import "../share/share.es.js";
88
- import "../system/getSystem.es.js";
89
- import "../tasks/getTasks.es.js";
90
- import "../tasks/updateTasks.es.js";
91
- import "../teams/getTeams.es.js";
92
- import "../userDashboard/getUserDashboard.es.js";
93
- import "../users/getUsers.es.js";
94
- import "../users/updateUsers.es.js";
95
- import "../users/guests.es.js";
96
- import "../versions/updateVersions.es.js";
97
- import "../views/getViews.es.js";
98
- import "../views/updateViews.es.js";
99
- import "../watchers/getWatchers.es.js";
100
- import "../uris/getUris.es.js";
101
- import { createRealtimeBatcher as v, getSupportedEntityPatch as G, waitForRealtimeJitter as U, REALTIME_REST_CALL_LIMIT as $ } from "../../../util/realtimeUpdatesUtils.es.js";
102
- import _ from "../../../util/pubsub.es.js";
103
52
  const x = j.enhanceEndpoints({
104
53
  endpoints: {
105
54
  GetUpdatedAndNewFolders: {
106
- transformResponse: (l) => l.project.folders.edges.map(({ node: o }) => ({
107
- ...o,
108
- attrib: N(o.allAttrib),
109
- path: o.path ?? "",
110
- parentId: o.parentId ?? void 0,
111
- label: o.label ?? void 0,
55
+ transformResponse: (m) => m.project.folders.edges.map(({ node: i }) => ({
56
+ ...i,
57
+ attrib: $(i.allAttrib),
58
+ path: i.path ?? "",
59
+ parentId: i.parentId ?? void 0,
60
+ label: i.label ?? void 0,
112
61
  taskNames: [],
113
- createdAt: String(o.createdAt),
114
- updatedAt: String(o.updatedAt)
62
+ createdAt: String(i.createdAt),
63
+ updatedAt: String(i.updatedAt)
115
64
  }))
116
65
  }
117
66
  }
118
- }), B = $, Q = k.enhanceEndpoints({
67
+ }), B = U, Q = k.enhanceEndpoints({
119
68
  endpoints: {
120
69
  getFolderHierarchy: {
121
70
  providesTags: ["hierarchy"]
122
71
  },
123
72
  getFolderList: {
124
- providesTags: (l, o, { projectName: b }) => [
73
+ providesTags: (m, i, { projectName: b }) => [
125
74
  "hierarchy",
126
75
  { type: "folder", id: "LIST" },
127
- ...l?.folders.map(({ id: a }) => ({ type: "folder", id: a })) || [],
76
+ ...m?.folders.map(({ id: c }) => ({ type: "folder", id: c })) || [],
128
77
  { type: "folder", id: b }
129
78
  ],
130
- async onCacheEntryAdded(l, { cacheDataLoaded: o, cacheEntryRemoved: b, updateCachedData: a, getCacheEntry: L, dispatch: R }) {
131
- const { projectName: A } = l || {}, M = ["status", "tags", "folderType"], g = {
79
+ async onCacheEntryAdded(m, { cacheDataLoaded: i, cacheEntryRemoved: b, updateCachedData: c, getCacheEntry: L, dispatch: R }) {
80
+ const { projectName: A } = m || {}, M = ["status", "tags", "folderType"], g = {
132
81
  "entity.folder.label_changed": "label",
133
82
  "entity.folder.renamed": "name",
134
83
  "entity.folder.type_changed": "folderType",
135
84
  "entity.folder.status_changed": "status",
136
85
  "entity.folder.tags_changed": "tags",
137
86
  "entity.folder.attrib_changed": "attrib"
138
- }, P = ["entity.folder"], w = [], S = v(
139
- async (s, d) => {
87
+ }, P = ["entity.folder"], w = [], S = N(
88
+ async (n, a) => {
140
89
  if (!A) return;
141
- const e = /* @__PURE__ */ new Set(), m = L().data;
142
- m && Array.isArray(m.folders) && m.folders.forEach((t) => e.add(t.id));
143
- const c = [], f = [], u = /* @__PURE__ */ new Map(), I = [];
144
- s.forEach((t) => {
145
- const i = t.summary?.entityId;
146
- if (!i) return;
90
+ const o = /* @__PURE__ */ new Set(), d = L().data;
91
+ d && Array.isArray(d.folders) && d.folders.forEach((t) => o.add(t.id));
92
+ const l = [], f = [], u = /* @__PURE__ */ new Map(), I = [];
93
+ n.forEach((t) => {
94
+ const e = t.summary?.entityId;
95
+ if (!e) return;
147
96
  if (t.topic === "entity.folder.deleted") {
148
- c.push(i);
97
+ l.push(e);
149
98
  return;
150
99
  }
151
100
  if (t.topic === "entity.folder.created") {
152
- f.push(i);
101
+ f.push(e);
153
102
  return;
154
103
  }
155
- if (!e.has(i)) return;
156
- const p = G(
104
+ if (!o.has(e)) return;
105
+ const s = v(
157
106
  g[t.topic],
158
107
  t.summary,
159
108
  M
160
109
  );
161
- if (p) I.push({ folderId: i, ...p });
110
+ if (s) I.push({ folderId: e, ...s });
162
111
  else {
163
- const n = g[t.topic];
164
- if (!n) return;
165
- const r = u.get(i) || /* @__PURE__ */ new Set();
166
- r.add(n), u.set(i, r);
112
+ const p = g[t.topic];
113
+ if (!p) return;
114
+ const r = u.get(e) || /* @__PURE__ */ new Set();
115
+ r.add(p), u.set(e, r);
167
116
  }
168
- }), c.length && a((t) => {
169
- !t || !Array.isArray(t.folders) || (t.folders = t.folders.filter((i) => !c.includes(i.id)));
170
- }), I.length && a((t) => {
171
- !t || !Array.isArray(t.folders) || I.forEach(({ folderId: i, field: p, value: n }) => {
172
- const r = t.folders.find((h) => h.id === i);
173
- r && (r[p] = n);
117
+ }), l.length && c((t) => {
118
+ !t || !Array.isArray(t.folders) || (t.folders = t.folders.filter((e) => !l.includes(e.id)));
119
+ }), I.length && c((t) => {
120
+ !t || !Array.isArray(t.folders) || I.forEach(({ folderId: e, field: s, value: p }) => {
121
+ const r = t.folders.find((h) => h.id === e);
122
+ r && (r[s] = p);
174
123
  });
175
124
  });
176
125
  const y = [.../* @__PURE__ */ new Set([...f, ...u.keys()])];
177
126
  if (!(y.length > B) && y.length) {
178
- await U();
127
+ await G();
179
128
  const t = await R(
180
129
  x.endpoints.GetUpdatedAndNewFolders.initiate({
181
130
  projectName: A,
@@ -183,58 +132,58 @@ const x = j.enhanceEndpoints({
183
132
  first: y.length
184
133
  })
185
134
  ).unwrap().catch(() => []);
186
- if (!d()) return;
187
- const i = new Set(f);
188
- a((p) => {
189
- if (!p || !Array.isArray(p.folders)) return;
190
- const n = new Map(
135
+ if (!a()) return;
136
+ const e = new Set(f);
137
+ c((s) => {
138
+ if (!s || !Array.isArray(s.folders)) return;
139
+ const p = new Map(
191
140
  t.filter(Boolean).map((r) => [r.id, r])
192
141
  );
193
- p.folders.forEach((r, h) => {
194
- const E = n.get(r.id);
195
- E && (i.has(r.id) ? p.folders[h] = { ...r, ...E } : (u.get(r.id) || /* @__PURE__ */ new Set()).forEach((T) => {
142
+ s.folders.forEach((r, h) => {
143
+ const E = p.get(r.id);
144
+ E && (e.has(r.id) ? s.folders[h] = { ...r, ...E } : (u.get(r.id) || /* @__PURE__ */ new Set()).forEach((T) => {
196
145
  r[T] = E[T];
197
- }), n.delete(r.id));
198
- }), n.forEach((r, h) => {
199
- i.has(h) && p.folders.push(r);
146
+ }), p.delete(r.id));
147
+ }), p.forEach((r, h) => {
148
+ e.has(h) && s.folders.push(r);
200
149
  });
201
150
  });
202
151
  }
203
152
  },
204
- (s) => `${s.project ?? A}:${s.summary?.entityId}:${s.topic}`
153
+ (n) => `${n.project ?? A}:${n.summary?.entityId}:${n.topic}`
205
154
  );
206
155
  let F;
207
156
  try {
208
- await o, F = H(
209
- (d) => {
210
- a((e) => {
211
- !e || !Array.isArray(e.folders) || d.forEach((m) => {
212
- if (m.summary.entityType === "folder" && m.summary.thumbnailHash) {
213
- const c = e.folders.findIndex(
214
- (f) => f.id === m.summary.entityId
157
+ await i, F = H(
158
+ (a) => {
159
+ c((o) => {
160
+ !o || !Array.isArray(o.folders) || a.forEach((d) => {
161
+ if (d.summary.entityType === "folder" && d.summary.thumbnailHash) {
162
+ const l = o.folders.findIndex(
163
+ (f) => f.id === d.summary.entityId
215
164
  );
216
- c !== -1 && (e.folders[c].thumbnailHash = m.summary.thumbnailHash);
165
+ l !== -1 && (o.folders[l].thumbnailHash = d.summary.thumbnailHash);
217
166
  }
218
167
  });
219
168
  });
220
169
  },
221
170
  ["folder"]
222
171
  );
223
- const s = (d, e) => {
224
- e?.summary?.entityId && S.add({ ...e, topic: d });
172
+ const n = (a, o) => {
173
+ o?.summary?.entityId && S.add({ ...o, topic: a });
225
174
  };
226
- P.forEach((d) => w.push(_.subscribe(d, s)));
175
+ P.forEach((a) => w.push(_.subscribe(a, n)));
227
176
  } catch {
228
177
  }
229
- await b, w.forEach((s) => _.unsubscribe(s)), F && F(), S.clear();
178
+ await b, w.forEach((n) => _.unsubscribe(n)), F && F(), S.clear();
230
179
  }
231
180
  }
232
181
  }
233
- }), { useGetFolderHierarchyQuery: $r, useGetFolderListQuery: xr } = Q;
182
+ }), { useGetFolderHierarchyQuery: Qt, useGetFolderListQuery: Jt } = Q;
234
183
  export {
235
184
  B as MAX_FOLDER_UPDATE_REST_CALLS,
236
185
  Q as foldersQueries,
237
- $r as useGetFolderHierarchyQuery,
238
- xr as useGetFolderListQuery
186
+ Qt as useGetFolderHierarchyQuery,
187
+ Jt as useGetFolderListQuery
239
188
  };
240
189
  //# sourceMappingURL=getFolders.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFolders.es.js","sources":["../../../../../../src/api/queries/folders/getFolders.ts"],"sourcesContent":["import {\n FolderListItem,\n foldersApi,\n GetUpdatedAndNewFoldersQuery,\n gqlApi,\n} from '@shared/api/generated'\nimport {\n getSupportedEntityPatch,\n createRealtimeBatcher,\n REALTIME_REST_CALL_LIMIT,\n waitForRealtimeJitter,\n PubSub,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n ThumbnailUpdateMessage,\n SupportedEntityPatchField,\n} from '@shared/util'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseJSONField } from '../overview'\n\ntype GetUpdatedAndNewFoldersResult = FolderListItem[]\n\n// HELPER QUERIES FOR REALTIME UPDATES\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetUpdatedAndNewFolders'> & {\n GetUpdatedAndNewFolders: OverrideResultType<\n Definitions['GetUpdatedAndNewFolders'],\n GetUpdatedAndNewFoldersResult\n >\n}\n\nconst graphqlFolders = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetUpdatedAndNewFolders: {\n transformResponse: (response: GetUpdatedAndNewFoldersQuery): GetUpdatedAndNewFoldersResult =>\n response.project.folders.edges.map(({ node }) => ({\n ...node,\n attrib: parseJSONField(node.allAttrib),\n path: node.path ?? '',\n parentId: node.parentId ?? undefined,\n label: node.label ?? undefined,\n taskNames: [],\n createdAt: String(node.createdAt),\n updatedAt: String(node.updatedAt),\n })),\n },\n },\n})\n\n// the max number of folder to process in a single batch\n// TODO: Use this limit to trigger the reload button\nexport const MAX_FOLDER_UPDATE_REST_CALLS = REALTIME_REST_CALL_LIMIT\n\nconst enhancedApi = foldersApi.enhanceEndpoints({\n endpoints: {\n getFolderHierarchy: {\n providesTags: ['hierarchy'],\n },\n getFolderList: {\n providesTags: (result, _e, { projectName }) => [\n 'hierarchy',\n { type: 'folder', id: 'LIST' },\n ...(result?.folders.map(({ id }) => ({ type: 'folder', id })) || []),\n { type: 'folder', id: projectName },\n ],\n async onCacheEntryAdded(\n args,\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, getCacheEntry, dispatch },\n ) {\n const { projectName } = args || {}\n const supportedFolderFields = ['status', 'tags', 'folderType']\n const topicFieldMap: Record<string, string> = {\n 'entity.folder.label_changed': 'label',\n 'entity.folder.renamed': 'name',\n 'entity.folder.type_changed': 'folderType',\n 'entity.folder.status_changed': 'status',\n 'entity.folder.tags_changed': 'tags',\n 'entity.folder.attrib_changed': 'attrib',\n }\n\n const topics = ['entity.folder']\n const tokens: (string | undefined)[] = []\n\n // handle a batch of messages, updating the cache and fetching missing data as needed\n const batchProcessMessages: RealtimeBatchProcessor<any> = async (messages, isActive) => {\n if (!projectName) return\n\n const cachedFolderIds = new Set<string>()\n const cachedFolders = getCacheEntry().data\n if (cachedFolders && Array.isArray(cachedFolders.folders)) {\n cachedFolders.folders.forEach((folder: any) => cachedFolderIds.add(folder.id))\n }\n\n const deletedIds: string[] = []\n const createdIds: string[] = []\n const unsupportedFields = new Map<string, Set<string>>()\n const summaryPatches: {\n folderId: string\n field: SupportedEntityPatchField\n value: string | string[]\n }[] = []\n\n // for each message, check it's type and then add it to the appropriate list for processing\n messages.forEach((message) => {\n const folderId = message.summary?.entityId\n if (!folderId) return\n\n // delete: remove from cache - no additional API calls\n if (message.topic === 'entity.folder.deleted') {\n deletedIds.push(folderId)\n return\n }\n\n // create: add to cache - will fetch the full folder data later\n if (message.topic === 'entity.folder.created') {\n createdIds.push(folderId)\n return\n }\n\n // for updates, check if the folder is in the cache\n // no point updating a folder that does not exist for the user\n if (!cachedFolderIds.has(folderId)) return\n\n // check if the updated field data is in the summary (status, tags etc)\n // if it is, we can update the cache directly, otherwise we will need to fetch the full folder data later\n const patch = getSupportedEntityPatch(\n topicFieldMap[message.topic],\n message.summary,\n supportedFolderFields,\n )\n if (patch) summaryPatches.push({ folderId, ...patch })\n else {\n const field = topicFieldMap[message.topic]\n if (!field) return\n\n const fields = unsupportedFields.get(folderId) || new Set<string>()\n fields.add(field)\n unsupportedFields.set(folderId, fields)\n }\n })\n\n // DELETED: remove deleted folders from cache\n if (deletedIds.length) {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n draft.folders = draft.folders.filter((folder: any) => !deletedIds.includes(folder.id))\n })\n }\n\n // UPDATED: update cached folders with summary data from the message, if available\n if (summaryPatches.length) {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n summaryPatches.forEach(({ folderId, field, value }) => {\n const folder = draft.folders.find((item: any) => item.id === folderId)\n if (folder) folder[field] = value\n })\n })\n }\n\n // Fetch created and unsupported folders in one request.\n // This is to avoid overwhelming the API with too many requests at once, and to prevent potential performance issues in the frontend.\n const foldersToFetch = [...new Set([...createdIds, ...unsupportedFields.keys()])]\n if (foldersToFetch.length > MAX_FOLDER_UPDATE_REST_CALLS) return\n\n if (foldersToFetch.length) {\n await waitForRealtimeJitter()\n const fetchedFolders = await dispatch(\n graphqlFolders.endpoints.GetUpdatedAndNewFolders.initiate({\n projectName,\n folderIds: foldersToFetch,\n first: foldersToFetch.length,\n }),\n )\n .unwrap()\n .catch(() => [])\n\n if (!isActive()) return\n const createdFolderIds = new Set(createdIds)\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n const fetchedById = new Map(\n fetchedFolders.filter(Boolean).map((folder: any) => [folder.id, folder] as const),\n )\n\n draft.folders.forEach((folder: any, index: number) => {\n const fetchedFolder = fetchedById.get(folder.id)\n if (!fetchedFolder) return\n\n if (createdFolderIds.has(folder.id)) {\n draft.folders[index] = { ...folder, ...fetchedFolder }\n } else {\n const fields = unsupportedFields.get(folder.id) || new Set<string>()\n fields.forEach((field) => {\n folder[field] = fetchedFolder[field]\n })\n }\n fetchedById.delete(folder.id)\n })\n\n fetchedById.forEach((folder, folderId) => {\n if (createdFolderIds.has(folderId)) draft.folders.push(folder)\n })\n })\n }\n }\n\n // create a batcher to process messages in batches\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n (message: any) =>\n `${message.project ?? projectName}:${message.summary?.entityId}:${message.topic}`,\n )\n\n let unsubscribeThumbnails: (() => void) | undefined\n\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n messages.forEach((message) => {\n if (message.summary.entityType === 'folder' && message.summary.thumbnailHash) {\n const idx = draft.folders.findIndex(\n (f: any) => f.id === message.summary.entityId,\n )\n if (idx !== -1) {\n draft.folders[idx].thumbnailHash = message.summary.thumbnailHash\n }\n }\n })\n })\n },\n ['folder'],\n )\n\n const handlePubSub = (topic: string, message: any) => {\n const entityId = message?.summary?.entityId\n if (!entityId) return\n\n // add update to the batcher\n batcher.add({ ...message, topic })\n }\n\n topics.forEach((t) => tokens.push(PubSub.subscribe(t, handlePubSub)))\n } catch {\n // silent\n }\n\n await cacheEntryRemoved\n tokens.forEach((t) => PubSub.unsubscribe(t))\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n batcher.clear()\n },\n },\n },\n})\n\nexport const { useGetFolderHierarchyQuery, useGetFolderListQuery } = enhancedApi\nexport { enhancedApi as foldersQueries }\n"],"names":["graphqlFolders","gqlApi","response","node","parseJSONField","MAX_FOLDER_UPDATE_REST_CALLS","REALTIME_REST_CALL_LIMIT","enhancedApi","foldersApi","result","_e","projectName","id","args","cacheDataLoaded","cacheEntryRemoved","updateCachedData","getCacheEntry","dispatch","supportedFolderFields","topicFieldMap","topics","tokens","batcher","createRealtimeBatcher","messages","isActive","cachedFolderIds","cachedFolders","folder","deletedIds","createdIds","unsupportedFields","summaryPatches","message","folderId","patch","getSupportedEntityPatch","field","fields","draft","value","item","foldersToFetch","waitForRealtimeJitter","fetchedFolders","createdFolderIds","fetchedById","index","fetchedFolder","unsubscribeThumbnails","subscribeToThumbnailUpdates","idx","handlePubSub","topic","t","PubSub","useGetFolderHierarchyQuery","useGetFolderListQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getFolders.es.js","sources":["../../../../../../src/api/queries/folders/getFolders.ts"],"sourcesContent":["import {\n FolderListItem,\n foldersApi,\n GetUpdatedAndNewFoldersQuery,\n gqlApi,\n} from '@shared/api/generated'\nimport {\n getSupportedEntityPatch,\n createRealtimeBatcher,\n REALTIME_REST_CALL_LIMIT,\n waitForRealtimeJitter,\n PubSub,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n ThumbnailUpdateMessage,\n SupportedEntityPatchField,\n} from '@shared/util'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseJSONField } from '../overview'\n\ntype GetUpdatedAndNewFoldersResult = FolderListItem[]\n\n// HELPER QUERIES FOR REALTIME UPDATES\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetUpdatedAndNewFolders'> & {\n GetUpdatedAndNewFolders: OverrideResultType<\n Definitions['GetUpdatedAndNewFolders'],\n GetUpdatedAndNewFoldersResult\n >\n}\n\nconst graphqlFolders = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetUpdatedAndNewFolders: {\n transformResponse: (response: GetUpdatedAndNewFoldersQuery): GetUpdatedAndNewFoldersResult =>\n response.project.folders.edges.map(({ node }) => ({\n ...node,\n attrib: parseJSONField(node.allAttrib),\n path: node.path ?? '',\n parentId: node.parentId ?? undefined,\n label: node.label ?? undefined,\n taskNames: [],\n createdAt: String(node.createdAt),\n updatedAt: String(node.updatedAt),\n })),\n },\n },\n})\n\n// the max number of folder to process in a single batch\n// TODO: Use this limit to trigger the reload button\nexport const MAX_FOLDER_UPDATE_REST_CALLS = REALTIME_REST_CALL_LIMIT\n\nconst enhancedApi = foldersApi.enhanceEndpoints({\n endpoints: {\n getFolderHierarchy: {\n providesTags: ['hierarchy'],\n },\n getFolderList: {\n providesTags: (result, _e, { projectName }) => [\n 'hierarchy',\n { type: 'folder', id: 'LIST' },\n ...(result?.folders.map(({ id }) => ({ type: 'folder', id })) || []),\n { type: 'folder', id: projectName },\n ],\n async onCacheEntryAdded(\n args,\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, getCacheEntry, dispatch },\n ) {\n const { projectName } = args || {}\n const supportedFolderFields = ['status', 'tags', 'folderType']\n const topicFieldMap: Record<string, string> = {\n 'entity.folder.label_changed': 'label',\n 'entity.folder.renamed': 'name',\n 'entity.folder.type_changed': 'folderType',\n 'entity.folder.status_changed': 'status',\n 'entity.folder.tags_changed': 'tags',\n 'entity.folder.attrib_changed': 'attrib',\n }\n\n const topics = ['entity.folder']\n const tokens: (string | undefined)[] = []\n\n // handle a batch of messages, updating the cache and fetching missing data as needed\n const batchProcessMessages: RealtimeBatchProcessor<any> = async (messages, isActive) => {\n if (!projectName) return\n\n const cachedFolderIds = new Set<string>()\n const cachedFolders = getCacheEntry().data\n if (cachedFolders && Array.isArray(cachedFolders.folders)) {\n cachedFolders.folders.forEach((folder: any) => cachedFolderIds.add(folder.id))\n }\n\n const deletedIds: string[] = []\n const createdIds: string[] = []\n const unsupportedFields = new Map<string, Set<string>>()\n const summaryPatches: {\n folderId: string\n field: SupportedEntityPatchField\n value: string | string[]\n }[] = []\n\n // for each message, check it's type and then add it to the appropriate list for processing\n messages.forEach((message) => {\n const folderId = message.summary?.entityId\n if (!folderId) return\n\n // delete: remove from cache - no additional API calls\n if (message.topic === 'entity.folder.deleted') {\n deletedIds.push(folderId)\n return\n }\n\n // create: add to cache - will fetch the full folder data later\n if (message.topic === 'entity.folder.created') {\n createdIds.push(folderId)\n return\n }\n\n // for updates, check if the folder is in the cache\n // no point updating a folder that does not exist for the user\n if (!cachedFolderIds.has(folderId)) return\n\n // check if the updated field data is in the summary (status, tags etc)\n // if it is, we can update the cache directly, otherwise we will need to fetch the full folder data later\n const patch = getSupportedEntityPatch(\n topicFieldMap[message.topic],\n message.summary,\n supportedFolderFields,\n )\n if (patch) summaryPatches.push({ folderId, ...patch })\n else {\n const field = topicFieldMap[message.topic]\n if (!field) return\n\n const fields = unsupportedFields.get(folderId) || new Set<string>()\n fields.add(field)\n unsupportedFields.set(folderId, fields)\n }\n })\n\n // DELETED: remove deleted folders from cache\n if (deletedIds.length) {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n draft.folders = draft.folders.filter((folder: any) => !deletedIds.includes(folder.id))\n })\n }\n\n // UPDATED: update cached folders with summary data from the message, if available\n if (summaryPatches.length) {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n summaryPatches.forEach(({ folderId, field, value }) => {\n const folder = draft.folders.find((item: any) => item.id === folderId)\n if (folder) folder[field] = value\n })\n })\n }\n\n // Fetch created and unsupported folders in one request.\n // This is to avoid overwhelming the API with too many requests at once, and to prevent potential performance issues in the frontend.\n const foldersToFetch = [...new Set([...createdIds, ...unsupportedFields.keys()])]\n if (foldersToFetch.length > MAX_FOLDER_UPDATE_REST_CALLS) return\n\n if (foldersToFetch.length) {\n await waitForRealtimeJitter()\n const fetchedFolders = await dispatch(\n graphqlFolders.endpoints.GetUpdatedAndNewFolders.initiate({\n projectName,\n folderIds: foldersToFetch,\n first: foldersToFetch.length,\n }),\n )\n .unwrap()\n .catch(() => [])\n\n if (!isActive()) return\n const createdFolderIds = new Set(createdIds)\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n const fetchedById = new Map(\n fetchedFolders.filter(Boolean).map((folder: any) => [folder.id, folder] as const),\n )\n\n draft.folders.forEach((folder: any, index: number) => {\n const fetchedFolder = fetchedById.get(folder.id)\n if (!fetchedFolder) return\n\n if (createdFolderIds.has(folder.id)) {\n draft.folders[index] = { ...folder, ...fetchedFolder }\n } else {\n const fields = unsupportedFields.get(folder.id) || new Set<string>()\n fields.forEach((field) => {\n folder[field] = fetchedFolder[field]\n })\n }\n fetchedById.delete(folder.id)\n })\n\n fetchedById.forEach((folder, folderId) => {\n if (createdFolderIds.has(folderId)) draft.folders.push(folder)\n })\n })\n }\n }\n\n // create a batcher to process messages in batches\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n (message: any) =>\n `${message.project ?? projectName}:${message.summary?.entityId}:${message.topic}`,\n )\n\n let unsubscribeThumbnails: (() => void) | undefined\n\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n messages.forEach((message) => {\n if (message.summary.entityType === 'folder' && message.summary.thumbnailHash) {\n const idx = draft.folders.findIndex(\n (f: any) => f.id === message.summary.entityId,\n )\n if (idx !== -1) {\n draft.folders[idx].thumbnailHash = message.summary.thumbnailHash\n }\n }\n })\n })\n },\n ['folder'],\n )\n\n const handlePubSub = (topic: string, message: any) => {\n const entityId = message?.summary?.entityId\n if (!entityId) return\n\n // add update to the batcher\n batcher.add({ ...message, topic })\n }\n\n topics.forEach((t) => tokens.push(PubSub.subscribe(t, handlePubSub)))\n } catch {\n // silent\n }\n\n await cacheEntryRemoved\n tokens.forEach((t) => PubSub.unsubscribe(t))\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n batcher.clear()\n },\n },\n },\n})\n\nexport const { useGetFolderHierarchyQuery, useGetFolderListQuery } = enhancedApi\nexport { enhancedApi as foldersQueries }\n"],"names":["graphqlFolders","gqlApi","response","node","parseJSONField","MAX_FOLDER_UPDATE_REST_CALLS","REALTIME_REST_CALL_LIMIT","enhancedApi","foldersApi","result","_e","projectName","id","args","cacheDataLoaded","cacheEntryRemoved","updateCachedData","getCacheEntry","dispatch","supportedFolderFields","topicFieldMap","topics","tokens","batcher","createRealtimeBatcher","messages","isActive","cachedFolderIds","cachedFolders","folder","deletedIds","createdIds","unsupportedFields","summaryPatches","message","folderId","patch","getSupportedEntityPatch","field","fields","draft","value","item","foldersToFetch","waitForRealtimeJitter","fetchedFolders","createdFolderIds","fetchedById","index","fetchedFolder","unsubscribeThumbnails","subscribeToThumbnailUpdates","idx","handlePubSub","topic","t","PubSub","useGetFolderHierarchyQuery","useGetFolderListQuery"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const I=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/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");const j=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 L=require("./utils/formatEntityLinks.cjs.js"),v=require("react-toastify");require("lodash");require("uuid");require("../actions/getActions.cjs.js");require("../activities/getActivities.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("../bundles/getBundles.cjs.js");require("../bundles/updateBundles.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../columnStats/groupCounts.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("./updateLinks.cjs.js");require("./getLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.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/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/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 w=require("../../../util/realtimeUpdatesUtils.cjs.js"),R=require("../../../util/pubsub.cjs.js"),T={folder:"GetFoldersLinks",task:"GetTasksLinks",product:"GetProductsLinks",version:"GetVersionsLinks",representation:"GetRepresentationsLinks",workfile:"GetWorkfilesLinks"},$={folder:"folders",task:"tasks",product:"products",version:"versions",representation:"representations",workfile:"workfiles"},E=j.api.injectEndpoints({endpoints:S=>({getEntityLinks:S.query({queryFn:async({projectName:e,entityIds:u,entityType:r},{getState:t,dispatch:q,queryCacheKey:h,forced:y})=>{try{const d=t(),c=JSON.stringify({projectName:e,entityType:r}),p=d.restApi?.queries?.[h||`getEntityLinks(${c})`]?.data||[],l=new Set(p.map(s=>s.id)),o=u.filter(s=>!l?.has(s)||y);if(o.length===0)return{data:p};const m=T[r],a=$[r];return{data:(await q(I.api.endpoints[m].initiate({projectName:e,entityIds:o},{forceRefetch:!0})).unwrap()).project?.[a]?.edges?.map(({node:s})=>{const k=s.links.edges?.filter(i=>!i?.node)||[];return k.length>0&&console.log(`[RESTRICTED LINKS] Entity ${s.id} (${s.name}) has ${k.length} restricted link(s):`,k.map(i=>({linkId:i?.id,linkType:i?.linkType,direction:i?.direction,entityType:i?.entityType,nodeIsNull:!i?.node}))),{id:s.id,links:s.links.edges?.map(i=>i?.node?{...i,node:{id:i.node.id,name:i.node.name,label:L.formatEntityLabel(i.node),parents:i.node.parents||[],subType:"subType"in i.node?i.node.subType:void 0},isRestricted:!1}:{...i,node:null,isRestricted:!0})||[]}})||[]}}catch(d){return console.error(`Error in getEntityLinks queryFn for ${r}:`,d),v.toast.error(`Error fetching ${r} links`),{error:{status:"FETCH_ERROR",error:d.message}}}},serializeQueryArgs:({queryArgs:e})=>({projectName:e.projectName,entityType:e.entityType}),forceRefetch:({currentArg:e,previousArg:u})=>{if(!e||!u)return!0;const r=new Set(e.entityIds),t=new Set(u.entityIds);if(r.size!==t.size)return!0;for(const q of r)if(!t.has(q))return!0;return!1},merge:(e,u)=>{if(!e)return u;const r=new Map(e.map(t=>[t.id,t]));for(const t of u)r.set(t.id,t);e.length=0,e.push(...r.values())},providesTags:(e,u,r)=>e?[...e.flatMap(t=>t.links.filter(q=>q.node!==null).map(q=>({type:"link",id:q.node.id}))),{type:"link",id:`${r.projectName}-${r.entityType}`}]:[{type:"link",id:`${r.projectName}-${r.entityType}`}],async onCacheEntryAdded({projectName:e,entityType:u},{cacheDataLoaded:r,cacheEntryRemoved:t,updateCachedData:q,dispatch:h}){let y;const d=w.createRealtimeBatcher(async(c,f)=>{const p=T[u],l=$[u];try{await w.waitForRealtimeJitter();const o=await h(I.api.endpoints[p].initiate({projectName:e,entityIds:c.map(({entityId:a})=>a)},{forceRefetch:!0})).unwrap();if(!f())return;const m=o.project?.[l]?.edges?.map(({node:a})=>({id:a.id,links:a.links.edges?.map(n=>n?.node?{...n,node:{id:n.node.id,name:n.node.name,label:L.formatEntityLabel(n.node),parents:n.node.parents||[],subType:"subType"in n.node?n.node.subType:void 0},isRestricted:!1}:{...n,node:null,isRestricted:!0})||[]}))||[];q(a=>{for(const n of m){const b=a.findIndex(s=>s.id===n.id);b>-1?a[b]=n:a.push(n)}})}catch(o){console.error("Realtime link batch update failed",o)}},({entityId:c})=>c);try{await r;const c=(f,p)=>{if(!f.startsWith("link.created")&&!f.startsWith("link.deleted")||p?.project!==e)return;const l=p?.summary?.inputId,o=p?.summary?.outputId;!l&&!o||(l&&d.add({entityId:l}),o&&d.add({entityId:o}))};y=R.subscribe("link",c)}catch{}await t,y&&R.unsubscribe(y),d.clear()}})})}),{useGetEntityLinksQuery:G}=E;exports.entityLinksApi=E;exports.useGetEntityLinksQuery=G;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const I=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/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");const j=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 L=require("./utils/formatEntityLinks.cjs.js"),v=require("react-toastify");require("lodash");require("uuid");require("../users/updateUsers.cjs.js");const w=require("../../../util/realtimeUpdatesUtils.cjs.js"),R=require("../../../util/pubsub.cjs.js"),T={folder:"GetFoldersLinks",task:"GetTasksLinks",product:"GetProductsLinks",version:"GetVersionsLinks",representation:"GetRepresentationsLinks",workfile:"GetWorkfilesLinks"},$={folder:"folders",task:"tasks",product:"products",version:"versions",representation:"representations",workfile:"workfiles"},E=j.api.injectEndpoints({endpoints:S=>({getEntityLinks:S.query({queryFn:async({projectName:e,entityIds:s,entityType:t},{getState:i,dispatch:d,queryCacheKey:h,forced:f})=>{try{const c=i(),p=JSON.stringify({projectName:e,entityType:t}),l=c.restApi?.queries?.[h||`getEntityLinks(${p})`]?.data||[],y=new Set(l.map(o=>o.id)),u=s.filter(o=>!y?.has(o)||f);if(u.length===0)return{data:l};const m=T[t],a=$[t];return{data:(await d(I.api.endpoints[m].initiate({projectName:e,entityIds:u},{forceRefetch:!0})).unwrap()).project?.[a]?.edges?.map(({node:o})=>{const k=o.links.edges?.filter(r=>!r?.node)||[];return k.length>0&&console.log(`[RESTRICTED LINKS] Entity ${o.id} (${o.name}) has ${k.length} restricted link(s):`,k.map(r=>({linkId:r?.id,linkType:r?.linkType,direction:r?.direction,entityType:r?.entityType,nodeIsNull:!r?.node}))),{id:o.id,links:o.links.edges?.map(r=>r?.node?{...r,node:{id:r.node.id,name:r.node.name,label:L.formatEntityLabel(r.node),parents:r.node.parents||[],subType:"subType"in r.node?r.node.subType:void 0},isRestricted:!1}:{...r,node:null,isRestricted:!0})||[]}})||[]}}catch(c){return console.error(`Error in getEntityLinks queryFn for ${t}:`,c),v.toast.error(`Error fetching ${t} links`),{error:{status:"FETCH_ERROR",error:c.message}}}},serializeQueryArgs:({queryArgs:e})=>({projectName:e.projectName,entityType:e.entityType}),forceRefetch:({currentArg:e,previousArg:s})=>{if(!e||!s)return!0;const t=new Set(e.entityIds),i=new Set(s.entityIds);if(t.size!==i.size)return!0;for(const d of t)if(!i.has(d))return!0;return!1},merge:(e,s)=>{if(!e)return s;const t=new Map(e.map(i=>[i.id,i]));for(const i of s)t.set(i.id,i);e.length=0,e.push(...t.values())},providesTags:(e,s,t)=>e?[...e.flatMap(i=>i.links.filter(d=>d.node!==null).map(d=>({type:"link",id:d.node.id}))),{type:"link",id:`${t.projectName}-${t.entityType}`}]:[{type:"link",id:`${t.projectName}-${t.entityType}`}],async onCacheEntryAdded({projectName:e,entityType:s},{cacheDataLoaded:t,cacheEntryRemoved:i,updateCachedData:d,dispatch:h}){let f;const c=w.createRealtimeBatcher(async(p,q)=>{const l=T[s],y=$[s];try{await w.waitForRealtimeJitter();const u=await h(I.api.endpoints[l].initiate({projectName:e,entityIds:p.map(({entityId:a})=>a)},{forceRefetch:!0})).unwrap();if(!q())return;const m=u.project?.[y]?.edges?.map(({node:a})=>({id:a.id,links:a.links.edges?.map(n=>n?.node?{...n,node:{id:n.node.id,name:n.node.name,label:L.formatEntityLabel(n.node),parents:n.node.parents||[],subType:"subType"in n.node?n.node.subType:void 0},isRestricted:!1}:{...n,node:null,isRestricted:!0})||[]}))||[];d(a=>{for(const n of m){const b=a.findIndex(o=>o.id===n.id);b>-1?a[b]=n:a.push(n)}})}catch(u){console.error("Realtime link batch update failed",u)}},({entityId:p})=>p);try{await t;const p=(q,l)=>{if(!q.startsWith("link.created")&&!q.startsWith("link.deleted")||l?.project!==e)return;const y=l?.summary?.inputId,u=l?.summary?.outputId;!y&&!u||(y&&c.add({entityId:y}),u&&c.add({entityId:u}))};f=R.subscribe("link",p)}catch{}await i,f&&R.unsubscribe(f),c.clear()}})})}),{useGetEntityLinksQuery:G}=E;exports.entityLinksApi=E;exports.useGetEntityLinksQuery=G;
2
2
  //# sourceMappingURL=getEntityLinks.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\nimport { createRealtimeBatcher, PubSub, waitForRealtimeJitter } from '@shared/util'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node:\n | (EntityLinkQuery['node'] & {\n name: string\n id: string\n label?: string | null\n parents: string[]\n subType: string | undefined\n })\n | null\n isRestricted?: boolean // flag to indicate if this link is restricted\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n // Log restricted links\n const restrictedLinks =\n node.links.edges?.filter((e: EntityLinkQuery | null) => !e?.node) || []\n if (restrictedLinks.length > 0) {\n console.log(\n `[RESTRICTED LINKS] Entity ${node.id} (${node.name}) has ${restrictedLinks.length} restricted link(s):`,\n restrictedLinks.map((link: any) => ({\n linkId: link?.id,\n linkType: link?.linkType,\n direction: link?.direction,\n entityType: link?.entityType,\n nodeIsNull: !link?.node,\n })),\n )\n }\n\n return {\n id: node.id,\n links:\n node.links.edges?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [], // Flatten the edges structure\n }\n }) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links\n .filter((link) => link.node !== null)\n .map((link) => ({ type: 'link', id: link.node!.id as string })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName, entityType },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const batcher = createRealtimeBatcher(\n async (items: { entityId: string }[], isActive) => {\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n try {\n await waitForRealtimeJitter()\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: items.map(({ entityId }) => entityId) },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n if (!isActive()) return\n\n const updatedEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n return {\n id: node.id,\n links:\n node.links.edges?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [],\n }\n }) || []\n\n updateCachedData((draft: EntityWithLinks[]) => {\n for (const updatedEntity of updatedEntities) {\n const idx = draft.findIndex((entity) => entity.id === updatedEntity.id)\n if (idx > -1) draft[idx] = updatedEntity\n else draft.push(updatedEntity)\n }\n })\n } catch (err) {\n console.error('Realtime link batch update failed', err)\n }\n },\n ({ entityId }) => entityId,\n )\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary (both entities affected by the link)\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n if (inputId) batcher.add({ entityId: inputId })\n if (outputId) batcher.add({ entityId: outputId })\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n batcher.clear()\n },\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","gqlLinksApi","node","restrictedLinks","e","link","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","batcher","createRealtimeBatcher","items","isActive","waitForRealtimeJitter","entityId","updatedEntities","draft","updatedEntity","idx","err","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetEntityLinksQuery"],"mappings":"g0IA4EMA,EAAkB,CACtB,OAAQ,kBACR,KAAM,gBACN,QAAS,mBACT,QAAS,mBACT,eAAgB,0BAChB,SAAU,mBACZ,EAGMC,EAAoB,CACxB,OAAQ,UACR,KAAM,QACN,QAAS,WACT,QAAS,WACT,eAAgB,kBAChB,SAAU,WACZ,EAEMC,EAAkBC,EAAAA,IAAW,gBAAgB,CACjD,UAAYC,IAAW,CACrB,eAAgBA,EAAM,MAAgD,CACpE,QAAS,MACP,CAAE,YAAAC,EAAa,UAAAC,EAAW,WAAAC,CAAA,EAC1B,CAAE,SAAAC,EAAU,SAAAC,EAAU,cAAAC,EAAe,OAAAC,KAClC,CACH,GAAI,CAEF,MAAMC,EAAQJ,EAAA,EACRK,EAAW,KAAK,UAAU,CAAE,YAAAR,EAAa,WAAAE,EAAY,EAKrDO,EADJF,EAAM,SAAS,UAAUF,GAAiB,kBAAkBG,CAAQ,GAAG,GAC1C,MAAQ,CAAA,EAGjCE,EAAkB,IAAI,IAAID,EAAW,IAAKE,GAA4BA,EAAO,EAAE,CAAC,EAChFC,EAAmBX,EAAU,OAAQY,GAAO,CAACH,GAAiB,IAAIG,CAAE,GAAKP,CAAM,EAGrF,GAAIM,EAAiB,SAAW,EAC9B,MAAO,CAAE,KAAMH,CAAA,EAIjB,MAAMK,EAAWnB,EAAgBO,CAAU,EACrCa,EAAanB,EAAkBM,CAAU,EAyD/C,MAAO,CAAE,MAtDM,MAAME,EAClBY,MAAY,UAAkBF,CAAQ,EAAE,SACvC,CAAE,YAAAd,EAAa,UAAWY,CAAA,EAC1B,CAAE,aAAc,EAAA,CAAK,CACvB,EACA,OAAA,GAGO,UAAUG,CAAU,GAAG,OAAO,IAAI,CAAC,CAAE,KAAAE,KAA0B,CAEpE,MAAMC,EACJD,EAAK,MAAM,OAAO,OAAQE,GAA8B,CAACA,GAAG,IAAI,GAAK,CAAA,EACvE,OAAID,EAAgB,OAAS,GAC3B,QAAQ,IACN,6BAA6BD,EAAK,EAAE,KAAKA,EAAK,IAAI,SAASC,EAAgB,MAAM,uBACjFA,EAAgB,IAAKE,IAAe,CAClC,OAAQA,GAAM,GACd,SAAUA,GAAM,SAChB,UAAWA,GAAM,UACjB,WAAYA,GAAM,WAClB,WAAY,CAACA,GAAM,IAAA,EACnB,CAAA,EAIC,CACL,GAAIH,EAAK,GACT,MACEA,EAAK,MAAM,OAAO,IAAKI,GAChBA,GAAU,KASR,CACL,GAAGA,EACH,KAAM,CACJ,GAAIA,EAAS,KAAK,GAClB,KAAMA,EAAS,KAAK,KACpB,MAAOC,EAAAA,kBAAkBD,EAAS,IAAI,EACtC,QAASA,EAAS,KAAK,SAAW,CAAA,EAClC,QAAS,YAAaA,EAAS,KAAOA,EAAS,KAAK,QAAU,MAAA,EAEhE,aAAc,EAAA,EAhBP,CACL,GAAGA,EACH,KAAM,KACN,aAAc,EAAA,CAenB,GAAK,CAAA,CAAC,CAEb,CAAC,GAAK,CAAA,CAGO,CACjB,OAASE,EAAY,CACnB,eAAQ,MAAM,uCAAuCrB,CAAU,IAAKqB,CAAK,EACzEC,EAAAA,MAAM,MAAM,kBAAkBtB,CAAU,QAAQ,EACzC,CAAE,MAAO,CAAE,OAAQ,cAAe,MAAOqB,EAAM,QAAQ,CAChE,CACF,EAEA,mBAAoB,CAAC,CAAE,UAAAE,MAEd,CAAE,YAAaA,EAAU,YAAa,WAAYA,EAAU,UAAA,GAGrE,aAAc,CAAC,CAAE,WAAAC,EAAY,YAAAC,KAAkB,CAE7C,GAAI,CAACD,GAAc,CAACC,EAAa,MAAO,GAGxC,MAAMC,EAAa,IAAI,IAAIF,EAAW,SAAS,EACzCG,EAAc,IAAI,IAAIF,EAAY,SAAS,EAEjD,GAAIC,EAAW,OAASC,EAAY,KAAM,MAAO,GAGjD,UAAWhB,KAAMe,EACf,GAAI,CAACC,EAAY,IAAIhB,CAAE,EAAG,MAAO,GAGnC,MAAO,EACT,EAEA,MAAO,CAACiB,EAAcC,IAAa,CACjC,GAAI,CAACD,EAAc,OAAOC,EAE1B,MAAMC,EAAW,IAAI,IAAIF,EAAa,IAAKG,GAAS,CAACA,EAAK,GAAIA,CAAI,CAAC,CAAC,EACpE,UAAWC,KAAWH,EACpBC,EAAS,IAAIE,EAAQ,GAAIA,CAAO,EAGlCJ,EAAa,OAAS,EACtBA,EAAa,KAAK,GAAGE,EAAS,OAAA,CAAQ,CACxC,EAEA,aAAc,CAACG,EAAQZ,EAAOa,IAC5BD,EACI,CACE,GAAGA,EAAO,QAASxB,GACjBA,EAAO,MACJ,OAAQS,GAASA,EAAK,OAAS,IAAI,EACnC,IAAKA,IAAU,CAAE,KAAM,OAAQ,GAAIA,EAAK,KAAM,IAAe,CAAA,EAElE,CAAE,KAAM,OAAQ,GAAI,GAAGgB,EAAI,WAAW,IAAIA,EAAI,UAAU,EAAA,CAAG,EAE7D,CAAC,CAAE,KAAM,OAAQ,GAAI,GAAGA,EAAI,WAAW,IAAIA,EAAI,UAAU,GAAI,EAEnE,MAAM,kBACJ,CAAE,YAAApC,EAAa,WAAAE,CAAA,EACf,CAAE,gBAAAmC,EAAiB,kBAAAC,EAAmB,iBAAAC,EAAkB,SAAAnC,GACxD,CACA,IAAIoC,EACJ,MAAMC,EAAUC,EAAAA,sBACd,MAAOC,EAA+BC,IAAa,CACjD,MAAM9B,EAAWnB,EAAgBO,CAAU,EACrCa,EAAanB,EAAkBM,CAAU,EAE/C,GAAI,CACF,MAAM2C,wBAAA,EACN,MAAMV,EAAS,MAAM/B,EAClBY,MAAY,UAAkBF,CAAQ,EAAE,SACvC,CAAE,YAAAd,EAAa,UAAW2C,EAAM,IAAI,CAAC,CAAE,SAAAG,CAAA,IAAeA,CAAQ,CAAA,EAC9D,CAAE,aAAc,EAAA,CAAK,CACvB,EACA,OAAA,EAEF,GAAI,CAACF,IAAY,OAEjB,MAAMG,EACJZ,EAAO,UAAUpB,CAAU,GAAG,OAAO,IAAI,CAAC,CAAE,KAAAE,MACnC,CACL,GAAIA,EAAK,GACT,MACEA,EAAK,MAAM,OAAO,IAAKI,GAChBA,GAAU,KAOR,CACL,GAAGA,EACH,KAAM,CACJ,GAAIA,EAAS,KAAK,GAClB,KAAMA,EAAS,KAAK,KACpB,MAAOC,EAAAA,kBAAkBD,EAAS,IAAI,EACtC,QAASA,EAAS,KAAK,SAAW,CAAA,EAClC,QAAS,YAAaA,EAAS,KAAOA,EAAS,KAAK,QAAU,MAAA,EAEhE,aAAc,EAAA,EAfP,CACL,GAAGA,EACH,KAAM,KACN,aAAc,EAAA,CAcnB,GAAK,CAAA,CAAC,EAEZ,GAAK,CAAA,EAERkB,EAAkBS,GAA6B,CAC7C,UAAWC,KAAiBF,EAAiB,CAC3C,MAAMG,EAAMF,EAAM,UAAWrC,GAAWA,EAAO,KAAOsC,EAAc,EAAE,EAClEC,EAAM,GAAIF,EAAME,CAAG,EAAID,EACtBD,EAAM,KAAKC,CAAa,CAC/B,CACF,CAAC,CACH,OAASE,EAAK,CACZ,QAAQ,MAAM,oCAAqCA,CAAG,CACxD,CACF,EACA,CAAC,CAAE,SAAAL,CAAA,IAAeA,CAAA,EAGpB,GAAI,CACF,MAAMT,EAEN,MAAMe,EAAe,CAACC,EAAgBC,IAAiB,CAGrD,GADI,CAACD,EAAO,WAAW,cAAc,GAAK,CAACA,EAAO,WAAW,cAAc,GACvEC,GAAS,UAAYtD,EAAa,OAGtC,MAAMuD,EAAUD,GAAS,SAAS,QAC5BE,EAAWF,GAAS,SAAS,SAC/B,CAACC,GAAW,CAACC,IAEbD,GAASd,EAAQ,IAAI,CAAE,SAAUc,EAAS,EAC1CC,GAAUf,EAAQ,IAAI,CAAE,SAAUe,EAAU,EAClD,EAKAhB,EAAQiB,EAAO,UAAU,OAAQL,CAAY,CAC/C,MAAY,CAEZ,CAEA,MAAMd,EACFE,GAAOiB,EAAO,YAAYjB,CAAK,EACnCC,EAAQ,MAAA,CACV,CAAA,CACD,CAAA,EAEL,CAAC,EAEY,CAAE,uBAAAiB,GAA2B7D"}
1
+ {"version":3,"file":"getEntityLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\nimport { createRealtimeBatcher, PubSub, waitForRealtimeJitter } from '@shared/util'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node:\n | (EntityLinkQuery['node'] & {\n name: string\n id: string\n label?: string | null\n parents: string[]\n subType: string | undefined\n })\n | null\n isRestricted?: boolean // flag to indicate if this link is restricted\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n // Log restricted links\n const restrictedLinks =\n node.links.edges?.filter((e: EntityLinkQuery | null) => !e?.node) || []\n if (restrictedLinks.length > 0) {\n console.log(\n `[RESTRICTED LINKS] Entity ${node.id} (${node.name}) has ${restrictedLinks.length} restricted link(s):`,\n restrictedLinks.map((link: any) => ({\n linkId: link?.id,\n linkType: link?.linkType,\n direction: link?.direction,\n entityType: link?.entityType,\n nodeIsNull: !link?.node,\n })),\n )\n }\n\n return {\n id: node.id,\n links:\n node.links.edges?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [], // Flatten the edges structure\n }\n }) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links\n .filter((link) => link.node !== null)\n .map((link) => ({ type: 'link', id: link.node!.id as string })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName, entityType },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const batcher = createRealtimeBatcher(\n async (items: { entityId: string }[], isActive) => {\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n try {\n await waitForRealtimeJitter()\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: items.map(({ entityId }) => entityId) },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n if (!isActive()) return\n\n const updatedEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n return {\n id: node.id,\n links:\n node.links.edges?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [],\n }\n }) || []\n\n updateCachedData((draft: EntityWithLinks[]) => {\n for (const updatedEntity of updatedEntities) {\n const idx = draft.findIndex((entity) => entity.id === updatedEntity.id)\n if (idx > -1) draft[idx] = updatedEntity\n else draft.push(updatedEntity)\n }\n })\n } catch (err) {\n console.error('Realtime link batch update failed', err)\n }\n },\n ({ entityId }) => entityId,\n )\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary (both entities affected by the link)\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n if (inputId) batcher.add({ entityId: inputId })\n if (outputId) batcher.add({ entityId: outputId })\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n batcher.clear()\n },\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","gqlLinksApi","node","restrictedLinks","e","link","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","batcher","createRealtimeBatcher","items","isActive","waitForRealtimeJitter","entityId","updatedEntities","draft","updatedEntity","idx","err","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetEntityLinksQuery"],"mappings":"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"}