@ynput/ayon-frontend-shared 0.3.31 → 0.3.33

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 (1007) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +28 -24
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +219 -199
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +20 -18
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/_virtual/index.cjs14.js +1 -1
  11. package/dist/_virtual/index.cjs15.js +1 -1
  12. package/dist/_virtual/index.cjs19.js +1 -1
  13. package/dist/_virtual/index.cjs22.js +1 -1
  14. package/dist/_virtual/index.cjs23.js +1 -1
  15. package/dist/_virtual/index.cjs24.js +1 -1
  16. package/dist/_virtual/index.cjs7.js +1 -1
  17. package/dist/_virtual/index.es10.js +2 -2
  18. package/dist/_virtual/index.es11.js +2 -2
  19. package/dist/_virtual/index.es13.js +2 -2
  20. package/dist/_virtual/index.es14.js +2 -5
  21. package/dist/_virtual/index.es14.js.map +1 -1
  22. package/dist/_virtual/index.es15.js +2 -2
  23. package/dist/_virtual/index.es16.js +2 -2
  24. package/dist/_virtual/index.es17.js +2 -2
  25. package/dist/_virtual/index.es18.js +2 -2
  26. package/dist/_virtual/index.es19.js +2 -2
  27. package/dist/_virtual/index.es20.js +2 -2
  28. package/dist/_virtual/index.es22.js +3 -3
  29. package/dist/_virtual/index.es23.js +5 -5
  30. package/dist/_virtual/index.es24.js +5 -5
  31. package/dist/_virtual/index.es7.js +5 -2
  32. package/dist/_virtual/index.es7.js.map +1 -1
  33. package/dist/_virtual/index.es9.js +2 -2
  34. package/dist/api.cjs.js +1 -1
  35. package/dist/api.es.js +460 -436
  36. package/dist/api.es.js.map +1 -1
  37. package/dist/components.cjs.js +1 -1
  38. package/dist/components.es.js +83 -80
  39. package/dist/components.es.js.map +1 -1
  40. package/dist/index.cjs.js +1 -1
  41. package/dist/index.es.js +15 -11
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  44. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  45. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  46. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  47. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  48. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  49. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  50. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  52. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  53. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  54. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  55. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  56. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  57. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  58. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  59. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  60. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  61. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  62. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  63. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  64. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  65. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  66. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  67. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  68. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  69. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  70. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  71. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  72. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  73. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  74. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  75. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  76. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  77. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  78. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  79. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  80. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  81. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  82. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  83. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  84. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  85. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  86. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  87. package/dist/shared/src/api/base/client.cjs.js +1 -1
  88. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  89. package/dist/shared/src/api/base/client.es.js +22 -17
  90. package/dist/shared/src/api/base/client.es.js.map +1 -1
  91. package/dist/shared/src/api/generated/folders.cjs.js +1 -1
  92. package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
  93. package/dist/shared/src/api/generated/folders.es.js +2 -14
  94. package/dist/shared/src/api/generated/folders.es.js.map +1 -1
  95. package/dist/shared/src/api/generated/graphql.cjs.js +299 -61
  96. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  97. package/dist/shared/src/api/generated/graphql.es.js +430 -170
  98. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  99. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  100. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js +1 -0
  102. package/dist/shared/src/api/queries/activities/activityQueries.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/activities/activityQueries.es.js +1 -0
  104. package/dist/shared/src/api/queries/activities/activityQueries.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  106. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/activities/getActivities.es.js +26 -24
  108. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  110. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +35 -23
  112. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  114. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +74 -60
  116. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +2 -0
  118. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -0
  119. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +96 -0
  120. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -0
  121. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +2 -0
  122. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -0
  123. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +88 -0
  124. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -0
  125. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +62 -48
  128. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  130. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +7 -3
  132. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  134. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/entityLists/getLists.es.js +94 -79
  136. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +2 -0
  138. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -0
  139. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +68 -0
  140. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -0
  141. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  142. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +73 -69
  144. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  146. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/folders/getFolders.es.js +104 -71
  148. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  150. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  151. package/dist/shared/src/api/queries/overview/getOverview.es.js +265 -216
  152. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  153. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  154. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/overview/updateOverview.es.js +207 -187
  156. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  158. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +138 -107
  160. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -4
  162. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/users/getUsers.es.js +11 -11
  164. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  166. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +332 -239
  168. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
  170. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/views/updateViews.es.js +38 -38
  172. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  173. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  174. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  175. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +4 -2
  176. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  177. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  178. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  180. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  181. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  182. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  183. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +8 -4
  184. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  186. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  187. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  188. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  189. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  190. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  191. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  192. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  193. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  194. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  195. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  196. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  197. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  198. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  199. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +4 -2
  200. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  201. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  202. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  203. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +143 -162
  204. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  205. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  206. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +8 -4
  208. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  210. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  211. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
  212. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  213. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  214. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  215. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  216. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  217. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  218. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  219. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  220. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  221. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  222. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  223. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +4 -2
  224. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  225. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  226. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  227. package/dist/shared/src/components/LinksManager/LinksManager.es.js +4 -2
  228. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  229. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  230. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  231. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -4
  232. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  233. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  234. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  235. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  236. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  237. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  238. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  239. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -2
  240. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  241. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  242. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  243. package/dist/shared/src/components/Menu/Menu.es.js +4 -2
  244. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  245. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  246. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  247. package/dist/shared/src/components/Menu/MenuItem.es.js +2 -0
  248. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  249. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  250. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  251. package/dist/shared/src/components/Menu/MenuList.es.js +4 -2
  252. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  253. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  254. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +4 -2
  256. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  257. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  258. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  259. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  260. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  261. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
  262. package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
  263. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +4 -2
  264. package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
  265. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  266. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +81 -77
  268. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  269. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  270. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -6
  272. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  273. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  274. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  276. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  277. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  278. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  279. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -4
  280. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  281. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  282. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  283. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +8 -4
  284. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  285. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  286. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  287. package/dist/shared/src/components/RenameForm/RenameForm.es.js +8 -4
  288. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  289. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  290. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  291. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  292. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  293. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  294. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  295. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +8 -4
  296. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  297. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  298. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  299. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +9 -5
  300. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  301. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  302. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  303. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -4
  304. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  308. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +8 -4
  312. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  313. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
  314. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
  315. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +2 -1
  316. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
  317. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +2 -0
  318. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -0
  319. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +24 -0
  320. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -0
  321. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  322. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  323. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  324. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  325. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  326. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +4 -2
  328. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  329. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  330. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  331. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +10 -6
  332. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  333. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  334. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -4
  336. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  337. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  338. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +4 -2
  340. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  341. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  342. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  343. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +12 -10
  344. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  345. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  346. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  347. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +49 -44
  348. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  349. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  350. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  351. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +32 -22
  352. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  353. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  354. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  355. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -4
  356. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  357. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  358. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  359. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +12 -8
  360. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  361. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  362. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  363. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  364. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  365. package/dist/shared/src/config/powerpackFeatures.cjs.js +1 -1
  366. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  367. package/dist/shared/src/config/powerpackFeatures.es.js +7 -1
  368. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  369. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  370. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -4
  372. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  374. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  376. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  377. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  378. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -4
  380. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  381. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  382. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +8 -4
  384. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -4
  388. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +45 -40
  392. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +8 -4
  396. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +8 -4
  400. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +8 -4
  404. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  406. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  408. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  410. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -17
  412. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -4
  416. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +7 -3
  420. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +14 -11
  424. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  426. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +14 -14
  428. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  430. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +14 -9
  432. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  433. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  434. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +8 -4
  436. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  437. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  438. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -4
  440. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  441. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  442. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -4
  444. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  445. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  446. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -4
  448. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  449. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  450. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  452. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  453. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  454. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/Feed/Feed.es.js +157 -140
  456. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  457. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  458. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -4
  460. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  461. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  462. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +133 -144
  464. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  465. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  466. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +8 -4
  468. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  469. package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js +3 -3
  470. package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Feed/components/ActivityDate.es.js +39 -31
  472. package/dist/shared/src/containers/Feed/components/ActivityDate.es.js.map +1 -1
  473. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  474. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -20
  476. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  477. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +2 -0
  478. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -0
  479. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +349 -0
  480. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -0
  481. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js +50 -0
  482. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js.map +1 -0
  483. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js +56 -0
  484. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js.map +1 -0
  485. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  486. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +29 -27
  488. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  489. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  490. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +351 -290
  492. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  493. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +87 -12
  494. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +101 -21
  496. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js +2 -0
  498. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -0
  499. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js +34 -0
  500. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -0
  501. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  502. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +12 -8
  504. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  506. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  508. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  510. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +4 -2
  512. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  514. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +4 -2
  516. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  518. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +40 -45
  520. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
  522. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +4 -2
  524. package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  526. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  528. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
  530. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +14 -13
  532. package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/hooks/useCategoryData.cjs.js +2 -0
  534. package/dist/shared/src/containers/Feed/hooks/useCategoryData.cjs.js.map +1 -0
  535. package/dist/shared/src/containers/Feed/hooks/useCategoryData.es.js +27 -0
  536. package/dist/shared/src/containers/Feed/hooks/useCategoryData.es.js.map +1 -0
  537. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  538. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +88 -68
  540. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  542. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  544. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +2 -0
  546. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -0
  547. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +113 -0
  548. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -0
  549. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  550. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  551. package/dist/shared/src/containers/ListTable/ListTable.es.js +214 -204
  552. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  553. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  554. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  555. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +8 -4
  556. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  557. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  558. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  559. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +8 -4
  560. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  562. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +731 -675
  564. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  565. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +32 -10
  566. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  567. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +42 -18
  568. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  570. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +21 -16
  572. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  574. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  575. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +61 -45
  576. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  577. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  578. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  579. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +8 -4
  580. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  581. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  582. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  583. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -4
  584. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  585. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +48 -0
  586. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -0
  587. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +103 -0
  588. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -0
  589. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +2 -0
  590. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -0
  591. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -0
  592. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -0
  593. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  594. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  595. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -4
  596. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  597. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
  598. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  599. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +8 -5
  600. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  601. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  602. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  603. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  604. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +219 -183
  606. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  607. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  608. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  610. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  611. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  612. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +94 -90
  614. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  615. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  616. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +21 -17
  618. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -2
  622. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  624. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +21 -13
  626. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  628. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -2
  630. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  632. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  633. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +85 -81
  634. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  636. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  637. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +203 -181
  638. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  639. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  641. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +10 -5
  642. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  645. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -4
  646. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  647. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  649. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +8 -4
  650. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  652. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  653. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +8 -4
  654. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  657. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +179 -175
  658. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
  661. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -4
  664. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  665. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +8 -4
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  671. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -4
  672. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -4
  676. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  677. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +8 -4
  680. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +96 -91
  684. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +8 -4
  688. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +46 -44
  692. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js +2 -0
  694. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -0
  695. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js +16 -0
  696. package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -0
  697. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  698. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +19 -15
  700. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js +29 -25
  704. package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +2 -0
  706. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -0
  707. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +17 -0
  708. package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -0
  709. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  710. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +61 -61
  712. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js +2 -0
  714. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -0
  715. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js +15 -0
  716. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -0
  717. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  718. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -4
  720. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  722. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +16 -12
  724. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  726. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -6
  728. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  730. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +4 -2
  732. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  734. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +8 -4
  736. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  738. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -4
  740. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  742. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -2
  744. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +4 -4
  746. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +24 -19
  748. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  749. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  750. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  751. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +8 -4
  752. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  753. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  754. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  755. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -4
  756. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  757. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  758. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  759. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +52 -50
  760. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  761. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  762. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  763. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +4 -2
  764. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  765. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  766. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  767. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -4
  768. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  769. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  770. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  771. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +57 -53
  772. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  773. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  774. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  775. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +4 -2
  776. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  777. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  778. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  779. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +4 -2
  780. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  781. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  782. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  783. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +8 -4
  784. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  785. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  786. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  787. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +4 -2
  788. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  789. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
  790. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
  791. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +12 -18
  792. package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
  793. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  794. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  795. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +13 -11
  796. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  797. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
  798. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  799. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +4 -2
  800. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  801. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  802. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  803. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  804. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  805. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  806. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  807. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -4
  808. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  809. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  810. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  811. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +4 -2
  812. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  813. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  814. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  815. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +120 -118
  816. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  817. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  818. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  819. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +18 -16
  820. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  821. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  822. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  823. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +79 -51
  824. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  825. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +1 -1
  826. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  827. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +19 -17
  828. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  829. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  830. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  831. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +4 -2
  832. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  833. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  834. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  835. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +7 -5
  836. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  837. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  838. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  839. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +13 -11
  840. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  841. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  842. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  843. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  844. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  845. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  846. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  847. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +79 -65
  848. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  849. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  850. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  851. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  852. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  853. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  854. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  855. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  856. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  857. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  858. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  859. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  860. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  861. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  862. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  863. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  864. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  865. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  866. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  867. package/dist/shared/src/context/ProjectContext.es.js +6 -4
  868. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  869. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  870. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  871. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  872. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  873. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  874. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  875. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  876. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  877. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  878. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  879. package/dist/shared/src/context/SubtasksModulesContext.es.js +6 -4
  880. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  881. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  882. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  883. package/dist/shared/src/context/UriContext.es.js +7 -5
  884. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  885. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  886. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  887. package/dist/shared/src/context/WebsocketContext.es.js +10 -6
  888. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  889. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  890. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  891. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  892. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  893. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  894. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  895. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  896. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  897. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  898. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  899. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  900. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  901. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  902. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  903. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  904. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  905. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  906. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  907. package/dist/shared/src/hooks/useHierarchyTable.es.js +4 -2
  908. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  909. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  910. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  911. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  912. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  913. package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
  914. package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
  915. package/dist/shared/src/hooks/useScopedTypes.es.js +4 -2
  916. package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
  917. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  918. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  919. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  920. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  921. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  922. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  923. package/dist/shared/src/util/columnConfigConverter.es.js +86 -65
  924. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  925. package/dist/shared/src/util/getThumbnailUrl.cjs.js +2 -0
  926. package/dist/shared/src/util/getThumbnailUrl.cjs.js.map +1 -0
  927. package/dist/shared/src/util/getThumbnailUrl.es.js +23 -0
  928. package/dist/shared/src/util/getThumbnailUrl.es.js.map +1 -0
  929. package/dist/shared/src/util/thumbnailWebsocket.cjs.js +2 -0
  930. package/dist/shared/src/util/thumbnailWebsocket.cjs.js.map +1 -0
  931. package/dist/shared/src/util/thumbnailWebsocket.es.js +54 -0
  932. package/dist/shared/src/util/thumbnailWebsocket.es.js.map +1 -0
  933. package/dist/types/api/generated/folders.d.ts +1 -6
  934. package/dist/types/api/generated/graphql.d.ts +403 -6
  935. package/dist/types/api/generated/graphqlLinks.d.ts +80 -4
  936. package/dist/types/api/queries/activities/activityQueries.d.ts +1 -0
  937. package/dist/types/api/queries/activities/getActivities.d.ts +506 -0
  938. package/dist/types/api/queries/activities/updateActivities.d.ts +116 -0
  939. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
  940. package/dist/types/api/queries/columnStats/columnStats.d.ts +28 -0
  941. package/dist/types/api/queries/columnStats/index.d.ts +2 -0
  942. package/dist/types/api/queries/columnStats/metricTargets.d.ts +31 -0
  943. package/dist/types/api/queries/entities/getEntity.d.ts +57 -0
  944. package/dist/types/api/queries/entities/getEntityPanel.d.ts +57 -0
  945. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  946. package/dist/types/api/queries/entities/updateEntity.d.ts +57 -0
  947. package/dist/types/api/queries/entityLists/getLists.d.ts +57 -0
  948. package/dist/types/api/queries/entityLists/index.d.ts +1 -0
  949. package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +312 -0
  950. package/dist/types/api/queries/entityLists/types.d.ts +3 -0
  951. package/dist/types/api/queries/index.d.ts +1 -0
  952. package/dist/types/api/queries/overview/getOverview.d.ts +743 -1
  953. package/dist/types/api/queries/project/getProject.d.ts +57 -0
  954. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +79 -0
  955. package/dist/types/api/queries/users/getUsers.d.ts +57 -0
  956. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +848 -1
  957. package/dist/types/components/EntityPanelUploader/EntityPanelUploader.d.ts +1 -11
  958. package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +5 -0
  959. package/dist/types/components/SearchFilter/index.d.ts +1 -0
  960. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +2 -2
  961. package/dist/types/components/Thumbnail/Thumbnail.d.ts +2 -2
  962. package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +1 -1
  963. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  964. package/dist/types/containers/DetailsPanel/containers/FeedWrapper.d.ts +1 -0
  965. package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +2 -2
  966. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  967. package/dist/types/containers/Feed/components/ActivityDate.d.ts +1 -0
  968. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +20 -0
  969. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.d.ts +3 -0
  970. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -0
  971. package/dist/types/containers/Feed/components/CommentInput/CommentInput.d.ts +8 -0
  972. package/dist/types/containers/Feed/components/CommentInput/CommentInput.styled.d.ts +19 -0
  973. package/dist/types/containers/Feed/components/CommentInput/VersionReviewPill.d.ts +7 -0
  974. package/dist/types/containers/Feed/hooks/useCategoryData.d.ts +7 -0
  975. package/dist/types/containers/Feed/hooks/useCommentMutations.d.ts +2 -0
  976. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +3 -0
  977. package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +11 -0
  978. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +8 -3
  979. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +2 -0
  980. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  981. package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +14 -0
  982. package/dist/types/containers/ProjectTreeTable/constants.d.ts +2 -0
  983. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -0
  984. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
  985. package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -1
  986. package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +2 -1
  987. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  988. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
  989. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
  990. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +17 -1
  991. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +2 -0
  992. package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +50 -0
  993. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +4 -0
  994. package/dist/types/containers/ProjectTreeTable/utils/checkColumnVisibility.d.ts +2 -0
  995. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  996. package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +6 -0
  997. package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +2 -0
  998. package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
  999. package/dist/types/containers/Views/hooks/useSelectedView.d.ts +2 -1
  1000. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -3
  1001. package/dist/types/util/getThumbnailUrl.d.ts +18 -0
  1002. package/dist/types/util/index.d.ts +2 -0
  1003. package/dist/types/util/thumbnailWebsocket.d.ts +21 -0
  1004. package/dist/util.cjs.js +1 -1
  1005. package/dist/util.es.js +35 -30
  1006. package/dist/util.es.js.map +1 -1
  1007. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";const x=require("react-toastify"),Q=require("../context/ProjectTableQueriesContext.cjs.js"),O=require("react"),R=require("../context/ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");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");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const B=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");const j=($,s,p)=>{switch($){case"unique-violation":return`${s} with the name "${p}" already exists`;case"not-null-violation":return`${s} "${p}" is missing required fields`;case"foreign-key-violation":return`${s} "${p}" references invalid data`;case"integrity-constraint-violation":return`${s} "${p}" violates data integrity rules`;default:return`Failed to update ${s}: ${p}`}},L=$=>{const{pushHistory:s,removeHistoryEntries:p}=$||{},{projectName:v}=B.useProjectContext(),{getEntityById:g,getInheritedDependents:C,findInheritedValueFromAncestors:k,findNonInheritedValues:U}=R.useProjectTableContext(),{updateEntities:F}=Q.useProjectTableQueriesContext(),V=O.useCallback(async(b=[],D=!0)=>{if(!b.length||!v)return;let h=b.filter(e=>!e.isLink);const m=h.filter(e=>!(e.field==="folderType"&&e.type==="folder"&&g(e.id)?.hasVersions)),A=h.length-m.length;if(A>0&&x.toast.error(`Cannot change folder type for ${A} folder${A>1?"s":""} with published versions`),h=m,!h.length)return;if(s&&D){const e=h.map(({rowId:d,id:r,type:o,field:n,isAttrib:y,meta:I})=>{const l=g(r);if(!l)throw"Entity not found: "+r;const u=l?.entityId||l.id,w=y?l.attrib?.[n]??null:l[n]??null,E=l?.ownAttrib||[],f=y&&!E.includes(n);return{rowId:d,id:u,type:o,field:n,value:w,isAttrib:y,wasInherited:f,ownAttrib:E,folderId:l?.folderId||l?.parentId,meta:I}}),c=h.flatMap(({rowId:d,id:r,type:o,field:n,value:y,isAttrib:I,meta:l})=>{const u=g(r),w=u?.entityId||u?.id||r;return u?{rowId:d,id:w,type:o,field:n,value:y,isAttrib:I,ownAttrib:u?.ownAttrib||[],folderId:"folderId"in u?u.folderId:u?.parentId,meta:l}:[]});s(e,c)}const T=["task","folder","product","version"];let t=[];for(const e of h){let{id:c,type:d,field:r,value:o,isAttrib:n,meta:y}=e;const I=g(c),l=I?.entityId||I?.id||c;let u=d;if(!T.includes(u))continue;const w=n?{attrib:{[r]:o}}:{[r]:o};if(n){const f=[...I?.ownAttrib||[]];f.includes(r)||f.push(r),w.ownAttrib=f}const E=t.findIndex(f=>f.entityId===l&&f.entityType===u);if(E!==-1){const f=t[E];let P={...f.data,...w};f.data?.attrib&&w.attrib&&(P={...P,attrib:{...f.data.attrib,...w.attrib}}),t[E]={...f,data:P}}else t.push({entityType:u,entityId:l,rowId:e.rowId,type:"update",data:w,meta:y})}const q=t.filter(e=>!!e.entityId&&e.type==="update"&&e.data&&"attrib"in e.data).map(e=>({entityId:e.entityId,entityType:e.entityType,attrib:e.data&&"attrib"in e.data?e.data?.attrib:{}})),a=C(q).map(e=>({entityId:e.entityId,entityType:e.entityType,data:{attrib:e.attrib}}));try{t.length&&await F({operations:t,patchOperations:a})}catch(e){console.error("Error updating entities:",e),t.length===1?e.errorCodes.forEach(c=>{const d=t[0],r=g(d.entityId),o=r?.label||r?.name||d.entityId||"",n=j(c,d.entityType,o);x.toast.error(n)}):x.toast.error("Failed to update entities"),s&&D&&p&&p(1)}},[v,F,g,C,s,p]),M=O.useCallback(async(b,D=!0)=>{if(!b.length||!v)return;if(D&&s){const t=[];for(const i of b){const a=g(i.entityId);for(const e of i.attribs)a?.attrib&&e in a.attrib&&t.push({rowId:i.rowId,id:a?.entityId||a?.id||i.entityId,type:i.entityType,field:e,value:a.attrib[e],isAttrib:!0,wasInherited:!1,ownAttrib:a?.ownAttrib||[],folderId:a?.folderId,meta:a.meta})}const q=b.flatMap(i=>i.attribs.map(a=>({rowId:i.rowId,id:i.entityId,type:i.entityType,field:a,value:null,isAttrib:!0,wasInherited:!0,ownAttrib:i.ownAttrib,folderId:i.folderId,meta:i.meta})));t.length>0&&s(t,q)}const h=["task","folder"],m=[],A=[];for(const t of b){let q=t.entityType;if(!h.includes(q))continue;q=q;const i={};t.attribs.forEach(o=>{i[o]=null}),m.push({entityType:q,entityId:t.entityId,rowId:t.rowId,type:"update",data:{attrib:i},meta:t.meta});const e=(()=>{const o=t.folderId,n=[];let y=o,I=b.find(u=>u.entityId===y);for(;I;)n.push(I),y=I.folderId,I=b.find(u=>u.entityId===y);return n.length>0?n[n.length-1]:null})(),c=e?.attribs||[],d=t.attribs.filter(o=>c.includes(o)),r=t.attribs.filter(o=>!c.includes(o));r.length>0&&A.push({...t,attribs:r}),e&&d.length>0&&A.push({...t,attribs:d,folderId:e.folderId})}const T=[];for(const t of A){const q=t.entityType,i=[...t.ownAttrib||[]].filter(r=>!t.attribs.includes(r)),a=U(t.folderId,t.attribs),e={entityId:t.entityId,entityType:q,data:{attrib:a,ownAttrib:i}};T.push(e);const d=C([{entityId:t.entityId,entityType:q,attrib:a}]).map(r=>({entityId:r.entityId,entityType:r.entityType,data:{attrib:r.attrib}}));for(const r of d){const o=T.findIndex(n=>n.entityId===r.entityId);if(o!==-1){const n=T[o];let y={...n.data?.attrib||{},...r.data?.attrib||{}};T[o]={...n,data:{attrib:y}}}else T.push({entityId:r.entityId,entityType:r.entityType,data:r.data})}}try{await F({operations:m,patchOperations:T})}catch(t){m.length===1?t.errorCodes.forEach(q=>{const i=m[0],a=g(i.entityId),e=a?.label||a?.name||i.entityId||"",c=j(q,i.entityType,e);x.toast.error(c)}):x.toast.error("Failed to update entities"),D&&s&&p&&p(1)}},[v,F,C,k,s,p]);return{updateEntities:V,inheritFromParent:M}};module.exports=L;
1
+ "use strict";const x=require("react-toastify"),Q=require("../context/ProjectTableQueriesContext.cjs.js"),O=require("react"),R=require("../context/ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("lodash");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const B=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");const j=($,s,p)=>{switch($){case"unique-violation":return`${s} with the name "${p}" already exists`;case"not-null-violation":return`${s} "${p}" is missing required fields`;case"foreign-key-violation":return`${s} "${p}" references invalid data`;case"integrity-constraint-violation":return`${s} "${p}" violates data integrity rules`;default:return`Failed to update ${s}: ${p}`}},L=$=>{const{pushHistory:s,removeHistoryEntries:p}=$||{},{projectName:v}=B.useProjectContext(),{getEntityById:g,getInheritedDependents:C,findInheritedValueFromAncestors:k,findNonInheritedValues:U}=R.useProjectTableContext(),{updateEntities:F}=Q.useProjectTableQueriesContext(),V=O.useCallback(async(b=[],D=!0)=>{if(!b.length||!v)return;let h=b.filter(e=>!e.isLink);const m=h.filter(e=>!(e.field==="folderType"&&e.type==="folder"&&g(e.id)?.hasVersions)),A=h.length-m.length;if(A>0&&x.toast.error(`Cannot change folder type for ${A} folder${A>1?"s":""} with published versions`),h=m,!h.length)return;if(s&&D){const e=h.map(({rowId:d,id:r,type:o,field:n,isAttrib:y,meta:I})=>{const q=g(r);if(!q)throw"Entity not found: "+r;const u=q?.entityId||q.id,w=y?q.attrib?.[n]??null:q[n]??null,E=q?.ownAttrib||[],f=y&&!E.includes(n);return{rowId:d,id:u,type:o,field:n,value:w,isAttrib:y,wasInherited:f,ownAttrib:E,folderId:q?.folderId||q?.parentId,meta:I}}),c=h.flatMap(({rowId:d,id:r,type:o,field:n,value:y,isAttrib:I,meta:q})=>{const u=g(r),w=u?.entityId||u?.id||r;return u?{rowId:d,id:w,type:o,field:n,value:y,isAttrib:I,ownAttrib:u?.ownAttrib||[],folderId:"folderId"in u?u.folderId:u?.parentId,meta:q}:[]});s(e,c)}const T=["task","folder","product","version"];let t=[];for(const e of h){let{id:c,type:d,field:r,value:o,isAttrib:n,meta:y}=e;const I=g(c),q=I?.entityId||I?.id||c;let u=d;if(!T.includes(u))continue;const w=n?{attrib:{[r]:o}}:{[r]:o};if(n){const f=[...I?.ownAttrib||[]];f.includes(r)||f.push(r),w.ownAttrib=f}const E=t.findIndex(f=>f.entityId===q&&f.entityType===u);if(E!==-1){const f=t[E];let P={...f.data,...w};f.data?.attrib&&w.attrib&&(P={...P,attrib:{...f.data.attrib,...w.attrib}}),t[E]={...f,data:P}}else t.push({entityType:u,entityId:q,rowId:e.rowId,type:"update",data:w,meta:y})}const l=t.filter(e=>!!e.entityId&&e.type==="update"&&e.data&&"attrib"in e.data).map(e=>({entityId:e.entityId,entityType:e.entityType,attrib:e.data&&"attrib"in e.data?e.data?.attrib:{}})),a=C(l).map(e=>({entityId:e.entityId,entityType:e.entityType,data:{attrib:e.attrib}}));try{t.length&&await F({operations:t,patchOperations:a})}catch(e){console.error("Error updating entities:",e),t.length===1?e.errorCodes.forEach(c=>{const d=t[0],r=g(d.entityId),o=r?.label||r?.name||d.entityId||"",n=j(c,d.entityType,o);x.toast.error(n)}):x.toast.error("Failed to update entities"),s&&D&&p&&p(1)}},[v,F,g,C,s,p]),M=O.useCallback(async(b,D=!0)=>{if(!b.length||!v)return;if(D&&s){const t=[];for(const i of b){const a=g(i.entityId);for(const e of i.attribs)a?.attrib&&e in a.attrib&&t.push({rowId:i.rowId,id:a?.entityId||a?.id||i.entityId,type:i.entityType,field:e,value:a.attrib[e],isAttrib:!0,wasInherited:!1,ownAttrib:a?.ownAttrib||[],folderId:a?.folderId,meta:a.meta})}const l=b.flatMap(i=>i.attribs.map(a=>({rowId:i.rowId,id:i.entityId,type:i.entityType,field:a,value:null,isAttrib:!0,wasInherited:!0,ownAttrib:i.ownAttrib,folderId:i.folderId,meta:i.meta})));t.length>0&&s(t,l)}const h=["task","folder"],m=[],A=[];for(const t of b){let l=t.entityType;if(!h.includes(l))continue;l=l;const i={};t.attribs.forEach(o=>{i[o]=null}),m.push({entityType:l,entityId:t.entityId,rowId:t.rowId,type:"update",data:{attrib:i},meta:t.meta});const e=(()=>{const o=t.folderId,n=[];let y=o,I=b.find(u=>u.entityId===y);for(;I;)n.push(I),y=I.folderId,I=b.find(u=>u.entityId===y);return n.length>0?n[n.length-1]:null})(),c=e?.attribs||[],d=t.attribs.filter(o=>c.includes(o)),r=t.attribs.filter(o=>!c.includes(o));r.length>0&&A.push({...t,attribs:r}),e&&d.length>0&&A.push({...t,attribs:d,folderId:e.folderId})}const T=[];for(const t of A){const l=t.entityType,i=[...t.ownAttrib||[]].filter(r=>!t.attribs.includes(r)),a=U(t.folderId,t.attribs),e={entityId:t.entityId,entityType:l,data:{attrib:a,ownAttrib:i}};T.push(e);const d=C([{entityId:t.entityId,entityType:l,attrib:a}]).map(r=>({entityId:r.entityId,entityType:r.entityType,data:{attrib:r.attrib}}));for(const r of d){const o=T.findIndex(n=>n.entityId===r.entityId);if(o!==-1){const n=T[o];let y={...n.data?.attrib||{},...r.data?.attrib||{}};T[o]={...n,data:{attrib:y}}}else T.push({entityId:r.entityId,entityType:r.entityType,data:r.data})}}try{await F({operations:m,patchOperations:T})}catch(t){m.length===1?t.errorCodes.forEach(l=>{const i=m[0],a=g(i.entityId),e=a?.label||a?.name||i.entityId||"",c=j(l,i.entityType,e);x.toast.error(c)}):x.toast.error("Failed to update entities"),D&&s&&p&&p(1)}},[v,F,C,k,s,p]);return{updateEntities:V,inheritFromParent:M}};module.exports=L;
2
2
  //# sourceMappingURL=useUpdateTableData.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nconst getErrorMessage = (\n errorCode: string | undefined,\n entityType: string,\n entityName: string,\n): string => {\n switch (errorCode) {\n case 'unique-violation':\n return `${entityType} with the name \"${entityName}\" already exists`\n case 'not-null-violation':\n return `${entityType} \"${entityName}\" is missing required fields`\n case 'foreign-key-violation':\n return `${entityType} \"${entityName}\" references invalid data`\n case 'integrity-constraint-violation':\n return `${entityType} \"${entityName}\" violates data integrity rules`\n default:\n return `Failed to update ${entityType}: ${entityName}`\n }\n}\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n rowId: entity.rowId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n if (operations.length === 1) {\n error.errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n toast.error('Failed to update entities')\n }\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n rowId: entity.rowId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error: any) {\n // Extract error code from operation result - check multiple paths\n if (operations.length === 1) {\n error.errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n toast.error('Failed to update entities')\n }\n\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["getErrorMessage","errorCode","entityType","entityName","useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","message","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","e","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
1
+ {"version":3,"file":"useUpdateTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nconst getErrorMessage = (\n errorCode: string | undefined,\n entityType: string,\n entityName: string,\n): string => {\n switch (errorCode) {\n case 'unique-violation':\n return `${entityType} with the name \"${entityName}\" already exists`\n case 'not-null-violation':\n return `${entityType} \"${entityName}\" is missing required fields`\n case 'foreign-key-violation':\n return `${entityType} \"${entityName}\" references invalid data`\n case 'integrity-constraint-violation':\n return `${entityType} \"${entityName}\" violates data integrity rules`\n default:\n return `Failed to update ${entityType}: ${entityName}`\n }\n}\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n rowId: entity.rowId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n if (operations.length === 1) {\n error.errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n toast.error('Failed to update entities')\n }\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n rowId: entity.rowId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error: any) {\n // Extract error code from operation result - check multiple paths\n if (operations.length === 1) {\n error.errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n toast.error('Failed to update entities')\n }\n\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["getErrorMessage","errorCode","entityType","entityName","useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","message","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","e","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
@@ -58,6 +58,7 @@ import "../../../api/queries/attributes/getAttributes.es.js";
58
58
  import "../../../api/queries/attributes/updateAttributes.es.js";
59
59
  import "../../../api/queries/authentication/getAuthentication.es.js";
60
60
  import "../../../api/queries/cloud/cloud.es.js";
61
+ import "../../../api/queries/columnStats/metricTargets.es.js";
61
62
  import "../../../api/queries/config/getConfig.es.js";
62
63
  import "../../../api/queries/config/updateConfig.es.js";
63
64
  import "../../../api/queries/entities/getEntity.es.js";
@@ -70,6 +71,7 @@ import "../../../api/queries/entities/updateEntity.es.js";
70
71
  import "../../../api/queries/entityLists/getLists.es.js";
71
72
  import "../../../api/queries/entityLists/updateLists.es.js";
72
73
  import "../../../api/queries/entityLists/getListsAttributes.es.js";
74
+ import "../../../api/queries/entityLists/listItemsColumnStats.es.js";
73
75
  import "../../../api/queries/entityLists/updateListsAttributes.es.js";
74
76
  import "../../../api/queries/entityLists/listFolders.es.js";
75
77
  import "../../../api/queries/folders/getFolders.es.js";
@@ -135,7 +137,7 @@ const j = (O, d, u) => {
135
137
  default:
136
138
  return `Failed to update ${d}: ${u}`;
137
139
  }
138
- }, re = (O) => {
140
+ }, nr = (O) => {
139
141
  const { pushHistory: d, removeHistoryEntries: u } = O || {}, { projectName: F } = Q(), {
140
142
  getEntityById: g,
141
143
  getInheritedDependents: $,
@@ -153,10 +155,10 @@ const j = (O, d, u) => {
153
155
  return;
154
156
  if (d && v) {
155
157
  const t = h.map(
156
- ({ rowId: s, id: e, type: n, field: o, isAttrib: f, meta: I }) => {
157
- const m = g(e);
158
+ ({ rowId: s, id: r, type: n, field: o, isAttrib: f, meta: I }) => {
159
+ const m = g(r);
158
160
  if (!m)
159
- throw "Entity not found: " + e;
161
+ throw "Entity not found: " + r;
160
162
  const p = m?.entityId || m.id, w = f ? m.attrib?.[o] ?? null : m[o] ?? null, D = m?.ownAttrib || [], y = f && !D.includes(o);
161
163
  return {
162
164
  rowId: s,
@@ -173,8 +175,8 @@ const j = (O, d, u) => {
173
175
  };
174
176
  }
175
177
  ), c = h.flatMap(
176
- ({ rowId: s, id: e, type: n, field: o, value: f, isAttrib: I, meta: m }) => {
177
- const p = g(e), w = p?.entityId || p?.id || e;
178
+ ({ rowId: s, id: r, type: n, field: o, value: f, isAttrib: I, meta: m }) => {
179
+ const p = g(r), w = p?.entityId || p?.id || r;
178
180
  return p ? {
179
181
  rowId: s,
180
182
  id: w,
@@ -198,15 +200,15 @@ const j = (O, d, u) => {
198
200
  ];
199
201
  let i = [];
200
202
  for (const t of h) {
201
- let { id: c, type: s, field: e, value: n, isAttrib: o, meta: f } = t;
203
+ let { id: c, type: s, field: r, value: n, isAttrib: o, meta: f } = t;
202
204
  const I = g(c), m = I?.entityId || I?.id || c;
203
205
  let p = s;
204
206
  if (!A.includes(p))
205
207
  continue;
206
- const w = o ? { attrib: { [e]: n } } : { [e]: n };
208
+ const w = o ? { attrib: { [r]: n } } : { [r]: n };
207
209
  if (o) {
208
210
  const y = [...I?.ownAttrib || []];
209
- y.includes(e) || y.push(e), w.ownAttrib = y;
211
+ y.includes(r) || y.push(r), w.ownAttrib = y;
210
212
  }
211
213
  const D = i.findIndex(
212
214
  (y) => y.entityId === m && y.entityType === p
@@ -246,7 +248,7 @@ const j = (O, d, u) => {
246
248
  });
247
249
  } catch (t) {
248
250
  console.error("Error updating entities:", t), i.length === 1 ? t.errorCodes.forEach((c) => {
249
- const s = i[0], e = g(s.entityId), n = e?.label || e?.name || s.entityId || "", o = j(c, s.entityType, n);
251
+ const s = i[0], r = g(s.entityId), n = r?.label || r?.name || s.entityId || "", o = j(c, s.entityType, n);
250
252
  x.error(o);
251
253
  }) : x.error("Failed to update entities"), d && v && u && u(1);
252
254
  }
@@ -266,13 +268,13 @@ const j = (O, d, u) => {
266
268
  return;
267
269
  if (v && d) {
268
270
  const i = [];
269
- for (const r of b) {
270
- const a = g(r.entityId);
271
- for (const t of r.attribs)
271
+ for (const e of b) {
272
+ const a = g(e.entityId);
273
+ for (const t of e.attribs)
272
274
  a?.attrib && t in a.attrib && i.push({
273
- rowId: r.rowId,
274
- id: a?.entityId || a?.id || r.entityId,
275
- type: r.entityType,
275
+ rowId: e.rowId,
276
+ id: a?.entityId || a?.id || e.entityId,
277
+ type: e.entityType,
276
278
  field: t,
277
279
  value: a.attrib[t],
278
280
  isAttrib: !0,
@@ -284,18 +286,18 @@ const j = (O, d, u) => {
284
286
  });
285
287
  }
286
288
  const l = b.flatMap(
287
- (r) => r.attribs.map((a) => ({
288
- rowId: r.rowId,
289
- id: r.entityId,
290
- type: r.entityType,
289
+ (e) => e.attribs.map((a) => ({
290
+ rowId: e.rowId,
291
+ id: e.entityId,
292
+ type: e.entityType,
291
293
  field: a,
292
294
  value: null,
293
295
  isAttrib: !0,
294
296
  wasInherited: !0,
295
297
  // Mark as inherited
296
- ownAttrib: r.ownAttrib,
297
- folderId: r.folderId,
298
- meta: r.meta
298
+ ownAttrib: e.ownAttrib,
299
+ folderId: e.folderId,
300
+ meta: e.meta
299
301
  }))
300
302
  );
301
303
  i.length > 0 && d(i, l);
@@ -306,16 +308,16 @@ const j = (O, d, u) => {
306
308
  if (!h.includes(l))
307
309
  continue;
308
310
  l = l;
309
- const r = {};
311
+ const e = {};
310
312
  i.attribs.forEach((n) => {
311
- r[n] = null;
313
+ e[n] = null;
312
314
  }), T.push({
313
315
  entityType: l,
314
316
  entityId: i.entityId,
315
317
  rowId: i.rowId,
316
318
  type: "update",
317
319
  data: {
318
- attrib: r
320
+ attrib: e
319
321
  },
320
322
  meta: i.meta
321
323
  });
@@ -327,12 +329,12 @@ const j = (O, d, u) => {
327
329
  return o.length > 0 ? o[o.length - 1] : null;
328
330
  })(), c = t?.attribs || [], s = i.attribs.filter(
329
331
  (n) => c.includes(n)
330
- ), e = i.attribs.filter(
332
+ ), r = i.attribs.filter(
331
333
  (n) => !c.includes(n)
332
334
  );
333
- e.length > 0 && E.push({
335
+ r.length > 0 && E.push({
334
336
  ...i,
335
- attribs: e
337
+ attribs: r
336
338
  }), t && s.length > 0 && E.push({
337
339
  ...i,
338
340
  attribs: s,
@@ -341,29 +343,29 @@ const j = (O, d, u) => {
341
343
  }
342
344
  const A = [];
343
345
  for (const i of E) {
344
- const l = i.entityType, r = [...i.ownAttrib || []].filter(
345
- (e) => !i.attribs.includes(e)
346
+ const l = i.entityType, e = [...i.ownAttrib || []].filter(
347
+ (r) => !i.attribs.includes(r)
346
348
  ), a = V(i.folderId, i.attribs), t = {
347
349
  entityId: i.entityId,
348
350
  entityType: l,
349
351
  data: {
350
352
  attrib: a,
351
- ownAttrib: r
353
+ ownAttrib: e
352
354
  }
353
355
  };
354
356
  A.push(t);
355
357
  const s = $([
356
358
  { entityId: i.entityId, entityType: l, attrib: a }
357
- ]).map((e) => ({
358
- entityId: e.entityId,
359
- entityType: e.entityType,
359
+ ]).map((r) => ({
360
+ entityId: r.entityId,
361
+ entityType: r.entityType,
360
362
  data: {
361
- attrib: e.attrib
363
+ attrib: r.attrib
362
364
  }
363
365
  }));
364
- for (const e of s) {
366
+ for (const r of s) {
365
367
  const n = A.findIndex(
366
- (o) => o.entityId === e.entityId
368
+ (o) => o.entityId === r.entityId
367
369
  );
368
370
  if (n !== -1) {
369
371
  const o = A[n];
@@ -371,7 +373,7 @@ const j = (O, d, u) => {
371
373
  // @ts-ignore
372
374
  ...o.data?.attrib || {},
373
375
  // @ts-ignore
374
- ...e.data?.attrib || {}
376
+ ...r.data?.attrib || {}
375
377
  };
376
378
  A[n] = {
377
379
  ...o,
@@ -379,9 +381,9 @@ const j = (O, d, u) => {
379
381
  };
380
382
  } else
381
383
  A.push({
382
- entityId: e.entityId,
383
- entityType: e.entityType,
384
- data: e.data
384
+ entityId: r.entityId,
385
+ entityType: r.entityType,
386
+ data: r.data
385
387
  });
386
388
  }
387
389
  }
@@ -392,7 +394,7 @@ const j = (O, d, u) => {
392
394
  });
393
395
  } catch (i) {
394
396
  T.length === 1 ? i.errorCodes.forEach((l) => {
395
- const r = T[0], a = g(r.entityId), t = a?.label || a?.name || r.entityId || "", c = j(l, r.entityType, t);
397
+ const e = T[0], a = g(e.entityId), t = a?.label || a?.name || e.entityId || "", c = j(l, e.entityType, t);
396
398
  x.error(c);
397
399
  }) : x.error("Failed to update entities"), v && d && u && u(1);
398
400
  }
@@ -409,6 +411,6 @@ const j = (O, d, u) => {
409
411
  return { updateEntities: M, inheritFromParent: q };
410
412
  };
411
413
  export {
412
- re as default
414
+ nr as default
413
415
  };
414
416
  //# sourceMappingURL=useUpdateTableData.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nconst getErrorMessage = (\n errorCode: string | undefined,\n entityType: string,\n entityName: string,\n): string => {\n switch (errorCode) {\n case 'unique-violation':\n return `${entityType} with the name \"${entityName}\" already exists`\n case 'not-null-violation':\n return `${entityType} \"${entityName}\" is missing required fields`\n case 'foreign-key-violation':\n return `${entityType} \"${entityName}\" references invalid data`\n case 'integrity-constraint-violation':\n return `${entityType} \"${entityName}\" violates data integrity rules`\n default:\n return `Failed to update ${entityType}: ${entityName}`\n }\n}\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n rowId: entity.rowId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n if (operations.length === 1) {\n error.errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n toast.error('Failed to update entities')\n }\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n rowId: entity.rowId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error: any) {\n // Extract error code from operation result - check multiple paths\n if (operations.length === 1) {\n error.errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n toast.error('Failed to update entities')\n }\n\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["getErrorMessage","errorCode","entityType","entityName","useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","message","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
1
+ {"version":3,"file":"useUpdateTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nconst getErrorMessage = (\n errorCode: string | undefined,\n entityType: string,\n entityName: string,\n): string => {\n switch (errorCode) {\n case 'unique-violation':\n return `${entityType} with the name \"${entityName}\" already exists`\n case 'not-null-violation':\n return `${entityType} \"${entityName}\" is missing required fields`\n case 'foreign-key-violation':\n return `${entityType} \"${entityName}\" references invalid data`\n case 'integrity-constraint-violation':\n return `${entityType} \"${entityName}\" violates data integrity rules`\n default:\n return `Failed to update ${entityType}: ${entityName}`\n }\n}\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n rowId: entity.rowId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n if (operations.length === 1) {\n error.errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n toast.error('Failed to update entities')\n }\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n rowId: entity.rowId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error: any) {\n // Extract error code from operation result - check multiple paths\n if (operations.length === 1) {\n error.errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n toast.error('Failed to update entities')\n }\n\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["getErrorMessage","errorCode","entityType","entityName","useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","message","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a="count",s=o=>o==="count"||o==="both",c=o=>o==="percent"||o==="both",e=(o,t)=>o&&t?"both":o?"count":t?"percent":"none",n="all",r=o=>o==="all"||o==="primary",l=o=>o==="all"||o==="secondary",m=(o,t)=>o&&t?"all":o?"primary":t?"secondary":"none",u={primary:"folders",secondary:"tasks"};exports.DEFAULT_MAIN_COUNT_LABELS=u;exports.DEFAULT_ROW_SCOPE=n;exports.DEFAULT_SUMMARY_FORMAT=a;exports.buildRowScope=m;exports.buildSummaryFormat=e;exports.formatHasCount=s;exports.formatHasPercent=c;exports.scopeHasGroups=r;exports.scopeHasRows=l;
2
+ //# sourceMappingURL=summaryTypes.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summaryTypes.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/types/summaryTypes.ts"],"sourcesContent":["export type SummaryKind =\n | 'main'\n | 'number'\n | 'boolean'\n | 'text'\n | 'enum'\n | 'assignee'\n | 'blank'\n\nexport type NumberCalc = 'sum' | 'avg' | 'min' | 'max' | 'none'\nexport type BooleanCalc = 'checked' | 'notChecked'\nexport type TextCalc = 'filled' | 'notFilled'\n// enum bar mode: value distribution vs filled/empty split\nexport type EnumCalc = 'values' | 'fill'\n\nexport type SummaryCalc = NumberCalc | BooleanCalc | TextCalc | EnumCalc\n\n// Display format for count-style summaries, driven by the Count/Percentage toggles.\nexport type SummaryFormat = 'count' | 'percent' | 'both' | 'none'\nexport const DEFAULT_SUMMARY_FORMAT: SummaryFormat = 'count'\n\nexport const formatHasCount = (f: SummaryFormat): boolean => f === 'count' || f === 'both'\nexport const formatHasPercent = (f: SummaryFormat): boolean => f === 'percent' || f === 'both'\nexport const buildSummaryFormat = (count: boolean, percent: boolean): SummaryFormat =>\n count && percent ? 'both' : count ? 'count' : percent ? 'percent' : 'none'\n\n\nexport type RowScope = 'all' | 'primary' | 'secondary' | 'none'\nexport const DEFAULT_ROW_SCOPE: RowScope = 'all'\n\nexport const scopeHasGroups = (s: RowScope): boolean => s === 'all' || s === 'primary'\nexport const scopeHasRows = (s: RowScope): boolean => s === 'all' || s === 'secondary'\nexport const buildRowScope = (groups: boolean, rows: boolean): RowScope =>\n groups && rows ? 'all' : groups ? 'primary' : rows ? 'secondary' : 'none'\n\nexport type SummaryDistributionItem = {\n value: string\n label?: string\n color?: string\n icon?: string\n avatarUrl?: string\n fullName?: string\n count: number\n}\n\n// Mirrors backend ColumnStats plus pending distribution/sum fields.\nexport type ColumnSummary = {\n columnId: string\n\n filledCount?: number\n notFilledCount?: number\n percentageFilled?: number\n percentageNotFilled?: number\n\n checkedCount?: number\n notCheckedCount?: number\n percentageChecked?: number\n percentageNotChecked?: number\n\n sum?: number\n avg?: number\n min?: number\n max?: number\n\n distribution?: SummaryDistributionItem[]\n total?: number\n\n // main/count column: primary/secondary entity totals (folders/tasks, products/versions)\n primaryCount?: number\n secondaryCount?: number\n}\n\nexport type ColumnSummaryMap = Record<string, ColumnSummary>\n\n// Labels for the main/count cell's dual count. Defaults to folders/tasks (Overview);\n// Versions/Products page overrides with products/versions.\nexport type MainCountLabels = {\n primary: string\n secondary?: string\n}\n\nexport const DEFAULT_MAIN_COUNT_LABELS: MainCountLabels = {\n primary: 'folders',\n secondary: 'tasks',\n}\n"],"names":["DEFAULT_SUMMARY_FORMAT","formatHasCount","f","formatHasPercent","buildSummaryFormat","count","percent","DEFAULT_ROW_SCOPE","scopeHasGroups","s","scopeHasRows","buildRowScope","groups","rows","DEFAULT_MAIN_COUNT_LABELS"],"mappings":"gFAmBO,MAAMA,EAAwC,QAExCC,EAAkBC,GAA8BA,IAAM,SAAWA,IAAM,OACvEC,EAAoBD,GAA8BA,IAAM,WAAaA,IAAM,OAC3EE,EAAqB,CAACC,EAAgBC,IACjDD,GAASC,EAAU,OAASD,EAAQ,QAAUC,EAAU,UAAY,OAIzDC,EAA8B,MAE9BC,EAAkBC,GAAyBA,IAAM,OAASA,IAAM,UAChEC,EAAgBD,GAAyBA,IAAM,OAASA,IAAM,YAC9DE,EAAgB,CAACC,EAAiBC,IAC7CD,GAAUC,EAAO,MAAQD,EAAS,UAAYC,EAAO,YAAc,OAgDxDC,EAA6C,CACxD,QAAS,UACT,UAAW,OACb"}