@ynput/ayon-frontend-shared 0.2.14 → 0.2.16

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 (668) hide show
  1. package/dist/DetailsPanel.cjs.js +10 -0
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +10 -0
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +39 -1
  6. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  7. package/dist/ProjectTreeTable.es.js +41 -3
  8. package/dist/ProjectTreeTable.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +4 -4
  10. package/dist/_virtual/index.cjs5.js +3 -5
  11. package/dist/_virtual/index.cjs5.js.map +1 -1
  12. package/dist/_virtual/index.cjs6.js +5 -3
  13. package/dist/_virtual/index.cjs6.js.map +1 -1
  14. package/dist/_virtual/index.cjs8.js +4 -4
  15. package/dist/_virtual/index.cjs9.js +4 -4
  16. package/dist/_virtual/index.es10.js +4 -4
  17. package/dist/_virtual/index.es5.js +2 -5
  18. package/dist/_virtual/index.es5.js.map +1 -1
  19. package/dist/_virtual/index.es6.js +5 -2
  20. package/dist/_virtual/index.es6.js.map +1 -1
  21. package/dist/_virtual/index.es8.js +4 -4
  22. package/dist/_virtual/index.es9.js +4 -4
  23. package/dist/api.cjs.js +7 -0
  24. package/dist/api.cjs.js.map +1 -1
  25. package/dist/api.es.js +9 -2
  26. package/dist/api.es.js.map +1 -1
  27. package/dist/components.cjs.js +12 -0
  28. package/dist/components.cjs.js.map +1 -1
  29. package/dist/components.es.js +12 -0
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/context.cjs.js +4 -0
  32. package/dist/context.cjs.js.map +1 -1
  33. package/dist/context.es.js +4 -0
  34. package/dist/context.es.js.map +1 -1
  35. package/dist/index.cjs.js +10 -0
  36. package/dist/index.cjs.js.map +1 -1
  37. package/dist/index.es.js +10 -0
  38. package/dist/index.es.js.map +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  40. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  41. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  43. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  44. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  45. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  46. package/dist/node_modules/remove-accents/index.es.js +1 -1
  47. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  48. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  49. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  50. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  51. package/dist/shared/src/api/generated/addons.cjs.js.map +1 -1
  52. package/dist/shared/src/api/generated/addons.es.js.map +1 -1
  53. package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
  54. package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  60. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  61. package/dist/shared/src/api/generated/events.cjs.js.map +1 -1
  62. package/dist/shared/src/api/generated/events.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/files.cjs.js +5 -0
  64. package/dist/shared/src/api/generated/files.cjs.js.map +1 -1
  65. package/dist/shared/src/api/generated/files.es.js +5 -0
  66. package/dist/shared/src/api/generated/files.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/graphql.cjs.js +24 -0
  68. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/graphql.es.js +24 -0
  70. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  71. package/dist/shared/src/api/generated/grouping.cjs.js +18 -0
  72. package/dist/shared/src/api/generated/grouping.cjs.js.map +1 -0
  73. package/dist/shared/src/api/generated/grouping.es.js +18 -0
  74. package/dist/shared/src/api/generated/grouping.es.js.map +1 -0
  75. package/dist/shared/src/api/generated/operations.cjs.js.map +1 -1
  76. package/dist/shared/src/api/generated/operations.es.js.map +1 -1
  77. package/dist/shared/src/api/generated/projects.cjs.js +16 -0
  78. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  79. package/dist/shared/src/api/generated/projects.es.js +16 -0
  80. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  81. package/dist/shared/src/api/generated/reviewables.cjs.js.map +1 -1
  82. package/dist/shared/src/api/generated/reviewables.es.js.map +1 -1
  83. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  84. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  85. package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
  86. package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  88. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
  90. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
  92. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
  94. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
  96. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
  98. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
  100. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
  102. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
  104. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
  106. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
  108. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
  110. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
  112. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
  114. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
  116. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -0
  118. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/entities/getEntity.es.js +1 -0
  120. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -0
  122. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -0
  124. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +2 -0
  126. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +2 -0
  128. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +2 -0
  130. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/entities/updateEntity.es.js +2 -0
  132. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -0
  134. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/entityLists/getLists.es.js +1 -0
  136. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
  138. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
  140. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
  142. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
  144. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
  146. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
  148. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +47 -0
  150. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -0
  151. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +47 -0
  152. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -0
  153. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +64 -3
  154. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/overview/getOverview.es.js +64 -3
  156. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +2 -0
  158. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/overview/updateOverview.es.js +2 -0
  160. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
  162. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
  164. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
  166. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
  168. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -0
  170. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/review/getReview.es.js +1 -0
  172. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
  174. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
  176. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
  178. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
  180. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -0
  182. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -0
  184. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -0
  186. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  188. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
  190. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
  192. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
  194. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
  196. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  197. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +2 -2
  198. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  199. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +2 -2
  200. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  201. package/dist/shared/src/components/Badge/Badge.cjs.js +31 -0
  202. package/dist/shared/src/components/Badge/Badge.cjs.js.map +1 -0
  203. package/dist/shared/src/components/Badge/Badge.es.js +31 -0
  204. package/dist/shared/src/components/Badge/Badge.es.js.map +1 -0
  205. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +2 -0
  206. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -0
  208. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +2 -0
  210. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  211. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +2 -0
  212. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  213. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
  214. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  215. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
  216. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  217. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +10 -0
  218. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
  219. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +10 -0
  220. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
  221. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +69 -0
  222. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -0
  223. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +69 -0
  224. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -0
  225. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +48 -0
  226. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -0
  227. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -0
  228. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -0
  229. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js +102 -0
  230. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js.map +1 -0
  231. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js +102 -0
  232. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js.map +1 -0
  233. package/dist/shared/src/components/Powerpack/PricingLink.cjs.js +13 -0
  234. package/dist/shared/src/components/Powerpack/PricingLink.cjs.js.map +1 -0
  235. package/dist/shared/src/components/Powerpack/PricingLink.es.js +13 -0
  236. package/dist/shared/src/components/Powerpack/PricingLink.es.js.map +1 -0
  237. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +4 -10
  238. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  239. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +1 -7
  240. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  241. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +142 -3
  242. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  243. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +142 -3
  244. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  245. package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.cjs.js +13 -0
  246. package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.cjs.js.map +1 -0
  247. package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.es.js +13 -0
  248. package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.es.js.map +1 -0
  249. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +50 -0
  250. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -0
  251. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +50 -0
  252. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -0
  253. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js +5 -1
  254. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js.map +1 -1
  255. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js +5 -1
  256. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js.map +1 -1
  257. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js +5 -5
  258. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js.map +1 -1
  259. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js +5 -5
  260. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js.map +1 -1
  261. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +2 -0
  262. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  263. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -0
  264. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  265. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +100 -79
  266. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +100 -79
  268. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  269. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +94 -17
  270. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +95 -18
  272. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.cjs.js +4 -0
  274. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.es.js +4 -0
  276. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.es.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +10 -0
  278. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +10 -0
  280. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  281. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +8 -7
  282. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  283. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -7
  284. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  285. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +6 -2
  286. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  287. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -2
  288. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  289. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +223 -19
  290. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  291. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +224 -20
  292. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  293. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -0
  294. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  295. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +1 -0
  296. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  297. package/dist/shared/src/components/Watchers/Watchers.cjs.js +2 -0
  298. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  299. package/dist/shared/src/components/Watchers/Watchers.es.js +2 -0
  300. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  301. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +10 -0
  302. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +10 -0
  304. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  305. package/dist/shared/src/containers/Actions/Actions.cjs.js +3 -0
  306. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Actions/Actions.es.js +3 -0
  308. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  309. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +10 -0
  310. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +10 -0
  312. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  313. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +22 -0
  314. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +22 -0
  316. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  317. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js +26 -7
  318. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js +26 -7
  320. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +10 -0
  322. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +10 -0
  324. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +19 -9
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +19 -9
  328. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +10 -0
  330. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +10 -0
  332. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +11 -1
  334. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +11 -1
  336. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +3 -0
  338. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -0
  340. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -0
  342. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +1 -0
  344. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +2 -0
  346. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -0
  348. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -0
  350. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/Feed.es.js +1 -0
  352. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  353. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -0
  354. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +1 -0
  356. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  357. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -0
  358. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +1 -0
  360. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  361. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -0
  362. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +1 -0
  364. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  365. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -0
  366. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +1 -0
  368. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  369. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +2 -1
  370. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +2 -1
  372. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  373. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.cjs.js +8 -1
  374. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.es.js +9 -2
  376. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.es.js.map +1 -1
  377. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js +9 -0
  378. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js +10 -1
  380. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
  382. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
  384. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +3 -0
  386. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +3 -0
  388. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +2 -0
  390. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -0
  392. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +54 -26
  394. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +55 -27
  396. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +7 -0
  398. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +7 -0
  400. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +53 -14
  402. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +53 -14
  404. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +205 -0
  406. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -0
  407. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +205 -0
  408. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -0
  409. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +25 -12
  410. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +25 -12
  412. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +11 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +11 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +2 -0
  418. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +2 -0
  420. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +54 -10
  422. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +55 -11
  424. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js +137 -0
  426. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +1 -0
  427. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js +137 -0
  428. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +1 -0
  429. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -0
  430. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -0
  432. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +2 -0
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -0
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +187 -0
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -0
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +187 -0
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -0
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/{useOverviewTable.cjs.js → useBuildProjectDataTable.cjs.js} +4 -4
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -0
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/{useOverviewTable.es.js → useBuildProjectDataTable.es.js} +4 -4
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -0
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +64 -31
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +64 -31
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js +24 -0
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js.map +1 -0
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js +24 -0
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js.map +1 -0
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +16 -9
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +16 -9
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js +17 -0
  462. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js.map +1 -0
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js +17 -0
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js.map +1 -0
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.cjs.js +30 -0
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.cjs.js.map +1 -0
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.es.js +30 -0
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.es.js.map +1 -0
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +363 -0
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -0
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +363 -0
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -0
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +16 -12
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +16 -13
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +239 -0
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -0
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +239 -0
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -0
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +82 -0
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -0
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +82 -0
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -0
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +40 -0
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -0
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +40 -0
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -0
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.cjs.js +19 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.cjs.js.map +1 -0
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.es.js +19 -0
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.es.js.map +1 -0
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +26 -0
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -0
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +26 -0
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -0
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +7 -4
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +7 -4
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +12 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +12 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.cjs.js +8 -0
  508. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.cjs.js.map +1 -0
  509. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.es.js +8 -0
  510. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.es.js.map +1 -0
  511. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.cjs.js +7 -0
  512. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.cjs.js.map +1 -0
  513. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.es.js +7 -0
  514. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.es.js.map +1 -0
  515. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js +0 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js +0 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +109 -0
  520. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -0
  521. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +109 -0
  522. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -0
  523. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js +29 -0
  524. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js.map +1 -0
  525. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js +30 -0
  526. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js.map +1 -0
  527. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +0 -8
  528. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +0 -8
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  531. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +10 -0
  532. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +10 -0
  534. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  535. package/dist/shared/src/context/AddonProjectContext.cjs.js +2 -0
  536. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  537. package/dist/shared/src/context/AddonProjectContext.es.js +2 -0
  538. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  539. package/dist/shared/src/context/DetailsPanelContext.cjs.js +3 -0
  540. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  541. package/dist/shared/src/context/DetailsPanelContext.es.js +3 -0
  542. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  543. package/dist/shared/src/context/PowerpackContext.cjs.js +170 -0
  544. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -0
  545. package/dist/shared/src/context/PowerpackContext.es.js +170 -0
  546. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -0
  547. package/dist/shared/src/context/RemoteModulesContext.cjs.js +7 -1
  548. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  549. package/dist/shared/src/context/RemoteModulesContext.es.js +8 -2
  550. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  551. package/dist/shared/src/hooks/useActionTriggers.cjs.js +2 -0
  552. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  553. package/dist/shared/src/hooks/useActionTriggers.es.js +2 -0
  554. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  555. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +3 -0
  556. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  557. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -0
  558. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  559. package/dist/shared/src/hooks/useLoadModule.cjs.js +8 -2
  560. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  561. package/dist/shared/src/hooks/useLoadModule.es.js +8 -2
  562. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  563. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +2 -0
  564. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  565. package/dist/shared/src/hooks/useScopedStatuses.es.js +2 -0
  566. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  567. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +2 -0
  568. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  569. package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -0
  570. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  571. package/dist/shared/src/util/getAttributeIcon.cjs.js +7 -1
  572. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  573. package/dist/shared/src/util/getAttributeIcon.es.js +7 -1
  574. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  575. package/dist/shared/src/util/getEntityTypeIcon.cjs.js +9 -0
  576. package/dist/shared/src/util/getEntityTypeIcon.cjs.js.map +1 -1
  577. package/dist/shared/src/util/getEntityTypeIcon.es.js +9 -0
  578. package/dist/shared/src/util/getEntityTypeIcon.es.js.map +1 -1
  579. package/dist/types/api/generated/actions.d.ts +2 -1
  580. package/dist/types/api/generated/addons.d.ts +8 -1
  581. package/dist/types/api/generated/anatomy.d.ts +1 -14
  582. package/dist/types/api/generated/attributes.d.ts +4 -2
  583. package/dist/types/api/generated/configuration.d.ts +6 -0
  584. package/dist/types/api/generated/entityLists.d.ts +2 -0
  585. package/dist/types/api/generated/events.d.ts +1 -1
  586. package/dist/types/api/generated/files.d.ts +11 -0
  587. package/dist/types/api/generated/graphql.d.ts +33 -38
  588. package/dist/types/api/generated/grouping.d.ts +40 -0
  589. package/dist/types/api/generated/index.d.ts +3 -1
  590. package/dist/types/api/generated/operations.d.ts +1 -1
  591. package/dist/types/api/generated/projects.d.ts +59 -0
  592. package/dist/types/api/generated/reviewables.d.ts +1 -0
  593. package/dist/types/api/generated/system.d.ts +5 -3
  594. package/dist/types/api/generated/tasks.d.ts +15 -1
  595. package/dist/types/api/generated/users.d.ts +1 -4
  596. package/dist/types/api/queries/activities/getActivities.d.ts +4 -0
  597. package/dist/types/api/queries/activities/updateActivities.d.ts +8 -0
  598. package/dist/types/api/queries/entities/getEntity.d.ts +4 -0
  599. package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -0
  600. package/dist/types/api/queries/entities/updateEntity.d.ts +4 -0
  601. package/dist/types/api/queries/entityLists/getLists.d.ts +4 -0
  602. package/dist/types/api/queries/grouping/getGrouping.d.ts +137 -0
  603. package/dist/types/api/queries/grouping/index.d.ts +1 -0
  604. package/dist/types/api/queries/index.d.ts +1 -0
  605. package/dist/types/api/queries/overview/getOverview.d.ts +222 -482
  606. package/dist/types/api/queries/project/getProject.d.ts +6 -0
  607. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +4 -0
  608. package/dist/types/api/queries/users/getUsers.d.ts +4 -0
  609. package/dist/types/components/Badge/Badge.d.ts +10 -0
  610. package/dist/types/components/Badge/index.d.ts +1 -0
  611. package/dist/types/components/Powerpack/PowerpackButton.d.ts +7 -0
  612. package/dist/types/components/Powerpack/PowerpackDialog.d.ts +4 -0
  613. package/dist/types/components/Powerpack/PowerpackDialog.styled.d.ts +8 -0
  614. package/dist/types/components/Powerpack/PricingLink.d.ts +4 -0
  615. package/dist/types/components/Powerpack/index.d.ts +3 -0
  616. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +3 -2
  617. package/dist/types/components/ProjectTableSettings/TableSettings.styled.d.ts +1 -0
  618. package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +10 -0
  619. package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
  620. package/dist/types/components/ReviewableProgressCard/ReviewableProgressCard.d.ts +1 -1
  621. package/dist/types/components/ReviewablesList/ReviewablesUpload.d.ts +19 -3
  622. package/dist/types/components/index.d.ts +2 -0
  623. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +4 -0
  624. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +2 -1
  625. package/dist/types/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +1 -0
  626. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +3 -1
  627. package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +11 -0
  628. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +7 -0
  629. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +22 -5
  630. package/dist/types/containers/ProjectTreeTable/context/ProjectTableModulesContext.d.ts +32 -0
  631. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +1 -0
  632. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +13 -0
  633. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +30 -0
  634. package/dist/types/containers/ProjectTreeTable/hooks/{useOverviewTable.d.ts → useBuildProjectDataTable.d.ts} +3 -1
  635. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +15 -2
  636. package/dist/types/containers/ProjectTreeTable/hooks/useColumnSorting.d.ts +12 -0
  637. package/dist/types/containers/ProjectTreeTable/hooks/useEntitiesMap.d.ts +7 -0
  638. package/dist/types/containers/ProjectTreeTable/hooks/useExpandedState.d.ts +11 -0
  639. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +37 -0
  640. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
  641. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  642. package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +9 -0
  643. package/dist/types/containers/ProjectTreeTable/hooks/useGetTaskGroups.d.ts +10 -0
  644. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +14 -0
  645. package/dist/types/containers/ProjectTreeTable/hooks/useScopedAttributeFields.d.ts +10 -0
  646. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +10 -0
  647. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -4
  648. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
  649. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +46 -0
  650. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +13 -5
  651. package/dist/types/containers/ProjectTreeTable/utils/errorExtraction.d.ts +4 -0
  652. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  653. package/dist/types/containers/ProjectTreeTable/utils/localStorageKeys.d.ts +4 -0
  654. package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +14 -0
  655. package/dist/types/containers/ProjectTreeTable/widgets/LoadMoreWidget.d.ts +8 -0
  656. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  657. package/dist/types/context/PowerpackContext.d.ts +21 -0
  658. package/dist/types/context/index.d.ts +1 -0
  659. package/dist/types/hooks/useLoadModule.d.ts +2 -1
  660. package/dist/types/util/getAttributeIcon.d.ts +1 -1
  661. package/dist/types/util/getEntityTypeIcon.d.ts +1 -0
  662. package/dist/types/utils/extractVersionFromFilename.d.ts +5 -0
  663. package/dist/util.cjs.js +1 -0
  664. package/dist/util.cjs.js.map +1 -1
  665. package/dist/util.es.js +2 -1
  666. package/package.json +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +0 -1
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useCellContextMenu.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useCellContextMenu.ts"],"sourcesContent":["import { ContextMenuItemType, useCreateContextMenu } from '../../ContextMenu/useCreateContextMenu'\nimport useDeleteEntities from './useDeleteEntities'\nimport { getPlatformShortcutKey, KeyMode } from '../../../util/platform'\nimport { getCellId, parseCellId } from '../utils/cellUtils'\nimport { useClipboard } from '../context/ClipboardContext'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useCellEditing } from '../context/CellEditingContext'\nimport { InheritFromParentEntity } from './useUpdateTableData'\nimport { ProjectTableAttribute } from '../types'\nimport { UseHistoryReturn } from './useHistory'\n\ntype ContextEvent = React.MouseEvent<HTMLTableSectionElement, MouseEvent>\n\nexport type TableCellContextData = {\n entityId: string\n cellId: string\n columnId: string\n entityType: 'folder' | 'task' | 'product' | 'version' | undefined\n attribField: ProjectTableAttribute | undefined\n}\ntype DefaultMenuItem =\n | 'copy-paste'\n | 'show-details'\n | 'expand-collapse'\n | 'inherit'\n | 'delete'\n | 'export'\n | 'create-folder'\n | 'create-task'\nexport type ContextMenuItemConstructor = (\n e: ContextEvent,\n cell: TableCellContextData,\n selectedCells: TableCellContextData[],\n meta: {\n selectedCells: string[]\n selectedRows: string[]\n selectedColumns: string[]\n selectedFullRows: string[] // if the full row is selected\n },\n context: {\n history: UseHistoryReturn\n },\n) => ContextMenuItemType | ContextMenuItemType[] | undefined\nexport type ContextMenuItemConstructors = (DefaultMenuItem | ContextMenuItemConstructor)[]\n\ntype CellContextMenuProps = {\n attribs: ProjectTableAttribute[]\n onOpenNew?: (type: 'folder' | 'task') => void\n}\n\nconst useCellContextMenu = ({ attribs, onOpenNew }: CellContextMenuProps) => {\n // context hooks\n const {\n projectName,\n showHierarchy,\n getEntityById,\n toggleExpandAll,\n contextMenuItems = [],\n } = useProjectTableContext()\n const { copyToClipboard, exportCSV, pasteFromClipboard } = useClipboard()\n const { selectedCells, clearSelection, selectCell, focusCell } = useSelectionCellsContext()\n const { inheritFromParent, history } = useCellEditing()\n\n // update entity context\n\n // data mutations\n const deleteEntities = useDeleteEntities({})\n\n const [cellContextMenuShow] = useCreateContextMenu()\n\n // Helper function to identify attributes that can be inherited\n const getEntitiesToInherit = (selected: string[]): InheritFromParentEntity[] => {\n return selected.reduce((acc, cellId) => {\n const { rowId, colId } = parseCellId(cellId) || {}\n if (!rowId || !colId || !colId.startsWith('attrib_')) return acc\n\n const entity = getEntityById(rowId)\n if (!entity) return acc\n\n const attribName = colId.replace('attrib_', '')\n // get attrib model\n const attribModel = attribs.find((attrib) => attrib.name === attribName)\n // is the attrib inheritable?\n const isInheritable = attribModel?.data.inherit\n\n // Check if this attribute is owned by the entity (not inherited)\n if (entity.ownAttrib?.includes(attribName) && isInheritable) {\n // Find existing entry or create new one\n const existingIndex = acc.findIndex((item) => item.entityId === rowId)\n\n if (existingIndex >= 0) {\n // Add to existing entity's attribs if not already there\n if (!acc[existingIndex].attribs.includes(attribName)) {\n acc[existingIndex].attribs.push(attribName)\n }\n } else {\n // Create new entity entry\n acc.push({\n rowId: rowId,\n entityId: rowId,\n entityType: 'folderId' in entity ? 'task' : 'folder',\n attribs: [attribName],\n ownAttrib: entity.ownAttrib || [],\n // @ts-ignore\n folderId: entity.parentId ?? entity.folderId,\n })\n }\n }\n\n return acc\n }, [] as InheritFromParentEntity[])\n }\n\n const copyAndPasteItems: ContextMenuItemConstructor = (e, cell, selected, config) => {\n return [\n {\n label: 'Copy',\n icon: 'content_copy',\n shortcut: getPlatformShortcutKey('c', [KeyMode.Ctrl]),\n command: () => copyToClipboard(config.selectedCells),\n hidden: false, // Always shown\n },\n {\n label: `Copy row${config.selectedFullRows.length > 1 ? 's' : ''}`,\n icon: 'content_copy',\n command: () => copyToClipboard(config.selectedFullRows, true),\n hidden:\n cell.columnId !== 'name' ||\n !config.selectedFullRows.some(\n (cellId) => parseCellId(cellId)?.rowId === parseCellId(cell.cellId)?.rowId,\n ),\n },\n {\n label: 'Paste',\n icon: 'content_paste',\n shortcut: getPlatformShortcutKey('v', [KeyMode.Ctrl]),\n command: () => pasteFromClipboard(config.selectedCells),\n hidden: cell.columnId === 'name',\n disabled: cell.attribField?.readOnly,\n },\n ]\n }\n\n const showDetailsItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Show details',\n icon: 'dock_to_left',\n shortcut: 'Double click',\n command: () => {\n const rowSelectionCellId = getCellId(cell.entityId, ROW_SELECTION_COLUMN_ID)\n // select the row to open the details\n selectCell(rowSelectionCellId, false, false)\n },\n hidden: cell.columnId !== 'name' || meta.selectedRows.length > 1,\n })\n\n const expandCollapseChildrenItems: ContextMenuItemConstructor = (e, cell, selected, meta) => [\n {\n label: 'Expand children',\n icon: 'expand_all',\n shortcut: 'Alt + click',\n command: () => toggleExpandAll(meta.selectedRows, true),\n hidden: cell.columnId !== 'name',\n },\n {\n label: 'Collapse children',\n icon: 'collapse_all',\n shortcut: 'Alt + click',\n command: () => toggleExpandAll(meta.selectedRows, false),\n hidden: cell.columnId !== 'name',\n },\n ]\n\n const deleteItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Delete',\n icon: 'delete',\n danger: true,\n command: () => deleteEntities(meta.selectedCells),\n hidden: cell.columnId !== 'name',\n })\n\n const inheritItem: ContextMenuItemConstructor = (e, cell, selected, meta) => {\n const entitiesToInherit = getEntitiesToInherit(meta.selectedCells)\n const canInheritFromParent =\n entitiesToInherit.length > 0 &&\n showHierarchy &&\n !(meta.selectedRows.length > 1 && meta.selectedColumns.length > 1)\n\n return {\n label: 'Inherit from parent',\n icon: 'disabled_by_default',\n command: () => inheritFromParent(entitiesToInherit),\n hidden: !canInheritFromParent,\n }\n }\n\n const exportItem: ContextMenuItemConstructor = () => ({\n label: 'Export selection',\n icon: 'download',\n command: () => exportCSV(Array.from(selectedCells), projectName),\n hidden: false, // Always shown\n })\n\n const createFolderItems: ContextMenuItemConstructor = (e, cell) => [\n {\n label: 'Create folder',\n icon: 'create_new_folder',\n command: () => onOpenNew?.('folder'),\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n },\n {\n label: 'Create root folder',\n icon: 'create_new_folder',\n command: () => {\n clearSelection()\n onOpenNew?.('folder')\n },\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n },\n ]\n\n const createTaskItem: ContextMenuItemConstructor = (e, cell) => ({\n label: 'Create task',\n icon: 'add_task',\n command: () => onOpenNew?.('task'),\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n })\n\n const builtInMenuItems: Record<DefaultMenuItem, ContextMenuItemConstructor> = {\n ['copy-paste']: copyAndPasteItems,\n ['show-details']: showDetailsItem,\n ['expand-collapse']: expandCollapseChildrenItems,\n ['delete']: deleteItem,\n ['inherit']: inheritItem,\n ['export']: exportItem,\n ['create-folder']: createFolderItems,\n ['create-task']: createTaskItem,\n }\n\n const getCellData = (cellId: string): TableCellContextData | undefined => {\n const { rowId, colId } = parseCellId(cellId) || {}\n if (!rowId || !colId) return undefined\n const cellEntityData = getEntityById(rowId)\n const attribField = attribs.find((attrib) => attrib.name === colId?.replace('attrib_', ''))\n return {\n cellId: cellId,\n columnId: colId,\n entityId: cellEntityData?.entityId || rowId,\n entityType: cellEntityData?.entityType,\n attribField: attribField,\n }\n }\n\n const handleTableBodyContextMenu = (e: ContextEvent) => {\n const target = e.target as HTMLElement\n const tdEl = target.closest('td')\n // get id of first child of td\n const cellId = tdEl?.firstElementChild?.id\n\n if (!cellId) return\n\n const cellData = getCellData(cellId)\n\n if (!cellData) return\n\n let currentSelectedCells = Array.from(selectedCells)\n // if selecting a cell outside of the current selection\n if (!currentSelectedCells.includes(cellId) || !currentSelectedCells.length) {\n currentSelectedCells = [cellId]\n // update selection\n selectCell(cellId, false, false)\n focusCell(cellId)\n }\n\n const selectedCellsData = currentSelectedCells.flatMap((cellId) => getCellData(cellId) || [])\n const selectedCellRows: string[] = []\n const selectedCellColumns: string[] = []\n const selectedCellFullRows: string[] = []\n for (const { entityId, columnId } of selectedCellsData) {\n if (entityId && !selectedCellRows.includes(entityId)) selectedCellRows.push(entityId)\n if (columnId && !selectedCellColumns.includes(columnId)) selectedCellColumns.push(columnId)\n if (columnId === ROW_SELECTION_COLUMN_ID && !selectedCellFullRows.includes(entityId))\n selectedCellFullRows.push(entityId)\n }\n\n const constructedMenuItems = contextMenuItems.flatMap((constructor) =>\n typeof constructor === 'function'\n ? constructor(\n e,\n cellData,\n selectedCellsData,\n {\n selectedCells: currentSelectedCells, // all selected cells\n selectedRows: selectedCellRows,\n selectedColumns: selectedCellColumns,\n selectedFullRows: selectedCellFullRows,\n },\n {\n history,\n },\n )\n : builtInMenuItems[constructor]?.(\n e,\n cellData,\n selectedCellsData,\n {\n selectedCells: currentSelectedCells, // all selected cells\n selectedRows: selectedCellRows,\n selectedColumns: selectedCellColumns,\n selectedFullRows: selectedCellFullRows,\n },\n { history },\n ),\n )\n\n cellContextMenuShow(e, constructedMenuItems)\n }\n\n return { handleTableBodyContextMenu }\n}\n\nexport default useCellContextMenu\n"],"names":["_a","cellId"],"mappings":"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"}
1
+ {"version":3,"file":"useCellContextMenu.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useCellContextMenu.ts"],"sourcesContent":["import { ContextMenuItemType, useCreateContextMenu } from '../../ContextMenu/useCreateContextMenu'\nimport useDeleteEntities from './useDeleteEntities'\nimport { getPlatformShortcutKey, KeyMode } from '../../../util/platform'\nimport { getCellId, parseCellId } from '../utils/cellUtils'\nimport { useClipboard } from '../context/ClipboardContext'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { useCellEditing } from '../context/CellEditingContext'\nimport { InheritFromParentEntity } from './useUpdateTableData'\nimport { ProjectTableAttribute, TableRow } from '../types'\nimport { UseHistoryReturn } from './useHistory'\nimport { GROUP_BY_ID } from './useBuildGroupByTableData'\nimport { ColumnDef } from '@tanstack/react-table'\nimport { usePowerpack } from '@shared/context'\n\ntype ContextEvent = React.MouseEvent<HTMLTableSectionElement, MouseEvent>\n\nexport type HeaderLabel = { id: string; label: string }\n\nexport type TableCellContextData = {\n entityId: string\n cellId: string\n columnId: string\n entityType: 'folder' | 'task' | 'product' | 'version' | undefined\n attribField: ProjectTableAttribute | undefined // the attribute field if any (fps, custom attribs, etc.)\n column: {\n id: string\n label: string\n }\n isGroup: boolean // if the cell is a group header\n}\ntype DefaultMenuItem =\n | 'copy-paste'\n | 'show-details'\n | 'expand-collapse'\n | 'inherit'\n | 'delete'\n | 'export'\n | 'create-folder'\n | 'create-task'\nexport type ContextMenuItemConstructor = (\n e: ContextEvent,\n cell: TableCellContextData,\n selectedCells: TableCellContextData[],\n meta: {\n selectedCells: string[] // minus row selection cells\n selectedRows: string[]\n selectedColumns: string[]\n selectedFullRows: string[] // if the full row is selected\n selectedGroups: string[] // groups if any\n },\n context: {\n history: UseHistoryReturn\n },\n) => ContextMenuItemType | ContextMenuItemType[] | undefined\nexport type ContextMenuItemConstructors = (DefaultMenuItem | ContextMenuItemConstructor)[]\n\ntype CellContextMenuProps = {\n attribs: ProjectTableAttribute[]\n columns?: ColumnDef<TableRow>[]\n headerLabels: HeaderLabel[]\n onOpenNew?: (type: 'folder' | 'task') => void\n}\n\nconst useCellContextMenu = ({ attribs, headerLabels = [], onOpenNew }: CellContextMenuProps) => {\n // context hooks\n const {\n projectName,\n showHierarchy,\n getEntityById,\n toggleExpandAll,\n toggleExpands,\n expanded,\n contextMenuItems = [],\n powerpack,\n } = useProjectTableContext()\n const { copyToClipboard, exportCSV, pasteFromClipboard } = useClipboard()\n const { selectedCells, clearSelection, selectCell, focusCell } = useSelectionCellsContext()\n const { inheritFromParent, history } = useCellEditing()\n\n // update entity context\n\n // data mutations\n const deleteEntities = useDeleteEntities({})\n\n const [cellContextMenuShow] = useCreateContextMenu([], powerpack)\n\n // Helper function to identify attributes that can be inherited\n const getEntitiesToInherit = (selected: string[]): InheritFromParentEntity[] => {\n return selected.reduce((acc, cellId) => {\n const { rowId, colId } = parseCellId(cellId) || {}\n if (!rowId || !colId || !colId.startsWith('attrib_')) return acc\n\n const entity = getEntityById(rowId)\n if (!entity) return acc\n const entityId = entity.entityId || entity.id\n\n const attribName = colId.replace('attrib_', '')\n // get attrib model\n const attribModel = attribs.find((attrib) => attrib.name === attribName)\n // is the attrib inheritable?\n const isInheritable = attribModel?.data.inherit\n\n // Check if this attribute is owned by the entity (not inherited)\n if (entity.ownAttrib?.includes(attribName) && isInheritable) {\n // Find existing entry or create new one\n const existingIndex = acc.findIndex((item) => item.entityId === entityId)\n\n if (existingIndex >= 0) {\n // Add to existing entity's attribs if not already there\n if (!acc[existingIndex].attribs.includes(attribName)) {\n acc[existingIndex].attribs.push(attribName)\n }\n } else {\n // Create new entity entry\n acc.push({\n rowId: entityId,\n entityId: entityId,\n entityType: 'folderId' in entity ? 'task' : 'folder',\n attribs: [attribName],\n ownAttrib: entity.ownAttrib || [],\n // @ts-ignore\n folderId: entity.parentId ?? entity.folderId,\n })\n }\n }\n\n return acc\n }, [] as InheritFromParentEntity[])\n }\n\n const copyAndPasteItems: ContextMenuItemConstructor = (e, cell, selected, meta) => {\n return [\n {\n label: 'Copy',\n icon: 'content_copy',\n shortcut: getPlatformShortcutKey('c', [KeyMode.Ctrl]),\n command: () => copyToClipboard(meta.selectedCells),\n hidden: cell.isGroup,\n },\n {\n label: `Copy row${meta.selectedFullRows.length > 1 ? 's' : ''}`,\n icon: 'content_copy',\n command: () => copyToClipboard(meta.selectedFullRows, true),\n hidden:\n cell.columnId !== 'name' ||\n !meta.selectedFullRows.some(\n (cellId) => parseCellId(cellId)?.rowId === parseCellId(cell.cellId)?.rowId,\n ),\n },\n {\n label: 'Paste',\n icon: 'content_paste',\n shortcut: getPlatformShortcutKey('v', [KeyMode.Ctrl]),\n command: () => pasteFromClipboard(meta.selectedCells),\n hidden: cell.columnId === 'name' || cell.isGroup,\n disabled: cell.attribField?.readOnly,\n },\n ]\n }\n\n const showDetailsItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Show details',\n icon: 'dock_to_left',\n shortcut: 'Double click',\n command: () => {\n const rowSelectionCellId = getCellId(cell.entityId, ROW_SELECTION_COLUMN_ID)\n // select the row to open the details\n selectCell(rowSelectionCellId, false, false)\n },\n hidden: cell.columnId !== 'name' || meta.selectedRows.length > 1 || cell.isGroup,\n })\n\n const expandCollapseChildrenItems: ContextMenuItemConstructor = (e, cell, selected, meta) => [\n {\n label: 'Expand children',\n icon: 'expand_all',\n shortcut: 'Alt + click',\n command: () => toggleExpandAll(meta.selectedRows, true),\n hidden: cell.columnId !== 'name' || cell.entityType !== 'folder',\n },\n {\n label: 'Collapse children',\n icon: 'collapse_all',\n shortcut: 'Alt + click',\n command: () => toggleExpandAll(meta.selectedRows, false),\n hidden: cell.columnId !== 'name' || cell.entityType !== 'folder',\n },\n {\n label: 'Expand',\n icon: 'expand_all',\n command: () => toggleExpands(meta.selectedRows, true),\n hidden:\n cell.columnId !== 'name' ||\n !cell.isGroup ||\n expanded[cell.entityId as keyof typeof expanded],\n },\n {\n label: 'Collapse',\n icon: 'collapse_all',\n command: () => toggleExpands(meta.selectedRows, false),\n hidden:\n cell.columnId !== 'name' ||\n !cell.isGroup ||\n !expanded[cell.entityId as keyof typeof expanded],\n },\n ]\n\n const deleteItem: ContextMenuItemConstructor = (e, cell, selected, meta) => ({\n label: 'Delete',\n icon: 'delete',\n danger: true,\n command: () => deleteEntities(meta.selectedRows),\n hidden: cell.columnId !== 'name' || cell.isGroup,\n })\n\n const inheritItem: ContextMenuItemConstructor = (e, cell, selected, meta) => {\n const entitiesToInherit = getEntitiesToInherit(meta.selectedCells)\n const canInheritFromParent =\n entitiesToInherit.length > 0 &&\n showHierarchy &&\n !(meta.selectedRows.length > 1 && meta.selectedColumns.length > 1)\n\n return {\n label: 'Inherit from parent',\n icon: 'disabled_by_default',\n command: () => inheritFromParent(entitiesToInherit),\n hidden: !canInheritFromParent,\n }\n }\n\n const exportItem: ContextMenuItemConstructor = (e, cell) => ({\n label: 'Export selection',\n icon: 'download',\n command: () => exportCSV(Array.from(selectedCells), projectName),\n hidden: cell.isGroup,\n })\n\n const createFolderItems: ContextMenuItemConstructor = (e, cell) => [\n {\n label: 'Create folder',\n icon: 'create_new_folder',\n command: () => onOpenNew?.('folder'),\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n },\n {\n label: 'Create root folder',\n icon: 'create_new_folder',\n command: () => {\n clearSelection()\n onOpenNew?.('folder')\n },\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n },\n ]\n\n const createTaskItem: ContextMenuItemConstructor = (e, cell) => ({\n label: 'Create task',\n icon: 'add_task',\n command: () => onOpenNew?.('task'),\n hidden: cell.columnId !== 'name' || !showHierarchy || !onOpenNew,\n })\n\n const builtInMenuItems: Record<DefaultMenuItem, ContextMenuItemConstructor> = {\n ['copy-paste']: copyAndPasteItems,\n ['show-details']: showDetailsItem,\n ['expand-collapse']: expandCollapseChildrenItems,\n ['delete']: deleteItem,\n ['inherit']: inheritItem,\n ['export']: exportItem,\n ['create-folder']: createFolderItems,\n ['create-task']: createTaskItem,\n }\n\n const getCellData = (cellId: string): TableCellContextData | undefined => {\n const { rowId, colId } = parseCellId(cellId) || {}\n if (!rowId || !colId) return undefined\n const cellEntityData = getEntityById(rowId)\n const attribField = attribs.find((attrib) => attrib.name === colId?.replace('attrib_', ''))\n const column = headerLabels.find((header) => header.id === colId)\n return {\n cellId: cellId,\n columnId: colId,\n entityId: cellEntityData?.entityId || cellEntityData?.id || rowId,\n entityType: cellEntityData?.entityType,\n attribField: attribField,\n isGroup: rowId.startsWith(GROUP_BY_ID),\n column: {\n id: colId,\n label: column?.label || '',\n },\n }\n }\n\n const handleTableBodyContextMenu = (e: ContextEvent) => {\n const target = e.target as HTMLElement\n const tdEl = target.closest('td')\n // get id of first child of td\n const cellId = tdEl?.firstElementChild?.id\n\n if (!cellId) return\n\n const cellData = getCellData(cellId)\n\n if (!cellData) return\n\n let currentSelectedCells = Array.from(selectedCells)\n // if selecting a cell outside of the current selection\n if (!currentSelectedCells.includes(cellId) || !currentSelectedCells.length) {\n currentSelectedCells = [cellId]\n // update selection\n selectCell(cellId, false, false)\n focusCell(cellId)\n }\n // selected cells without row selection cells\n const selectedRealCells = currentSelectedCells.filter(\n (id) => parseCellId(id)?.colId !== ROW_SELECTION_COLUMN_ID,\n )\n\n const selectedCellsData = currentSelectedCells.flatMap((cellId) => getCellData(cellId) || [])\n const selectedCellRows: string[] = []\n const selectedCellColumns: string[] = []\n const selectedCellFullRows: string[] = []\n const selectedCellsGroups: string[] = [] // find cells that are group headers\n for (const { entityId, columnId } of selectedCellsData) {\n if (entityId && !selectedCellRows.includes(entityId)) selectedCellRows.push(entityId)\n if (columnId && !selectedCellColumns.includes(columnId)) selectedCellColumns.push(columnId)\n if (columnId === ROW_SELECTION_COLUMN_ID && !selectedCellFullRows.includes(entityId))\n selectedCellFullRows.push(entityId)\n if (entityId.startsWith(GROUP_BY_ID)) selectedCellsGroups.push(entityId)\n }\n\n const constructedMenuItems = contextMenuItems.flatMap((constructor) =>\n typeof constructor === 'function'\n ? constructor(\n e,\n cellData,\n selectedCellsData,\n {\n selectedCells: selectedRealCells, // selected cells without row selection\n selectedRows: selectedCellRows,\n selectedColumns: selectedCellColumns,\n selectedFullRows: selectedCellFullRows,\n selectedGroups: selectedCellsGroups, // groups if any\n },\n {\n history,\n },\n )\n : builtInMenuItems[constructor]?.(\n e,\n cellData,\n selectedCellsData,\n {\n selectedCells: selectedRealCells, // selected cells without row selection\n selectedRows: selectedCellRows,\n selectedColumns: selectedCellColumns,\n selectedFullRows: selectedCellFullRows,\n selectedGroups: selectedCellsGroups, // groups if any\n },\n { history },\n ),\n )\n\n cellContextMenuShow(e, constructedMenuItems)\n }\n\n return { handleTableBodyContextMenu }\n}\n\nexport default useCellContextMenu\n"],"names":["_a","cellId"],"mappings":";;;;;;;;;AAgEM,MAAA,qBAAqB,CAAC,EAAE,SAAS,eAAe,CAAC,GAAG,gBAAsC;AAExF,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB,CAAC;AAAA,IACpB;AAAA,MACE,uBAAuB;AAC3B,QAAM,EAAE,iBAAiB,WAAW,mBAAA,IAAuB,aAAa;AACxE,QAAM,EAAE,eAAe,gBAAgB,YAAY,UAAA,IAAc,yBAAyB;AAC1F,QAAM,EAAE,mBAAmB,QAAQ,IAAI,eAAe;AAKhD,QAAA,iBAAiB,kBAAkB,EAAE;AAE3C,QAAM,CAAC,mBAAmB,IAAI,qBAAqB,CAAA,GAAI,SAAS;AAG1D,QAAA,uBAAuB,CAAC,aAAkD;AAC9E,WAAO,SAAS,OAAO,CAAC,KAAK,WAAW;;AACtC,YAAM,EAAE,OAAO,MAAA,IAAU,YAAY,MAAM,KAAK,CAAC;AAC7C,UAAA,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,WAAW,SAAS,EAAU,QAAA;AAEvD,YAAA,SAAS,cAAc,KAAK;AAC9B,UAAA,CAAC,OAAe,QAAA;AACd,YAAA,WAAW,OAAO,YAAY,OAAO;AAE3C,YAAM,aAAa,MAAM,QAAQ,WAAW,EAAE;AAE9C,YAAM,cAAc,QAAQ,KAAK,CAAC,WAAW,OAAO,SAAS,UAAU;AAEjE,YAAA,gBAAgB,2CAAa,KAAK;AAGxC,YAAI,YAAO,cAAP,mBAAkB,SAAS,gBAAe,eAAe;AAE3D,cAAM,gBAAgB,IAAI,UAAU,CAAC,SAAS,KAAK,aAAa,QAAQ;AAExE,YAAI,iBAAiB,GAAG;AAEtB,cAAI,CAAC,IAAI,aAAa,EAAE,QAAQ,SAAS,UAAU,GAAG;AACpD,gBAAI,aAAa,EAAE,QAAQ,KAAK,UAAU;AAAA,UAAA;AAAA,QAC5C,OACK;AAEL,cAAI,KAAK;AAAA,YACP,OAAO;AAAA,YACP;AAAA,YACA,YAAY,cAAc,SAAS,SAAS;AAAA,YAC5C,SAAS,CAAC,UAAU;AAAA,YACpB,WAAW,OAAO,aAAa,CAAC;AAAA;AAAA,YAEhC,UAAU,OAAO,YAAY,OAAO;AAAA,UAAA,CACrC;AAAA,QAAA;AAAA,MACH;AAGK,aAAA;AAAA,IACT,GAAG,EAA+B;AAAA,EACpC;AAEA,QAAM,oBAAgD,CAAC,GAAG,MAAM,UAAU,SAAS;;AAC1E,WAAA;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU,uBAAuB,KAAK,CAAC,QAAQ,IAAI,CAAC;AAAA,QACpD,SAAS,MAAM,gBAAgB,KAAK,aAAa;AAAA,QACjD,QAAQ,KAAK;AAAA,MACf;AAAA,MACA;AAAA,QACE,OAAO,WAAW,KAAK,iBAAiB,SAAS,IAAI,MAAM,EAAE;AAAA,QAC7D,MAAM;AAAA,QACN,SAAS,MAAM,gBAAgB,KAAK,kBAAkB,IAAI;AAAA,QAC1D,QACE,KAAK,aAAa,UAClB,CAAC,KAAK,iBAAiB;AAAA,UACrB,CAAC;;AAAW,qBAAAA,MAAA,YAAY,MAAM,MAAlB,gBAAAA,IAAqB,aAAU,iBAAY,KAAK,MAAM,MAAvB,mBAA0B;AAAA;AAAA,QAAA;AAAA,MAE3E;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU,uBAAuB,KAAK,CAAC,QAAQ,IAAI,CAAC;AAAA,QACpD,SAAS,MAAM,mBAAmB,KAAK,aAAa;AAAA,QACpD,QAAQ,KAAK,aAAa,UAAU,KAAK;AAAA,QACzC,WAAU,UAAK,gBAAL,mBAAkB;AAAA,MAAA;AAAA,IAEhC;AAAA,EACF;AAEA,QAAM,kBAA8C,CAAC,GAAG,MAAM,UAAU,UAAU;AAAA,IAChF,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS,MAAM;AACb,YAAM,qBAAqB,UAAU,KAAK,UAAU,uBAAuB;AAEhE,iBAAA,oBAAoB,OAAO,KAAK;AAAA,IAC7C;AAAA,IACA,QAAQ,KAAK,aAAa,UAAU,KAAK,aAAa,SAAS,KAAK,KAAK;AAAA,EAAA;AAG3E,QAAM,8BAA0D,CAAC,GAAG,MAAM,UAAU,SAAS;AAAA,IAC3F;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS,MAAM,gBAAgB,KAAK,cAAc,IAAI;AAAA,MACtD,QAAQ,KAAK,aAAa,UAAU,KAAK,eAAe;AAAA,IAC1D;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS,MAAM,gBAAgB,KAAK,cAAc,KAAK;AAAA,MACvD,QAAQ,KAAK,aAAa,UAAU,KAAK,eAAe;AAAA,IAC1D;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,cAAc,KAAK,cAAc,IAAI;AAAA,MACpD,QACE,KAAK,aAAa,UAClB,CAAC,KAAK,WACN,SAAS,KAAK,QAAiC;AAAA,IACnD;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,cAAc,KAAK,cAAc,KAAK;AAAA,MACrD,QACE,KAAK,aAAa,UAClB,CAAC,KAAK,WACN,CAAC,SAAS,KAAK,QAAiC;AAAA,IAAA;AAAA,EAEtD;AAEA,QAAM,aAAyC,CAAC,GAAG,MAAM,UAAU,UAAU;AAAA,IAC3E,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS,MAAM,eAAe,KAAK,YAAY;AAAA,IAC/C,QAAQ,KAAK,aAAa,UAAU,KAAK;AAAA,EAAA;AAG3C,QAAM,cAA0C,CAAC,GAAG,MAAM,UAAU,SAAS;AACrE,UAAA,oBAAoB,qBAAqB,KAAK,aAAa;AACjE,UAAM,uBACJ,kBAAkB,SAAS,KAC3B,iBACA,EAAE,KAAK,aAAa,SAAS,KAAK,KAAK,gBAAgB,SAAS;AAE3D,WAAA;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,kBAAkB,iBAAiB;AAAA,MAClD,QAAQ,CAAC;AAAA,IACX;AAAA,EACF;AAEM,QAAA,aAAyC,CAAC,GAAG,UAAU;AAAA,IAC3D,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS,MAAM,UAAU,MAAM,KAAK,aAAa,GAAG,WAAW;AAAA,IAC/D,QAAQ,KAAK;AAAA,EAAA;AAGT,QAAA,oBAAgD,CAAC,GAAG,SAAS;AAAA,IACjE;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,uCAAY;AAAA,MAC3B,QAAQ,KAAK,aAAa,UAAU,CAAC,iBAAiB,CAAC;AAAA,IACzD;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM;AACE,uBAAA;AACf,+CAAY;AAAA,MACd;AAAA,MACA,QAAQ,KAAK,aAAa,UAAU,CAAC,iBAAiB,CAAC;AAAA,IAAA;AAAA,EAE3D;AAEM,QAAA,iBAA6C,CAAC,GAAG,UAAU;AAAA,IAC/D,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS,MAAM,uCAAY;AAAA,IAC3B,QAAQ,KAAK,aAAa,UAAU,CAAC,iBAAiB,CAAC;AAAA,EAAA;AAGzD,QAAM,mBAAwE;AAAA,IAC5E,CAAC,YAAY,GAAG;AAAA,IAChB,CAAC,cAAc,GAAG;AAAA,IAClB,CAAC,iBAAiB,GAAG;AAAA,IACrB,CAAC,QAAQ,GAAG;AAAA,IACZ,CAAC,SAAS,GAAG;AAAA,IACb,CAAC,QAAQ,GAAG;AAAA,IACZ,CAAC,eAAe,GAAG;AAAA,IACnB,CAAC,aAAa,GAAG;AAAA,EACnB;AAEM,QAAA,cAAc,CAAC,WAAqD;AACxE,UAAM,EAAE,OAAO,MAAA,IAAU,YAAY,MAAM,KAAK,CAAC;AACjD,QAAI,CAAC,SAAS,CAAC,MAAc,QAAA;AACvB,UAAA,iBAAiB,cAAc,KAAK;AACpC,UAAA,cAAc,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAS,+BAAO,QAAQ,WAAW,IAAG;AAC1F,UAAM,SAAS,aAAa,KAAK,CAAC,WAAW,OAAO,OAAO,KAAK;AACzD,WAAA;AAAA,MACL;AAAA,MACA,UAAU;AAAA,MACV,WAAU,iDAAgB,cAAY,iDAAgB,OAAM;AAAA,MAC5D,YAAY,iDAAgB;AAAA,MAC5B;AAAA,MACA,SAAS,MAAM,WAAW,WAAW;AAAA,MACrC,QAAQ;AAAA,QACN,IAAI;AAAA,QACJ,QAAO,iCAAQ,UAAS;AAAA,MAAA;AAAA,IAE5B;AAAA,EACF;AAEM,QAAA,6BAA6B,CAAC,MAAoB;;AACtD,UAAM,SAAS,EAAE;AACX,UAAA,OAAO,OAAO,QAAQ,IAAI;AAE1B,UAAA,UAAS,kCAAM,sBAAN,mBAAyB;AAExC,QAAI,CAAC,OAAQ;AAEP,UAAA,WAAW,YAAY,MAAM;AAEnC,QAAI,CAAC,SAAU;AAEX,QAAA,uBAAuB,MAAM,KAAK,aAAa;AAEnD,QAAI,CAAC,qBAAqB,SAAS,MAAM,KAAK,CAAC,qBAAqB,QAAQ;AAC1E,6BAAuB,CAAC,MAAM;AAEnB,iBAAA,QAAQ,OAAO,KAAK;AAC/B,gBAAU,MAAM;AAAA,IAAA;AAGlB,UAAM,oBAAoB,qBAAqB;AAAA,MAC7C,CAAC,OAAO;;AAAA,iBAAAA,MAAA,YAAY,EAAE,MAAd,gBAAAA,IAAiB,WAAU;AAAA;AAAA,IACrC;AAEM,UAAA,oBAAoB,qBAAqB,QAAQ,CAACC,YAAW,YAAYA,OAAM,KAAK,EAAE;AAC5F,UAAM,mBAA6B,CAAC;AACpC,UAAM,sBAAgC,CAAC;AACvC,UAAM,uBAAiC,CAAC;AACxC,UAAM,sBAAgC,CAAC;AACvC,eAAW,EAAE,UAAU,SAAS,KAAK,mBAAmB;AAClD,UAAA,YAAY,CAAC,iBAAiB,SAAS,QAAQ,EAAG,kBAAiB,KAAK,QAAQ;AAChF,UAAA,YAAY,CAAC,oBAAoB,SAAS,QAAQ,EAAG,qBAAoB,KAAK,QAAQ;AAC1F,UAAI,aAAa,2BAA2B,CAAC,qBAAqB,SAAS,QAAQ;AACjF,6BAAqB,KAAK,QAAQ;AACpC,UAAI,SAAS,WAAW,WAAW,EAAG,qBAAoB,KAAK,QAAQ;AAAA,IAAA;AAGzE,UAAM,uBAAuB,iBAAiB;AAAA,MAAQ,CAAC,gBACrD;;AAAA,sBAAO,gBAAgB,aACnB;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACE,eAAe;AAAA;AAAA,YACf,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,kBAAkB;AAAA,YAClB,gBAAgB;AAAA;AAAA,UAClB;AAAA,UACA;AAAA,YACE;AAAA,UAAA;AAAA,QACF,KAEFD,MAAA,iBAAiB,iBAAjB,gBAAAA,IAAA;AAAA;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,YACE,eAAe;AAAA;AAAA,YACf,cAAc;AAAA,YACd,iBAAiB;AAAA,YACjB,kBAAkB;AAAA,YAClB,gBAAgB;AAAA;AAAA,UAClB;AAAA,UACA,EAAE,QAAQ;AAAA;AAAA;AAAA,IAElB;AAEA,wBAAoB,GAAG,oBAAoB;AAAA,EAC7C;AAEA,SAAO,EAAE,2BAA2B;AACtC;"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const reactTable = require("@tanstack/react-table");
5
+ const useColumnSorting = ({ updatePageConfig, columnSorting }) => {
6
+ const setColumnSorting = React.useCallback(
7
+ async (sorting) => {
8
+ await updatePageConfig({ columnSorting: sorting });
9
+ },
10
+ [updatePageConfig]
11
+ );
12
+ const updateSorting = React.useCallback(
13
+ (sortingUpdater) => {
14
+ setColumnSorting(reactTable.functionalUpdate(sortingUpdater, columnSorting));
15
+ },
16
+ [setColumnSorting, columnSorting]
17
+ );
18
+ return {
19
+ setColumnSorting,
20
+ updateSorting
21
+ };
22
+ };
23
+ exports.useColumnSorting = useColumnSorting;
24
+ //# sourceMappingURL=useColumnSorting.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumnSorting.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useColumnSorting.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { SortingState, functionalUpdate, OnChangeFn } from '@tanstack/react-table'\n\ninterface UseColumnSortingProps {\n updatePageConfig: (config: { columnSorting: SortingState }) => Promise<void>\n columnSorting: SortingState\n}\n\nexport const useColumnSorting = ({ updatePageConfig, columnSorting }: UseColumnSortingProps) => {\n const setColumnSorting = useCallback(\n async (sorting: SortingState) => {\n await updatePageConfig({ columnSorting: sorting })\n },\n [updatePageConfig],\n )\n\n const updateSorting: OnChangeFn<SortingState> = useCallback(\n (sortingUpdater) => {\n setColumnSorting(functionalUpdate(sortingUpdater, columnSorting))\n },\n [setColumnSorting, columnSorting],\n )\n\n return {\n setColumnSorting,\n updateSorting,\n }\n}\n"],"names":["useCallback","functionalUpdate"],"mappings":";;;;AAQO,MAAM,mBAAmB,CAAC,EAAE,kBAAkB,oBAA2C;AAC9F,QAAM,mBAAmBA,MAAA;AAAA,IACvB,OAAO,YAA0B;AAC/B,YAAM,iBAAiB,EAAE,eAAe,SAAS;AAAA,IACnD;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,gBAA0CA,MAAA;AAAA,IAC9C,CAAC,mBAAmB;AACD,uBAAAC,WAAA,iBAAiB,gBAAgB,aAAa,CAAC;AAAA,IAClE;AAAA,IACA,CAAC,kBAAkB,aAAa;AAAA,EAClC;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;;"}
@@ -0,0 +1,24 @@
1
+ import { useCallback } from "react";
2
+ import { functionalUpdate } from "@tanstack/react-table";
3
+ const useColumnSorting = ({ updatePageConfig, columnSorting }) => {
4
+ const setColumnSorting = useCallback(
5
+ async (sorting) => {
6
+ await updatePageConfig({ columnSorting: sorting });
7
+ },
8
+ [updatePageConfig]
9
+ );
10
+ const updateSorting = useCallback(
11
+ (sortingUpdater) => {
12
+ setColumnSorting(functionalUpdate(sortingUpdater, columnSorting));
13
+ },
14
+ [setColumnSorting, columnSorting]
15
+ );
16
+ return {
17
+ setColumnSorting,
18
+ updateSorting
19
+ };
20
+ };
21
+ export {
22
+ useColumnSorting
23
+ };
24
+ //# sourceMappingURL=useColumnSorting.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumnSorting.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useColumnSorting.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { SortingState, functionalUpdate, OnChangeFn } from '@tanstack/react-table'\n\ninterface UseColumnSortingProps {\n updatePageConfig: (config: { columnSorting: SortingState }) => Promise<void>\n columnSorting: SortingState\n}\n\nexport const useColumnSorting = ({ updatePageConfig, columnSorting }: UseColumnSortingProps) => {\n const setColumnSorting = useCallback(\n async (sorting: SortingState) => {\n await updatePageConfig({ columnSorting: sorting })\n },\n [updatePageConfig],\n )\n\n const updateSorting: OnChangeFn<SortingState> = useCallback(\n (sortingUpdater) => {\n setColumnSorting(functionalUpdate(sortingUpdater, columnSorting))\n },\n [setColumnSorting, columnSorting],\n )\n\n return {\n setColumnSorting,\n updateSorting,\n }\n}\n"],"names":[],"mappings":";;AAQO,MAAM,mBAAmB,CAAC,EAAE,kBAAkB,oBAA2C;AAC9F,QAAM,mBAAmB;AAAA,IACvB,OAAO,YAA0B;AAC/B,YAAM,iBAAiB,EAAE,eAAe,SAAS;AAAA,IACnD;AAAA,IACA,CAAC,gBAAgB;AAAA,EACnB;AAEA,QAAM,gBAA0C;AAAA,IAC9C,CAAC,mBAAmB;AACD,uBAAA,iBAAiB,gBAAgB,aAAa,CAAC;AAAA,IAClE;AAAA,IACA,CAAC,kBAAkB,aAAa;AAAA,EAClC;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  const React = require("react");
3
3
  const ProjectTableQueriesContext = require("../context/ProjectTableQueriesContext.cjs.js");
4
- const cellUtils = require("../utils/cellUtils.cjs.js");
5
4
  const confirmDelete = require("../../../util/confirmDelete.cjs.js");
6
5
  const reactToastify = require("react-toastify");
7
6
  require("../../../util/pubsub.cjs.js");
@@ -9,18 +8,25 @@ const ProjectTableContext = require("../context/ProjectTableContext.cjs.js");
9
8
  const useDeleteEntities = ({ onSuccess }) => {
10
9
  const { updateEntities } = ProjectTableQueriesContext.useProjectTableQueriesContext();
11
10
  const { getEntityById } = ProjectTableContext.useProjectTableContext();
11
+ const getValidEntity = (entityId) => {
12
+ const entity = getEntityById(entityId);
13
+ return entity || null;
14
+ };
12
15
  const handleDeleteEntities = React.useCallback(
13
16
  async (entityIds) => {
14
17
  if (!entityIds || entityIds.length === 0) {
15
18
  reactToastify.toast.error("No entities selected");
16
19
  return;
17
20
  }
18
- const fullEntities = entityIds.map((id) => {
19
- var _a;
20
- const rowId = (_a = cellUtils.parseCellId(id)) == null ? void 0 : _a.rowId;
21
- const entity = getEntityById(rowId || "");
22
- return entity;
23
- }).filter(Boolean);
21
+ const fullEntities = [];
22
+ const addedEntityIds = /* @__PURE__ */ new Set();
23
+ for (const id of entityIds) {
24
+ const entity = getValidEntity(id);
25
+ if (entity && !addedEntityIds.has(entity.id)) {
26
+ fullEntities.push(entity);
27
+ addedEntityIds.add(entity.id);
28
+ }
29
+ }
24
30
  if (fullEntities.length === 0) {
25
31
  reactToastify.toast.error("No entities found");
26
32
  return;
@@ -48,9 +54,10 @@ const useDeleteEntities = ({ onSuccess }) => {
48
54
  throw { message, ...error };
49
55
  }
50
56
  };
57
+ const entityLabel = fullEntities.length === 1 ? `"${fullEntities[0].label || fullEntities[0].name}"` : `${fullEntities.length} entities`;
51
58
  confirmDelete.confirmDelete({
52
59
  label: "folders and tasks",
53
- message: `Are you sure you want to delete ${entityIds.length} entities? This action cannot be undone.`,
60
+ message: `Are you sure you want to delete ${entityLabel}? This action cannot be undone.`,
54
61
  accept: deleteEntities,
55
62
  onError: (error) => {
56
63
  var _a;
@@ -58,7 +65,7 @@ const useDeleteEntities = ({ onSuccess }) => {
58
65
  if ((_a = error == null ? void 0 : error.errorCodes) == null ? void 0 : _a.includes(FOLDER_WITH_CHILDREN_CODE)) {
59
66
  confirmDelete.confirmDelete({
60
67
  label: "folders and tasks",
61
- message: `This folder has child tasks or products that will also be deleted. Are you sure you want to delete ${entityIds.length} entities and all of it's dependencies?`,
68
+ message: `This folder has child tasks or products that will also be deleted. Are you sure you want to delete ${entityLabel} and all of it's dependencies?`,
62
69
  accept: () => deleteEntities(true),
63
70
  deleteLabel: "Delete all (dangerous)"
64
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useDeleteEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useDeleteEntities.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { parseCellId } from '../utils/cellUtils'\n// TODO: confirmDelete uses prime react, so we should find a different solution\nimport { confirmDelete } from '../../../util'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { toast } from 'react-toastify'\nimport { EntityMap } from '../types'\nimport { OperationWithRowId } from './useUpdateTableData'\n\ntype UseDeleteEntitiesProps = {\n onSuccess?: () => void\n}\n\nconst useDeleteEntities = ({ onSuccess }: UseDeleteEntitiesProps) => {\n const { updateEntities } = useProjectTableQueriesContext()\n\n const { getEntityById } = useProjectTableContext()\n\n const handleDeleteEntities = useCallback(\n async (entityIds: string[]) => {\n if (!entityIds || entityIds.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n const fullEntities: (EntityMap & { rowId: string })[] = entityIds\n .map((id) => {\n const rowId = parseCellId(id)?.rowId\n const entity = getEntityById(rowId || '') as EntityMap & { rowId: string }\n return entity\n })\n .filter(Boolean)\n\n if (fullEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n const deleteEntities = async (force = false) => {\n const operations: OperationWithRowId[] = []\n for (const e of fullEntities) {\n if (!e) continue\n operations.push({\n entityType: 'folderId' in e ? 'task' : 'folder',\n type: 'delete',\n entityId: e.id,\n rowId: e.rowId,\n force,\n })\n }\n try {\n await updateEntities?.({ operations })\n if (onSuccess) {\n onSuccess()\n }\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error(`Failed to delete entities:`, error)\n throw { message, ...error }\n }\n }\n\n confirmDelete({\n label: 'folders and tasks',\n message: `Are you sure you want to delete ${entityIds.length} entities? This action cannot be undone.`,\n accept: deleteEntities,\n onError: (error: any) => {\n const FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n // check if the error is because of child tasks, products\n if (error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) {\n // try again but with force\n confirmDelete({\n label: 'folders and tasks',\n message: `This folder has child tasks or products that will also be deleted. Are you sure you want to delete ${entityIds.length} entities and all of it's dependencies?`,\n accept: () => deleteEntities(true),\n deleteLabel: 'Delete all (dangerous)',\n })\n }\n },\n deleteLabel: 'Delete forever',\n })\n },\n [getEntityById, updateEntities, onSuccess],\n )\n\n return handleDeleteEntities\n}\n\nexport default useDeleteEntities\n"],"names":["useProjectTableQueriesContext","useProjectTableContext","useCallback","toast","parseCellId","confirmDelete"],"mappings":";;;;;;;;AAcA,MAAM,oBAAoB,CAAC,EAAE,gBAAwC;AAC7D,QAAA,EAAE,eAAe,IAAIA,yDAA8B;AAEnD,QAAA,EAAE,cAAc,IAAIC,2CAAuB;AAEjD,QAAM,uBAAuBC,MAAA;AAAA,IAC3B,OAAO,cAAwB;AAC7B,UAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxCC,sBAAA,MAAM,MAAM,sBAAsB;AAClC;AAAA,MAAA;AAGF,YAAM,eAAkD,UACrD,IAAI,CAAC,OAAO;;AACL,cAAA,SAAQC,eAAAA,YAAY,EAAE,MAAdA,mBAAiB;AACzB,cAAA,SAAS,cAAc,SAAS,EAAE;AACjC,eAAA;AAAA,MAAA,CACR,EACA,OAAO,OAAO;AAEb,UAAA,aAAa,WAAW,GAAG;AAC7BD,sBAAA,MAAM,MAAM,mBAAmB;AAC/B;AAAA,MAAA;AAGI,YAAA,iBAAiB,OAAO,QAAQ,UAAU;AAC9C,cAAM,aAAmC,CAAC;AAC1C,mBAAW,KAAK,cAAc;AAC5B,cAAI,CAAC,EAAG;AACR,qBAAW,KAAK;AAAA,YACd,YAAY,cAAc,IAAI,SAAS;AAAA,YACvC,MAAM;AAAA,YACN,UAAU,EAAE;AAAA,YACZ,OAAO,EAAE;AAAA,YACT;AAAA,UAAA,CACD;AAAA,QAAA;AAEC,YAAA;AACI,iBAAA,iDAAiB,EAAE;AACzB,cAAI,WAAW;AACH,sBAAA;AAAA,UAAA;AAAA,iBAEL,OAAY;AACb,gBAAA,WAAU,+BAAO,UAAS;AACxB,kBAAA,MAAM,8BAA8B,KAAK;AAC3C,gBAAA,EAAE,SAAS,GAAG,MAAM;AAAA,QAAA;AAAA,MAE9B;AAEcE,kCAAA;AAAA,QACZ,OAAO;AAAA,QACP,SAAS,mCAAmC,UAAU,MAAM;AAAA,QAC5D,QAAQ;AAAA,QACR,SAAS,CAAC,UAAe;;AACvB,gBAAM,4BAA4B;AAElC,eAAI,oCAAO,eAAP,mBAAmB,SAAS,4BAA4B;AAE5CA,wCAAA;AAAA,cACZ,OAAO;AAAA,cACP,SAAS,sGAAsG,UAAU,MAAM;AAAA,cAC/H,QAAQ,MAAM,eAAe,IAAI;AAAA,cACjC,aAAa;AAAA,YAAA,CACd;AAAA,UAAA;AAAA,QAEL;AAAA,QACA,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAAC,eAAe,gBAAgB,SAAS;AAAA,EAC3C;AAEO,SAAA;AACT;;"}
1
+ {"version":3,"file":"useDeleteEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useDeleteEntities.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\n// TODO: confirmDelete uses prime react, so we should find a different solution\nimport { confirmDelete } from '../../../util'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { toast } from 'react-toastify'\nimport { EntityMap } from '../types'\nimport { OperationWithRowId } from './useUpdateTableData'\n\ntype UseDeleteEntitiesProps = {\n onSuccess?: () => void\n}\n\nconst useDeleteEntities = ({ onSuccess }: UseDeleteEntitiesProps) => {\n const { updateEntities } = useProjectTableQueriesContext()\n\n const { getEntityById } = useProjectTableContext()\n\n const getValidEntity = (entityId: string): (EntityMap & { rowId: string }) | null => {\n const entity = getEntityById(entityId) as EntityMap & { rowId: string }\n return entity || null\n }\n\n const handleDeleteEntities = useCallback(\n async (entityIds: string[]) => {\n if (!entityIds || entityIds.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n const fullEntities: (EntityMap & { rowId: string })[] = []\n const addedEntityIds = new Set<string>()\n\n for (const id of entityIds) {\n const entity = getValidEntity(id)\n if (entity && !addedEntityIds.has(entity.id)) {\n fullEntities.push(entity)\n addedEntityIds.add(entity.id)\n }\n }\n\n if (fullEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n const deleteEntities = async (force = false) => {\n const operations: OperationWithRowId[] = []\n for (const e of fullEntities) {\n if (!e) continue\n operations.push({\n entityType: 'folderId' in e ? 'task' : 'folder',\n type: 'delete',\n entityId: e.id,\n rowId: e.rowId,\n force,\n })\n }\n try {\n await updateEntities?.({ operations })\n if (onSuccess) {\n onSuccess()\n }\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error(`Failed to delete entities:`, error)\n throw { message, ...error }\n }\n }\n\n const entityLabel =\n fullEntities.length === 1\n ? `\"${fullEntities[0].label || fullEntities[0].name}\"`\n : `${fullEntities.length} entities`\n\n confirmDelete({\n label: 'folders and tasks',\n message: `Are you sure you want to delete ${entityLabel}? This action cannot be undone.`,\n accept: deleteEntities,\n onError: (error: any) => {\n const FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n // check if the error is because of child tasks, products\n if (error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) {\n // try again but with force\n confirmDelete({\n label: 'folders and tasks',\n message: `This folder has child tasks or products that will also be deleted. Are you sure you want to delete ${entityLabel} and all of it's dependencies?`,\n accept: () => deleteEntities(true),\n deleteLabel: 'Delete all (dangerous)',\n })\n }\n },\n deleteLabel: 'Delete forever',\n })\n },\n [getEntityById, updateEntities, onSuccess],\n )\n\n return handleDeleteEntities\n}\n\nexport default useDeleteEntities\n"],"names":["useProjectTableQueriesContext","useProjectTableContext","useCallback","toast","confirmDelete"],"mappings":";;;;;;;AAaA,MAAM,oBAAoB,CAAC,EAAE,gBAAwC;AAC7D,QAAA,EAAE,eAAe,IAAIA,yDAA8B;AAEnD,QAAA,EAAE,cAAc,IAAIC,2CAAuB;AAE3C,QAAA,iBAAiB,CAAC,aAA6D;AAC7E,UAAA,SAAS,cAAc,QAAQ;AACrC,WAAO,UAAU;AAAA,EACnB;AAEA,QAAM,uBAAuBC,MAAA;AAAA,IAC3B,OAAO,cAAwB;AAC7B,UAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxCC,sBAAA,MAAM,MAAM,sBAAsB;AAClC;AAAA,MAAA;AAGF,YAAM,eAAkD,CAAC;AACnD,YAAA,qCAAqB,IAAY;AAEvC,iBAAW,MAAM,WAAW;AACpB,cAAA,SAAS,eAAe,EAAE;AAChC,YAAI,UAAU,CAAC,eAAe,IAAI,OAAO,EAAE,GAAG;AAC5C,uBAAa,KAAK,MAAM;AACT,yBAAA,IAAI,OAAO,EAAE;AAAA,QAAA;AAAA,MAC9B;AAGE,UAAA,aAAa,WAAW,GAAG;AAC7BA,sBAAA,MAAM,MAAM,mBAAmB;AAC/B;AAAA,MAAA;AAGI,YAAA,iBAAiB,OAAO,QAAQ,UAAU;AAC9C,cAAM,aAAmC,CAAC;AAC1C,mBAAW,KAAK,cAAc;AAC5B,cAAI,CAAC,EAAG;AACR,qBAAW,KAAK;AAAA,YACd,YAAY,cAAc,IAAI,SAAS;AAAA,YACvC,MAAM;AAAA,YACN,UAAU,EAAE;AAAA,YACZ,OAAO,EAAE;AAAA,YACT;AAAA,UAAA,CACD;AAAA,QAAA;AAEC,YAAA;AACI,iBAAA,iDAAiB,EAAE;AACzB,cAAI,WAAW;AACH,sBAAA;AAAA,UAAA;AAAA,iBAEL,OAAY;AACb,gBAAA,WAAU,+BAAO,UAAS;AACxB,kBAAA,MAAM,8BAA8B,KAAK;AAC3C,gBAAA,EAAE,SAAS,GAAG,MAAM;AAAA,QAAA;AAAA,MAE9B;AAEA,YAAM,cACJ,aAAa,WAAW,IACpB,IAAI,aAAa,CAAC,EAAE,SAAS,aAAa,CAAC,EAAE,IAAI,MACjD,GAAG,aAAa,MAAM;AAEdC,kCAAA;AAAA,QACZ,OAAO;AAAA,QACP,SAAS,mCAAmC,WAAW;AAAA,QACvD,QAAQ;AAAA,QACR,SAAS,CAAC,UAAe;;AACvB,gBAAM,4BAA4B;AAElC,eAAI,oCAAO,eAAP,mBAAmB,SAAS,4BAA4B;AAE5CA,wCAAA;AAAA,cACZ,OAAO;AAAA,cACP,SAAS,sGAAsG,WAAW;AAAA,cAC1H,QAAQ,MAAM,eAAe,IAAI;AAAA,cACjC,aAAa;AAAA,YAAA,CACd;AAAA,UAAA;AAAA,QAEL;AAAA,QACA,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAAC,eAAe,gBAAgB,SAAS;AAAA,EAC3C;AAEO,SAAA;AACT;;"}
@@ -1,6 +1,5 @@
1
1
  import { useCallback } from "react";
2
2
  import { useProjectTableQueriesContext } from "../context/ProjectTableQueriesContext.es.js";
3
- import { parseCellId } from "../utils/cellUtils.es.js";
4
3
  import { confirmDelete } from "../../../util/confirmDelete.es.js";
5
4
  import { toast } from "react-toastify";
6
5
  import "../../../util/pubsub.es.js";
@@ -8,18 +7,25 @@ import { useProjectTableContext } from "../context/ProjectTableContext.es.js";
8
7
  const useDeleteEntities = ({ onSuccess }) => {
9
8
  const { updateEntities } = useProjectTableQueriesContext();
10
9
  const { getEntityById } = useProjectTableContext();
10
+ const getValidEntity = (entityId) => {
11
+ const entity = getEntityById(entityId);
12
+ return entity || null;
13
+ };
11
14
  const handleDeleteEntities = useCallback(
12
15
  async (entityIds) => {
13
16
  if (!entityIds || entityIds.length === 0) {
14
17
  toast.error("No entities selected");
15
18
  return;
16
19
  }
17
- const fullEntities = entityIds.map((id) => {
18
- var _a;
19
- const rowId = (_a = parseCellId(id)) == null ? void 0 : _a.rowId;
20
- const entity = getEntityById(rowId || "");
21
- return entity;
22
- }).filter(Boolean);
20
+ const fullEntities = [];
21
+ const addedEntityIds = /* @__PURE__ */ new Set();
22
+ for (const id of entityIds) {
23
+ const entity = getValidEntity(id);
24
+ if (entity && !addedEntityIds.has(entity.id)) {
25
+ fullEntities.push(entity);
26
+ addedEntityIds.add(entity.id);
27
+ }
28
+ }
23
29
  if (fullEntities.length === 0) {
24
30
  toast.error("No entities found");
25
31
  return;
@@ -47,9 +53,10 @@ const useDeleteEntities = ({ onSuccess }) => {
47
53
  throw { message, ...error };
48
54
  }
49
55
  };
56
+ const entityLabel = fullEntities.length === 1 ? `"${fullEntities[0].label || fullEntities[0].name}"` : `${fullEntities.length} entities`;
50
57
  confirmDelete({
51
58
  label: "folders and tasks",
52
- message: `Are you sure you want to delete ${entityIds.length} entities? This action cannot be undone.`,
59
+ message: `Are you sure you want to delete ${entityLabel}? This action cannot be undone.`,
53
60
  accept: deleteEntities,
54
61
  onError: (error) => {
55
62
  var _a;
@@ -57,7 +64,7 @@ const useDeleteEntities = ({ onSuccess }) => {
57
64
  if ((_a = error == null ? void 0 : error.errorCodes) == null ? void 0 : _a.includes(FOLDER_WITH_CHILDREN_CODE)) {
58
65
  confirmDelete({
59
66
  label: "folders and tasks",
60
- message: `This folder has child tasks or products that will also be deleted. Are you sure you want to delete ${entityIds.length} entities and all of it's dependencies?`,
67
+ message: `This folder has child tasks or products that will also be deleted. Are you sure you want to delete ${entityLabel} and all of it's dependencies?`,
61
68
  accept: () => deleteEntities(true),
62
69
  deleteLabel: "Delete all (dangerous)"
63
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useDeleteEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useDeleteEntities.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { parseCellId } from '../utils/cellUtils'\n// TODO: confirmDelete uses prime react, so we should find a different solution\nimport { confirmDelete } from '../../../util'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { toast } from 'react-toastify'\nimport { EntityMap } from '../types'\nimport { OperationWithRowId } from './useUpdateTableData'\n\ntype UseDeleteEntitiesProps = {\n onSuccess?: () => void\n}\n\nconst useDeleteEntities = ({ onSuccess }: UseDeleteEntitiesProps) => {\n const { updateEntities } = useProjectTableQueriesContext()\n\n const { getEntityById } = useProjectTableContext()\n\n const handleDeleteEntities = useCallback(\n async (entityIds: string[]) => {\n if (!entityIds || entityIds.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n const fullEntities: (EntityMap & { rowId: string })[] = entityIds\n .map((id) => {\n const rowId = parseCellId(id)?.rowId\n const entity = getEntityById(rowId || '') as EntityMap & { rowId: string }\n return entity\n })\n .filter(Boolean)\n\n if (fullEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n const deleteEntities = async (force = false) => {\n const operations: OperationWithRowId[] = []\n for (const e of fullEntities) {\n if (!e) continue\n operations.push({\n entityType: 'folderId' in e ? 'task' : 'folder',\n type: 'delete',\n entityId: e.id,\n rowId: e.rowId,\n force,\n })\n }\n try {\n await updateEntities?.({ operations })\n if (onSuccess) {\n onSuccess()\n }\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error(`Failed to delete entities:`, error)\n throw { message, ...error }\n }\n }\n\n confirmDelete({\n label: 'folders and tasks',\n message: `Are you sure you want to delete ${entityIds.length} entities? This action cannot be undone.`,\n accept: deleteEntities,\n onError: (error: any) => {\n const FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n // check if the error is because of child tasks, products\n if (error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) {\n // try again but with force\n confirmDelete({\n label: 'folders and tasks',\n message: `This folder has child tasks or products that will also be deleted. Are you sure you want to delete ${entityIds.length} entities and all of it's dependencies?`,\n accept: () => deleteEntities(true),\n deleteLabel: 'Delete all (dangerous)',\n })\n }\n },\n deleteLabel: 'Delete forever',\n })\n },\n [getEntityById, updateEntities, onSuccess],\n )\n\n return handleDeleteEntities\n}\n\nexport default useDeleteEntities\n"],"names":[],"mappings":";;;;;;;AAcA,MAAM,oBAAoB,CAAC,EAAE,gBAAwC;AAC7D,QAAA,EAAE,eAAe,IAAI,8BAA8B;AAEnD,QAAA,EAAE,cAAc,IAAI,uBAAuB;AAEjD,QAAM,uBAAuB;AAAA,IAC3B,OAAO,cAAwB;AAC7B,UAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxC,cAAM,MAAM,sBAAsB;AAClC;AAAA,MAAA;AAGF,YAAM,eAAkD,UACrD,IAAI,CAAC,OAAO;;AACL,cAAA,SAAQ,iBAAY,EAAE,MAAd,mBAAiB;AACzB,cAAA,SAAS,cAAc,SAAS,EAAE;AACjC,eAAA;AAAA,MAAA,CACR,EACA,OAAO,OAAO;AAEb,UAAA,aAAa,WAAW,GAAG;AAC7B,cAAM,MAAM,mBAAmB;AAC/B;AAAA,MAAA;AAGI,YAAA,iBAAiB,OAAO,QAAQ,UAAU;AAC9C,cAAM,aAAmC,CAAC;AAC1C,mBAAW,KAAK,cAAc;AAC5B,cAAI,CAAC,EAAG;AACR,qBAAW,KAAK;AAAA,YACd,YAAY,cAAc,IAAI,SAAS;AAAA,YACvC,MAAM;AAAA,YACN,UAAU,EAAE;AAAA,YACZ,OAAO,EAAE;AAAA,YACT;AAAA,UAAA,CACD;AAAA,QAAA;AAEC,YAAA;AACI,iBAAA,iDAAiB,EAAE;AACzB,cAAI,WAAW;AACH,sBAAA;AAAA,UAAA;AAAA,iBAEL,OAAY;AACb,gBAAA,WAAU,+BAAO,UAAS;AACxB,kBAAA,MAAM,8BAA8B,KAAK;AAC3C,gBAAA,EAAE,SAAS,GAAG,MAAM;AAAA,QAAA;AAAA,MAE9B;AAEc,oBAAA;AAAA,QACZ,OAAO;AAAA,QACP,SAAS,mCAAmC,UAAU,MAAM;AAAA,QAC5D,QAAQ;AAAA,QACR,SAAS,CAAC,UAAe;;AACvB,gBAAM,4BAA4B;AAElC,eAAI,oCAAO,eAAP,mBAAmB,SAAS,4BAA4B;AAE5C,0BAAA;AAAA,cACZ,OAAO;AAAA,cACP,SAAS,sGAAsG,UAAU,MAAM;AAAA,cAC/H,QAAQ,MAAM,eAAe,IAAI;AAAA,cACjC,aAAa;AAAA,YAAA,CACd;AAAA,UAAA;AAAA,QAEL;AAAA,QACA,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAAC,eAAe,gBAAgB,SAAS;AAAA,EAC3C;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"useDeleteEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useDeleteEntities.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\n// TODO: confirmDelete uses prime react, so we should find a different solution\nimport { confirmDelete } from '../../../util'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { toast } from 'react-toastify'\nimport { EntityMap } from '../types'\nimport { OperationWithRowId } from './useUpdateTableData'\n\ntype UseDeleteEntitiesProps = {\n onSuccess?: () => void\n}\n\nconst useDeleteEntities = ({ onSuccess }: UseDeleteEntitiesProps) => {\n const { updateEntities } = useProjectTableQueriesContext()\n\n const { getEntityById } = useProjectTableContext()\n\n const getValidEntity = (entityId: string): (EntityMap & { rowId: string }) | null => {\n const entity = getEntityById(entityId) as EntityMap & { rowId: string }\n return entity || null\n }\n\n const handleDeleteEntities = useCallback(\n async (entityIds: string[]) => {\n if (!entityIds || entityIds.length === 0) {\n toast.error('No entities selected')\n return\n }\n\n const fullEntities: (EntityMap & { rowId: string })[] = []\n const addedEntityIds = new Set<string>()\n\n for (const id of entityIds) {\n const entity = getValidEntity(id)\n if (entity && !addedEntityIds.has(entity.id)) {\n fullEntities.push(entity)\n addedEntityIds.add(entity.id)\n }\n }\n\n if (fullEntities.length === 0) {\n toast.error('No entities found')\n return\n }\n\n const deleteEntities = async (force = false) => {\n const operations: OperationWithRowId[] = []\n for (const e of fullEntities) {\n if (!e) continue\n operations.push({\n entityType: 'folderId' in e ? 'task' : 'folder',\n type: 'delete',\n entityId: e.id,\n rowId: e.rowId,\n force,\n })\n }\n try {\n await updateEntities?.({ operations })\n if (onSuccess) {\n onSuccess()\n }\n } catch (error: any) {\n const message = error?.error || 'Failed to delete entities'\n console.error(`Failed to delete entities:`, error)\n throw { message, ...error }\n }\n }\n\n const entityLabel =\n fullEntities.length === 1\n ? `\"${fullEntities[0].label || fullEntities[0].name}\"`\n : `${fullEntities.length} entities`\n\n confirmDelete({\n label: 'folders and tasks',\n message: `Are you sure you want to delete ${entityLabel}? This action cannot be undone.`,\n accept: deleteEntities,\n onError: (error: any) => {\n const FOLDER_WITH_CHILDREN_CODE = 'delete-folder-with-children'\n // check if the error is because of child tasks, products\n if (error?.errorCodes?.includes(FOLDER_WITH_CHILDREN_CODE)) {\n // try again but with force\n confirmDelete({\n label: 'folders and tasks',\n message: `This folder has child tasks or products that will also be deleted. Are you sure you want to delete ${entityLabel} and all of it's dependencies?`,\n accept: () => deleteEntities(true),\n deleteLabel: 'Delete all (dangerous)',\n })\n }\n },\n deleteLabel: 'Delete forever',\n })\n },\n [getEntityById, updateEntities, onSuccess],\n )\n\n return handleDeleteEntities\n}\n\nexport default useDeleteEntities\n"],"names":[],"mappings":";;;;;;AAaA,MAAM,oBAAoB,CAAC,EAAE,gBAAwC;AAC7D,QAAA,EAAE,eAAe,IAAI,8BAA8B;AAEnD,QAAA,EAAE,cAAc,IAAI,uBAAuB;AAE3C,QAAA,iBAAiB,CAAC,aAA6D;AAC7E,UAAA,SAAS,cAAc,QAAQ;AACrC,WAAO,UAAU;AAAA,EACnB;AAEA,QAAM,uBAAuB;AAAA,IAC3B,OAAO,cAAwB;AAC7B,UAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxC,cAAM,MAAM,sBAAsB;AAClC;AAAA,MAAA;AAGF,YAAM,eAAkD,CAAC;AACnD,YAAA,qCAAqB,IAAY;AAEvC,iBAAW,MAAM,WAAW;AACpB,cAAA,SAAS,eAAe,EAAE;AAChC,YAAI,UAAU,CAAC,eAAe,IAAI,OAAO,EAAE,GAAG;AAC5C,uBAAa,KAAK,MAAM;AACT,yBAAA,IAAI,OAAO,EAAE;AAAA,QAAA;AAAA,MAC9B;AAGE,UAAA,aAAa,WAAW,GAAG;AAC7B,cAAM,MAAM,mBAAmB;AAC/B;AAAA,MAAA;AAGI,YAAA,iBAAiB,OAAO,QAAQ,UAAU;AAC9C,cAAM,aAAmC,CAAC;AAC1C,mBAAW,KAAK,cAAc;AAC5B,cAAI,CAAC,EAAG;AACR,qBAAW,KAAK;AAAA,YACd,YAAY,cAAc,IAAI,SAAS;AAAA,YACvC,MAAM;AAAA,YACN,UAAU,EAAE;AAAA,YACZ,OAAO,EAAE;AAAA,YACT;AAAA,UAAA,CACD;AAAA,QAAA;AAEC,YAAA;AACI,iBAAA,iDAAiB,EAAE;AACzB,cAAI,WAAW;AACH,sBAAA;AAAA,UAAA;AAAA,iBAEL,OAAY;AACb,gBAAA,WAAU,+BAAO,UAAS;AACxB,kBAAA,MAAM,8BAA8B,KAAK;AAC3C,gBAAA,EAAE,SAAS,GAAG,MAAM;AAAA,QAAA;AAAA,MAE9B;AAEA,YAAM,cACJ,aAAa,WAAW,IACpB,IAAI,aAAa,CAAC,EAAE,SAAS,aAAa,CAAC,EAAE,IAAI,MACjD,GAAG,aAAa,MAAM;AAEd,oBAAA;AAAA,QACZ,OAAO;AAAA,QACP,SAAS,mCAAmC,WAAW;AAAA,QACvD,QAAQ;AAAA,QACR,SAAS,CAAC,UAAe;;AACvB,gBAAM,4BAA4B;AAElC,eAAI,oCAAO,eAAP,mBAAmB,SAAS,4BAA4B;AAE5C,0BAAA;AAAA,cACZ,OAAO;AAAA,cACP,SAAS,sGAAsG,WAAW;AAAA,cAC1H,QAAQ,MAAM,eAAe,IAAI;AAAA,cACjC,aAAa;AAAA,YAAA,CACd;AAAA,UAAA;AAAA,QAEL;AAAA,QACA,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAAA,IACA,CAAC,eAAe,gBAAgB,SAAS;AAAA,EAC3C;AAEO,SAAA;AACT;"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const useEntitiesMap = ({ foldersMap, tasksMap }) => {
5
+ return React.useMemo(() => {
6
+ const combined = /* @__PURE__ */ new Map();
7
+ foldersMap.forEach((folder) => {
8
+ combined.set(folder.id, folder);
9
+ });
10
+ tasksMap.forEach((task) => {
11
+ combined.set(task.id, task);
12
+ });
13
+ return combined;
14
+ }, [foldersMap, tasksMap]);
15
+ };
16
+ exports.useEntitiesMap = useEntitiesMap;
17
+ //# sourceMappingURL=useEntitiesMap.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEntitiesMap.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useEntitiesMap.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport type { FolderNodeMap, TaskNodeMap } from '@shared/containers/ProjectTreeTable'\n\ninterface UseEntitiesMapProps {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n}\n\nexport const useEntitiesMap = ({ foldersMap, tasksMap }: UseEntitiesMapProps) => {\n return useMemo(() => {\n const combined: FolderNodeMap & TaskNodeMap = new Map()\n\n foldersMap.forEach((folder) => {\n combined.set(folder.id, folder)\n })\n\n tasksMap.forEach((task) => {\n combined.set(task.id, task)\n })\n\n return combined\n }, [foldersMap, tasksMap])\n}\n"],"names":["useMemo"],"mappings":";;;AAQO,MAAM,iBAAiB,CAAC,EAAE,YAAY,eAAoC;AAC/E,SAAOA,cAAQ,MAAM;AACb,UAAA,+BAA4C,IAAI;AAE3C,eAAA,QAAQ,CAAC,WAAW;AACpB,eAAA,IAAI,OAAO,IAAI,MAAM;AAAA,IAAA,CAC/B;AAEQ,aAAA,QAAQ,CAAC,SAAS;AAChB,eAAA,IAAI,KAAK,IAAI,IAAI;AAAA,IAAA,CAC3B;AAEM,WAAA;AAAA,EAAA,GACN,CAAC,YAAY,QAAQ,CAAC;AAC3B;;"}
@@ -0,0 +1,17 @@
1
+ import { useMemo } from "react";
2
+ const useEntitiesMap = ({ foldersMap, tasksMap }) => {
3
+ return useMemo(() => {
4
+ const combined = /* @__PURE__ */ new Map();
5
+ foldersMap.forEach((folder) => {
6
+ combined.set(folder.id, folder);
7
+ });
8
+ tasksMap.forEach((task) => {
9
+ combined.set(task.id, task);
10
+ });
11
+ return combined;
12
+ }, [foldersMap, tasksMap]);
13
+ };
14
+ export {
15
+ useEntitiesMap
16
+ };
17
+ //# sourceMappingURL=useEntitiesMap.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEntitiesMap.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useEntitiesMap.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport type { FolderNodeMap, TaskNodeMap } from '@shared/containers/ProjectTreeTable'\n\ninterface UseEntitiesMapProps {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n}\n\nexport const useEntitiesMap = ({ foldersMap, tasksMap }: UseEntitiesMapProps) => {\n return useMemo(() => {\n const combined: FolderNodeMap & TaskNodeMap = new Map()\n\n foldersMap.forEach((folder) => {\n combined.set(folder.id, folder)\n })\n\n tasksMap.forEach((task) => {\n combined.set(task.id, task)\n })\n\n return combined\n }, [foldersMap, tasksMap])\n}\n"],"names":[],"mappings":";AAQO,MAAM,iBAAiB,CAAC,EAAE,YAAY,eAAoC;AAC/E,SAAO,QAAQ,MAAM;AACb,UAAA,+BAA4C,IAAI;AAE3C,eAAA,QAAQ,CAAC,WAAW;AACpB,eAAA,IAAI,OAAO,IAAI,MAAM;AAAA,IAAA,CAC/B;AAEQ,aAAA,QAAQ,CAAC,SAAS;AAChB,eAAA,IAAI,KAAK,IAAI,IAAI;AAAA,IAAA,CAC3B;AAEM,WAAA;AAAA,EAAA,GACN,CAAC,YAAY,QAAQ,CAAC;AAC3B;"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const reactTable = require("@tanstack/react-table");
5
+ const useExpandedState = ({ expanded, setExpanded }) => {
6
+ const updateExpanded = React.useCallback(
7
+ (expandedUpdater) => {
8
+ setExpanded(reactTable.functionalUpdate(expandedUpdater, expanded));
9
+ },
10
+ [expanded, setExpanded]
11
+ );
12
+ const expandedIds = Object.entries(expanded).filter(([, isExpanded]) => isExpanded).map(([id]) => id);
13
+ const toggleExpanded = React.useCallback(
14
+ (id) => {
15
+ if (typeof expanded === "boolean") return;
16
+ setExpanded({
17
+ ...expanded,
18
+ [id]: !expanded[id]
19
+ });
20
+ },
21
+ [expanded, setExpanded]
22
+ );
23
+ return {
24
+ updateExpanded,
25
+ toggleExpanded,
26
+ expandedIds
27
+ };
28
+ };
29
+ exports.useExpandedState = useExpandedState;
30
+ //# sourceMappingURL=useExpandedState.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandedState.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useExpandedState.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { ExpandedState, functionalUpdate, OnChangeFn } from '@tanstack/react-table'\n\ninterface UseExpandedStateProps {\n expanded: ExpandedState\n setExpanded: (expanded: ExpandedState) => void\n}\n\nexport const useExpandedState = ({ expanded, setExpanded }: UseExpandedStateProps) => {\n const updateExpanded: OnChangeFn<ExpandedState> = useCallback(\n (expandedUpdater) => {\n setExpanded(functionalUpdate(expandedUpdater, expanded))\n },\n [expanded, setExpanded],\n )\n\n // Get all expanded IDs\n // This is useful for checking which rows are expanded\n const expandedIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .map(([id]) => id)\n\n const toggleExpanded = useCallback(\n (id: string) => {\n if (typeof expanded === 'boolean') return\n setExpanded({\n ...expanded,\n [id]: !expanded[id],\n })\n },\n [expanded, setExpanded],\n )\n\n return {\n updateExpanded,\n toggleExpanded,\n expandedIds,\n }\n}\n"],"names":["useCallback","functionalUpdate"],"mappings":";;;;AAQO,MAAM,mBAAmB,CAAC,EAAE,UAAU,kBAAyC;AACpF,QAAM,iBAA4CA,MAAA;AAAA,IAChD,CAAC,oBAAoB;AACP,kBAAAC,WAAA,iBAAiB,iBAAiB,QAAQ,CAAC;AAAA,IACzD;AAAA,IACA,CAAC,UAAU,WAAW;AAAA,EACxB;AAIA,QAAM,cAAc,OAAO,QAAQ,QAAQ,EACxC,OAAO,CAAC,CAAA,EAAG,UAAU,MAAM,UAAU,EACrC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE;AAEnB,QAAM,iBAAiBD,MAAA;AAAA,IACrB,CAAC,OAAe;AACV,UAAA,OAAO,aAAa,UAAW;AACvB,kBAAA;AAAA,QACV,GAAG;AAAA,QACH,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE;AAAA,MAAA,CACnB;AAAA,IACH;AAAA,IACA,CAAC,UAAU,WAAW;AAAA,EACxB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;"}
@@ -0,0 +1,30 @@
1
+ import { useCallback } from "react";
2
+ import { functionalUpdate } from "@tanstack/react-table";
3
+ const useExpandedState = ({ expanded, setExpanded }) => {
4
+ const updateExpanded = useCallback(
5
+ (expandedUpdater) => {
6
+ setExpanded(functionalUpdate(expandedUpdater, expanded));
7
+ },
8
+ [expanded, setExpanded]
9
+ );
10
+ const expandedIds = Object.entries(expanded).filter(([, isExpanded]) => isExpanded).map(([id]) => id);
11
+ const toggleExpanded = useCallback(
12
+ (id) => {
13
+ if (typeof expanded === "boolean") return;
14
+ setExpanded({
15
+ ...expanded,
16
+ [id]: !expanded[id]
17
+ });
18
+ },
19
+ [expanded, setExpanded]
20
+ );
21
+ return {
22
+ updateExpanded,
23
+ toggleExpanded,
24
+ expandedIds
25
+ };
26
+ };
27
+ export {
28
+ useExpandedState
29
+ };
30
+ //# sourceMappingURL=useExpandedState.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandedState.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useExpandedState.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { ExpandedState, functionalUpdate, OnChangeFn } from '@tanstack/react-table'\n\ninterface UseExpandedStateProps {\n expanded: ExpandedState\n setExpanded: (expanded: ExpandedState) => void\n}\n\nexport const useExpandedState = ({ expanded, setExpanded }: UseExpandedStateProps) => {\n const updateExpanded: OnChangeFn<ExpandedState> = useCallback(\n (expandedUpdater) => {\n setExpanded(functionalUpdate(expandedUpdater, expanded))\n },\n [expanded, setExpanded],\n )\n\n // Get all expanded IDs\n // This is useful for checking which rows are expanded\n const expandedIds = Object.entries(expanded)\n .filter(([, isExpanded]) => isExpanded)\n .map(([id]) => id)\n\n const toggleExpanded = useCallback(\n (id: string) => {\n if (typeof expanded === 'boolean') return\n setExpanded({\n ...expanded,\n [id]: !expanded[id],\n })\n },\n [expanded, setExpanded],\n )\n\n return {\n updateExpanded,\n toggleExpanded,\n expandedIds,\n }\n}\n"],"names":[],"mappings":";;AAQO,MAAM,mBAAmB,CAAC,EAAE,UAAU,kBAAyC;AACpF,QAAM,iBAA4C;AAAA,IAChD,CAAC,oBAAoB;AACP,kBAAA,iBAAiB,iBAAiB,QAAQ,CAAC;AAAA,IACzD;AAAA,IACA,CAAC,UAAU,WAAW;AAAA,EACxB;AAIA,QAAM,cAAc,OAAO,QAAQ,QAAQ,EACxC,OAAO,CAAC,CAAA,EAAG,UAAU,MAAM,UAAU,EACrC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE;AAEnB,QAAM,iBAAiB;AAAA,IACrB,CAAC,OAAe;AACV,UAAA,OAAO,aAAa,UAAW;AACvB,kBAAA;AAAA,QACV,GAAG;AAAA,QACH,CAAC,EAAE,GAAG,CAAC,SAAS,EAAE;AAAA,MAAA,CACnB;AAAA,IACH;AAAA,IACA,CAAC,UAAU,WAAW;AAAA,EACxB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;"}