@ynput/ayon-frontend-shared 0.3.50 → 0.3.52

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 (776) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +33 -31
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/NewEntity.cjs.js +2 -0
  5. package/dist/NewEntity.cjs.js.map +1 -0
  6. package/dist/NewEntity.es.js +16 -0
  7. package/dist/NewEntity.es.js.map +1 -0
  8. package/dist/ProjectTreeTable.cjs.js +1 -1
  9. package/dist/ProjectTreeTable.es.js +236 -230
  10. package/dist/ProjectTreeTable.es.js.map +1 -1
  11. package/dist/Slicer.cjs.js +1 -1
  12. package/dist/Slicer.es.js +34 -30
  13. package/dist/Slicer.es.js.map +1 -1
  14. package/dist/components.cjs.js +1 -1
  15. package/dist/components.es.js +112 -109
  16. package/dist/components.es.js.map +1 -1
  17. package/dist/context.cjs.js +1 -1
  18. package/dist/context.es.js +54 -56
  19. package/dist/context.es.js.map +1 -1
  20. package/dist/index.cjs.js +1 -1
  21. package/dist/index.es.js +20 -18
  22. package/dist/index.es.js.map +1 -1
  23. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js.map +1 -1
  25. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  26. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  27. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +31 -21
  28. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  29. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  30. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  31. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +55 -52
  32. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  33. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  34. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  35. package/dist/shared/src/api/queries/entities/updateEntity.es.js +129 -127
  36. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  37. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  38. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  39. package/dist/shared/src/api/queries/overview/updateOverview.es.js +96 -93
  40. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  41. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  42. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  43. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +40 -38
  44. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  45. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  46. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  47. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +13 -11
  48. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  49. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  50. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  51. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +40 -38
  52. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  53. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  54. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  55. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +40 -38
  56. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  57. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  58. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  59. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +40 -38
  60. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  61. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  62. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  63. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +40 -38
  64. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  65. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  66. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  67. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +40 -38
  68. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  69. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  71. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +13 -11
  72. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  73. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  74. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  75. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +40 -38
  76. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  77. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  78. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  79. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +44 -42
  80. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  81. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  82. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  83. package/dist/shared/src/components/LinksManager/LinksManager.es.js +40 -38
  84. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  85. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  86. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  87. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +40 -38
  88. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  89. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  90. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  91. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +40 -38
  92. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  93. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  94. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  95. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +40 -38
  96. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  97. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  98. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  99. package/dist/shared/src/components/Menu/Menu.es.js +40 -38
  100. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  101. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  102. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  103. package/dist/shared/src/components/Menu/MenuItem.es.js +38 -36
  104. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  105. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  106. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  107. package/dist/shared/src/components/Menu/MenuList.es.js +40 -38
  108. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  109. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  110. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  111. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +40 -38
  112. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  113. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  114. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  115. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +40 -38
  116. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  117. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  118. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  119. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +11 -9
  120. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  121. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  122. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  123. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +9 -7
  124. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  125. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  126. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  127. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +40 -38
  128. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  129. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  130. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  131. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +113 -111
  132. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  133. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  134. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  135. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +40 -38
  136. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  137. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  138. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  139. package/dist/shared/src/components/RenameForm/RenameForm.es.js +40 -38
  140. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  141. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  142. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  143. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +13 -11
  144. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  145. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  146. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  147. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +14 -12
  148. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  149. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  150. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  151. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +13 -11
  152. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  153. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  154. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  155. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +13 -11
  156. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  157. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  158. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  159. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +76 -74
  160. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  161. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js +1 -1
  162. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js.map +1 -1
  163. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js +43 -41
  164. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js.map +1 -1
  165. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  166. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  167. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +40 -38
  168. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  169. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  170. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  171. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +15 -13
  172. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  173. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  174. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  175. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +13 -11
  176. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  177. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +1 -1
  178. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  179. package/dist/shared/src/components/SyncButton/SyncButton.es.js +2 -3
  180. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  181. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  182. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  183. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +40 -38
  184. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  185. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  186. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  187. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +13 -11
  188. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  189. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  190. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  191. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +17 -15
  192. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  193. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  194. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +13 -11
  196. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  197. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  198. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/Actions/Actions.es.js +40 -38
  200. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  201. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  202. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +13 -11
  204. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  205. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  206. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +13 -11
  208. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  209. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  210. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +13 -11
  212. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  213. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  214. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +13 -11
  216. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  217. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  218. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +118 -119
  220. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  221. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  222. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +40 -38
  224. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  225. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  226. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +13 -11
  228. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  230. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +13 -11
  232. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  234. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +40 -38
  236. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -19
  240. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  242. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -11
  244. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +7 -5
  248. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +5 -3
  252. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +40 -38
  256. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  257. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  258. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +12 -10
  260. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  261. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  262. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +13 -11
  264. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  265. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  266. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +13 -11
  268. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  270. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +13 -11
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  274. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +40 -38
  276. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  277. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  278. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/Feed/Feed.es.js +6 -4
  280. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  281. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  282. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +13 -11
  284. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  286. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +13 -11
  288. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  290. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +13 -11
  292. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  293. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.cjs.js +2 -0
  294. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.cjs.js.map +1 -0
  295. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.es.js +171 -0
  296. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.es.js.map +1 -0
  297. package/dist/shared/src/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.cjs.js → ActivityFieldChange/ActivityFieldChange.styled.cjs.js} +5 -11
  298. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js.map +1 -0
  299. package/dist/shared/src/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.es.js → ActivityFieldChange/ActivityFieldChange.styled.es.js} +8 -14
  300. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.styled.es.js.map +1 -0
  301. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js +21 -0
  302. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.cjs.js.map +1 -0
  303. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.es.js +36 -0
  304. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/FieldValue.es.js.map +1 -0
  305. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.cjs.js +2 -0
  306. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.cjs.js.map +1 -0
  307. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.es.js +8 -0
  308. package/dist/shared/src/containers/Feed/components/ActivityFieldChange/hooks/getContextParents.es.js.map +1 -0
  309. package/dist/shared/src/containers/Feed/components/ActivityGroup/ActivityGroup.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/Feed/components/ActivityGroup/ActivityGroup.es.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  312. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +36 -25
  314. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  316. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +15 -13
  318. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  320. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +52 -57
  322. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  324. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +7 -5
  326. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  327. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  328. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +17 -15
  330. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  332. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +40 -38
  334. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  336. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +40 -38
  338. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  339. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
  340. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +37 -35
  342. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  343. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  344. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +40 -38
  346. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  347. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  348. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +7 -5
  350. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  352. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +43 -41
  354. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  355. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js +1 -1
  356. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js +1 -1
  358. package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js.map +1 -1
  359. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.cjs.js +1 -1
  360. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.es.js +14 -17
  362. package/dist/shared/src/containers/Feed/helpers/mergeSimilarActivities.es.js.map +1 -1
  363. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js +1 -1
  364. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js +36 -26
  366. package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js.map +1 -1
  367. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  368. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/ListTable/ListTable.es.js +13 -11
  370. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  371. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  372. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +7 -5
  374. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  375. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  376. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +13 -11
  378. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  379. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js +2 -0
  380. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -0
  381. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js +35 -0
  382. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -0
  383. package/dist/shared/src/containers/NewEntity/components/FolderSequence.cjs.js +2 -0
  384. package/dist/shared/src/containers/NewEntity/components/FolderSequence.cjs.js.map +1 -0
  385. package/dist/shared/src/containers/NewEntity/components/FolderSequence.es.js +309 -0
  386. package/dist/shared/src/containers/NewEntity/components/FolderSequence.es.js.map +1 -0
  387. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.cjs.js +122 -0
  388. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.cjs.js.map +1 -0
  389. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.es.js +135 -0
  390. package/dist/shared/src/containers/NewEntity/components/FolderSequence.styled.es.js.map +1 -0
  391. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +47 -0
  392. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -0
  393. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +661 -0
  394. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -0
  395. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.cjs.js +66 -0
  396. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.cjs.js.map +1 -0
  397. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.es.js +141 -0
  398. package/dist/shared/src/containers/NewEntity/components/NewEntityForm.es.js.map +1 -0
  399. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js +2 -0
  400. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -0
  401. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js +43 -0
  402. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -0
  403. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +2 -0
  404. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -0
  405. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +554 -0
  406. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -0
  407. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.cjs.js +2 -0
  408. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.cjs.js.map +1 -0
  409. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.es.js +6 -0
  410. package/dist/shared/src/containers/NewEntity/context/NewEntityContextInstance.es.js.map +1 -0
  411. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.cjs.js +2 -0
  412. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.cjs.js.map +1 -0
  413. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.es.js +26 -0
  414. package/dist/shared/src/containers/NewEntity/hooks/useCreateEntityShortcuts.es.js.map +1 -0
  415. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.cjs.js +2 -0
  416. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.cjs.js.map +1 -0
  417. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.es.js +16 -0
  418. package/dist/shared/src/containers/NewEntity/util/entityDefinitions.es.js.map +1 -0
  419. package/dist/shared/src/containers/NewEntity/util/getSequence.cjs.js +2 -0
  420. package/dist/shared/src/containers/NewEntity/util/getSequence.cjs.js.map +1 -0
  421. package/dist/shared/src/containers/NewEntity/util/getSequence.es.js +16 -0
  422. package/dist/shared/src/containers/NewEntity/util/getSequence.es.js.map +1 -0
  423. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +642 -675
  426. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +13 -11
  430. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +41 -39
  434. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +44 -42
  438. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +13 -11
  442. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +11 -9
  446. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +44 -42
  450. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +13 -11
  454. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js +22 -16
  458. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +42 -40
  462. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +156 -153
  466. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js +7 -6
  470. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +7 -6
  474. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +8 -6
  478. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +40 -38
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +16 -14
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +13 -11
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +233 -218
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +11 -9
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +13 -11
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +40 -38
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +43 -41
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +13 -11
  514. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +13 -11
  518. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +11 -9
  522. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +121 -150
  526. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +39 -37
  530. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +13 -11
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +13 -11
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +38 -36
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +24 -22
  546. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +47 -30
  550. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  553. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +113 -91
  554. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +13 -11
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +33 -31
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +13 -11
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +15 -13
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +39 -37
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +13 -11
  578. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +13 -11
  582. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +40 -38
  586. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  587. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  588. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  589. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +13 -11
  590. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  591. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  592. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  593. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +256 -246
  594. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  595. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  596. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +15 -15
  598. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  599. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  600. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +206 -162
  602. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  603. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  604. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +40 -38
  606. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  607. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  608. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +13 -11
  610. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  611. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  612. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +82 -74
  614. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  615. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  616. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +40 -38
  618. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  619. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +2 -0
  620. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -0
  621. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +470 -0
  622. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -0
  623. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  624. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +40 -38
  626. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  627. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  628. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +40 -38
  630. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  631. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  632. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +42 -40
  634. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  635. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  636. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  637. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +40 -38
  638. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  639. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  640. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +40 -38
  642. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  643. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  644. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +40 -38
  646. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  647. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  648. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +50 -48
  650. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  651. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  652. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +40 -38
  654. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  655. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  656. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +40 -38
  658. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  659. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  660. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  661. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -38
  662. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  663. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  664. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  665. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +42 -40
  666. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  667. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  668. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  669. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +43 -41
  670. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  671. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  672. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  673. package/dist/shared/src/context/DetailsPanelContext.es.js +44 -42
  674. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  675. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  676. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  677. package/dist/shared/src/context/EntityUpdatesContext.es.js +46 -44
  678. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  679. package/dist/shared/src/context/MenuContext.cjs.js +1 -1
  680. package/dist/shared/src/context/MenuContext.cjs.js.map +1 -1
  681. package/dist/shared/src/context/MenuContext.es.js +1 -0
  682. package/dist/shared/src/context/MenuContext.es.js.map +1 -1
  683. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  684. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  685. package/dist/shared/src/context/PowerpackContext.es.js +44 -42
  686. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  687. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  688. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  689. package/dist/shared/src/context/ProjectFoldersContext.es.js +126 -99
  690. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  691. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  692. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  693. package/dist/shared/src/context/SubtasksModulesContext.es.js +42 -40
  694. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  695. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  696. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  697. package/dist/shared/src/context/WebsocketContext.es.js +15 -13
  698. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  699. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  700. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  701. package/dist/shared/src/hooks/useEntityUpdate.es.js +40 -38
  702. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  703. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  704. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  705. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +40 -38
  706. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  707. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  708. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  709. package/dist/shared/src/hooks/useHierarchyTable.es.js +40 -38
  710. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  711. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  712. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  713. package/dist/shared/src/hooks/useUserProjectConfig.es.js +40 -38
  714. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  715. package/dist/types/NewEntity.d.ts +2 -0
  716. package/dist/types/components/index.d.ts +1 -0
  717. package/dist/types/containers/Feed/components/ActivityFieldChange/ActivityFieldChange.d.ts +36 -0
  718. package/dist/types/containers/Feed/components/{ActivityStatusChange/ActivityStatusChange.styled.d.ts → ActivityFieldChange/ActivityFieldChange.styled.d.ts} +1 -1
  719. package/dist/types/containers/Feed/components/ActivityFieldChange/FieldValue.d.ts +11 -0
  720. package/dist/types/containers/Feed/components/ActivityGroup/ActivityGroup.d.ts +1 -0
  721. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
  722. package/dist/types/containers/MoveEntityDialog/MoveEntityDialog.d.ts +10 -0
  723. package/dist/types/containers/MoveEntityDialog/index.d.ts +2 -0
  724. package/dist/types/containers/MoveEntityDialog/types.d.ts +12 -0
  725. package/dist/types/containers/NewEntity/components/FolderSequence.d.ts +36 -0
  726. package/dist/types/containers/NewEntity/components/FolderSequence.styled.d.ts +20 -0
  727. package/dist/types/containers/NewEntity/components/NewEntity.d.ts +12 -0
  728. package/dist/types/containers/NewEntity/components/NewEntityForm.d.ts +15 -0
  729. package/dist/types/containers/NewEntity/components/TypeEditor.d.ts +18 -0
  730. package/dist/types/containers/NewEntity/context/NewEntityContext.d.ts +37 -0
  731. package/dist/types/containers/NewEntity/context/NewEntityContextInstance.d.ts +2 -0
  732. package/dist/types/containers/NewEntity/hooks/useCreateEntityShortcuts.d.ts +21 -0
  733. package/dist/types/containers/NewEntity/index.d.ts +4 -0
  734. package/dist/types/containers/NewEntity/util/entityDefinitions.d.ts +7 -0
  735. package/dist/types/containers/NewEntity/util/getSequence.d.ts +1 -0
  736. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
  737. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
  738. package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +1 -0
  739. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +1 -0
  740. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +2 -1
  741. package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +5 -7
  742. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -6
  743. package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +6 -0
  744. package/dist/types/containers/SimpleTable/SimpleTable.types.d.ts +3 -0
  745. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +1 -1
  746. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -1
  747. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +6 -1
  748. package/dist/types/containers/Slicer/hooks/index.d.ts +1 -0
  749. package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +15 -0
  750. package/dist/types/containers/index.d.ts +1 -0
  751. package/dist/types/context/MenuContext.d.ts +1 -0
  752. package/dist/types/context/ProjectFoldersContext.d.ts +1 -0
  753. package/dist/types/context/index.d.ts +0 -1
  754. package/package.json +13 -4
  755. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +0 -2
  756. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +0 -1
  757. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +0 -44
  758. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +0 -1
  759. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js.map +0 -1
  760. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js.map +0 -1
  761. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js +0 -11
  762. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js.map +0 -1
  763. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js +0 -27
  764. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js.map +0 -1
  765. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.cjs.js +0 -2
  766. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.cjs.js.map +0 -1
  767. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.es.js +0 -8
  768. package/dist/shared/src/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.es.js.map +0 -1
  769. package/dist/shared/src/context/MoveEntityContext.cjs.js +0 -2
  770. package/dist/shared/src/context/MoveEntityContext.cjs.js.map +0 -1
  771. package/dist/shared/src/context/MoveEntityContext.es.js +0 -34
  772. package/dist/shared/src/context/MoveEntityContext.es.js.map +0 -1
  773. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +0 -19
  774. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.d.ts +0 -7
  775. package/dist/types/context/MoveEntityContext.d.ts +0 -28
  776. /package/dist/types/containers/Feed/components/{ActivityStatusChange → ActivityFieldChange}/hooks/getContextParents.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
1
+ {"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");const l=["task","version","folder","representation"],p=({entity:r,entityType:n,projectName:i})=>{switch(n){case"task":const t=r;return{entityType:"task",entitySubType:t.taskType,projectName:i,id:t.id,name:t.name,label:t.label,tags:t.tags,status:t.status,updatedAt:t.updatedAt,createdAt:t.createdAt,thumbnailHash:t.thumbnailHash,attrib:d.parseAllAttribs(t.allAttrib),hasReviewables:t.hasReviewables,thumbnailId:t.thumbnailId,path:(t.folder?.path||"")+"/"+t.name,parents:t.parents,folder:t.folder,task:{id:t.id,name:t.name,label:t.label,assignees:t.assignees,taskType:t.taskType,subtasks:t.subtasks},product:void 0,version:t.versions?.edges?.[0]?.node};case"version":const e=r;return{entityType:"version",entitySubType:void 0,projectName:i,id:e.id,name:e.name,label:void 0,tags:e.tags,status:e.status,updatedAt:e.updatedAt,createdAt:e.createdAt,thumbnailHash:e.thumbnailHash,attrib:d.parseAllAttribs(e.allAttrib),hasReviewables:e.hasReviewables,thumbnailId:e.thumbnailId,path:(e.product?.folder?.path||"")+"/"+e.product.name+"/"+e.name,parents:e.parents,folder:e.product?.folder,task:e.task??void 0,product:{id:e.product?.id,name:e.product?.name,productType:e.product?.productType,latestVersion:e.product.latestVersion},version:{version:e.version,id:e.id,name:e.name,updatedAt:e.updatedAt,createdAt:e.createdAt,productId:e.product.id},representations:e.representations?.edges?.map(o=>o.node)||[]};case"folder":const a=r;return{entityType:"folder",entitySubType:a.folderType,projectName:i,id:a.id,name:a.name,label:a.label,tags:a.tags,status:a.status,updatedAt:a.updatedAt,createdAt:a.createdAt,thumbnailHash:a.thumbnailHash,attrib:d.parseAllAttribs(a.allAttrib),hasReviewables:a.hasReviewables,thumbnailId:a.thumbnailId,path:a.path||"",parents:a.parents,folder:{id:a.id,name:a.name,label:a.label,folderType:a.folderType},product:void 0,version:void 0,representations:void 0};case"representation":const s=r;return{entityType:"representation",entitySubType:void 0,projectName:i,id:s.id,name:s.name,label:void 0,tags:s.tags,status:s.status,updatedAt:s.updatedAt,createdAt:s.createdAt,thumbnailHash:"not_supported",attrib:d.parseAllAttribs(s.allAttrib),hasReviewables:void 0,thumbnailId:void 0,path:(s.version?.product?.folder?.path||"")+"/"+(s.version?.product?.name||"")+"/"+s.version?.version+"/"+s.name,parents:s.parents,version:s.version,product:s.version.product,task:s.version.task||void 0,folder:s.version.product?.folder,representations:void 0}}};exports.detailsPanelEntityTypes=l;exports.transformDetailsPanelQueriesData=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");const l=["task","version","folder","representation"],p=({entity:r,entityType:n,projectName:i})=>{switch(n){case"task":const t=r;return{entityType:"task",entitySubType:t.taskType,projectName:i,id:t.id,name:t.name,label:t.label,tags:t.tags,status:t.status,updatedAt:t.updatedAt,createdAt:t.createdAt,thumbnailHash:t.thumbnailHash,attrib:d.parseAllAttribs(t.allAttrib),hasReviewables:t.hasReviewables,thumbnailId:t.thumbnailId,path:(t.folder?.path||"")+"/"+t.name,parents:t.parents,folder:t.folder,task:{id:t.id,name:t.name,label:t.label,assignees:t.assignees,taskType:t.taskType,subtasks:t.subtasks},product:void 0,version:t.versions?.edges?.[0]?.node};case"version":const e=r;return{entityType:"version",entitySubType:void 0,projectName:i,id:e.id,name:e.name,label:void 0,tags:e.tags,status:e.status,updatedAt:e.updatedAt,createdAt:e.createdAt,thumbnailHash:e.thumbnailHash,attrib:d.parseAllAttribs(e.allAttrib),hasReviewables:e.hasReviewables,thumbnailId:e.thumbnailId,path:(e.product?.folder?.path||"")+"/"+e.product.name+"/"+e.name,parents:e.parents,folder:e.product?.folder,task:e.task??void 0,product:{id:e.product?.id,name:e.product?.name,productType:e.product?.productType,latestVersion:e.product.latestVersion},version:{version:e.version,id:e.id,name:e.name,updatedAt:e.updatedAt,createdAt:e.createdAt,productId:e.product.id,author:e.author,thumbnailId:e.thumbnailId},representations:e.representations?.edges?.map(o=>o.node)||[]};case"folder":const a=r;return{entityType:"folder",entitySubType:a.folderType,projectName:i,id:a.id,name:a.name,label:a.label,tags:a.tags,status:a.status,updatedAt:a.updatedAt,createdAt:a.createdAt,thumbnailHash:a.thumbnailHash,attrib:d.parseAllAttribs(a.allAttrib),hasReviewables:a.hasReviewables,thumbnailId:a.thumbnailId,path:a.path||"",parents:a.parents,folder:{id:a.id,name:a.name,label:a.label,folderType:a.folderType,path:a.path},product:void 0,version:void 0,representations:void 0};case"representation":const s=r;return{entityType:"representation",entitySubType:void 0,projectName:i,id:s.id,name:s.name,label:void 0,tags:s.tags,status:s.status,updatedAt:s.updatedAt,createdAt:s.createdAt,thumbnailHash:"not_supported",attrib:d.parseAllAttribs(s.allAttrib),hasReviewables:void 0,thumbnailId:void 0,path:(s.version?.product?.folder?.path||"")+"/"+(s.version?.product?.name||"")+"/"+s.version?.version+"/"+s.name,parents:s.parents,version:s.version,product:s.version.product,task:s.version.task||void 0,folder:s.version.product?.folder,representations:void 0}}};exports.detailsPanelEntityTypes=l;exports.transformDetailsPanelQueriesData=p;
2
2
  //# sourceMappingURL=transformDetailsPanelData.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformDetailsPanelData.cjs.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '../overview'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n thumbnailHash: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n path: string\n parents: string[]\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n // subtasks aren't on the shared fragment (version/rep don't need them); the task entity adds them from its own query\n task?: DetailsPanelTaskFragmentFragment & { subtasks?: DetailsPanelTask['subtasks'] }\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n thumbnailHash: task.thumbnailHash,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n path: (task.folder?.path || '') + '/' + task.name,\n parents: task.parents,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n subtasks: task.subtasks,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n thumbnailHash: version.thumbnailHash,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n path:\n (version.product?.folder?.path || '') + '/' + version.product.name + '/' + version.name,\n parents: version.parents,\n folder: version.product?.folder,\n task: version.task ?? undefined,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n latestVersion: version.product.latestVersion,\n },\n version: {\n version: version.version,\n id: version.id,\n name: version.name,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n productId: version.product.id,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n path: folder.path || '',\n parents: folder.parents,\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt,\n createdAt: representation.createdAt,\n thumbnailHash: 'not_supported',\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n path:\n (representation.version?.product?.folder?.path || '') +\n '/' +\n (representation.version?.product?.name || '') +\n '/' +\n representation.version?.version +\n '/' +\n representation.name,\n parents: representation.parents,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":["detailsPanelEntityTypes","transformDetailsPanelQueriesData","entity","entityType","projectName","task","parseAllAttribs","version","edge","folder","representation"],"mappings":"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"}
1
+ {"version":3,"file":"transformDetailsPanelData.cjs.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '../overview'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n thumbnailHash: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n path: string\n parents: string[]\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n // subtasks aren't on the shared fragment (version/rep don't need them); the task entity adds them from its own query\n task?: DetailsPanelTaskFragmentFragment & { subtasks?: DetailsPanelTask['subtasks'] }\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt as string,\n createdAt: task.createdAt as string,\n thumbnailHash: task.thumbnailHash,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n path: (task.folder?.path || '') + '/' + task.name,\n parents: task.parents,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n subtasks: task.subtasks,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt as string,\n createdAt: version.createdAt as string,\n thumbnailHash: version.thumbnailHash,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n path:\n (version.product?.folder?.path || '') + '/' + version.product.name + '/' + version.name,\n parents: version.parents,\n folder: version.product?.folder,\n task: version.task ?? undefined,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n latestVersion: version.product.latestVersion,\n },\n version: {\n version: version.version,\n id: version.id,\n name: version.name,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n productId: version.product.id,\n author: version.author,\n thumbnailId: version.thumbnailId,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt as string,\n createdAt: folder.createdAt as string,\n thumbnailHash: folder.thumbnailHash,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n path: folder.path || '',\n parents: folder.parents,\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n path: folder.path,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt as string,\n createdAt: representation.createdAt as string,\n thumbnailHash: 'not_supported',\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n path:\n (representation.version?.product?.folder?.path || '') +\n '/' +\n (representation.version?.product?.name || '') +\n '/' +\n representation.version?.version +\n '/' +\n representation.name,\n parents: representation.parents,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":["detailsPanelEntityTypes","transformDetailsPanelQueriesData","entity","entityType","projectName","task","parseAllAttribs","version","edge","folder","representation"],"mappings":"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"}
@@ -2,52 +2,21 @@ import { parseAllAttribs as i } from "../overview/getOverview.es.js";
2
2
  import "../overview/updateOverview.es.js";
3
3
  import "../versions/getVersionsProducts.es.js";
4
4
  import "../links/getEntityLinks.es.js";
5
- const m = ["task", "version", "folder", "representation"], v = ({
5
+ const h = ["task", "version", "folder", "representation"], m = ({
6
6
  entity: r,
7
7
  entityType: n,
8
8
  projectName: d
9
9
  }) => {
10
10
  switch (n) {
11
11
  case "task":
12
- const t = r;
13
- return {
14
- entityType: "task",
15
- entitySubType: t.taskType,
16
- projectName: d,
17
- id: t.id,
18
- name: t.name,
19
- label: t.label,
20
- tags: t.tags,
21
- status: t.status,
22
- updatedAt: t.updatedAt,
23
- createdAt: t.createdAt,
24
- thumbnailHash: t.thumbnailHash,
25
- attrib: i(t.allAttrib),
26
- hasReviewables: t.hasReviewables,
27
- thumbnailId: t.thumbnailId,
28
- path: (t.folder?.path || "") + "/" + t.name,
29
- parents: t.parents,
30
- folder: t.folder,
31
- task: {
32
- id: t.id,
33
- name: t.name,
34
- label: t.label,
35
- assignees: t.assignees,
36
- taskType: t.taskType,
37
- subtasks: t.subtasks
38
- },
39
- product: void 0,
40
- version: t.versions?.edges?.[0]?.node
41
- };
42
- case "version":
43
12
  const e = r;
44
13
  return {
45
- entityType: "version",
46
- entitySubType: void 0,
14
+ entityType: "task",
15
+ entitySubType: e.taskType,
47
16
  projectName: d,
48
17
  id: e.id,
49
18
  name: e.name,
50
- label: void 0,
19
+ label: e.label,
51
20
  tags: e.tags,
52
21
  status: e.status,
53
22
  updatedAt: e.updatedAt,
@@ -56,25 +25,58 @@ const m = ["task", "version", "folder", "representation"], v = ({
56
25
  attrib: i(e.allAttrib),
57
26
  hasReviewables: e.hasReviewables,
58
27
  thumbnailId: e.thumbnailId,
59
- path: (e.product?.folder?.path || "") + "/" + e.product.name + "/" + e.name,
28
+ path: (e.folder?.path || "") + "/" + e.name,
60
29
  parents: e.parents,
61
- folder: e.product?.folder,
62
- task: e.task ?? void 0,
30
+ folder: e.folder,
31
+ task: {
32
+ id: e.id,
33
+ name: e.name,
34
+ label: e.label,
35
+ assignees: e.assignees,
36
+ taskType: e.taskType,
37
+ subtasks: e.subtasks
38
+ },
39
+ product: void 0,
40
+ version: e.versions?.edges?.[0]?.node
41
+ };
42
+ case "version":
43
+ const t = r;
44
+ return {
45
+ entityType: "version",
46
+ entitySubType: void 0,
47
+ projectName: d,
48
+ id: t.id,
49
+ name: t.name,
50
+ label: void 0,
51
+ tags: t.tags,
52
+ status: t.status,
53
+ updatedAt: t.updatedAt,
54
+ createdAt: t.createdAt,
55
+ thumbnailHash: t.thumbnailHash,
56
+ attrib: i(t.allAttrib),
57
+ hasReviewables: t.hasReviewables,
58
+ thumbnailId: t.thumbnailId,
59
+ path: (t.product?.folder?.path || "") + "/" + t.product.name + "/" + t.name,
60
+ parents: t.parents,
61
+ folder: t.product?.folder,
62
+ task: t.task ?? void 0,
63
63
  product: {
64
- id: e.product?.id,
65
- name: e.product?.name,
66
- productType: e.product?.productType,
67
- latestVersion: e.product.latestVersion
64
+ id: t.product?.id,
65
+ name: t.product?.name,
66
+ productType: t.product?.productType,
67
+ latestVersion: t.product.latestVersion
68
68
  },
69
69
  version: {
70
- version: e.version,
71
- id: e.id,
72
- name: e.name,
73
- updatedAt: e.updatedAt,
74
- createdAt: e.createdAt,
75
- productId: e.product.id
70
+ version: t.version,
71
+ id: t.id,
72
+ name: t.name,
73
+ updatedAt: t.updatedAt,
74
+ createdAt: t.createdAt,
75
+ productId: t.product.id,
76
+ author: t.author,
77
+ thumbnailId: t.thumbnailId
76
78
  },
77
- representations: e.representations?.edges?.map((o) => o.node) || []
79
+ representations: t.representations?.edges?.map((o) => o.node) || []
78
80
  };
79
81
  case "folder":
80
82
  const a = r;
@@ -99,7 +101,8 @@ const m = ["task", "version", "folder", "representation"], v = ({
99
101
  id: a.id,
100
102
  name: a.name,
101
103
  label: a.label,
102
- folderType: a.folderType
104
+ folderType: a.folderType,
105
+ path: a.path
103
106
  },
104
107
  product: void 0,
105
108
  version: void 0,
@@ -133,7 +136,7 @@ const m = ["task", "version", "folder", "representation"], v = ({
133
136
  }
134
137
  };
135
138
  export {
136
- m as detailsPanelEntityTypes,
137
- v as transformDetailsPanelQueriesData
139
+ h as detailsPanelEntityTypes,
140
+ m as transformDetailsPanelQueriesData
138
141
  };
139
142
  //# sourceMappingURL=transformDetailsPanelData.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformDetailsPanelData.es.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '../overview'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n thumbnailHash: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n path: string\n parents: string[]\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n // subtasks aren't on the shared fragment (version/rep don't need them); the task entity adds them from its own query\n task?: DetailsPanelTaskFragmentFragment & { subtasks?: DetailsPanelTask['subtasks'] }\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n thumbnailHash: task.thumbnailHash,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n path: (task.folder?.path || '') + '/' + task.name,\n parents: task.parents,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n subtasks: task.subtasks,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n thumbnailHash: version.thumbnailHash,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n path:\n (version.product?.folder?.path || '') + '/' + version.product.name + '/' + version.name,\n parents: version.parents,\n folder: version.product?.folder,\n task: version.task ?? undefined,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n latestVersion: version.product.latestVersion,\n },\n version: {\n version: version.version,\n id: version.id,\n name: version.name,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n productId: version.product.id,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n thumbnailHash: folder.thumbnailHash,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n path: folder.path || '',\n parents: folder.parents,\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt,\n createdAt: representation.createdAt,\n thumbnailHash: 'not_supported',\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n path:\n (representation.version?.product?.folder?.path || '') +\n '/' +\n (representation.version?.product?.name || '') +\n '/' +\n representation.version?.version +\n '/' +\n representation.name,\n parents: representation.parents,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":["detailsPanelEntityTypes","transformDetailsPanelQueriesData","entity","entityType","projectName","task","parseAllAttribs","version","edge","folder","representation"],"mappings":";;;;AAoBO,MAAMA,IAA0B,CAAC,QAAQ,WAAW,UAAU,gBAAgB,GAwCxEC,IAAmC,CAAC;AAAA,EAC/C,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AACF,MAAuD;AACrD,UAAQD,GAAA;AAAA,IACN,KAAK;AACH,YAAME,IAAOH;AACb,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,eAAeG,EAAK;AAAA,QACpB,aAAAD;AAAA,QACA,IAAIC,EAAK;AAAA,QACT,MAAMA,EAAK;AAAA,QACX,OAAOA,EAAK;AAAA,QACZ,MAAMA,EAAK;AAAA,QACX,QAAQA,EAAK;AAAA,QACb,WAAWA,EAAK;AAAA,QAChB,WAAWA,EAAK;AAAA,QAChB,eAAeA,EAAK;AAAA,QACpB,QAAQC,EAAgBD,EAAK,SAAS;AAAA,QACtC,gBAAgBA,EAAK;AAAA,QACrB,aAAaA,EAAK;AAAA,QAClB,OAAOA,EAAK,QAAQ,QAAQ,MAAM,MAAMA,EAAK;AAAA,QAC7C,SAASA,EAAK;AAAA,QACd,QAAQA,EAAK;AAAA,QACb,MAAM;AAAA,UACJ,IAAIA,EAAK;AAAA,UACT,MAAMA,EAAK;AAAA,UACX,OAAOA,EAAK;AAAA,UACZ,WAAWA,EAAK;AAAA,UAChB,UAAUA,EAAK;AAAA,UACf,UAAUA,EAAK;AAAA,QAAA;AAAA,QAEjB,SAAS;AAAA,QACT,SAASA,EAAK,UAAU,QAAQ,CAAC,GAAG;AAAA,MAAA;AAAA,IAExC,KAAK;AACH,YAAME,IAAUL;AAChB,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,aAAAE;AAAA,QACA,IAAIG,EAAQ;AAAA,QACZ,MAAMA,EAAQ;AAAA,QACd,OAAO;AAAA,QACP,MAAMA,EAAQ;AAAA,QACd,QAAQA,EAAQ;AAAA,QAChB,WAAWA,EAAQ;AAAA,QACnB,WAAWA,EAAQ;AAAA,QACnB,eAAeA,EAAQ;AAAA,QACvB,QAAQD,EAAgBC,EAAQ,SAAS;AAAA,QACzC,gBAAgBA,EAAQ;AAAA,QACxB,aAAaA,EAAQ;AAAA,QACrB,OACGA,EAAQ,SAAS,QAAQ,QAAQ,MAAM,MAAMA,EAAQ,QAAQ,OAAO,MAAMA,EAAQ;AAAA,QACrF,SAASA,EAAQ;AAAA,QACjB,QAAQA,EAAQ,SAAS;AAAA,QACzB,MAAMA,EAAQ,QAAQ;AAAA,QACtB,SAAS;AAAA,UACP,IAAIA,EAAQ,SAAS;AAAA,UACrB,MAAMA,EAAQ,SAAS;AAAA,UACvB,aAAaA,EAAQ,SAAS;AAAA,UAC9B,eAAeA,EAAQ,QAAQ;AAAA,QAAA;AAAA,QAEjC,SAAS;AAAA,UACP,SAASA,EAAQ;AAAA,UACjB,IAAIA,EAAQ;AAAA,UACZ,MAAMA,EAAQ;AAAA,UACd,WAAWA,EAAQ;AAAA,UACnB,WAAWA,EAAQ;AAAA,UACnB,WAAWA,EAAQ,QAAQ;AAAA,QAAA;AAAA,QAE7B,iBAAiBA,EAAQ,iBAAiB,OAAO,IAAI,CAACC,MAASA,EAAK,IAAI,KAAK,CAAA;AAAA,MAAC;AAAA,IAElF,KAAK;AACH,YAAMC,IAASP;AACf,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,eAAeO,EAAO;AAAA,QACtB,aAAAL;AAAA,QACA,IAAIK,EAAO;AAAA,QACX,MAAMA,EAAO;AAAA,QACb,OAAOA,EAAO;AAAA,QACd,MAAMA,EAAO;AAAA,QACb,QAAQA,EAAO;AAAA,QACf,WAAWA,EAAO;AAAA,QAClB,WAAWA,EAAO;AAAA,QAClB,eAAeA,EAAO;AAAA,QACtB,QAAQH,EAAgBG,EAAO,SAAS;AAAA,QACxC,gBAAgBA,EAAO;AAAA,QACvB,aAAaA,EAAO;AAAA,QACpB,MAAMA,EAAO,QAAQ;AAAA,QACrB,SAASA,EAAO;AAAA,QAChB,QAAQ;AAAA,UACN,IAAIA,EAAO;AAAA,UACX,MAAMA,EAAO;AAAA,UACb,OAAOA,EAAO;AAAA,UACd,YAAYA,EAAO;AAAA,QAAA;AAAA,QAErB,SAAS;AAAA,QACT,SAAS;AAAA,QACT,iBAAiB;AAAA,MAAA;AAAA,IAErB,KAAK;AACH,YAAMC,IAAiBR;AACvB,aAAO;AAAA,QACL,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,aAAAE;AAAA,QACA,IAAIM,EAAe;AAAA,QACnB,MAAMA,EAAe;AAAA,QACrB,OAAO;AAAA,QACP,MAAMA,EAAe;AAAA,QACrB,QAAQA,EAAe;AAAA,QACvB,WAAWA,EAAe;AAAA,QAC1B,WAAWA,EAAe;AAAA,QAC1B,eAAe;AAAA,QACf,QAAQJ,EAAgBI,EAAe,SAAS;AAAA,QAChD,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,OACGA,EAAe,SAAS,SAAS,QAAQ,QAAQ,MAClD,OACCA,EAAe,SAAS,SAAS,QAAQ,MAC1C,MACAA,EAAe,SAAS,UACxB,MACAA,EAAe;AAAA,QACjB,SAASA,EAAe;AAAA,QACxB,SAASA,EAAe;AAAA,QACxB,SAASA,EAAe,QAAQ;AAAA,QAChC,MAAMA,EAAe,QAAQ,QAAQ;AAAA,QACrC,QAAQA,EAAe,QAAQ,SAAS;AAAA,QACxC,iBAAiB;AAAA,MAAA;AAAA,EACnB;AAEN;"}
1
+ {"version":3,"file":"transformDetailsPanelData.es.js","sources":["../../../../../../src/api/queries/entities/transformDetailsPanelData.ts"],"sourcesContent":["import {\n DetailsPanelFolderFragmentFragment,\n DetailsPanelProductFragmentFragment,\n DetailsPanelRepresentationFragmentFragment,\n DetailsPanelTaskFragmentFragment,\n DetailsPanelVersionFragmentFragment,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { parseAllAttribs } from '../overview'\n\ntype DetailsPanelTask = NonNullable<GetDetailsPanelTaskQuery['project']['task']>\ntype DetailsPanelRepresentation = NonNullable<\n GetDetailsPanelRepresentationQuery['project']['representation']\n>\ntype DetailsPanelVersion = NonNullable<GetDetailsPanelVersionQuery['project']['version']>\ntype DetailsPanelFolder = NonNullable<GetDetailsPanelFolderQuery['project']['folder']>\n\nexport const detailsPanelEntityTypes = ['task', 'version', 'folder', 'representation'] as const\nexport type DetailsPanelEntityType = (typeof detailsPanelEntityTypes)[number]\n\ntype TransformEntityDataArgs = {\n entity: DetailsPanelRepresentation | DetailsPanelTask | DetailsPanelVersion | DetailsPanelFolder\n entityType: DetailsPanelEntityType\n projectName: string\n}\n\ntype NullableString = string | null | undefined\n\n// return type\nexport type DetailsPanelEntityData = {\n id: string\n name: string\n label: NullableString\n tags: string[]\n status: string\n updatedAt: string\n createdAt: string\n thumbnailHash: string\n attrib: Record<string, string | number>\n hasReviewables?: boolean\n thumbnailId?: string | null | undefined\n path: string\n parents: string[]\n // extra metadata\n entityType: string\n entitySubType?: string\n projectName: string\n // type specific\n // subtasks aren't on the shared fragment (version/rep don't need them); the task entity adds them from its own query\n task?: DetailsPanelTaskFragmentFragment & { subtasks?: DetailsPanelTask['subtasks'] }\n folder?: DetailsPanelFolderFragmentFragment\n product?: DetailsPanelProductFragmentFragment\n version?: DetailsPanelVersionFragmentFragment\n representations?: DetailsPanelRepresentationFragmentFragment[]\n}\n\n// takes the data from different entity types and returns a single data model\nexport const transformDetailsPanelQueriesData = ({\n entity,\n entityType,\n projectName,\n}: TransformEntityDataArgs): DetailsPanelEntityData => {\n switch (entityType) {\n case 'task':\n const task = entity as DetailsPanelTask\n return {\n entityType: 'task',\n entitySubType: task.taskType,\n projectName: projectName,\n id: task.id,\n name: task.name,\n label: task.label,\n tags: task.tags,\n status: task.status,\n updatedAt: task.updatedAt as string,\n createdAt: task.createdAt as string,\n thumbnailHash: task.thumbnailHash,\n attrib: parseAllAttribs(task.allAttrib),\n hasReviewables: task.hasReviewables,\n thumbnailId: task.thumbnailId,\n path: (task.folder?.path || '') + '/' + task.name,\n parents: task.parents,\n folder: task.folder,\n task: {\n id: task.id,\n name: task.name,\n label: task.label,\n assignees: task.assignees,\n taskType: task.taskType,\n subtasks: task.subtasks,\n },\n product: undefined,\n version: task.versions?.edges?.[0]?.node,\n }\n case 'version':\n const version = entity as DetailsPanelVersion\n return {\n entityType: 'version',\n entitySubType: undefined,\n projectName: projectName,\n id: version.id,\n name: version.name,\n label: undefined,\n tags: version.tags,\n status: version.status,\n updatedAt: version.updatedAt as string,\n createdAt: version.createdAt as string,\n thumbnailHash: version.thumbnailHash,\n attrib: parseAllAttribs(version.allAttrib),\n hasReviewables: version.hasReviewables,\n thumbnailId: version.thumbnailId,\n path:\n (version.product?.folder?.path || '') + '/' + version.product.name + '/' + version.name,\n parents: version.parents,\n folder: version.product?.folder,\n task: version.task ?? undefined,\n product: {\n id: version.product?.id,\n name: version.product?.name,\n productType: version.product?.productType,\n latestVersion: version.product.latestVersion,\n },\n version: {\n version: version.version,\n id: version.id,\n name: version.name,\n updatedAt: version.updatedAt,\n createdAt: version.createdAt,\n productId: version.product.id,\n author: version.author,\n thumbnailId: version.thumbnailId,\n },\n representations: version.representations?.edges?.map((edge) => edge.node) || [],\n }\n case 'folder':\n const folder = entity as DetailsPanelFolder\n return {\n entityType: 'folder',\n entitySubType: folder.folderType,\n projectName: projectName,\n id: folder.id,\n name: folder.name,\n label: folder.label,\n tags: folder.tags,\n status: folder.status,\n updatedAt: folder.updatedAt as string,\n createdAt: folder.createdAt as string,\n thumbnailHash: folder.thumbnailHash,\n attrib: parseAllAttribs(folder.allAttrib),\n hasReviewables: folder.hasReviewables,\n thumbnailId: folder.thumbnailId,\n path: folder.path || '',\n parents: folder.parents,\n folder: {\n id: folder.id,\n name: folder.name,\n label: folder.label,\n folderType: folder.folderType,\n path: folder.path,\n },\n product: undefined,\n version: undefined,\n representations: undefined,\n }\n case 'representation':\n const representation = entity as DetailsPanelRepresentation\n return {\n entityType: 'representation',\n entitySubType: undefined,\n projectName: projectName,\n id: representation.id,\n name: representation.name,\n label: undefined,\n tags: representation.tags,\n status: representation.status,\n updatedAt: representation.updatedAt as string,\n createdAt: representation.createdAt as string,\n thumbnailHash: 'not_supported',\n attrib: parseAllAttribs(representation.allAttrib),\n hasReviewables: undefined,\n thumbnailId: undefined,\n path:\n (representation.version?.product?.folder?.path || '') +\n '/' +\n (representation.version?.product?.name || '') +\n '/' +\n representation.version?.version +\n '/' +\n representation.name,\n parents: representation.parents,\n version: representation.version,\n product: representation.version.product,\n task: representation.version.task || undefined,\n folder: representation.version.product?.folder,\n representations: undefined,\n }\n }\n}\n"],"names":["detailsPanelEntityTypes","transformDetailsPanelQueriesData","entity","entityType","projectName","task","parseAllAttribs","version","edge","folder","representation"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./getEntity.cjs.js"),L=require("react-toastify"),P=require("../userDashboard/getUserDashboard.cjs.js");require("../overview/getOverview.cjs.js");const Q=require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");const N=require("./patchDetailsPanel.cjs.js"),S=({assignees:m=[],projects:o=[]},{newAssignees:t,taskId:s,data:r,taskData:a},{dispatch:i})=>{let g=!1;return[i(P.dashboardQueries.util.updateQueryData("GetKanban",{projects:o,assignees:m},l=>{const f=l.findIndex(e=>e.id===s);let n={...r};if(r?.attrib?.priority){const{priority:e}=n.attrib;n={...n,priority:e}}if(r?.attrib?.endDate){const{endDate:e}=n.attrib;n={...n,dueDate:e},delete n.attrib.endDate}if(f===-1)a?l.push(a):g=!1;else if(g=!0,!t?.some(c=>m.includes(c))&&t)l.splice(f,1);else{const c={...l[f],...n};l[f]=c}})),g]},K=({operations:m=[],state:o,dispatch:t,entityType:s})=>{const r=m.map(i=>({type:"progress",id:i.id}));let a=b.default.util.selectInvalidatedBy(o,r);if(!a.length)return[];try{return a.map(g=>t(b.default.util.updateQueryData(g.endpointName,g.originalArgs,d=>{for(const l of m){const f=l.id,n=l.data;if(s==="task"){const e=l.meta?.folderId,c=d.find(v=>v.id===e);if(!c)throw new Error("Patching progress view: folder not found");const w=c.tasks?.find(v=>v.id===f);if(!w)throw new Error("Patching progress view: task not found");const h={...w,...n},u={...c,tasks:c.tasks.map(v=>v.id===f?h:v)},j=d.findIndex(v=>v.id===e);d[j]=u}else if(s==="folder"){const e=d.find(u=>u.id===f);if(!e)throw new Error("Patching progress view: folder not found");let c={...n};if(n.name&&e.path){const u=e.path.split("/");u[u.length-1]=n.name,c.path=u.join("/")}const w={...e,...c},h=d.findIndex(u=>u.id===f);d[h]=w}}})))}catch(i){return console.error(i),t(b.default.util.invalidateTags(r)),[]}},T=b.default.injectEndpoints({endpoints:m=>({updateEntity:m.mutation({query:({projectName:o,entityId:t,data:s,entityType:r})=>({url:`/api/projects/${o}/${r}s/${t}`,method:"PATCH",body:s}),invalidatesTags:(o,t,{entityId:s,entityType:r})=>{const a=[];return r==="product"&&a.push({type:"product",id:s}),r==="version"&&a.push({type:"version",id:s}),a},async onQueryStarted({projectName:o,entityId:t,data:s,currentAssignees:r,entityType:a},{dispatch:i,queryFulfilled:g,getState:d}){const l=d(),f=[];let n=[];if(a==="task"){const e=d().dashboard?.selectedProjects||[],c=d().dashboard?.tasks.assignees||[],w=d().dashboard?.tasks.assigneesFilter==="me",h=s.assignees,u=w?[d().user?.name]:c,v=[...new Set([...r,...h||[]])].some(p=>u.includes(p)),x=e.some(p=>p===o);if(v&&x){const[p,k]=S({assignees:u,projects:e},{newAssignees:h,taskId:t,data:s},{dispatch:i});k&&f.push(p),k||P.getKanbanTasks({projects:[o],taskIds:[t]},i).then(y=>{let E=y.find(U=>U.id===t);E&&(E={...E,assignees:h},S({assignees:u,projects:e},{newAssignees:h,taskId:t,taskData:E},{dispatch:i}))})}const D=[{type:"task",id:t}];if(h?.length){const p=new Set(r),k=new Set(h),y=[...p].filter(A=>!k.has(A)),E=[...k].filter(A=>!p.has(A)),M=[...new Set([...y,...E])].map(A=>({type:"kanban",id:"user-"+A+"-project-"+o}));D.push(...M),i(P.dashboardQueries.util.invalidateTags([{type:"watchers",id:t}]))}let q=P.dashboardQueries.util.selectInvalidatedBy(l,D),I=[];for(const p of q){const[k,y]=S({assignees:p.originalArgs.assignees,projects:p.originalArgs.projects},{newAssignees:h,taskId:t,data:s},{dispatch:i});y?f.push(k):I.push(p)}const F={projects:e,assignees:u};I=I.filter(p=>JSON.stringify(p.originalArgs)!==JSON.stringify(F));const O=q.map(p=>({type:"kanban",id:JSON.stringify(p.originalArgs)}));n.push(...O)}N.patchDetailsPanel([{entityId:t,data:s,entityType:a}],{state:l,dispatch:i},f);try{await g,n.length&&i(P.dashboardQueries.util.invalidateTags(n))}catch(e){console.error("error updating "+a,e),L.toast.error(e?.error?.data?.detail||"Failed to update task"),f.forEach(c=>c?.undo())}}}),updateEntities:m.mutation({async queryFn({operations:o=[],entityType:t},{dispatch:s,getState:r}){try{const a=r(),i=[];for(const{projectName:e,data:c,id:w,currentAssignees:h=[]}of o){const u=s(T.endpoints.updateEntity.initiate({projectName:e,entityId:w,data:c,entityType:t,currentAssignees:h}));i.push(u)}let g=[];(t==="task"||t==="folder")&&(g=K({operations:o,state:a,dispatch:s,entityType:t}));const d=[],l=o.map(e=>({...e,entityId:e.id}));if((t==="task"||t==="folder")&&(t==="task"&&Q.patchOverviewTasks(l,{state:a,dispatch:s},d),t==="folder"&&(Q.patchOverviewFolders(l,{state:a,dispatch:s},d),console.log("invalidate overview folders"),s(b.default.util.invalidateTags([{type:"folder",id:"LIST"}])),s(b.default.util.invalidateTags(l.map(e=>({type:"overviewTask",id:e.entityId})))))),(await Promise.allSettled(i)).some(e=>e.value?.error))throw s(b.default.util.invalidateTags(o.map(e=>({type:"kanBanTask",id:e.id})))),g.forEach(e=>e?.undo()),d.forEach(e=>e?.undo()),"Failed to update some tasks";return{data:o}}catch(a){return console.error(a),{error:a}}},invalidatesTags:(o,t,{operations:s,entityType:r})=>{const a=s.map(i=>({id:i.id,type:"review"}));return r==="product"&&(a.push({type:"product",id:"LIST"},{type:"version",id:"LIST"}),s.forEach(i=>a.push({type:"product",id:i.id}))),r==="version"&&(a.push({type:"version",id:"LIST"},{type:"product",id:"LIST"}),s.forEach(i=>a.push({type:"version",id:i.id})),s.some(i=>!!i.data.status)&&(console.log("invalidate version.publish activities"),s.forEach(i=>a.push({type:"entityActivities",id:`version.publish-${i.id}`})))),a}})}),overrideExisting:!0}),{useUpdateEntitiesMutation:R,useUpdateEntityMutation:$}=T;exports.entitiesQueries=T;exports.useUpdateEntitiesMutation=R;exports.useUpdateEntityMutation=$;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./getEntity.cjs.js"),L=require("react-toastify"),P=require("../userDashboard/getUserDashboard.cjs.js");require("../overview/getOverview.cjs.js");const F=require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");const N=require("./patchDetailsPanel.cjs.js"),S=({assignees:m=[],projects:c=[]},{newAssignees:a,taskId:s,data:r,taskData:t},{dispatch:n})=>{let i=!1;return[n(P.dashboardQueries.util.updateQueryData("GetKanban",{projects:c,assignees:m},u=>{const h=u.findIndex(e=>e.id===s);let d={...r};if(r?.attrib?.priority){const{priority:e}=d.attrib;d={...d,priority:e}}if(r?.attrib?.endDate){const{endDate:e}=d.attrib;d={...d,dueDate:e},delete d.attrib.endDate}if(h===-1)t?u.push(t):i=!1;else if(i=!0,!a?.some(l=>m.includes(l))&&a)u.splice(h,1);else{const l={...u[h],...d};u[h]=l}})),i]},$=({operations:m=[],state:c,dispatch:a,entityType:s})=>{const r=m.map(n=>({type:"progress",id:n.id}));let t=b.default.util.selectInvalidatedBy(c,r);if(!t.length)return[];try{return t.map(i=>a(b.default.util.updateQueryData(i.endpointName,i.originalArgs,o=>{for(const u of m){const h=u.id,d=u.data;if(s==="task"){const e=u.meta?.folderId,l=o.find(v=>v.id===e);if(!l)throw new Error("Patching progress view: folder not found");const w=l.tasks?.find(v=>v.id===h);if(!w)throw new Error("Patching progress view: task not found");const g={...w,...d},p={...l,tasks:l.tasks.map(v=>v.id===h?g:v)},j=o.findIndex(v=>v.id===e);o[j]=p}else if(s==="folder"){const e=o.find(p=>p.id===h);if(!e)throw new Error("Patching progress view: folder not found");let l={...d};if(d.name&&e.path){const p=e.path.split("/");p[p.length-1]=d.name,l.path=p.join("/")}const w={...e,...l},g=o.findIndex(p=>p.id===h);o[g]=w}}})))}catch(n){return console.error(n),a(b.default.util.invalidateTags(r)),[]}},T=b.default.injectEndpoints({endpoints:m=>({updateEntity:m.mutation({query:({projectName:c,entityId:a,data:s,entityType:r})=>({url:`/api/projects/${c}/${r}s/${a}`,method:"PATCH",body:s}),invalidatesTags:(c,a,{entityId:s,entityType:r})=>{const t=[];return r==="product"&&t.push({type:"product",id:s}),r==="version"&&t.push({type:"version",id:s}),t},async onQueryStarted({projectName:c,entityId:a,data:s,currentAssignees:r,entityType:t},{dispatch:n,queryFulfilled:i,getState:o}){const u=o(),h=[];let d=[];if(t==="task"){const e=o().dashboard?.selectedProjects||[],l=o().dashboard?.tasks.assignees||[],w=o().dashboard?.tasks.assigneesFilter==="me",g=s.assignees,p=w?[o().user?.name]:l,v=[...new Set([...r,...g||[]])].some(f=>p.includes(f)),Q=e.some(f=>f===c);if(v&&Q){const[f,k]=S({assignees:p,projects:e},{newAssignees:g,taskId:a,data:s},{dispatch:n});k&&h.push(f),k||P.getKanbanTasks({projects:[c],taskIds:[a]},n).then(y=>{let E=y.find(U=>U.id===a);E&&(E={...E,assignees:g},S({assignees:p,projects:e},{newAssignees:g,taskId:a,taskData:E},{dispatch:n}))})}const D=[{type:"task",id:a}];if(g?.length){const f=new Set(r),k=new Set(g),y=[...f].filter(A=>!k.has(A)),E=[...k].filter(A=>!f.has(A)),M=[...new Set([...y,...E])].map(A=>({type:"kanban",id:"user-"+A+"-project-"+c}));D.push(...M),n(P.dashboardQueries.util.invalidateTags([{type:"watchers",id:a}]))}let q=P.dashboardQueries.util.selectInvalidatedBy(u,D),I=[];for(const f of q){const[k,y]=S({assignees:f.originalArgs.assignees,projects:f.originalArgs.projects},{newAssignees:g,taskId:a,data:s},{dispatch:n});y?h.push(k):I.push(f)}const x={projects:e,assignees:p};I=I.filter(f=>JSON.stringify(f.originalArgs)!==JSON.stringify(x));const O=q.map(f=>({type:"kanban",id:JSON.stringify(f.originalArgs)}));d.push(...O)}N.patchDetailsPanel([{entityId:a,data:s,entityType:t}],{state:u,dispatch:n},h);try{await i,d.length&&n(P.dashboardQueries.util.invalidateTags(d))}catch(e){console.error("error updating "+t,e),L.toast.error(e?.error?.data?.detail||"Failed to update task"),h.forEach(l=>l?.undo())}}}),updateEntities:m.mutation({async queryFn({operations:c=[],entityType:a},{dispatch:s,getState:r}){try{const t=r(),n=[];for(const{projectName:e,data:l,id:w,currentAssignees:g=[]}of c){const p=s(T.endpoints.updateEntity.initiate({projectName:e,entityId:w,data:l,entityType:a,currentAssignees:g}));n.push(p)}let i=[];(a==="task"||a==="folder")&&(i=$({operations:c,state:t,dispatch:s,entityType:a}));const o=[],u=c.map(e=>({...e,entityId:e.id}));if((a==="task"||a==="folder")&&(a==="task"&&F.patchOverviewTasks(u,{state:t,dispatch:s},o),a==="folder"&&(F.patchOverviewFolders(u,{state:t,dispatch:s},o),console.log("invalidate overview folders"),s(b.default.util.invalidateTags([{type:"folder",id:"LIST"}])),s(b.default.util.invalidateTags(u.map(e=>({type:"overviewTask",id:e.entityId})))))),(await Promise.allSettled(n)).some(e=>e.value?.error))throw s(b.default.util.invalidateTags(c.map(e=>({type:"kanBanTask",id:e.id})))),i.forEach(e=>e?.undo()),o.forEach(e=>e?.undo()),"Failed to update some tasks";return{data:c}}catch(t){return console.error(t),{error:t}}},invalidatesTags:(c,a,{operations:s,entityType:r})=>{const t=s.map(i=>({id:i.id,type:"review"})),n=["status","attrib","tags","assignees",`${r}Type`];return s.forEach(i=>{i.data&&n.some(o=>i.data[o]!==void 0)&&t.push({type:"entityActivities",id:i.id})}),r==="product"&&(t.push({type:"product",id:"LIST"},{type:"version",id:"LIST"}),s.forEach(i=>t.push({type:"product",id:i.id}))),r==="version"&&(t.push({type:"version",id:"LIST"},{type:"product",id:"LIST"}),s.forEach(i=>t.push({type:"version",id:i.id})),s.some(i=>!!i.data.status)&&(console.log("invalidate version.publish activities"),s.forEach(i=>t.push({type:"entityActivities",id:`version.publish-${i.id}`})))),t}})}),overrideExisting:!0}),{useUpdateEntitiesMutation:K,useUpdateEntityMutation:R}=T;exports.entitiesQueries=T;exports.useUpdateEntitiesMutation=K;exports.useUpdateEntityMutation=R;
2
2
  //# sourceMappingURL=updateEntity.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { toast } from 'react-toastify'\nimport { detailsPanelQueries } from './getEntityPanel'\nimport { dashboardQueries, getKanbanTasks } from '../userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '../overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n if (operations.some((o) => !!o.data.status)) {\n console.log('invalidate version.publish activities')\n // invalidate feeds with that version in it (published versions activity)\n operations.forEach((o) =>\n tags.push({ type: 'entityActivities', id: `version.publish-${o.id}` }),\n )\n }\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
1
+ {"version":3,"file":"updateEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { toast } from 'react-toastify'\nimport { detailsPanelQueries } from './getEntityPanel'\nimport { dashboardQueries, getKanbanTasks } from '../userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '../overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n // own-edit activity events are sender-filtered on the websocket, so refetch open feeds\n const activityFields = ['status', 'attrib', 'tags', 'assignees', `${entityType}Type`]\n operations.forEach((o) => {\n if (o.data && activityFields.some((key) => o.data[key] !== undefined)) {\n tags.push({ type: 'entityActivities', id: o.id })\n }\n })\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n if (operations.some((o) => !!o.data.status)) {\n console.log('invalidate version.publish activities')\n // invalidate feeds with that version in it (published versions activity)\n operations.forEach((o) =>\n tags.push({ type: 'entityActivities', id: `version.publish-${o.id}` }),\n )\n }\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityFields","key","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}