@ynput/ayon-frontend-shared 0.4.0 → 0.4.1

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 (730) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +49 -46
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +244 -228
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +52 -49
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/api.cjs.js +1 -1
  11. package/dist/api.es.js +93 -93
  12. package/dist/components.cjs.js +1 -1
  13. package/dist/components.es.js +130 -126
  14. package/dist/components.es.js.map +1 -1
  15. package/dist/index.cjs.js +1 -1
  16. package/dist/index.es.js +36 -33
  17. package/dist/index.es.js.map +1 -1
  18. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  19. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  20. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  21. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  22. package/dist/shared/src/api/generated/graphql.cjs.js +40 -21
  23. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  24. package/dist/shared/src/api/generated/graphql.es.js +36 -17
  25. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  26. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  27. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  28. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  29. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -4
  33. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +99 -105
  37. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  39. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +133 -87
  41. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/entityLists/getLists.es.js +155 -155
  45. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  47. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  48. package/dist/shared/src/api/queries/folders/getFolders.es.js +66 -64
  49. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +110 -111
  53. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  55. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  56. package/dist/shared/src/api/queries/links/getLinks.es.js +58 -73
  57. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  59. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/overview/getOverview.es.js +380 -328
  61. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/overview/patchVersions.es.js +130 -77
  65. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.es.js +136 -132
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/review/getReview.es.js +180 -104
  73. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  75. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  76. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +152 -132
  77. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  79. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  80. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -2
  81. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  82. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  83. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  84. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +485 -439
  85. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  86. package/dist/shared/src/components/Chips/Chips.cjs.js +1 -1
  87. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  88. package/dist/shared/src/components/Chips/Chips.es.js +18 -17
  89. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  90. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
  91. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  92. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +23 -20
  93. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  94. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  95. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  96. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +10 -7
  97. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  98. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  99. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +23 -20
  101. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  102. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  103. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  104. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +23 -20
  105. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  106. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  107. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  108. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +23 -20
  109. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  110. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  111. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  112. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +34 -30
  113. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  114. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  115. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  116. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +23 -20
  117. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  118. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  119. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  120. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +28 -25
  121. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  122. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  123. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  124. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +23 -20
  125. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  126. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  127. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  128. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +27 -24
  129. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  130. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  131. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  132. package/dist/shared/src/components/LinksManager/LinksManager.es.js +23 -20
  133. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  134. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  135. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  136. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +23 -20
  137. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  138. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  139. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  140. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +23 -20
  141. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  142. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  143. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  144. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +23 -20
  145. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  146. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  147. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  148. package/dist/shared/src/components/Menu/Menu.es.js +23 -20
  149. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  150. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  151. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  152. package/dist/shared/src/components/Menu/MenuItem.es.js +21 -18
  153. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  154. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  155. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  156. package/dist/shared/src/components/Menu/MenuList.es.js +23 -20
  157. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  158. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  159. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  160. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +23 -20
  161. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  162. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  163. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  164. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +23 -20
  165. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  166. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  167. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  168. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +210 -182
  169. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  170. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  171. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  172. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +89 -82
  173. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  174. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  175. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  176. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +23 -20
  177. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  178. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  179. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  180. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +109 -106
  181. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  182. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  183. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  184. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +23 -20
  185. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  186. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  187. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  188. package/dist/shared/src/components/RenameForm/RenameForm.es.js +23 -20
  189. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  190. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  191. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  192. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +29 -32
  193. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  194. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  195. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  196. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +30 -27
  197. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  198. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  199. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  200. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +29 -26
  201. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  202. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  203. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  204. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +29 -26
  205. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  206. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +1 -1
  207. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
  208. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +2 -1
  209. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
  210. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  211. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  212. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +511 -394
  213. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  214. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
  215. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  216. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +23 -20
  217. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  218. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +8 -5
  219. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
  220. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +36 -22
  221. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
  222. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  223. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  224. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +30 -27
  225. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  226. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  227. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  228. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +29 -26
  229. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  230. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
  231. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  232. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +23 -20
  233. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  234. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  235. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  236. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +29 -26
  237. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  238. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  239. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  240. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +32 -29
  241. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  242. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  243. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  244. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +29 -26
  245. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  246. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  247. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  248. package/dist/shared/src/containers/Actions/Actions.es.js +23 -20
  249. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  250. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  251. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  252. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +29 -26
  253. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +29 -26
  257. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +29 -26
  261. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  264. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +29 -26
  265. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  268. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +29 -26
  269. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  270. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  271. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  272. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +23 -20
  273. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  276. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +29 -26
  277. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  278. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  279. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  280. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +29 -26
  281. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  282. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  283. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  284. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +23 -20
  285. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  286. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +1 -1
  287. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
  288. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +12 -12
  289. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
  290. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  291. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  292. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +133 -130
  293. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  294. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  295. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  296. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +29 -26
  297. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  298. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  299. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  300. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +27 -24
  301. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  302. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  303. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  304. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -24
  305. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  306. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  307. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  308. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +23 -20
  309. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  310. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  311. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  312. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +29 -26
  313. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  314. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  315. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  316. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +29 -26
  317. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  318. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  319. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  320. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +29 -26
  321. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  322. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  323. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  324. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +29 -26
  325. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  326. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  327. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  328. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -20
  329. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  330. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  331. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  332. package/dist/shared/src/containers/Feed/Feed.es.js +28 -25
  333. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  334. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  335. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  336. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +29 -26
  337. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  338. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  339. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  340. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +29 -26
  341. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  342. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  343. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  344. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +29 -26
  345. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  346. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  347. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  348. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +23 -20
  349. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  350. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  351. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  352. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +27 -24
  353. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  354. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  355. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  356. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +33 -30
  357. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  358. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  359. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  360. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +23 -20
  361. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  362. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  363. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  364. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +23 -20
  365. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  366. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  367. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  368. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +21 -18
  369. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  370. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  371. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  372. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +23 -20
  373. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  374. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  375. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +27 -24
  377. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  378. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  379. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  380. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +26 -23
  381. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  382. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  383. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  384. package/dist/shared/src/containers/ListTable/ListTable.es.js +25 -22
  385. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  386. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  387. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  388. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +119 -116
  389. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  390. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  391. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +29 -26
  393. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  394. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +2 -2
  395. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  396. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +114 -111
  397. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  398. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  399. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  400. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +116 -113
  401. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +64 -61
  405. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +586 -414
  409. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +24 -21
  413. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +24 -21
  417. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +29 -26
  421. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +131 -128
  425. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  427. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +289 -272
  429. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +34 -31
  433. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +25 -22
  437. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +28 -25
  441. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +118 -115
  445. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +23 -20
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +28 -25
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +25 -22
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +124 -121
  461. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +48 -45
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +26 -23
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +23 -20
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +103 -100
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +26 -23
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +26 -23
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +93 -383
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +23 -20
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +22 -19
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +25 -22
  503. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +37 -45
  507. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  508. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  509. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  510. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +21 -18
  511. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  512. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  513. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  514. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +37 -34
  515. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js +2 -0
  517. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js.map +1 -0
  518. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js +45 -0
  519. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js.map +1 -0
  520. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
  522. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
  523. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +37 -21
  525. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  526. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  527. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  528. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +28 -25
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +6 -2
  531. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  532. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +28 -21
  533. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  534. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  535. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  536. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +29 -26
  537. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  538. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +30 -0
  539. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -0
  540. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +370 -0
  541. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
  542. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +2 -2
  543. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  544. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +39 -36
  545. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  546. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
  547. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  548. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +23 -20
  549. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  550. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  551. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  552. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +26 -23
  553. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  554. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  555. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  556. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +29 -26
  557. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  558. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
  559. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  560. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +23 -20
  561. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  562. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  563. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  564. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +29 -26
  565. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  566. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  567. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  568. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +29 -26
  569. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  570. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +1 -1
  571. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  572. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +25 -22
  573. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  574. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
  575. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  576. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +23 -20
  577. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  578. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  579. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  580. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +29 -26
  581. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  582. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  583. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +27 -24
  585. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  586. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  587. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  588. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +23 -20
  589. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  590. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  591. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  592. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +22 -19
  593. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  594. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  595. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  596. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +23 -20
  597. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  598. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  599. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  600. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +23 -20
  601. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  602. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  603. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  604. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +25 -22
  605. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  606. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  607. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  608. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +23 -20
  609. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  610. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  611. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  612. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +23 -20
  613. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  614. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  615. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +23 -20
  617. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  618. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  619. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +24 -21
  621. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  622. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  623. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +23 -20
  625. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  626. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  627. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  628. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +23 -20
  629. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  630. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  631. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  632. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +23 -20
  633. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  634. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  635. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +25 -22
  637. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  638. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  639. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  640. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +26 -23
  641. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  642. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  643. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  644. package/dist/shared/src/context/DetailsPanelContext.es.js +27 -24
  645. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  646. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  647. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  648. package/dist/shared/src/context/EntityUpdatesContext.es.js +85 -65
  649. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  650. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  651. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  652. package/dist/shared/src/context/PowerpackContext.es.js +27 -24
  653. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  654. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  655. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  656. package/dist/shared/src/context/ProjectFoldersContext.es.js +25 -22
  657. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  658. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  659. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  660. package/dist/shared/src/context/SubtasksModulesContext.es.js +25 -22
  661. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  662. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  663. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  664. package/dist/shared/src/context/WebsocketContext.es.js +31 -28
  665. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  666. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  667. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  668. package/dist/shared/src/hooks/useEntityUpdate.es.js +23 -20
  669. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  670. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  671. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  672. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +23 -20
  673. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  674. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  675. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  676. package/dist/shared/src/hooks/useHierarchyTable.es.js +23 -20
  677. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  678. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  679. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  680. package/dist/shared/src/hooks/useUserProjectConfig.es.js +23 -20
  681. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  682. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  683. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  684. package/dist/shared/src/util/columnConfigConverter.es.js +33 -33
  685. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  686. package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
  687. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  688. package/dist/shared/src/util/getAttributeIcon.es.js +2 -1
  689. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  690. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +1 -1
  691. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -1
  692. package/dist/shared/src/util/realtimeUpdatesUtils.es.js +33 -27
  693. package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -1
  694. package/dist/types/api/generated/graphql.d.ts +45 -2
  695. package/dist/types/api/generated/graphqlLinks.d.ts +14 -2
  696. package/dist/types/api/generated/views.d.ts +13 -4
  697. package/dist/types/api/queries/activities/getActivities.d.ts +24 -0
  698. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +0 -3
  699. package/dist/types/api/queries/entities/getEntity.d.ts +12 -0
  700. package/dist/types/api/queries/entities/getEntityPanel.d.ts +12 -0
  701. package/dist/types/api/queries/entities/updateEntity.d.ts +12 -0
  702. package/dist/types/api/queries/entityLists/getLists.d.ts +12 -7
  703. package/dist/types/api/queries/entityLists/types.d.ts +7 -0
  704. package/dist/types/api/queries/overview/getOverview.d.ts +14 -2
  705. package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
  706. package/dist/types/api/queries/project/getProject.d.ts +12 -0
  707. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +12 -0
  708. package/dist/types/api/queries/users/getUsers.d.ts +12 -0
  709. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +155 -0
  710. package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
  711. package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -1
  712. package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
  713. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +1 -1
  714. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +5 -2
  715. package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
  716. package/dist/types/components/index.d.ts +1 -0
  717. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +3 -1
  718. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
  719. package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
  720. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
  721. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
  722. package/dist/types/containers/ProjectTreeTable/utils/columnIds.d.ts +10 -0
  723. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
  724. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  725. package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
  726. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  727. package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
  728. package/dist/util.cjs.js +1 -1
  729. package/dist/util.es.js +43 -42
  730. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nconst getErrorMessage = (\n errorCode: string | undefined,\n entityType: string,\n entityName: string,\n): string => {\n switch (errorCode) {\n case 'unique-violation':\n return `${entityType} with the name \"${entityName}\" already exists`\n case 'not-null-violation':\n return `${entityType} \"${entityName}\" is missing required fields`\n case 'foreign-key-violation':\n return `${entityType} \"${entityName}\" references invalid data`\n case 'integrity-constraint-violation':\n return `${entityType} \"${entityName}\" violates data integrity rules`\n default:\n return `Failed to update ${entityType}: ${entityName}`\n }\n}\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n rowId: entity.rowId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n const errorCodes = Array.isArray(error?.errorCodes) ? error.errorCodes : []\n if (operations.length === 1 && errorCodes.length > 0) {\n errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n const op = operations[0]\n const entity = op && getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op?.entityId || ''\n toast.error(\n operations.length === 1\n ? getErrorMessage(undefined, op.entityType, entityName)\n : 'Failed to update entities',\n )\n }\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n rowId: entity.rowId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error: any) {\n // Extract error code from operation result - check multiple paths\n const errorCodes = Array.isArray(error?.errorCodes) ? error.errorCodes : []\n if (operations.length === 1 && errorCodes.length > 0) {\n errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n const op = operations[0]\n const entity = op && getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op?.entityId || ''\n toast.error(\n operations.length === 1\n ? getErrorMessage(undefined, op.entityType, entityName)\n : 'Failed to update entities',\n )\n }\n\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["getErrorMessage","errorCode","entityType","entityName","useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","errorCodes","message","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","e","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
1
+ {"version":3,"file":"useUpdateTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nconst getErrorMessage = (\n errorCode: string | undefined,\n entityType: string,\n entityName: string,\n): string => {\n switch (errorCode) {\n case 'unique-violation':\n return `${entityType} with the name \"${entityName}\" already exists`\n case 'not-null-violation':\n return `${entityType} \"${entityName}\" is missing required fields`\n case 'foreign-key-violation':\n return `${entityType} \"${entityName}\" references invalid data`\n case 'integrity-constraint-violation':\n return `${entityType} \"${entityName}\" violates data integrity rules`\n default:\n return `Failed to update ${entityType}: ${entityName}`\n }\n}\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n rowId: entity.rowId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n const errorCodes = Array.isArray(error?.errorCodes) ? error.errorCodes : []\n if (operations.length === 1 && errorCodes.length > 0) {\n errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n const op = operations[0]\n const entity = op && getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op?.entityId || ''\n toast.error(\n operations.length === 1\n ? getErrorMessage(undefined, op.entityType, entityName)\n : 'Failed to update entities',\n )\n }\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n rowId: entity.rowId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error: any) {\n // Extract error code from operation result - check multiple paths\n const errorCodes = Array.isArray(error?.errorCodes) ? error.errorCodes : []\n if (operations.length === 1 && errorCodes.length > 0) {\n errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n const op = operations[0]\n const entity = op && getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op?.entityId || ''\n toast.error(\n operations.length === 1\n ? getErrorMessage(undefined, op.entityType, entityName)\n : 'Failed to update entities',\n )\n }\n\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["getErrorMessage","errorCode","entityType","entityName","useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","errorCodes","message","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","e","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
@@ -204,6 +204,7 @@ import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
204
204
  import "../../../components/Powerpack/CTAButton.es.js";
205
205
  import "../../../components/Powerpack/RequiredAddonVersion.es.js";
206
206
  import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
207
+ import "../../../components/ProjectTableSettings/ColumnsSettings.es.js";
207
208
  import "../../../components/SizeSlider/SizeSlider.es.js";
208
209
  import "react-router-dom";
209
210
  import "../../Slicer/components/Slicer.es.js";
@@ -212,6 +213,23 @@ import "../../Slicer/components/SlicerDropdownFallback.es.js";
212
213
  import "../../NewEntity/components/NewEntity.es.js";
213
214
  import "@tanstack/react-virtual";
214
215
  import "@tanstack/react-table";
216
+ import "../buildTreeTableColumns.es.js";
217
+ import "../ProjectTreeTable.styled.es.js";
218
+ import "../components/HeaderActionButton.es.js";
219
+ import "../components/RowSelectionHeader.es.js";
220
+ import "../components/SelectionCell.es.js";
221
+ import "../context/CellEditingContext.es.js";
222
+ import "../../../components/SearchFilter/filterDates.es.js";
223
+ import "short-uuid";
224
+ import "../utils/columnIds.es.js";
225
+ import "../context/SelectionCellsContext.es.js";
226
+ import "../context/ClipboardContext.es.js";
227
+ import "../context/ColumnSettingsContext.es.js";
228
+ import "../context/SelectedRowsContext.es.js";
229
+ import "../context/DetailsPanelEntityContext.es.js";
230
+ import "../context/ProjectDataContextInstance.es.js";
231
+ import "../components/TableFooterRow.es.js";
232
+ import "../widgets/CellWidget.es.js";
215
233
  import "../widgets/CollapsedWidget.es.js";
216
234
  import "../widgets/DateWidget.es.js";
217
235
  import "../widgets/EnumWidget.es.js";
@@ -219,28 +237,13 @@ import "../widgets/EnumCellValue.es.js";
219
237
  import "../widgets/TextWidget.es.js";
220
238
  import "../widgets/MarkdownWidget.es.js";
221
239
  import "../widgets/BooleanWidget.es.js";
222
- import "../widgets/CellWidget.es.js";
223
240
  import "../widgets/EntityNameWidget.es.js";
241
+ import "../widgets/EntityWidget.es.js";
224
242
  import "../widgets/GroupHeaderWidget.es.js";
225
243
  import "../widgets/ThumbnailWidget.es.js";
226
244
  import "../widgets/LinksWidget.es.js";
227
245
  import "../widgets/EmptyWidget.es.js";
228
246
  import "../widgets/ErrorWidget.es.js";
229
- import "../context/CellEditingContext.es.js";
230
- import "../../../components/SearchFilter/filterDates.es.js";
231
- import "short-uuid";
232
- import "../context/SelectionCellsContext.es.js";
233
- import "../context/ClipboardContext.es.js";
234
- import "../context/ColumnSettingsContext.es.js";
235
- import "../context/SelectedRowsContext.es.js";
236
- import "../context/DetailsPanelEntityContext.es.js";
237
- import "../context/ProjectDataContextInstance.es.js";
238
- import "../ProjectTreeTable.styled.es.js";
239
- import "../components/SelectionCell.es.js";
240
- import "../components/RowSelectionHeader.es.js";
241
- import "../widgets/LoadMoreWidget.es.js";
242
- import "../components/HeaderActionButton.es.js";
243
- import "../components/TableFooterRow.es.js";
244
247
  import "../../NewEntity/context/NewEntityContextInstance.es.js";
245
248
  import "../../NewEntity/components/NewEntityForm.es.js";
246
249
  import "../../Slicer/hooks/useTableDataBySlice.es.js";
@@ -313,7 +316,7 @@ const O = (P, s, u) => {
313
316
  default:
314
317
  return `Failed to update ${s}: ${u}`;
315
318
  }
316
- }, wp = (P) => {
319
+ }, Ep = (P) => {
317
320
  const { pushHistory: s, removeHistoryEntries: u } = P || {}, { projectName: C } = L(), {
318
321
  getEntityById: b,
319
322
  getInheritedDependents: F,
@@ -606,6 +609,6 @@ const O = (P, s, u) => {
606
609
  return { updateEntities: M, inheritFromParent: q };
607
610
  };
608
611
  export {
609
- wp as default
612
+ Ep as default
610
613
  };
611
614
  //# sourceMappingURL=useUpdateTableData.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nconst getErrorMessage = (\n errorCode: string | undefined,\n entityType: string,\n entityName: string,\n): string => {\n switch (errorCode) {\n case 'unique-violation':\n return `${entityType} with the name \"${entityName}\" already exists`\n case 'not-null-violation':\n return `${entityType} \"${entityName}\" is missing required fields`\n case 'foreign-key-violation':\n return `${entityType} \"${entityName}\" references invalid data`\n case 'integrity-constraint-violation':\n return `${entityType} \"${entityName}\" violates data integrity rules`\n default:\n return `Failed to update ${entityType}: ${entityName}`\n }\n}\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n rowId: entity.rowId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n const errorCodes = Array.isArray(error?.errorCodes) ? error.errorCodes : []\n if (operations.length === 1 && errorCodes.length > 0) {\n errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n const op = operations[0]\n const entity = op && getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op?.entityId || ''\n toast.error(\n operations.length === 1\n ? getErrorMessage(undefined, op.entityType, entityName)\n : 'Failed to update entities',\n )\n }\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n rowId: entity.rowId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error: any) {\n // Extract error code from operation result - check multiple paths\n const errorCodes = Array.isArray(error?.errorCodes) ? error.errorCodes : []\n if (operations.length === 1 && errorCodes.length > 0) {\n errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n const op = operations[0]\n const entity = op && getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op?.entityId || ''\n toast.error(\n operations.length === 1\n ? getErrorMessage(undefined, op.entityType, entityName)\n : 'Failed to update entities',\n )\n }\n\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["getErrorMessage","errorCode","entityType","entityName","useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","errorCodes","message","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
1
+ {"version":3,"file":"useUpdateTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nconst getErrorMessage = (\n errorCode: string | undefined,\n entityType: string,\n entityName: string,\n): string => {\n switch (errorCode) {\n case 'unique-violation':\n return `${entityType} with the name \"${entityName}\" already exists`\n case 'not-null-violation':\n return `${entityType} \"${entityName}\" is missing required fields`\n case 'foreign-key-violation':\n return `${entityType} \"${entityName}\" references invalid data`\n case 'integrity-constraint-violation':\n return `${entityType} \"${entityName}\" violates data integrity rules`\n default:\n return `Failed to update ${entityType}: ${entityName}`\n }\n}\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n rowId: entity.rowId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n const errorCodes = Array.isArray(error?.errorCodes) ? error.errorCodes : []\n if (operations.length === 1 && errorCodes.length > 0) {\n errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n const op = operations[0]\n const entity = op && getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op?.entityId || ''\n toast.error(\n operations.length === 1\n ? getErrorMessage(undefined, op.entityType, entityName)\n : 'Failed to update entities',\n )\n }\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n rowId: entity.rowId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error: any) {\n // Extract error code from operation result - check multiple paths\n const errorCodes = Array.isArray(error?.errorCodes) ? error.errorCodes : []\n if (operations.length === 1 && errorCodes.length > 0) {\n errorCodes.forEach((errorCode: string) => {\n const op = operations[0]\n const entity = getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op.entityId || ''\n const message = getErrorMessage(errorCode, op.entityType, entityName)\n toast.error(message)\n })\n } else {\n const op = operations[0]\n const entity = op && getEntityById(op.entityId as string)\n const entityName = entity?.label || entity?.name || op?.entityId || ''\n toast.error(\n operations.length === 1\n ? getErrorMessage(undefined, op.entityType, entityName)\n : 'Failed to update entities',\n )\n }\n\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["getErrorMessage","errorCode","entityType","entityName","useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","errorCodes","message","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react-toastify");require("lodash");require("uuid");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("react");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../../Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");const a=require("../context/ProjectTableContext.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../widgets/LoadMoreWidget.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContextInstance.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../NewEntity/components/NewEntity.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../../NewEntity/context/NewEntityContextInstance.cjs.js");require("../../NewEntity/components/NewEntityForm.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../context/DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");var n=(e=>(e[e.None=0]="None",e[e.Top=1]="Top",e[e.Right=2]="Right",e[e.Bottom=4]="Bottom",e[e.Left=8]="Left",e[e.All=15]="All",e))(n||{});const f=(e,r)=>`cell-${e}-${r}`,p=e=>{const r=e.match(/^cell-(.+)-(.+)$/);return r?{rowId:r[1],colId:r[2]}:null},c=(e,r)=>{if(!e||!r)return;const i=r.split("_");let u=e;for(const t of i)if(u&&typeof u=="object"&&t in u)u=u[t];else return;return u},g=(e,r)=>{const[i,u,t,m,s]=r.split("_"),l=e.filter(q=>q.linkType===u&&q.direction===s);return l.length?l.map(q=>q.node.id).join(","):""},y=(e,r,i)=>{if(!i[e]?.[r])return 0;let u=0;return(e===0||!i[e-1]?.[r])&&(u|=1),i[e]?.[r+1]||(u|=2),i[e+1]?.[r]||(u|=4),(r===0||!i[e]?.[r-1])&&(u|=8),u},h=e=>{const r=[];return e&1&&r.push("shadow-top"),e&2&&r.push("shadow-right"),e&4&&r.push("shadow-bottom"),e&8&&r.push("shadow-left"),r},o=(e,r)=>r.get(a.parseRowId(e));exports.BorderPosition=n;exports.getBorderClasses=h;exports.getCellBorders=y;exports.getCellId=f;exports.getCellValue=c;exports.getEntityDataById=o;exports.getLinkEntityIdsByColumnId=g;exports.parseCellId=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react-toastify");require("lodash");require("uuid");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("clsx");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("react");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js");require("../../../../../_virtual/index.cjs.js");require("../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContextInstance.cjs.js");require("../../../context/EntityUpdatesContextInstance.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../../Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../buildTreeTableColumns.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");const a=require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectDataContextInstance.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("./columnIds.cjs.js");require("../../NewEntity/components/NewEntity.cjs.js");require("../../Slicer/components/Slicer.cjs.js");require("../../Slicer/context/SlicerContextInstance.cjs.js");require("../../Slicer/components/SlicerDropdownFallback.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../../NewEntity/context/NewEntityContextInstance.cjs.js");require("../../NewEntity/components/NewEntityForm.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/TableFooterRow.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/EnumCellValue.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/MarkdownWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/EntityWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../widgets/LinksWidget.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../Views/context/ViewsContextInstance.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../ListTable/ListTableRow.cjs.js");require("../../ListTable/ListTable.styled.cjs.js");require("../../../context/DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/InfoMessage/InfoMessage.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/ProjectTableSettings/ColumnsSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/SyncButton/SyncButton.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../components/ColumnHeaderMenuUI.cjs.js");var n=(e=>(e[e.None=0]="None",e[e.Top=1]="Top",e[e.Right=2]="Right",e[e.Bottom=4]="Bottom",e[e.Left=8]="Left",e[e.All=15]="All",e))(n||{});const f=(e,r)=>`cell-${e}-${r}`,p=e=>{const r=e.match(/^cell-(.+)-(.+)$/);return r?{rowId:r[1],colId:r[2]}:null},c=(e,r)=>{if(!e||!r)return;const i=r.split("_");let u=e;for(const t of i)if(u&&typeof u=="object"&&t in u)u=u[t];else return;return u},g=(e,r)=>{const[i,u,t,m,s]=r.split("_"),l=e.filter(q=>q.linkType===u&&q.direction===s);return l.length?l.map(q=>q.node.id).join(","):""},y=(e,r,i)=>{if(!i[e]?.[r])return 0;let u=0;return(e===0||!i[e-1]?.[r])&&(u|=1),i[e]?.[r+1]||(u|=2),i[e+1]?.[r]||(u|=4),(r===0||!i[e]?.[r-1])&&(u|=8),u},h=e=>{const r=[];return e&1&&r.push("shadow-top"),e&2&&r.push("shadow-right"),e&4&&r.push("shadow-bottom"),e&8&&r.push("shadow-left"),r},o=(e,r)=>r.get(a.parseRowId(e));exports.BorderPosition=n;exports.getBorderClasses=h;exports.getCellBorders=y;exports.getCellId=f;exports.getCellValue=c;exports.getEntityDataById=o;exports.getLinkEntityIdsByColumnId=g;exports.parseCellId=p;
2
2
  //# sourceMappingURL=cellUtils.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cellUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { TaskLink } from '@shared/api'\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n// return the link entity ids for a given column id\nexport const getLinkEntityIdsByColumnId = (links: TaskLink[], columnId: CellId): string => {\n // split the columnId\n const [_link, linkType, _inType, _outType, direction] = columnId.split('_')\n const cellLinks = links.filter(\n (link) => link.linkType === linkType && link.direction === direction,\n )\n if (cellLinks.length) {\n return cellLinks.map((link) => link.node.id).join(',')\n } else {\n return ''\n }\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition","getCellId","rowId","colId","parseCellId","cellId","match","getCellValue","obj","path","parts","current","part","getLinkEntityIdsByColumnId","links","columnId","_link","linkType","_inType","_outType","direction","cellLinks","link","getCellBorders","rowIndex","colIndex","selectedCells","borders","getBorderClasses","classes","getEntityDataById","id","entitiesMap","parseRowId"],"mappings":"+5iBAoBO,IAAKA,GAAAA,IACVA,EAAAA,EAAA,KAAO,CAAA,EAAP,OACAA,EAAAA,EAAA,IAAM,CAAA,EAAN,MACAA,EAAAA,EAAA,MAAQ,CAAA,EAAR,QACAA,EAAAA,EAAA,OAAS,CAAA,EAAT,SACAA,EAAAA,EAAA,KAAO,CAAA,EAAP,OACAA,EAAAA,EAAA,IAAM,EAAA,EAAN,MANUA,IAAAA,GAAA,CAAA,CAAA,EAYL,MAAMC,EAAY,CAACC,EAAcC,IAAyB,QAAQD,CAAK,IAAIC,CAAK,GAM1EC,EAAeC,GAAwC,CAClE,MAAMC,EAAQD,EAAO,MAAM,kBAAkB,EAC7C,OAAKC,EACE,CAAE,MAAOA,EAAM,CAAC,EAAG,MAAOA,EAAM,CAAC,CAAA,EADrB,IAErB,EAEaC,EAAe,CAACC,EAAUC,IAAsB,CAC3D,GAAI,CAACD,GAAO,CAACC,EAAM,OAEnB,MAAMC,EAAQD,EAAK,MAAM,GAAG,EAC5B,IAAIE,EAAUH,EAEd,UAAWI,KAAQF,EACjB,GAAIC,GAAW,OAAOA,GAAY,UAAYC,KAAQD,EACpDA,EAAUA,EAAQC,CAAI,MAEtB,QAIJ,OAAOD,CACT,EAGaE,EAA6B,CAACC,EAAmBC,IAA6B,CAEzF,KAAM,CAACC,EAAOC,EAAUC,EAASC,EAAUC,CAAS,EAAIL,EAAS,MAAM,GAAG,EACpEM,EAAYP,EAAM,OACrBQ,GAASA,EAAK,WAAaL,GAAYK,EAAK,YAAcF,CAAA,EAE7D,OAAIC,EAAU,OACLA,EAAU,IAAKC,GAASA,EAAK,KAAK,EAAE,EAAE,KAAK,GAAG,EAE9C,EAEX,EAWaC,EAAiB,CAC5BC,EACAC,EACAC,IACmB,CACnB,GAAI,CAACA,EAAcF,CAAQ,IAAIC,CAAQ,EACrC,MAAO,GAGT,IAAIE,EAAU,EAGd,OAAIH,IAAa,GAAK,CAACE,EAAcF,EAAW,CAAC,IAAIC,CAAQ,KAC3DE,GAAW,GAIRD,EAAcF,CAAQ,IAAIC,EAAW,CAAC,IACzCE,GAAW,GAIRD,EAAcF,EAAW,CAAC,IAAIC,CAAQ,IACzCE,GAAW,IAITF,IAAa,GAAK,CAACC,EAAcF,CAAQ,IAAIC,EAAW,CAAC,KAC3DE,GAAW,GAGNA,CACT,EAKaC,EAAoBD,GAAsC,CACrE,MAAME,EAAoB,CAAA,EAE1B,OAAIF,EAAU,GAAoBE,EAAQ,KAAK,YAAY,EACvDF,EAAU,GAAsBE,EAAQ,KAAK,cAAc,EAC3DF,EAAU,GAAuBE,EAAQ,KAAK,eAAe,EAC7DF,EAAU,GAAqBE,EAAQ,KAAK,aAAa,EAEtDA,CACT,EAGaC,EAAoB,CAC/BC,EACAC,IACGA,EAAY,IAAIC,EAAAA,WAAWF,CAAE,CAAC"}
1
+ {"version":3,"file":"cellUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { TaskLink } from '@shared/api'\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n// return the link entity ids for a given column id\nexport const getLinkEntityIdsByColumnId = (links: TaskLink[], columnId: CellId): string => {\n // split the columnId\n const [_link, linkType, _inType, _outType, direction] = columnId.split('_')\n const cellLinks = links.filter(\n (link) => link.linkType === linkType && link.direction === direction,\n )\n if (cellLinks.length) {\n return cellLinks.map((link) => link.node.id).join(',')\n } else {\n return ''\n }\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition","getCellId","rowId","colId","parseCellId","cellId","match","getCellValue","obj","path","parts","current","part","getLinkEntityIdsByColumnId","links","columnId","_link","linkType","_inType","_outType","direction","cellLinks","link","getCellBorders","rowIndex","colIndex","selectedCells","borders","getBorderClasses","classes","getEntityDataById","id","entitiesMap","parseRowId"],"mappings":"ijjBAoBO,IAAKA,GAAAA,IACVA,EAAAA,EAAA,KAAO,CAAA,EAAP,OACAA,EAAAA,EAAA,IAAM,CAAA,EAAN,MACAA,EAAAA,EAAA,MAAQ,CAAA,EAAR,QACAA,EAAAA,EAAA,OAAS,CAAA,EAAT,SACAA,EAAAA,EAAA,KAAO,CAAA,EAAP,OACAA,EAAAA,EAAA,IAAM,EAAA,EAAN,MANUA,IAAAA,GAAA,CAAA,CAAA,EAYL,MAAMC,EAAY,CAACC,EAAcC,IAAyB,QAAQD,CAAK,IAAIC,CAAK,GAM1EC,EAAeC,GAAwC,CAClE,MAAMC,EAAQD,EAAO,MAAM,kBAAkB,EAC7C,OAAKC,EACE,CAAE,MAAOA,EAAM,CAAC,EAAG,MAAOA,EAAM,CAAC,CAAA,EADrB,IAErB,EAEaC,EAAe,CAACC,EAAUC,IAAsB,CAC3D,GAAI,CAACD,GAAO,CAACC,EAAM,OAEnB,MAAMC,EAAQD,EAAK,MAAM,GAAG,EAC5B,IAAIE,EAAUH,EAEd,UAAWI,KAAQF,EACjB,GAAIC,GAAW,OAAOA,GAAY,UAAYC,KAAQD,EACpDA,EAAUA,EAAQC,CAAI,MAEtB,QAIJ,OAAOD,CACT,EAGaE,EAA6B,CAACC,EAAmBC,IAA6B,CAEzF,KAAM,CAACC,EAAOC,EAAUC,EAASC,EAAUC,CAAS,EAAIL,EAAS,MAAM,GAAG,EACpEM,EAAYP,EAAM,OACrBQ,GAASA,EAAK,WAAaL,GAAYK,EAAK,YAAcF,CAAA,EAE7D,OAAIC,EAAU,OACLA,EAAU,IAAKC,GAASA,EAAK,KAAK,EAAE,EAAE,KAAK,GAAG,EAE9C,EAEX,EAWaC,EAAiB,CAC5BC,EACAC,EACAC,IACmB,CACnB,GAAI,CAACA,EAAcF,CAAQ,IAAIC,CAAQ,EACrC,MAAO,GAGT,IAAIE,EAAU,EAGd,OAAIH,IAAa,GAAK,CAACE,EAAcF,EAAW,CAAC,IAAIC,CAAQ,KAC3DE,GAAW,GAIRD,EAAcF,CAAQ,IAAIC,EAAW,CAAC,IACzCE,GAAW,GAIRD,EAAcF,EAAW,CAAC,IAAIC,CAAQ,IACzCE,GAAW,IAITF,IAAa,GAAK,CAACC,EAAcF,CAAQ,IAAIC,EAAW,CAAC,KAC3DE,GAAW,GAGNA,CACT,EAKaC,EAAoBD,GAAsC,CACrE,MAAME,EAAoB,CAAA,EAE1B,OAAIF,EAAU,GAAoBE,EAAQ,KAAK,YAAY,EACvDF,EAAU,GAAsBE,EAAQ,KAAK,cAAc,EAC3DF,EAAU,GAAuBE,EAAQ,KAAK,eAAe,EAC7DF,EAAU,GAAqBE,EAAQ,KAAK,aAAa,EAEtDA,CACT,EAGaC,EAAoB,CAC/BC,EACAC,IACGA,EAAY,IAAIC,EAAAA,WAAWF,CAAE,CAAC"}