@ynput/ayon-frontend-shared 0.3.31 → 0.3.32

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 (877) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +213 -197
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +19 -18
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs22.js +1 -1
  11. package/dist/_virtual/index.cjs23.js +1 -1
  12. package/dist/_virtual/index.cjs24.js +1 -1
  13. package/dist/_virtual/index.cjs4.js +1 -1
  14. package/dist/_virtual/index.cjs5.js +1 -1
  15. package/dist/_virtual/index.cjs6.js +1 -1
  16. package/dist/_virtual/index.cjs8.js +1 -1
  17. package/dist/_virtual/index.es19.js +2 -2
  18. package/dist/_virtual/index.es20.js +2 -2
  19. package/dist/_virtual/index.es22.js +3 -3
  20. package/dist/_virtual/index.es23.js +5 -5
  21. package/dist/_virtual/index.es24.js +5 -5
  22. package/dist/_virtual/index.es4.js +2 -5
  23. package/dist/_virtual/index.es4.js.map +1 -1
  24. package/dist/_virtual/index.es5.js +5 -2
  25. package/dist/_virtual/index.es5.js.map +1 -1
  26. package/dist/_virtual/index.es6.js +2 -2
  27. package/dist/_virtual/index.es8.js +2 -2
  28. package/dist/api.cjs.js +1 -1
  29. package/dist/api.es.js +453 -434
  30. package/dist/api.es.js.map +1 -1
  31. package/dist/index.cjs.js +1 -1
  32. package/dist/index.es.js +11 -9
  33. package/dist/index.es.js.map +1 -1
  34. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  35. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  36. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  37. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  38. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  40. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  41. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  43. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  44. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  45. package/dist/node_modules/remove-accents/index.es.js +1 -1
  46. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  47. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  48. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  49. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  52. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  53. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  54. package/dist/shared/src/api/base/client.cjs.js +1 -1
  55. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  56. package/dist/shared/src/api/base/client.es.js +21 -17
  57. package/dist/shared/src/api/base/client.es.js.map +1 -1
  58. package/dist/shared/src/api/generated/folders.cjs.js +1 -1
  59. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  60. package/dist/shared/src/api/generated/folders.es.js +2 -14
  61. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  62. package/dist/shared/src/api/generated/graphql.cjs.js +237 -55
  63. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  64. package/dist/shared/src/api/generated/graphql.es.js +361 -161
  65. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  66. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  67. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  68. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js +1 -0
  69. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js.map +1 -1
  70. package/dist/shared/src/api/queries/activities/activityQueries.es.js +1 -0
  71. package/dist/shared/src/api/queries/activities/activityQueries.es.js.map +1 -1
  72. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  73. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  74. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +33 -21
  75. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  76. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  77. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  78. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +74 -60
  79. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  80. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +2 -0
  81. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -0
  82. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +96 -0
  83. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -0
  84. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +2 -0
  85. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -0
  86. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +88 -0
  87. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -0
  88. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  89. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  90. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +62 -48
  91. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  92. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  93. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  94. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +7 -3
  95. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  97. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/entityLists/getLists.es.js +94 -79
  99. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  101. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  102. package/dist/shared/src/api/queries/folders/getFolders.es.js +104 -71
  103. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  104. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  105. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  106. package/dist/shared/src/api/queries/overview/getOverview.es.js +265 -216
  107. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  109. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  110. package/dist/shared/src/api/queries/overview/updateOverview.es.js +198 -183
  111. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  112. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  113. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  114. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +138 -107
  115. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  116. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  117. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  118. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +332 -239
  119. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  120. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  121. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  122. package/dist/shared/src/api/queries/views/updateViews.es.js +38 -38
  123. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  124. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  125. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  126. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +3 -2
  127. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  128. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  129. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  130. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  131. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  132. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  133. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  134. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  135. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  136. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  137. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  138. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
  139. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  140. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  141. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  142. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  143. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  144. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  145. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  146. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -2
  147. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  148. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  149. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  150. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +3 -2
  151. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  152. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  153. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  154. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +137 -158
  155. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  156. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  157. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  158. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +4 -2
  159. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  160. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  161. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  162. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -2
  163. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  164. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  165. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  166. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  167. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  168. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  169. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  170. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
  171. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  172. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  173. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  174. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  175. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  176. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  177. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  178. package/dist/shared/src/components/LinksManager/LinksManager.es.js +3 -2
  179. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  180. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  181. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  182. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  183. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  184. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  185. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  186. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +3 -2
  187. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  188. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  189. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  190. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +3 -2
  191. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  192. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  193. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  194. package/dist/shared/src/components/Menu/Menu.es.js +3 -2
  195. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  196. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  197. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  198. package/dist/shared/src/components/Menu/MenuItem.es.js +1 -0
  199. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  200. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  201. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  202. package/dist/shared/src/components/Menu/MenuList.es.js +3 -2
  203. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  204. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  205. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  206. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +3 -2
  207. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  208. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  209. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  210. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +3 -2
  211. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  212. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  213. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  214. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +3 -2
  215. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  216. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  217. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  218. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +79 -77
  219. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  220. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  221. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  222. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -4
  223. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  224. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  225. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  226. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -2
  227. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  228. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  229. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  230. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +4 -2
  231. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  232. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  233. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  234. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +4 -2
  235. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  236. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  237. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  238. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  239. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  240. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  241. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  242. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  243. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  244. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  245. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  246. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -2
  247. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  248. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  249. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  250. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  251. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  252. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  253. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  254. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  255. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  256. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  257. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  258. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  259. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  260. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  261. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  262. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +4 -2
  263. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  264. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  265. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  266. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +7 -6
  267. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  268. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  269. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  270. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +3 -2
  271. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  272. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  273. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  274. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +6 -4
  275. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  276. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  277. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  278. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -2
  279. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  280. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  281. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  282. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +3 -2
  283. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  284. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  285. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  286. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +11 -10
  287. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  288. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  289. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  290. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +49 -44
  291. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  292. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  293. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  294. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +32 -22
  295. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  296. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  297. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  298. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  299. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  300. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  301. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  302. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +8 -6
  303. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  304. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  305. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  306. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  307. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  308. package/dist/shared/src/config/powerpackFeatures.cjs.js +1 -1
  309. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  310. package/dist/shared/src/config/powerpackFeatures.es.js +7 -1
  311. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  312. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  313. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  315. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  316. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  317. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/Actions/Actions.es.js +3 -2
  319. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  320. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  321. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  323. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  324. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  328. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  331. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  332. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +41 -38
  335. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  336. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  339. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  340. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +4 -2
  343. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  344. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +4 -2
  347. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  348. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  349. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  351. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  352. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  353. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -16
  355. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  356. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  357. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +4 -2
  359. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  360. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  361. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +4 -2
  363. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  364. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  365. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +13 -11
  367. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  368. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  369. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  370. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +14 -14
  371. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  372. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  373. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  374. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +13 -9
  375. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  376. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  377. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  379. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  380. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  381. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  382. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  383. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  384. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  385. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  386. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  387. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  388. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  389. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  390. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  391. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  392. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  393. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  394. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +3 -2
  395. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  396. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  397. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  398. package/dist/shared/src/containers/Feed/Feed.es.js +5 -4
  399. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  400. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  401. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  402. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +4 -2
  403. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  404. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  405. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  406. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  407. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  408. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  409. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  410. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  411. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  412. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  413. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  414. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +28 -27
  415. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  416. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  417. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  418. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  419. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  420. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  421. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  422. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +8 -6
  423. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  424. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  425. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  426. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +3 -2
  427. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  428. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  429. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +3 -2
  431. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  432. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  433. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  434. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +3 -2
  435. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  436. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  437. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  438. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +37 -44
  439. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  440. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  441. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  442. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +3 -2
  443. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  444. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  445. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  446. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  447. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  448. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
  449. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
  450. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +14 -13
  451. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
  452. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  453. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  454. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  455. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  456. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  457. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  458. package/dist/shared/src/containers/ListTable/ListTable.es.js +212 -204
  459. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  460. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  461. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  462. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +4 -2
  463. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  464. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  465. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  466. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +4 -2
  467. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +729 -675
  471. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +32 -10
  473. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +42 -18
  475. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +17 -14
  479. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +57 -43
  483. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  487. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  491. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +48 -0
  493. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -0
  494. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +103 -0
  495. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -0
  496. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +2 -0
  497. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -0
  498. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -0
  499. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -0
  500. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -2
  503. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  505. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +7 -5
  507. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +215 -181
  513. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  515. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
  517. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  520. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +3 -2
  521. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +21 -17
  525. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -2
  529. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +17 -11
  533. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +3 -2
  537. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  540. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +83 -81
  541. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  542. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  543. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +116 -111
  545. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +6 -3
  549. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  553. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  557. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +4 -2
  561. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -2
  565. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  566. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  571. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  572. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  575. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  576. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  579. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  580. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  583. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  584. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  586. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  587. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  588. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  589. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  590. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +80 -78
  591. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  592. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  593. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +4 -2
  595. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  596. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  598. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +45 -44
  599. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  600. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js +2 -0
  601. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -0
  602. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js +16 -0
  603. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -0
  604. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  606. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  607. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js.map +1 -1
  610. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js +29 -25
  611. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js.map +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +2 -0
  613. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -0
  614. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +17 -0
  615. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -0
  616. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +4 -2
  619. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  622. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +12 -10
  623. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  624. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  626. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +6 -4
  627. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  628. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  630. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +3 -2
  631. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  632. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  634. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  635. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  636. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +4 -2
  639. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +3 -2
  643. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +4 -4
  645. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +24 -19
  647. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  648. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  649. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  650. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -2
  651. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  652. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  653. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  654. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -2
  655. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  656. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  657. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  658. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +3 -2
  659. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  660. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  661. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  662. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +4 -2
  663. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  664. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  665. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  666. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +5 -4
  667. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  668. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  669. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  670. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +3 -2
  671. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  672. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  673. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  674. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +3 -2
  675. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  676. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  677. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  678. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +4 -2
  679. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  680. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  681. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  682. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +3 -2
  683. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  684. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  685. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  686. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +12 -11
  687. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  688. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  689. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  690. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +3 -2
  691. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  692. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  693. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  694. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +3 -2
  695. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  696. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  697. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  698. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +4 -2
  699. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  700. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  701. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  702. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +3 -2
  703. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  704. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  705. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  706. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +119 -118
  707. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  708. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  709. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  710. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +18 -16
  711. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  712. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  713. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  714. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +79 -51
  715. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  716. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +1 -1
  717. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  718. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +19 -17
  719. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  720. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  721. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  722. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +3 -2
  723. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  724. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  725. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  726. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +6 -5
  727. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  728. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  729. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  730. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +12 -11
  731. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  732. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  733. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  734. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  735. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  736. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  737. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  738. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +78 -65
  739. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  740. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  741. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  742. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  743. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  744. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  745. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  746. package/dist/shared/src/context/DetailsPanelContext.es.js +5 -4
  747. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  748. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  749. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  750. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  751. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  752. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  753. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  754. package/dist/shared/src/context/PowerpackContext.es.js +7 -6
  755. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  756. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  757. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  758. package/dist/shared/src/context/ProjectContext.es.js +5 -4
  759. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  760. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  761. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  762. package/dist/shared/src/context/ProjectFoldersContext.es.js +5 -4
  763. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  764. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  765. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  766. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  767. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  768. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  769. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  770. package/dist/shared/src/context/SubtasksModulesContext.es.js +5 -4
  771. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  772. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  773. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  774. package/dist/shared/src/context/UriContext.es.js +6 -5
  775. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  776. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  777. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  778. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  779. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  780. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  781. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  782. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  783. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  784. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  785. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  786. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  787. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  788. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  789. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  790. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  791. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  792. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  793. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  794. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +3 -2
  795. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  796. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  797. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  798. package/dist/shared/src/hooks/useHierarchyTable.es.js +3 -2
  799. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  800. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  801. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  802. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  803. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  804. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  805. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  806. package/dist/shared/src/hooks/useScopedTypes.es.js +3 -2
  807. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  808. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  809. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  810. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  811. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  812. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  813. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  814. package/dist/shared/src/util/columnConfigConverter.es.js +86 -65
  815. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  816. package/dist/shared/src/util/getThumbnailUrl.cjs.js +2 -0
  817. package/dist/shared/src/util/getThumbnailUrl.cjs.js.map +1 -0
  818. package/dist/shared/src/util/getThumbnailUrl.es.js +23 -0
  819. package/dist/shared/src/util/getThumbnailUrl.es.js.map +1 -0
  820. package/dist/shared/src/util/thumbnailWebsocket.cjs.js +2 -0
  821. package/dist/shared/src/util/thumbnailWebsocket.cjs.js.map +1 -0
  822. package/dist/shared/src/util/thumbnailWebsocket.es.js +54 -0
  823. package/dist/shared/src/util/thumbnailWebsocket.es.js.map +1 -0
  824. package/dist/types/api/generated/folders.d.ts +1 -6
  825. package/dist/types/api/generated/graphql.d.ts +275 -6
  826. package/dist/types/api/generated/graphqlLinks.d.ts +7 -4
  827. package/dist/types/api/queries/activities/activityQueries.d.ts +1 -0
  828. package/dist/types/api/queries/activities/getActivities.d.ts +47 -0
  829. package/dist/types/api/queries/activities/updateActivities.d.ts +94 -0
  830. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
  831. package/dist/types/api/queries/columnStats/columnStats.d.ts +28 -0
  832. package/dist/types/api/queries/columnStats/index.d.ts +2 -0
  833. package/dist/types/api/queries/columnStats/metricTargets.d.ts +31 -0
  834. package/dist/types/api/queries/entities/getEntity.d.ts +47 -0
  835. package/dist/types/api/queries/entities/getEntityPanel.d.ts +47 -0
  836. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  837. package/dist/types/api/queries/entities/updateEntity.d.ts +47 -0
  838. package/dist/types/api/queries/entityLists/getLists.d.ts +47 -0
  839. package/dist/types/api/queries/index.d.ts +1 -0
  840. package/dist/types/api/queries/overview/getOverview.d.ts +733 -1
  841. package/dist/types/api/queries/project/getProject.d.ts +47 -0
  842. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +69 -0
  843. package/dist/types/api/queries/users/getUsers.d.ts +47 -0
  844. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +828 -1
  845. package/dist/types/components/EntityPanelUploader/EntityPanelUploader.d.ts +1 -11
  846. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +2 -2
  847. package/dist/types/components/Thumbnail/Thumbnail.d.ts +2 -2
  848. package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +1 -1
  849. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  850. package/dist/types/containers/DetailsPanel/containers/FeedWrapper.d.ts +1 -0
  851. package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +2 -2
  852. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -0
  853. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +8 -3
  854. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +2 -0
  855. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  856. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +14 -0
  857. package/dist/types/containers/ProjectTreeTable/constants.d.ts +2 -0
  858. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -0
  859. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -1
  860. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
  861. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +17 -1
  862. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +2 -0
  863. package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +50 -0
  864. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
  865. package/dist/types/containers/ProjectTreeTable/utils/checkColumnVisibility.d.ts +2 -0
  866. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  867. package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +6 -0
  868. package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
  869. package/dist/types/containers/Views/hooks/useSelectedView.d.ts +2 -1
  870. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -3
  871. package/dist/types/util/getThumbnailUrl.d.ts +18 -0
  872. package/dist/types/util/index.d.ts +2 -0
  873. package/dist/types/util/thumbnailWebsocket.d.ts +21 -0
  874. package/dist/util.cjs.js +1 -1
  875. package/dist/util.es.js +35 -30
  876. package/dist/util.es.js.map +1 -1
  877. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useOverviewViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { UpdateViewSettingsFn } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n // Atomic groupBy + showHierarchy update (avoids 2-PATCH race)\n onUpdateGroupBy: (groupBy: string | undefined, showHierarchy: boolean, desc?: boolean) => void\n // Slicer type management\n sliceType: string | undefined\n onUpdateSliceType: (sliceType: string) => void\n}\n\ntype Props = {\n viewSettings: OverviewSettings | undefined\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const useOverviewViewSettings = ({ viewSettings, updateViewSettings }: Props): Return => {\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n const serverSliceType = overviewSettings?.sliceType\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Slice type update handler\n const noop = useCallback(() => {}, [])\n const onUpdateSliceType = useCallback(\n async (newSliceType: string) => {\n await updateViewSettings({ sliceType: newSliceType }, noop, newSliceType, {\n errorMessage: 'Failed to update slicer type',\n })\n },\n [updateViewSettings],\n )\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n // Atomic groupBy + showHierarchy update.\n // Merges both fields into a single PATCH to avoid a race where two sequential\n // updateViewSettings calls both capture the same pre-update viewSettings snapshot\n // and the second overwrites the first.\n const onUpdateGroupBy = useCallback(\n async (groupBy: string | undefined, newShowHierarchy: boolean, desc?: boolean) => {\n const updates: Partial<OverviewSettings> = {\n showHierarchy: newShowHierarchy,\n groupBy: groupBy,\n groupSortByDesc: groupBy ? desc ?? false : undefined,\n }\n\n const baseColumns = columns as ColumnsConfig\n const newLocalColumns: ColumnsConfig = {\n ...baseColumns,\n groupBy: groupBy ? { id: groupBy, desc: desc ?? false } : undefined,\n }\n\n // Combined setter lets updateViewSettings manage optimism/reset for both\n // local states atomically (so error paths don't leave one stale).\n const combinedSetter = (\n value: { showHierarchy: boolean; columns: ColumnsConfig } | null,\n ) => {\n if (value === null) {\n setLocalHierarchy(null)\n setLocalColumns(null)\n } else {\n setLocalHierarchy(value.showHierarchy)\n setLocalColumns(value.columns)\n }\n }\n\n await updateViewSettings(\n updates,\n combinedSetter,\n { showHierarchy: newShowHierarchy, columns: newLocalColumns },\n { errorMessage: 'Failed to update grouping' },\n )\n },\n [updateViewSettings, columns],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n onUpdateGroupBy,\n sliceType: serverSliceType,\n onUpdateSliceType,\n }\n}\n"],"names":["useOverviewViewSettings","viewSettings","updateViewSettings","localFilters","setLocalFilters","useState","localHierarchy","setLocalHierarchy","localColumns","setLocalColumns","overviewSettings","serverFilters","serverHierarchy","serverSliceType","serverColumns","useMemo","convertColumnConfigToTanstackStates","useEffect","filters","showHierarchy","columns","noop","useCallback","onUpdateSliceType","newSliceType","onUpdateFilters","newFilters","onUpdateHierarchy","newShowHierarchy","clearedColumns","settings","convertTanstackStatesToColumnConfig","onUpdateColumns","tableSettings","allColumnIds","derivedAll","v","i","a","hasGroupBy","onUpdateGroupBy","groupBy","desc","updates","newLocalColumns","value"],"mappings":"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"}
1
+ {"version":3,"file":"useOverviewViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { UpdateViewSettingsFn } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\nimport {\n SummaryCalc,\n SummaryFormat,\n RowScope,\n} from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n // Atomic groupBy + showHierarchy update (avoids 2-PATCH race)\n onUpdateGroupBy: (groupBy: string | undefined, showHierarchy: boolean, desc?: boolean) => void\n // Slicer type management\n sliceType: string | undefined\n onUpdateSliceType: (sliceType: string) => void\n}\n\ntype Props = {\n viewSettings: OverviewSettings | undefined\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const useOverviewViewSettings = ({ viewSettings, updateViewSettings }: Props): Return => {\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Backend drops summary/summaryScope/summaryFormat from ColumnItemModel, so\n // the post-save refetch would revert them — hold the selections here, session only.\n const { selectedView, workingView, isViewWorking, editingViewId } = useViewsContext()\n const [summaryOverrides, setSummaryOverrides] = useState<{\n summaries: Record<string, SummaryCalc>\n scopes: Record<string, RowScope>\n formats: Record<string, SummaryFormat>\n }>({ summaries: {}, scopes: {}, formats: {} })\n\n // Editing a named view forks to the working view (selectedView.id flips), but\n // editingViewId keeps pointing at the origin, so the key stays stable while editing.\n const viewKey = isViewWorking\n ? editingViewId || workingView?.id || 'working'\n : selectedView?.id\n\n // Reset overrides when a different view's settings come on screen\n useEffect(() => {\n setSummaryOverrides({ summaries: {}, scopes: {}, formats: {} })\n }, [viewKey])\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n const serverSliceType = overviewSettings?.sliceType\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when the relevant setting fields change.\n // Use per-field deps (not JSON.stringify(viewSettings)) so a change to one\n // field does not clear in-flight local state for unrelated fields, which\n // would cause a visible flicker during rapid sequential updates.\n useEffect(() => {\n setLocalFilters(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify((viewSettings as OverviewSettings)?.filter)])\n\n useEffect(() => {\n setLocalHierarchy(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n (viewSettings as OverviewSettings)?.showHierarchy,\n (viewSettings as OverviewSettings)?.groupBy,\n ])\n\n useEffect(() => {\n setLocalColumns(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify((viewSettings as OverviewSettings)?.columns)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columnsBase = localColumns || serverColumns\n const columns = useMemo(() => {\n const hasOverrides =\n Object.keys(summaryOverrides.summaries).length ||\n Object.keys(summaryOverrides.scopes).length ||\n Object.keys(summaryOverrides.formats).length\n if (!hasOverrides) return columnsBase\n return {\n ...columnsBase,\n columnSummaries: { ...columnsBase.columnSummaries, ...summaryOverrides.summaries },\n columnSummaryScopes: {\n ...columnsBase.columnSummaryScopes,\n ...summaryOverrides.scopes,\n },\n columnSummaryFormats: {\n ...columnsBase.columnSummaryFormats,\n ...summaryOverrides.formats,\n },\n }\n }, [columnsBase, summaryOverrides])\n\n // Slice type update handler\n const noop = useCallback(() => {}, [])\n const onUpdateSliceType = useCallback(\n async (newSliceType: string) => {\n await updateViewSettings({ sliceType: newSliceType }, noop, newSliceType, {\n errorMessage: 'Failed to update slicer type',\n })\n },\n [updateViewSettings],\n )\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Keep the summary footer choices alive across the working-view refetch\n // (backend drops these fields, so server state can't be trusted for them).\n if (\n tableSettings.columnSummaries ||\n tableSettings.columnSummaryScopes ||\n tableSettings.columnSummaryFormats\n ) {\n setSummaryOverrides((prev) => ({\n summaries: { ...prev.summaries, ...(tableSettings.columnSummaries || {}) },\n scopes: { ...prev.scopes, ...(tableSettings.columnSummaryScopes || {}) },\n formats: { ...prev.formats, ...(tableSettings.columnSummaryFormats || {}) },\n }))\n }\n\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n // Atomic groupBy + showHierarchy update.\n // Merges both fields into a single PATCH to avoid a race where two sequential\n // updateViewSettings calls both capture the same pre-update viewSettings snapshot\n // and the second overwrites the first.\n const onUpdateGroupBy = useCallback(\n async (groupBy: string | undefined, newShowHierarchy: boolean, desc?: boolean) => {\n const updates: Partial<OverviewSettings> = {\n showHierarchy: newShowHierarchy,\n groupBy: groupBy,\n groupSortByDesc: groupBy ? desc ?? false : undefined,\n }\n\n const baseColumns = columns as ColumnsConfig\n const newLocalColumns: ColumnsConfig = {\n ...baseColumns,\n groupBy: groupBy ? { id: groupBy, desc: desc ?? false } : undefined,\n }\n\n // Combined setter lets updateViewSettings manage optimism/reset for both\n // local states atomically (so error paths don't leave one stale).\n const combinedSetter = (value: { showHierarchy: boolean; columns: ColumnsConfig } | null) => {\n if (value === null) {\n setLocalHierarchy(null)\n setLocalColumns(null)\n } else {\n setLocalHierarchy(value.showHierarchy)\n setLocalColumns(value.columns)\n }\n }\n\n await updateViewSettings(\n updates,\n combinedSetter,\n { showHierarchy: newShowHierarchy, columns: newLocalColumns },\n { errorMessage: 'Failed to update grouping' },\n )\n },\n [updateViewSettings, columns],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n onUpdateGroupBy,\n sliceType: serverSliceType,\n onUpdateSliceType,\n }\n}\n"],"names":["useOverviewViewSettings","viewSettings","updateViewSettings","localFilters","setLocalFilters","useState","localHierarchy","setLocalHierarchy","localColumns","setLocalColumns","selectedView","workingView","isViewWorking","editingViewId","useViewsContext","summaryOverrides","setSummaryOverrides","viewKey","useEffect","overviewSettings","serverFilters","serverHierarchy","serverSliceType","serverColumns","useMemo","convertColumnConfigToTanstackStates","filters","showHierarchy","columnsBase","columns","noop","useCallback","onUpdateSliceType","newSliceType","onUpdateFilters","newFilters","onUpdateHierarchy","newShowHierarchy","clearedColumns","settings","convertTanstackStatesToColumnConfig","onUpdateColumns","tableSettings","allColumnIds","prev","derivedAll","v","i","a","hasGroupBy","onUpdateGroupBy","groupBy","desc","updates","newLocalColumns","value"],"mappings":"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"}
@@ -1,41 +1,64 @@
1
+ import { useViewsContext as z } from "../../context/ViewsContext.es.js";
1
2
  import "lodash";
2
3
  import "react-toastify";
3
4
  import "uuid";
4
- import { convertColumnConfigToTanstackStates as P, convertTanstackStatesToColumnConfig as F } from "../../../../util/columnConfigConverter.es.js";
5
+ import { convertColumnConfigToTanstackStates as Q, convertTanstackStatesToColumnConfig as T } from "../../../../util/columnConfigConverter.es.js";
5
6
  import "../../../../util/pubsub.es.js";
6
- import { useState as p, useMemo as b, useEffect as j, useCallback as n } from "react";
7
- const K = ({ viewSettings: m, updateViewSettings: s }) => {
8
- const [d, h] = p(null), [C, e] = p(null), [H, t] = p(null), i = m, T = i?.filter ?? {}, M = i?.showHierarchy ?? !0, g = i?.sliceType, O = b(
9
- () => P(i),
7
+ import { useState as d, useEffect as h, useMemo as B, useCallback as i } from "react";
8
+ const S = ({ viewSettings: m, updateViewSettings: s }) => {
9
+ const [O, F] = d(null), [k, n] = d(null), [M, t] = d(null), { selectedView: g, workingView: U, isViewWorking: j, editingViewId: L } = z(), [r, v] = d({ summaries: {}, scopes: {}, formats: {} }), x = j ? L || U?.id || "working" : g?.id;
10
+ h(() => {
11
+ v({ summaries: {}, scopes: {}, formats: {} });
12
+ }, [x]);
13
+ const f = m, J = f?.filter ?? {}, N = f?.showHierarchy ?? !0, w = f?.sliceType, G = B(
14
+ () => Q(f),
10
15
  [JSON.stringify(m)]
11
16
  );
12
- j(() => {
13
- h(null), e(null), t(null);
14
- }, [JSON.stringify(m)]);
15
- const B = d !== null ? d : T, U = C !== null ? C : M, l = H || O, k = n(() => {
16
- }, []), L = n(
17
+ h(() => {
18
+ F(null);
19
+ }, [JSON.stringify(m?.filter)]), h(() => {
20
+ n(null);
21
+ }, [
22
+ m?.showHierarchy,
23
+ m?.groupBy
24
+ ]), h(() => {
25
+ t(null);
26
+ }, [JSON.stringify(m?.columns)]);
27
+ const P = O !== null ? O : J, A = k !== null ? k : N, l = M || G, a = B(() => Object.keys(r.summaries).length || Object.keys(r.scopes).length || Object.keys(r.formats).length ? {
28
+ ...l,
29
+ columnSummaries: { ...l.columnSummaries, ...r.summaries },
30
+ columnSummaryScopes: {
31
+ ...l.columnSummaryScopes,
32
+ ...r.scopes
33
+ },
34
+ columnSummaryFormats: {
35
+ ...l.columnSummaryFormats,
36
+ ...r.formats
37
+ }
38
+ } : l, [l, r]), D = i(() => {
39
+ }, []), E = i(
17
40
  async (o) => {
18
- await s({ sliceType: o }, k, o, {
41
+ await s({ sliceType: o }, D, o, {
19
42
  errorMessage: "Failed to update slicer type"
20
43
  });
21
44
  },
22
45
  [s]
23
- ), x = n(
46
+ ), I = i(
24
47
  async (o) => {
25
- await s({ filter: o }, h, o, {
48
+ await s({ filter: o }, F, o, {
26
49
  errorMessage: "Failed to update filter settings"
27
50
  });
28
51
  },
29
52
  [s]
30
- ), G = n(
53
+ ), K = i(
31
54
  async (o) => {
32
- if (o && l?.groupBy) {
33
- const r = { ...l, groupBy: void 0 };
34
- t(r);
35
- const c = F(r);
55
+ if (o && a?.groupBy) {
56
+ const e = { ...a, groupBy: void 0 };
57
+ t(e);
58
+ const u = T(e);
36
59
  await s(
37
- { ...c, showHierarchy: !0 },
38
- e,
60
+ { ...u, showHierarchy: !0 },
61
+ n,
39
62
  o,
40
63
  { errorMessage: "Failed to update hierarchy setting" }
41
64
  );
@@ -43,62 +66,67 @@ const K = ({ viewSettings: m, updateViewSettings: s }) => {
43
66
  }
44
67
  await s(
45
68
  { showHierarchy: o },
46
- e,
69
+ n,
47
70
  o,
48
71
  { errorMessage: "Failed to update hierarchy setting" }
49
72
  );
50
73
  },
51
- [s, l]
52
- ), J = n(
53
- async (o, r) => {
54
- const c = r || [
74
+ [s, a]
75
+ ), W = i(
76
+ async (o, e) => {
77
+ (o.columnSummaries || o.columnSummaryScopes || o.columnSummaryFormats) && v((c) => ({
78
+ summaries: { ...c.summaries, ...o.columnSummaries || {} },
79
+ scopes: { ...c.scopes, ...o.columnSummaryScopes || {} },
80
+ formats: { ...c.formats, ...o.columnSummaryFormats || {} }
81
+ }));
82
+ const u = e || [
55
83
  ...o.columnOrder || [],
56
84
  ...Object.keys(o.columnVisibility || {}),
57
85
  ...o.columnPinning?.left || [],
58
86
  ...o.columnPinning?.right || []
59
- ].filter(Boolean).filter((f, v, a) => a.indexOf(f) === v), u = F(o, c), y = !!o.groupBy;
60
- y && e(!1), await s(
61
- y ? { ...u, showHierarchy: !1 } : u,
87
+ ].filter(Boolean).filter((c, H, y) => y.indexOf(c) === H), p = T(o, u), C = !!o.groupBy;
88
+ C && n(!1), await s(
89
+ C ? { ...p, showHierarchy: !1 } : p,
62
90
  t,
63
91
  o,
64
92
  { errorMessage: "Failed to update columns" }
65
93
  );
66
94
  },
67
95
  [s]
68
- ), N = n(
69
- async (o, r, c) => {
70
- const u = {
71
- showHierarchy: r,
96
+ ), q = i(
97
+ async (o, e, u) => {
98
+ const p = {
99
+ showHierarchy: e,
72
100
  groupBy: o,
73
- groupSortByDesc: o ? c ?? !1 : void 0
74
- }, f = {
75
- ...l,
76
- groupBy: o ? { id: o, desc: c ?? !1 } : void 0
101
+ groupSortByDesc: o ? u ?? !1 : void 0
102
+ }, c = {
103
+ ...a,
104
+ groupBy: o ? { id: o, desc: u ?? !1 } : void 0
77
105
  };
78
106
  await s(
79
- u,
80
- (a) => {
81
- a === null ? (e(null), t(null)) : (e(a.showHierarchy), t(a.columns));
107
+ p,
108
+ (y) => {
109
+ y === null ? (n(null), t(null)) : (n(y.showHierarchy), t(y.columns));
82
110
  },
83
- { showHierarchy: r, columns: f },
111
+ { showHierarchy: e, columns: c },
84
112
  { errorMessage: "Failed to update grouping" }
85
113
  );
86
114
  },
87
- [s, l]
115
+ [s, a]
88
116
  );
89
117
  return {
90
- filters: B,
91
- onUpdateFilters: x,
92
- showHierarchy: U,
93
- onUpdateHierarchy: G,
94
- columns: l,
95
- onUpdateColumns: J,
96
- onUpdateGroupBy: N,
97
- sliceType: g,
98
- onUpdateSliceType: L
118
+ filters: P,
119
+ onUpdateFilters: I,
120
+ showHierarchy: A,
121
+ onUpdateHierarchy: K,
122
+ columns: a,
123
+ onUpdateColumns: W,
124
+ onUpdateGroupBy: q,
125
+ sliceType: w,
126
+ onUpdateSliceType: E
99
127
  };
100
128
  };
101
129
  export {
102
- K as useOverviewViewSettings
130
+ S as useOverviewViewSettings
103
131
  };
104
132
  //# sourceMappingURL=useOverviewViewSettings.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOverviewViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { UpdateViewSettingsFn } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n // Atomic groupBy + showHierarchy update (avoids 2-PATCH race)\n onUpdateGroupBy: (groupBy: string | undefined, showHierarchy: boolean, desc?: boolean) => void\n // Slicer type management\n sliceType: string | undefined\n onUpdateSliceType: (sliceType: string) => void\n}\n\ntype Props = {\n viewSettings: OverviewSettings | undefined\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const useOverviewViewSettings = ({ viewSettings, updateViewSettings }: Props): Return => {\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n const serverSliceType = overviewSettings?.sliceType\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Slice type update handler\n const noop = useCallback(() => {}, [])\n const onUpdateSliceType = useCallback(\n async (newSliceType: string) => {\n await updateViewSettings({ sliceType: newSliceType }, noop, newSliceType, {\n errorMessage: 'Failed to update slicer type',\n })\n },\n [updateViewSettings],\n )\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n // Atomic groupBy + showHierarchy update.\n // Merges both fields into a single PATCH to avoid a race where two sequential\n // updateViewSettings calls both capture the same pre-update viewSettings snapshot\n // and the second overwrites the first.\n const onUpdateGroupBy = useCallback(\n async (groupBy: string | undefined, newShowHierarchy: boolean, desc?: boolean) => {\n const updates: Partial<OverviewSettings> = {\n showHierarchy: newShowHierarchy,\n groupBy: groupBy,\n groupSortByDesc: groupBy ? desc ?? false : undefined,\n }\n\n const baseColumns = columns as ColumnsConfig\n const newLocalColumns: ColumnsConfig = {\n ...baseColumns,\n groupBy: groupBy ? { id: groupBy, desc: desc ?? false } : undefined,\n }\n\n // Combined setter lets updateViewSettings manage optimism/reset for both\n // local states atomically (so error paths don't leave one stale).\n const combinedSetter = (\n value: { showHierarchy: boolean; columns: ColumnsConfig } | null,\n ) => {\n if (value === null) {\n setLocalHierarchy(null)\n setLocalColumns(null)\n } else {\n setLocalHierarchy(value.showHierarchy)\n setLocalColumns(value.columns)\n }\n }\n\n await updateViewSettings(\n updates,\n combinedSetter,\n { showHierarchy: newShowHierarchy, columns: newLocalColumns },\n { errorMessage: 'Failed to update grouping' },\n )\n },\n [updateViewSettings, columns],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n onUpdateGroupBy,\n sliceType: serverSliceType,\n onUpdateSliceType,\n }\n}\n"],"names":["useOverviewViewSettings","viewSettings","updateViewSettings","localFilters","setLocalFilters","useState","localHierarchy","setLocalHierarchy","localColumns","setLocalColumns","overviewSettings","serverFilters","serverHierarchy","serverSliceType","serverColumns","useMemo","convertColumnConfigToTanstackStates","useEffect","filters","showHierarchy","columns","noop","useCallback","onUpdateSliceType","newSliceType","onUpdateFilters","newFilters","onUpdateHierarchy","newShowHierarchy","clearedColumns","settings","convertTanstackStatesToColumnConfig","onUpdateColumns","tableSettings","allColumnIds","derivedAll","v","i","hasGroupBy","onUpdateGroupBy","groupBy","desc","updates","newLocalColumns","value"],"mappings":"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"}
1
+ {"version":3,"file":"useOverviewViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { UpdateViewSettingsFn } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\nimport {\n SummaryCalc,\n SummaryFormat,\n RowScope,\n} from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n // Atomic groupBy + showHierarchy update (avoids 2-PATCH race)\n onUpdateGroupBy: (groupBy: string | undefined, showHierarchy: boolean, desc?: boolean) => void\n // Slicer type management\n sliceType: string | undefined\n onUpdateSliceType: (sliceType: string) => void\n}\n\ntype Props = {\n viewSettings: OverviewSettings | undefined\n updateViewSettings: UpdateViewSettingsFn\n}\n\nexport const useOverviewViewSettings = ({ viewSettings, updateViewSettings }: Props): Return => {\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Backend drops summary/summaryScope/summaryFormat from ColumnItemModel, so\n // the post-save refetch would revert them — hold the selections here, session only.\n const { selectedView, workingView, isViewWorking, editingViewId } = useViewsContext()\n const [summaryOverrides, setSummaryOverrides] = useState<{\n summaries: Record<string, SummaryCalc>\n scopes: Record<string, RowScope>\n formats: Record<string, SummaryFormat>\n }>({ summaries: {}, scopes: {}, formats: {} })\n\n // Editing a named view forks to the working view (selectedView.id flips), but\n // editingViewId keeps pointing at the origin, so the key stays stable while editing.\n const viewKey = isViewWorking\n ? editingViewId || workingView?.id || 'working'\n : selectedView?.id\n\n // Reset overrides when a different view's settings come on screen\n useEffect(() => {\n setSummaryOverrides({ summaries: {}, scopes: {}, formats: {} })\n }, [viewKey])\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n const serverSliceType = overviewSettings?.sliceType\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when the relevant setting fields change.\n // Use per-field deps (not JSON.stringify(viewSettings)) so a change to one\n // field does not clear in-flight local state for unrelated fields, which\n // would cause a visible flicker during rapid sequential updates.\n useEffect(() => {\n setLocalFilters(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify((viewSettings as OverviewSettings)?.filter)])\n\n useEffect(() => {\n setLocalHierarchy(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n (viewSettings as OverviewSettings)?.showHierarchy,\n (viewSettings as OverviewSettings)?.groupBy,\n ])\n\n useEffect(() => {\n setLocalColumns(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify((viewSettings as OverviewSettings)?.columns)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columnsBase = localColumns || serverColumns\n const columns = useMemo(() => {\n const hasOverrides =\n Object.keys(summaryOverrides.summaries).length ||\n Object.keys(summaryOverrides.scopes).length ||\n Object.keys(summaryOverrides.formats).length\n if (!hasOverrides) return columnsBase\n return {\n ...columnsBase,\n columnSummaries: { ...columnsBase.columnSummaries, ...summaryOverrides.summaries },\n columnSummaryScopes: {\n ...columnsBase.columnSummaryScopes,\n ...summaryOverrides.scopes,\n },\n columnSummaryFormats: {\n ...columnsBase.columnSummaryFormats,\n ...summaryOverrides.formats,\n },\n }\n }, [columnsBase, summaryOverrides])\n\n // Slice type update handler\n const noop = useCallback(() => {}, [])\n const onUpdateSliceType = useCallback(\n async (newSliceType: string) => {\n await updateViewSettings({ sliceType: newSliceType }, noop, newSliceType, {\n errorMessage: 'Failed to update slicer type',\n })\n },\n [updateViewSettings],\n )\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Keep the summary footer choices alive across the working-view refetch\n // (backend drops these fields, so server state can't be trusted for them).\n if (\n tableSettings.columnSummaries ||\n tableSettings.columnSummaryScopes ||\n tableSettings.columnSummaryFormats\n ) {\n setSummaryOverrides((prev) => ({\n summaries: { ...prev.summaries, ...(tableSettings.columnSummaries || {}) },\n scopes: { ...prev.scopes, ...(tableSettings.columnSummaryScopes || {}) },\n formats: { ...prev.formats, ...(tableSettings.columnSummaryFormats || {}) },\n }))\n }\n\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n // Atomic groupBy + showHierarchy update.\n // Merges both fields into a single PATCH to avoid a race where two sequential\n // updateViewSettings calls both capture the same pre-update viewSettings snapshot\n // and the second overwrites the first.\n const onUpdateGroupBy = useCallback(\n async (groupBy: string | undefined, newShowHierarchy: boolean, desc?: boolean) => {\n const updates: Partial<OverviewSettings> = {\n showHierarchy: newShowHierarchy,\n groupBy: groupBy,\n groupSortByDesc: groupBy ? desc ?? false : undefined,\n }\n\n const baseColumns = columns as ColumnsConfig\n const newLocalColumns: ColumnsConfig = {\n ...baseColumns,\n groupBy: groupBy ? { id: groupBy, desc: desc ?? false } : undefined,\n }\n\n // Combined setter lets updateViewSettings manage optimism/reset for both\n // local states atomically (so error paths don't leave one stale).\n const combinedSetter = (value: { showHierarchy: boolean; columns: ColumnsConfig } | null) => {\n if (value === null) {\n setLocalHierarchy(null)\n setLocalColumns(null)\n } else {\n setLocalHierarchy(value.showHierarchy)\n setLocalColumns(value.columns)\n }\n }\n\n await updateViewSettings(\n updates,\n combinedSetter,\n { showHierarchy: newShowHierarchy, columns: newLocalColumns },\n { errorMessage: 'Failed to update grouping' },\n )\n },\n [updateViewSettings, columns],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n onUpdateGroupBy,\n sliceType: serverSliceType,\n onUpdateSliceType,\n }\n}\n"],"names":["useOverviewViewSettings","viewSettings","updateViewSettings","localFilters","setLocalFilters","useState","localHierarchy","setLocalHierarchy","localColumns","setLocalColumns","selectedView","workingView","isViewWorking","editingViewId","useViewsContext","summaryOverrides","setSummaryOverrides","viewKey","useEffect","overviewSettings","serverFilters","serverHierarchy","serverSliceType","serverColumns","useMemo","convertColumnConfigToTanstackStates","filters","showHierarchy","columnsBase","columns","noop","useCallback","onUpdateSliceType","newSliceType","onUpdateFilters","newFilters","onUpdateHierarchy","newShowHierarchy","clearedColumns","settings","convertTanstackStatesToColumnConfig","onUpdateColumns","tableSettings","allColumnIds","prev","derivedAll","v","i","a","hasGroupBy","onUpdateGroupBy","groupBy","desc","updates","newLocalColumns","value"],"mappings":";;;;;;;AAqDO,MAAMA,IAA0B,CAAC,EAAE,cAAAC,GAAc,oBAAAC,QAAwC;AAE9F,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAA6B,IAAI,GACnE,CAACC,GAAgBC,CAAiB,IAAIF,EAAyB,IAAI,GACnE,CAACG,GAAcC,CAAe,IAAIJ,EAA+B,IAAI,GAIrE,EAAE,cAAAK,GAAc,aAAAC,GAAa,eAAAC,GAAe,eAAAC,EAAA,IAAkBC,EAAA,GAC9D,CAACC,GAAkBC,CAAmB,IAAIX,EAI7C,EAAE,WAAW,CAAA,GAAI,QAAQ,CAAA,GAAI,SAAS,CAAA,GAAI,GAIvCY,IAAUL,IACZC,KAAiBF,GAAa,MAAM,YACpCD,GAAc;AAGlB,EAAAQ,EAAU,MAAM;AACd,IAAAF,EAAoB,EAAE,WAAW,CAAA,GAAI,QAAQ,IAAI,SAAS,CAAA,GAAI;AAAA,EAChE,GAAG,CAACC,CAAO,CAAC;AAGZ,QAAME,IAAmBlB,GACnBmB,IAAiBD,GAAkB,UAAkB,CAAA,GACrDE,IAAkBF,GAAkB,iBAAiB,IACrDG,IAAkBH,GAAkB,WAEpCI,IAAgBC;AAAA,IACpB,MAAMC,EAAoCN,CAAgB;AAAA,IAC1D,CAAC,KAAK,UAAUlB,CAAY,CAAC;AAAA,EAAA;AAO/B,EAAAiB,EAAU,MAAM;AACd,IAAAd,EAAgB,IAAI;AAAA,EAEtB,GAAG,CAAC,KAAK,UAAWH,GAAmC,MAAM,CAAC,CAAC,GAE/DiB,EAAU,MAAM;AACd,IAAAX,EAAkB,IAAI;AAAA,EAExB,GAAG;AAAA,IACAN,GAAmC;AAAA,IACnCA,GAAmC;AAAA,EAAA,CACrC,GAEDiB,EAAU,MAAM;AACd,IAAAT,EAAgB,IAAI;AAAA,EAEtB,GAAG,CAAC,KAAK,UAAWR,GAAmC,OAAO,CAAC,CAAC;AAGhE,QAAMyB,IAAUvB,MAAiB,OAAOA,IAAeiB,GACjDO,IAAgBrB,MAAmB,OAAOA,IAAiBe,GAC3DO,IAAcpB,KAAgBe,GAC9BM,IAAUL,EAAQ,MAEpB,OAAO,KAAKT,EAAiB,SAAS,EAAE,UACxC,OAAO,KAAKA,EAAiB,MAAM,EAAE,UACrC,OAAO,KAAKA,EAAiB,OAAO,EAAE,SAEjC;AAAA,IACL,GAAGa;AAAA,IACH,iBAAiB,EAAE,GAAGA,EAAY,iBAAiB,GAAGb,EAAiB,UAAA;AAAA,IACvE,qBAAqB;AAAA,MACnB,GAAGa,EAAY;AAAA,MACf,GAAGb,EAAiB;AAAA,IAAA;AAAA,IAEtB,sBAAsB;AAAA,MACpB,GAAGa,EAAY;AAAA,MACf,GAAGb,EAAiB;AAAA,IAAA;AAAA,EACtB,IAXwBa,GAazB,CAACA,GAAab,CAAgB,CAAC,GAG5Be,IAAOC,EAAY,MAAM;AAAA,EAAC,GAAG,CAAA,CAAE,GAC/BC,IAAoBD;AAAA,IACxB,OAAOE,MAAyB;AAC9B,YAAM/B,EAAmB,EAAE,WAAW+B,EAAA,GAAgBH,GAAMG,GAAc;AAAA,QACxE,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC/B,CAAkB;AAAA,EAAA,GAIfgC,IAAkBH;AAAA,IACtB,OAAOI,MAA4B;AACjC,YAAMjC,EAAmB,EAAE,QAAQiC,EAAA,GAAqB/B,GAAiB+B,GAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAACjC,CAAkB;AAAA,EAAA,GAIfkC,IAAoBL;AAAA,IACxB,OAAOM,MAA8B;AAEnC,UAAIA,KAAqBR,GAA2B,SAAS;AAC3D,cAAMS,IAAgC,EAAE,GAAGT,GAAS,SAAS,OAAA;AAE7D,QAAApB,EAAgB6B,CAAc;AAC9B,cAAMC,IAAWC,EAAoCF,CAAc;AACnE,cAAMpC;AAAA,UACJ,EAAE,GAAGqC,GAAU,eAAe,GAAA;AAAA,UAC9BhC;AAAA,UACA8B;AAAA,UACA,EAAE,cAAc,qCAAA;AAAA,QAAqC;AAEvD;AAAA,MACF;AAEA,YAAMnC;AAAA,QACJ,EAAE,eAAemC,EAAA;AAAA,QACjB9B;AAAA,QACA8B;AAAA,QACA,EAAE,cAAc,qCAAA;AAAA,MAAqC;AAAA,IAEzD;AAAA,IACA,CAACnC,GAAoB2B,CAAO;AAAA,EAAA,GAIxBY,IAAkBV;AAAA,IACtB,OAAOW,GAA8BC,MAA4B;AAG/D,OACED,EAAc,mBACdA,EAAc,uBACdA,EAAc,yBAEd1B,EAAoB,CAAC4B,OAAU;AAAA,QAC7B,WAAW,EAAE,GAAGA,EAAK,WAAW,GAAIF,EAAc,mBAAmB,GAAC;AAAA,QACtE,QAAQ,EAAE,GAAGE,EAAK,QAAQ,GAAIF,EAAc,uBAAuB,GAAC;AAAA,QACpE,SAAS,EAAE,GAAGE,EAAK,SAAS,GAAIF,EAAc,wBAAwB,CAAA,EAAC;AAAA,MAAG,EAC1E;AAIJ,YAAMG,IACJF,KACA;AAAA,QACE,GAAID,EAAc,eAAe,CAAA;AAAA,QACjC,GAAG,OAAO,KAAKA,EAAc,oBAAoB,CAAA,CAAE;AAAA,QACnD,GAAKA,EAAc,eAAe,QAAqB,CAAA;AAAA,QACvD,GAAKA,EAAc,eAAe,SAAsB,CAAA;AAAA,MAAC,EAExD,OAAO,OAAO,EACd,OAAO,CAACI,GAAGC,GAAGC,MAAMA,EAAE,QAAQF,CAAC,MAAMC,CAAC,GAErCR,IAAWC,EAAoCE,GAAeG,CAAU,GACxEI,IAAa,CAAC,CAACP,EAAc;AAGnC,MAAIO,KAEF1C,EAAkB,EAAK,GAGzB,MAAML;AAAA,QACJ+C,IAAa,EAAE,GAAGV,GAAU,eAAe,OAAUA;AAAA,QACrD9B;AAAA,QACAiC;AAAA,QACA,EAAE,cAAc,2BAAA;AAAA,MAA2B;AAAA,IAE/C;AAAA,IACA,CAACxC,CAAkB;AAAA,EAAA,GAOfgD,IAAkBnB;AAAA,IACtB,OAAOoB,GAA6Bd,GAA2Be,MAAmB;AAChF,YAAMC,IAAqC;AAAA,QACzC,eAAehB;AAAA,QACf,SAAAc;AAAA,QACA,iBAAiBA,IAAUC,KAAQ,KAAQ;AAAA,MAAA,GAIvCE,IAAiC;AAAA,QACrC,GAFkBzB;AAAA,QAGlB,SAASsB,IAAU,EAAE,IAAIA,GAAS,MAAMC,KAAQ,OAAU;AAAA,MAAA;AAe5D,YAAMlD;AAAA,QACJmD;AAAA,QAXqB,CAACE,MAAqE;AAC3F,UAAIA,MAAU,QACZhD,EAAkB,IAAI,GACtBE,EAAgB,IAAI,MAEpBF,EAAkBgD,EAAM,aAAa,GACrC9C,EAAgB8C,EAAM,OAAO;AAAA,QAEjC;AAAA,QAKE,EAAE,eAAelB,GAAkB,SAASiB,EAAA;AAAA,QAC5C,EAAE,cAAc,4BAAA;AAAA,MAA4B;AAAA,IAEhD;AAAA,IACA,CAACpD,GAAoB2B,CAAO;AAAA,EAAA;AAG9B,SAAO;AAAA,IACL,SAAAH;AAAA,IACA,iBAAAQ;AAAA,IACA,eAAAP;AAAA,IACA,mBAAAS;AAAA,IACA,SAAAP;AAAA,IACA,iBAAAY;AAAA,IACA,iBAAAS;AAAA,IACA,WAAW5B;AAAA,IACX,mBAAAU;AAAA,EAAA;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../context/ViewsContext.cjs.js"),m=require("../../utils/viewUpdateHelper.cjs.js"),s=require("react"),k=()=>{const{viewSettings:o}=f.useViewsContext(),[n,a]=s.useState(null),[r,c]=s.useState(null),{updateViewSettings:t}=m.useViewUpdateHelper(),l=o,i=l?.filter??{},u=l?.columns??[],p=l?.sliceType;s.useEffect(()=>{a(null),c(null)},[JSON.stringify(o)]);const g=n!==null?n:i,d=r!==null?r:u,y=s.useCallback(async e=>{await t({filter:e},a,e,{errorMessage:"Failed to update filter settings"})},[t]),S=s.useCallback(async e=>{await t({columns:e},c,e,{errorMessage:"Failed to update column width settings"})},[t]),w=s.useCallback(()=>{},[]),C=s.useCallback(async e=>{await t({sliceType:e},w,e,{errorMessage:"Failed to update slicer type"})},[t]);return{filters:g,onUpdateFilters:y,columns:d,onUpdateColumns:S,sliceType:p,onUpdateSliceType:C}};exports.useTaskProgressViewSettings=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("../../context/ViewsContext.cjs.js"),C=require("../../utils/viewUpdateHelper.cjs.js"),s=require("react"),k=()=>{const{viewSettings:l}=w.useViewsContext(),[o,r]=s.useState(null),[i,a]=s.useState(null),{updateViewSettings:t}=C.useViewUpdateHelper(),n=l,c=n?.filter??{},u=n?.columns??[],p=n?.sliceType;s.useEffect(()=>{r(null)},[JSON.stringify(l?.filter)]),s.useEffect(()=>{a(null)},[JSON.stringify(l?.columns)]);const g=o!==null?o:c,d=i!==null?i:u,f=s.useCallback(async e=>{await t({filter:e},r,e,{errorMessage:"Failed to update filter settings"})},[t]),y=s.useCallback(async e=>{await t({columns:e},a,e,{errorMessage:"Failed to update column width settings"})},[t]),S=s.useCallback(()=>{},[]),m=s.useCallback(async e=>{await t({sliceType:e},S,e,{errorMessage:"Failed to update slicer type"})},[t]);return{filters:g,onUpdateFilters:f,columns:d,onUpdateColumns:y,sliceType:p,onUpdateSliceType:m}};exports.useTaskProgressViewSettings=k;
2
2
  //# sourceMappingURL=useTaskProgressViewSettings.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTaskProgressViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useTaskProgressViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all task progress page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Progress column widths (ColumnItemModel format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { TaskProgressSettings, ColumnItemModel } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Column width management\n columns: ColumnItemModel[]\n onUpdateColumns: (columns: ColumnItemModel[]) => void\n\n // Slicer type management\n sliceType: string | undefined\n onUpdateSliceType: (sliceType: string) => void\n}\n\nexport const useTaskProgressViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnItemModel[] | null>(null)\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const taskProgressSettings = viewSettings as TaskProgressSettings\n const serverFilters = (taskProgressSettings?.filter as any) ?? {}\n const serverColumns = (taskProgressSettings?.columns as ColumnItemModel[]) ?? []\n const serverSliceType = taskProgressSettings?.sliceType\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const columns = localColumns !== null ? localColumns : serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (newColumns: ColumnItemModel[]) => {\n await updateViewSettings({ columns: newColumns }, setLocalColumns, newColumns, {\n errorMessage: 'Failed to update column width settings',\n })\n },\n [updateViewSettings],\n )\n\n // Slice type update handler (no local state needed — slicer context is the optimistic state)\n const noop = useCallback(() => {}, [])\n const onUpdateSliceType = useCallback(\n async (newSliceType: string) => {\n await updateViewSettings({ sliceType: newSliceType }, noop, newSliceType, {\n errorMessage: 'Failed to update slicer type',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n columns,\n onUpdateColumns,\n sliceType: serverSliceType,\n onUpdateSliceType,\n }\n}\n"],"names":["useTaskProgressViewSettings","viewSettings","useViewsContext","localFilters","setLocalFilters","useState","localColumns","setLocalColumns","updateViewSettings","useViewUpdateHelper","taskProgressSettings","serverFilters","serverColumns","serverSliceType","useEffect","filters","columns","onUpdateFilters","useCallback","newFilters","onUpdateColumns","newColumns","noop","onUpdateSliceType","newSliceType"],"mappings":"yMAgCaA,EAA8B,IAAc,CAEvD,KAAM,CAAE,aAAAC,CAAA,EAAiBC,kBAAA,EAGnB,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAA6B,IAAI,EACnE,CAACC,EAAcC,CAAe,EAAIF,EAAAA,SAAmC,IAAI,EAEzE,CAAE,mBAAAG,CAAA,EAAuBC,sBAAA,EAGzBC,EAAuBT,EACvBU,EAAiBD,GAAsB,QAAkB,CAAA,EACzDE,EAAiBF,GAAsB,SAAiC,CAAA,EACxEG,EAAkBH,GAAsB,UAG9CI,EAAAA,UAAU,IAAM,CACdV,EAAgB,IAAI,EACpBG,EAAgB,IAAI,CACtB,EAAG,CAAC,KAAK,UAAUN,CAAY,CAAC,CAAC,EAGjC,MAAMc,EAAUZ,IAAiB,KAAOA,EAAeQ,EACjDK,EAAUV,IAAiB,KAAOA,EAAeM,EAGjDK,EAAkBC,EAAAA,YACtB,MAAOC,GAA4B,CACjC,MAAMX,EAAmB,CAAE,OAAQW,CAAA,EAAqBf,EAAiBe,EAAY,CACnF,aAAc,kCAAA,CACf,CACH,EACA,CAACX,CAAkB,CAAA,EAIfY,EAAkBF,EAAAA,YACtB,MAAOG,GAAkC,CACvC,MAAMb,EAAmB,CAAE,QAASa,CAAA,EAAcd,EAAiBc,EAAY,CAC7E,aAAc,wCAAA,CACf,CACH,EACA,CAACb,CAAkB,CAAA,EAIfc,EAAOJ,EAAAA,YAAY,IAAM,CAAC,EAAG,CAAA,CAAE,EAC/BK,EAAoBL,EAAAA,YACxB,MAAOM,GAAyB,CAC9B,MAAMhB,EAAmB,CAAE,UAAWgB,CAAA,EAAgBF,EAAME,EAAc,CACxE,aAAc,8BAAA,CACf,CACH,EACA,CAAChB,CAAkB,CAAA,EAGrB,MAAO,CACL,QAAAO,EACA,gBAAAE,EACA,QAAAD,EACA,gBAAAI,EACA,UAAWP,EACX,kBAAAU,CAAA,CAEJ"}
1
+ {"version":3,"file":"useTaskProgressViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useTaskProgressViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all task progress page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Progress column widths (ColumnItemModel format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { TaskProgressSettings, ColumnItemModel } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Column width management\n columns: ColumnItemModel[]\n onUpdateColumns: (columns: ColumnItemModel[]) => void\n\n // Slicer type management\n sliceType: string | undefined\n onUpdateSliceType: (sliceType: string) => void\n}\n\nexport const useTaskProgressViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnItemModel[] | null>(null)\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const taskProgressSettings = viewSettings as TaskProgressSettings\n const serverFilters = (taskProgressSettings?.filter as any) ?? {}\n const serverColumns = (taskProgressSettings?.columns as ColumnItemModel[]) ?? []\n const serverSliceType = taskProgressSettings?.sliceType\n\n // Sync local state with server when the relevant setting fields change.\n // Use per-field deps (not JSON.stringify(viewSettings)) so a change to one\n // field does not clear in-flight local state for unrelated fields, which\n // would cause a visible flicker during rapid sequential updates.\n useEffect(() => {\n setLocalFilters(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify((viewSettings as TaskProgressSettings)?.filter)])\n\n useEffect(() => {\n setLocalColumns(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify((viewSettings as TaskProgressSettings)?.columns)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const columns = localColumns !== null ? localColumns : serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (newColumns: ColumnItemModel[]) => {\n await updateViewSettings({ columns: newColumns }, setLocalColumns, newColumns, {\n errorMessage: 'Failed to update column width settings',\n })\n },\n [updateViewSettings],\n )\n\n // Slice type update handler (no local state needed — slicer context is the optimistic state)\n const noop = useCallback(() => {}, [])\n const onUpdateSliceType = useCallback(\n async (newSliceType: string) => {\n await updateViewSettings({ sliceType: newSliceType }, noop, newSliceType, {\n errorMessage: 'Failed to update slicer type',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n columns,\n onUpdateColumns,\n sliceType: serverSliceType,\n onUpdateSliceType,\n }\n}\n"],"names":["useTaskProgressViewSettings","viewSettings","useViewsContext","localFilters","setLocalFilters","useState","localColumns","setLocalColumns","updateViewSettings","useViewUpdateHelper","taskProgressSettings","serverFilters","serverColumns","serverSliceType","useEffect","filters","columns","onUpdateFilters","useCallback","newFilters","onUpdateColumns","newColumns","noop","onUpdateSliceType","newSliceType"],"mappings":"yMAgCaA,EAA8B,IAAc,CAEvD,KAAM,CAAE,aAAAC,CAAA,EAAiBC,kBAAA,EAGnB,CAACC,EAAcC,CAAe,EAAIC,EAAAA,SAA6B,IAAI,EACnE,CAACC,EAAcC,CAAe,EAAIF,EAAAA,SAAmC,IAAI,EAEzE,CAAE,mBAAAG,CAAA,EAAuBC,sBAAA,EAGzBC,EAAuBT,EACvBU,EAAiBD,GAAsB,QAAkB,CAAA,EACzDE,EAAiBF,GAAsB,SAAiC,CAAA,EACxEG,EAAkBH,GAAsB,UAM9CI,EAAAA,UAAU,IAAM,CACdV,EAAgB,IAAI,CAEtB,EAAG,CAAC,KAAK,UAAWH,GAAuC,MAAM,CAAC,CAAC,EAEnEa,EAAAA,UAAU,IAAM,CACdP,EAAgB,IAAI,CAEtB,EAAG,CAAC,KAAK,UAAWN,GAAuC,OAAO,CAAC,CAAC,EAGpE,MAAMc,EAAUZ,IAAiB,KAAOA,EAAeQ,EACjDK,EAAUV,IAAiB,KAAOA,EAAeM,EAGjDK,EAAkBC,EAAAA,YACtB,MAAOC,GAA4B,CACjC,MAAMX,EAAmB,CAAE,OAAQW,CAAA,EAAqBf,EAAiBe,EAAY,CACnF,aAAc,kCAAA,CACf,CACH,EACA,CAACX,CAAkB,CAAA,EAIfY,EAAkBF,EAAAA,YACtB,MAAOG,GAAkC,CACvC,MAAMb,EAAmB,CAAE,QAASa,CAAA,EAAcd,EAAiBc,EAAY,CAC7E,aAAc,wCAAA,CACf,CACH,EACA,CAACb,CAAkB,CAAA,EAIfc,EAAOJ,EAAAA,YAAY,IAAM,CAAC,EAAG,CAAA,CAAE,EAC/BK,EAAoBL,EAAAA,YACxB,MAAOM,GAAyB,CAC9B,MAAMhB,EAAmB,CAAE,UAAWgB,CAAA,EAAgBF,EAAME,EAAc,CACxE,aAAc,8BAAA,CACf,CACH,EACA,CAAChB,CAAkB,CAAA,EAGrB,MAAO,CACL,QAAAO,EACA,gBAAAE,EACA,QAAAD,EACA,gBAAAI,EACA,UAAWP,EACX,kBAAAU,CAAA,CAEJ"}
@@ -1,29 +1,31 @@
1
- import { useViewsContext as F } from "../../context/ViewsContext.es.js";
2
- import { useViewUpdateHelper as C } from "../../utils/viewUpdateHelper.es.js";
3
- import { useState as a, useEffect as T, useCallback as t } from "react";
1
+ import { useViewsContext as C } from "../../context/ViewsContext.es.js";
2
+ import { useViewUpdateHelper as T } from "../../utils/viewUpdateHelper.es.js";
3
+ import { useState as a, useEffect as u, useCallback as t } from "react";
4
4
  const k = () => {
5
- const { viewSettings: l } = F(), [n, r] = a(null), [i, c] = a(null), { updateViewSettings: s } = C(), o = l, u = o?.filter ?? {}, p = o?.columns ?? [], m = o?.sliceType;
6
- T(() => {
7
- r(null), c(null);
8
- }, [JSON.stringify(l)]);
9
- const d = n !== null ? n : u, g = i !== null ? i : p, f = t(
5
+ const { viewSettings: o } = C(), [n, r] = a(null), [i, c] = a(null), { updateViewSettings: s } = T(), l = o, p = l?.filter ?? {}, m = l?.columns ?? [], g = l?.sliceType;
6
+ u(() => {
7
+ r(null);
8
+ }, [JSON.stringify(o?.filter)]), u(() => {
9
+ c(null);
10
+ }, [JSON.stringify(o?.columns)]);
11
+ const d = n !== null ? n : p, f = i !== null ? i : m, y = t(
10
12
  async (e) => {
11
13
  await s({ filter: e }, r, e, {
12
14
  errorMessage: "Failed to update filter settings"
13
15
  });
14
16
  },
15
17
  [s]
16
- ), y = t(
18
+ ), S = t(
17
19
  async (e) => {
18
20
  await s({ columns: e }, c, e, {
19
21
  errorMessage: "Failed to update column width settings"
20
22
  });
21
23
  },
22
24
  [s]
23
- ), S = t(() => {
24
- }, []), w = t(
25
+ ), w = t(() => {
26
+ }, []), F = t(
25
27
  async (e) => {
26
- await s({ sliceType: e }, S, e, {
28
+ await s({ sliceType: e }, w, e, {
27
29
  errorMessage: "Failed to update slicer type"
28
30
  });
29
31
  },
@@ -31,11 +33,11 @@ const k = () => {
31
33
  );
32
34
  return {
33
35
  filters: d,
34
- onUpdateFilters: f,
35
- columns: g,
36
- onUpdateColumns: y,
37
- sliceType: m,
38
- onUpdateSliceType: w
36
+ onUpdateFilters: y,
37
+ columns: f,
38
+ onUpdateColumns: S,
39
+ sliceType: g,
40
+ onUpdateSliceType: F
39
41
  };
40
42
  };
41
43
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"useTaskProgressViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useTaskProgressViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all task progress page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Progress column widths (ColumnItemModel format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { TaskProgressSettings, ColumnItemModel } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Column width management\n columns: ColumnItemModel[]\n onUpdateColumns: (columns: ColumnItemModel[]) => void\n\n // Slicer type management\n sliceType: string | undefined\n onUpdateSliceType: (sliceType: string) => void\n}\n\nexport const useTaskProgressViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnItemModel[] | null>(null)\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const taskProgressSettings = viewSettings as TaskProgressSettings\n const serverFilters = (taskProgressSettings?.filter as any) ?? {}\n const serverColumns = (taskProgressSettings?.columns as ColumnItemModel[]) ?? []\n const serverSliceType = taskProgressSettings?.sliceType\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const columns = localColumns !== null ? localColumns : serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (newColumns: ColumnItemModel[]) => {\n await updateViewSettings({ columns: newColumns }, setLocalColumns, newColumns, {\n errorMessage: 'Failed to update column width settings',\n })\n },\n [updateViewSettings],\n )\n\n // Slice type update handler (no local state needed — slicer context is the optimistic state)\n const noop = useCallback(() => {}, [])\n const onUpdateSliceType = useCallback(\n async (newSliceType: string) => {\n await updateViewSettings({ sliceType: newSliceType }, noop, newSliceType, {\n errorMessage: 'Failed to update slicer type',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n columns,\n onUpdateColumns,\n sliceType: serverSliceType,\n onUpdateSliceType,\n }\n}\n"],"names":["useTaskProgressViewSettings","viewSettings","useViewsContext","localFilters","setLocalFilters","useState","localColumns","setLocalColumns","updateViewSettings","useViewUpdateHelper","taskProgressSettings","serverFilters","serverColumns","serverSliceType","useEffect","filters","columns","onUpdateFilters","useCallback","newFilters","onUpdateColumns","newColumns","noop","onUpdateSliceType","newSliceType"],"mappings":";;;AAgCO,MAAMA,IAA8B,MAAc;AAEvD,QAAM,EAAE,cAAAC,EAAA,IAAiBC,EAAA,GAGnB,CAACC,GAAcC,CAAe,IAAIC,EAA6B,IAAI,GACnE,CAACC,GAAcC,CAAe,IAAIF,EAAmC,IAAI,GAEzE,EAAE,oBAAAG,EAAA,IAAuBC,EAAA,GAGzBC,IAAuBT,GACvBU,IAAiBD,GAAsB,UAAkB,CAAA,GACzDE,IAAiBF,GAAsB,WAAiC,CAAA,GACxEG,IAAkBH,GAAsB;AAG9C,EAAAI,EAAU,MAAM;AACd,IAAAV,EAAgB,IAAI,GACpBG,EAAgB,IAAI;AAAA,EACtB,GAAG,CAAC,KAAK,UAAUN,CAAY,CAAC,CAAC;AAGjC,QAAMc,IAAUZ,MAAiB,OAAOA,IAAeQ,GACjDK,IAAUV,MAAiB,OAAOA,IAAeM,GAGjDK,IAAkBC;AAAA,IACtB,OAAOC,MAA4B;AACjC,YAAMX,EAAmB,EAAE,QAAQW,EAAA,GAAqBf,GAAiBe,GAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAACX,CAAkB;AAAA,EAAA,GAIfY,IAAkBF;AAAA,IACtB,OAAOG,MAAkC;AACvC,YAAMb,EAAmB,EAAE,SAASa,EAAA,GAAcd,GAAiBc,GAAY;AAAA,QAC7E,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAACb,CAAkB;AAAA,EAAA,GAIfc,IAAOJ,EAAY,MAAM;AAAA,EAAC,GAAG,CAAA,CAAE,GAC/BK,IAAoBL;AAAA,IACxB,OAAOM,MAAyB;AAC9B,YAAMhB,EAAmB,EAAE,WAAWgB,EAAA,GAAgBF,GAAME,GAAc;AAAA,QACxE,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAChB,CAAkB;AAAA,EAAA;AAGrB,SAAO;AAAA,IACL,SAAAO;AAAA,IACA,iBAAAE;AAAA,IACA,SAAAD;AAAA,IACA,iBAAAI;AAAA,IACA,WAAWP;AAAA,IACX,mBAAAU;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useTaskProgressViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useTaskProgressViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all task progress page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Progress column widths (ColumnItemModel format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { TaskProgressSettings, ColumnItemModel } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Column width management\n columns: ColumnItemModel[]\n onUpdateColumns: (columns: ColumnItemModel[]) => void\n\n // Slicer type management\n sliceType: string | undefined\n onUpdateSliceType: (sliceType: string) => void\n}\n\nexport const useTaskProgressViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnItemModel[] | null>(null)\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const taskProgressSettings = viewSettings as TaskProgressSettings\n const serverFilters = (taskProgressSettings?.filter as any) ?? {}\n const serverColumns = (taskProgressSettings?.columns as ColumnItemModel[]) ?? []\n const serverSliceType = taskProgressSettings?.sliceType\n\n // Sync local state with server when the relevant setting fields change.\n // Use per-field deps (not JSON.stringify(viewSettings)) so a change to one\n // field does not clear in-flight local state for unrelated fields, which\n // would cause a visible flicker during rapid sequential updates.\n useEffect(() => {\n setLocalFilters(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify((viewSettings as TaskProgressSettings)?.filter)])\n\n useEffect(() => {\n setLocalColumns(null)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify((viewSettings as TaskProgressSettings)?.columns)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const columns = localColumns !== null ? localColumns : serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (newColumns: ColumnItemModel[]) => {\n await updateViewSettings({ columns: newColumns }, setLocalColumns, newColumns, {\n errorMessage: 'Failed to update column width settings',\n })\n },\n [updateViewSettings],\n )\n\n // Slice type update handler (no local state needed — slicer context is the optimistic state)\n const noop = useCallback(() => {}, [])\n const onUpdateSliceType = useCallback(\n async (newSliceType: string) => {\n await updateViewSettings({ sliceType: newSliceType }, noop, newSliceType, {\n errorMessage: 'Failed to update slicer type',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n columns,\n onUpdateColumns,\n sliceType: serverSliceType,\n onUpdateSliceType,\n }\n}\n"],"names":["useTaskProgressViewSettings","viewSettings","useViewsContext","localFilters","setLocalFilters","useState","localColumns","setLocalColumns","updateViewSettings","useViewUpdateHelper","taskProgressSettings","serverFilters","serverColumns","serverSliceType","useEffect","filters","columns","onUpdateFilters","useCallback","newFilters","onUpdateColumns","newColumns","noop","onUpdateSliceType","newSliceType"],"mappings":";;;AAgCO,MAAMA,IAA8B,MAAc;AAEvD,QAAM,EAAE,cAAAC,EAAA,IAAiBC,EAAA,GAGnB,CAACC,GAAcC,CAAe,IAAIC,EAA6B,IAAI,GACnE,CAACC,GAAcC,CAAe,IAAIF,EAAmC,IAAI,GAEzE,EAAE,oBAAAG,EAAA,IAAuBC,EAAA,GAGzBC,IAAuBT,GACvBU,IAAiBD,GAAsB,UAAkB,CAAA,GACzDE,IAAiBF,GAAsB,WAAiC,CAAA,GACxEG,IAAkBH,GAAsB;AAM9C,EAAAI,EAAU,MAAM;AACd,IAAAV,EAAgB,IAAI;AAAA,EAEtB,GAAG,CAAC,KAAK,UAAWH,GAAuC,MAAM,CAAC,CAAC,GAEnEa,EAAU,MAAM;AACd,IAAAP,EAAgB,IAAI;AAAA,EAEtB,GAAG,CAAC,KAAK,UAAWN,GAAuC,OAAO,CAAC,CAAC;AAGpE,QAAMc,IAAUZ,MAAiB,OAAOA,IAAeQ,GACjDK,IAAUV,MAAiB,OAAOA,IAAeM,GAGjDK,IAAkBC;AAAA,IACtB,OAAOC,MAA4B;AACjC,YAAMX,EAAmB,EAAE,QAAQW,EAAA,GAAqBf,GAAiBe,GAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAACX,CAAkB;AAAA,EAAA,GAIfY,IAAkBF;AAAA,IACtB,OAAOG,MAAkC;AACvC,YAAMb,EAAmB,EAAE,SAASa,EAAA,GAAcd,GAAiBc,GAAY;AAAA,QAC7E,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAACb,CAAkB;AAAA,EAAA,GAIfc,IAAOJ,EAAY,MAAM;AAAA,EAAC,GAAG,CAAA,CAAE,GAC/BK,IAAoBL;AAAA,IACxB,OAAOM,MAAyB;AAC9B,YAAMhB,EAAmB,EAAE,WAAWgB,EAAA,GAAgBF,GAAME,GAAc;AAAA,QACxE,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAChB,CAAkB;AAAA,EAAA;AAGrB,SAAO;AAAA,IACL,SAAAO;AAAA,IACA,iBAAAE;AAAA,IACA,SAAAD;AAAA,IACA,iBAAAI;AAAA,IACA,WAAWP;AAAA,IACX,mBAAAU;AAAA,EAAA;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react");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/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/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");const v=require("../../../api/queries/views/getViews.cjs.js"),o=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");const q=require("react-toastify"),B=require("../types.cjs.js"),F=({viewType:u,projectName:t,viewSettings:n,workingView:c,dispatch:a})=>{const[b]=o.useCreateViewMutation(),[l]=o.useUpdateViewMutation(),[g]=o.useDeleteViewMutation(),[V]=o.useSetDefaultViewMutation(),f=d.useCallback(async i=>{try{const e=n||{},r={label:B.BASE_VIEW_ID,working:!1,settings:e},s=await b({payload:r,viewType:u,projectName:i?void 0:t}).unwrap();a(o.viewsQueries.util.invalidateTags([{type:"view",id:s.id},v.getScopeTag(u,i?void 0:t)]));const w=i?"Studio":"Project";q.toast.success(`${w} default view created successfully`)}catch(e){const r=i?"studio":"project";console.error(`Failed to create ${r} base view:`,e),q.toast.error(`Failed to create ${r} base view: ${e?.message||e}`)}},[b,u,t,n,a]),$=d.useCallback(async(i,e)=>{try{await l({viewId:i,viewType:u,projectName:e?void 0:t,payload:{settings:n||{}}}).unwrap(),a(o.viewsQueries.util.invalidateTags([{type:"view",id:i},v.getScopeTag(u,e?void 0:t)]));const s=e?"Studio":"Project";q.toast.success(`${s} default view updated successfully`)}catch(r){const s=e?"studio":"project";console.error(`Failed to update ${s} base view:`,r),q.toast.error(`Failed to update ${s} base view: ${r?.message||r}`)}},[l,u,t,n,a]),M=d.useCallback(async(i,e)=>{try{await g({viewId:i,viewType:u,projectName:e?void 0:t}).unwrap(),a(o.viewsQueries.util.invalidateTags([{type:"view",id:i},v.getScopeTag(u,e?void 0:t)]));const r=e?"Studio":"Project";q.toast.success(`${r} default view removed successfully`)}catch(r){const s=e?"studio":"project";console.error(`Failed to remove ${s} base view:`,r),q.toast.error(`Failed to remove ${s} base view: ${r?.message||r}`)}},[g,u,t,a]),y=d.useCallback(async i=>{try{if(!c?.id)throw new Error("No working view available to update");const s=(await a(o.viewsQueries.endpoints.getBaseView.initiate({viewType:u,projectName:i?void 0:t},{subscribe:!1,forceRefetch:!0}))).data;if(!s||!s.settings)throw new Error("Base view not found or has no settings");await l({viewId:c.id,viewType:u,projectName:t,payload:{settings:s.settings}}).unwrap(),await V({viewType:u,projectName:t,setDefaultViewRequestModel:{viewId:c.id}}).unwrap();const w=i?"Studio":"Project";q.toast.success(`Loaded ${w} default view to working view`)}catch(e){const r=i?"studio":"project";console.error(`Failed to load ${r} base view:`,e),q.toast.error(`Failed to load ${r} base view: ${e?.message||e}`)}},[c,l,V,u,t,a]);return{onCreateBaseView:f,onUpdateBaseView:$,onDeleteBaseView:M,onLoadBaseView:y}};exports.useBaseViewMutations=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react");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/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");const v=require("../../../api/queries/views/getViews.cjs.js"),o=require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");const q=require("react-toastify"),B=require("../types.cjs.js"),F=({viewType:u,projectName:t,viewSettings:n,workingView:c,dispatch:a})=>{const[b]=o.useCreateViewMutation(),[l]=o.useUpdateViewMutation(),[g]=o.useDeleteViewMutation(),[V]=o.useSetDefaultViewMutation(),f=d.useCallback(async i=>{try{const e=n||{},r={label:B.BASE_VIEW_ID,working:!1,settings:e},s=await b({payload:r,viewType:u,projectName:i?void 0:t}).unwrap();a(o.viewsQueries.util.invalidateTags([{type:"view",id:s.id},v.getScopeTag(u,i?void 0:t)]));const w=i?"Studio":"Project";q.toast.success(`${w} default view created successfully`)}catch(e){const r=i?"studio":"project";console.error(`Failed to create ${r} base view:`,e),q.toast.error(`Failed to create ${r} base view: ${e?.message||e}`)}},[b,u,t,n,a]),$=d.useCallback(async(i,e)=>{try{await l({viewId:i,viewType:u,projectName:e?void 0:t,payload:{settings:n||{}}}).unwrap(),a(o.viewsQueries.util.invalidateTags([{type:"view",id:i},v.getScopeTag(u,e?void 0:t)]));const s=e?"Studio":"Project";q.toast.success(`${s} default view updated successfully`)}catch(r){const s=e?"studio":"project";console.error(`Failed to update ${s} base view:`,r),q.toast.error(`Failed to update ${s} base view: ${r?.message||r}`)}},[l,u,t,n,a]),M=d.useCallback(async(i,e)=>{try{await g({viewId:i,viewType:u,projectName:e?void 0:t}).unwrap(),a(o.viewsQueries.util.invalidateTags([{type:"view",id:i},v.getScopeTag(u,e?void 0:t)]));const r=e?"Studio":"Project";q.toast.success(`${r} default view removed successfully`)}catch(r){const s=e?"studio":"project";console.error(`Failed to remove ${s} base view:`,r),q.toast.error(`Failed to remove ${s} base view: ${r?.message||r}`)}},[g,u,t,a]),y=d.useCallback(async i=>{try{if(!c?.id)throw new Error("No working view available to update");const s=(await a(o.viewsQueries.endpoints.getBaseView.initiate({viewType:u,projectName:i?void 0:t},{subscribe:!1,forceRefetch:!0}))).data;if(!s||!s.settings)throw new Error("Base view not found or has no settings");await l({viewId:c.id,viewType:u,projectName:t,payload:{settings:s.settings}}).unwrap(),await V({viewType:u,projectName:t,setDefaultViewRequestModel:{viewId:c.id}}).unwrap();const w=i?"Studio":"Project";q.toast.success(`Loaded ${w} default view to working view`)}catch(e){const r=i?"studio":"project";console.error(`Failed to load ${r} base view:`,e),q.toast.error(`Failed to load ${r} base view: ${e?.message||e}`)}},[c,l,V,u,t,a]);return{onCreateBaseView:f,onUpdateBaseView:$,onDeleteBaseView:M,onLoadBaseView:y}};exports.useBaseViewMutations=F;
2
2
  //# sourceMappingURL=useBaseViewMutations.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseViewMutations.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBaseViewMutations.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n useSetDefaultViewMutation,\n viewsQueries,\n ViewListItemModel,\n} from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { getScopeTag } from '@shared/api/queries/views/getViews'\nimport { BASE_VIEW_ID } from '../types'\nimport type { ViewSettings } from '../context/ViewsContext'\n\ntype Props = {\n viewType?: string\n projectName?: string\n viewSettings?: ViewSettings\n workingView?: ViewListItemModel\n dispatch?: any\n}\n\nexport type UseBaseViewMutations = {\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onLoadBaseView: (isStudioScope: boolean) => Promise<void>\n}\n\nexport const useBaseViewMutations = ({\n viewType,\n projectName,\n viewSettings,\n workingView,\n dispatch,\n}: Props): UseBaseViewMutations => {\n const [createViewMutation] = useCreateViewMutation()\n const [updateViewMutation] = useUpdateViewMutation()\n const [deleteViewMutation] = useDeleteViewMutation()\n const [setDefaultViewMutation] = useSetDefaultViewMutation()\n\n const onCreateBaseView = useCallback(\n async (isStudioScope: boolean) => {\n try {\n const settings = viewSettings || {}\n const baseViewPayload = {\n label: BASE_VIEW_ID,\n working: false,\n settings,\n } as any\n\n const result = await createViewMutation({\n payload: baseViewPayload,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n }).unwrap()\n\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: result.id },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view created successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to create ${scope} base view:`, error)\n toast.error(`Failed to create ${scope} base view: ${error?.message || error}`)\n }\n },\n [createViewMutation, viewType, projectName, viewSettings, dispatch],\n )\n\n const onUpdateBaseView = useCallback(\n async (baseViewId: string, isStudioScope: boolean) => {\n try {\n const settings = viewSettings || {}\n await updateViewMutation({\n viewId: baseViewId,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n payload: { settings },\n }).unwrap()\n\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: baseViewId },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view updated successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to update ${scope} base view:`, error)\n toast.error(`Failed to update ${scope} base view: ${error?.message || error}`)\n }\n },\n [updateViewMutation, viewType, projectName, viewSettings, dispatch],\n )\n\n const onDeleteBaseView = useCallback(\n async (baseViewId: string, isStudioScope: boolean) => {\n try {\n await deleteViewMutation({\n viewId: baseViewId,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n }).unwrap()\n\n // Invalidate tags to force refetch - use the same tag format as getBaseView\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: baseViewId },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view removed successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to remove ${scope} base view:`, error)\n toast.error(`Failed to remove ${scope} base view: ${error?.message || error}`)\n }\n },\n [deleteViewMutation, viewType, projectName, dispatch],\n )\n\n const onLoadBaseView = useCallback(\n async (isStudioScope: boolean) => {\n try {\n if (!workingView?.id) {\n throw new Error('No working view available to update')\n }\n\n // Fetch the specific base view (project or studio)\n const baseViewPromise = dispatch(\n viewsQueries.endpoints.getBaseView.initiate(\n {\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n },\n { subscribe: false, forceRefetch: true },\n ),\n )\n const baseViewResult = await baseViewPromise\n const baseView = baseViewResult.data\n\n if (!baseView || !baseView.settings) {\n throw new Error('Base view not found or has no settings')\n }\n\n // Update the working view with the base view settings\n await updateViewMutation({\n viewId: workingView.id,\n viewType: viewType as string,\n projectName,\n payload: { settings: baseView.settings },\n }).unwrap()\n\n // Set the working view as the default view\n await setDefaultViewMutation({\n viewType: viewType as string,\n projectName,\n setDefaultViewRequestModel: { viewId: workingView.id },\n }).unwrap()\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`Loaded ${scope} default view to working view`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to load ${scope} base view:`, error)\n toast.error(`Failed to load ${scope} base view: ${error?.message || error}`)\n }\n },\n [\n workingView,\n updateViewMutation,\n setDefaultViewMutation,\n viewType,\n projectName,\n dispatch,\n ],\n )\n\n return {\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n }\n}\n"],"names":["useBaseViewMutations","viewType","projectName","viewSettings","workingView","dispatch","createViewMutation","useCreateViewMutation","updateViewMutation","useUpdateViewMutation","deleteViewMutation","useDeleteViewMutation","setDefaultViewMutation","useSetDefaultViewMutation","onCreateBaseView","useCallback","isStudioScope","settings","baseViewPayload","BASE_VIEW_ID","result","viewsQueries","getScopeTag","scope","toast","error","onUpdateBaseView","baseViewId","onDeleteBaseView","onLoadBaseView","baseView"],"mappings":"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"}
1
+ {"version":3,"file":"useBaseViewMutations.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBaseViewMutations.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n useSetDefaultViewMutation,\n viewsQueries,\n ViewListItemModel,\n} from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { getScopeTag } from '@shared/api/queries/views/getViews'\nimport { BASE_VIEW_ID } from '../types'\nimport type { ViewSettings } from '../context/ViewsContext'\n\ntype Props = {\n viewType?: string\n projectName?: string\n viewSettings?: ViewSettings\n workingView?: ViewListItemModel\n dispatch?: any\n}\n\nexport type UseBaseViewMutations = {\n onCreateBaseView: (isStudioScope: boolean) => Promise<void>\n onUpdateBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>\n onLoadBaseView: (isStudioScope: boolean) => Promise<void>\n}\n\nexport const useBaseViewMutations = ({\n viewType,\n projectName,\n viewSettings,\n workingView,\n dispatch,\n}: Props): UseBaseViewMutations => {\n const [createViewMutation] = useCreateViewMutation()\n const [updateViewMutation] = useUpdateViewMutation()\n const [deleteViewMutation] = useDeleteViewMutation()\n const [setDefaultViewMutation] = useSetDefaultViewMutation()\n\n const onCreateBaseView = useCallback(\n async (isStudioScope: boolean) => {\n try {\n const settings = viewSettings || {}\n const baseViewPayload = {\n label: BASE_VIEW_ID,\n working: false,\n settings,\n } as any\n\n const result = await createViewMutation({\n payload: baseViewPayload,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n }).unwrap()\n\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: result.id },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view created successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to create ${scope} base view:`, error)\n toast.error(`Failed to create ${scope} base view: ${error?.message || error}`)\n }\n },\n [createViewMutation, viewType, projectName, viewSettings, dispatch],\n )\n\n const onUpdateBaseView = useCallback(\n async (baseViewId: string, isStudioScope: boolean) => {\n try {\n const settings = viewSettings || {}\n await updateViewMutation({\n viewId: baseViewId,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n payload: { settings },\n }).unwrap()\n\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: baseViewId },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view updated successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to update ${scope} base view:`, error)\n toast.error(`Failed to update ${scope} base view: ${error?.message || error}`)\n }\n },\n [updateViewMutation, viewType, projectName, viewSettings, dispatch],\n )\n\n const onDeleteBaseView = useCallback(\n async (baseViewId: string, isStudioScope: boolean) => {\n try {\n await deleteViewMutation({\n viewId: baseViewId,\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n }).unwrap()\n\n // Invalidate tags to force refetch - use the same tag format as getBaseView\n dispatch(\n viewsQueries.util.invalidateTags([\n { type: 'view', id: baseViewId },\n getScopeTag(viewType as string, isStudioScope ? undefined : projectName),\n ]),\n )\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`${scope} default view removed successfully`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to remove ${scope} base view:`, error)\n toast.error(`Failed to remove ${scope} base view: ${error?.message || error}`)\n }\n },\n [deleteViewMutation, viewType, projectName, dispatch],\n )\n\n const onLoadBaseView = useCallback(\n async (isStudioScope: boolean) => {\n try {\n if (!workingView?.id) {\n throw new Error('No working view available to update')\n }\n\n // Fetch the specific base view (project or studio)\n const baseViewPromise = dispatch(\n viewsQueries.endpoints.getBaseView.initiate(\n {\n viewType: viewType as string,\n projectName: isStudioScope ? undefined : projectName,\n },\n { subscribe: false, forceRefetch: true },\n ),\n )\n const baseViewResult = await baseViewPromise\n const baseView = baseViewResult.data\n\n if (!baseView || !baseView.settings) {\n throw new Error('Base view not found or has no settings')\n }\n\n // Update the working view with the base view settings\n await updateViewMutation({\n viewId: workingView.id,\n viewType: viewType as string,\n projectName,\n payload: { settings: baseView.settings },\n }).unwrap()\n\n // Set the working view as the default view\n await setDefaultViewMutation({\n viewType: viewType as string,\n projectName,\n setDefaultViewRequestModel: { viewId: workingView.id },\n }).unwrap()\n\n const scope = isStudioScope ? 'Studio' : 'Project'\n toast.success(`Loaded ${scope} default view to working view`)\n } catch (error: any) {\n const scope = isStudioScope ? 'studio' : 'project'\n console.error(`Failed to load ${scope} base view:`, error)\n toast.error(`Failed to load ${scope} base view: ${error?.message || error}`)\n }\n },\n [\n workingView,\n updateViewMutation,\n setDefaultViewMutation,\n viewType,\n projectName,\n dispatch,\n ],\n )\n\n return {\n onCreateBaseView,\n onUpdateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n }\n}\n"],"names":["useBaseViewMutations","viewType","projectName","viewSettings","workingView","dispatch","createViewMutation","useCreateViewMutation","updateViewMutation","useUpdateViewMutation","deleteViewMutation","useDeleteViewMutation","setDefaultViewMutation","useSetDefaultViewMutation","onCreateBaseView","useCallback","isStudioScope","settings","baseViewPayload","BASE_VIEW_ID","result","viewsQueries","getScopeTag","scope","toast","error","onUpdateBaseView","baseViewId","onDeleteBaseView","onLoadBaseView","baseView"],"mappings":"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"}
@@ -51,6 +51,7 @@ import "../../../api/queries/attributes/getAttributes.es.js";
51
51
  import "../../../api/queries/attributes/updateAttributes.es.js";
52
52
  import "../../../api/queries/authentication/getAuthentication.es.js";
53
53
  import "../../../api/queries/cloud/cloud.es.js";
54
+ import "../../../api/queries/columnStats/metricTargets.es.js";
54
55
  import "../../../api/queries/config/getConfig.es.js";
55
56
  import "../../../api/queries/config/updateConfig.es.js";
56
57
  import "../../../api/queries/entities/getEntity.es.js";
@@ -94,7 +95,7 @@ import "../../../api/queries/watchers/getWatchers.es.js";
94
95
  import "../../../api/queries/uris/getUris.es.js";
95
96
  import { toast as m } from "react-toastify";
96
97
  import { BASE_VIEW_ID as D } from "../types.es.js";
97
- const vo = ({
98
+ const Vo = ({
98
99
  viewType: i,
99
100
  projectName: e,
100
101
  viewSettings: p,
@@ -220,6 +221,6 @@ const vo = ({
220
221
  };
221
222
  };
222
223
  export {
223
- vo as useBaseViewMutations
224
+ Vo as useBaseViewMutations
224
225
  };
225
226
  //# sourceMappingURL=useBaseViewMutations.es.js.map