@ynput/ayon-frontend-shared 0.2.35 → 0.2.36

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 (832) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +32 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +140 -126
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js +1 -1
  8. package/dist/Views.cjs.js.map +1 -1
  9. package/dist/Views.es.js +10 -3
  10. package/dist/Views.es.js.map +1 -1
  11. package/dist/_virtual/index.cjs10.js +1 -1
  12. package/dist/_virtual/index.cjs11.js +1 -1
  13. package/dist/_virtual/index.cjs12.js +1 -1
  14. package/dist/_virtual/index.cjs2.js +1 -1
  15. package/dist/_virtual/index.cjs3.js +1 -1
  16. package/dist/_virtual/index.cjs5.js +1 -1
  17. package/dist/_virtual/index.es10.js +3 -3
  18. package/dist/_virtual/index.es11.js +5 -5
  19. package/dist/_virtual/index.es12.js +5 -5
  20. package/dist/_virtual/index.es2.js +5 -2
  21. package/dist/_virtual/index.es2.js.map +1 -1
  22. package/dist/_virtual/index.es3.js +2 -5
  23. package/dist/_virtual/index.es3.js.map +1 -1
  24. package/dist/_virtual/index.es4.js +2 -2
  25. package/dist/_virtual/index.es5.js +2 -2
  26. package/dist/api.cjs.js +1 -1
  27. package/dist/api.es.js +372 -340
  28. package/dist/api.es.js.map +1 -1
  29. package/dist/components.cjs.js +1 -1
  30. package/dist/components.es.js +111 -95
  31. package/dist/components.es.js.map +1 -1
  32. package/dist/hooks.cjs.js +1 -1
  33. package/dist/hooks.es.js +21 -17
  34. package/dist/hooks.es.js.map +1 -1
  35. package/dist/index.cjs.js +1 -1
  36. package/dist/index.es.js +19 -9
  37. package/dist/index.es.js.map +1 -1
  38. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js +3 -3
  39. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js.map +1 -1
  40. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js +275 -302
  41. package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js.map +1 -1
  42. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
  43. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
  44. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +1411 -1366
  45. package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
  46. package/dist/node_modules/decode-named-character-reference/index.dom.cjs.js.map +1 -1
  47. package/dist/node_modules/decode-named-character-reference/index.dom.es.js.map +1 -1
  48. package/dist/node_modules/immer/dist/immer.cjs.js +1 -1
  49. package/dist/node_modules/immer/dist/immer.cjs.js.map +1 -1
  50. package/dist/node_modules/immer/dist/immer.es.js +185 -185
  51. package/dist/node_modules/immer/dist/immer.es.js.map +1 -1
  52. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  53. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  54. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  55. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  56. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  57. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  58. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  59. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  60. package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +1 -1
  61. package/dist/node_modules/unist-util-is/lib/index.es.js +8 -1
  62. package/dist/node_modules/unist-util-is/lib/index.es.js.map +1 -1
  63. package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +1 -1
  64. package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +1 -1
  65. package/dist/shared/node_modules/primereact/hooks/hooks.esm.cjs.js +2 -2
  66. package/dist/shared/node_modules/primereact/hooks/hooks.esm.cjs.js.map +1 -1
  67. package/dist/shared/node_modules/primereact/hooks/hooks.esm.es.js +121 -98
  68. package/dist/shared/node_modules/primereact/hooks/hooks.esm.es.js.map +1 -1
  69. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  70. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  71. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  72. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  73. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  74. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  75. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  76. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  77. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  78. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  79. package/dist/shared/src/api/base/client.cjs.js +1 -1
  80. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  81. package/dist/shared/src/api/base/client.es.js +10 -9
  82. package/dist/shared/src/api/base/client.es.js.map +1 -1
  83. package/dist/shared/src/api/generated/graphql.cjs.js +209 -47
  84. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  85. package/dist/shared/src/api/generated/graphql.es.js +296 -118
  86. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  88. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  89. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  90. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  91. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  92. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  93. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +88 -122
  94. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  95. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  96. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  97. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +6 -5
  98. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  99. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  100. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  102. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  103. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  104. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  105. package/dist/shared/src/api/queries/entityLists/getLists.es.js +27 -26
  106. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  107. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  108. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  109. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +77 -71
  110. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  111. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  112. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  113. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +111 -49
  114. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  115. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  116. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  117. package/dist/shared/src/api/queries/links/getLinks.es.js +97 -74
  118. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  119. package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js +2 -0
  120. package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js.map +1 -0
  121. package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js +5 -0
  122. package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js.map +1 -0
  123. package/dist/shared/src/api/queries/overview/patchProducts.cjs.js +2 -0
  124. package/dist/shared/src/api/queries/overview/patchProducts.cjs.js.map +1 -0
  125. package/dist/shared/src/api/queries/overview/patchProducts.es.js +41 -0
  126. package/dist/shared/src/api/queries/overview/patchProducts.es.js.map +1 -0
  127. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +2 -0
  128. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -0
  129. package/dist/shared/src/api/queries/overview/patchVersions.es.js +76 -0
  130. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -0
  131. package/dist/shared/src/api/queries/overview/refetchFilteredEntities.cjs.js +2 -0
  132. package/dist/shared/src/api/queries/overview/refetchFilteredEntities.cjs.js.map +1 -0
  133. package/dist/shared/src/api/queries/overview/refetchFilteredEntities.es.js +79 -0
  134. package/dist/shared/src/api/queries/overview/refetchFilteredEntities.es.js.map +1 -0
  135. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  136. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  137. package/dist/shared/src/api/queries/overview/updateOverview.es.js +198 -169
  138. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  139. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  140. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  141. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  142. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  143. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +2 -0
  144. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -0
  145. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +296 -0
  146. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -0
  147. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +2 -0
  148. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -0
  149. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +116 -0
  150. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -0
  151. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  152. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  153. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +11 -10
  154. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  155. package/dist/shared/src/components/Badge/Badge.cjs.js +15 -7
  156. package/dist/shared/src/components/Badge/Badge.cjs.js.map +1 -1
  157. package/dist/shared/src/components/Badge/Badge.es.js +34 -13
  158. package/dist/shared/src/components/Badge/Badge.es.js.map +1 -1
  159. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  160. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  161. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  162. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  163. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
  164. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  165. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
  166. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  167. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  168. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  169. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +13 -12
  170. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  171. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  172. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  173. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  174. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  175. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  176. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  177. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
  178. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  179. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
  180. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
  181. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
  182. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js.map +1 -1
  183. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  184. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  185. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +16 -2
  186. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  187. package/dist/shared/src/components/EarlyPreview/EarlyPreview.cjs.js +18 -0
  188. package/dist/shared/src/components/EarlyPreview/EarlyPreview.cjs.js.map +1 -0
  189. package/dist/shared/src/components/EarlyPreview/EarlyPreview.es.js +26 -0
  190. package/dist/shared/src/components/EarlyPreview/EarlyPreview.es.js.map +1 -0
  191. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  192. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  193. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +12 -2
  194. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  195. package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js +58 -0
  196. package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js.map +1 -0
  197. package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.es.js +158 -0
  198. package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.es.js.map +1 -0
  199. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  200. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  201. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
  202. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  203. package/dist/shared/src/components/LegacyBadge/LegacyBadge.cjs.js +2 -0
  204. package/dist/shared/src/components/LegacyBadge/LegacyBadge.cjs.js.map +1 -0
  205. package/dist/shared/src/components/LegacyBadge/LegacyBadge.es.js +10 -0
  206. package/dist/shared/src/components/LegacyBadge/LegacyBadge.es.js.map +1 -0
  207. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  208. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  209. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +12 -2
  210. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  211. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  212. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  213. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  214. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  215. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  216. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  217. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +12 -2
  218. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  219. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  220. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  221. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +59 -48
  222. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  223. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  224. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  225. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +12 -2
  226. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  227. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  228. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  229. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +98 -42
  230. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  231. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  232. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  233. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +12 -2
  234. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  235. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  236. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  237. package/dist/shared/src/components/RenameForm/RenameForm.es.js +12 -2
  238. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  239. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  240. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  241. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +11 -10
  242. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  243. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  244. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  245. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +12 -2
  246. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  247. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  248. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  249. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +13 -3
  250. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  251. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  252. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  253. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +12 -2
  254. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  255. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  256. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  257. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  258. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  259. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  260. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  261. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +411 -243
  262. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  263. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +8 -7
  264. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  265. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +50 -47
  266. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  267. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  268. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  269. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +22 -12
  270. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  271. package/dist/shared/src/components/SizeSlider/SizeSlider.cjs.js +56 -0
  272. package/dist/shared/src/components/SizeSlider/SizeSlider.cjs.js.map +1 -0
  273. package/dist/shared/src/components/SizeSlider/SizeSlider.es.js +113 -0
  274. package/dist/shared/src/components/SizeSlider/SizeSlider.es.js.map +1 -0
  275. package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js +2 -0
  276. package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js.map +1 -0
  277. package/dist/shared/src/components/SortingSetting/SortingSetting.es.js +11 -0
  278. package/dist/shared/src/components/SortingSetting/SortingSetting.es.js.map +1 -0
  279. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js +43 -0
  280. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js.map +1 -0
  281. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js +51 -0
  282. package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js.map +1 -0
  283. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.cjs.js +2 -0
  284. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.cjs.js.map +1 -0
  285. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.es.js +39 -0
  286. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.es.js.map +1 -0
  287. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.cjs.js +15 -0
  288. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.cjs.js.map +1 -0
  289. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.es.js +21 -0
  290. package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.es.js.map +1 -0
  291. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  292. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  293. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +12 -2
  294. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  295. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  296. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  297. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  298. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  299. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  300. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  301. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  302. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  303. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  304. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +12 -2
  306. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  307. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  308. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  310. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  311. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  312. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +12 -2
  314. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  315. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js +1 -1
  316. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js +6 -6
  318. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  319. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  320. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +174 -152
  322. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  324. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +12 -2
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  328. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +57 -47
  330. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js +2 -7
  332. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js +0 -5
  334. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  336. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +117 -113
  338. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +15 -15
  340. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +30 -30
  342. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  344. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
  346. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  348. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +44 -19
  350. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  351. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  352. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +12 -2
  354. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  355. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  356. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +12 -2
  358. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  359. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  360. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +12 -2
  362. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  363. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  364. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -2
  366. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  367. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  368. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  370. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js +2 -2
  372. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js +18 -18
  374. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js.map +1 -1
  375. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js +3 -3
  376. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js +20 -13
  378. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js +3 -3
  380. package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.es.js +11 -11
  382. package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.es.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +11 -9
  384. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +21 -18
  386. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  388. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  390. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  392. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  394. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +646 -576
  398. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +51 -42
  400. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +64 -54
  402. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +382 -209
  406. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +12 -2
  410. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +12 -2
  414. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +12 -2
  418. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +158 -144
  422. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
  428. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +145 -132
  434. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +13 -3
  438. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +3 -2
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +123 -104
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +83 -87
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +108 -88
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +12 -2
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +12 -2
  462. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +204 -189
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +59 -23
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +2 -0
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -0
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +263 -0
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -0
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +18 -7
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +12 -2
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +12 -2
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +12 -2
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +173 -163
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.cjs.js +2 -0
  496. package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.cjs.js.map +1 -0
  497. package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.es.js +20 -0
  498. package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.es.js.map +1 -0
  499. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +23 -13
  502. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +77 -37
  506. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +24 -38
  510. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  511. package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.cjs.js +2 -0
  512. package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.cjs.js.map +1 -0
  513. package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.es.js +17 -0
  514. package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.es.js.map +1 -0
  515. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +49 -44
  518. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +2 -0
  520. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -0
  521. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +9 -0
  522. package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -0
  523. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +3 -3
  524. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  525. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -8
  526. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  528. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +104 -91
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  531. package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js +3 -3
  532. package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.es.js +6 -6
  534. package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.es.js.map +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +23 -13
  538. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
  539. package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js +11 -0
  540. package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js.map +1 -0
  541. package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.es.js +16 -0
  542. package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.es.js.map +1 -0
  543. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +11 -11
  544. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +38 -33
  546. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +25 -19
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +75 -72
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js +11 -0
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js.map +1 -0
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.es.js +16 -0
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.es.js.map +1 -0
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +51 -40
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js +2 -2
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js +8 -8
  562. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js.map +1 -1
  563. package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.cjs.js +2 -0
  564. package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.cjs.js.map +1 -0
  565. package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.es.js +17 -0
  566. package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.es.js.map +1 -0
  567. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  568. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +12 -2
  570. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  571. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +8 -4
  572. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +79 -45
  574. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  575. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  576. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +12 -2
  578. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  579. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  580. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  581. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +203 -163
  582. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  583. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +34 -7
  584. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  585. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +34 -7
  586. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  587. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  588. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  589. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +98 -73
  590. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  591. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
  592. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
  593. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +13 -7
  594. package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
  595. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js +1 -1
  596. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +1 -1
  597. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js +9 -7
  598. package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +1 -1
  599. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  600. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  601. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +69 -59
  602. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  603. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  604. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  606. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  607. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  608. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  609. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  610. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  611. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  612. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  614. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  615. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  616. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  617. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  618. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  619. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  620. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  621. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  622. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  623. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  624. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  625. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  626. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  627. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  628. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  629. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  630. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  631. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  632. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  633. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  634. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  635. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  636. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  637. package/dist/shared/src/context/DetailsPanelContext.es.js +53 -48
  638. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  639. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  640. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  641. package/dist/shared/src/context/PowerpackContext.es.js +15 -13
  642. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  643. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  644. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  645. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  646. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  647. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  648. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  649. package/dist/shared/src/context/WebsocketContext.es.js +14 -4
  650. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  651. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  652. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  653. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  654. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  655. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  656. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  657. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
  658. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  659. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +2 -0
  660. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -0
  661. package/dist/shared/src/hooks/useGetEntityGroups.es.js +96 -0
  662. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -0
  663. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +2 -0
  664. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -0
  665. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +133 -0
  666. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -0
  667. package/dist/shared/src/hooks/useGroupedPagination.cjs.js +2 -0
  668. package/dist/shared/src/hooks/useGroupedPagination.cjs.js.map +1 -0
  669. package/dist/shared/src/hooks/useGroupedPagination.es.js +23 -0
  670. package/dist/shared/src/hooks/useGroupedPagination.es.js.map +1 -0
  671. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  672. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  673. package/dist/shared/src/hooks/useHierarchyTable.es.js +39 -23
  674. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  675. package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
  676. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  677. package/dist/shared/src/hooks/useLoadModule.es.js +1 -1
  678. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  679. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  680. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  681. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  682. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  683. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  684. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  685. package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
  686. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  687. package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
  688. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  689. package/dist/shared/src/util/getAttributeIcon.es.js +6 -5
  690. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  691. package/dist/shared/src/util/getGroupByDataType.cjs.js +2 -0
  692. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -0
  693. package/dist/shared/src/util/getGroupByDataType.es.js +16 -0
  694. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -0
  695. package/dist/shared/src/util/productTypes.cjs.js.map +1 -1
  696. package/dist/shared/src/util/productTypes.es.js.map +1 -1
  697. package/dist/types/api/generated/graphql.d.ts +378 -6
  698. package/dist/types/api/generated/graphqlLinks.d.ts +36 -1
  699. package/dist/types/api/generated/views.d.ts +52 -11
  700. package/dist/types/api/queries/actions/getActions.d.ts +192 -36
  701. package/dist/types/api/queries/activities/getActivities.d.ts +519 -88
  702. package/dist/types/api/queries/activities/getCategories.d.ts +64 -12
  703. package/dist/types/api/queries/activities/getMentions.d.ts +64 -12
  704. package/dist/types/api/queries/activities/updateActivities.d.ts +86 -0
  705. package/dist/types/api/queries/addons/getAddons.d.ts +526 -48
  706. package/dist/types/api/queries/attributes/getAttributes.d.ts +128 -24
  707. package/dist/types/api/queries/authentication/getAuthentication.d.ts +64 -12
  708. package/dist/types/api/queries/cloud/cloud.d.ts +128 -24
  709. package/dist/types/api/queries/entities/getEntity.d.ts +381 -60
  710. package/dist/types/api/queries/entities/getEntityPanel.d.ts +171 -24
  711. package/dist/types/api/queries/entities/updateEntity.d.ts +43 -0
  712. package/dist/types/api/queries/entityLists/getLists.d.ts +533 -168
  713. package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +64 -12
  714. package/dist/types/api/queries/entityLists/listFolders.d.ts +64 -12
  715. package/dist/types/api/queries/folders/getFolders.d.ts +128 -24
  716. package/dist/types/api/queries/grouping/getGrouping.d.ts +64 -12
  717. package/dist/types/api/queries/links/getEntityLinks.d.ts +64 -12
  718. package/dist/types/api/queries/links/getLinks.d.ts +40 -40
  719. package/dist/types/api/queries/overview/filterRefetchUtils.d.ts +5 -0
  720. package/dist/types/api/queries/overview/getOverview.d.ts +529 -100
  721. package/dist/types/api/queries/overview/index.d.ts +2 -0
  722. package/dist/types/api/queries/overview/patchProducts.d.ts +13 -0
  723. package/dist/types/api/queries/overview/patchVersions.d.ts +13 -0
  724. package/dist/types/api/queries/overview/refetchFilteredEntities.d.ts +26 -0
  725. package/dist/types/api/queries/overview/updateOverview.d.ts +1 -10
  726. package/dist/types/api/queries/permissions/getPermissions.d.ts +128 -24
  727. package/dist/types/api/queries/project/getProject.d.ts +192 -36
  728. package/dist/types/api/queries/review/getReview.d.ts +192 -36
  729. package/dist/types/api/queries/share/share.d.ts +64 -12
  730. package/dist/types/api/queries/system/getSystem.d.ts +192 -36
  731. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +265 -36
  732. package/dist/types/api/queries/users/getUsers.d.ts +731 -120
  733. package/dist/types/api/queries/users/guests.d.ts +64 -12
  734. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2931 -0
  735. package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +31 -0
  736. package/dist/types/api/queries/versions/index.d.ts +2 -0
  737. package/dist/types/api/queries/versions/updateVersions.d.ts +262 -12
  738. package/dist/types/api/queries/views/getViews.d.ts +256 -48
  739. package/dist/types/api/queries/watchers/getWatchers.d.ts +64 -12
  740. package/dist/types/components/Badge/Badge.d.ts +5 -4
  741. package/dist/types/components/EarlyPreview/EarlyPreview.d.ts +5 -0
  742. package/dist/types/components/EarlyPreview/index.d.ts +1 -0
  743. package/dist/types/components/EnumEditor/EnumEditor.styled.d.ts +1 -1
  744. package/dist/types/components/FeaturedVersionOrder/FeaturedVersionOrder.d.ts +14 -0
  745. package/dist/types/components/FeaturedVersionOrder/index.d.ts +1 -0
  746. package/dist/types/components/LegacyBadge/LegacyBadge.d.ts +5 -0
  747. package/dist/types/components/LegacyBadge/index.d.ts +1 -0
  748. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +5 -0
  749. package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
  750. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +45 -6
  751. package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +2 -1
  752. package/dist/types/components/SizeSlider/SizeSlider.d.ts +13 -0
  753. package/dist/types/components/SizeSlider/index.d.ts +1 -0
  754. package/dist/types/components/SortingSetting/SortingSetting.d.ts +6 -0
  755. package/dist/types/components/SortingSetting/SortingSetting.styled.d.ts +3 -0
  756. package/dist/types/components/SortingSetting/index.d.ts +1 -0
  757. package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts +6 -0
  758. package/dist/types/components/TableGridSwitch/TableGridSwitch.styled.d.ts +4 -0
  759. package/dist/types/components/TableGridSwitch/index.d.ts +1 -0
  760. package/dist/types/components/index.d.ts +6 -0
  761. package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +1 -1
  762. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
  763. package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +10 -6
  764. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +2 -2
  765. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +10 -1
  766. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
  767. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +7 -2
  768. package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +2 -1
  769. package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +1 -1
  770. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +3 -1
  771. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +5 -3
  772. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +0 -2
  773. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +3 -2
  774. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +5 -2
  775. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +1 -1
  776. package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +12 -4
  777. package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +11 -0
  778. package/dist/types/containers/ProjectTreeTable/types/columnConfig.d.ts +14 -0
  779. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -2
  780. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +19 -4
  781. package/dist/types/containers/ProjectTreeTable/types/widgetDisplayConfig.d.ts +0 -0
  782. package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +1 -0
  783. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  784. package/dist/types/containers/ProjectTreeTable/utils/loadingUtils.d.ts +1 -6
  785. package/dist/types/containers/ProjectTreeTable/utils/metaRows.d.ts +33 -0
  786. package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +13 -0
  787. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -0
  788. package/dist/types/containers/ProjectTreeTable/widgets/DateWidget.d.ts +1 -0
  789. package/dist/types/containers/ProjectTreeTable/widgets/EmptyWidget.d.ts +9 -0
  790. package/dist/types/containers/ProjectTreeTable/widgets/EntityNameWidget.d.ts +4 -2
  791. package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +1 -2
  792. package/dist/types/containers/ProjectTreeTable/widgets/ErrorWidget.d.ts +9 -0
  793. package/dist/types/containers/ProjectTreeTable/widgets/LoadMoreWidget.d.ts +1 -1
  794. package/dist/types/containers/ProjectTreeTable/widgets/MetaWidget.d.ts +10 -0
  795. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +3 -0
  796. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +4 -2
  797. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +10 -0
  798. package/dist/types/containers/SimpleTable/hooks/useRowKeydown.d.ts +2 -1
  799. package/dist/types/containers/Slicer/types.d.ts +2 -0
  800. package/dist/types/containers/Views/ViewItem/ViewItem.d.ts +2 -2
  801. package/dist/types/containers/Views/index.d.ts +1 -1
  802. package/dist/types/context/DetailsPanelContext.d.ts +10 -0
  803. package/dist/types/hooks/index.d.ts +3 -1
  804. package/dist/types/hooks/useGetEntityGroups.d.ts +11 -0
  805. package/dist/types/{containers/ProjectTreeTable/hooks/useProjectTableModules.d.ts → hooks/useGroupByRemoteModules.d.ts} +6 -5
  806. package/dist/types/hooks/useGroupedPagination.d.ts +25 -0
  807. package/dist/types/util/getGroupByDataType.d.ts +20 -0
  808. package/dist/types/util/index.d.ts +1 -0
  809. package/dist/types/util/productTypes.d.ts +1 -1
  810. package/dist/util.cjs.js +1 -1
  811. package/dist/util.es.js +25 -23
  812. package/dist/util.es.js.map +1 -1
  813. package/package.json +1 -1
  814. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +0 -60
  815. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +0 -1
  816. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +0 -343
  817. package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +0 -1
  818. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +0 -2
  819. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +0 -1
  820. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +0 -95
  821. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +0 -1
  822. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +0 -2
  823. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +0 -1
  824. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +0 -132
  825. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +0 -1
  826. package/dist/shared/src/hooks/useTagStyling.cjs.js +0 -2
  827. package/dist/shared/src/hooks/useTagStyling.cjs.js.map +0 -1
  828. package/dist/shared/src/hooks/useTagStyling.es.js +0 -33
  829. package/dist/shared/src/hooks/useTagStyling.es.js.map +0 -1
  830. package/dist/types/components/ProjectTableSettings/RowHeightSettings.d.ts +0 -3
  831. package/dist/types/containers/ProjectTreeTable/hooks/useGetTaskGroups.d.ts +0 -10
  832. package/dist/types/hooks/useTagStyling.d.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"usePasteLinks.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
1
+ {"version":3,"file":"usePasteLinks.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
@@ -64,6 +64,7 @@ import "../../../api/queries/links/getLinks.es.js";
64
64
  import "../../../api/queries/links/getEntityLinks.es.js";
65
65
  import "../../../api/queries/overview/getOverview.es.js";
66
66
  import "../../../api/queries/overview/updateOverview.es.js";
67
+ import "../../../api/queries/versions/getVersionsProducts.es.js";
67
68
  import "../../../api/queries/permissions/getPermissions.es.js";
68
69
  import "../../../api/queries/products/createProduct.es.js";
69
70
  import "../../../api/queries/project/getProject.es.js";
@@ -139,6 +140,7 @@ import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.j
139
140
  import "../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
140
141
  import "../ProjectTreeTable.es.js";
141
142
  import { useCellEditing as R } from "../context/CellEditingContext.es.js";
143
+ import "short-uuid";
142
144
  import "@tanstack/react-table";
143
145
  import "../widgets/CollapsedWidget.es.js";
144
146
  import "../widgets/DateWidget.es.js";
@@ -175,11 +177,13 @@ import "../../../components/Powerpack/PricingLink.es.js";
175
177
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
176
178
  import "../../../components/Powerpack/CTAButton.es.js";
177
179
  import "../../../components/Powerpack/RequiredAddonVersion.es.js";
180
+ import "../../../components/SizeSlider/SizeSlider.es.js";
178
181
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
179
182
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
180
183
  import "../../../components/AttributeEditor/components/MinMaxField.es.js";
181
184
  import "../../../components/EnumEditor/EnumEditor.styled.es.js";
182
185
  import "../../../components/SearchFilter/filterDates.es.js";
186
+ import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
183
187
  import "../../../components/Badge/Badge.es.js";
184
188
  import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
185
189
  import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
@@ -193,9 +197,15 @@ import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
193
197
  import "../../../components/AccessUser/AccessUser.es.js";
194
198
  import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
195
199
  import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
200
+ import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
201
+ import "../../../components/SortingSetting/SortingSetting.styled.es.js";
202
+ import "../../../components/EarlyPreview/EarlyPreview.es.js";
203
+ import "../../../components/LegacyBadge/LegacyBadge.es.js";
196
204
  import "../../../components/LinksManager/CellEditingDialog.es.js";
197
205
  import "../context/DetailsPanelEntityContext.es.js";
198
206
  import "../context/SelectedRowsContext.es.js";
207
+ import "../widgets/EmptyWidget.es.js";
208
+ import "../widgets/ErrorWidget.es.js";
199
209
  import "../ProjectTreeTable.styled.es.js";
200
210
  import "../components/SelectionCell.es.js";
201
211
  import "../components/RowSelectionHeader.es.js";
@@ -227,7 +237,7 @@ import "../../Views/Views.styled.es.js";
227
237
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
228
238
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
229
239
  import "uuid";
230
- const _r = (B) => {
240
+ const ap = (B) => {
231
241
  const { getEntityById: j, projectName: C } = S(), n = C, { history: E } = R(), [u] = x(), [l] = $();
232
242
  return { pasteTableLinks: M(
233
243
  async (w) => {
@@ -349,6 +359,6 @@ const _r = (B) => {
349
359
  ) };
350
360
  };
351
361
  export {
352
- _r as default
362
+ ap as default
353
363
  };
354
364
  //# sourceMappingURL=usePasteLinks.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePasteLinks.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CM,MAAAA,KAAgB,CAACC,MAA+B;AACpD,QAAM,EAAE,eAAAC,GAAe,aAAaC,EAAA,IAAuBC,EAAuB,GAC5EC,IAAoCF,GACpC,EAAE,SAAAG,EAAQ,IAAIC,EAAe,GAG7B,CAACC,CAAU,IAAIC,EAA4B,GAC3C,CAACC,CAAO,IAAIC,EAA4B;AAuM9C,SAAO,EAAE,iBApMeC;AAAA,IACtB,OAAOC,MAA8B;AACnC,UAAI,CAACR,KAAe,CAACQ,EAAY,OAAQ;AAGnC,YAAAC,wBAA0B,IAA0B;AAE1D,iBAAWC,KAAUF,GAAa;AAC1B,cAAAG,IAAM,GAAGD,EAAO,cAAc,IAAIA,EAAO,QAAQ,IAAIA,EAAO,SAAS;AAC3E,QAAKD,EAAoB,IAAIE,CAAG,KACVF,EAAA,IAAIE,GAAK,EAAE,GAEjCF,EAAoB,IAAIE,CAAG,EAAG,KAAKD,CAAM;AAAA,MAAA;AAG3C,YAAME,IAAkC,CAAC,GAEnCC,IAA4B,CAAC,GAC7BC,IAAiC,CAAC;AAGxC,iBAAW,CAAA,EAAGC,CAAO,KAAKN,GAAqB;AAC7C,cAAM,EAAE,gBAAAO,EAAA,IAAmBD,EAAQ,CAAC,GAC9BE,wBAAc,IAAY;AAE5B,YADJF,EAAQ,QAAQ,CAACG,MAAMA,EAAE,gBAAgB,QAAQ,CAACC,MAAOF,EAAQ,IAAIE,CAAE,CAAC,CAAC,GACrEF,EAAQ,IAAID,CAAc,GAAG;AAC/B,UAAAI,EAAM,MAAM,oCAAoC;AAChD;AAAA,QAAA;AAAA,MACF;AAGF,iBAAW,CAACT,GAAKI,CAAO,KAAKN,GAAqB;AAC1C,cAAAY,IAAcN,EAAQ,CAAC,GACvB;AAAA,UACJ,gBAAAC;AAAA,UACA,kBAAAM;AAAA,UACA,UAAAC;AAAA,UACA,WAAAC;AAAA,UACA,kBAAAC;AAAA,UACA,WAAAC;AAAA,QAAA,IACEL,GAGEM,wBAAyB,IAAY;AACnC,QAAAZ,EAAA,QAAQ,CAACL,MAAW;AAC1B,UAAAA,EAAO,gBAAgB,QAAQ,CAACS,MAAOQ,EAAmB,IAAIR,CAAE,CAAC;AAAA,QAAA,CAClE;AAED,cAAMS,IAA0B,CAAC,GAC3BC,IAAgC,CAAC,GAGjCC,IAAajC,EAAcmB,CAAc;AAC/C,YAAI,CAACc,GAAY;AACP,kBAAA,KAAK,qBAAqBd,CAAc,EAAE;AAClD;AAAA,QAAA;AAIF,cAAMe,IAAeD,EAAW;AAEhC,YAAIJ,MAAc,WAAW;AAEvB,cAAA,MAAM,QAAQK,CAAY;AAC5B,uBAAWC,KAAQD;AACjB,cACEC,EAAK,eAAeP,KACpBO,EAAK,cAAcR,KACnBQ,EAAK,aAAaT,EAAS,MAAM,GAAG,EAAE,CAAC,KAEvCM,EAAc,KAAK;AAAA,gBACjB,IAAIG,EAAK;AAAA,gBACT,QAAQ;AAAA,kBACN,UAAUA,EAAK,KAAK;AAAA,kBACpB,YAAYA,EAAK;AAAA,gBACnB;AAAA,gBACA,QAAQ,EAAE,UAAUhB,GAAgB,YAAYM,EAAiB;AAAA,gBACjE,UAAAC;AAAA,gBACA,WAAAC;AAAA,gBACA,aAAAxB;AAAA,cAAA,CACD;AAMP,qBAAWiC,KAAkBN,GAAoB;AAC/C,kBAAMO,IAASC,EAAY;AAE3B,YAAAP,EAAW,KAAK;AAAA,cACd,gBAAAK;AAAA,cACA,QAAAC;AAAA,cACA,gBAAAlB;AAAA,cACA,kBAAAM;AAAA,cACA,kBAAAG;AAAA,cACA,UAAAF;AAAA,cACA,WAAAC;AAAA,cACA,aAAAxB;AAAA,YAAA,CACD;AAAA,UAAA;AAAA,QACH,WACS0B,MAAc,SAAS;AAE1B,gBAAAU,wBAAwB,IAAY;AACtC,UAAA,MAAM,QAAQL,CAAY,KACfA,EAAA,QAAQ,CAACC,MAAS;AAE3B,YAAAA,EAAK,eAAeP,KACpBO,EAAK,cAAcR,KACnBQ,EAAK,aAAaT,KAEAa,EAAA,IAAIJ,EAAK,KAAK,EAAE;AAAA,UACpC,CACD,GAGH,QAAQ,IAAII,CAAiB;AAG7B,qBAAWH,KAAkBN;AAC3B,gBAAI,CAACS,EAAkB,IAAIH,CAAc,GAAG;AAC1C,oBAAMC,IAASC,EAAY;AAE3B,cAAAP,EAAW,KAAK;AAAA,gBACd,gBAAAK;AAAA,gBACA,QAAAC;AAAA,gBACA,gBAAAlB;AAAA,gBACA,kBAAAM;AAAA,gBACA,kBAAAG;AAAA,gBACA,UAAAF;AAAA,gBACA,WAAAC;AAAA,gBACA,aAAAxB;AAAA,cAAA,CACD;AAAA,YAAA;AAAA,QAEL;AAGE,QAAA6B,EAAc,SAAS,MACzBjB,EAAe,KAAKyB,EAAoBR,GAAe1B,CAAU,CAAC,GACnDW,EAAA,KAAK,GAAGe,CAAa,IAElCD,EAAW,SAAS,MACtBhB,EAAe,KAAK0B,EAAiBV,GAAYvB,CAAO,CAAC,GAC5CQ,EAAA,KAAK,GAAGe,CAAU;AAAA,MACjC;AAEE,UAAA;AAKF,YAHM,MAAA,QAAQ,IAAIhB,CAAc,GAG5BX,MAAYY,EAAa,SAAS,KAAKC,EAAe,SAAS,IAAI;AAErE,gBAAMyB,IAAgC1B,EAAa,IAAI,CAACmB,OAAU;AAAA,YAChE,IAAIA,EAAK;AAAA,YACT,aAAaA,EAAK;AAAA,YAClB,UAAUA,EAAK;AAAA,YACf,WAAWA,EAAK;AAAA,YAChB,QAAQ,EAAE,UAAUA,EAAK,gBAAgB,YAAYA,EAAK,iBAAiB;AAAA,YAC3E,QAAQ,EAAE,UAAUA,EAAK,gBAAgB,YAAYA,EAAK,iBAAiB;AAAA,UAAA,EAC3E,GAEIQ,IAA4B1B,EAAe,IAAI,CAACkB,OAAU;AAAA,YAC9D,gBAAgBA,EAAK,OAAO;AAAA,YAC5B,QAAQA,EAAK;AAAA,YACb,gBAAgBA,EAAK,OAAO;AAAA,YAC5B,kBAAkBA,EAAK,OAAO;AAAA,YAC9B,kBAAkBA,EAAK,OAAO;AAAA,YAC9B,UAAUA,EAAK;AAAA,YACf,WAAWA,EAAK;AAAA,YAChB,aAAaA,EAAK;AAAA,UAAA,EAClB,GAGIS,IAAe,MAAM;AACzB,kBAAMC,IAAyB,CAAC;AAChC,YAAIH,EAAc,UAAQG,EAAM,KAAKL,EAAoBE,GAAepC,CAAU,CAAC,GAC/EqC,EAAa,UAAQE,EAAM,KAAKJ,EAAiBE,GAAcnC,CAAO,CAAC,GACvEqC,EAAM,UAAQ,QAAQ,IAAIA,CAAK,EAAE,MAAM,MAAM;AAAA,YAAA,CAAE;AAAA,UACrD,GAEMC,IAAe,MAAM;AACzB,kBAAMD,IAAyB,CAAC;AAChC,YAAI5B,EAAe,UAAQ4B,EAAM,KAAKL,EAAoBvB,GAAgBX,CAAU,CAAC,GACjFU,EAAa,UAAQ6B,EAAM,KAAKJ,EAAiBzB,GAAcR,CAAO,CAAC,GACvEqC,EAAM,UAAQ,QAAQ,IAAIA,CAAK,EAAE,MAAM,MAAM;AAAA,YAAA,CAAE;AAAA,UACrD;AAEA,UAAAzC,EAAQ,YAAY,CAACwC,CAAY,GAAG,CAACE,CAAY,CAAC;AAAA,QAAA;AAAA,eAE7CC,GAAO;AACR,cAAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC5C,GAAaH,GAAeM,GAAYE,GAASJ,CAAO;AAAA,EAC3D,EAEyB;AAC3B;"}
1
+ {"version":3,"file":"usePasteLinks.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),f=require("@ynput/ayon-react-components"),S=require("../utils/clientFilterToQueryFilter.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.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/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/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/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.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/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.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/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("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.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/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const h=({queryFilters:q,sliceFilter:r})=>d.useMemo(()=>{var o,s,l,a;let e=q;if((o=r==null?void 0:r.values)!=null&&o.length){const i=S.clientFilterToQueryFilter([r]);(s=i.conditions)!=null&&s.length&&(e={conditions:[...(e==null?void 0:e.conditions)||[],...i.conditions],operator:"and"})}let g=q,n="";if((l=e==null?void 0:e.conditions)!=null&&l.length){const i=[],t=e.conditions.filter(c=>{if(c.key===f.SEARCH_FILTER_ID){const u=c.value;return u!=null&&String(u).trim()!==""&&i.push(String(u)),!1}return!0});n=i.join(" "),e=t.length?{...e,conditions:t}:{...e,conditions:[]}}return{filterString:(a=e==null?void 0:e.conditions)!=null&&a.length?JSON.stringify(e):"",filter:e,search:n,combinedFilters:e,displayFilters:g}},[q,r]);exports.useQueryFilters=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),f=require("@ynput/ayon-react-components"),S=require("../utils/clientFilterToQueryFilter.cjs.js");require("short-uuid");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.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/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/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/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.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/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.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/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.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/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("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.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/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const h=({queryFilters:q,sliceFilter:r})=>d.useMemo(()=>{var o,s,l,a;let e=q;if((o=r==null?void 0:r.values)!=null&&o.length){const i=S.clientFilterToQueryFilter([r]);(s=i.conditions)!=null&&s.length&&(e={conditions:[...(e==null?void 0:e.conditions)||[],...i.conditions],operator:"and"})}let g=q,n="";if((l=e==null?void 0:e.conditions)!=null&&l.length){const i=[],t=e.conditions.filter(c=>{if(c.key===f.SEARCH_FILTER_ID){const u=c.value;return u!=null&&String(u).trim()!==""&&i.push(String(u)),!1}return!0});n=i.join(" "),e=t.length?{...e,conditions:t}:{...e,conditions:[]}}return{filterString:(a=e==null?void 0:e.conditions)!=null&&a.length?JSON.stringify(e):"",filter:e,search:n,combinedFilters:e,displayFilters:g}},[q,r]);exports.useQueryFilters=h;
2
2
  //# sourceMappingURL=useQueryFilters.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n if ((condition as QueryCondition).key === SEARCH_FILTER_ID) {\n const val = (condition as QueryCondition).value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","_a","sliceQueryFilter","clientFilterToQueryFilter","_b","displayQueryFilter","fuzzySearchFilter","_c","searchValues","remainingConditions","condition","SEARCH_FILTER_ID","val","_d"],"mappings":"qwZAmBO,MAAMA,EAAkB,CAAC,CAC9B,aAAAC,EACA,YAAAC,CACF,IACSC,UAAQ,IAAM,aACnB,IAAIC,EAAsBH,EAGtB,IAAAI,EAAAH,GAAA,YAAAA,EAAa,SAAb,MAAAG,EAAqB,OAAQ,CAC/B,MAAMC,EAAmBC,EAAAA,0BAA0B,CAACL,CAAW,CAAC,GAG5DM,EAAAF,EAAiB,aAAjB,MAAAE,EAA6B,SAETJ,EAAA,CACpB,WAAY,CAAC,IAFYA,GAAA,YAAAA,EAAqB,aAAc,CAAC,EAEzB,GAAGE,EAAiB,UAAU,EAClE,SAAU,KACZ,EACF,CAKF,IAAIG,EAAqBR,EAGrBS,EAAoB,GAEpB,IAAAC,EAAAP,GAAA,YAAAA,EAAqB,aAArB,MAAAO,EAAiC,OAAQ,CAC3C,MAAMC,EAAyB,CAAC,EAE1BC,EAAsBT,EAAoB,WAAW,OAAQU,GAAc,CAC1E,GAAAA,EAA6B,MAAQC,mBAAkB,CAC1D,MAAMC,EAAOF,EAA6B,MACtC,OAAqBE,GAAQ,MAAQ,OAAOA,CAAG,EAAE,KAAK,IAAM,IACjDJ,EAAA,KAAK,OAAOI,CAAG,CAAC,EAExB,EAAA,CAEF,MAAA,EAAA,CACR,EAGmBN,EAAAE,EAAa,KAAK,GAAG,EAGzCR,EAAsBS,EAAoB,OACtC,CAAE,GAAGT,EAAqB,WAAYS,CAAoB,EAC1D,CAAE,GAAGT,EAAqB,WAAY,CAAA,CAAG,CAAA,CAOxC,MAAA,CACL,cALwBa,EAAAb,GAAA,YAAAA,EAAqB,aAArB,MAAAa,EAAiC,OACvD,KAAK,UAAUb,CAAmB,EAClC,GAIF,OAAQA,EACR,OAAQM,EACR,gBAAiBN,EACjB,eAAgBK,CAClB,CAAA,EACC,CAACR,EAAcC,CAAW,CAAC"}
1
+ {"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n if ((condition as QueryCondition).key === SEARCH_FILTER_ID) {\n const val = (condition as QueryCondition).value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","_a","sliceQueryFilter","clientFilterToQueryFilter","_b","displayQueryFilter","fuzzySearchFilter","_c","searchValues","remainingConditions","condition","SEARCH_FILTER_ID","val","_d"],"mappings":"40aAmBO,MAAMA,EAAkB,CAAC,CAC9B,aAAAC,EACA,YAAAC,CACF,IACSC,UAAQ,IAAM,aACnB,IAAIC,EAAsBH,EAGtB,IAAAI,EAAAH,GAAA,YAAAA,EAAa,SAAb,MAAAG,EAAqB,OAAQ,CAC/B,MAAMC,EAAmBC,EAAAA,0BAA0B,CAACL,CAAW,CAAC,GAG5DM,EAAAF,EAAiB,aAAjB,MAAAE,EAA6B,SAETJ,EAAA,CACpB,WAAY,CAAC,IAFYA,GAAA,YAAAA,EAAqB,aAAc,CAAC,EAEzB,GAAGE,EAAiB,UAAU,EAClE,SAAU,KACZ,EACF,CAKF,IAAIG,EAAqBR,EAGrBS,EAAoB,GAEpB,IAAAC,EAAAP,GAAA,YAAAA,EAAqB,aAArB,MAAAO,EAAiC,OAAQ,CAC3C,MAAMC,EAAyB,CAAC,EAE1BC,EAAsBT,EAAoB,WAAW,OAAQU,GAAc,CAC1E,GAAAA,EAA6B,MAAQC,mBAAkB,CAC1D,MAAMC,EAAOF,EAA6B,MACtC,OAAqBE,GAAQ,MAAQ,OAAOA,CAAG,EAAE,KAAK,IAAM,IACjDJ,EAAA,KAAK,OAAOI,CAAG,CAAC,EAExB,EAAA,CAEF,MAAA,EAAA,CACR,EAGmBN,EAAAE,EAAa,KAAK,GAAG,EAGzCR,EAAsBS,EAAoB,OACtC,CAAE,GAAGT,EAAqB,WAAYS,CAAoB,EAC1D,CAAE,GAAGT,EAAqB,WAAY,CAAA,CAAG,CAAA,CAOxC,MAAA,CACL,cALwBa,EAAAb,GAAA,YAAAA,EAAqB,aAArB,MAAAa,EAAiC,OACvD,KAAK,UAAUb,CAAmB,EAClC,GAIF,OAAQA,EACR,OAAQM,EACR,gBAAiBN,EACjB,eAAgBK,CAClB,CAAA,EACC,CAACR,EAAcC,CAAW,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { useMemo as u } from "react";
2
2
  import { SEARCH_FILTER_ID as d } from "@ynput/ayon-react-components";
3
3
  import { clientFilterToQueryFilter as c } from "../utils/clientFilterToQueryFilter.es.js";
4
+ import "short-uuid";
4
5
  import "lodash";
5
6
  import "react-toastify";
6
7
  import "uuid";
@@ -85,6 +86,7 @@ import "../../../api/queries/links/getLinks.es.js";
85
86
  import "../../../api/queries/links/getEntityLinks.es.js";
86
87
  import "../../../api/queries/overview/getOverview.es.js";
87
88
  import "../../../api/queries/overview/updateOverview.es.js";
89
+ import "../../../api/queries/versions/getVersionsProducts.es.js";
88
90
  import "../../../api/queries/permissions/getPermissions.es.js";
89
91
  import "../../../api/queries/products/createProduct.es.js";
90
92
  import "../../../api/queries/project/getProject.es.js";
@@ -205,11 +207,13 @@ import "../../../components/Powerpack/PricingLink.es.js";
205
207
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
206
208
  import "../../../components/Powerpack/CTAButton.es.js";
207
209
  import "../../../components/Powerpack/RequiredAddonVersion.es.js";
210
+ import "../../../components/SizeSlider/SizeSlider.es.js";
208
211
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
209
212
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
210
213
  import "../../../components/AttributeEditor/components/MinMaxField.es.js";
211
214
  import "../../../components/EnumEditor/EnumEditor.styled.es.js";
212
215
  import "../../../components/SearchFilter/filterDates.es.js";
216
+ import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
213
217
  import "../../../components/Badge/Badge.es.js";
214
218
  import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
215
219
  import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
@@ -223,10 +227,16 @@ import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
223
227
  import "../../../components/AccessUser/AccessUser.es.js";
224
228
  import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
225
229
  import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
230
+ import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
231
+ import "../../../components/SortingSetting/SortingSetting.styled.es.js";
232
+ import "../../../components/EarlyPreview/EarlyPreview.es.js";
233
+ import "../../../components/LegacyBadge/LegacyBadge.es.js";
226
234
  import "../../../components/LinksManager/CellEditingDialog.es.js";
235
+ import "../widgets/EmptyWidget.es.js";
236
+ import "../widgets/ErrorWidget.es.js";
227
237
  import "../ProjectTreeTable.styled.es.js";
228
238
  import "../widgets/LoadMoreWidget.es.js";
229
- const Ar = ({
239
+ const wr = ({
230
240
  queryFilters: p,
231
241
  sliceFilter: i
232
242
  }) => u(() => {
@@ -259,6 +269,6 @@ const Ar = ({
259
269
  };
260
270
  }, [p, i]);
261
271
  export {
262
- Ar as useQueryFilters
272
+ wr as useQueryFilters
263
273
  };
264
274
  //# sourceMappingURL=useQueryFilters.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryFilters.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n if ((condition as QueryCondition).key === SEARCH_FILTER_ID) {\n const val = (condition as QueryCondition).value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","_a","sliceQueryFilter","clientFilterToQueryFilter","_b","displayQueryFilter","fuzzySearchFilter","_c","searchValues","remainingConditions","condition","SEARCH_FILTER_ID","val","_d"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAMA,KAAkB,CAAC;AAAA,EAC9B,cAAAC;AAAA,EACA,aAAAC;AACF,MACSC,EAAQ,MAAM;;AACnB,MAAIC,IAAsBH;AAGtB,OAAAI,IAAAH,KAAA,gBAAAA,EAAa,WAAb,QAAAG,EAAqB,QAAQ;AAC/B,UAAMC,IAAmBC,EAA0B,CAACL,CAAW,CAAC;AAG5D,KAAAM,IAAAF,EAAiB,eAAjB,QAAAE,EAA6B,WAETJ,IAAA;AAAA,MACpB,YAAY,CAAC,IAFYA,KAAA,gBAAAA,EAAqB,eAAc,CAAC,GAEzB,GAAGE,EAAiB,UAAU;AAAA,MAClE,UAAU;AAAA,IACZ;AAAA,EACF;AAKF,MAAIG,IAAqBR,GAGrBS,IAAoB;AAEpB,OAAAC,IAAAP,KAAA,gBAAAA,EAAqB,eAArB,QAAAO,EAAiC,QAAQ;AAC3C,UAAMC,IAAyB,CAAC,GAE1BC,IAAsBT,EAAoB,WAAW,OAAO,CAACU,MAAc;AAC1E,UAAAA,EAA6B,QAAQC,GAAkB;AAC1D,cAAMC,IAAOF,EAA6B;AACtC,eAAqBE,KAAQ,QAAQ,OAAOA,CAAG,EAAE,KAAK,MAAM,MACjDJ,EAAA,KAAK,OAAOI,CAAG,CAAC,GAExB;AAAA,MAAA;AAEF,aAAA;AAAA,IAAA,CACR;AAGmB,IAAAN,IAAAE,EAAa,KAAK,GAAG,GAGzCR,IAAsBS,EAAoB,SACtC,EAAE,GAAGT,GAAqB,YAAYS,EAAoB,IAC1D,EAAE,GAAGT,GAAqB,YAAY,CAAA,EAAG;AAAA,EAAA;AAOxC,SAAA;AAAA,IACL,eALwBa,IAAAb,KAAA,gBAAAA,EAAqB,eAArB,QAAAa,EAAiC,SACvD,KAAK,UAAUb,CAAmB,IAClC;AAAA,IAIF,QAAQA;AAAA,IACR,QAAQM;AAAA,IACR,iBAAiBN;AAAA,IACjB,gBAAgBK;AAAA,EAClB;AAAA,GACC,CAACR,GAAcC,CAAW,CAAC;"}
1
+ {"version":3,"file":"useQueryFilters.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n if ((condition as QueryCondition).key === SEARCH_FILTER_ID) {\n const val = (condition as QueryCondition).value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","_a","sliceQueryFilter","clientFilterToQueryFilter","_b","displayQueryFilter","fuzzySearchFilter","_c","searchValues","remainingConditions","condition","SEARCH_FILTER_ID","val","_d"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAMA,KAAkB,CAAC;AAAA,EAC9B,cAAAC;AAAA,EACA,aAAAC;AACF,MACSC,EAAQ,MAAM;;AACnB,MAAIC,IAAsBH;AAGtB,OAAAI,IAAAH,KAAA,gBAAAA,EAAa,WAAb,QAAAG,EAAqB,QAAQ;AAC/B,UAAMC,IAAmBC,EAA0B,CAACL,CAAW,CAAC;AAG5D,KAAAM,IAAAF,EAAiB,eAAjB,QAAAE,EAA6B,WAETJ,IAAA;AAAA,MACpB,YAAY,CAAC,IAFYA,KAAA,gBAAAA,EAAqB,eAAc,CAAC,GAEzB,GAAGE,EAAiB,UAAU;AAAA,MAClE,UAAU;AAAA,IACZ;AAAA,EACF;AAKF,MAAIG,IAAqBR,GAGrBS,IAAoB;AAEpB,OAAAC,IAAAP,KAAA,gBAAAA,EAAqB,eAArB,QAAAO,EAAiC,QAAQ;AAC3C,UAAMC,IAAyB,CAAC,GAE1BC,IAAsBT,EAAoB,WAAW,OAAO,CAACU,MAAc;AAC1E,UAAAA,EAA6B,QAAQC,GAAkB;AAC1D,cAAMC,IAAOF,EAA6B;AACtC,eAAqBE,KAAQ,QAAQ,OAAOA,CAAG,EAAE,KAAK,MAAM,MACjDJ,EAAA,KAAK,OAAOI,CAAG,CAAC,GAExB;AAAA,MAAA;AAEF,aAAA;AAAA,IAAA,CACR;AAGmB,IAAAN,IAAAE,EAAa,KAAK,GAAG,GAGzCR,IAAsBS,EAAoB,SACtC,EAAE,GAAGT,GAAqB,YAAYS,EAAoB,IAC1D,EAAE,GAAGT,GAAqB,YAAY,CAAA,EAAG;AAAA,EAAA;AAOxC,SAAA;AAAA,IACL,eALwBa,IAAAb,KAAA,gBAAAA,EAAqB,eAArB,QAAAa,EAAiC,SACvD,KAAK,UAAUb,CAAmB,IAClC;AAAA,IAIF,QAAQA;AAAA,IACR,QAAQM;AAAA,IACR,iBAAiBN;AAAA,IACjB,gBAAgBK;AAAA,EAClB;AAAA,GACC,CAACR,GAAcC,CAAW,CAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";const C=require("react-toastify"),M=require("../context/ProjectTableQueriesContext.cjs.js"),P=require("react"),N=require("../context/ProjectTableContext.cjs.js"),Q=j=>{const{pushHistory:h}=j||{},{getEntityById:A,projectName:g,getInheritedDependents:m,findInheritedValueFromAncestors:k,findNonInheritedValues:q}=N.useProjectTableContext(),{updateEntities:E}=M.useProjectTableQueriesContext(),U=P.useCallback(async(I=[],O=!0)=>{var r;if(!I.length||!g)return;const w=I.filter(t=>!t.isLink);if(!w.length)return;if(h&&O){const t=w.map(({rowId:n,id:s,type:f,field:l,isAttrib:a,meta:o})=>{var T;const e=A(s);if(!e)throw"Entity not found: "+s;const i=(e==null?void 0:e.entityId)||e.id,p=a?((T=e.attrib)==null?void 0:T[l])??null:e[l]??null,y=(e==null?void 0:e.ownAttrib)||[],c=a&&!y.includes(l);return{rowId:n,id:i,type:f,field:l,value:p,isAttrib:a,wasInherited:c,ownAttrib:y,folderId:(e==null?void 0:e.folderId)||(e==null?void 0:e.parentId),meta:o}}),d=w.flatMap(({rowId:n,id:s,type:f,field:l,value:a,isAttrib:o,meta:e})=>{const i=A(s),p=(i==null?void 0:i.entityId)||(i==null?void 0:i.id)||s;return i?{rowId:n,id:p,type:f,field:l,value:a,isAttrib:o,ownAttrib:(i==null?void 0:i.ownAttrib)||[],folderId:"folderId"in i?i.folderId:i==null?void 0:i.parentId,meta:e}:[]});h(t,d)}const x=["task","folder","product","version"];let u=[];for(const t of w){let{id:d,type:n,field:s,value:f,isAttrib:l,meta:a}=t;const o=A(d),e=(o==null?void 0:o.entityId)||(o==null?void 0:o.id)||d;let i=n;if(!x.includes(i))continue;const p=l?{attrib:{[s]:f}}:{[s]:f};if(l){const c=[...(o==null?void 0:o.ownAttrib)||[]];c.includes(s)||c.push(s),p.ownAttrib=c}const y=u.findIndex(c=>c.entityId===e&&c.entityType===i);if(y!==-1){const c=u[y];let T={...c.data,...p};(r=c.data)!=null&&r.attrib&&p.attrib&&(T={...T,attrib:{...c.data.attrib,...p.attrib}}),u[y]={...c,data:T}}else u.push({rowId:t.rowId,entityType:i,entityId:e,type:"update",data:p,meta:a})}const b=u.filter(t=>!!t.entityId&&t.type==="update"&&t.data&&"attrib"in t.data).map(t=>{var d;return{entityId:t.entityId,entityType:t.entityType,attrib:t.data&&"attrib"in t.data?(d=t.data)==null?void 0:d.attrib:{}}}),F=m(b).map(t=>({entityId:t.entityId,entityType:t.entityType,data:{attrib:t.attrib}}));try{u.length&&await E({operations:u,patchOperations:F})}catch(t){console.error("Error updating entities:",t),C.toast.error("Failed to update entities: "+(t==null?void 0:t.error))}},[g,E,A,m,h]),V=P.useCallback(async(I,O=!0)=>{var v,F;if(!I.length||!g)return;if(O&&h){const r=[];for(const d of I){const n=A(d.entityId);for(const s of d.attribs)n!=null&&n.attrib&&s in n.attrib&&r.push({rowId:d.rowId,id:(n==null?void 0:n.entityId)||(n==null?void 0:n.id)||d.entityId,type:d.entityType,field:s,value:n.attrib[s],isAttrib:!0,wasInherited:!1,ownAttrib:(n==null?void 0:n.ownAttrib)||[],folderId:n==null?void 0:n.folderId,meta:n.meta})}const t=I.flatMap(d=>d.attribs.map(n=>({rowId:d.rowId,id:d.entityId,type:d.entityType,field:n,value:null,isAttrib:!0,wasInherited:!0,ownAttrib:d.ownAttrib,folderId:d.folderId,meta:d.meta})));r.length>0&&h(r,t)}const w=["task","folder"],x=[],u=[];for(const r of I){let t=r.entityType;if(!w.includes(t))continue;t=t;const d={};r.attribs.forEach(o=>{d[o]=null}),x.push({rowId:r.rowId,entityType:t,entityId:r.entityId,type:"update",data:{attrib:d},meta:r.meta});const s=(()=>{const o=r.folderId,e=[];let i=o,p=I.find(c=>c.entityId===i);for(;p;)e.push(p),i=p.folderId,p=I.find(c=>c.entityId===i);return e.length>0?e[e.length-1]:null})(),f=(s==null?void 0:s.attribs)||[],l=r.attribs.filter(o=>f.includes(o)),a=r.attribs.filter(o=>!f.includes(o));a.length>0&&u.push({...r,attribs:a}),s&&l.length>0&&u.push({...r,attribs:l,folderId:s.folderId})}const b=[];for(const r of u){const t=r.entityType,d=[...r.ownAttrib||[]].filter(a=>!r.attribs.includes(a)),n=q(r.folderId,r.attribs),s={entityId:r.entityId,entityType:t,data:{attrib:n,ownAttrib:d}};b.push(s);const l=m([{entityId:r.entityId,entityType:t,attrib:n}]).map(a=>({entityId:a.entityId,entityType:a.entityType,data:{attrib:a.attrib}}));for(const a of l){const o=b.findIndex(e=>e.entityId===a.entityId);if(o!==-1){const e=b[o];let i={...((v=e.data)==null?void 0:v.attrib)||{},...((F=a.data)==null?void 0:F.attrib)||{}};b[o]={...e,data:{attrib:i}}}else b.push({entityId:a.entityId,entityType:a.entityType,data:a.data})}}try{await E({operations:x,patchOperations:b})}catch{C.toast.error("Failed to update entities")}},[g,E,m,k,h]);return{updateEntities:U,inheritFromParent:V}};module.exports=Q;
1
+ "use strict";const j=require("react-toastify"),Q=require("../context/ProjectTableQueriesContext.cjs.js"),k=require("react"),R=require("../context/ProjectTableContext.cjs.js"),$=q=>{const{pushHistory:A}=q||{},{getEntityById:g,projectName:C,getInheritedDependents:F,findInheritedValueFromAncestors:U,findNonInheritedValues:V}=R.useProjectTableContext(),{updateEntities:v}=Q.useProjectTableQueriesContext(),M=k.useCallback(async(b=[],P=!0)=>{var d;if(!b.length||!C)return;let y=b.filter(t=>!t.isLink);const x=y.filter(t=>{if(t.field==="folderType"&&t.type==="folder"){const r=g(t.id);if(r!=null&&r.hasVersions)return!1}return!0}),T=y.length-x.length;if(T>0&&j.toast.error(`Cannot change folder type for ${T} folder${T>1?"s":""} with published versions`),y=x,!y.length)return;if(A&&P){const t=y.map(({rowId:h,id:c,type:o,field:s,isAttrib:l,meta:a})=>{var E;const e=g(c);if(!e)throw"Entity not found: "+c;const i=(e==null?void 0:e.entityId)||e.id,f=l?((E=e.attrib)==null?void 0:E[s])??null:e[s]??null,m=(e==null?void 0:e.ownAttrib)||[],p=l&&!m.includes(s);return{rowId:h,id:i,type:o,field:s,value:f,isAttrib:l,wasInherited:p,ownAttrib:m,folderId:(e==null?void 0:e.folderId)||(e==null?void 0:e.parentId),meta:a}}),r=y.flatMap(({rowId:h,id:c,type:o,field:s,value:l,isAttrib:a,meta:e})=>{const i=g(c),f=(i==null?void 0:i.entityId)||(i==null?void 0:i.id)||c;return i?{rowId:h,id:f,type:o,field:s,value:l,isAttrib:a,ownAttrib:(i==null?void 0:i.ownAttrib)||[],folderId:"folderId"in i?i.folderId:i==null?void 0:i.parentId,meta:e}:[]});A(t,r)}const w=["task","folder","product","version"];let I=[];for(const t of y){let{id:r,type:h,field:c,value:o,isAttrib:s,meta:l}=t;const a=g(r),e=(a==null?void 0:a.entityId)||(a==null?void 0:a.id)||r;let i=h;if(!w.includes(i))continue;const f=s?{attrib:{[c]:o}}:{[c]:o};if(s){const p=[...(a==null?void 0:a.ownAttrib)||[]];p.includes(c)||p.push(c),f.ownAttrib=p}const m=I.findIndex(p=>p.entityId===e&&p.entityType===i);if(m!==-1){const p=I[m];let E={...p.data,...f};(d=p.data)!=null&&d.attrib&&f.attrib&&(E={...E,attrib:{...p.data.attrib,...f.attrib}}),I[m]={...p,data:E}}else I.push({rowId:t.rowId,entityType:i,entityId:e,type:"update",data:f,meta:l})}const O=I.filter(t=>!!t.entityId&&t.type==="update"&&t.data&&"attrib"in t.data).map(t=>{var r;return{entityId:t.entityId,entityType:t.entityType,attrib:t.data&&"attrib"in t.data?(r=t.data)==null?void 0:r.attrib:{}}}),u=F(O).map(t=>({entityId:t.entityId,entityType:t.entityType,data:{attrib:t.attrib}}));try{I.length&&await v({operations:I,patchOperations:u})}catch(t){console.error("Error updating entities:",t),j.toast.error("Failed to update entities: "+(t==null?void 0:t.error))}},[C,v,g,F,A]),N=k.useCallback(async(b,P=!0)=>{var I,O;if(!b.length||!C)return;if(P&&A){const n=[];for(const d of b){const t=g(d.entityId);for(const r of d.attribs)t!=null&&t.attrib&&r in t.attrib&&n.push({rowId:d.rowId,id:(t==null?void 0:t.entityId)||(t==null?void 0:t.id)||d.entityId,type:d.entityType,field:r,value:t.attrib[r],isAttrib:!0,wasInherited:!1,ownAttrib:(t==null?void 0:t.ownAttrib)||[],folderId:t==null?void 0:t.folderId,meta:t.meta})}const u=b.flatMap(d=>d.attribs.map(t=>({rowId:d.rowId,id:d.entityId,type:d.entityType,field:t,value:null,isAttrib:!0,wasInherited:!0,ownAttrib:d.ownAttrib,folderId:d.folderId,meta:d.meta})));n.length>0&&A(n,u)}const y=["task","folder"],x=[],T=[];for(const n of b){let u=n.entityType;if(!y.includes(u))continue;u=u;const d={};n.attribs.forEach(s=>{d[s]=null}),x.push({rowId:n.rowId,entityType:u,entityId:n.entityId,type:"update",data:{attrib:d},meta:n.meta});const r=(()=>{const s=n.folderId,l=[];let a=s,e=b.find(f=>f.entityId===a);for(;e;)l.push(e),a=e.folderId,e=b.find(f=>f.entityId===a);return l.length>0?l[l.length-1]:null})(),h=(r==null?void 0:r.attribs)||[],c=n.attribs.filter(s=>h.includes(s)),o=n.attribs.filter(s=>!h.includes(s));o.length>0&&T.push({...n,attribs:o}),r&&c.length>0&&T.push({...n,attribs:c,folderId:r.folderId})}const w=[];for(const n of T){const u=n.entityType,d=[...n.ownAttrib||[]].filter(o=>!n.attribs.includes(o)),t=V(n.folderId,n.attribs),r={entityId:n.entityId,entityType:u,data:{attrib:t,ownAttrib:d}};w.push(r);const c=F([{entityId:n.entityId,entityType:u,attrib:t}]).map(o=>({entityId:o.entityId,entityType:o.entityType,data:{attrib:o.attrib}}));for(const o of c){const s=w.findIndex(l=>l.entityId===o.entityId);if(s!==-1){const l=w[s];let a={...((I=l.data)==null?void 0:I.attrib)||{},...((O=o.data)==null?void 0:O.attrib)||{}};w[s]={...l,data:{attrib:a}}}else w.push({entityId:o.entityId,entityType:o.entityType,data:o.data})}}try{await v({operations:x,patchOperations:w})}catch{j.toast.error("Failed to update entities")}},[C,v,F,U,A]);return{updateEntities:M,inheritFromParent:N}};module.exports=$;
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'\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}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory } = props || {}\n const {\n getEntityById,\n projectName,\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 const entityUpdates = entities.filter((e) => !e.isLink)\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 rowId: entity.rowId,\n entityType: entityType,\n entityId: entityId,\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 toast.error('Failed to update entities: ' + error?.error)\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\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 rowId: entity.rowId,\n entityType: entityType,\n entityId: entity.entityId,\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) {\n toast.error('Failed to update entities')\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","getEntityById","projectName","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","_a","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entity","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","toast","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib","_b"],"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'\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}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory } = props || {}\n const {\n getEntityById,\n projectName,\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${filteredCount > 1 ? 's' : ''} 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 rowId: entity.rowId,\n entityType: entityType,\n entityId: entityId,\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 toast.error('Failed to update entities: ' + error?.error)\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\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 rowId: entity.rowId,\n entityType: entityType,\n entityId: entity.entityId,\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) {\n toast.error('Failed to update entities')\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","getEntityById","projectName","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","entityData","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityId","oldValue","_a","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib","_b"],"mappings":"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"}