@ynput/ayon-frontend-shared 0.2.38 → 0.2.39

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 (633) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +72 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +169 -167
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js.map +1 -1
  8. package/dist/Views.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +1 -1
  10. package/dist/_virtual/index.cjs11.js +1 -1
  11. package/dist/_virtual/index.cjs12.js +1 -1
  12. package/dist/_virtual/index.es10.js +3 -3
  13. package/dist/_virtual/index.es11.js +5 -5
  14. package/dist/_virtual/index.es12.js +5 -5
  15. package/dist/api.cjs.js +1 -1
  16. package/dist/api.es.js +22 -20
  17. package/dist/api.es.js.map +1 -1
  18. package/dist/components.cjs.js +1 -1
  19. package/dist/components.es.js +139 -133
  20. package/dist/components.es.js.map +1 -1
  21. package/dist/context.cjs.js +1 -1
  22. package/dist/context.es.js +45 -38
  23. package/dist/context.es.js.map +1 -1
  24. package/dist/index.cjs.js +1 -1
  25. package/dist/index.es.js +61 -55
  26. package/dist/index.es.js.map +1 -1
  27. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  28. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  29. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  30. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  31. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  32. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  33. package/dist/shared/src/api/generated/graphql.cjs.js +4 -0
  34. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  35. package/dist/shared/src/api/generated/graphql.es.js +4 -0
  36. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  37. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  39. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  40. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  41. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  42. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  43. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +8 -3
  44. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  45. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  46. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  47. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  48. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  49. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  50. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -66
  52. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  53. package/dist/shared/src/api/queries/uris/getUris.cjs.js +2 -0
  54. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -0
  55. package/dist/shared/src/api/queries/uris/getUris.es.js +47 -0
  56. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -0
  57. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  58. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  59. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  60. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  61. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +27 -0
  62. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -0
  63. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +50 -0
  64. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -0
  65. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  66. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  67. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  68. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  69. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  70. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  71. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +5 -2
  72. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  73. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  74. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  75. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +5 -2
  76. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  77. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  78. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  79. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -2
  80. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  81. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  82. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  83. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -2
  84. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  85. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  86. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  87. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +75 -69
  88. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  89. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js +1 -1
  90. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  91. package/dist/shared/src/components/EntityPath/EntityPath.es.js +51 -53
  92. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  93. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  94. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  95. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
  96. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  97. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  98. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  99. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +7 -4
  100. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  101. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  102. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  103. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +60 -54
  104. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  105. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  106. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  107. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  108. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  109. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  110. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  111. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +66 -60
  112. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  113. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  114. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  115. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +5 -2
  116. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  117. package/dist/shared/src/components/Menu/Menu.cjs.js +2 -0
  118. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -0
  119. package/dist/shared/src/components/Menu/Menu.es.js +92 -0
  120. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -0
  121. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -0
  122. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -0
  123. package/dist/shared/src/components/Menu/MenuContainer.cjs.js +2 -0
  124. package/dist/shared/src/components/Menu/MenuContainer.cjs.js.map +1 -0
  125. package/dist/shared/src/components/Menu/MenuContainer.es.js +88 -0
  126. package/dist/shared/src/components/Menu/MenuContainer.es.js.map +1 -0
  127. package/dist/shared/src/components/Menu/MenuItem.cjs.js +2 -0
  128. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -0
  129. package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/MenuItem.es.js +26 -24
  130. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -0
  131. package/dist/shared/src/components/Menu/MenuList.cjs.js +2 -0
  132. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -0
  133. package/dist/shared/src/components/Menu/MenuList.es.js +131 -0
  134. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -0
  135. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js +2 -0
  136. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js.map +1 -0
  137. package/dist/shared/src/components/Menu/useMenuPosition.es.js +50 -0
  138. package/dist/shared/src/components/Menu/useMenuPosition.es.js.map +1 -0
  139. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  140. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  141. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -5
  142. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  143. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  144. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  145. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -43
  146. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  147. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  148. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  149. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +46 -40
  150. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  151. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  152. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  153. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -42
  154. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  155. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  156. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  157. package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -60
  158. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  159. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  160. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  161. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  162. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  163. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  164. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  165. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -58
  166. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  167. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  168. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  169. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -48
  170. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  171. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  172. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  173. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -47
  174. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  175. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  176. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  178. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  179. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  180. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  181. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +219 -190
  182. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  183. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
  184. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  185. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +20 -18
  186. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  187. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  188. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  189. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -46
  190. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  191. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  192. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  193. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +13 -11
  194. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  195. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  196. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  197. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -50
  198. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  199. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  200. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  201. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  202. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  203. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  204. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  205. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  206. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  207. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  208. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  209. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -47
  210. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  211. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  212. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  213. package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
  214. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  215. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  216. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  217. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -48
  218. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  219. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  220. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  221. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +293 -229
  222. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  223. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +10 -4
  224. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  225. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -7
  226. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  228. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -43
  230. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  232. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -62
  234. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  236. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +92 -86
  238. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  240. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +9 -5
  242. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  244. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +194 -5
  246. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +4 -2
  250. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js +2 -0
  252. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js.map +1 -0
  253. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js +21 -0
  254. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js.map +1 -0
  255. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +20 -17
  258. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  259. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  260. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +49 -43
  262. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  263. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  264. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +53 -47
  266. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  267. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  268. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +53 -47
  270. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  271. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +53 -47
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  275. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -2
  278. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  279. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  280. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/Feed/Feed.es.js +109 -99
  282. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  284. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +446 -212
  286. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +20 -16
  288. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +21 -17
  290. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  291. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +2 -0
  292. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -0
  293. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +288 -0
  294. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -0
  295. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  296. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -11
  298. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  300. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +4 -2
  302. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  304. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +372 -183
  306. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  308. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  310. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  312. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +12 -10
  314. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  316. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +28 -26
  318. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  320. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +194 -5
  322. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  324. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +8 -5
  326. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  327. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  328. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  330. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js +1 -1
  332. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js +24 -26
  334. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  336. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +434 -435
  338. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  340. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +126 -120
  342. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
  344. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +52 -46
  346. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  348. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -51
  350. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  351. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  352. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +79 -72
  354. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  356. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +7 -4
  358. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +72 -65
  364. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +47 -41
  368. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +12 -10
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +8 -5
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +5 -2
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -49
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +81 -66
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -45
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +106 -111
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -45
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -45
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -48
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +122 -119
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +61 -55
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +45 -39
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +98 -94
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -56
  428. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +22 -20
  432. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  434. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +19 -17
  436. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +68 -62
  440. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -45
  444. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +45 -44
  448. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  449. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  450. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +120 -114
  452. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  453. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  454. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +53 -47
  456. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  457. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  458. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -2
  460. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  461. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  462. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +14 -12
  464. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  465. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  466. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +90 -91
  468. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  469. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  470. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -2
  472. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  473. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  474. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +5 -2
  476. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  477. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  478. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  480. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  481. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  482. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  483. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  484. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  485. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  486. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  488. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  489. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  490. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  491. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  492. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  493. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  494. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  495. package/dist/shared/src/context/DetailsPanelContext.es.js +117 -75
  496. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  497. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  498. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  499. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  500. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  501. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  502. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  503. package/dist/shared/src/context/PowerpackContext.es.js +18 -15
  504. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  505. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  506. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  507. package/dist/shared/src/context/ProjectContext.es.js +44 -40
  508. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  509. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +2 -0
  510. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -0
  511. package/dist/shared/src/context/ProjectFoldersContext.es.js +177 -0
  512. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -0
  513. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  514. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  515. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  516. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  517. package/dist/shared/src/context/UriContext.cjs.js +2 -0
  518. package/dist/shared/src/context/UriContext.cjs.js.map +1 -0
  519. package/dist/shared/src/context/UriContext.es.js +131 -0
  520. package/dist/shared/src/context/UriContext.es.js.map +1 -0
  521. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  522. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  523. package/dist/shared/src/context/WebsocketContext.es.js +51 -45
  524. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  525. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  526. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  527. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  528. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  529. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  530. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  531. package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -2
  532. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  533. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  534. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  535. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  536. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  537. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  538. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  539. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -2
  540. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  541. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  542. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  543. package/dist/shared/src/hooks/useHierarchyTable.es.js +43 -119
  544. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  545. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  546. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  547. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  548. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  549. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  550. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  551. package/dist/shared/src/hooks/useUserProjectConfig.es.js +5 -2
  552. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  553. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js +2 -0
  554. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js.map +1 -0
  555. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js +25 -0
  556. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js.map +1 -0
  557. package/dist/shared/src/util/uriUtils.cjs.js +2 -0
  558. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -0
  559. package/dist/shared/src/util/uriUtils.es.js +49 -0
  560. package/dist/shared/src/util/uriUtils.es.js.map +1 -0
  561. package/dist/types/api/generated/graphql.d.ts +55 -4
  562. package/dist/types/api/generated/graphqlLinks.d.ts +47 -0
  563. package/dist/types/api/generated/views.d.ts +15 -13
  564. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  565. package/dist/types/api/queries/entityLists/getLists.d.ts +180 -180
  566. package/dist/types/api/queries/index.d.ts +1 -0
  567. package/dist/types/api/queries/uris/getUris.d.ts +161 -0
  568. package/dist/types/api/queries/uris/index.d.ts +1 -0
  569. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +20 -0
  570. package/dist/types/components/AddonLoadingScreen/index.d.ts +1 -0
  571. package/dist/types/components/Menu/Menu.d.ts +30 -0
  572. package/dist/types/components/Menu/Menu.styled.d.ts +8 -0
  573. package/dist/types/components/Menu/MenuContainer.d.ts +14 -0
  574. package/dist/types/components/Menu/MenuItem.d.ts +21 -0
  575. package/dist/types/components/Menu/MenuList.d.ts +21 -0
  576. package/dist/types/components/Menu/index.d.ts +4 -0
  577. package/dist/types/components/Menu/useMenuPosition.d.ts +12 -0
  578. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +3 -1
  579. package/dist/types/components/index.d.ts +32 -31
  580. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +6 -2
  581. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +1 -0
  582. package/dist/types/containers/DetailsPanel/hooks/useDetailsPanelURLSync.d.ts +12 -0
  583. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  584. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.d.ts +2 -1
  585. package/dist/types/containers/Feed/components/ActivityComment/ActivityCommentMenu.d.ts +9 -0
  586. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  587. package/dist/types/containers/Feed/hooks/useScrollToHighlighted.d.ts +2 -1
  588. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +2 -0
  589. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +4 -1
  590. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  591. package/dist/types/containers/Views/index.d.ts +1 -1
  592. package/dist/types/context/AddonProjectContext.d.ts +12 -7
  593. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  594. package/dist/types/context/ProjectFoldersContext.d.ts +19 -0
  595. package/dist/types/context/UriContext.d.ts +40 -0
  596. package/dist/types/context/index.d.ts +2 -0
  597. package/dist/types/hooks/useGroupByRemoteModules.d.ts +1 -2
  598. package/dist/types/util/extractEntityHierarchyFromParents.d.ts +6 -0
  599. package/dist/types/util/index.d.ts +2 -0
  600. package/dist/types/util/uriUtils.d.ts +15 -0
  601. package/dist/util.cjs.js +1 -1
  602. package/dist/util.es.js +44 -37
  603. package/dist/util.es.js.map +1 -1
  604. package/package.json +1 -1
  605. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +0 -2
  606. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +0 -1
  607. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +0 -263
  608. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +0 -1
  609. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +0 -2
  610. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +0 -1
  611. package/dist/src/components/Menu/MenuComponents/Menu.es.js +0 -82
  612. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +0 -1
  613. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +0 -1
  614. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +0 -1
  615. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +0 -2
  616. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +0 -1
  617. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +0 -80
  618. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +0 -1
  619. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +0 -2
  620. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +0 -1
  621. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +0 -1
  622. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +0 -2
  623. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +0 -1
  624. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +0 -135
  625. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +0 -1
  626. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +0 -2
  627. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +0 -1
  628. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +0 -35
  629. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +0 -1
  630. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +0 -29
  631. package/dist/types/components/RemotePage/index.d.ts +0 -1
  632. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.cjs.js +0 -0
  633. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.es.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectContext } from '@shared/context'\nimport { EnumCellValue } from './EnumCellValue'\nimport { NameWidget } from '@shared/containers/ProjectTreeTable/widgets/NameWidget'\nimport { NameWidgetData } from '@shared/components/RenameForm'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' | 'name' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n tooltip?: string\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n entityType?: string\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n tooltip,\n onChange,\n entityType,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1324\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n case type === 'name': {\n return (\n <NameWidget\n value={value as CellValue}\n valueData={valueData as NameWidgetData}\n cellId={cellId}\n entityType={entityType || ''}\n {...sharedProps}\n />\n )\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n\n if (enumValue.length && !selectedOptions.length) {\n // value has something but it is not in options, show a placeholder\n return (\n <TextWidget\n value={enumValue.join(', ')}\n isInherited={isInherited}\n columnId={columnId}\n {...sharedProps}\n {...pt?.text}\n />\n )\n }\n\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n columnId={columnId}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n tooltip ||\n (isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined)\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","tooltip","onChange","entityType","pt","props","ref","useRef","type","projectName","useProjectContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","NameWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","selectedOptions","TextWidget","EnumCellValue","EnumWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
1
+ {"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectContext } from '@shared/context'\nimport { EnumCellValue } from './EnumCellValue'\nimport { NameWidget } from '@shared/containers/ProjectTreeTable/widgets/NameWidget'\nimport { NameWidgetData } from '@shared/components/RenameForm'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' | 'name' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n tooltip?: string\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n entityType?: string\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n tooltip,\n onChange,\n entityType,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1324\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n case type === 'name': {\n return (\n <NameWidget\n value={value as CellValue}\n valueData={valueData as NameWidgetData}\n cellId={cellId}\n entityType={entityType || ''}\n {...sharedProps}\n />\n )\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n\n if (enumValue.length && !selectedOptions.length) {\n // value has something but it is not in options, show a placeholder\n return (\n <TextWidget\n value={enumValue.join(', ')}\n isInherited={isInherited}\n columnId={columnId}\n {...sharedProps}\n {...pt?.text}\n />\n )\n }\n\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n columnId={columnId}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n tooltip ||\n (isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined)\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","tooltip","onChange","entityType","pt","props","ref","useRef","type","projectName","useProjectContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","NameWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","selectedOptions","TextWidget","EnumCellValue","EnumWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
@@ -26,6 +26,8 @@ import "../../../context/MenuContext.es.js";
26
26
  import "../../../context/WebsocketContext.es.js";
27
27
  import "../../../context/GlobalContext.es.js";
28
28
  import { useProjectContext as oe } from "../../../context/ProjectContext.es.js";
29
+ import "../../../context/ProjectFoldersContext.es.js";
30
+ import "../../../context/UriContext.es.js";
29
31
  import { EnumCellValue as ie } from "./EnumCellValue.es.js";
30
32
  import { NameWidget as re } from "./NameWidget.es.js";
31
33
  const ne = U.div`
@@ -49,7 +51,7 @@ const ne = U.div`
49
51
  border-radius: 4px;
50
52
  opacity: 1;
51
53
  }
52
- `, _e = "edit-trigger", ve = ({
54
+ `, Be = "edit-trigger", qe = ({
53
55
  rowId: E,
54
56
  columnId: x,
55
57
  value: i,
@@ -59,7 +61,7 @@ const ne = U.div`
59
61
  isCollapsed: y,
60
62
  isInherited: f,
61
63
  isPlaceholder: p,
62
- isReadOnly: m,
64
+ isReadOnly: d,
63
65
  enableCustomValues: N,
64
66
  folderId: I,
65
67
  tooltip: M,
@@ -69,7 +71,7 @@ const ne = U.div`
69
71
  ...b
70
72
  }) => {
71
73
  const W = K(null), r = C == null ? void 0 : C.type, { projectName: k } = oe(), { isEditing: L, setEditingCellId: c } = V(), { isCellFocused: R, gridMap: h, selectCell: F, focusCell: G } = te(), l = A(E, x), a = L(l), _ = R(l), v = P(() => {
72
- p || m || c(l);
74
+ p || d || c(l);
73
75
  }, [l, c, p]), B = () => {
74
76
  a || c(null);
75
77
  }, q = () => {
@@ -81,7 +83,7 @@ const ne = U.div`
81
83
  F(e, !1, !1), G(e), c(e);
82
84
  }
83
85
  }, z = (t, n) => {
84
- c(null), !m && (n === "Enter" && q(), (t !== i || n === "Enter") && (j == null || j(t, n)));
86
+ c(null), !d && (n === "Enter" && q(), (t !== i || n === "Enter") && (j == null || j(t, n)));
85
87
  }, H = () => {
86
88
  var n;
87
89
  c(null);
@@ -98,8 +100,8 @@ const ne = U.div`
98
100
  case y: {
99
101
  const e = r != null && r.includes("list") ? u.find(
100
102
  (g) => Array.isArray(i) ? i.includes(g.value) : i === g.value
101
- ) : void 0, d = e == null ? void 0 : e.color;
102
- return /* @__PURE__ */ s.jsx(Y, { color: d });
103
+ ) : void 0, m = e == null ? void 0 : e.color;
104
+ return /* @__PURE__ */ s.jsx(Y, { color: m });
103
105
  }
104
106
  case r === "name":
105
107
  return /* @__PURE__ */ s.jsx(
@@ -113,18 +115,18 @@ const ne = U.div`
113
115
  }
114
116
  );
115
117
  case r === "links": {
116
- const e = T, d = D(
118
+ const e = T, m = D(
117
119
  (e == null ? void 0 : e.direction) || "out",
118
120
  (e == null ? void 0 : e.link.linkType) || "",
119
121
  (e == null ? void 0 : e.entityType) || ""
120
122
  );
121
- return m = !d, /* @__PURE__ */ s.jsx(
123
+ return d = !m, /* @__PURE__ */ s.jsx(
122
124
  O,
123
125
  {
124
126
  value: e,
125
127
  cellId: l,
126
128
  projectName: k,
127
- disabled: !d,
129
+ disabled: !m,
128
130
  folderId: I,
129
131
  ...t
130
132
  }
@@ -132,9 +134,9 @@ const ne = U.div`
132
134
  }
133
135
  case !!u.length: {
134
136
  const e = Array.isArray(i) ? i : [i];
135
- if (m) {
136
- const d = u.filter((g) => e.includes(g.value));
137
- return e.length && !d.length ? /* @__PURE__ */ s.jsx(
137
+ if (d) {
138
+ const m = u.filter((g) => e.includes(g.value));
139
+ return e.length && !m.length ? /* @__PURE__ */ s.jsx(
138
140
  w,
139
141
  {
140
142
  value: e.join(", "),
@@ -146,7 +148,7 @@ const ne = U.div`
146
148
  ) : /* @__PURE__ */ s.jsx(
147
149
  ie,
148
150
  {
149
- selectedOptions: d,
151
+ selectedOptions: m,
150
152
  isReadOnly: !0,
151
153
  hasMultipleValues: e.length > 1,
152
154
  isMultiSelect: r == null ? void 0 : r.includes("list")
@@ -201,8 +203,8 @@ const ne = U.div`
201
203
  ...b,
202
204
  className: ee(b.className, {
203
205
  inherited: f && !a,
204
- readonly: m,
205
- editable: !m
206
+ readonly: d,
207
+ editable: !d
206
208
  }),
207
209
  ref: W,
208
210
  onDoubleClick: v,
@@ -215,7 +217,7 @@ const ne = U.div`
215
217
  );
216
218
  };
217
219
  export {
218
- ve as CellWidget,
219
- _e as EDIT_TRIGGER_CLASS
220
+ qe as CellWidget,
221
+ Be as EDIT_TRIGGER_CLASS
220
222
  };
221
223
  //# sourceMappingURL=CellWidget.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectContext } from '@shared/context'\nimport { EnumCellValue } from './EnumCellValue'\nimport { NameWidget } from '@shared/containers/ProjectTreeTable/widgets/NameWidget'\nimport { NameWidgetData } from '@shared/components/RenameForm'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' | 'name' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n tooltip?: string\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n entityType?: string\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n tooltip,\n onChange,\n entityType,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1324\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n case type === 'name': {\n return (\n <NameWidget\n value={value as CellValue}\n valueData={valueData as NameWidgetData}\n cellId={cellId}\n entityType={entityType || ''}\n {...sharedProps}\n />\n )\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n\n if (enumValue.length && !selectedOptions.length) {\n // value has something but it is not in options, show a placeholder\n return (\n <TextWidget\n value={enumValue.join(', ')}\n isInherited={isInherited}\n columnId={columnId}\n {...sharedProps}\n {...pt?.text}\n />\n )\n }\n\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n columnId={columnId}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n tooltip ||\n (isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined)\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","tooltip","onChange","entityType","pt","props","ref","useRef","type","projectName","useProjectContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","NameWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","selectedOptions","TextWidget","EnumCellValue","EnumWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
1
+ {"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\nimport { useProjectContext } from '@shared/context'\nimport { EnumCellValue } from './EnumCellValue'\nimport { NameWidget } from '@shared/containers/ProjectTreeTable/widgets/NameWidget'\nimport { NameWidgetData } from '@shared/components/RenameForm'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = { type: AttributeData['type'] | 'links' | 'name' }\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n tooltip?: string\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n entityType?: string\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n tooltip,\n onChange,\n entityType,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectContext()\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n // NOTE: the selection of a cell is handled in ProjectTreeTable.tsx line 1324\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n case type === 'name': {\n return (\n <NameWidget\n value={value as CellValue}\n valueData={valueData as NameWidgetData}\n cellId={cellId}\n entityType={entityType || ''}\n {...sharedProps}\n />\n )\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n\n if (enumValue.length && !selectedOptions.length) {\n // value has something but it is not in options, show a placeholder\n return (\n <TextWidget\n value={enumValue.join(', ')}\n isInherited={isInherited}\n columnId={columnId}\n {...sharedProps}\n {...pt?.text}\n />\n )\n }\n\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n columnId={columnId}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n readonly: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n tooltip ||\n (isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined)\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","tooltip","onChange","entityType","pt","props","ref","useRef","type","projectName","useProjectContext","isEditing","setEditingCellId","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","handleDoubleClick","useCallback","handleSingleClick","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","_a","widget","useMemo","sharedProps","textTypes","firstSelectedOption","option","color","jsx","CollapsedWidget","NameWidget","linksValue","isEditable","isLinkEditable","LinksWidget","enumValue","selectedOptions","TextWidget","EnumCellValue","EnumWidget","DateWidget","BooleanWidget","clsx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../../../../../_virtual/jsx-runtime.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("clsx");require("lodash");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");const x=require("../../../components/Chips/Chips.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.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/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("uuid");require("../../../util/pubsub.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("./CollapsedWidget.cjs.js");require("./DateWidget.cjs.js");require("./EnumWidget.cjs.js");require("./TextWidget.cjs.js");require("./BooleanWidget.cjs.js");const C=require("./CellWidget.cjs.js");require("./EntityNameWidget.cjs.js");require("./GroupHeaderWidget.cjs.js");require("./ThumbnailWidget.cjs.js");const g=require("../../../components/LinksManager/CellEditingDialog.cjs.js"),h=require("../context/DetailsPanelEntityContext.cjs.js"),j=require("../context/SelectedRowsContext.cjs.js"),R=require("../../../components/LinksManager/LinksManager.styled.cjs.js"),m=require("../utils/restrictedEntity.cjs.js");require("./EmptyWidget.cjs.js");require("./ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("./LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("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/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");const L=require("../../../components/LinksManager/LinksManager.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.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/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.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/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");const E=e=>[...e].sort((i,u)=>{const t=i.parents.join("/")+i.label,n=u.parents.join("/")+u.label;return t.localeCompare(n)}),b=(e,i,u)=>{const t=i.split("|"),[n,s,y]=t;return e==="in"?u===y:u===s},T=({value:e,isEditing:i,cellId:u,projectName:t,disabled:n,folderId:s,onChange:y,onCancelEdit:a})=>{let o,l;const d=[];try{const r=h.useDetailsPanelEntityContext();o=r.setSelectedEntity,r.selectedEntity&&d.push(r.selectedEntity.entityId)}catch{}try{l=j.useSelectedRowsContext().clearRowsSelection}catch{}const k=(r,c)=>{m.isEntityRestricted(c)||(l&&l(),o?o({entityId:r,entityType:c}):console.log("Entity clicked:",r,c))},p=e!=null&&e.links?E(e.links):[];return q.jsxRuntimeExports.jsxs(q.jsxRuntimeExports.Fragment,{children:[q.jsxRuntimeExports.jsx(x.Chips,{values:p.map(r=>({label:r.label,tooltip:r.parents.join("/")+"/"+r.label}))||[],pt:{chip:{className:C.EDIT_TRIGGER_CLASS}},disabled:n}),i&&e&&q.jsxRuntimeExports.jsx(g.CellEditingDialog,{isEditing:i,anchorId:u,onClose:a,children:n?q.jsxRuntimeExports.jsx(R.Container,{style:{color:"var(--md-sys-color-outline)"},children:`${e.link.label||""} ${e.direction} link is not of type ${e.entityType}`}):q.jsxRuntimeExports.jsx(L.LinksManager,{projectName:t,linkTypeLabel:e.link.label||"",links:p,direction:e.direction,entityId:e.entityId,entityType:e.entityType,targetEntityType:e.link.targetEntityType,linkType:e.link.linkType,selectedEntityIds:d,onEntityClick:k,folderId:s,onClose:a})})]})};exports.LinksWidget=T;exports.isLinkEditable=b;exports.sortEntityLinksByPath=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../../../../../_virtual/jsx-runtime.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("@ynput/ayon-react-components");require("clsx");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("react-toastify");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("react");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../ProjectTreeTable.cjs.js");require("../context/CellEditingContext.cjs.js");require("short-uuid");require("@tanstack/react-table");require("./CollapsedWidget.cjs.js");require("./DateWidget.cjs.js");require("./EnumWidget.cjs.js");require("./TextWidget.cjs.js");require("./BooleanWidget.cjs.js");const x=require("./CellWidget.cjs.js");require("./EntityNameWidget.cjs.js");require("./GroupHeaderWidget.cjs.js");require("./ThumbnailWidget.cjs.js");const C=require("../../../components/LinksManager/CellEditingDialog.cjs.js"),g=require("../context/DetailsPanelEntityContext.cjs.js"),h=require("../context/SelectedRowsContext.cjs.js"),j=require("../../../components/LinksManager/LinksManager.styled.cjs.js"),R=require("../utils/restrictedEntity.cjs.js");require("./EmptyWidget.cjs.js");require("./ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("./LoadMoreWidget.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");const m=require("../../../components/Chips/Chips.cjs.js"),L=require("../../../components/LinksManager/LinksManager.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");const E=e=>[...e].sort((i,u)=>{const t=i.parents.join("/")+i.label,n=u.parents.join("/")+u.label;return t.localeCompare(n)}),b=(e,i,u)=>{const t=i.split("|"),[n,s,y]=t;return e==="in"?u===y:u===s},T=({value:e,isEditing:i,cellId:u,projectName:t,disabled:n,folderId:s,onChange:y,onCancelEdit:a})=>{let o,l;const d=[];try{const r=g.useDetailsPanelEntityContext();o=r.setSelectedEntity,r.selectedEntity&&d.push(r.selectedEntity.entityId)}catch{}try{l=h.useSelectedRowsContext().clearRowsSelection}catch{}const k=(r,c)=>{R.isEntityRestricted(c)||(l&&l(),o?o({entityId:r,entityType:c}):console.log("Entity clicked:",r,c))},p=e!=null&&e.links?E(e.links):[];return q.jsxRuntimeExports.jsxs(q.jsxRuntimeExports.Fragment,{children:[q.jsxRuntimeExports.jsx(m.Chips,{values:p.map(r=>({label:r.label,tooltip:r.parents.join("/")+"/"+r.label}))||[],pt:{chip:{className:x.EDIT_TRIGGER_CLASS}},disabled:n}),i&&e&&q.jsxRuntimeExports.jsx(C.CellEditingDialog,{isEditing:i,anchorId:u,onClose:a,children:n?q.jsxRuntimeExports.jsx(j.Container,{style:{color:"var(--md-sys-color-outline)"},children:`${e.link.label||""} ${e.direction} link is not of type ${e.entityType}`}):q.jsxRuntimeExports.jsx(L.LinksManager,{projectName:t,linkTypeLabel:e.link.label||"",links:p,direction:e.direction,entityId:e.entityId,entityType:e.entityType,targetEntityType:e.link.targetEntityType,linkType:e.link.linkType,selectedEntityIds:d,onEntityClick:k,folderId:s,onClose:a})})]})};exports.LinksWidget=T;exports.isLinkEditable=b;exports.sortEntityLinksByPath=E;
2
2
  //# sourceMappingURL=LinksWidget.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinksWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/LinksWidget.tsx"],"sourcesContent":["import { Chips, ChipValue, LinkEntity, LinksManager } from '@shared/components'\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport { FC } from 'react'\nimport { EDIT_TRIGGER_CLASS, WidgetBaseProps } from './CellWidget'\nimport { createPortal } from 'react-dom'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { useSelectedRowsContext } from '../context/SelectedRowsContext'\nimport { Container } from '@shared/components/LinksManager/LinksManager.styled'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport const sortEntityLinksByPath = (links: LinkEntity[]) => {\n return [...links].sort((a, b) => {\n const aPath = a.parents.join('/') + a.label\n const bPath = b.parents.join('/') + b.label\n\n return aPath.localeCompare(bPath)\n })\n}\n\nexport const isLinkEditable = (\n direction: 'in' | 'out',\n linkType: string,\n entityType: string,\n): boolean => {\n const linkTypeParts = linkType.split('|')\n const [_name, outType, inType] = linkTypeParts\n if (direction === 'in') {\n return entityType === inType\n } else {\n return entityType === outType\n }\n}\n\nexport type LinkWidgetData = {\n direction: 'in' | 'out'\n entityId: string\n entityType: string\n link: {\n linkType: string\n label: string\n targetEntityType: string\n }\n links: LinkEntity[]\n}\n\nexport interface LinksWidgetProps extends WidgetBaseProps {\n value?: LinkWidgetData\n projectName: string\n cellId: string\n disabled?: boolean\n folderId?: string | null // the folder selected or the parent folder of the selected (used in EntityPickerDialog)\n}\n\nexport const LinksWidget: FC<LinksWidgetProps> = ({\n value,\n isEditing,\n cellId,\n projectName,\n disabled,\n folderId,\n onChange: _onChange, // not used in this widget\n onCancelEdit,\n}) => {\n // Try to get the contexts, but they might not exist in all environments\n let setSelectedEntity:\n | ((entity: { entityId: string; entityType: 'folder' | 'task' }) => void)\n | undefined\n let clearRowsSelection: (() => void) | undefined\n\n const selectedEntityIds: string[] = []\n try {\n const entityContext = useDetailsPanelEntityContext()\n setSelectedEntity = entityContext.setSelectedEntity\n if (entityContext.selectedEntity) {\n selectedEntityIds.push(entityContext.selectedEntity.entityId)\n }\n } catch {\n // Context not available\n }\n\n try {\n const rowsContext = useSelectedRowsContext()\n clearRowsSelection = rowsContext.clearRowsSelection\n } catch {\n // Context not available\n }\n\n const handleEntityClick = (entityId: string, entityType: string) => {\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = isEntityRestricted(entityType)\n if (isRestricted) {\n return\n }\n\n // Clear any row selection first if context is available\n if (clearRowsSelection) {\n clearRowsSelection()\n }\n // Set the selected entity if context is available\n if (setSelectedEntity) {\n setSelectedEntity({\n entityId,\n entityType: entityType as 'folder' | 'task',\n })\n } else {\n // Fallback to console.log if contexts are not available\n console.log('Entity clicked:', entityId, entityType)\n }\n }\n\n const sortedLinks = value?.links ? sortEntityLinksByPath(value.links) : []\n\n return (\n <>\n <Chips\n values={\n sortedLinks.map((v) => ({\n label: v.label,\n tooltip: v.parents.join('/') + '/' + v.label,\n })) || []\n }\n pt={{ chip: { className: EDIT_TRIGGER_CLASS } }}\n disabled={disabled}\n />\n {isEditing && value && (\n <CellEditingDialog isEditing={isEditing} anchorId={cellId} onClose={onCancelEdit}>\n {disabled ? (\n <Container style={{ color: 'var(--md-sys-color-outline)' }}>\n {`${value.link.label || ''} ${value.direction} link is not of type ${\n value.entityType\n }`}\n </Container>\n ) : (\n <LinksManager\n projectName={projectName}\n linkTypeLabel={value.link.label || ''}\n links={sortedLinks}\n direction={value.direction}\n entityId={value.entityId}\n entityType={value.entityType}\n targetEntityType={value.link.targetEntityType}\n linkType={value.link.linkType}\n selectedEntityIds={selectedEntityIds}\n onEntityClick={handleEntityClick}\n folderId={folderId}\n onClose={onCancelEdit}\n />\n )}\n </CellEditingDialog>\n )}\n </>\n )\n}\n"],"names":["sortEntityLinksByPath","links","a","b","aPath","bPath","isLinkEditable","direction","linkType","entityType","linkTypeParts","_name","outType","inType","LinksWidget","value","isEditing","cellId","projectName","disabled","folderId","_onChange","onCancelEdit","setSelectedEntity","clearRowsSelection","selectedEntityIds","entityContext","useDetailsPanelEntityContext","useSelectedRowsContext","handleEntityClick","entityId","isEntityRestricted","sortedLinks","jsxs","Fragment","jsx","Chips","v","EDIT_TRIGGER_CLASS","CellEditingDialog","Container","LinksManager"],"mappings":"g2aAUa,MAAAA,EAAyBC,GAC7B,CAAC,GAAGA,CAAK,EAAE,KAAK,CAACC,EAAGC,IAAM,CAC/B,MAAMC,EAAQF,EAAE,QAAQ,KAAK,GAAG,EAAIA,EAAE,MAChCG,EAAQF,EAAE,QAAQ,KAAK,GAAG,EAAIA,EAAE,MAE/B,OAAAC,EAAM,cAAcC,CAAK,CAAA,CACjC,EAGUC,EAAiB,CAC5BC,EACAC,EACAC,IACY,CACN,MAAAC,EAAgBF,EAAS,MAAM,GAAG,EAClC,CAACG,EAAOC,EAASC,CAAM,EAAIH,EACjC,OAAIH,IAAc,KACTE,IAAeI,EAEfJ,IAAeG,CAE1B,EAsBaE,EAAoC,CAAC,CAChD,MAAAC,EACA,UAAAC,EACA,OAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAUC,EACV,aAAAC,CACF,IAAM,CAEA,IAAAC,EAGAC,EAEJ,MAAMC,EAA8B,CAAC,EACjC,GAAA,CACF,MAAMC,EAAgBC,EAAAA,6BAA6B,EACnDJ,EAAoBG,EAAc,kBAC9BA,EAAc,gBACED,EAAA,KAAKC,EAAc,eAAe,QAAQ,CAC9D,MACM,CAAA,CAIJ,GAAA,CAEFF,EADoBI,EAAAA,uBAAuB,EACV,kBAAA,MAC3B,CAAA,CAIF,MAAAC,EAAoB,CAACC,EAAkBrB,IAAuB,CAE7CsB,qBAAmBtB,CAAU,IAM9Ce,GACiBA,EAAA,EAGjBD,EACgBA,EAAA,CAChB,SAAAO,EACA,WAAArB,CAAA,CACD,EAGO,QAAA,IAAI,kBAAmBqB,EAAUrB,CAAU,EAEvD,EAEMuB,EAAcjB,GAAA,MAAAA,EAAO,MAAQf,EAAsBe,EAAM,KAAK,EAAI,CAAC,EAEzE,OAEIkB,EAAA,kBAAA,KAAAC,6BAAA,CAAA,SAAA,CAAAC,EAAA,kBAAA,IAACC,EAAA,MAAA,CACC,OACEJ,EAAY,IAAKK,IAAO,CACtB,MAAOA,EAAE,MACT,QAASA,EAAE,QAAQ,KAAK,GAAG,EAAI,IAAMA,EAAE,KACzC,EAAE,GAAK,CAAC,EAEV,GAAI,CAAE,KAAM,CAAE,UAAWC,qBAAqB,EAC9C,SAAAnB,CAAA,CACF,EACCH,GAAaD,GACXoB,EAAA,kBAAA,IAAAI,EAAA,kBAAA,CAAkB,UAAAvB,EAAsB,SAAUC,EAAQ,QAASK,EACjE,SAAAH,EACEgB,EAAA,kBAAA,IAAAK,EAAA,UAAA,CAAU,MAAO,CAAE,MAAO,6BACxB,EAAA,SAAA,GAAGzB,EAAM,KAAK,OAAS,EAAE,IAAIA,EAAM,SAAS,wBAC3CA,EAAM,UACR,EACF,CAAA,EAEAoB,EAAA,kBAAA,IAACM,EAAA,aAAA,CACC,YAAAvB,EACA,cAAeH,EAAM,KAAK,OAAS,GACnC,MAAOiB,EACP,UAAWjB,EAAM,UACjB,SAAUA,EAAM,SAChB,WAAYA,EAAM,WAClB,iBAAkBA,EAAM,KAAK,iBAC7B,SAAUA,EAAM,KAAK,SACrB,kBAAAU,EACA,cAAeI,EACf,SAAAT,EACA,QAASE,CAAA,CAAA,CAGf,CAAA,CAAA,EAEJ,CAEJ"}
1
+ {"version":3,"file":"LinksWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/LinksWidget.tsx"],"sourcesContent":["import { Chips, ChipValue, LinkEntity, LinksManager } from '@shared/components'\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport { FC } from 'react'\nimport { EDIT_TRIGGER_CLASS, WidgetBaseProps } from './CellWidget'\nimport { createPortal } from 'react-dom'\nimport { useDetailsPanelEntityContext } from '../context/DetailsPanelEntityContext'\nimport { useSelectedRowsContext } from '../context/SelectedRowsContext'\nimport { Container } from '@shared/components/LinksManager/LinksManager.styled'\nimport { isEntityRestricted } from '../utils/restrictedEntity'\n\nexport const sortEntityLinksByPath = (links: LinkEntity[]) => {\n return [...links].sort((a, b) => {\n const aPath = a.parents.join('/') + a.label\n const bPath = b.parents.join('/') + b.label\n\n return aPath.localeCompare(bPath)\n })\n}\n\nexport const isLinkEditable = (\n direction: 'in' | 'out',\n linkType: string,\n entityType: string,\n): boolean => {\n const linkTypeParts = linkType.split('|')\n const [_name, outType, inType] = linkTypeParts\n if (direction === 'in') {\n return entityType === inType\n } else {\n return entityType === outType\n }\n}\n\nexport type LinkWidgetData = {\n direction: 'in' | 'out'\n entityId: string\n entityType: string\n link: {\n linkType: string\n label: string\n targetEntityType: string\n }\n links: LinkEntity[]\n}\n\nexport interface LinksWidgetProps extends WidgetBaseProps {\n value?: LinkWidgetData\n projectName: string\n cellId: string\n disabled?: boolean\n folderId?: string | null // the folder selected or the parent folder of the selected (used in EntityPickerDialog)\n}\n\nexport const LinksWidget: FC<LinksWidgetProps> = ({\n value,\n isEditing,\n cellId,\n projectName,\n disabled,\n folderId,\n onChange: _onChange, // not used in this widget\n onCancelEdit,\n}) => {\n // Try to get the contexts, but they might not exist in all environments\n let setSelectedEntity:\n | ((entity: { entityId: string; entityType: 'folder' | 'task' }) => void)\n | undefined\n let clearRowsSelection: (() => void) | undefined\n\n const selectedEntityIds: string[] = []\n try {\n const entityContext = useDetailsPanelEntityContext()\n setSelectedEntity = entityContext.setSelectedEntity\n if (entityContext.selectedEntity) {\n selectedEntityIds.push(entityContext.selectedEntity.entityId)\n }\n } catch {\n // Context not available\n }\n\n try {\n const rowsContext = useSelectedRowsContext()\n clearRowsSelection = rowsContext.clearRowsSelection\n } catch {\n // Context not available\n }\n\n const handleEntityClick = (entityId: string, entityType: string) => {\n // Check if entity is restricted - prevent opening details panel\n const isRestricted = isEntityRestricted(entityType)\n if (isRestricted) {\n return\n }\n\n // Clear any row selection first if context is available\n if (clearRowsSelection) {\n clearRowsSelection()\n }\n // Set the selected entity if context is available\n if (setSelectedEntity) {\n setSelectedEntity({\n entityId,\n entityType: entityType as 'folder' | 'task',\n })\n } else {\n // Fallback to console.log if contexts are not available\n console.log('Entity clicked:', entityId, entityType)\n }\n }\n\n const sortedLinks = value?.links ? sortEntityLinksByPath(value.links) : []\n\n return (\n <>\n <Chips\n values={\n sortedLinks.map((v) => ({\n label: v.label,\n tooltip: v.parents.join('/') + '/' + v.label,\n })) || []\n }\n pt={{ chip: { className: EDIT_TRIGGER_CLASS } }}\n disabled={disabled}\n />\n {isEditing && value && (\n <CellEditingDialog isEditing={isEditing} anchorId={cellId} onClose={onCancelEdit}>\n {disabled ? (\n <Container style={{ color: 'var(--md-sys-color-outline)' }}>\n {`${value.link.label || ''} ${value.direction} link is not of type ${\n value.entityType\n }`}\n </Container>\n ) : (\n <LinksManager\n projectName={projectName}\n linkTypeLabel={value.link.label || ''}\n links={sortedLinks}\n direction={value.direction}\n entityId={value.entityId}\n entityType={value.entityType}\n targetEntityType={value.link.targetEntityType}\n linkType={value.link.linkType}\n selectedEntityIds={selectedEntityIds}\n onEntityClick={handleEntityClick}\n folderId={folderId}\n onClose={onCancelEdit}\n />\n )}\n </CellEditingDialog>\n )}\n </>\n )\n}\n"],"names":["sortEntityLinksByPath","links","a","b","aPath","bPath","isLinkEditable","direction","linkType","entityType","linkTypeParts","_name","outType","inType","LinksWidget","value","isEditing","cellId","projectName","disabled","folderId","_onChange","onCancelEdit","setSelectedEntity","clearRowsSelection","selectedEntityIds","entityContext","useDetailsPanelEntityContext","useSelectedRowsContext","handleEntityClick","entityId","isEntityRestricted","sortedLinks","jsxs","Fragment","jsx","Chips","v","EDIT_TRIGGER_CLASS","CellEditingDialog","Container","LinksManager"],"mappings":"4qbAUa,MAAAA,EAAyBC,GAC7B,CAAC,GAAGA,CAAK,EAAE,KAAK,CAACC,EAAGC,IAAM,CAC/B,MAAMC,EAAQF,EAAE,QAAQ,KAAK,GAAG,EAAIA,EAAE,MAChCG,EAAQF,EAAE,QAAQ,KAAK,GAAG,EAAIA,EAAE,MAE/B,OAAAC,EAAM,cAAcC,CAAK,CAAA,CACjC,EAGUC,EAAiB,CAC5BC,EACAC,EACAC,IACY,CACN,MAAAC,EAAgBF,EAAS,MAAM,GAAG,EAClC,CAACG,EAAOC,EAASC,CAAM,EAAIH,EACjC,OAAIH,IAAc,KACTE,IAAeI,EAEfJ,IAAeG,CAE1B,EAsBaE,EAAoC,CAAC,CAChD,MAAAC,EACA,UAAAC,EACA,OAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAUC,EACV,aAAAC,CACF,IAAM,CAEA,IAAAC,EAGAC,EAEJ,MAAMC,EAA8B,CAAC,EACjC,GAAA,CACF,MAAMC,EAAgBC,EAAAA,6BAA6B,EACnDJ,EAAoBG,EAAc,kBAC9BA,EAAc,gBACED,EAAA,KAAKC,EAAc,eAAe,QAAQ,CAC9D,MACM,CAAA,CAIJ,GAAA,CAEFF,EADoBI,EAAAA,uBAAuB,EACV,kBAAA,MAC3B,CAAA,CAIF,MAAAC,EAAoB,CAACC,EAAkBrB,IAAuB,CAE7CsB,qBAAmBtB,CAAU,IAM9Ce,GACiBA,EAAA,EAGjBD,EACgBA,EAAA,CAChB,SAAAO,EACA,WAAArB,CAAA,CACD,EAGO,QAAA,IAAI,kBAAmBqB,EAAUrB,CAAU,EAEvD,EAEMuB,EAAcjB,GAAA,MAAAA,EAAO,MAAQf,EAAsBe,EAAM,KAAK,EAAI,CAAC,EAEzE,OAEIkB,EAAA,kBAAA,KAAAC,6BAAA,CAAA,SAAA,CAAAC,EAAA,kBAAA,IAACC,EAAA,MAAA,CACC,OACEJ,EAAY,IAAKK,IAAO,CACtB,MAAOA,EAAE,MACT,QAASA,EAAE,QAAQ,KAAK,GAAG,EAAI,IAAMA,EAAE,KACzC,EAAE,GAAK,CAAC,EAEV,GAAI,CAAE,KAAM,CAAE,UAAWC,qBAAqB,EAC9C,SAAAnB,CAAA,CACF,EACCH,GAAaD,GACXoB,EAAA,kBAAA,IAAAI,EAAA,kBAAA,CAAkB,UAAAvB,EAAsB,SAAUC,EAAQ,QAASK,EACjE,SAAAH,EACEgB,EAAA,kBAAA,IAAAK,EAAA,UAAA,CAAU,MAAO,CAAE,MAAO,6BACxB,EAAA,SAAA,GAAGzB,EAAM,KAAK,OAAS,EAAE,IAAIA,EAAM,SAAS,wBAC3CA,EAAM,UACR,EACF,CAAA,EAEAoB,EAAA,kBAAA,IAACM,EAAA,aAAA,CACC,YAAAvB,EACA,cAAeH,EAAM,KAAK,OAAS,GACnC,MAAOiB,EACP,UAAWjB,EAAM,UACjB,SAAUA,EAAM,SAChB,WAAYA,EAAM,WAClB,iBAAkBA,EAAM,KAAK,iBAC7B,SAAUA,EAAM,KAAK,SACrB,kBAAAU,EACA,cAAeI,EACf,SAAAT,EACA,QAASE,CAAA,CAAA,CAGf,CAAA,CAAA,EAEJ,CAEJ"}