@ynput/ayon-frontend-shared 0.3.40 → 0.3.42

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 (730) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +29 -27
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +225 -223
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +25 -16
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs15.js +1 -1
  11. package/dist/_virtual/index.cjs19.js +1 -1
  12. package/dist/_virtual/index.cjs4.js +1 -1
  13. package/dist/_virtual/index.cjs5.js +1 -1
  14. package/dist/_virtual/index.cjs6.js +1 -1
  15. package/dist/_virtual/index.cjs8.js +1 -1
  16. package/dist/_virtual/index.es15.js +2 -2
  17. package/dist/_virtual/index.es16.js +2 -2
  18. package/dist/_virtual/index.es17.js +2 -2
  19. package/dist/_virtual/index.es18.js +2 -2
  20. package/dist/_virtual/index.es19.js +2 -2
  21. package/dist/_virtual/index.es4.js +5 -2
  22. package/dist/_virtual/index.es4.js.map +1 -1
  23. package/dist/_virtual/index.es5.js +2 -5
  24. package/dist/_virtual/index.es5.js.map +1 -1
  25. package/dist/_virtual/index.es6.js +2 -2
  26. package/dist/_virtual/index.es8.js +2 -2
  27. package/dist/api.cjs.js +1 -1
  28. package/dist/api.es.js +227 -227
  29. package/dist/index.cjs.js +1 -1
  30. package/dist/index.es.js +16 -14
  31. package/dist/index.es.js.map +1 -1
  32. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  33. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  34. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  35. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  36. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  37. package/dist/node_modules/remove-accents/index.es.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  41. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  42. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  43. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  44. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  45. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  48. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  49. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  52. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  53. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  54. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  55. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  56. package/dist/shared/src/api/generated/graphql.cjs.js +55 -79
  57. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/graphql.es.js +278 -154
  59. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  60. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  61. package/dist/shared/src/api/generated/graphqlLinks.es.js +70 -19
  62. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  64. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/activities/updateActivities.es.js +40 -43
  66. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  67. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  68. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +149 -55
  70. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  73. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  74. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  75. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +105 -51
  76. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  77. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  78. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  79. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  80. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  81. package/dist/shared/src/api/queries/entityLists/getLists.es.js +178 -130
  82. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  83. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  84. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  85. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +94 -40
  86. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  87. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  88. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  89. package/dist/shared/src/api/queries/folders/getFolders.es.js +109 -55
  90. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  91. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
  92. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +6 -21
  94. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
  95. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  96. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  97. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +117 -63
  98. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  99. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  100. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/links/getLinks.es.js +108 -54
  102. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  103. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  104. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/overview/getOverview.es.js +220 -167
  106. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  107. package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
  108. package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
  109. package/dist/shared/src/api/queries/products/createProduct.es.js +7 -46
  110. package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
  111. package/dist/shared/src/api/queries/products/getProduct.cjs.js +2 -0
  112. package/dist/shared/src/api/queries/products/getProduct.cjs.js.map +1 -0
  113. package/dist/shared/src/api/queries/products/getProduct.es.js +52 -0
  114. package/dist/shared/src/api/queries/products/getProduct.es.js.map +1 -0
  115. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  116. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  117. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +133 -80
  118. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  119. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  120. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  121. package/dist/shared/src/api/queries/review/getReview.es.js +127 -75
  122. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  123. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  124. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  125. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +142 -90
  126. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  127. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -2
  128. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  129. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  130. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  131. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  132. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  133. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +537 -331
  134. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  135. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  136. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  137. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +124 -29
  138. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  139. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  140. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  141. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +140 -45
  142. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  143. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  144. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  145. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +9 -7
  146. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  147. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  148. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -4
  149. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  150. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  151. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +113 -18
  152. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  153. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  154. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  155. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +108 -13
  156. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  157. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  158. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -3
  159. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  160. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  161. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +119 -24
  162. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  163. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  164. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  165. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +97 -2
  166. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  167. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  168. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  169. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -7
  170. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  171. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  172. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  173. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +9 -7
  174. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  175. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  176. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +5 -5
  177. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  178. package/dist/shared/src/components/LinksManager/LinksManager.es.js +9 -9
  179. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  180. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  181. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -7
  182. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  183. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  184. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -4
  185. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  186. package/dist/shared/src/components/Menu/Menu.es.js +7 -7
  187. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  188. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  189. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +23 -21
  190. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  191. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  192. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  193. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +57 -55
  194. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  195. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  196. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  197. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +19 -16
  198. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  199. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  200. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  201. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +10 -8
  202. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  203. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  204. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  205. package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -7
  206. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  207. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  208. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  209. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +9 -7
  210. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  211. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  212. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  213. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +10 -8
  214. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  215. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  216. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  217. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +9 -7
  218. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  219. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  220. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  221. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +9 -7
  222. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  223. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  224. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  225. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +340 -354
  226. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  227. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  228. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  229. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +11 -9
  230. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  231. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  232. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  233. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +9 -7
  234. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  235. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  236. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  237. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +122 -27
  238. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  239. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  240. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  241. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +117 -22
  242. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  243. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  244. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  245. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +9 -7
  246. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  247. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  248. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  249. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +13 -11
  250. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  251. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  252. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +9 -7
  254. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  255. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  256. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/Actions/Actions.es.js +42 -42
  258. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  259. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
  260. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +28 -28
  262. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  263. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js +22 -19
  264. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js +25 -22
  266. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js.map +1 -1
  267. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  268. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +9 -7
  270. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  271. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  272. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +119 -124
  274. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  276. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +9 -7
  278. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  280. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -7
  282. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  284. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +139 -128
  286. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  287. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +6 -6
  288. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -1
  290. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +2 -0
  292. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -0
  293. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +148 -0
  294. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -0
  295. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js +29 -0
  296. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js.map +1 -0
  297. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js +34 -0
  298. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js.map +1 -0
  299. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  300. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +13 -11
  302. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  303. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  304. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +115 -20
  306. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  307. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  308. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +9 -7
  310. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  311. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  312. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +23 -21
  314. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  315. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  316. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +9 -7
  318. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  319. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  320. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +9 -7
  322. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js +2 -0
  324. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -0
  325. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js +9 -0
  326. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -0
  327. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js +1 -1
  328. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js +12 -12
  330. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  332. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +105 -10
  334. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  338. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -2
  339. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  340. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +31 -29
  342. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  343. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  344. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +9 -7
  346. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  347. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  348. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +9 -7
  350. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  351. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  352. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +9 -7
  354. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  355. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  356. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +106 -11
  358. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  359. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  360. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +122 -27
  362. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  363. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  364. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +9 -7
  366. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  367. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  368. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +91 -80
  370. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  372. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +9 -7
  374. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  375. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  376. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +119 -24
  378. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  380. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +29 -29
  382. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  384. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +9 -7
  386. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  388. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +13 -11
  390. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  392. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +104 -9
  394. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  395. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  396. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +1 -1
  397. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  398. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +9 -7
  400. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  401. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js +2 -0
  402. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js.map +1 -0
  403. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js +5 -0
  404. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js.map +1 -0
  405. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  406. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +185 -87
  408. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  409. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  410. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +105 -10
  412. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  413. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  414. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +108 -13
  416. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  417. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  418. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ListTable/ListTable.es.js +22 -20
  420. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  421. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  422. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +9 -7
  424. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  425. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  426. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +9 -7
  428. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +622 -616
  432. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +72 -70
  436. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +9 -7
  440. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +9 -7
  444. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +9 -7
  448. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +9 -7
  452. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +23 -21
  456. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +9 -7
  460. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +178 -83
  464. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +31 -29
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +24 -22
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +9 -7
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +9 -7
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +26 -24
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +9 -7
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +72 -72
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +26 -24
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +25 -23
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +9 -7
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -7
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +10 -8
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +24 -22
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +13 -16
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +48 -42
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +38 -36
  528. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +9 -7
  532. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +10 -8
  536. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +9 -7
  540. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +11 -9
  544. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +4 -4
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +25 -23
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -7
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -4
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +175 -80
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +107 -12
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  565. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  566. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +42 -40
  568. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  569. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  570. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +9 -7
  572. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  573. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  574. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +57 -70
  576. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  577. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  578. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +9 -7
  580. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  581. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  582. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +273 -124
  584. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  585. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js +2 -0
  586. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js.map +1 -0
  587. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js +6 -0
  588. package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js.map +1 -0
  589. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  590. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  591. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +4 -2
  592. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  593. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +2 -0
  594. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -0
  595. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +156 -0
  596. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -0
  597. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +2 -0
  598. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -0
  599. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +187 -0
  600. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -0
  601. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +2 -0
  602. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -0
  603. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +143 -0
  604. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -0
  605. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  606. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +47 -43
  608. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  609. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js +1 -1
  610. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  611. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js +8 -13
  612. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  613. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js +2 -0
  614. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js.map +1 -0
  615. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js +8 -0
  616. package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js.map +1 -0
  617. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  618. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  619. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +124 -29
  620. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  621. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  622. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +2 -2
  623. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  624. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -6
  626. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  627. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  628. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +113 -18
  630. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  631. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  632. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +158 -84
  634. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  635. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  636. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +2 -2
  637. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  638. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  639. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  640. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  641. package/dist/shared/src/context/DetailsPanelContext.es.js +64 -63
  642. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  643. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  644. package/dist/shared/src/context/PowerpackContext.es.js +2 -2
  645. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  646. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  647. package/dist/shared/src/context/ProjectContext.es.js +83 -66
  648. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  649. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  650. package/dist/shared/src/context/ProjectFoldersContext.es.js +2 -2
  651. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  652. package/dist/shared/src/context/SubtasksModulesContext.es.js +2 -2
  653. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  654. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  655. package/dist/shared/src/context/UriContext.es.js +1 -1
  656. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  657. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  658. package/dist/shared/src/context/WebsocketContext.es.js +18 -16
  659. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  660. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  661. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  662. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +2 -2
  663. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  664. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  665. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +115 -20
  666. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  667. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  668. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  669. package/dist/shared/src/util/getBundleMode.cjs.js +2 -0
  670. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -0
  671. package/dist/shared/src/util/getBundleMode.es.js +118 -0
  672. package/dist/shared/src/util/getBundleMode.es.js.map +1 -0
  673. package/dist/types/api/generated/graphql.d.ts +640 -887
  674. package/dist/types/api/generated/graphqlLinks.d.ts +190 -284
  675. package/dist/types/api/queries/activities/getActivities.d.ts +144 -137
  676. package/dist/types/api/queries/activities/updateActivities.d.ts +288 -274
  677. package/dist/types/api/queries/columnStats/columnStats.d.ts +3 -21
  678. package/dist/types/api/queries/entities/getEntity.d.ts +144 -137
  679. package/dist/types/api/queries/entities/getEntityPanel.d.ts +144 -137
  680. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +3 -1
  681. package/dist/types/api/queries/entities/updateEntity.d.ts +144 -137
  682. package/dist/types/api/queries/entityLists/getLists.d.ts +1406 -1712
  683. package/dist/types/api/queries/entityLists/types.d.ts +1 -0
  684. package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +66 -66
  685. package/dist/types/api/queries/overview/getOverview.d.ts +630 -623
  686. package/dist/types/api/queries/products/createProduct.d.ts +2 -2
  687. package/dist/types/api/queries/products/getFolderProducts.d.ts +32 -32
  688. package/dist/types/api/queries/products/getProduct.d.ts +259 -0
  689. package/dist/types/api/queries/project/getProject.d.ts +264 -257
  690. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +192 -185
  691. package/dist/types/api/queries/users/getUsers.d.ts +177 -170
  692. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +784 -770
  693. package/dist/types/api/queries/versions/updateVersions.d.ts +106 -143
  694. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
  695. package/dist/types/containers/Actions/Actions.d.ts +3 -2
  696. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +3 -2
  697. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +3 -2
  698. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.d.ts +7 -0
  699. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.d.ts +2 -0
  700. package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +4 -0
  701. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
  702. package/dist/types/containers/Feed/helpers/getActivityUserName.d.ts +4 -0
  703. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +2 -2
  704. package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +6 -1
  705. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
  706. package/dist/types/containers/Slicer/components/Slicer.d.ts +1 -1
  707. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +14 -19
  708. package/dist/types/containers/Slicer/context/SlicerContextInstance.d.ts +2 -0
  709. package/dist/types/containers/Slicer/hooks/index.d.ts +4 -1
  710. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -0
  711. package/dist/types/containers/Slicer/hooks/useSlicerRemotes.d.ts +6 -0
  712. package/dist/types/containers/Slicer/hooks/useSlicerRowSelection.d.ts +20 -0
  713. package/dist/types/containers/Slicer/hooks/useSlicerSplitter.d.ts +9 -0
  714. package/dist/types/containers/Slicer/types.d.ts +7 -0
  715. package/dist/types/containers/Slicer/util/createFilterFromSlicer.d.ts +5 -3
  716. package/dist/types/containers/Slicer/util/getSelectionDataState.d.ts +3 -0
  717. package/dist/types/containers/Slicer/util/index.d.ts +1 -0
  718. package/dist/types/context/DetailsPanelContext.d.ts +2 -1
  719. package/dist/types/context/ProjectContext.d.ts +2 -1
  720. package/dist/types/util/getBundleMode.d.ts +4 -0
  721. package/dist/types/util/index.d.ts +1 -0
  722. package/dist/util.cjs.js +1 -1
  723. package/dist/util.es.js +33 -30
  724. package/dist/util.es.js.map +1 -1
  725. package/package.json +3 -3
  726. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +0 -2
  727. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +0 -1
  728. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +0 -22
  729. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +0 -1
  730. package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"getLists.es.js","sources":["../../../../../../src/api/queries/entityLists/getLists.ts"],"sourcesContent":["import { entityListsApi, gqlApi } from '@shared/api/generated'\nimport {\n FetchBaseQueryError,\n DefinitionsFromApi,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type {\n EntityList,\n GetListItemsQuery,\n GetListItemsQueryVariables,\n GetListsItemsForReviewSessionQuery,\n GetListsItemsForReviewSessionResult,\n GetListsQuery,\n GetListsQueryVariables,\n} from '@shared/api'\nimport { parseAllAttribs } from '../overview'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport {\n GetListItemsResult,\n GetListsResult,\n ListItemMessage,\n ListItemsPageParam,\n ListsPageParam,\n} from './types'\n\n// Helper function to batch pub/sub messages to avoid constant cache updates\nexport function createBatchedCacheUpdater<TMessage, TDraft>(\n updateCachedData: (updater: (draft: TDraft) => void) => void,\n applyBatch: (draft: TDraft, batch: { topic: string; message: TMessage }[]) => void,\n delay = 5000,\n) {\n let queue: { topic: string; message: TMessage }[] = []\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n const handler = (topic: string, message: TMessage) => {\n queue.push({ topic, message })\n if (!timeout) {\n timeout = setTimeout(() => {\n const batch = [...queue]\n queue = []\n timeout = null\n if (batch.length > 0) {\n updateCachedData((draft) => applyBatch(draft, batch))\n }\n }, delay)\n }\n }\n\n handler.clear = () => {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n queue = []\n }\n\n return handler\n}\n\n// Helper function to safely parse entity list data field from JSON string to object\nconst parseJSON = (data: string | null | undefined): Record<string, any> => {\n if (!data) return {}\n\n try {\n if (typeof data !== 'string') {\n return (data as unknown as Record<string, any>) ?? {}\n }\n return JSON.parse(data)\n } catch (e) {\n console.warn('Failed to parse entity list data field:', e, data)\n return {}\n }\n}\n\n// GRAPHQL API (getLists and getListItems)\n// Define the LISTS_PER_PAGE constant for pagination\nexport const LISTS_PER_PAGE = 500\nexport const LIST_ITEMS_PER_PAGE = 100\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetLists' | 'GetListItems'> & {\n GetLists: OverrideResultType<Definitions['GetLists'], GetListsResult>\n GetListItems: OverrideResultType<Definitions['GetListItems'], GetListItemsResult>\n GetListsItemsForReviewSession: OverrideResultType<\n Definitions['GetListsItemsForReviewSession'],\n GetListsItemsForReviewSessionResult\n >\n}\n\nconst getListsGqlApiEnhanced = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetLists: {\n transformResponse: (response: GetListsQuery): GetListsResult => {\n return {\n // @ts-expect-error - entityType is string\n lists: response.project.entityLists.edges.map((edge) => ({\n ...edge.node,\n data: parseJSON(edge.node.data),\n attrib: parseJSON(edge.node.allAttrib),\n })),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n GetListItems: {\n transformResponse: (response: GetListItemsQuery): GetListItemsResult => {\n const firstEdge = response.project.entityLists.edges[0]\n if (!firstEdge) {\n throw new Error('List does not exist, was it deleted?')\n }\n return {\n items: response.project.entityLists.edges.flatMap((listEdge) =>\n listEdge.node.items.edges.map(({ node, ...edge }) => {\n return {\n ...node,\n ...edge,\n attrib: parseAllAttribs(edge.allAttrib),\n } as GetListItemsResult['items'][number]\n }),\n ),\n pageInfo: firstEdge.node.items.pageInfo,\n }\n },\n },\n GetListsItemsForReviewSession: {\n transformResponse: (\n response: GetListsItemsForReviewSessionQuery,\n ): GetListsItemsForReviewSessionResult => {\n return {\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n },\n})\n\nconst getListsGqlApiInjected = getListsGqlApiEnhanced.injectEndpoints({\n endpoints: (build) => ({\n getListsInfinite: build.infiniteQuery<\n GetListsResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetLists.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) {\n // Preserve original error (e.g. 403) so the UI can react accordingly\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => {\n const lists = result?.pages.flatMap((page) => page.lists) || []\n return [\n { type: 'entityList', id: 'LIST' },\n ...lists.flatMap((list) => [\n { type: 'entityList' as const, id: list.id },\n { type: 'entityList' as const, id: list.entityListType },\n { type: 'entityList' as const, id: list.entityListFolderId || 'NO_FOLDER' },\n ]),\n ]\n },\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData },\n ) {\n const topics = ['entity_list.changed', 'entity_list.created', 'entity_list.deleted']\n let handlePubSub: any = null\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n handlePubSub = createBatchedCacheUpdater<ListItemMessage, any>(\n updateCachedData,\n (draft, batch) => {\n batch.forEach(({ topic, message }) => {\n const summary = message.summary\n const id = summary.id\n if (!id) return\n\n const getListFromSummary = (list?: EntityList): EntityList => {\n return {\n // defaults\n projectName: projectName,\n tags: [],\n data: {},\n allAttrib: '',\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: '',\n active: true,\n access: '',\n accessLevel: 30, // default admin\n // existing data\n ...(list || {}),\n // new data\n id: summary.id as string,\n label: summary.label,\n entityType: summary.entity_type,\n entityListType: summary.entity_list_type,\n count: summary.count,\n }\n }\n\n if (topic === 'entity_list.changed') {\n // update the data of existing list in cache\n const list = draft.pages\n .flatMap((page: any) => page.lists)\n .find((l: any) => l.id === id)\n if (!list) return\n const newList = getListFromSummary(list)\n\n Object.assign(list, newList)\n } else if (topic === 'entity_list.created') {\n // Add new list to the cache using basic summary\n const newList = getListFromSummary()\n // Insert the new list at the beginning of the first page\n if (draft.pages.length !== 0) {\n draft.pages[0].lists.unshift(newList)\n }\n } else if (topic === 'entity_list.deleted') {\n // delete the list from the cache\n draft.pages.forEach((page: any) => {\n page.lists = page.lists.filter((l: any) => l.id !== id)\n })\n }\n })\n },\n 10000, // 10 seconds debounce/batch window\n )\n\n topics.forEach((topic) => PubSub.subscribe(topic, handlePubSub))\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n topics.forEach((t) => PubSub.unsubscribe(t))\n if (handlePubSub && typeof handlePubSub.clear === 'function') handlePubSub.clear()\n },\n }),\n getListItemsInfinite: build.infiniteQuery<\n GetListItemsResult,\n Omit<GetListItemsQueryVariables, 'first' | 'after' | 'before' | 'last'> & { desc?: boolean },\n ListItemsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams: GetListItemsQueryVariables = {\n ...rest,\n first: LIST_ITEMS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Add cursor-based pagination\n queryParams.after = cursor || undefined\n queryParams.first = LIST_ITEMS_PER_PAGE\n\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.after = undefined\n queryParams.last = LIST_ITEMS_PER_PAGE\n queryParams.first = undefined\n }\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListItems.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n items: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityListItem', id: 'LIST' },\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: projectName },\n ...(result?.pages.flatMap((page) => page.items) || [])\n .filter((i) => !!i)\n .flatMap((item) => [\n {\n type: 'entityListItem',\n id: item.id,\n },\n {\n type: 'entityListItem',\n id: item.entityId,\n },\n ]),\n ],\n async onCacheEntryAdded(\n _args,\n { cacheDataLoaded, cacheEntryRemoved, dispatch, updateCachedData },\n ) {\n let token, token2\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n const cache = await cacheDataLoaded\n const pages = cache.data.pages\n const items = pages.flatMap((page) => page.items)\n // get entityType of first item\n const entityType = items[0]?.entityType\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft?.pages) return\n messages.forEach((message) => {\n draft.pages.forEach((page: any) => {\n const pageItems = page.items || []\n pageItems.forEach((item: any) => {\n if (\n item.entityId === message.summary.entityId &&\n item.entityType === message.summary.entityType &&\n message.summary.thumbnailHash\n ) {\n item.thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n })\n })\n },\n )\n\n const listTopic = `entity_list.changed`\n const entityTypeTopic = `entity.${entityType}`\n\n const invalidateListItems = (id: string) => {\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityListItem', id: id }]))\n }\n\n const handleListMessage = (topic: string, message: ListItemMessage) => {\n if (topic !== listTopic) return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n invalidateListItems(id)\n }\n\n const handleEntityMessage = (topic: string, message: ListItemMessage) => {\n if (!topic.startsWith(entityTypeTopic)) return\n const summary = message.summary\n const id = summary.entityId\n // check for id\n if (!id) return\n invalidateListItems(id)\n }\n\n // sub to websocket topic\n token = PubSub.subscribe(listTopic, handleListMessage)\n if (entityType) token2 = PubSub.subscribe(entityTypeTopic, handleEntityMessage)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n PubSub.unsubscribe(token2)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n }),\n getListsItemsForReviewSession: build.infiniteQuery<\n GetListsItemsForReviewSessionResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before' | 'filter'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListsItemsForReviewSession.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ],\n }),\n }),\n})\n\nexport const getListsApiEnhanced = entityListsApi.enhanceEndpoints({\n endpoints: {\n getEntityList: {\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityList', id: listId },\n { type: 'entityList', id: projectName },\n ...(result\n ? [\n { type: 'entityList', id: result.entityListType },\n {\n type: 'entityList',\n id: result.entityListFolderId || 'NO_FOLDER',\n },\n ]\n : []),\n ],\n },\n },\n})\n\nexport default getListsGqlApiInjected\n\nexport const {\n useGetListsInfiniteInfiniteQuery,\n useGetListItemsInfiniteInfiniteQuery,\n useGetListsItemsForReviewSessionInfiniteQuery,\n useLazyGetListsQuery,\n useLazyGetListsItemsForReviewSessionQuery,\n useLazyGetListItemsQuery,\n} = getListsGqlApiInjected\n\nexport const { useGetEntityListQuery } = getListsApiEnhanced\n"],"names":["createBatchedCacheUpdater","updateCachedData","applyBatch","delay","queue","timeout","handler","topic","message","batch","draft","parseJSON","data","e","LISTS_PER_PAGE","LIST_ITEMS_PER_PAGE","getListsGqlApiEnhanced","gqlApi","response","edge","firstEdge","listEdge","node","parseAllAttribs","getListsGqlApiInjected","build","lastPage","pageInfo","queryArg","pageParam","api","cursor","queryParams","result","lists","page","list","projectName","cacheDataLoaded","cacheEntryRemoved","topics","handlePubSub","summary","id","getListFromSummary","l","newList","PubSub","t","sortBy","desc","rest","_e","listId","i","item","_args","dispatch","token","token2","unsubscribeThumbnails","entityType","subscribeToThumbnailUpdates","messages","listTopic","entityTypeTopic","invalidateListItems","handleListMessage","handleEntityMessage","getListsApiEnhanced","entityListsApi","useGetListsInfiniteInfiniteQuery","useGetListItemsInfiniteInfiniteQuery","useGetListsItemsForReviewSessionInfiniteQuery","useLazyGetListsQuery","useLazyGetListsItemsForReviewSessionQuery","useLazyGetListItemsQuery","useGetEntityListQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BO,SAASA,EACdC,GACAC,GACAC,IAAQ,KACR;AACA,MAAIC,IAAgD,CAAA,GAChDC,IAAgD;AAEpD,QAAMC,IAAU,CAACC,GAAeC,MAAsB;AACpD,IAAAJ,EAAM,KAAK,EAAE,OAAAG,GAAO,SAAAC,EAAA,CAAS,GACxBH,MACHA,IAAU,WAAW,MAAM;AACzB,YAAMI,IAAQ,CAAC,GAAGL,CAAK;AACvB,MAAAA,IAAQ,CAAA,GACRC,IAAU,MACNI,EAAM,SAAS,KACjBR,EAAiB,CAACS,MAAUR,EAAWQ,GAAOD,CAAK,CAAC;AAAA,IAExD,GAAGN,CAAK;AAAA,EAEZ;AAEA,SAAAG,EAAQ,QAAQ,MAAM;AACpB,IAAID,MACF,aAAaA,CAAO,GACpBA,IAAU,OAEZD,IAAQ,CAAA;AAAA,EACV,GAEOE;AACT;AAGA,MAAMK,IAAY,CAACC,MAAyD;AAC1E,MAAI,CAACA,EAAM,QAAO,CAAA;AAElB,MAAI;AACF,WAAI,OAAOA,KAAS,WACVA,KAA2C,CAAA,IAE9C,KAAK,MAAMA,CAAI;AAAA,EACxB,SAASC,GAAG;AACV,mBAAQ,KAAK,2CAA2CA,GAAGD,CAAI,GACxD,CAAA;AAAA,EACT;AACF,GAIaE,IAAiB,KACjBC,IAAsB,KAc7BC,IAAyBC,EAAO,iBAA+C;AAAA,EACnF,WAAW;AAAA,IACT,UAAU;AAAA,MACR,mBAAmB,CAACC,OACX;AAAA;AAAA,QAEL,OAAOA,EAAS,QAAQ,YAAY,MAAM,IAAI,CAACC,OAAU;AAAA,UACvD,GAAGA,EAAK;AAAA,UACR,MAAMR,EAAUQ,EAAK,KAAK,IAAI;AAAA,UAC9B,QAAQR,EAAUQ,EAAK,KAAK,SAAS;AAAA,QAAA,EACrC;AAAA,QACF,UAAUD,EAAS,QAAQ,YAAY;AAAA,MAAA;AAAA,IAE3C;AAAA,IAEF,cAAc;AAAA,MACZ,mBAAmB,CAACA,MAAoD;AACtE,cAAME,IAAYF,EAAS,QAAQ,YAAY,MAAM,CAAC;AACtD,YAAI,CAACE;AACH,gBAAM,IAAI,MAAM,sCAAsC;AAExD,eAAO;AAAA,UACL,OAAOF,EAAS,QAAQ,YAAY,MAAM;AAAA,YAAQ,CAACG,MACjDA,EAAS,KAAK,MAAM,MAAM,IAAI,CAAC,EAAE,MAAAC,GAAM,GAAGH,SACjC;AAAA,cACL,GAAGG;AAAA,cACH,GAAGH;AAAA,cACH,QAAQI,EAAgBJ,EAAK,SAAS;AAAA,YAAA,EAEzC;AAAA,UAAA;AAAA,UAEH,UAAUC,EAAU,KAAK,MAAM;AAAA,QAAA;AAAA,MAEnC;AAAA,IAAA;AAAA,IAEF,+BAA+B;AAAA,MAC7B,mBAAmB,CACjBF,OAEO;AAAA,QACL,OAAOA,EAAS,QAAQ,YAAY,MAAM,IAAI,CAACC,MAASA,EAAK,IAAI;AAAA,QACjE,UAAUD,EAAS,QAAQ,YAAY;AAAA,MAAA;AAAA,IAE3C;AAAA,EACF;AAEJ,CAAC,GAEKM,IAAyBR,EAAuB,gBAAgB;AAAA,EACpE,WAAW,CAACS,OAAW;AAAA,IACrB,kBAAkBA,EAAM,cAItB;AAAA,MACA,sBAAsB;AAAA,QACpB,kBAAkB,EAAE,QAAQ,GAAA;AAAA,QAC5B,kBAAkB,CAACC,MAAa;AAC9B,gBAAM,EAAE,UAAAC,MAAaD;AACrB,cAAI,GAACC,EAAS,eAAe,CAACA,EAAS;AAEvC,mBAAO;AAAA,cACL,QAAQA,EAAS;AAAA,YAAA;AAAA,QAErB;AAAA,MAAA;AAAA,MAEF,SAAS,OAAO,EAAE,UAAAC,GAAU,WAAAC,EAAA,GAAaC,MAAQ;AAC/C,YAAI;AACF,gBAAM,EAAE,QAAAC,MAAWF,GAGbG,IAAc;AAAA,YAClB,GAAGJ;AAAA,YACH,OAAOd;AAAA,YACP,OAAOiB,KAAU;AAAA,UAAA,GAIbE,IAAS,MAAMH,EAAI;AAAA,YACvBd,EAAuB,UAAU,SAAS,SAASgB,GAAa,EAAE,cAAc,IAAM;AAAA,UAAA;AAGxF,iBAAIC,EAAO,QAEF,EAAE,OAAOA,EAAO,MAAA,IAGlB;AAAA,YACL,MAAMA,EAAO,QAAQ;AAAA,cACnB,OAAO,CAAA;AAAA,cACP,UAAU;AAAA,gBACR,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,iBAAiB;AAAA,cAAA;AAAA,YACnB;AAAA,UACF;AAAA,QAEJ,SAASpB,GAAQ;AACf,yBAAQ,MAAM,sCAAsCA,CAAC,GAC9C,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAOA,EAAE,UAAQ;AAAA,QAC5D;AAAA,MACF;AAAA,MACA,cAAc,CAACoB,MAAW;AACxB,cAAMC,IAAQD,GAAQ,MAAM,QAAQ,CAACE,MAASA,EAAK,KAAK,KAAK,CAAA;AAC7D,eAAO;AAAA,UACL,EAAE,MAAM,cAAc,IAAI,OAAA;AAAA,UAC1B,GAAGD,EAAM,QAAQ,CAACE,MAAS;AAAA,YACzB,EAAE,MAAM,cAAuB,IAAIA,EAAK,GAAA;AAAA,YACxC,EAAE,MAAM,cAAuB,IAAIA,EAAK,eAAA;AAAA,YACxC,EAAE,MAAM,cAAuB,IAAIA,EAAK,sBAAsB,YAAA;AAAA,UAAY,CAC3E;AAAA,QAAA;AAAA,MAEL;AAAA,MACA,MAAM,kBACJ,EAAE,aAAAC,EAAA,GACF,EAAE,iBAAAC,GAAiB,mBAAAC,GAAmB,kBAAAtC,KACtC;AACA,cAAMuC,IAAS,CAAC,uBAAuB,uBAAuB,qBAAqB;AACnF,YAAIC,IAAoB;AACxB,YAAI;AAEF,gBAAMH,GAENG,IAAezC;AAAA,YACbC;AAAA,YACA,CAACS,GAAOD,MAAU;AAChB,cAAAA,EAAM,QAAQ,CAAC,EAAE,OAAAF,GAAO,SAAAC,QAAc;AACpC,sBAAMkC,IAAUlC,EAAQ,SAClBmC,IAAKD,EAAQ;AACnB,oBAAI,CAACC,EAAI;AAET,sBAAMC,IAAqB,CAACR,OACnB;AAAA;AAAA,kBAEL,aAAAC;AAAA,kBACA,MAAM,CAAA;AAAA,kBACN,MAAM,CAAA;AAAA,kBACN,WAAW;AAAA,kBACX,QAAQ,CAAA;AAAA,kBACR,YAAW,oBAAI,KAAA,GAAO,YAAA;AAAA,kBACtB,WAAW;AAAA,kBACX,QAAQ;AAAA,kBACR,QAAQ;AAAA,kBACR,aAAa;AAAA;AAAA;AAAA,kBAEb,GAAID,KAAQ,CAAA;AAAA;AAAA,kBAEZ,IAAIM,EAAQ;AAAA,kBACZ,OAAOA,EAAQ;AAAA,kBACf,YAAYA,EAAQ;AAAA,kBACpB,gBAAgBA,EAAQ;AAAA,kBACxB,OAAOA,EAAQ;AAAA,gBAAA;AAInB,oBAAInC,MAAU,uBAAuB;AAEnC,wBAAM6B,IAAO1B,EAAM,MAChB,QAAQ,CAACyB,MAAcA,EAAK,KAAK,EACjC,KAAK,CAACU,MAAWA,EAAE,OAAOF,CAAE;AAC/B,sBAAI,CAACP,EAAM;AACX,wBAAMU,IAAUF,EAAmBR,CAAI;AAEvC,yBAAO,OAAOA,GAAMU,CAAO;AAAA,gBAC7B,WAAWvC,MAAU,uBAAuB;AAE1C,wBAAMuC,IAAUF,EAAA;AAEhB,kBAAIlC,EAAM,MAAM,WAAW,KACzBA,EAAM,MAAM,CAAC,EAAE,MAAM,QAAQoC,CAAO;AAAA,gBAExC,MAAA,CAAWvC,MAAU,yBAEnBG,EAAM,MAAM,QAAQ,CAACyB,MAAc;AACjC,kBAAAA,EAAK,QAAQA,EAAK,MAAM,OAAO,CAACU,MAAWA,EAAE,OAAOF,CAAE;AAAA,gBACxD,CAAC;AAAA,cAEL,CAAC;AAAA,YACH;AAAA,YACA;AAAA;AAAA,UAAA,GAGFH,EAAO,QAAQ,CAACjC,MAAUwC,EAAO,UAAUxC,GAAOkC,CAAY,CAAC;AAAA,QACjE,QAAQ;AAAA,QAGR;AAEA,cAAMF,GAENC,EAAO,QAAQ,CAACQ,MAAMD,EAAO,YAAYC,CAAC,CAAC,GACvCP,KAAgB,OAAOA,EAAa,SAAU,gBAAyB,MAAA;AAAA,MAC7E;AAAA,IAAA,CACD;AAAA,IACD,sBAAsBhB,EAAM,cAI1B;AAAA,MACA,sBAAsB;AAAA,QACpB,kBAAkB,EAAE,QAAQ,GAAA;AAAA,QAC5B,kBAAkB,CAACC,MAAa;AAC9B,gBAAM,EAAE,UAAAC,MAAaD;AACrB,cAAI,GAACC,EAAS,eAAe,CAACA,EAAS;AAEvC,mBAAO;AAAA,cACL,QAAQA,EAAS;AAAA,YAAA;AAAA,QAErB;AAAA,MAAA;AAAA,MAEF,SAAS,OAAO,EAAE,UAAAC,GAAU,WAAAC,EAAA,GAAaC,MAAQ;AAC/C,YAAI;AACF,gBAAM,EAAE,QAAAmB,GAAQ,MAAAC,GAAM,GAAGC,MAASvB,GAC5B,EAAE,QAAAG,MAAWF,GAGbG,IAA0C;AAAA,YAC9C,GAAGmB;AAAA,YACH,OAAOpC;AAAA,YACP,OAAOgB,KAAU;AAAA,UAAA;AAInB,UAAAC,EAAY,QAAQD,KAAU,QAC9BC,EAAY,QAAQjB,GAEhBkC,MACFjB,EAAY,SAASiB,GACjBC,MACFlB,EAAY,SAASD,KAAU,QAC/BC,EAAY,QAAQ,QACpBA,EAAY,OAAOjB,GACnBiB,EAAY,QAAQ;AAKxB,gBAAMC,IAAS,MAAMH,EAAI;AAAA,YACvBd,EAAuB,UAAU,aAAa,SAASgB,GAAa;AAAA,cAClE,cAAc;AAAA,YAAA,CACf;AAAA,UAAA;AAGH,iBAAIC,EAAO,QACF,EAAE,OAAOA,EAAO,MAAA,IAGlB;AAAA,YACL,MAAMA,EAAO,QAAQ;AAAA,cACnB,OAAO,CAAA;AAAA,cACP,UAAU;AAAA,gBACR,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,iBAAiB;AAAA,cAAA;AAAA,YACnB;AAAA,UACF;AAAA,QAEJ,SAASpB,GAAQ;AACf,yBAAQ,MAAM,sCAAsCA,CAAC,GAC9C,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAOA,EAAE,UAAQ;AAAA,QAC5D;AAAA,MACF;AAAA,MACA,cAAc,CAACoB,GAAQmB,GAAI,EAAE,QAAAC,GAAQ,aAAAhB,QAAkB;AAAA,QACrD,EAAE,MAAM,kBAAkB,IAAI,OAAA;AAAA,QAC9B,EAAE,MAAM,kBAAkB,IAAIgB,EAAA;AAAA,QAC9B,EAAE,MAAM,kBAAkB,IAAIhB,EAAA;AAAA,QAC9B,IAAIJ,GAAQ,MAAM,QAAQ,CAACE,MAASA,EAAK,KAAK,KAAK,CAAA,GAChD,OAAO,CAACmB,MAAM,CAAC,CAACA,CAAC,EACjB,QAAQ,CAACC,MAAS;AAAA,UACjB;AAAA,YACE,MAAM;AAAA,YACN,IAAIA,EAAK;AAAA,UAAA;AAAA,UAEX;AAAA,YACE,MAAM;AAAA,YACN,IAAIA,EAAK;AAAA,UAAA;AAAA,QACX,CACD;AAAA,MAAA;AAAA,MAEL,MAAM,kBACJC,GACA,EAAE,iBAAAlB,GAAiB,mBAAAC,GAAmB,UAAAkB,GAAU,kBAAAxD,KAChD;AACA,YAAIyD,GAAOC,GACPC;AACJ,YAAI;AAMF,gBAAMC,KAJQ,MAAMvB,GACA,KAAK,MACL,QAAQ,CAACH,MAASA,EAAK,KAAK,EAEvB,CAAC,GAAG;AAE7B,UAAAyB,IAAwBE;AAAA,YACtB,CAACC,MAAuC;AACtC,cAAA9D,EAAiB,CAACS,MAAe;AAC/B,gBAAKA,GAAO,SACZqD,EAAS,QAAQ,CAACvD,MAAY;AAC5B,kBAAAE,EAAM,MAAM,QAAQ,CAACyB,MAAc;AAEjC,qBADkBA,EAAK,SAAS,CAAA,GACtB,QAAQ,CAACoB,MAAc;AAC/B,sBACEA,EAAK,aAAa/C,EAAQ,QAAQ,YAClC+C,EAAK,eAAe/C,EAAQ,QAAQ,cACpCA,EAAQ,QAAQ,kBAEhB+C,EAAK,gBAAgB/C,EAAQ,QAAQ;AAAA,oBAEzC,CAAC;AAAA,kBACH,CAAC;AAAA,gBACH,CAAC;AAAA,cACH,CAAC;AAAA,YACH;AAAA,UAAA;AAGF,gBAAMwD,IAAY,uBACZC,IAAkB,UAAUJ,CAAU,IAEtCK,IAAsB,CAACvB,MAAe;AAC1C,YAAAc,EAASxC,EAAO,KAAK,eAAe,CAAC,EAAE,MAAM,kBAAkB,IAAA0B,EAAA,CAAQ,CAAC,CAAC;AAAA,UAC3E,GAEMwB,IAAoB,CAAC5D,GAAeC,MAA6B;AACrE,gBAAID,MAAUyD,EAAW;AAEzB,kBAAMrB,IADUnC,EAAQ,QACL;AACnB,YAAKmC,KACLuB,EAAoBvB,CAAE;AAAA,UACxB,GAEMyB,IAAsB,CAAC7D,GAAeC,MAA6B;AACvE,gBAAI,CAACD,EAAM,WAAW0D,CAAe,EAAG;AAExC,kBAAMtB,IADUnC,EAAQ,QACL;AAEnB,YAAKmC,KACLuB,EAAoBvB,CAAE;AAAA,UACxB;AAGA,UAAAe,IAAQX,EAAO,UAAUiB,GAAWG,CAAiB,GACjDN,MAAYF,IAASZ,EAAO,UAAUkB,GAAiBG,CAAmB;AAAA,QAChF,QAAQ;AAAA,QAGR;AAEA,cAAM7B,GAENQ,EAAO,YAAYW,CAAK,GACxBX,EAAO,YAAYY,CAAM,GACrBC,KACFA,EAAA;AAAA,MAEJ;AAAA,IAAA,CACD;AAAA,IACD,+BAA+BnC,EAAM,cAInC;AAAA,MACA,sBAAsB;AAAA,QACpB,kBAAkB,EAAE,QAAQ,GAAA;AAAA,QAC5B,kBAAkB,CAACC,MAAa;AAC9B,gBAAM,EAAE,UAAAC,MAAaD;AACrB,cAAI,GAACC,EAAS,eAAe,CAACA,EAAS;AAEvC,mBAAO;AAAA,cACL,QAAQA,EAAS;AAAA,YAAA;AAAA,QAErB;AAAA,MAAA;AAAA,MAEF,SAAS,OAAO,EAAE,UAAAC,GAAU,WAAAC,EAAA,GAAaC,MAAQ;AAC/C,YAAI;AACF,gBAAM,EAAE,QAAAC,MAAWF,GAGbG,IAAc;AAAA,YAClB,GAAGJ;AAAA,YACH,OAAOd;AAAA,YACP,OAAOiB,KAAU;AAAA,UAAA,GAIbE,IAAS,MAAMH,EAAI;AAAA,YACvBd,EAAuB,UAAU,8BAA8B,SAASgB,GAAa;AAAA,cACnF,cAAc;AAAA,YAAA,CACf;AAAA,UAAA;AAGH,iBAAIC,EAAO,QACF,EAAE,OAAOA,EAAO,MAAA,IAGlB;AAAA,YACL,MAAMA,EAAO,QAAQ;AAAA,cACnB,OAAO,CAAA;AAAA,cACP,UAAU;AAAA,gBACR,aAAa;AAAA,gBACb,WAAW;AAAA,gBACX,aAAa;AAAA,gBACb,iBAAiB;AAAA,cAAA;AAAA,YACnB;AAAA,UACF;AAAA,QAEJ,SAASpB,GAAQ;AACf,yBAAQ,MAAM,sCAAsCA,CAAC,GAC9C,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAOA,EAAE,UAAQ;AAAA,QAC5D;AAAA,MACF;AAAA,MACA,cAAc,CAACoB,MAAW;AAAA,QACxB,EAAE,MAAM,cAAc,IAAI,OAAA;AAAA,QAC1B,IAAIA,GAAQ,MAAM,QAAQ,CAACE,MAASA,EAAK,KAAK,KAAK,CAAA,GAAI,IAAI,CAACC,OAAU;AAAA,UACpE,MAAM;AAAA,UACN,IAAIA,EAAK;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACJ,CACD;AAAA,EAAA;AAEL,CAAC,GAEYiC,IAAsBC,EAAe,iBAAiB;AAAA,EACjE,WAAW;AAAA,IACT,eAAe;AAAA,MACb,cAAc,CAACrC,GAAQmB,GAAI,EAAE,QAAAC,GAAQ,aAAAhB,QAAkB;AAAA,QACrD,EAAE,MAAM,cAAc,IAAIgB,EAAA;AAAA,QAC1B,EAAE,MAAM,cAAc,IAAIhB,EAAA;AAAA,QAC1B,GAAIJ,IACA;AAAA,UACE,EAAE,MAAM,cAAc,IAAIA,EAAO,eAAA;AAAA,UACjC;AAAA,YACE,MAAM;AAAA,YACN,IAAIA,EAAO,sBAAsB;AAAA,UAAA;AAAA,QACnC,IAEF,CAAA;AAAA,MAAC;AAAA,IACP;AAAA,EACF;AAEJ,CAAC,GAIY;AAAA,EACX,kCAAAsC;AAAA,EACA,sCAAAC;AAAA,EACA,+CAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,2CAAAC;AAAA,EACA,0BAAAC;AACF,IAAIpD,GAES,EAAE,uBAAAqD,OAA0BR;"}
1
+ {"version":3,"file":"getLists.es.js","sources":["../../../../../../src/api/queries/entityLists/getLists.ts"],"sourcesContent":["import { entityListsApi, gqlApi } from '@shared/api/generated'\nimport {\n FetchBaseQueryError,\n DefinitionsFromApi,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type {\n EntityList,\n GetListItemsQuery,\n GetListItemsQueryVariables,\n GetListsItemsForReviewSessionQuery,\n GetListsItemsForReviewSessionResult,\n GetListsQuery,\n GetListsQueryVariables,\n} from '@shared/api'\nimport { parseAllAttribs } from '../overview'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport {\n GetListItemsResult,\n GetListsResult,\n ListItemMessage,\n ListItemsPageParam,\n ListsPageParam,\n} from './types'\n\n// Helper function to batch pub/sub messages to avoid constant cache updates\nexport function createBatchedCacheUpdater<TMessage, TDraft>(\n updateCachedData: (updater: (draft: TDraft) => void) => void,\n applyBatch: (draft: TDraft, batch: { topic: string; message: TMessage }[]) => void,\n delay = 5000,\n) {\n let queue: { topic: string; message: TMessage }[] = []\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n const handler = (topic: string, message: TMessage) => {\n queue.push({ topic, message })\n if (!timeout) {\n timeout = setTimeout(() => {\n const batch = [...queue]\n queue = []\n timeout = null\n if (batch.length > 0) {\n updateCachedData((draft) => applyBatch(draft, batch))\n }\n }, delay)\n }\n }\n\n handler.clear = () => {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n queue = []\n }\n\n return handler\n}\n\n// Helper function to safely parse entity list data field from JSON string to object\nconst parseJSON = (data: string | null | undefined): Record<string, any> => {\n if (!data) return {}\n\n try {\n if (typeof data !== 'string') {\n return (data as unknown as Record<string, any>) ?? {}\n }\n return JSON.parse(data)\n } catch (e) {\n console.warn('Failed to parse entity list data field:', e, data)\n return {}\n }\n}\n\n// GRAPHQL API (getLists and getListItems)\n// Define the LISTS_PER_PAGE constant for pagination\nexport const LISTS_PER_PAGE = 10000\nexport const LIST_ITEMS_PER_PAGE = 100\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetLists' | 'GetListItems'> & {\n GetLists: OverrideResultType<Definitions['GetLists'], GetListsResult>\n GetListItems: OverrideResultType<Definitions['GetListItems'], GetListItemsResult>\n GetListsItemsForReviewSession: OverrideResultType<\n Definitions['GetListsItemsForReviewSession'],\n GetListsItemsForReviewSessionResult\n >\n}\n\nconst getListsGqlApiEnhanced = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetLists: {\n transformResponse: (response: GetListsQuery): GetListsResult => {\n return {\n // @ts-expect-error - entityType is string\n lists: response.project.entityLists.edges.map((edge) => ({\n ...edge.node,\n data: parseJSON(edge.node.data),\n attrib: parseJSON(edge.node.allAttrib),\n })),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n GetListItems: {\n transformResponse: (response: GetListItemsQuery): GetListItemsResult => {\n const firstEdge = response.project.entityLists.edges[0]\n if (!firstEdge) {\n throw new Error('List does not exist, was it deleted?')\n }\n return {\n items: response.project.entityLists.edges.flatMap((listEdge) =>\n listEdge.node.items.edges.map(({ node, ...edge }) => {\n return {\n ...node,\n ...edge,\n attrib: parseAllAttribs(edge.allAttrib),\n } as GetListItemsResult['items'][number]\n }),\n ),\n pageInfo: firstEdge.node.items.pageInfo,\n }\n },\n },\n GetListsItemsForReviewSession: {\n transformResponse: (\n response: GetListsItemsForReviewSessionQuery,\n ): GetListsItemsForReviewSessionResult => {\n return {\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n },\n },\n})\n\nconst getListsGqlApiInjected = getListsGqlApiEnhanced.injectEndpoints({\n endpoints: (build) => ({\n getListsInfinite: build.infiniteQuery<\n GetListsResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetLists.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) {\n // Preserve original error (e.g. 403) so the UI can react accordingly\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => {\n const lists = result?.pages.flatMap((page) => page.lists) || []\n return [\n { type: 'entityList', id: 'LIST' },\n ...lists.flatMap((list) => [\n { type: 'entityList' as const, id: list.id },\n { type: 'entityList' as const, id: list.entityListType },\n { type: 'entityList' as const, id: list.entityListFolderId || 'NO_FOLDER' },\n ]),\n ]\n },\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData },\n ) {\n const topics = ['entity_list.changed', 'entity_list.created', 'entity_list.deleted']\n let handlePubSub: any = null\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n handlePubSub = createBatchedCacheUpdater<ListItemMessage, any>(\n updateCachedData,\n (draft, batch) => {\n batch.forEach(({ topic, message }) => {\n const summary = message.summary\n const id = summary.id\n if (!id) return\n\n const getListFromSummary = (list?: EntityList): EntityList => {\n return {\n // defaults\n projectName: projectName,\n tags: [],\n data: {},\n allAttrib: '',\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: '',\n active: true,\n access: '',\n accessLevel: 30, // default admin\n // existing data\n ...(list || {}),\n // new data\n id: summary.id as string,\n label: summary.label,\n entityType: summary.entity_type,\n entityListType: summary.entity_list_type,\n count: summary.count,\n }\n }\n\n if (topic === 'entity_list.changed') {\n // update the data of existing list in cache\n const list = draft.pages\n .flatMap((page: any) => page.lists)\n .find((l: any) => l.id === id)\n if (!list) return\n const newList = getListFromSummary(list)\n\n Object.assign(list, newList)\n } else if (topic === 'entity_list.created') {\n // Add new list to the cache using basic summary\n const newList = getListFromSummary()\n // Insert the new list at the beginning of the first page\n if (draft.pages.length !== 0) {\n draft.pages[0].lists.unshift(newList)\n }\n } else if (topic === 'entity_list.deleted') {\n // delete the list from the cache\n draft.pages.forEach((page: any) => {\n page.lists = page.lists.filter((l: any) => l.id !== id)\n })\n }\n })\n },\n 10000, // 10 seconds debounce/batch window\n )\n\n topics.forEach((topic) => PubSub.subscribe(topic, handlePubSub))\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n topics.forEach((t) => PubSub.unsubscribe(t))\n if (handlePubSub && typeof handlePubSub.clear === 'function') handlePubSub.clear()\n },\n }),\n getListItemsInfinite: build.infiniteQuery<\n GetListItemsResult,\n Omit<GetListItemsQueryVariables, 'first' | 'after' | 'before' | 'last'> & { desc?: boolean },\n ListItemsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n // ascending paginates via hasNextPage, descending (last/before) via\n // hasPreviousPage — the backend only sets one depending on direction\n const hasMore = pageInfo.hasNextPage || pageInfo.hasPreviousPage\n if (!hasMore || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams: GetListItemsQueryVariables = {\n ...rest,\n first: LIST_ITEMS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Add cursor-based pagination\n queryParams.after = cursor || undefined\n queryParams.first = LIST_ITEMS_PER_PAGE\n\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.after = undefined\n queryParams.last = LIST_ITEMS_PER_PAGE\n queryParams.first = undefined\n }\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListItems.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n items: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityListItem', id: 'LIST' },\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: projectName },\n ...(result?.pages.flatMap((page) => page.items) || [])\n .filter((i) => !!i)\n .flatMap((item) => [\n {\n type: 'entityListItem',\n id: item.id,\n },\n {\n type: 'entityListItem',\n id: item.entityId,\n },\n ]),\n ],\n async onCacheEntryAdded(\n _args,\n { cacheDataLoaded, cacheEntryRemoved, dispatch, updateCachedData },\n ) {\n let token, token2\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n const cache = await cacheDataLoaded\n const pages = cache.data.pages\n const items = pages.flatMap((page) => page.items)\n // get entityType of first item\n const entityType = items[0]?.entityType\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft?.pages) return\n messages.forEach((message) => {\n draft.pages.forEach((page: any) => {\n const pageItems = page.items || []\n pageItems.forEach((item: any) => {\n if (\n item.entityId === message.summary.entityId &&\n item.entityType === message.summary.entityType &&\n message.summary.thumbnailHash\n ) {\n item.thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n })\n })\n },\n )\n\n const listTopic = `entity_list.changed`\n const entityTypeTopic = `entity.${entityType}`\n\n const invalidateListItems = (id: string) => {\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityListItem', id: id }]))\n }\n\n const handleListMessage = (topic: string, message: ListItemMessage) => {\n if (topic !== listTopic) return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n invalidateListItems(id)\n }\n\n const handleEntityMessage = (topic: string, message: ListItemMessage) => {\n if (!topic.startsWith(entityTypeTopic)) return\n const summary = message.summary\n const id = summary.entityId\n // check for id\n if (!id) return\n invalidateListItems(id)\n }\n\n // sub to websocket topic\n token = PubSub.subscribe(listTopic, handleListMessage)\n if (entityType) token2 = PubSub.subscribe(entityTypeTopic, handleEntityMessage)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n PubSub.unsubscribe(token2)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n }),\n getListsItemsForReviewSession: build.infiniteQuery<\n GetListsItemsForReviewSessionResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before' | 'filter'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListsItemsForReviewSession.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ],\n }),\n }),\n})\n\nexport const getListsApiEnhanced = entityListsApi.enhanceEndpoints({\n endpoints: {\n getEntityList: {\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityList', id: listId },\n { type: 'entityList', id: projectName },\n ...(result\n ? [\n { type: 'entityList', id: result.entityListType },\n {\n type: 'entityList',\n id: result.entityListFolderId || 'NO_FOLDER',\n },\n ]\n : []),\n ],\n },\n },\n})\n\nexport default getListsGqlApiInjected\n\nexport const {\n useGetListsInfiniteInfiniteQuery,\n useGetListItemsInfiniteInfiniteQuery,\n useGetListsItemsForReviewSessionInfiniteQuery,\n useLazyGetListsItemsForReviewSessionQuery,\n useLazyGetListItemsQuery,\n} = getListsGqlApiInjected\n\nexport const { useGetEntityListQuery } = getListsApiEnhanced\n"],"names":["createBatchedCacheUpdater","updateCachedData","applyBatch","delay","queue","timeout","handler","topic","message","batch","draft","parseJSON","data","LISTS_PER_PAGE","LIST_ITEMS_PER_PAGE","getListsGqlApiEnhanced","gqlApi","response","edge","firstEdge","listEdge","node","parseAllAttribs","getListsGqlApiInjected","build","lastPage","pageInfo","queryArg","pageParam","api","cursor","queryParams","result","e","lists","page","list","projectName","cacheDataLoaded","cacheEntryRemoved","topics","handlePubSub","summary","id","getListFromSummary","l","newList","PubSub","t","sortBy","desc","rest","_e","listId","i","item","_args","dispatch","token","token2","unsubscribeThumbnails","entityType","subscribeToThumbnailUpdates","messages","listTopic","entityTypeTopic","invalidateListItems","handleListMessage","handleEntityMessage","getListsApiEnhanced","entityListsApi","useGetListsInfiniteInfiniteQuery","useGetListItemsInfiniteInfiniteQuery","useGetListsItemsForReviewSessionInfiniteQuery","useLazyGetListsItemsForReviewSessionQuery","useLazyGetListItemsQuery","useGetEntityListQuery"],"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");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");const y=require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");const c=require("../../../util/getEntityId.cjs.js");require("../../../util/pubsub.cjs.js");const o={type:"entityListFolder",id:"LIST"},q=e=>e.data?.detail||"Unknown lists folder error",l=y.api.enhanceEndpoints({endpoints:{getEntityListFolders:{transformResponse:e=>e.folders||[],transformErrorResponse:q,providesTags:e=>e?[o,...e.map(r=>({type:"entityListFolder",id:r.id}))]:[o]},createEntityListFolder:{async onQueryStarted({projectName:e,entityListFolderPostModel:r},{dispatch:t,queryFulfilled:s}){const n=t(l.util.updateQueryData("getEntityListFolders",{projectName:e},u=>{const i={...r,id:r.id||c.getEntityId()};u.push(i)}));try{await s}catch{n.undo()}},transformErrorResponse:q,invalidatesTags:[o]},deleteEntityListFolder:{async onQueryStarted({projectName:e,folderId:r},{dispatch:t,queryFulfilled:s}){const n=t(l.util.updateQueryData("getEntityListFolders",{projectName:e},u=>{const i=u.findIndex(a=>a.id===r);i!==-1&&u.splice(i,1)}));try{await s}catch{n.undo()}},transformErrorResponse:q,invalidatesTags:(e,r,t)=>[o,{type:"entityListFolder",id:t.folderId},{type:"entityList",id:t.folderId}]},updateEntityListFolder:{async onQueryStarted({projectName:e,folderId:r,entityListFolderPatchModel:t},{dispatch:s,queryFulfilled:n}){const u=s(l.util.updateQueryData("getEntityListFolders",{projectName:e},i=>{const a=i.findIndex(d=>d.id===r);if(a!==-1){const d=i[a];Object.assign(d,{...d,...t,data:{...d.data,...t.data}})}}));try{await n}catch{u.undo()}},transformErrorResponse:q,invalidatesTags:(e,r,t)=>[{type:"entityListFolder",id:t.folderId}]}}}),{useGetEntityListFoldersQuery:p,useCreateEntityListFolderMutation:L,useDeleteEntityListFolderMutation:E,useUpdateEntityListFolderMutation:F}=l;exports.useCreateEntityListFolderMutation=L;exports.useDeleteEntityListFolderMutation=E;exports.useGetEntityListFoldersQuery=p;exports.useUpdateEntityListFolderMutation=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");const y=require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");const c=require("../../../util/getEntityId.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.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("../links/getEntityLinks.cjs.js");require("../entities/updateEntity.cjs.js");require("./getLists.cjs.js");require("./updateLists.cjs.js");require("./getListsAttributes.cjs.js");require("./listItemsColumnStats.cjs.js");require("./updateListsAttributes.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/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");require("../../../util/pubsub.cjs.js");const a={type:"entityListFolder",id:"LIST"},o=e=>e.data?.detail||"Unknown lists folder error",l=y.api.enhanceEndpoints({endpoints:{getEntityListFolders:{transformResponse:e=>e.folders||[],transformErrorResponse:o,providesTags:e=>e?[a,...e.map(i=>({type:"entityListFolder",id:i.id}))]:[a]},createEntityListFolder:{async onQueryStarted({projectName:e,entityListFolderPostModel:i},{dispatch:r,queryFulfilled:q}){const s=r(l.util.updateQueryData("getEntityListFolders",{projectName:e},u=>{const t={...i,id:i.id||c.getEntityId()};u.push(t)}));try{await q}catch{s.undo()}},transformErrorResponse:o,invalidatesTags:[a]},deleteEntityListFolder:{async onQueryStarted({projectName:e,folderId:i},{dispatch:r,queryFulfilled:q}){const s=r(l.util.updateQueryData("getEntityListFolders",{projectName:e},u=>{const t=u.findIndex(d=>d.id===i);t!==-1&&u.splice(t,1)}));try{await q}catch{s.undo()}},transformErrorResponse:o,invalidatesTags:(e,i,r)=>[a,{type:"entityListFolder",id:r.folderId},{type:"entityList",id:r.folderId}]},updateEntityListFolder:{async onQueryStarted({projectName:e,folderId:i,entityListFolderPatchModel:r},{dispatch:q,queryFulfilled:s}){const u=q(l.util.updateQueryData("getEntityListFolders",{projectName:e},t=>{const d=t.findIndex(n=>n.id===i);if(d!==-1){const n=t[d];Object.assign(n,{...n,...r,data:{...n.data,...r.data}})}}));try{await s}catch{u.undo()}},transformErrorResponse:o,invalidatesTags:(e,i,r)=>[{type:"entityListFolder",id:r.folderId}]}}}),{useGetEntityListFoldersQuery:p,useCreateEntityListFolderMutation:L,useDeleteEntityListFolderMutation:E,useUpdateEntityListFolderMutation:F}=l;exports.useCreateEntityListFolderMutation=L;exports.useDeleteEntityListFolderMutation=E;exports.useGetEntityListFoldersQuery=p;exports.useUpdateEntityListFolderMutation=F;
2
2
  //# sourceMappingURL=listFolders.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listFolders.cjs.js","sources":["../../../../../../src/api/queries/entityLists/listFolders.ts"],"sourcesContent":["import { entityListsApi, EntityListFoldersResponseModel } from '@shared/api/generated'\n\nconst LIST_FOLDER_LIST_TAG = { type: 'entityListFolder' as const, id: 'LIST' }\n\n// QUERY TYPE RESULTS\n\ntype GetEntityListFoldersResult = NonNullable<EntityListFoldersResponseModel['folders']>\n\n// REDEFINE TYPES\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { getEntityId } from '@shared/util'\ntype Definitions = DefinitionsFromApi<typeof entityListsApi>\ntype TagTypes = TagTypesFromApi<typeof entityListsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getEntityListFolders'> & {\n getEntityListFolders: OverrideResultType<\n Definitions['getEntityListFolders'],\n GetEntityListFoldersResult\n >\n}\n\nconst transformErrorResponse = (error: any) => error.data?.detail || 'Unknown lists folder error'\n\nconst enhancedListsFoldersApi = entityListsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getEntityListFolders: {\n transformResponse: (response: EntityListFoldersResponseModel) => response.folders || [],\n transformErrorResponse,\n providesTags: (result) =>\n result\n ? [\n LIST_FOLDER_LIST_TAG,\n ...result.map((folder) => ({ type: 'entityListFolder', id: folder.id })),\n ]\n : [LIST_FOLDER_LIST_TAG],\n },\n createEntityListFolder: {\n async onQueryStarted(\n { projectName, entityListFolderPostModel },\n { dispatch, queryFulfilled },\n ) {\n // Optimistically add the new folder to the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n // Create the optimistic folder with a temporary ID if none provided\n const newFolder = {\n ...entityListFolderPostModel,\n id: entityListFolderPostModel.id || getEntityId(),\n }\n draft.push(newFolder)\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: [LIST_FOLDER_LIST_TAG],\n },\n deleteEntityListFolder: {\n async onQueryStarted({ projectName, folderId }, { dispatch, queryFulfilled }) {\n // Optimistically remove the folder from the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n draft.splice(folderIndex, 1)\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [\n LIST_FOLDER_LIST_TAG,\n { type: 'entityListFolder', id: arg.folderId },\n { type: 'entityList', id: arg.folderId },\n ],\n },\n updateEntityListFolder: {\n async onQueryStarted(\n { projectName, folderId, entityListFolderPatchModel },\n { dispatch, queryFulfilled },\n ) {\n // Optimistically update the folder in the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n const folder = draft[folderIndex]\n // Update the folder with the patch data\n Object.assign(folder, {\n ...folder,\n ...entityListFolderPatchModel,\n data: {\n ...folder.data,\n ...entityListFolderPatchModel.data,\n },\n })\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [{ type: 'entityListFolder', id: arg.folderId }],\n },\n },\n})\n\nexport const {\n useGetEntityListFoldersQuery,\n useCreateEntityListFolderMutation,\n useDeleteEntityListFolderMutation,\n useUpdateEntityListFolderMutation,\n} = enhancedListsFoldersApi\n"],"names":["LIST_FOLDER_LIST_TAG","transformErrorResponse","error","enhancedListsFoldersApi","entityListsApi","response","result","folder","projectName","entityListFolderPostModel","dispatch","queryFulfilled","patchResult","draft","newFolder","getEntityId","folderId","folderIndex","_r","_e","arg","entityListFolderPatchModel","useGetEntityListFoldersQuery","useCreateEntityListFolderMutation","useDeleteEntityListFolderMutation","useUpdateEntityListFolderMutation"],"mappings":"25DAEA,MAAMA,EAAuB,CAAE,KAAM,mBAA6B,GAAI,MAAA,EAmBhEC,EAA0BC,GAAeA,EAAM,MAAM,QAAU,6BAE/DC,EAA0BC,EAAAA,IAAe,iBAA+C,CAC5F,UAAW,CACT,qBAAsB,CACpB,kBAAoBC,GAA6CA,EAAS,SAAW,CAAA,EACrF,uBAAAJ,EACA,aAAeK,GACbA,EACI,CACEN,EACA,GAAGM,EAAO,IAAKC,IAAY,CAAE,KAAM,mBAAoB,GAAIA,EAAO,IAAK,CAAA,EAEzE,CAACP,CAAoB,CAAA,EAE7B,uBAAwB,CACtB,MAAM,eACJ,CAAE,YAAAQ,EAAa,0BAAAC,GACf,CAAE,SAAAC,EAAU,eAAAC,GACZ,CAEA,MAAMC,EAAcF,EAClBP,EAAwB,KAAK,gBAC3B,uBACA,CAAE,YAAAK,CAAA,EACDK,GAAU,CAET,MAAMC,EAAY,CAChB,GAAGL,EACH,GAAIA,EAA0B,IAAMM,EAAAA,YAAA,CAAY,EAElDF,EAAM,KAAKC,CAAS,CACtB,CAAA,CACF,EAGF,GAAI,CACF,MAAMH,CACR,MAAQ,CAENC,EAAY,KAAA,CACd,CACF,EACA,uBAAAX,EACA,gBAAiB,CAACD,CAAoB,CAAA,EAExC,uBAAwB,CACtB,MAAM,eAAe,CAAE,YAAAQ,EAAa,SAAAQ,GAAY,CAAE,SAAAN,EAAU,eAAAC,GAAkB,CAE5E,MAAMC,EAAcF,EAClBP,EAAwB,KAAK,gBAC3B,uBACA,CAAE,YAAAK,CAAA,EACDK,GAAU,CACT,MAAMI,EAAcJ,EAAM,UAAWN,GAAWA,EAAO,KAAOS,CAAQ,EAClEC,IAAgB,IAClBJ,EAAM,OAAOI,EAAa,CAAC,CAE/B,CAAA,CACF,EAGF,GAAI,CACF,MAAMN,CACR,MAAQ,CAENC,EAAY,KAAA,CACd,CACF,EACA,uBAAAX,EACA,gBAAiB,CAACiB,EAAIC,EAAIC,IAAQ,CAChCpB,EACA,CAAE,KAAM,mBAAoB,GAAIoB,EAAI,QAAA,EACpC,CAAE,KAAM,aAAc,GAAIA,EAAI,QAAA,CAAS,CACzC,EAEF,uBAAwB,CACtB,MAAM,eACJ,CAAE,YAAAZ,EAAa,SAAAQ,EAAU,2BAAAK,GACzB,CAAE,SAAAX,EAAU,eAAAC,GACZ,CAEA,MAAMC,EAAcF,EAClBP,EAAwB,KAAK,gBAC3B,uBACA,CAAE,YAAAK,CAAA,EACDK,GAAU,CACT,MAAMI,EAAcJ,EAAM,UAAWN,GAAWA,EAAO,KAAOS,CAAQ,EACtE,GAAIC,IAAgB,GAAI,CACtB,MAAMV,EAASM,EAAMI,CAAW,EAEhC,OAAO,OAAOV,EAAQ,CACpB,GAAGA,EACH,GAAGc,EACH,KAAM,CACJ,GAAGd,EAAO,KACV,GAAGc,EAA2B,IAAA,CAChC,CACD,CACH,CACF,CAAA,CACF,EAGF,GAAI,CACF,MAAMV,CACR,MAAQ,CAENC,EAAY,KAAA,CACd,CACF,EACA,uBAAAX,EACA,gBAAiB,CAACiB,EAAIC,EAAIC,IAAQ,CAAC,CAAE,KAAM,mBAAoB,GAAIA,EAAI,QAAA,CAAU,CAAA,CACnF,CAEJ,CAAC,EAEY,CACX,6BAAAE,EACA,kCAAAC,EACA,kCAAAC,EACA,kCAAAC,CACF,EAAItB"}
1
+ {"version":3,"file":"listFolders.cjs.js","sources":["../../../../../../src/api/queries/entityLists/listFolders.ts"],"sourcesContent":["import { entityListsApi, EntityListFoldersResponseModel } from '@shared/api/generated'\n\nconst LIST_FOLDER_LIST_TAG = { type: 'entityListFolder' as const, id: 'LIST' }\n\n// QUERY TYPE RESULTS\n\ntype GetEntityListFoldersResult = NonNullable<EntityListFoldersResponseModel['folders']>\n\n// REDEFINE TYPES\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { getEntityId } from '@shared/util'\ntype Definitions = DefinitionsFromApi<typeof entityListsApi>\ntype TagTypes = TagTypesFromApi<typeof entityListsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getEntityListFolders'> & {\n getEntityListFolders: OverrideResultType<\n Definitions['getEntityListFolders'],\n GetEntityListFoldersResult\n >\n}\n\nconst transformErrorResponse = (error: any) => error.data?.detail || 'Unknown lists folder error'\n\nconst enhancedListsFoldersApi = entityListsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getEntityListFolders: {\n transformResponse: (response: EntityListFoldersResponseModel) => response.folders || [],\n transformErrorResponse,\n providesTags: (result) =>\n result\n ? [\n LIST_FOLDER_LIST_TAG,\n ...result.map((folder) => ({ type: 'entityListFolder', id: folder.id })),\n ]\n : [LIST_FOLDER_LIST_TAG],\n },\n createEntityListFolder: {\n async onQueryStarted(\n { projectName, entityListFolderPostModel },\n { dispatch, queryFulfilled },\n ) {\n // Optimistically add the new folder to the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n // Create the optimistic folder with a temporary ID if none provided\n const newFolder = {\n ...entityListFolderPostModel,\n id: entityListFolderPostModel.id || getEntityId(),\n }\n draft.push(newFolder)\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: [LIST_FOLDER_LIST_TAG],\n },\n deleteEntityListFolder: {\n async onQueryStarted({ projectName, folderId }, { dispatch, queryFulfilled }) {\n // Optimistically remove the folder from the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n draft.splice(folderIndex, 1)\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [\n LIST_FOLDER_LIST_TAG,\n { type: 'entityListFolder', id: arg.folderId },\n { type: 'entityList', id: arg.folderId },\n ],\n },\n updateEntityListFolder: {\n async onQueryStarted(\n { projectName, folderId, entityListFolderPatchModel },\n { dispatch, queryFulfilled },\n ) {\n // Optimistically update the folder in the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n const folder = draft[folderIndex]\n // Update the folder with the patch data\n Object.assign(folder, {\n ...folder,\n ...entityListFolderPatchModel,\n data: {\n ...folder.data,\n ...entityListFolderPatchModel.data,\n },\n })\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [{ type: 'entityListFolder', id: arg.folderId }],\n },\n },\n})\n\nexport const {\n useGetEntityListFoldersQuery,\n useCreateEntityListFolderMutation,\n useDeleteEntityListFolderMutation,\n useUpdateEntityListFolderMutation,\n} = enhancedListsFoldersApi\n"],"names":["LIST_FOLDER_LIST_TAG","transformErrorResponse","error","enhancedListsFoldersApi","entityListsApi","response","result","folder","projectName","entityListFolderPostModel","dispatch","queryFulfilled","patchResult","draft","newFolder","getEntityId","folderId","folderIndex","_r","_e","arg","entityListFolderPatchModel","useGetEntityListFoldersQuery","useCreateEntityListFolderMutation","useDeleteEntityListFolderMutation","useUpdateEntityListFolderMutation"],"mappings":"kmIAEA,MAAMA,EAAuB,CAAE,KAAM,mBAA6B,GAAI,MAAA,EAmBhEC,EAA0BC,GAAeA,EAAM,MAAM,QAAU,6BAE/DC,EAA0BC,EAAAA,IAAe,iBAA+C,CAC5F,UAAW,CACT,qBAAsB,CACpB,kBAAoBC,GAA6CA,EAAS,SAAW,CAAA,EACrF,uBAAAJ,EACA,aAAeK,GACbA,EACI,CACEN,EACA,GAAGM,EAAO,IAAKC,IAAY,CAAE,KAAM,mBAAoB,GAAIA,EAAO,IAAK,CAAA,EAEzE,CAACP,CAAoB,CAAA,EAE7B,uBAAwB,CACtB,MAAM,eACJ,CAAE,YAAAQ,EAAa,0BAAAC,GACf,CAAE,SAAAC,EAAU,eAAAC,GACZ,CAEA,MAAMC,EAAcF,EAClBP,EAAwB,KAAK,gBAC3B,uBACA,CAAE,YAAAK,CAAA,EACDK,GAAU,CAET,MAAMC,EAAY,CAChB,GAAGL,EACH,GAAIA,EAA0B,IAAMM,EAAAA,YAAA,CAAY,EAElDF,EAAM,KAAKC,CAAS,CACtB,CAAA,CACF,EAGF,GAAI,CACF,MAAMH,CACR,MAAQ,CAENC,EAAY,KAAA,CACd,CACF,EACA,uBAAAX,EACA,gBAAiB,CAACD,CAAoB,CAAA,EAExC,uBAAwB,CACtB,MAAM,eAAe,CAAE,YAAAQ,EAAa,SAAAQ,GAAY,CAAE,SAAAN,EAAU,eAAAC,GAAkB,CAE5E,MAAMC,EAAcF,EAClBP,EAAwB,KAAK,gBAC3B,uBACA,CAAE,YAAAK,CAAA,EACDK,GAAU,CACT,MAAMI,EAAcJ,EAAM,UAAWN,GAAWA,EAAO,KAAOS,CAAQ,EAClEC,IAAgB,IAClBJ,EAAM,OAAOI,EAAa,CAAC,CAE/B,CAAA,CACF,EAGF,GAAI,CACF,MAAMN,CACR,MAAQ,CAENC,EAAY,KAAA,CACd,CACF,EACA,uBAAAX,EACA,gBAAiB,CAACiB,EAAIC,EAAIC,IAAQ,CAChCpB,EACA,CAAE,KAAM,mBAAoB,GAAIoB,EAAI,QAAA,EACpC,CAAE,KAAM,aAAc,GAAIA,EAAI,QAAA,CAAS,CACzC,EAEF,uBAAwB,CACtB,MAAM,eACJ,CAAE,YAAAZ,EAAa,SAAAQ,EAAU,2BAAAK,GACzB,CAAE,SAAAX,EAAU,eAAAC,GACZ,CAEA,MAAMC,EAAcF,EAClBP,EAAwB,KAAK,gBAC3B,uBACA,CAAE,YAAAK,CAAA,EACDK,GAAU,CACT,MAAMI,EAAcJ,EAAM,UAAWN,GAAWA,EAAO,KAAOS,CAAQ,EACtE,GAAIC,IAAgB,GAAI,CACtB,MAAMV,EAASM,EAAMI,CAAW,EAEhC,OAAO,OAAOV,EAAQ,CACpB,GAAGA,EACH,GAAGc,EACH,KAAM,CACJ,GAAGd,EAAO,KACV,GAAGc,EAA2B,IAAA,CAChC,CACD,CACH,CACF,CAAA,CACF,EAGF,GAAI,CACF,MAAMV,CACR,MAAQ,CAENC,EAAY,KAAA,CACd,CACF,EACA,uBAAAX,EACA,gBAAiB,CAACiB,EAAIC,EAAIC,IAAQ,CAAC,CAAE,KAAM,mBAAoB,GAAIA,EAAI,QAAA,CAAU,CAAA,CACnF,CAEJ,CAAC,EAEY,CACX,6BAAAE,EACA,kCAAAC,EACA,kCAAAC,EACA,kCAAAC,CACF,EAAItB"}
@@ -41,81 +41,135 @@ import "../../generated/views.es.js";
41
41
  import "lodash";
42
42
  import "react-toastify";
43
43
  import { getEntityId as c } from "../../../util/getEntityId.es.js";
44
+ import "../actions/getActions.es.js";
45
+ import "../activities/getActivities.es.js";
46
+ import "../activities/updateActivities.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 "../cloud/cloud.es.js";
56
+ import "../columnStats/metricTargets.es.js";
57
+ import "../config/getConfig.es.js";
58
+ import "../config/updateConfig.es.js";
59
+ import "../entities/getEntity.es.js";
60
+ import "../entities/getEntityPanel.es.js";
61
+ import "../overview/getOverview.es.js";
62
+ import "../overview/updateOverview.es.js";
63
+ import "../versions/getVersionsProducts.es.js";
64
+ import "../links/getEntityLinks.es.js";
65
+ import "../entities/updateEntity.es.js";
66
+ import "./getLists.es.js";
67
+ import "./updateLists.es.js";
68
+ import "./getListsAttributes.es.js";
69
+ import "./listItemsColumnStats.es.js";
70
+ import "./updateListsAttributes.es.js";
71
+ import "../folders/getFolders.es.js";
72
+ import "../folders/getFolderDeleteInfo.es.js";
73
+ import "../grouping/getGrouping.es.js";
74
+ import "../links/updateLinks.es.js";
75
+ import "../links/getLinks.es.js";
76
+ import "../permissions/getPermissions.es.js";
77
+ import "../products/createProduct.es.js";
78
+ import "../products/getFolderProducts.es.js";
79
+ import "../project/getProject.es.js";
80
+ import "../project/updateProject.es.js";
81
+ import "../projectFolders/projectFolders.es.js";
82
+ import "../review/getReview.es.js";
83
+ import "../review/updateReview.es.js";
84
+ import "../share/share.es.js";
85
+ import "../system/getSystem.es.js";
86
+ import "../tasks/getTasks.es.js";
87
+ import "../tasks/updateTasks.es.js";
88
+ import "../teams/getTeams.es.js";
89
+ import "../userDashboard/getUserDashboard.es.js";
90
+ import "../users/getUsers.es.js";
91
+ import "../users/updateUsers.es.js";
92
+ import "../users/guests.es.js";
93
+ import "../versions/updateVersions.es.js";
94
+ import "../views/getViews.es.js";
95
+ import "../views/updateViews.es.js";
96
+ import "../watchers/getWatchers.es.js";
97
+ import "../uris/getUris.es.js";
44
98
  import "../../../util/pubsub.es.js";
45
- const a = { type: "entityListFolder", id: "LIST" }, m = (t) => t.data?.detail || "Unknown lists folder error", l = y.enhanceEndpoints({
99
+ const d = { type: "entityListFolder", id: "LIST" }, a = (t) => t.data?.detail || "Unknown lists folder error", l = y.enhanceEndpoints({
46
100
  endpoints: {
47
101
  getEntityListFolders: {
48
102
  transformResponse: (t) => t.folders || [],
49
- transformErrorResponse: m,
103
+ transformErrorResponse: a,
50
104
  providesTags: (t) => t ? [
51
- a,
105
+ d,
52
106
  ...t.map((o) => ({ type: "entityListFolder", id: o.id }))
53
- ] : [a]
107
+ ] : [d]
54
108
  },
55
109
  createEntityListFolder: {
56
- async onQueryStarted({ projectName: t, entityListFolderPostModel: o }, { dispatch: i, queryFulfilled: p }) {
57
- const n = i(
110
+ async onQueryStarted({ projectName: t, entityListFolderPostModel: o }, { dispatch: i, queryFulfilled: m }) {
111
+ const e = i(
58
112
  l.util.updateQueryData(
59
113
  "getEntityListFolders",
60
114
  { projectName: t },
61
- (e) => {
115
+ (p) => {
62
116
  const r = {
63
117
  ...o,
64
118
  id: o.id || c()
65
119
  };
66
- e.push(r);
120
+ p.push(r);
67
121
  }
68
122
  )
69
123
  );
70
124
  try {
71
- await p;
125
+ await m;
72
126
  } catch {
73
- n.undo();
127
+ e.undo();
74
128
  }
75
129
  },
76
- transformErrorResponse: m,
77
- invalidatesTags: [a]
130
+ transformErrorResponse: a,
131
+ invalidatesTags: [d]
78
132
  },
79
133
  deleteEntityListFolder: {
80
- async onQueryStarted({ projectName: t, folderId: o }, { dispatch: i, queryFulfilled: p }) {
81
- const n = i(
134
+ async onQueryStarted({ projectName: t, folderId: o }, { dispatch: i, queryFulfilled: m }) {
135
+ const e = i(
82
136
  l.util.updateQueryData(
83
137
  "getEntityListFolders",
84
138
  { projectName: t },
85
- (e) => {
86
- const r = e.findIndex((d) => d.id === o);
87
- r !== -1 && e.splice(r, 1);
139
+ (p) => {
140
+ const r = p.findIndex((s) => s.id === o);
141
+ r !== -1 && p.splice(r, 1);
88
142
  }
89
143
  )
90
144
  );
91
145
  try {
92
- await p;
146
+ await m;
93
147
  } catch {
94
- n.undo();
148
+ e.undo();
95
149
  }
96
150
  },
97
- transformErrorResponse: m,
151
+ transformErrorResponse: a,
98
152
  invalidatesTags: (t, o, i) => [
99
- a,
153
+ d,
100
154
  { type: "entityListFolder", id: i.folderId },
101
155
  { type: "entityList", id: i.folderId }
102
156
  ]
103
157
  },
104
158
  updateEntityListFolder: {
105
- async onQueryStarted({ projectName: t, folderId: o, entityListFolderPatchModel: i }, { dispatch: p, queryFulfilled: n }) {
106
- const e = p(
159
+ async onQueryStarted({ projectName: t, folderId: o, entityListFolderPatchModel: i }, { dispatch: m, queryFulfilled: e }) {
160
+ const p = m(
107
161
  l.util.updateQueryData(
108
162
  "getEntityListFolders",
109
163
  { projectName: t },
110
164
  (r) => {
111
- const d = r.findIndex((s) => s.id === o);
112
- if (d !== -1) {
113
- const s = r[d];
114
- Object.assign(s, {
115
- ...s,
165
+ const s = r.findIndex((n) => n.id === o);
166
+ if (s !== -1) {
167
+ const n = r[s];
168
+ Object.assign(n, {
169
+ ...n,
116
170
  ...i,
117
171
  data: {
118
- ...s.data,
172
+ ...n.data,
119
173
  ...i.data
120
174
  }
121
175
  });
@@ -124,25 +178,25 @@ const a = { type: "entityListFolder", id: "LIST" }, m = (t) => t.data?.detail ||
124
178
  )
125
179
  );
126
180
  try {
127
- await n;
181
+ await e;
128
182
  } catch {
129
- e.undo();
183
+ p.undo();
130
184
  }
131
185
  },
132
- transformErrorResponse: m,
186
+ transformErrorResponse: a,
133
187
  invalidatesTags: (t, o, i) => [{ type: "entityListFolder", id: i.folderId }]
134
188
  }
135
189
  }
136
190
  }), {
137
- useGetEntityListFoldersQuery: et,
138
- useCreateEntityListFolderMutation: pt,
139
- useDeleteEntityListFolderMutation: nt,
140
- useUpdateEntityListFolderMutation: st
191
+ useGetEntityListFoldersQuery: pi,
192
+ useCreateEntityListFolderMutation: mi,
193
+ useDeleteEntityListFolderMutation: ei,
194
+ useUpdateEntityListFolderMutation: ni
141
195
  } = l;
142
196
  export {
143
- pt as useCreateEntityListFolderMutation,
144
- nt as useDeleteEntityListFolderMutation,
145
- et as useGetEntityListFoldersQuery,
146
- st as useUpdateEntityListFolderMutation
197
+ mi as useCreateEntityListFolderMutation,
198
+ ei as useDeleteEntityListFolderMutation,
199
+ pi as useGetEntityListFoldersQuery,
200
+ ni as useUpdateEntityListFolderMutation
147
201
  };
148
202
  //# sourceMappingURL=listFolders.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listFolders.es.js","sources":["../../../../../../src/api/queries/entityLists/listFolders.ts"],"sourcesContent":["import { entityListsApi, EntityListFoldersResponseModel } from '@shared/api/generated'\n\nconst LIST_FOLDER_LIST_TAG = { type: 'entityListFolder' as const, id: 'LIST' }\n\n// QUERY TYPE RESULTS\n\ntype GetEntityListFoldersResult = NonNullable<EntityListFoldersResponseModel['folders']>\n\n// REDEFINE TYPES\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { getEntityId } from '@shared/util'\ntype Definitions = DefinitionsFromApi<typeof entityListsApi>\ntype TagTypes = TagTypesFromApi<typeof entityListsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getEntityListFolders'> & {\n getEntityListFolders: OverrideResultType<\n Definitions['getEntityListFolders'],\n GetEntityListFoldersResult\n >\n}\n\nconst transformErrorResponse = (error: any) => error.data?.detail || 'Unknown lists folder error'\n\nconst enhancedListsFoldersApi = entityListsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getEntityListFolders: {\n transformResponse: (response: EntityListFoldersResponseModel) => response.folders || [],\n transformErrorResponse,\n providesTags: (result) =>\n result\n ? [\n LIST_FOLDER_LIST_TAG,\n ...result.map((folder) => ({ type: 'entityListFolder', id: folder.id })),\n ]\n : [LIST_FOLDER_LIST_TAG],\n },\n createEntityListFolder: {\n async onQueryStarted(\n { projectName, entityListFolderPostModel },\n { dispatch, queryFulfilled },\n ) {\n // Optimistically add the new folder to the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n // Create the optimistic folder with a temporary ID if none provided\n const newFolder = {\n ...entityListFolderPostModel,\n id: entityListFolderPostModel.id || getEntityId(),\n }\n draft.push(newFolder)\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: [LIST_FOLDER_LIST_TAG],\n },\n deleteEntityListFolder: {\n async onQueryStarted({ projectName, folderId }, { dispatch, queryFulfilled }) {\n // Optimistically remove the folder from the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n draft.splice(folderIndex, 1)\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [\n LIST_FOLDER_LIST_TAG,\n { type: 'entityListFolder', id: arg.folderId },\n { type: 'entityList', id: arg.folderId },\n ],\n },\n updateEntityListFolder: {\n async onQueryStarted(\n { projectName, folderId, entityListFolderPatchModel },\n { dispatch, queryFulfilled },\n ) {\n // Optimistically update the folder in the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n const folder = draft[folderIndex]\n // Update the folder with the patch data\n Object.assign(folder, {\n ...folder,\n ...entityListFolderPatchModel,\n data: {\n ...folder.data,\n ...entityListFolderPatchModel.data,\n },\n })\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [{ type: 'entityListFolder', id: arg.folderId }],\n },\n },\n})\n\nexport const {\n useGetEntityListFoldersQuery,\n useCreateEntityListFolderMutation,\n useDeleteEntityListFolderMutation,\n useUpdateEntityListFolderMutation,\n} = enhancedListsFoldersApi\n"],"names":["LIST_FOLDER_LIST_TAG","transformErrorResponse","error","enhancedListsFoldersApi","entityListsApi","response","result","folder","projectName","entityListFolderPostModel","dispatch","queryFulfilled","patchResult","draft","newFolder","getEntityId","folderId","folderIndex","_r","_e","arg","entityListFolderPatchModel","useGetEntityListFoldersQuery","useCreateEntityListFolderMutation","useDeleteEntityListFolderMutation","useUpdateEntityListFolderMutation"],"mappings":"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"}
1
+ {"version":3,"file":"listFolders.es.js","sources":["../../../../../../src/api/queries/entityLists/listFolders.ts"],"sourcesContent":["import { entityListsApi, EntityListFoldersResponseModel } from '@shared/api/generated'\n\nconst LIST_FOLDER_LIST_TAG = { type: 'entityListFolder' as const, id: 'LIST' }\n\n// QUERY TYPE RESULTS\n\ntype GetEntityListFoldersResult = NonNullable<EntityListFoldersResponseModel['folders']>\n\n// REDEFINE TYPES\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { getEntityId } from '@shared/util'\ntype Definitions = DefinitionsFromApi<typeof entityListsApi>\ntype TagTypes = TagTypesFromApi<typeof entityListsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'getEntityListFolders'> & {\n getEntityListFolders: OverrideResultType<\n Definitions['getEntityListFolders'],\n GetEntityListFoldersResult\n >\n}\n\nconst transformErrorResponse = (error: any) => error.data?.detail || 'Unknown lists folder error'\n\nconst enhancedListsFoldersApi = entityListsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n getEntityListFolders: {\n transformResponse: (response: EntityListFoldersResponseModel) => response.folders || [],\n transformErrorResponse,\n providesTags: (result) =>\n result\n ? [\n LIST_FOLDER_LIST_TAG,\n ...result.map((folder) => ({ type: 'entityListFolder', id: folder.id })),\n ]\n : [LIST_FOLDER_LIST_TAG],\n },\n createEntityListFolder: {\n async onQueryStarted(\n { projectName, entityListFolderPostModel },\n { dispatch, queryFulfilled },\n ) {\n // Optimistically add the new folder to the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n // Create the optimistic folder with a temporary ID if none provided\n const newFolder = {\n ...entityListFolderPostModel,\n id: entityListFolderPostModel.id || getEntityId(),\n }\n draft.push(newFolder)\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: [LIST_FOLDER_LIST_TAG],\n },\n deleteEntityListFolder: {\n async onQueryStarted({ projectName, folderId }, { dispatch, queryFulfilled }) {\n // Optimistically remove the folder from the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n draft.splice(folderIndex, 1)\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [\n LIST_FOLDER_LIST_TAG,\n { type: 'entityListFolder', id: arg.folderId },\n { type: 'entityList', id: arg.folderId },\n ],\n },\n updateEntityListFolder: {\n async onQueryStarted(\n { projectName, folderId, entityListFolderPatchModel },\n { dispatch, queryFulfilled },\n ) {\n // Optimistically update the folder in the cache\n const patchResult = dispatch(\n enhancedListsFoldersApi.util.updateQueryData(\n 'getEntityListFolders',\n { projectName },\n (draft) => {\n const folderIndex = draft.findIndex((folder) => folder.id === folderId)\n if (folderIndex !== -1) {\n const folder = draft[folderIndex]\n // Update the folder with the patch data\n Object.assign(folder, {\n ...folder,\n ...entityListFolderPatchModel,\n data: {\n ...folder.data,\n ...entityListFolderPatchModel.data,\n },\n })\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n }\n },\n transformErrorResponse,\n invalidatesTags: (_r, _e, arg) => [{ type: 'entityListFolder', id: arg.folderId }],\n },\n },\n})\n\nexport const {\n useGetEntityListFoldersQuery,\n useCreateEntityListFolderMutation,\n useDeleteEntityListFolderMutation,\n useUpdateEntityListFolderMutation,\n} = enhancedListsFoldersApi\n"],"names":["LIST_FOLDER_LIST_TAG","transformErrorResponse","error","enhancedListsFoldersApi","entityListsApi","response","result","folder","projectName","entityListFolderPostModel","dispatch","queryFulfilled","patchResult","draft","newFolder","getEntityId","folderId","folderIndex","_r","_e","arg","entityListFolderPatchModel","useGetEntityListFoldersQuery","useCreateEntityListFolderMutation","useDeleteEntityListFolderMutation","useUpdateEntityListFolderMutation"],"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");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");const G=require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");const E=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");require("lodash");require("react-toastify");require("uuid");const W=require("../../../util/thumbnailWebsocket.cjs.js"),H=require("../../../util/pubsub.cjs.js"),L=E.api.enhanceEndpoints({endpoints:{getFolderHierarchy:{providesTags:["hierarchy"]},getFolderList:{providesTags:(l,A,{projectName:b})=>["hierarchy",{type:"folder",id:"LIST"},...l?.folders.map(({id:d})=>({type:"folder",id:d}))||[],{type:"folder",id:b}],async onCacheEntryAdded(l,{cacheDataLoaded:A,cacheEntryRemoved:b,updateCachedData:d,dispatch:I}){const{projectName:S}=l||{},f=l?.patch,T={"entity.folder.label_changed":"label","entity.folder.renamed":"name","entity.folder.type_changed":"folderType","entity.folder.status_changed":"status","entity.folder.tags_changed":"tags","entity.folder.attrib_changed":"attrib"},N=["entity.folder","entity.folder.created","entity.folder.deleted"],w=[],Q=2e3,u=new Map;let y=!1,p=null,m=!1;const g=()=>{p&&(clearTimeout(p),p=null)},F=()=>{g(),p=setTimeout(V,Q)},V=async()=>{if(g(),!(m||!S)){m=!0;try{if(y){y=!1;try{const e=await I(E.api.endpoints.getFolderList.initiate({...l,realtime:!0},{forceRefetch:!0})).unwrap();d(()=>e)}catch{console.warn("Failed to refetch folder list on resync")}finally{u.clear()}return}if(u.size===0)return;const c=Array.from(u.values());u.clear();const i=[];if(await Promise.all(c.map(async e=>{try{const t=e.topic,r=e.summary||{},s=r.entityId;if(!s)return;const a=T[t];if(!a)return;if(r.value!==void 0&&a!=="attrib"){let n=r.value;a==="tags"?Array.isArray(n)||(n=typeof n=="string"?n.split(",").filter(Boolean):[]):n!==null&&typeof n!="string"&&(n=String(n));const o={[a]:n,updatedAt:e.updatedAt};r.parentId!==void 0&&(o.parentId=r.parentId),i.push({folderId:s,partial:o});return}const x=e.id,q=await I(G.api.endpoints.getEvent.initiate({eventId:x},{forceRefetch:!0})).unwrap(),h=q?.payload||{},M=q?.summary||{};if(a==="attrib"&&h?.newValue&&typeof h.newValue=="object")i.push({folderId:s,attribMerge:h.newValue,updatedAt:q.updatedAt});else{const n=h?.newValue;if(n===void 0)return;const o={updatedAt:q.updatedAt};o[a]=n,M.parentId!==void 0&&(o.parentId=M.parentId),i.push({folderId:s,partial:o})}}catch{}})),!i.length)return;d(e=>{!e||!Array.isArray(e.folders)||i.forEach(t=>{const r=e.folders.findIndex(s=>s.id===t.folderId);r!==-1&&(t.attribMerge&&(e.folders[r].attrib={...e.folders[r].attrib||{},...t.attribMerge},t.updatedAt&&(e.folders[r].updatedAt=t.updatedAt)),t.partial&&(e.folders[r]={...e.folders[r],...t.partial}))})})}finally{m=!1,(u.size>0||y)&&F()}}};let v;try{await A,v=W.subscribeToThumbnailUpdates(i=>{d(e=>{!e||!Array.isArray(e.folders)||i.forEach(t=>{if(t.summary.entityType==="folder"&&t.summary.thumbnailHash){const r=e.folders.findIndex(s=>s.id===t.summary.entityId);r!==-1&&(e.folders[r].thumbnailHash=t.summary.thumbnailHash)}})})},["folder"]);const c=(i,e)=>{if(i.endsWith(".created")||i.endsWith(".deleted")){const r=i.endsWith(".created")?"created":"deleted";if(f&&!f.includes(r))return;y=!0}else{const r=T[i];if(f&&(!r||!f.includes(r)))return;const s=e?.id;s&&u.set(s,e)}F()};N.forEach(i=>w.push(H.subscribe(i,c)))}catch{}await b,w.forEach(c=>H.unsubscribe(c)),v&&v(),g()}}}}),{useGetFolderHierarchyQuery:j,useGetFolderListQuery:P}=L;exports.foldersQueries=L;exports.useGetFolderHierarchyQuery=j;exports.useGetFolderListQuery=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");const G=require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");const E=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");require("lodash");require("react-toastify");require("uuid");const W=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.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("../links/getEntityLinks.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("./getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/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 H=require("../../../util/pubsub.cjs.js"),L=E.api.enhanceEndpoints({endpoints:{getFolderHierarchy:{providesTags:["hierarchy"]},getFolderList:{providesTags:(l,A,{projectName:b})=>["hierarchy",{type:"folder",id:"LIST"},...l?.folders.map(({id:d})=>({type:"folder",id:d}))||[],{type:"folder",id:b}],async onCacheEntryAdded(l,{cacheDataLoaded:A,cacheEntryRemoved:b,updateCachedData:d,dispatch:I}){const{projectName:S}=l||{},c=l?.patch,T={"entity.folder.label_changed":"label","entity.folder.renamed":"name","entity.folder.type_changed":"folderType","entity.folder.status_changed":"status","entity.folder.tags_changed":"tags","entity.folder.attrib_changed":"attrib"},N=["entity.folder","entity.folder.created","entity.folder.deleted"],w=[],Q=2e3,s=new Map;let f=!1,y=null,m=!1;const g=()=>{y&&(clearTimeout(y),y=null)},F=()=>{g(),y=setTimeout(V,Q)},V=async()=>{if(g(),!(m||!S)){m=!0;try{if(f){f=!1;try{const e=await I(E.api.endpoints.getFolderList.initiate({...l,realtime:!0},{forceRefetch:!0})).unwrap();d(()=>e)}catch{console.warn("Failed to refetch folder list on resync")}finally{s.clear()}return}if(s.size===0)return;const q=Array.from(s.values());s.clear();const t=[];if(await Promise.all(q.map(async e=>{try{const i=e.topic,r=e.summary||{},n=r.entityId;if(!n)return;const a=T[i];if(!a)return;if(r.value!==void 0&&a!=="attrib"){let u=r.value;a==="tags"?Array.isArray(u)||(u=typeof u=="string"?u.split(",").filter(Boolean):[]):u!==null&&typeof u!="string"&&(u=String(u));const o={[a]:u,updatedAt:e.updatedAt};r.parentId!==void 0&&(o.parentId=r.parentId),t.push({folderId:n,partial:o});return}const x=e.id,p=await I(G.api.endpoints.getEvent.initiate({eventId:x},{forceRefetch:!0})).unwrap(),h=p?.payload||{},M=p?.summary||{};if(a==="attrib"&&h?.newValue&&typeof h.newValue=="object")t.push({folderId:n,attribMerge:h.newValue,updatedAt:p.updatedAt});else{const u=h?.newValue;if(u===void 0)return;const o={updatedAt:p.updatedAt};o[a]=u,M.parentId!==void 0&&(o.parentId=M.parentId),t.push({folderId:n,partial:o})}}catch{}})),!t.length)return;d(e=>{!e||!Array.isArray(e.folders)||t.forEach(i=>{const r=e.folders.findIndex(n=>n.id===i.folderId);r!==-1&&(i.attribMerge&&(e.folders[r].attrib={...e.folders[r].attrib||{},...i.attribMerge},i.updatedAt&&(e.folders[r].updatedAt=i.updatedAt)),i.partial&&(e.folders[r]={...e.folders[r],...i.partial}))})})}finally{m=!1,(s.size>0||f)&&F()}}};let v;try{await A,v=W.subscribeToThumbnailUpdates(t=>{d(e=>{!e||!Array.isArray(e.folders)||t.forEach(i=>{if(i.summary.entityType==="folder"&&i.summary.thumbnailHash){const r=e.folders.findIndex(n=>n.id===i.summary.entityId);r!==-1&&(e.folders[r].thumbnailHash=i.summary.thumbnailHash)}})})},["folder"]);const q=(t,e)=>{if(t.endsWith(".created")||t.endsWith(".deleted")){const r=t.endsWith(".created")?"created":"deleted";if(c&&!c.includes(r))return;f=!0}else{const r=T[t];if(c&&(!r||!c.includes(r)))return;const n=e?.id;n&&s.set(n,e)}F()};N.forEach(t=>w.push(H.subscribe(t,q)))}catch{}await b,w.forEach(q=>H.unsubscribe(q)),v&&v(),g()}}}}),{useGetFolderHierarchyQuery:j,useGetFolderListQuery:P}=L;exports.foldersQueries=L;exports.useGetFolderHierarchyQuery=j;exports.useGetFolderListQuery=P;
2
2
  //# sourceMappingURL=getFolders.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFolders.cjs.js","sources":["../../../../../../src/api/queries/folders/getFolders.ts"],"sourcesContent":["import { foldersApi } from '@shared/api/generated'\nimport { api as eventsApi } from '@shared/api/generated/events'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\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, dispatch },\n ) {\n const { projectName } = args || {}\n const patchFields = (args as any)?.patch as string[] | undefined\n\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', 'entity.folder.created', 'entity.folder.deleted']\n const tokens: (string | undefined)[] = []\n\n // Simplified trailing debounce approach:\n // - Collect updated folder IDs for 2000ms window\n // - If a creation topic appears, perform one full list refetch (within debounce window)\n // - Otherwise, fetch each pending event and patch existing cache entries only\n const MIN_INTERVAL = 2000\n const pendingMessages = new Map<string, any>()\n let resyncFlag = false // full list refetch needed (created or deleted)\n let timer: ReturnType<typeof setTimeout> | null = null\n let processing = false\n\n const clearTimer = () => {\n if (timer) {\n clearTimeout(timer)\n timer = null\n }\n }\n\n const schedule = () => {\n clearTimer()\n timer = setTimeout(run, MIN_INTERVAL)\n }\n\n // All non-created/deleted events are treated as incremental updates.\n const run = async () => {\n clearTimer()\n if (processing || !projectName) return\n processing = true\n try {\n if (resyncFlag) {\n resyncFlag = false\n try {\n // get full folder list and update cache - done for created events\n const result = await dispatch(\n foldersApi.endpoints.getFolderList.initiate(\n // @ts-expect-error realtime flag to avoid toggling global isFetching for watchers\n { ...args, realtime: true },\n { forceRefetch: true },\n ),\n ).unwrap()\n updateCachedData(() => result)\n } catch {\n /* ignore */\n console.warn('Failed to refetch folder list on resync')\n } finally {\n pendingMessages.clear()\n }\n return\n }\n\n if (pendingMessages.size === 0) return\n const messages = Array.from(pendingMessages.values())\n pendingMessages.clear()\n type Patch = {\n folderId: string\n partial?: Record<string, any>\n attribMerge?: Record<string, any>\n updatedAt?: string\n }\n const patches: Patch[] = []\n await Promise.all(\n messages.map(async (message) => {\n try {\n const topic = message.topic\n const summary = message.summary || {}\n const folderId = summary.entityId\n if (!folderId) return\n const fieldName = topicFieldMap[topic]\n if (!fieldName) return\n\n // OPTIMIZATION: use value from summary if available (for root level fields)\n if (summary.value !== undefined && fieldName !== 'attrib') {\n let value = summary.value\n\n // Cast value to proper type\n if (fieldName === 'tags') {\n if (!Array.isArray(value)) {\n value = typeof value === 'string' ? value.split(',').filter(Boolean) : []\n }\n } else if (value !== null && typeof value !== 'string') {\n value = String(value)\n }\n\n const partial: Record<string, any> = {\n [fieldName]: value,\n updatedAt: message.updatedAt,\n }\n if (summary.parentId !== undefined) partial.parentId = summary.parentId\n patches.push({ folderId, partial })\n return\n }\n\n // Fallback: Fetch each event and apply incremental updates\n const eventId = message.id\n const event = await dispatch(\n eventsApi.endpoints.getEvent.initiate({ eventId }, { forceRefetch: true }),\n ).unwrap()\n const payload: any = event?.payload || {}\n const eventSummary: any = event?.summary || {}\n if (\n fieldName === 'attrib' &&\n payload?.newValue &&\n typeof payload.newValue === 'object'\n ) {\n patches.push({\n folderId,\n attribMerge: payload.newValue,\n updatedAt: event.updatedAt,\n })\n } else {\n const value = payload?.newValue\n if (value === undefined) return\n const partial: Record<string, any> = { updatedAt: event.updatedAt }\n partial[fieldName] = value\n // parentId might accompany some changes in summary\n if (eventSummary.parentId !== undefined)\n partial.parentId = eventSummary.parentId\n patches.push({ folderId, partial })\n }\n } catch {\n /* ignore single event errors */\n }\n }),\n )\n if (!patches.length) return\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n patches.forEach((patch) => {\n const idx = draft.folders.findIndex((f: any) => f.id === patch.folderId)\n // if folder not found, skip\n if (idx === -1) return\n // apply patch to existing folder\n if (patch.attribMerge) {\n // merge attribs if attribMerge is provided\n draft.folders[idx].attrib = {\n ...(draft.folders[idx].attrib || {}),\n ...patch.attribMerge,\n }\n // update updatedAt if provided\n if (patch.updatedAt) draft.folders[idx].updatedAt = patch.updatedAt\n }\n if (patch.partial) {\n // apply partial update\n draft.folders[idx] = { ...draft.folders[idx], ...patch.partial }\n }\n })\n })\n } finally {\n processing = false\n // If new events came in while we were processing, schedule another run\n if (pendingMessages.size > 0 || resyncFlag) {\n schedule()\n }\n }\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 isMembership = _topic.endsWith('.created') || _topic.endsWith('.deleted')\n\n if (isMembership) {\n const eventType = _topic.endsWith('.created') ? 'created' : 'deleted'\n // Backward compatibility: If no patch filters are provided, always sync membership.\n // If patch filters ARE provided, only sync if 'created'/'deleted' tokens are present.\n if (patchFields && !patchFields.includes(eventType)) return\n\n resyncFlag = true\n } else {\n const fieldName = topicFieldMap[_topic]\n // Backward compatibility: If no patch filters are provided, allow all updates (that we have mapping for).\n // If patch filters ARE provided, only allow fields explicitly listed in the patch array.\n if (patchFields && (!fieldName || !patchFields.includes(fieldName))) {\n return\n }\n\n const eventId = _message?.id\n if (eventId) {\n pendingMessages.set(eventId, _message)\n }\n }\n\n schedule()\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 clearTimer()\n },\n },\n },\n})\n\nexport const { useGetFolderHierarchyQuery, useGetFolderListQuery } = enhancedApi\nexport { enhancedApi as foldersQueries }\n"],"names":["enhancedApi","foldersApi","result","_e","projectName","id","args","cacheDataLoaded","cacheEntryRemoved","updateCachedData","dispatch","patchFields","topicFieldMap","topics","tokens","MIN_INTERVAL","pendingMessages","resyncFlag","timer","processing","clearTimer","schedule","run","messages","patches","message","topic","summary","folderId","fieldName","value","partial","eventId","event","eventsApi","payload","eventSummary","draft","patch","idx","f","unsubscribeThumbnails","subscribeToThumbnailUpdates","handlePubSub","_topic","_message","eventType","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 { foldersApi } from '@shared/api/generated'\nimport { api as eventsApi } from '@shared/api/generated/events'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\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, dispatch },\n ) {\n const { projectName } = args || {}\n const patchFields = (args as any)?.patch as string[] | undefined\n\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', 'entity.folder.created', 'entity.folder.deleted']\n const tokens: (string | undefined)[] = []\n\n // Simplified trailing debounce approach:\n // - Collect updated folder IDs for 2000ms window\n // - If a creation topic appears, perform one full list refetch (within debounce window)\n // - Otherwise, fetch each pending event and patch existing cache entries only\n const MIN_INTERVAL = 2000\n const pendingMessages = new Map<string, any>()\n let resyncFlag = false // full list refetch needed (created or deleted)\n let timer: ReturnType<typeof setTimeout> | null = null\n let processing = false\n\n const clearTimer = () => {\n if (timer) {\n clearTimeout(timer)\n timer = null\n }\n }\n\n const schedule = () => {\n clearTimer()\n timer = setTimeout(run, MIN_INTERVAL)\n }\n\n // All non-created/deleted events are treated as incremental updates.\n const run = async () => {\n clearTimer()\n if (processing || !projectName) return\n processing = true\n try {\n if (resyncFlag) {\n resyncFlag = false\n try {\n // get full folder list and update cache - done for created events\n const result = await dispatch(\n foldersApi.endpoints.getFolderList.initiate(\n // @ts-expect-error realtime flag to avoid toggling global isFetching for watchers\n { ...args, realtime: true },\n { forceRefetch: true },\n ),\n ).unwrap()\n updateCachedData(() => result)\n } catch {\n /* ignore */\n console.warn('Failed to refetch folder list on resync')\n } finally {\n pendingMessages.clear()\n }\n return\n }\n\n if (pendingMessages.size === 0) return\n const messages = Array.from(pendingMessages.values())\n pendingMessages.clear()\n type Patch = {\n folderId: string\n partial?: Record<string, any>\n attribMerge?: Record<string, any>\n updatedAt?: string\n }\n const patches: Patch[] = []\n await Promise.all(\n messages.map(async (message) => {\n try {\n const topic = message.topic\n const summary = message.summary || {}\n const folderId = summary.entityId\n if (!folderId) return\n const fieldName = topicFieldMap[topic]\n if (!fieldName) return\n\n // OPTIMIZATION: use value from summary if available (for root level fields)\n if (summary.value !== undefined && fieldName !== 'attrib') {\n let value = summary.value\n\n // Cast value to proper type\n if (fieldName === 'tags') {\n if (!Array.isArray(value)) {\n value = typeof value === 'string' ? value.split(',').filter(Boolean) : []\n }\n } else if (value !== null && typeof value !== 'string') {\n value = String(value)\n }\n\n const partial: Record<string, any> = {\n [fieldName]: value,\n updatedAt: message.updatedAt,\n }\n if (summary.parentId !== undefined) partial.parentId = summary.parentId\n patches.push({ folderId, partial })\n return\n }\n\n // Fallback: Fetch each event and apply incremental updates\n const eventId = message.id\n const event = await dispatch(\n eventsApi.endpoints.getEvent.initiate({ eventId }, { forceRefetch: true }),\n ).unwrap()\n const payload: any = event?.payload || {}\n const eventSummary: any = event?.summary || {}\n if (\n fieldName === 'attrib' &&\n payload?.newValue &&\n typeof payload.newValue === 'object'\n ) {\n patches.push({\n folderId,\n attribMerge: payload.newValue,\n updatedAt: event.updatedAt,\n })\n } else {\n const value = payload?.newValue\n if (value === undefined) return\n const partial: Record<string, any> = { updatedAt: event.updatedAt }\n partial[fieldName] = value\n // parentId might accompany some changes in summary\n if (eventSummary.parentId !== undefined)\n partial.parentId = eventSummary.parentId\n patches.push({ folderId, partial })\n }\n } catch {\n /* ignore single event errors */\n }\n }),\n )\n if (!patches.length) return\n updateCachedData((draft: any) => {\n if (!draft || !Array.isArray(draft.folders)) return\n patches.forEach((patch) => {\n const idx = draft.folders.findIndex((f: any) => f.id === patch.folderId)\n // if folder not found, skip\n if (idx === -1) return\n // apply patch to existing folder\n if (patch.attribMerge) {\n // merge attribs if attribMerge is provided\n draft.folders[idx].attrib = {\n ...(draft.folders[idx].attrib || {}),\n ...patch.attribMerge,\n }\n // update updatedAt if provided\n if (patch.updatedAt) draft.folders[idx].updatedAt = patch.updatedAt\n }\n if (patch.partial) {\n // apply partial update\n draft.folders[idx] = { ...draft.folders[idx], ...patch.partial }\n }\n })\n })\n } finally {\n processing = false\n // If new events came in while we were processing, schedule another run\n if (pendingMessages.size > 0 || resyncFlag) {\n schedule()\n }\n }\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 isMembership = _topic.endsWith('.created') || _topic.endsWith('.deleted')\n\n if (isMembership) {\n const eventType = _topic.endsWith('.created') ? 'created' : 'deleted'\n // Backward compatibility: If no patch filters are provided, always sync membership.\n // If patch filters ARE provided, only sync if 'created'/'deleted' tokens are present.\n if (patchFields && !patchFields.includes(eventType)) return\n\n resyncFlag = true\n } else {\n const fieldName = topicFieldMap[_topic]\n // Backward compatibility: If no patch filters are provided, allow all updates (that we have mapping for).\n // If patch filters ARE provided, only allow fields explicitly listed in the patch array.\n if (patchFields && (!fieldName || !patchFields.includes(fieldName))) {\n return\n }\n\n const eventId = _message?.id\n if (eventId) {\n pendingMessages.set(eventId, _message)\n }\n }\n\n schedule()\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 clearTimer()\n },\n },\n },\n})\n\nexport const { useGetFolderHierarchyQuery, useGetFolderListQuery } = enhancedApi\nexport { enhancedApi as foldersQueries }\n"],"names":["enhancedApi","foldersApi","result","_e","projectName","id","args","cacheDataLoaded","cacheEntryRemoved","updateCachedData","dispatch","patchFields","topicFieldMap","topics","tokens","MIN_INTERVAL","pendingMessages","resyncFlag","timer","processing","clearTimer","schedule","run","messages","patches","message","topic","summary","folderId","fieldName","value","partial","eventId","event","eventsApi","payload","eventSummary","draft","patch","idx","f","unsubscribeThumbnails","subscribeToThumbnailUpdates","handlePubSub","_topic","_message","eventType","PubSub","t","useGetFolderHierarchyQuery","useGetFolderListQuery"],"mappings":"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"}