@ynput/ayon-frontend-shared 0.3.35 → 0.3.37

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 (522) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -23
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +222 -215
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/_virtual/index.cjs22.js +1 -1
  8. package/dist/_virtual/index.cjs23.js +1 -1
  9. package/dist/_virtual/index.cjs24.js +1 -1
  10. package/dist/_virtual/index.cjs6.js +1 -1
  11. package/dist/_virtual/index.cjs8.js +1 -1
  12. package/dist/_virtual/index.es22.js +3 -3
  13. package/dist/_virtual/index.es23.js +5 -5
  14. package/dist/_virtual/index.es24.js +5 -5
  15. package/dist/_virtual/index.es6.js +2 -2
  16. package/dist/_virtual/index.es8.js +2 -2
  17. package/dist/components.cjs.js +1 -1
  18. package/dist/components.es.js +77 -73
  19. package/dist/components.es.js.map +1 -1
  20. package/dist/context.cjs.js +1 -1
  21. package/dist/context.es.js +50 -49
  22. package/dist/hooks.cjs.js +1 -1
  23. package/dist/hooks.es.js +33 -29
  24. package/dist/hooks.es.js.map +1 -1
  25. package/dist/index.cjs.js +1 -1
  26. package/dist/index.es.js +13 -10
  27. package/dist/index.es.js.map +1 -1
  28. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  29. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  30. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  31. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  32. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  33. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  34. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  35. package/dist/node_modules/remove-accents/index.es.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  37. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
  41. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
  42. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
  43. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
  44. package/dist/shared/src/api/generated/graphql.cjs.js +108 -23
  45. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  46. package/dist/shared/src/api/generated/graphql.es.js +138 -53
  47. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  48. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  49. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/activities/getActivities.es.js +42 -42
  53. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js +2 -0
  55. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -0
  56. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js +68 -0
  57. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -0
  58. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  59. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/activities/updateActivities.es.js +69 -62
  61. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +64 -56
  65. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +57 -53
  69. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +27 -25
  73. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -1
  75. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +1 -1
  76. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +4 -4
  78. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -1
  79. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  80. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  81. package/dist/shared/src/api/queries/overview/getOverview.es.js +212 -187
  82. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  83. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  84. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +6 -3
  86. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  87. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  88. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  89. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +6 -3
  90. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  91. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  92. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  93. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +6 -3
  94. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  95. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  96. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  97. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +6 -3
  98. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  99. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  100. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  101. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +102 -99
  102. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  103. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +95 -87
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  107. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  108. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  109. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +6 -3
  110. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  111. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  112. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  113. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +6 -3
  114. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  115. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  116. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  117. package/dist/shared/src/components/RenameForm/RenameForm.es.js +6 -3
  118. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  119. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  121. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -3
  122. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +7 -4
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  127. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  128. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  129. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -3
  130. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  131. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  132. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  133. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +6 -3
  134. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  135. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js +6 -0
  136. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js.map +1 -0
  137. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js +58 -0
  138. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js.map +1 -0
  139. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  140. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  141. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +1 -4
  142. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  143. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js +2 -0
  144. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js.map +1 -0
  145. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js +106 -0
  146. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js.map +1 -0
  147. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  148. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  149. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +8 -5
  150. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  151. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  152. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  153. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -3
  154. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  155. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  156. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  157. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -3
  158. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  159. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  160. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  161. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +10 -7
  162. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  163. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  164. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  165. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -3
  166. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  167. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  168. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -3
  170. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -3
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  175. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -3
  178. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  182. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  183. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
  186. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  187. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +6 -3
  190. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  191. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +6 -3
  194. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  195. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +10 -0
  196. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -0
  197. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +135 -0
  198. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -0
  199. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  201. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  202. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +20 -17
  204. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  205. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  206. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +41 -44
  208. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  209. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  210. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -2
  212. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  213. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  214. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +19 -25
  216. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  217. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js +2 -0
  218. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js.map +1 -0
  219. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js +91 -0
  220. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js.map +1 -0
  221. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  222. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +6 -3
  224. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  225. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  226. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +6 -3
  228. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  229. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  230. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +6 -3
  232. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  233. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  234. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +6 -3
  236. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  237. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  238. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/Feed/Feed.es.js +156 -164
  240. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  241. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js +25 -3
  242. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/Feed/Feed.styled.es.js +30 -8
  244. package/dist/shared/src/containers/Feed/Feed.styled.es.js.map +1 -1
  245. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  246. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +6 -3
  248. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  249. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  250. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +6 -3
  252. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  253. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  254. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +6 -3
  256. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  257. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +3 -3
  258. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +1 -0
  260. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
  261. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  262. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +8 -5
  264. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  265. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  266. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -2
  268. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  269. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  270. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +10 -7
  272. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  273. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  274. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +5 -5
  276. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  277. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +17 -0
  278. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -0
  279. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +279 -0
  280. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -0
  281. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  282. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +5 -2
  284. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  286. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +62 -50
  288. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +2 -0
  290. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -0
  291. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +141 -0
  292. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -0
  293. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +2 -0
  294. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -0
  295. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +81 -0
  296. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -0
  297. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  298. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +20 -18
  300. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  301. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  302. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/ListTable/ListTable.es.js +106 -103
  304. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  305. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  306. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +7 -4
  308. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  309. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  310. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +6 -3
  312. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +127 -123
  316. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +158 -130
  320. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +6 -3
  324. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +36 -33
  328. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -3
  332. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  334. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +6 -3
  336. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -4
  338. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +228 -222
  340. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  342. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +103 -100
  344. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  346. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -3
  348. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js +3 -0
  350. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -0
  351. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +22 -0
  352. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -0
  353. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +113 -109
  356. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +125 -121
  360. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +6 -3
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +6 -3
  368. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +36 -33
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +6 -3
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +107 -103
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +36 -33
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -33
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +6 -3
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +6 -3
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +6 -3
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +105 -102
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +37 -34
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +48 -45
  412. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +61 -61
  416. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +15 -6
  420. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +6 -3
  424. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +4 -3
  426. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +108 -101
  428. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +82 -0
  430. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -0
  431. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +416 -0
  432. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -0
  433. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +8 -5
  436. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +37 -34
  440. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +6 -3
  444. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  445. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  446. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -3
  448. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  449. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  450. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +6 -3
  452. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  453. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  454. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +6 -3
  456. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  457. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  458. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +6 -3
  460. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  461. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  462. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +6 -3
  464. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  465. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  466. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  467. package/dist/shared/src/context/DetailsPanelContext.es.js +92 -94
  468. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  469. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  470. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  471. package/dist/shared/src/context/WebsocketContext.es.js +8 -5
  472. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  473. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +2 -0
  474. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -0
  475. package/dist/shared/src/hooks/useGetProductionAddon.es.js +124 -0
  476. package/dist/shared/src/hooks/useGetProductionAddon.es.js.map +1 -0
  477. package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
  478. package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
  479. package/dist/shared/src/hooks/useLocalStorage.es.js +43 -27
  480. package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
  481. package/dist/types/api/generated/graphql.d.ts +122 -0
  482. package/dist/types/api/generated/graphqlLinks.d.ts +10 -0
  483. package/dist/types/api/queries/activities/getActivities.d.ts +83 -0
  484. package/dist/types/api/queries/activities/patchTableLatestComments.d.ts +1 -0
  485. package/dist/types/api/queries/activities/updateActivities.d.ts +16 -0
  486. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
  487. package/dist/types/api/queries/entities/getEntity.d.ts +7 -0
  488. package/dist/types/api/queries/entities/getEntityPanel.d.ts +7 -0
  489. package/dist/types/api/queries/entities/updateEntity.d.ts +7 -0
  490. package/dist/types/api/queries/entityLists/getLists.d.ts +84 -0
  491. package/dist/types/api/queries/entityLists/types.d.ts +2 -1
  492. package/dist/types/api/queries/overview/getOverview.d.ts +58 -0
  493. package/dist/types/api/queries/project/getProject.d.ts +7 -0
  494. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +7 -0
  495. package/dist/types/api/queries/users/getUsers.d.ts +7 -0
  496. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +30 -0
  497. package/dist/types/components/SearchFilter/CustomDateRangeDialog.d.ts +13 -0
  498. package/dist/types/components/SearchFilter/index.d.ts +2 -0
  499. package/dist/types/components/SearchFilter/useDateRangeFilter.d.ts +36 -0
  500. package/dist/types/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.d.ts +13 -0
  501. package/dist/types/containers/DetailsPanel/helpers/subtasksFilterAdapter.d.ts +5 -0
  502. package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +1 -0
  503. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  504. package/dist/types/containers/Feed/components/FeedSearchFilter.d.ts +15 -0
  505. package/dist/types/containers/Feed/context/FeedContext.d.ts +5 -1
  506. package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +3 -0
  507. package/dist/types/containers/Feed/helpers/feedFilterAdapter.d.ts +5 -0
  508. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +5 -1
  509. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  510. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardComments.d.ts +6 -0
  511. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
  512. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  513. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -1
  514. package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +9 -0
  515. package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +5 -0
  516. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -1
  517. package/dist/types/containers/ProjectTreeTable/widgets/CommentsWidget.d.ts +7 -0
  518. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  519. package/dist/types/hooks/index.d.ts +1 -0
  520. package/dist/types/hooks/useGetProductionAddon.d.ts +10 -0
  521. package/dist/types/hooks/useLocalStorage.d.ts +2 -0
  522. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"getOverview.es.js","sources":["../../../../../../src/api/queries/overview/getOverview.ts"],"sourcesContent":["import {\n gqlApi,\n GetTasksByParentQuery,\n GetTasksListQuery,\n GetFolderColumnStatsQuery,\n GetTaskColumnStatsQuery,\n foldersApi,\n SearchFoldersApiArg,\n GetTasksListQueryVariables,\n} from '@shared/api/generated'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { EditorTaskNode } from '@shared/containers/ProjectTreeTable'\nimport type { FieldStats } from '../columnStats'\nimport { normalizeFieldStats, mergeFieldStats, hasNewTargetFields } from '../columnStats'\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\n\n// parse attribs JSON string to object\nexport const parseAllAttribs = (allAttrib: string) => {\n try {\n return JSON.parse(allAttrib)\n } catch (e) {\n return {}\n }\n}\n\nconst transformFilteredEntitiesByParent = (response: GetTasksByParentQuery): EditorTaskNode[] => {\n if (!response.project) {\n return []\n }\n\n const tasks: EditorTaskNode[] = []\n for (const { node: taskNode } of response.project.tasks.edges) {\n tasks.push({\n ...taskNode,\n folderId: taskNode.folderId || 'root',\n attrib: parseAllAttribs(taskNode.allAttrib),\n entityId: taskNode.id,\n entityType: 'task',\n links: [],\n })\n }\n\n return tasks\n}\n\nconst getOverviewTaskTags = (\n result: EditorTaskNode[] | undefined = [],\n projectName: string,\n parentIds?: string | string[],\n) => {\n const taskTags = result?.map((task) => ({ type: 'overviewTask', id: task.id })) || []\n\n const parentTags = parentIds\n ? (Array.isArray(parentIds) ? parentIds : [parentIds]).map((id) => ({\n type: 'overviewTask',\n id,\n }))\n : []\n\n return [\n ...taskTags,\n ...parentTags,\n { type: 'overviewTask', id: projectName },\n { type: 'overviewTask', id: 'LIST' },\n ]\n}\n\nexport type GetTasksListResult = {\n pageInfo: GetTasksListQuery['project']['tasks']['pageInfo']\n tasks: EditorTaskNode[]\n}\n\nexport type GetTasksListArgs = {\n projectName: string\n filter?: string\n folderFilter?: string\n search?: string\n folderIds?: string[]\n taskIds?: string[]\n desc?: boolean\n sortBy?: string\n}\n\nexport type GetGroupedTasksListResult = {\n tasks: EditorTaskNode[]\n}\n\nexport type GetGroupedTasksListArgs = {\n projectName: string\n groups: { filter: string; count: number; value: string }[]\n search?: string\n folderFilter?: string\n folderIds?: string[]\n desc?: boolean\n sortBy?: string\n groupCount?: number // optional override for all groups\n}\n\n// Define the page param type for infinite query\ntype TasksListPageParam = {\n cursor: string\n desc?: boolean\n}\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\ntype UpdatedDefinitions = Omit<Definitions, 'GetFilteredEntities'> & {\n GetTasksByParent: OverrideResultType<Definitions['GetTasksByParent'], EditorTaskNode[]>\n GetTasksList: OverrideResultType<Definitions['GetTasksList'], GetTasksListResult>\n GetFolderColumnStats: OverrideResultType<Definitions['GetFolderColumnStats'], FieldStats[]>\n GetTaskColumnStats: OverrideResultType<Definitions['GetTaskColumnStats'], FieldStats[]>\n}\n\n// GRAPHQL API\nconst enhancedApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // This gets tasks for all parent folders provided\n // But in this case it will only ever receive one parent folder from the getOverviewTasksByFolders query\n // It is only used by getOverviewTasksByFolders in this file\n GetTasksByParent: {\n transformResponse: transformFilteredEntitiesByParent,\n providesTags: (result, _e, { parentIds, projectName }) =>\n getOverviewTaskTags(result, projectName, parentIds),\n },\n GetTasksList: {\n transformResponse: (result: GetTasksListQuery) => ({\n tasks: transformFilteredEntitiesByParent(result),\n pageInfo: result.project.tasks.pageInfo,\n }),\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.tasks || [], projectName),\n },\n // footer stats: `targets` excluded from cache key + responses merged,\n // so column toggles reuse cache and only added targets refetch\n GetFolderColumnStats: {\n transformResponse: (res: GetFolderColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.folders?.fieldStats ?? []),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'folderColumnStats', id: projectName }],\n },\n GetTaskColumnStats: {\n transformResponse: (res: GetTaskColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.tasks?.fieldStats ?? []),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'taskColumnStats', id: projectName }],\n },\n },\n})\n\n// REST FOLDERS API\nconst foldersApiEnhanced = foldersApi.enhanceEndpoints({\n endpoints: {\n searchFolders: {},\n },\n})\n\nexport const TASKS_INFINITE_QUERY_COUNT = 100 // Number of items to fetch per page\n\nconst injectedApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // Each project has one cache for all the tasks of the expanded folders\n // Changing the expanded folders will trigger a refetch but not a new cache\n // Each expanded folder has it's own query that is looped over here\n // When new folders are expanded, the new tasks are fetched and we use the cache for the rest\n // This also solves the pagination issue of getting all tasks in one query, splitting it up in multiple queries to avoid pagination limits\n getOverviewTasksByFolders: build.query<\n EditorTaskNode[],\n {\n projectName: string\n parentIds: string[]\n filter?: string\n folderFilter?: string\n search?: string\n }\n >({\n async queryFn(\n { projectName, parentIds, filter, folderFilter, search },\n { dispatch, forced },\n ) {\n try {\n // Process parent IDs in sequential batches\n const BATCH_SIZE = 20 // Process x parentIds at a time\n const allTasks: EditorTaskNode[] = []\n\n // Process batches one after another\n for (let i = 0; i < parentIds.length; i += BATCH_SIZE) {\n const batchParentIds = parentIds.slice(i, i + BATCH_SIZE)\n\n // Process this batch in parallel\n const batchResults = await Promise.all(\n batchParentIds.map(async (parentId) =>\n dispatch(\n enhancedApi.endpoints.GetTasksByParent.initiate(\n {\n projectName,\n parentIds: [parentId],\n filter,\n folderFilter,\n search,\n },\n { forceRefetch: forced },\n ),\n ),\n ),\n )\n\n // Add the results from this batch to our accumulated results\n const batchTasks = batchResults\n .filter((r) => !!r.data)\n .flatMap((result) => result.data as EditorTaskNode[])\n\n allTasks.push(...batchTasks)\n }\n\n return { data: allTasks }\n } catch (e: any) {\n // handle errors appropriately\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n // keep one cache per project\n serializeQueryArgs: ({ queryArgs: { parentIds, ...rest } }) => ({\n ...rest,\n }),\n // Refetch when the page arg changes\n forceRefetch({ currentArg, previousArg }) {\n return JSON.stringify(currentArg) !== JSON.stringify(previousArg)\n },\n providesTags: (result, _e, { parentIds, projectName }) =>\n getOverviewTaskTags(result, projectName, parentIds),\n async onCacheEntryAdded(\n { projectName, parentIds, filter, search },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingTaskIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingTaskIds.size) return\n const batchIds = Array.from(pendingTaskIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingTaskIds.delete(id))\n try {\n const res = await dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(\n {\n projectName,\n taskIds: batchIds,\n } as any,\n { forceRefetch: true },\n ),\n ).unwrap()\n const returned = res.tasks || []\n const returnedMap = new Map(returned.map((t: EditorTaskNode) => [t.id, t]))\n\n updateCachedData((draft: EditorTaskNode[]) => {\n // update or add\n for (const task of returned) {\n const idx = draft.findIndex((t) => t.id === task.id)\n if (idx > -1) draft[idx] = task\n else draft.push(task)\n }\n // remove missing\n for (const id of batchIds) {\n if (!returnedMap.has(id)) {\n const idx = draft.findIndex((t) => t.id === id)\n if (idx > -1) draft.splice(idx, 1)\n }\n }\n })\n } catch (err) {\n console.error('Realtime overview batch update failed', err)\n } finally {\n if (pendingTaskIds.size) schedule()\n }\n }\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: EditorTaskNode[]) => {\n messages.forEach((message) => {\n if (message.summary.entityType === 'task' && message.summary.thumbnailHash) {\n const idx = draft.findIndex((t) => t.id === message.summary.entityId)\n if (idx > -1) {\n draft[idx].thumbnailHash = message.summary.thumbnailHash\n }\n }\n })\n })\n },\n ['task'],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const taskId = message?.summary?.entityId\n const parentId = message?.summary?.parentId\n if (!taskId || !parentId) return\n // Only react if the parent folder is part of the current expanded set\n if (!parentIds.includes(parentId)) return\n pendingTaskIds.add(taskId)\n schedule()\n }\n\n // Subscribe to task entity updates\n // NOTE: backend emits topics like 'entity.task.assignees_changed'.\n // Assuming PubSub supports prefix matching when subscribing without the suffix.\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n },\n }),\n // searchFolders is a post so it's a bit annoying to consume\n // we wrap it in a queryFn to make it easier to consume as a query hook\n getSearchFolders: build.query<string[], SearchFoldersApiArg>({\n async queryFn({ projectName, folderSearchRequest }, { dispatch }) {\n try {\n const result = await dispatch(\n foldersApiEnhanced.endpoints.searchFolders.initiate({\n projectName,\n folderSearchRequest,\n }),\n )\n\n const data = result.data?.folderIds || []\n\n return { data }\n } catch (e: any) {\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n providesTags: (_r, _e, { projectName }) => [{ type: 'tasksFolder', id: projectName }],\n }),\n // Add new infinite query endpoint for tasks list\n getTasksListInfinite: build.infiniteQuery<\n GetTasksListResult,\n GetTasksListArgs,\n TasksListPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo.hasPreviousPage : pageInfo.hasNextPage\n\n if (!hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, filter, folderFilter, search, folderIds, taskIds, sortBy, desc } =\n queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetTasksList\n const queryParams: any = {\n projectName,\n filter,\n folderFilter,\n search,\n folderIds,\n taskIds,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = TASKS_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = TASKS_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = TASKS_INFINITE_QUERY_COUNT\n }\n\n // Call the existing GetTasksList endpoint\n const result = await api.dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n tasks: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the tasks directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getTasksListInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.pages.flatMap((p) => p.tasks) || [], projectName),\n async onCacheEntryAdded(\n arg,\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingTaskIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingTaskIds.size) return\n const batchIds = Array.from(pendingTaskIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingTaskIds.delete(id))\n try {\n const res = await dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(\n {\n projectName: arg.projectName,\n taskIds: batchIds,\n folderIds: arg.folderIds,\n } as any,\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const returned = res.tasks || []\n const returnedMap = new Map(returned.map((t: EditorTaskNode) => [t.id, t]))\n\n updateCachedData((draft: { pages: GetTasksListResult[]; pageParams: any[] }) => {\n // update/insert\n for (const task of returned) {\n let located = false\n for (const page of draft.pages) {\n const idx = page.tasks.findIndex((t) => t.id === task.id)\n if (idx !== -1) {\n page.tasks[idx] = task\n located = true\n break\n }\n }\n if (!located) {\n if (draft.pages.length) draft.pages[0].tasks.unshift(task)\n else\n draft.pages.push({\n tasks: [task],\n pageInfo: {\n startCursor: null,\n endCursor: null,\n hasNextPage: false,\n hasPreviousPage: false,\n },\n })\n }\n }\n // remove any requested but missing tasks\n for (const id of batchIds) {\n if (returnedMap.has(id)) continue\n for (const page of draft.pages) {\n const idx = page.tasks.findIndex((t) => t.id === id)\n if (idx !== -1) {\n page.tasks.splice(idx, 1)\n break\n }\n }\n }\n })\n } catch (err) {\n console.error('Realtime infinite tasks batch update failed', err)\n } finally {\n if (pendingTaskIds.size) schedule()\n }\n }\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: { pages: GetTasksListResult[]; pageParams: any[] }) => {\n messages.forEach((message) => {\n if (message.summary.entityType === 'task' && message.summary.thumbnailHash) {\n for (const page of draft.pages) {\n const idx = page.tasks.findIndex((t) => t.id === message.summary.entityId)\n if (idx > -1) {\n page.tasks[idx].thumbnailHash = message.summary.thumbnailHash\n break\n }\n }\n }\n })\n })\n },\n ['task'],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const taskId = message?.summary?.entityId\n if (!taskId) return\n pendingTaskIds.add(taskId)\n schedule()\n }\n\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (_) {\n // ignore\n }\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n },\n }),\n getGroupedTasksList: build.query<GetGroupedTasksListResult, GetGroupedTasksListArgs>({\n queryFn: async (\n { projectName, groups, search, folderFilter, folderIds, desc, sortBy, groupCount },\n api,\n ) => {\n try {\n let promises = []\n // Folder-level filter keys that must go in folderFilter, not task filter\n const folderFilterKeys = new Set(['folderType'])\n\n for (const group of groups) {\n // Determine count for this group - use argument override, else group count, else default\n const count = groupCount || group.count || 500\n\n // Separate folder-level conditions from task-level conditions in the group filter\n let taskFilter = group.filter\n let mergedFolderFilter = folderFilter\n if (group.filter) {\n try {\n const parsed = JSON.parse(group.filter)\n const conditions = parsed.conditions || []\n const taskConditions = conditions.filter((c: any) => !folderFilterKeys.has(c.key))\n const folderConditions = conditions.filter((c: any) => folderFilterKeys.has(c.key))\n\n if (folderConditions.length > 0) {\n taskFilter = taskConditions.length\n ? JSON.stringify({ ...parsed, conditions: taskConditions })\n : undefined\n // Merge folder conditions with existing folderFilter, preserving metadata\n const existingFolderFilter = folderFilter ? JSON.parse(folderFilter) : null\n const existingConditions =\n existingFolderFilter && Array.isArray(existingFolderFilter.conditions)\n ? existingFolderFilter.conditions\n : []\n const allFolderConditions = [...existingConditions, ...folderConditions]\n mergedFolderFilter = JSON.stringify(\n existingFolderFilter\n ? { ...existingFolderFilter, conditions: allFolderConditions }\n : { conditions: allFolderConditions },\n )\n }\n } catch {\n // If parsing fails, use the original filter as-is\n }\n }\n\n const queryParams: GetTasksListQueryVariables = {\n projectName,\n filter: taskFilter,\n folderFilter: mergedFolderFilter,\n search,\n folderIds,\n sortBy: sortBy,\n // @ts-expect-error - we know group does not exist on query variables but we need it for later\n group: group.value,\n }\n if (desc) {\n queryParams.last = count\n } else {\n queryParams.first = count\n }\n\n const promise = api.dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(queryParams, { forceRefetch: true }),\n )\n promises.push(promise)\n }\n\n const result = await Promise.all(promises)\n const tasks: EditorTaskNode[] = []\n for (const res of result) {\n if (res.error) throw res.error\n // get group value\n // @ts-expect-error - we know group does exist on res.originalArgs from line 319\n const groupValue = res.originalArgs?.group as string\n\n const hasNextPage =\n res.data?.pageInfo?.hasNextPage || res.data?.pageInfo?.hasPreviousPage || false\n const groupTasks =\n res.data?.tasks.map((task, i, a) => ({\n ...task,\n groups: [\n {\n value: groupValue,\n hasNextPage: i === a.length - 1 && hasNextPage ? groupValue : undefined, // Only add hasNextPage to the last task in the group\n },\n ],\n })) || []\n\n tasks.push(...groupTasks)\n }\n\n // Return the tasks directly as required by the query format\n return {\n data: {\n tasks,\n },\n }\n } catch (error: any) {\n console.error('Error in getGroupedTasksList queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.tasks, projectName),\n }),\n }),\n})\n\nexport const {\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListQuery,\n useGetTasksListInfiniteInfiniteQuery,\n useLazyGetTasksByParentQuery,\n useGetGroupedTasksListQuery,\n useGetFolderColumnStatsQuery,\n useGetTaskColumnStatsQuery,\n} = injectedApi\nexport default injectedApi\n"],"names":["parseAllAttribs","allAttrib","transformFilteredEntitiesByParent","response","tasks","taskNode","getOverviewTaskTags","result","projectName","parentIds","taskTags","task","parentTags","id","enhancedApi","gqlApi","_e","res","normalizeFieldStats","_t","rest","cache","incoming","mergeFieldStats","currentArg","previousArg","hasNewTargetFields","_r","foldersApiEnhanced","foldersApi","TASKS_INFINITE_QUERY_COUNT","injectedApi","build","filter","folderFilter","search","dispatch","forced","allTasks","i","batchParentIds","batchTasks","parentId","e","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","pendingTaskIds","MAX_BATCH","INTERVAL","scheduled","schedule","flush","batchIds","returned","returnedMap","t","draft","idx","err","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","message","handlePubSub","_topic","taskId","PubSub","folderSearchRequest","lastPage","_allPages","lastPageParam","_allPageParams","pageInfo","queryArg","pageParam","api","folderIds","taskIds","sortBy","desc","cursor","queryParams","fallback","p","arg","located","page","groups","groupCount","promises","folderFilterKeys","group","count","taskFilter","mergedFolderFilter","parsed","conditions","taskConditions","c","folderConditions","existingFolderFilter","allFolderConditions","promise","groupValue","hasNextPage","groupTasks","a","error","useGetOverviewTasksByFoldersQuery","useGetSearchFoldersQuery","useGetTasksListQuery","useGetTasksListInfiniteInfiniteQuery","useLazyGetTasksByParentQuery","useGetGroupedTasksListQuery","useGetFolderColumnStatsQuery","useGetTaskColumnStatsQuery"],"mappings":"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"}
1
+ {"version":3,"file":"getOverview.es.js","sources":["../../../../../../src/api/queries/overview/getOverview.ts"],"sourcesContent":["import {\n gqlApi,\n GetTasksByParentQuery,\n GetTasksListQuery,\n GetFolderColumnStatsQuery,\n GetTaskColumnStatsQuery,\n foldersApi,\n SearchFoldersApiArg,\n GetTasksListQueryVariables,\n} from '@shared/api/generated'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { EditorTaskNode } from '@shared/containers/ProjectTreeTable'\nimport type { FieldStats } from '../columnStats'\nimport { normalizeFieldStats, mergeFieldStats, hasNewTargetFields } from '../columnStats'\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\n\n// parse attribs JSON string to object\nexport const parseAllAttribs = (allAttrib: string) => {\n try {\n return JSON.parse(allAttrib)\n } catch (e) {\n return {}\n }\n}\n\nconst transformFilteredEntitiesByParent = (response: GetTasksByParentQuery): EditorTaskNode[] => {\n if (!response.project) {\n return []\n }\n\n const tasks: EditorTaskNode[] = []\n for (const { node: taskNode } of response.project.tasks.edges) {\n tasks.push({\n ...taskNode,\n folderId: taskNode.folderId || 'root',\n attrib: parseAllAttribs(taskNode.allAttrib),\n entityId: taskNode.id,\n entityType: 'task',\n links: [],\n })\n }\n\n return tasks\n}\n\nconst getOverviewTaskTags = (\n result: EditorTaskNode[] | undefined = [],\n projectName: string,\n parentIds?: string | string[],\n) => {\n const taskTags = result?.map((task) => ({ type: 'overviewTask', id: task.id })) || []\n\n const parentTags = parentIds\n ? (Array.isArray(parentIds) ? parentIds : [parentIds]).map((id) => ({\n type: 'overviewTask',\n id,\n }))\n : []\n\n return [\n ...taskTags,\n ...parentTags,\n { type: 'overviewTask', id: projectName },\n { type: 'overviewTask', id: 'LIST' },\n ]\n}\n\nexport type GetTasksListResult = {\n pageInfo: GetTasksListQuery['project']['tasks']['pageInfo']\n tasks: EditorTaskNode[]\n}\n\nexport type GetTasksListArgs = {\n projectName: string\n filter?: string\n folderFilter?: string\n search?: string\n folderIds?: string[]\n taskIds?: string[]\n desc?: boolean\n sortBy?: string\n}\n\nexport type GetGroupedTasksListResult = {\n tasks: EditorTaskNode[]\n}\n\nexport type GetGroupedTasksListArgs = {\n projectName: string\n groups: { filter: string; count: number; value: string }[]\n search?: string\n folderFilter?: string\n folderIds?: string[]\n desc?: boolean\n sortBy?: string\n groupCount?: number // optional override for all groups\n showComments?: boolean\n}\n\n// Define the page param type for infinite query\ntype TasksListPageParam = {\n cursor: string\n desc?: boolean\n}\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\ntype UpdatedDefinitions = Omit<Definitions, 'GetFilteredEntities'> & {\n GetTasksByParent: OverrideResultType<Definitions['GetTasksByParent'], EditorTaskNode[]>\n GetTasksList: OverrideResultType<Definitions['GetTasksList'], GetTasksListResult>\n GetFolderColumnStats: OverrideResultType<Definitions['GetFolderColumnStats'], FieldStats[]>\n GetTaskColumnStats: OverrideResultType<Definitions['GetTaskColumnStats'], FieldStats[]>\n}\n\n// GRAPHQL API\nconst enhancedApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // This gets tasks for all parent folders provided\n // But in this case it will only ever receive one parent folder from the getOverviewTasksByFolders query\n // It is only used by getOverviewTasksByFolders in this file\n GetTasksByParent: {\n transformResponse: transformFilteredEntitiesByParent,\n providesTags: (result, _e, { parentIds, projectName }) =>\n getOverviewTaskTags(result, projectName, parentIds),\n },\n GetTasksList: {\n transformResponse: (result: GetTasksListQuery) => ({\n tasks: transformFilteredEntitiesByParent(result),\n pageInfo: result.project.tasks.pageInfo,\n }),\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.tasks || [], projectName),\n },\n // footer stats: `targets` excluded from cache key + responses merged,\n // so column toggles reuse cache and only added targets refetch\n GetFolderColumnStats: {\n transformResponse: (res: GetFolderColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.folders?.fieldStats ?? []),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'folderColumnStats', id: projectName }],\n },\n GetTaskColumnStats: {\n transformResponse: (res: GetTaskColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.tasks?.fieldStats ?? []),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'taskColumnStats', id: projectName }],\n },\n },\n})\n\n// REST FOLDERS API\nconst foldersApiEnhanced = foldersApi.enhanceEndpoints({\n endpoints: {\n searchFolders: {},\n },\n})\n\nexport const TASKS_INFINITE_QUERY_COUNT = 100 // Number of items to fetch per page\n\nconst injectedApi = enhancedApi.injectEndpoints({\n endpoints: (build) => ({\n // Each project has one cache for all the tasks of the expanded folders\n // Changing the expanded folders will trigger a refetch but not a new cache\n // Each expanded folder has it's own query that is looped over here\n // When new folders are expanded, the new tasks are fetched and we use the cache for the rest\n // This also solves the pagination issue of getting all tasks in one query, splitting it up in multiple queries to avoid pagination limits\n getOverviewTasksByFolders: build.query<\n EditorTaskNode[],\n {\n projectName: string\n parentIds: string[]\n filter?: string\n folderFilter?: string\n search?: string\n showComments?: boolean\n }\n >({\n async queryFn(\n { projectName, parentIds, filter, folderFilter, search, showComments },\n { dispatch, forced },\n ) {\n try {\n // Process parent IDs in sequential batches\n const BATCH_SIZE = 20 // Process x parentIds at a time\n const allTasks: EditorTaskNode[] = []\n\n // Process batches one after another\n for (let i = 0; i < parentIds.length; i += BATCH_SIZE) {\n const batchParentIds = parentIds.slice(i, i + BATCH_SIZE)\n\n // Process this batch in parallel\n const batchResults = await Promise.all(\n batchParentIds.map(async (parentId) =>\n dispatch(\n enhancedApi.endpoints.GetTasksByParent.initiate(\n {\n projectName,\n parentIds: [parentId],\n filter,\n folderFilter,\n search,\n showComments: !!showComments,\n },\n { forceRefetch: forced },\n ),\n ),\n ),\n )\n\n // Add the results from this batch to our accumulated results\n const batchTasks = batchResults\n .filter((r) => !!r.data)\n .flatMap((result) => result.data as EditorTaskNode[])\n\n allTasks.push(...batchTasks)\n }\n\n return { data: allTasks }\n } catch (e: any) {\n // handle errors appropriately\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n // keep one cache per project\n serializeQueryArgs: ({ queryArgs: { parentIds, ...rest } }) => ({\n ...rest,\n }),\n // Refetch when the page arg changes\n forceRefetch({ currentArg, previousArg }) {\n return JSON.stringify(currentArg) !== JSON.stringify(previousArg)\n },\n providesTags: (result, _e, { parentIds, projectName }) =>\n getOverviewTaskTags(result, projectName, parentIds),\n async onCacheEntryAdded(\n { projectName, parentIds, filter, search, showComments },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingTaskIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingTaskIds.size) return\n const batchIds = Array.from(pendingTaskIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingTaskIds.delete(id))\n try {\n const res = await dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(\n {\n projectName,\n taskIds: batchIds,\n showComments: !!showComments,\n } as any,\n { forceRefetch: true },\n ),\n ).unwrap()\n const returned = res.tasks || []\n const returnedMap = new Map(returned.map((t: EditorTaskNode) => [t.id, t]))\n\n updateCachedData((draft: EditorTaskNode[]) => {\n // update or add\n for (const task of returned) {\n const idx = draft.findIndex((t) => t.id === task.id)\n if (idx > -1) draft[idx] = task\n else draft.push(task)\n }\n // remove missing\n for (const id of batchIds) {\n if (!returnedMap.has(id)) {\n const idx = draft.findIndex((t) => t.id === id)\n if (idx > -1) draft.splice(idx, 1)\n }\n }\n })\n } catch (err) {\n console.error('Realtime overview batch update failed', err)\n } finally {\n if (pendingTaskIds.size) schedule()\n }\n }\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: EditorTaskNode[]) => {\n messages.forEach((message) => {\n if (message.summary.entityType === 'task' && message.summary.thumbnailHash) {\n const idx = draft.findIndex((t) => t.id === message.summary.entityId)\n if (idx > -1) {\n draft[idx].thumbnailHash = message.summary.thumbnailHash\n }\n }\n })\n })\n },\n ['task'],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const taskId = message?.summary?.entityId\n const parentId = message?.summary?.parentId\n if (!taskId || !parentId) return\n // Only react if the parent folder is part of the current expanded set\n if (!parentIds.includes(parentId)) return\n pendingTaskIds.add(taskId)\n schedule()\n }\n\n // Subscribe to task entity updates\n // NOTE: backend emits topics like 'entity.task.assignees_changed'.\n // Assuming PubSub supports prefix matching when subscribing without the suffix.\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n },\n }),\n // searchFolders is a post so it's a bit annoying to consume\n // we wrap it in a queryFn to make it easier to consume as a query hook\n getSearchFolders: build.query<string[], SearchFoldersApiArg>({\n async queryFn({ projectName, folderSearchRequest }, { dispatch }) {\n try {\n const result = await dispatch(\n foldersApiEnhanced.endpoints.searchFolders.initiate({\n projectName,\n folderSearchRequest,\n }),\n )\n\n const data = result.data?.folderIds || []\n\n return { data }\n } catch (e: any) {\n console.error(e)\n const error = { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError\n return { error }\n }\n },\n providesTags: (_r, _e, { projectName }) => [{ type: 'tasksFolder', id: projectName }],\n }),\n // Add new infinite query endpoint for tasks list\n getTasksListInfinite: build.infiniteQuery<\n GetTasksListResult,\n GetTasksListArgs,\n TasksListPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo.hasPreviousPage : pageInfo.hasNextPage\n\n if (!hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const {\n projectName,\n filter,\n folderFilter,\n search,\n folderIds,\n taskIds,\n sortBy,\n desc,\n showComments,\n } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetTasksList\n const queryParams: any = {\n projectName,\n filter,\n folderFilter,\n search,\n folderIds,\n taskIds,\n showComments: !!showComments,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = TASKS_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = TASKS_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = TASKS_INFINITE_QUERY_COUNT\n }\n\n // Call the existing GetTasksList endpoint\n const result = await api.dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n tasks: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the tasks directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getTasksListInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.pages.flatMap((p) => p.tasks) || [], projectName),\n async onCacheEntryAdded(\n arg,\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingTaskIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingTaskIds.size) return\n const batchIds = Array.from(pendingTaskIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingTaskIds.delete(id))\n try {\n const res = await dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(\n {\n projectName: arg.projectName,\n taskIds: batchIds,\n folderIds: arg.folderIds,\n showComments: !!arg.showComments,\n } as any,\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const returned = res.tasks || []\n const returnedMap = new Map(returned.map((t: EditorTaskNode) => [t.id, t]))\n\n updateCachedData((draft: { pages: GetTasksListResult[]; pageParams: any[] }) => {\n // update/insert\n for (const task of returned) {\n let located = false\n for (const page of draft.pages) {\n const idx = page.tasks.findIndex((t) => t.id === task.id)\n if (idx !== -1) {\n page.tasks[idx] = task\n located = true\n break\n }\n }\n if (!located) {\n if (draft.pages.length) draft.pages[0].tasks.unshift(task)\n else\n draft.pages.push({\n tasks: [task],\n pageInfo: {\n startCursor: null,\n endCursor: null,\n hasNextPage: false,\n hasPreviousPage: false,\n },\n })\n }\n }\n // remove any requested but missing tasks\n for (const id of batchIds) {\n if (returnedMap.has(id)) continue\n for (const page of draft.pages) {\n const idx = page.tasks.findIndex((t) => t.id === id)\n if (idx !== -1) {\n page.tasks.splice(idx, 1)\n break\n }\n }\n }\n })\n } catch (err) {\n console.error('Realtime infinite tasks batch update failed', err)\n } finally {\n if (pendingTaskIds.size) schedule()\n }\n }\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: { pages: GetTasksListResult[]; pageParams: any[] }) => {\n messages.forEach((message) => {\n if (message.summary.entityType === 'task' && message.summary.thumbnailHash) {\n for (const page of draft.pages) {\n const idx = page.tasks.findIndex((t) => t.id === message.summary.entityId)\n if (idx > -1) {\n page.tasks[idx].thumbnailHash = message.summary.thumbnailHash\n break\n }\n }\n }\n })\n })\n },\n ['task'],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const taskId = message?.summary?.entityId\n if (!taskId) return\n pendingTaskIds.add(taskId)\n schedule()\n }\n\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (_) {\n // ignore\n }\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n },\n }),\n getGroupedTasksList: build.query<GetGroupedTasksListResult, GetGroupedTasksListArgs>({\n queryFn: async (\n {\n projectName,\n groups,\n search,\n folderFilter,\n folderIds,\n desc,\n sortBy,\n groupCount,\n showComments,\n },\n api,\n ) => {\n try {\n let promises = []\n // Folder-level filter keys that must go in folderFilter, not task filter\n const folderFilterKeys = new Set(['folderType'])\n\n for (const group of groups) {\n // Determine count for this group - use argument override, else group count, else default\n const count = groupCount || group.count || 500\n\n // Separate folder-level conditions from task-level conditions in the group filter\n let taskFilter = group.filter\n let mergedFolderFilter = folderFilter\n if (group.filter) {\n try {\n const parsed = JSON.parse(group.filter)\n const conditions = parsed.conditions || []\n const taskConditions = conditions.filter((c: any) => !folderFilterKeys.has(c.key))\n const folderConditions = conditions.filter((c: any) => folderFilterKeys.has(c.key))\n\n if (folderConditions.length > 0) {\n taskFilter = taskConditions.length\n ? JSON.stringify({ ...parsed, conditions: taskConditions })\n : undefined\n // Merge folder conditions with existing folderFilter, preserving metadata\n const existingFolderFilter = folderFilter ? JSON.parse(folderFilter) : null\n const existingConditions =\n existingFolderFilter && Array.isArray(existingFolderFilter.conditions)\n ? existingFolderFilter.conditions\n : []\n const allFolderConditions = [...existingConditions, ...folderConditions]\n mergedFolderFilter = JSON.stringify(\n existingFolderFilter\n ? { ...existingFolderFilter, conditions: allFolderConditions }\n : { conditions: allFolderConditions },\n )\n }\n } catch {\n // If parsing fails, use the original filter as-is\n }\n }\n\n const queryParams: GetTasksListQueryVariables = {\n projectName,\n filter: taskFilter,\n folderFilter: mergedFolderFilter,\n search,\n folderIds,\n sortBy: sortBy,\n showComments: !!showComments,\n // @ts-expect-error - we know group does not exist on query variables but we need it for later\n group: group.value,\n }\n if (desc) {\n queryParams.last = count\n } else {\n queryParams.first = count\n }\n\n const promise = api.dispatch(\n enhancedApi.endpoints.GetTasksList.initiate(queryParams, { forceRefetch: true }),\n )\n promises.push(promise)\n }\n\n const result = await Promise.all(promises)\n const tasks: EditorTaskNode[] = []\n for (const res of result) {\n if (res.error) throw res.error\n // get group value\n // @ts-expect-error - we know group does exist on res.originalArgs from line 319\n const groupValue = res.originalArgs?.group as string\n\n const hasNextPage =\n res.data?.pageInfo?.hasNextPage || res.data?.pageInfo?.hasPreviousPage || false\n const groupTasks =\n res.data?.tasks.map((task, i, a) => ({\n ...task,\n groups: [\n {\n value: groupValue,\n hasNextPage: i === a.length - 1 && hasNextPage ? groupValue : undefined, // Only add hasNextPage to the last task in the group\n },\n ],\n })) || []\n\n tasks.push(...groupTasks)\n }\n\n // Return the tasks directly as required by the query format\n return {\n data: {\n tasks,\n },\n }\n } catch (error: any) {\n console.error('Error in getGroupedTasksList queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { projectName }) =>\n getOverviewTaskTags(result?.tasks, projectName),\n }),\n }),\n})\n\nexport const {\n useGetOverviewTasksByFoldersQuery,\n useGetSearchFoldersQuery,\n useGetTasksListQuery,\n useGetTasksListInfiniteInfiniteQuery,\n useLazyGetTasksByParentQuery,\n useGetGroupedTasksListQuery,\n useGetFolderColumnStatsQuery,\n useGetTaskColumnStatsQuery,\n} = injectedApi\nexport default injectedApi\n"],"names":["parseAllAttribs","allAttrib","transformFilteredEntitiesByParent","response","tasks","taskNode","getOverviewTaskTags","result","projectName","parentIds","taskTags","task","parentTags","id","enhancedApi","gqlApi","_e","res","normalizeFieldStats","_t","rest","cache","incoming","mergeFieldStats","currentArg","previousArg","hasNewTargetFields","_r","foldersApiEnhanced","foldersApi","TASKS_INFINITE_QUERY_COUNT","injectedApi","build","filter","folderFilter","search","showComments","dispatch","forced","allTasks","i","batchParentIds","batchTasks","parentId","e","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","pendingTaskIds","MAX_BATCH","INTERVAL","scheduled","schedule","flush","batchIds","returned","returnedMap","t","draft","idx","err","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","message","handlePubSub","_topic","taskId","PubSub","folderSearchRequest","lastPage","_allPages","lastPageParam","_allPageParams","pageInfo","queryArg","pageParam","api","folderIds","taskIds","sortBy","desc","cursor","queryParams","fallback","p","arg","located","page","groups","groupCount","promises","folderFilterKeys","group","count","taskFilter","mergedFolderFilter","parsed","conditions","taskConditions","c","folderConditions","existingFolderFilter","allFolderConditions","promise","groupValue","hasNextPage","groupTasks","a","error","useGetOverviewTasksByFoldersQuery","useGetSearchFoldersQuery","useGetTasksListQuery","useGetTasksListInfiniteInfiniteQuery","useLazyGetTasksByParentQuery","useGetGroupedTasksListQuery","useGetFolderColumnStatsQuery","useGetTaskColumnStatsQuery"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const o=require("../../../../../_virtual/jsx-runtime.cjs.js"),w=require("styled-components");require("../../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");const W=require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js"),E=require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");const k=require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js"),R=require("../../../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js"),T=require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("react");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../AccessUser/AccessUser.cjs.js");require("clsx");require("../../AttributeEditor/AttributeEditor.cjs.js");require("../../AttributeEditor/attributeTypeMap.cjs.js");require("../../Badge/Badge.cjs.js");require("../../Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../DateRangePicker/DateRangePicker.styled.cjs.js");require("../../LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../DetailsPanelAttributesEditor.cjs.js");require("../../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../DetailsPanelDetails/BorderedSection.cjs.js");require("../../QuillListStyles/QuillListStyles.cjs.js");require("../../DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const V=require("../../../hooks/useScopedStatuses.cjs.js"),f=require("../../../hooks/useScopedTypes.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../DetailsPanelDetails/DetailsSection.cjs.js");require("../../DetailsPanelDetails/FieldLabel.cjs.js");require("../../DoneCheckbox/DoneCheckbox.cjs.js");require("../../EarlyPreview/EarlyPreview.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../EnumEditor/EnumEditor.styled.cjs.js");require("../../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../containers/Feed/context/FeedContext.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../containers/Feed/components/ActivityDate.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../../containers/Feed/Feed.styled.cjs.js");require("../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../SearchFilter/filterDates.cjs.js");require("short-uuid");require("../../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../containers/Slicer/components/Slicer.cjs.js");require("../../../containers/Slicer/context/SlicerContext.cjs.js");require("../../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../PlayableIcon/PlayableIcon.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../containers/Actions/Actions.styled.cjs.js");require("../../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../containers/Actions/ActionIcon.cjs.js");require("../../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../containers/Views/context/ViewsContextInstance.cjs.js");require("../../../containers/Views/Views.styled.cjs.js");require("../../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../containers/ListTable/ListTableRow.cjs.js");require("../../../containers/ListTable/ListTable.styled.cjs.js");require("../../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../EntityPath/EntityPath.styled.cjs.js");require("../../EntityPath/SegmentProvider.cjs.js");require("../../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../Feedback/FeedbackContextInstance.cjs.js");require("../../Feedback/SupportBubble.cjs.js");require("../../FileThumbnail/FileThumbnail.cjs.js");require("../../LegacyBadge/LegacyBadge.cjs.js");require("../../LinksManager/LinksManager.styled.cjs.js");require("../../Powerpack/PowerpackButton.cjs.js");require("../../Powerpack/FreeTrialLink.cjs.js");require("../../Powerpack/PowerpackDialog.styled.cjs.js");require("../../Powerpack/CTAButton.cjs.js");require("../../Powerpack/RequiredAddonVersion.cjs.js");require("../../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../SizeSlider/SizeSlider.cjs.js");require("../../ReviewableCard/ReviewableCard.cjs.js");require("../../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../SettingsPanel/SettingsPanel.cjs.js");require("../../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../StyledLink/StyledLink.cjs.js");require("../../TableGridSwitch/TableGridSwitch.cjs.js");require("../../Thumbnail/Thumbnail.styled.cjs.js");require("../../Thumbnail/StackedThumbnails.cjs.js");require("../../ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../VersionUploader/components/UploadVersionDialog.cjs.js");require("../../VersionUploader/context/VersionUploadContext.cjs.js");require("../../Watchers/Watchers.cjs.js");require("../../Menu/Menu.styled.cjs.js");require("../../Menu/MenuItem.cjs.js");require("../../ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../ColumnHeaderMenuUI.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");const N=w.div`
1
+ "use strict";const o=require("../../../../../_virtual/jsx-runtime.cjs.js"),w=require("styled-components");require("../../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");const W=require("../../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js"),E=require("../../../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");const k=require("../../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js"),R=require("../../../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js"),T=require("../../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("react");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../AccessUser/AccessUser.cjs.js");require("clsx");require("../../AttributeEditor/AttributeEditor.cjs.js");require("../../AttributeEditor/attributeTypeMap.cjs.js");require("../../Badge/Badge.cjs.js");require("../../Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../DateRangePicker/DateRangePicker.styled.cjs.js");require("../../LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../DetailsPanelAttributesEditor.cjs.js");require("../../DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../DetailsPanelDetails/BorderedSection.cjs.js");require("../../QuillListStyles/QuillListStyles.cjs.js");require("../../DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");const V=require("../../../hooks/useScopedStatuses.cjs.js"),f=require("../../../hooks/useScopedTypes.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../DetailsPanelDetails/DetailsSection.cjs.js");require("../../DetailsPanelDetails/FieldLabel.cjs.js");require("../../DoneCheckbox/DoneCheckbox.cjs.js");require("../../EarlyPreview/EarlyPreview.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../EnumEditor/EnumEditor.styled.cjs.js");require("../../../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../containers/Feed/context/FeedContext.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../../../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../containers/Feed/components/ActivityDate.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../../containers/Feed/Feed.styled.cjs.js");require("../../../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../SearchFilter/filterDates.cjs.js");require("short-uuid");require("../../../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../containers/Slicer/components/Slicer.cjs.js");require("../../../containers/Slicer/context/SlicerContext.cjs.js");require("../../../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../PlayableIcon/PlayableIcon.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../containers/Actions/Actions.styled.cjs.js");require("../../../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../containers/Actions/ActionIcon.cjs.js");require("../../../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../containers/Views/context/ViewsContextInstance.cjs.js");require("../../../containers/Views/Views.styled.cjs.js");require("../../../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../containers/ListTable/ListTableRow.cjs.js");require("../../../containers/ListTable/ListTable.styled.cjs.js");require("../../EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../EntityPath/EntityPath.styled.cjs.js");require("../../EntityPath/SegmentProvider.cjs.js");require("../../FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../Feedback/FeedbackContextInstance.cjs.js");require("../../Feedback/SupportBubble.cjs.js");require("../../FileThumbnail/FileThumbnail.cjs.js");require("../../LegacyBadge/LegacyBadge.cjs.js");require("../../LinksManager/LinksManager.styled.cjs.js");require("../../Powerpack/PowerpackButton.cjs.js");require("../../Powerpack/FreeTrialLink.cjs.js");require("../../Powerpack/PowerpackDialog.styled.cjs.js");require("../../Powerpack/CTAButton.cjs.js");require("../../Powerpack/RequiredAddonVersion.cjs.js");require("../../ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../SizeSlider/SizeSlider.cjs.js");require("../../ReviewableCard/ReviewableCard.cjs.js");require("../../ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../SearchFilter/CustomDateRangeDialog.cjs.js");require("../../SettingsPanel/SettingsPanel.cjs.js");require("../../SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../StyledLink/StyledLink.cjs.js");require("../../TableGridSwitch/TableGridSwitch.cjs.js");require("../../Thumbnail/Thumbnail.styled.cjs.js");require("../../Thumbnail/StackedThumbnails.cjs.js");require("../../ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../VersionUploader/components/UploadVersionDialog.cjs.js");require("../../VersionUploader/context/VersionUploadContext.cjs.js");require("../../Watchers/Watchers.cjs.js");require("../../Menu/Menu.styled.cjs.js");require("../../Menu/MenuItem.cjs.js");require("../../ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../ColumnHeaderMenuUI.cjs.js");require("../../../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");const N=w.div`
2
2
  width: 100%;
3
3
  overflow: hidden;
4
4
  text-overflow: ellipsis;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderFieldWidget.cjs.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport {\n TextWidget,\n MarkdownWidget,\n BooleanWidget,\n DateWidget,\n EnumWidget,\n} from '@shared/containers/ProjectTreeTable/widgets'\nimport { useScopedStatuses, useScopedTypes } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData, EnumItem } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n onExpand?: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n onExpand,\n entities = [],\n entityType = 'task',\n}) => {\n const { type, widget } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isReadOnly: isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Hooks must be called at top level - not inside conditions\n const projectNames = entities.map((entity) => entity.projectName)\n const scopedStatuses = useScopedStatuses(projectNames, [entityType])\n const scopedTypes = useScopedTypes(projectNames, entityType)\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget value={Boolean(displayValue)} {...widgetCommonProps} style={{ margin: 0 }} />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type?.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses/types based on field name\n let enumOptions: EnumItem[] = (field.data.enum || []).map((item) => ({\n value: item.value,\n label: item.label,\n icon: typeof item.icon === 'string' ? item.icon : undefined,\n color: item.color,\n }))\n if (\n field.name === 'status' &&\n entities.length > 0 &&\n scopedStatuses &&\n scopedStatuses.length > 0\n ) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n if (\n field.name === 'taskType' &&\n entities.length > 0 &&\n scopedTypes &&\n scopedTypes.length > 0\n ) {\n enumOptions = scopedTypes.map((t) => ({\n value: t.name,\n label: t.name,\n icon: t.icon,\n color: t.color,\n }))\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? enumOptions.length >= 5}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n if (widget === 'markdown') {\n return (\n <MarkdownWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n onExpand={onExpand}\n showExpand={!!onExpand}\n {...widgetCommonProps}\n />\n )\n } else {\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","onExpand","entities","entityType","type","widget","widgetCommonProps","newValue","projectNames","entity","scopedStatuses","useScopedStatuses","scopedTypes","useScopedTypes","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","item","status","t","MarkdownWidget","TextWidget"],"mappings":"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"}
1
+ {"version":3,"file":"RenderFieldWidget.cjs.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport {\n TextWidget,\n MarkdownWidget,\n BooleanWidget,\n DateWidget,\n EnumWidget,\n} from '@shared/containers/ProjectTreeTable/widgets'\nimport { useScopedStatuses, useScopedTypes } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData, EnumItem } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n onExpand?: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n onExpand,\n entities = [],\n entityType = 'task',\n}) => {\n const { type, widget } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isReadOnly: isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Hooks must be called at top level - not inside conditions\n const projectNames = entities.map((entity) => entity.projectName)\n const scopedStatuses = useScopedStatuses(projectNames, [entityType])\n const scopedTypes = useScopedTypes(projectNames, entityType)\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget value={Boolean(displayValue)} {...widgetCommonProps} style={{ margin: 0 }} />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type?.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses/types based on field name\n let enumOptions: EnumItem[] = (field.data.enum || []).map((item) => ({\n value: item.value,\n label: item.label,\n icon: typeof item.icon === 'string' ? item.icon : undefined,\n color: item.color,\n }))\n if (\n field.name === 'status' &&\n entities.length > 0 &&\n scopedStatuses &&\n scopedStatuses.length > 0\n ) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n if (\n field.name === 'taskType' &&\n entities.length > 0 &&\n scopedTypes &&\n scopedTypes.length > 0\n ) {\n enumOptions = scopedTypes.map((t) => ({\n value: t.name,\n label: t.name,\n icon: t.icon,\n color: t.color,\n }))\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? enumOptions.length >= 5}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n if (widget === 'markdown') {\n return (\n <MarkdownWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n onExpand={onExpand}\n showExpand={!!onExpand}\n {...widgetCommonProps}\n />\n )\n } else {\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","onExpand","entities","entityType","type","widget","widgetCommonProps","newValue","projectNames","entity","scopedStatuses","useScopedStatuses","scopedTypes","useScopedTypes","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","item","status","t","MarkdownWidget","TextWidget"],"mappings":"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"}
@@ -206,7 +206,7 @@ import "../../../containers/Feed/components/ActivityVersionReview/ActivityVersio
206
206
  import "../../../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
207
207
  import "../../../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
208
208
  import "../../../containers/Feed/Feed.styled.es.js";
209
- import "../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
209
+ import "../../../containers/Feed/components/FeedSearchFilter.es.js";
210
210
  import "@tanstack/react-virtual";
211
211
  import "@tanstack/react-table";
212
212
  import "../../../containers/ProjectTreeTable/context/CellEditingContext.es.js";
@@ -237,6 +237,8 @@ import "../../../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPa
237
237
  import "../../PlayableIcon/PlayableIcon.es.js";
238
238
  import "../../../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js";
239
239
  import "../../../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js";
240
+ import "../../../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
241
+ import "../../../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js";
240
242
  import "../../../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
241
243
  import "../../../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
242
244
  import "../../../containers/Actions/Actions.styled.es.js";
@@ -269,6 +271,7 @@ import "../../ProjectTableSettings/ProjectTableSettings.es.js";
269
271
  import "../../SizeSlider/SizeSlider.es.js";
270
272
  import "../../ReviewableCard/ReviewableCard.es.js";
271
273
  import "../../ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
274
+ import "../../SearchFilter/CustomDateRangeDialog.es.js";
272
275
  import "../../SettingsPanel/SettingsPanel.es.js";
273
276
  import "../../SettingsPanel/SettingsPanelItemTemplate.es.js";
274
277
  import "../../ShareOptionIcon/ShareOptionIcon.es.js";
@@ -307,7 +310,7 @@ const C = y.div`
307
310
  &:hover {
308
311
  background-color: unset;
309
312
  }
310
- `, _m = ({
313
+ `, rp = ({
311
314
  field: o,
312
315
  value: s,
313
316
  isEditing: b,
@@ -410,6 +413,6 @@ const C = y.div`
410
413
  }
411
414
  };
412
415
  export {
413
- _m as default
416
+ rp as default
414
417
  };
415
418
  //# sourceMappingURL=RenderFieldWidget.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderFieldWidget.es.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport {\n TextWidget,\n MarkdownWidget,\n BooleanWidget,\n DateWidget,\n EnumWidget,\n} from '@shared/containers/ProjectTreeTable/widgets'\nimport { useScopedStatuses, useScopedTypes } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData, EnumItem } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n onExpand?: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n onExpand,\n entities = [],\n entityType = 'task',\n}) => {\n const { type, widget } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isReadOnly: isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Hooks must be called at top level - not inside conditions\n const projectNames = entities.map((entity) => entity.projectName)\n const scopedStatuses = useScopedStatuses(projectNames, [entityType])\n const scopedTypes = useScopedTypes(projectNames, entityType)\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget value={Boolean(displayValue)} {...widgetCommonProps} style={{ margin: 0 }} />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type?.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses/types based on field name\n let enumOptions: EnumItem[] = (field.data.enum || []).map((item) => ({\n value: item.value,\n label: item.label,\n icon: typeof item.icon === 'string' ? item.icon : undefined,\n color: item.color,\n }))\n if (\n field.name === 'status' &&\n entities.length > 0 &&\n scopedStatuses &&\n scopedStatuses.length > 0\n ) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n if (\n field.name === 'taskType' &&\n entities.length > 0 &&\n scopedTypes &&\n scopedTypes.length > 0\n ) {\n enumOptions = scopedTypes.map((t) => ({\n value: t.name,\n label: t.name,\n icon: t.icon,\n color: t.color,\n }))\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? enumOptions.length >= 5}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n if (widget === 'markdown') {\n return (\n <MarkdownWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n onExpand={onExpand}\n showExpand={!!onExpand}\n {...widgetCommonProps}\n />\n )\n } else {\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","onExpand","entities","entityType","type","widget","widgetCommonProps","newValue","projectNames","entity","scopedStatuses","useScopedStatuses","scopedTypes","useScopedTypes","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","item","status","MarkdownWidget","TextWidget"],"mappings":"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"}
1
+ {"version":3,"file":"RenderFieldWidget.es.js","sources":["../../../../../../src/components/DetailsPanelAttributes/components/RenderFieldWidget.tsx"],"sourcesContent":["import { FC } from 'react'\nimport styled from 'styled-components'\nimport type { CellValue } from '@shared/containers/ProjectTreeTable/widgets/CellWidget'\nimport {\n TextWidget,\n MarkdownWidget,\n BooleanWidget,\n DateWidget,\n EnumWidget,\n} from '@shared/containers/ProjectTreeTable/widgets'\nimport { useScopedStatuses, useScopedTypes } from '@shared/hooks'\n// Import AttributeField as a type to avoid runtime circular dependency with DetailsPanelAttributesEditor\nimport type { AttributeField } from '../DetailsPanelAttributesEditor'\nimport type { DetailsPanelEntityData, EnumItem } from '@shared/api'\n\nconst FieldValueText = styled.div`\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: right;\n\n input {\n text-align: left;\n }\n`\n\nconst StyledEnumWidget = styled(EnumWidget)`\n .enum,\n .edit-trigger {\n &:hover {\n background-color: unset;\n }\n }\n &:hover {\n background-color: unset;\n }\n`\n\ninterface RenderFieldWidgetProps {\n field: AttributeField\n value: any\n isEditing: boolean\n isReadOnly: boolean\n isMixed: boolean\n onChange: (fieldName: string, value: CellValue | CellValue[]) => void\n onCancelEdit: () => void\n onExpand?: () => void\n entities?: DetailsPanelEntityData[]\n entityType?: string\n}\n\nconst RenderFieldWidget: FC<RenderFieldWidgetProps> = ({\n field,\n value,\n isEditing,\n isReadOnly,\n isMixed,\n onChange,\n onCancelEdit,\n onExpand,\n entities = [],\n entityType = 'task',\n}) => {\n const { type, widget } = field.data\n const widgetCommonProps = {\n isEditing: isEditing && !isReadOnly,\n isReadOnly: isReadOnly,\n isInherited: false,\n onChange: (newValue: CellValue | CellValue[]) => onChange(field.name, newValue),\n }\n\n // Hooks must be called at top level - not inside conditions\n const projectNames = entities.map((entity) => entity.projectName)\n const scopedStatuses = useScopedStatuses(projectNames, [entityType])\n const scopedTypes = useScopedTypes(projectNames, entityType)\n\n // Format the value for display\n let displayValue = value === null || value === undefined ? '' : value\n const labelValue = field.data.title || field.name\n\n // Handle different field types\n switch (true) {\n case type === 'boolean':\n return (\n <BooleanWidget value={Boolean(displayValue)} {...widgetCommonProps} style={{ margin: 0 }} />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={displayValue}\n {...widgetCommonProps}\n isEditing\n onCancelEdit={onCancelEdit}\n style={{ width: 'fit-content' }}\n autoFocus={false}\n />\n )\n\n case !!field.data.enum: {\n const isListType = type?.includes('list')\n let valueArray = []\n\n if (isListType) {\n valueArray = Array.isArray(displayValue) ? displayValue : []\n } else if (isMixed) {\n valueArray = []\n } else {\n valueArray = [displayValue]\n }\n\n // Use scoped statuses/types based on field name\n let enumOptions: EnumItem[] = (field.data.enum || []).map((item) => ({\n value: item.value,\n label: item.label,\n icon: typeof item.icon === 'string' ? item.icon : undefined,\n color: item.color,\n }))\n if (\n field.name === 'status' &&\n entities.length > 0 &&\n scopedStatuses &&\n scopedStatuses.length > 0\n ) {\n enumOptions = scopedStatuses.map((status) => ({\n value: status.name,\n label: status.name,\n icon: status.icon,\n color: status.color,\n }))\n }\n if (\n field.name === 'taskType' &&\n entities.length > 0 &&\n scopedTypes &&\n scopedTypes.length > 0\n ) {\n enumOptions = scopedTypes.map((t) => ({\n value: t.name,\n label: t.name,\n icon: t.icon,\n color: t.color,\n }))\n }\n\n if (field.allowNone && !!valueArray.length && !isListType) {\n // Check if current field has a value (for single value fields)\n const hasCurrentValue = displayValue && displayValue !== ''\n if (hasCurrentValue) {\n enumOptions = [\n { value: '', label: `No ${field.data.title || field.name}` },\n ...enumOptions,\n ]\n }\n }\n\n return (\n <StyledEnumWidget\n value={valueArray}\n options={enumOptions}\n type={type}\n pt={{\n template: {\n style: { height: 32 },\n className: 'enum',\n },\n }}\n placeholder={isMixed ? `Mixed ${labelValue}` : `Select ${labelValue}...`}\n onCancelEdit={onCancelEdit}\n align=\"right\"\n enableCustomValues={field.enableCustomValues ?? false}\n search={field.enableSearch ?? enumOptions.length >= 5}\n sortBySelected={!enumOptions}\n {...widgetCommonProps}\n />\n )\n }\n\n case type === 'string' || type === 'integer' || type === 'float':\n default:\n if (widget === 'markdown') {\n return (\n <MarkdownWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n onExpand={onExpand}\n showExpand={!!onExpand}\n {...widgetCommonProps}\n />\n )\n } else {\n return (\n <FieldValueText>\n <TextWidget\n value={displayValue.toString()}\n onCancelEdit={onCancelEdit}\n type={type as 'string' | 'integer' | 'float'}\n {...widgetCommonProps}\n />\n </FieldValueText>\n )\n }\n }\n}\n\nexport default RenderFieldWidget\n"],"names":["FieldValueText","styled","StyledEnumWidget","EnumWidget","RenderFieldWidget","field","value","isEditing","isReadOnly","isMixed","onChange","onCancelEdit","onExpand","entities","entityType","type","widget","widgetCommonProps","newValue","projectNames","entity","scopedStatuses","useScopedStatuses","scopedTypes","useScopedTypes","displayValue","labelValue","jsx","BooleanWidget","DateWidget","isListType","valueArray","enumOptions","item","status","MarkdownWidget","TextWidget"],"mappings":"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"}