@ynput/ayon-frontend-shared 0.3.15 → 0.3.17

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 (419) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +28 -24
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Views.cjs.js +1 -1
  5. package/dist/Views.cjs.js.map +1 -1
  6. package/dist/Views.es.js +36 -41
  7. package/dist/Views.es.js.map +1 -1
  8. package/dist/_virtual/index.cjs.js +1 -1
  9. package/dist/_virtual/index.cjs2.js +1 -1
  10. package/dist/_virtual/index.cjs3.js +1 -1
  11. package/dist/_virtual/index.cjs4.js +1 -1
  12. package/dist/_virtual/index.cjs5.js +1 -1
  13. package/dist/_virtual/index.cjs6.js +1 -1
  14. package/dist/_virtual/index.cjs8.js +1 -1
  15. package/dist/_virtual/index.es.js +4 -5
  16. package/dist/_virtual/index.es2.js +6 -2
  17. package/dist/_virtual/index.es2.js.map +1 -1
  18. package/dist/_virtual/index.es3.js +2 -5
  19. package/dist/_virtual/index.es3.js.map +1 -1
  20. package/dist/_virtual/index.es4.js +5 -2
  21. package/dist/_virtual/index.es4.js.map +1 -1
  22. package/dist/_virtual/index.es5.js +2 -5
  23. package/dist/_virtual/index.es5.js.map +1 -1
  24. package/dist/_virtual/index.es6.js +5 -2
  25. package/dist/_virtual/index.es6.js.map +1 -1
  26. package/dist/_virtual/index.es7.js +2 -2
  27. package/dist/_virtual/index.es8.js +2 -5
  28. package/dist/_virtual/index.es8.js.map +1 -1
  29. package/dist/index.cjs.js +1 -1
  30. package/dist/index.es.js +15 -11
  31. package/dist/index.es.js.map +1 -1
  32. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  33. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  34. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  35. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  36. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  37. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js.map +1 -1
  38. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  39. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  40. package/dist/node_modules/remove-accents/index.es.js +1 -1
  41. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  42. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  43. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  44. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  45. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  46. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  47. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  48. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  49. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  51. package/dist/shared/src/api/generated/access.cjs.js.map +1 -1
  52. package/dist/shared/src/api/generated/access.es.js.map +1 -1
  53. package/dist/shared/src/api/generated/graphql.cjs.js +5 -3
  54. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  55. package/dist/shared/src/api/generated/graphql.es.js +2 -0
  56. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  59. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  60. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  61. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +99 -90
  62. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  63. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +13 -1
  64. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  65. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +72 -25
  66. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  67. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  68. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  69. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +25 -21
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  71. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  72. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  73. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +14 -14
  74. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  75. package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +1 -1
  76. package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
  77. package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +23 -23
  78. package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -1
  79. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  80. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  81. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +71 -36
  82. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  83. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  84. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  85. package/dist/shared/src/components/LinksManager/LinksManager.es.js +120 -89
  86. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  87. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +52 -12
  88. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  89. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +63 -21
  90. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  91. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  92. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  93. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -4
  94. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  95. package/dist/shared/src/components/LinksManager/utils/groupLinks.cjs.js +2 -0
  96. package/dist/shared/src/components/LinksManager/utils/groupLinks.cjs.js.map +1 -0
  97. package/dist/shared/src/components/LinksManager/utils/groupLinks.es.js +18 -0
  98. package/dist/shared/src/components/LinksManager/utils/groupLinks.es.js.map +1 -0
  99. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  100. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  101. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +8 -4
  102. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  103. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -6
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  107. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  108. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  109. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +8 -4
  110. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  111. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  112. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  113. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -4
  114. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  115. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  116. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  117. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +8 -4
  118. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  119. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  120. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  121. package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -5
  122. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +139 -128
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  127. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  128. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  129. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +90 -81
  130. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  131. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  132. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  133. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -4
  134. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  135. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
  136. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
  137. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +9 -5
  138. package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
  139. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  140. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  141. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +8 -4
  142. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  143. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +8 -4
  146. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  147. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  148. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  149. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -4
  150. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  151. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  152. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  153. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -4
  154. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  155. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  156. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  157. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +20 -16
  158. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  159. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  160. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  161. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -4
  162. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  163. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  164. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  165. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -5
  166. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  167. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  168. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +12 -8
  170. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  171. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +22 -18
  174. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  175. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +8 -4
  178. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +8 -4
  182. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  183. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  184. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +57 -45
  186. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  187. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  188. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  189. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +8 -4
  190. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  191. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  192. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  193. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +8 -4
  194. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  195. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  196. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  197. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +8 -4
  198. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  199. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  201. package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.cjs.js +2 -0
  202. package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.cjs.js.map +1 -0
  203. package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.es.js +70 -0
  204. package/dist/shared/src/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.es.js.map +1 -0
  205. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  206. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/Feed/Feed.es.js +247 -151
  208. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  209. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  210. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -4
  212. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  213. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  214. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +6 -2
  216. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  217. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +1 -0
  218. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +1 -0
  220. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  221. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  222. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +9 -5
  224. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  225. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  226. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -4
  228. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  229. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js +1 -1
  230. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js +3 -3
  232. package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.styled.es.js.map +1 -1
  233. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  234. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +8 -4
  236. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +59 -55
  240. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +9 -5
  244. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +8 -4
  248. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +6 -2
  252. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +8 -4
  256. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +8 -4
  260. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +16 -16
  264. package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -2
  268. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +9 -5
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +6 -2
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +8 -4
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +8 -4
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +6 -2
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +6 -2
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +6 -2
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +8 -4
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +8 -4
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +6 -2
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +6 -2
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +6 -2
  316. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +17 -13
  320. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +7 -3
  324. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +60 -48
  328. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +6 -2
  332. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  334. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +8 -4
  336. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  337. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  338. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +24 -24
  339. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  340. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +8 -4
  342. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  343. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  344. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -4
  346. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  347. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  348. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  349. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  350. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -4
  352. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  353. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  354. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +24 -23
  356. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  357. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  358. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +83 -88
  360. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  361. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
  362. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +1 -1
  364. package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
  365. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  366. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +56 -53
  368. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  369. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  370. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +23 -144
  372. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  373. package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.cjs.js.map +1 -1
  374. package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.es.js.map +1 -1
  375. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  377. package/dist/shared/src/containers/Views/types.cjs.js +2 -0
  378. package/dist/shared/src/containers/Views/types.cjs.js.map +1 -0
  379. package/dist/shared/src/containers/Views/types.es.js +15 -0
  380. package/dist/shared/src/containers/Views/types.es.js.map +1 -0
  381. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
  382. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
  383. package/dist/shared/src/containers/Views/utils/isViewStudioScope.cjs.js +2 -0
  384. package/dist/shared/src/containers/Views/utils/isViewStudioScope.cjs.js.map +1 -0
  385. package/dist/shared/src/containers/Views/utils/isViewStudioScope.es.js +5 -0
  386. package/dist/shared/src/containers/Views/utils/isViewStudioScope.es.js.map +1 -0
  387. package/dist/shared/src/containers/Views/utils/portalUtils.cjs.js.map +1 -1
  388. package/dist/shared/src/containers/Views/utils/portalUtils.es.js.map +1 -1
  389. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  390. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  391. package/dist/shared/src/context/DetailsPanelContext.es.js +76 -77
  392. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  393. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  394. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  395. package/dist/shared/src/context/WebsocketContext.es.js +9 -5
  396. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  397. package/dist/types/api/generated/access.d.ts +6 -0
  398. package/dist/types/api/generated/graphql.d.ts +8 -4
  399. package/dist/types/api/generated/users.d.ts +6 -1
  400. package/dist/types/components/AttributeEditor/AttributeEditor.d.ts +1 -0
  401. package/dist/types/components/LinksManager/LinkManagerItem.d.ts +2 -0
  402. package/dist/types/components/LinksManager/LinksManager.styled.d.ts +6 -0
  403. package/dist/types/components/LinksManager/utils/groupLinks.d.ts +14 -0
  404. package/dist/types/components/ReviewablesList/ReviewablesUpload.d.ts +1 -0
  405. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
  406. package/dist/types/containers/EntityPickerDialog/hooks/usePreserveChildSelectionByName.d.ts +11 -0
  407. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +1 -0
  408. package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +2 -1
  409. package/dist/types/containers/Views/ViewsMenuContainer/ViewsMenuContainer.d.ts +2 -2
  410. package/dist/types/containers/Views/context/ViewsContext.d.ts +3 -2
  411. package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +1 -1
  412. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -3
  413. package/dist/types/containers/Views/hooks/useSaveViewFromCurrent.d.ts +2 -1
  414. package/dist/types/containers/Views/hooks/useViewSettingsChanged.d.ts +1 -1
  415. package/dist/types/containers/Views/index.d.ts +1 -7
  416. package/dist/types/containers/Views/types.d.ts +10 -0
  417. package/dist/types/containers/Views/utils/isViewStudioScope.d.ts +2 -0
  418. package/dist/types/containers/Views/utils/portalUtils.d.ts +1 -1
  419. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"WebsocketContext.es.js","sources":["../../../../src/context/WebsocketContext.tsx"],"sourcesContent":["import { useEffect, useState, createContext, useCallback, useRef, useContext } from 'react'\nimport { toast } from 'react-toastify'\nimport { PubSub } from '@shared/util'\nimport useWebSocket, { ReadyState } from 'react-use-websocket'\nimport { debounce, isEqual } from 'lodash'\nimport api from '@shared/api'\nimport { RefreshToast } from '@shared/components'\nimport { useLazyGetSiteInfoQuery } from '@shared/api'\nimport { WebSocketLike } from 'react-use-websocket/dist/lib/types'\n\nexport type WebsocketContextType = {\n getWebSocket: () => WebSocketLike | null\n readyState: ReadyState\n serverRestartingVisible: boolean\n}\n\nexport const SocketContext = createContext<WebsocketContextType | undefined>(undefined)\n\nconst proto = window.location.protocol.replace('http', 'ws')\nconst wsAddress = `${proto}//${window.location.host}/ws`\n\n// define global window senderId type\ndeclare global {\n interface Window {\n senderId: string\n }\n}\n\nexport type SocketProviderProps = {\n children: React.ReactNode\n userName?: string\n projectName?: string\n dispatch: any\n}\n\nexport const SocketProvider = ({\n children,\n userName,\n projectName,\n dispatch,\n}: SocketProviderProps) => {\n // get user logged in\n const [serverRestartingVisible, setServerRestartingVisible] = useState(false)\n const [topics, setTopics] = useState([])\n const [getInfo] = useLazyGetSiteInfoQuery()\n\n const wsOpts = {\n shouldReconnect: () => {\n if (!userName) return false\n // check if there is a token\n const accessToken = localStorage.getItem('accessToken')\n if (!accessToken) return false\n\n // test if the token is valid\n // if it's not then this will automatically log out the user\n getInfo({ full: false }).unwrap()\n\n return true\n },\n }\n\n const { sendMessage, readyState, getWebSocket } = useWebSocket(wsAddress, wsOpts)\n\n const subscribe = () => {\n sendMessage(\n JSON.stringify({\n topic: 'auth',\n token: localStorage.getItem('accessToken'),\n subscribe: topics,\n project: projectName,\n }),\n )\n }\n\n useEffect(() => {\n console.debug('Topics changed', topics)\n subscribe()\n }, [topics, projectName])\n\n const updateTopicsDebounce = debounce((newTopics) => {\n if (isEqual(topics, newTopics)) return\n console.log('WS: Subscriptions changed')\n setTopics(newTopics)\n }, 200)\n\n PubSub.setOnSubscriptionsChange((newTopics: string[]) => updateTopicsDebounce(newTopics))\n\n const [overloaded, setOverloaded] = useState(false)\n const [toastShown, setToastShown] = useState(false)\n\n // when overloaded is true, activate toast\n useEffect(() => {\n if (overloaded)\n if (!toastShown) {\n toast.warning(<RefreshToast />, {\n autoClose: false,\n closeButton: false,\n })\n setToastShown(true)\n }\n\n return () => {\n setOverloaded(false)\n }\n }, [overloaded, setOverloaded])\n\n // onMessage is a function that is called when a message comes in from the websocket\n // it is a closure that keeps track of the number of calls and the last call time\n // Using useRef to persist the closure state across renders\n const messageStatsRef = useRef({ callCount: 0, lastCall: Date.now() })\n\n const onMessage = useCallback(\n (message: any) => {\n // If the function is called more than 100 times per second, return early.\n const threshold = 1000\n if (messageStatsRef.current.callCount > threshold) {\n setOverloaded(true)\n return console.log(\n `Overload: Over ${threshold} messages per second. Ignoring subsequent messages.`,\n )\n }\n\n let data\n try {\n data = JSON.parse(message.data)\n } catch (error) {\n console.error('Failed to parse websocket message:', error, message.data)\n return\n }\n\n const { topic, sender, summary } = data || {}\n if (topic === 'heartbeat') return\n\n if (topic === 'server.restart_requested') setServerRestartingVisible(true)\n\n if (sender === window.senderId) {\n return // my own message. ignore\n }\n\n const now = Date.now()\n if (now - messageStatsRef.current.lastCall < 1000) {\n messageStatsRef.current.callCount += 1\n } else {\n messageStatsRef.current.callCount = 0\n }\n\n messageStatsRef.current.lastCall = now\n\n if (topic === 'shout' && data?.summary?.text) toast.info(summary.text)\n\n console.log('Event RX', data)\n PubSub.publish(topic, data)\n },\n [setServerRestartingVisible],\n )\n\n useEffect(() => {\n if (readyState === ReadyState.OPEN) {\n if (serverRestartingVisible) {\n setServerRestartingVisible(false)\n // clear ayonApi\n dispatch(api.util.resetApiState())\n }\n // @ts-ignore\n getWebSocket().onmessage = onMessage\n subscribe()\n // Dispatch a fake event to the frontend components\n // in case they depend on the event stream and may\n // miss some messages - this should force reloading\n // events using graphql\n PubSub.publish('client.connected', {\n topic: 'client.connected',\n })\n }\n }, [readyState, getWebSocket])\n\n return (\n <SocketContext.Provider\n value={{\n getWebSocket,\n readyState,\n serverRestartingVisible,\n }}\n >\n {children}\n </SocketContext.Provider>\n )\n}\n\nexport const useSocketContext = () => {\n const context = useContext(SocketContext)\n if (context === undefined) {\n throw new Error('useSocketContext must be used within a SocketProvider')\n }\n return context\n}\n"],"names":["SocketContext","createContext","proto","wsAddress","SocketProvider","children","userName","projectName","dispatch","serverRestartingVisible","setServerRestartingVisible","useState","topics","setTopics","getInfo","useLazyGetSiteInfoQuery","wsOpts","sendMessage","readyState","getWebSocket","useWebSocket","subscribe","useEffect","updateTopicsDebounce","debounce","newTopics","isEqual","PubSub","overloaded","setOverloaded","toastShown","setToastShown","toast","jsx","RefreshToast","messageStatsRef","useRef","onMessage","useCallback","message","data","error","topic","sender","summary","now","ReadyState","api","useSocketContext","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"WebsocketContext.es.js","sources":["../../../../src/context/WebsocketContext.tsx"],"sourcesContent":["import { useEffect, useState, createContext, useCallback, useRef, useContext } from 'react'\nimport { toast } from 'react-toastify'\nimport { PubSub } from '@shared/util'\nimport useWebSocket, { ReadyState } from 'react-use-websocket'\nimport { debounce, isEqual } from 'lodash'\nimport api from '@shared/api'\nimport { RefreshToast } from '@shared/components'\nimport { useLazyGetSiteInfoQuery } from '@shared/api'\nimport { WebSocketLike } from 'react-use-websocket/dist/lib/types'\n\nexport type WebsocketContextType = {\n getWebSocket: () => WebSocketLike | null\n readyState: ReadyState\n serverRestartingVisible: boolean\n}\n\nexport const SocketContext = createContext<WebsocketContextType | undefined>(undefined)\n\nconst proto = window.location.protocol.replace('http', 'ws')\nconst wsAddress = `${proto}//${window.location.host}/ws`\n\n// define global window senderId type\ndeclare global {\n interface Window {\n senderId: string\n }\n}\n\nexport type SocketProviderProps = {\n children: React.ReactNode\n userName?: string\n projectName?: string\n dispatch: any\n}\n\nexport const SocketProvider = ({\n children,\n userName,\n projectName,\n dispatch,\n}: SocketProviderProps) => {\n // get user logged in\n const [serverRestartingVisible, setServerRestartingVisible] = useState(false)\n const [topics, setTopics] = useState([])\n const [getInfo] = useLazyGetSiteInfoQuery()\n\n const wsOpts = {\n shouldReconnect: () => {\n if (!userName) return false\n // check if there is a token\n const accessToken = localStorage.getItem('accessToken')\n if (!accessToken) return false\n\n // test if the token is valid\n // if it's not then this will automatically log out the user\n getInfo({ full: false }).unwrap()\n\n return true\n },\n }\n\n const { sendMessage, readyState, getWebSocket } = useWebSocket(wsAddress, wsOpts)\n\n const subscribe = () => {\n sendMessage(\n JSON.stringify({\n topic: 'auth',\n token: localStorage.getItem('accessToken'),\n subscribe: topics,\n project: projectName,\n }),\n )\n }\n\n useEffect(() => {\n console.debug('Topics changed', topics)\n subscribe()\n }, [topics, projectName])\n\n const updateTopicsDebounce = debounce((newTopics) => {\n if (isEqual(topics, newTopics)) return\n console.log('WS: Subscriptions changed')\n setTopics(newTopics)\n }, 200)\n\n PubSub.setOnSubscriptionsChange((newTopics: string[]) => updateTopicsDebounce(newTopics))\n\n const [overloaded, setOverloaded] = useState(false)\n const [toastShown, setToastShown] = useState(false)\n\n // when overloaded is true, activate toast\n useEffect(() => {\n if (overloaded)\n if (!toastShown) {\n toast.warning(<RefreshToast />, {\n autoClose: false,\n closeButton: false,\n })\n setToastShown(true)\n }\n\n return () => {\n setOverloaded(false)\n }\n }, [overloaded, setOverloaded])\n\n // onMessage is a function that is called when a message comes in from the websocket\n // it is a closure that keeps track of the number of calls and the last call time\n // Using useRef to persist the closure state across renders\n const messageStatsRef = useRef({ callCount: 0, lastCall: Date.now() })\n\n const onMessage = useCallback(\n (message: any) => {\n // If the function is called more than 100 times per second, return early.\n const threshold = 1000\n if (messageStatsRef.current.callCount > threshold) {\n setOverloaded(true)\n return console.log(\n `Overload: Over ${threshold} messages per second. Ignoring subsequent messages.`,\n )\n }\n\n let data\n try {\n data = JSON.parse(message.data)\n } catch (error) {\n console.error('Failed to parse websocket message:', error, message.data)\n return\n }\n\n const { topic, sender, summary } = data || {}\n if (topic === 'heartbeat') return\n\n if (topic === 'server.restart_requested') setServerRestartingVisible(true)\n\n if (sender === window.senderId) {\n return // my own message. ignore\n }\n\n const now = Date.now()\n if (now - messageStatsRef.current.lastCall < 1000) {\n messageStatsRef.current.callCount += 1\n } else {\n messageStatsRef.current.callCount = 0\n }\n\n messageStatsRef.current.lastCall = now\n\n if (topic === 'shout' && data?.summary?.text) toast.info(summary.text)\n\n console.log('Event RX', data)\n PubSub.publish(topic, data)\n },\n [setServerRestartingVisible],\n )\n\n useEffect(() => {\n if (readyState === ReadyState.OPEN) {\n if (serverRestartingVisible) {\n setServerRestartingVisible(false)\n // clear ayonApi\n dispatch(api.util.resetApiState())\n }\n // @ts-ignore\n getWebSocket().onmessage = onMessage\n subscribe()\n // Dispatch a fake event to the frontend components\n // in case they depend on the event stream and may\n // miss some messages - this should force reloading\n // events using graphql\n PubSub.publish('client.connected', {\n topic: 'client.connected',\n })\n }\n }, [readyState, getWebSocket])\n\n return (\n <SocketContext.Provider\n value={{\n getWebSocket,\n readyState,\n serverRestartingVisible,\n }}\n >\n {children}\n </SocketContext.Provider>\n )\n}\n\nexport const useSocketContext = () => {\n const context = useContext(SocketContext)\n if (context === undefined) {\n throw new Error('useSocketContext must be used within a SocketProvider')\n }\n return context\n}\n"],"names":["SocketContext","createContext","proto","wsAddress","SocketProvider","children","userName","projectName","dispatch","serverRestartingVisible","setServerRestartingVisible","useState","topics","setTopics","getInfo","useLazyGetSiteInfoQuery","wsOpts","sendMessage","readyState","getWebSocket","useWebSocket","subscribe","useEffect","updateTopicsDebounce","debounce","newTopics","isEqual","PubSub","overloaded","setOverloaded","toastShown","setToastShown","toast","jsx","RefreshToast","messageStatsRef","useRef","onMessage","useCallback","message","data","error","topic","sender","summary","now","ReadyState","api","useSocketContext","context","useContext"],"mappings":"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"}
@@ -90,6 +90,10 @@ export type AttributeWriteAccessList = {
90
90
  attributes?: string[];
91
91
  fields?: string[];
92
92
  };
93
+ export type ActivitiesAccessList = {
94
+ enabled?: boolean;
95
+ activities?: string[];
96
+ };
93
97
  export type ActionsAccessList = {
94
98
  enabled?: boolean;
95
99
  actions?: string[];
@@ -123,6 +127,8 @@ export type Permissions = {
123
127
  attrib_read?: AttributeReadAccessList;
124
128
  /** Whitelist attributes a user can write */
125
129
  attrib_write?: AttributeWriteAccessList;
130
+ /** Whitelist activities a user can perform */
131
+ activities?: ActivitiesAccessList;
126
132
  /** Whitelist actions a user can perform */
127
133
  actions?: ActionsAccessList;
128
134
  /** Whitelist link types a user can create between entities */
@@ -2748,6 +2748,7 @@ export type GetProductsQuery = {
2748
2748
  tags: Array<string>;
2749
2749
  type: string;
2750
2750
  productType: string;
2751
+ productBaseType?: string | null;
2751
2752
  allAttrib: string;
2752
2753
  parents: Array<string>;
2753
2754
  createdAt: any;
@@ -2850,6 +2851,7 @@ export type GetVersionsQuery = {
2850
2851
  id: string;
2851
2852
  name: string;
2852
2853
  productType: string;
2854
+ productBaseType?: string | null;
2853
2855
  allAttrib: string;
2854
2856
  folder: {
2855
2857
  __typename?: 'FolderNode';
@@ -2922,6 +2924,7 @@ export type GetVersionsByProductIdQuery = {
2922
2924
  id: string;
2923
2925
  name: string;
2924
2926
  productType: string;
2927
+ productBaseType?: string | null;
2925
2928
  allAttrib: string;
2926
2929
  folder: {
2927
2930
  __typename?: 'FolderNode';
@@ -2990,6 +2993,7 @@ export type VersionExtendedFragment = {
2990
2993
  id: string;
2991
2994
  name: string;
2992
2995
  productType: string;
2996
+ productBaseType?: string | null;
2993
2997
  allAttrib: string;
2994
2998
  folder: {
2995
2999
  __typename?: 'FolderNode';
@@ -3330,7 +3334,7 @@ export declare const KanbanFragmentFragmentDoc = "\n fragment KanbanFragment
3330
3334
  export declare const PageInfoFragmentDoc = "\n fragment PageInfo on PageInfo {\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n}\n ";
3331
3335
  export declare const VersionBaseFragmentDoc = "\n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n ";
3332
3336
  export declare const VpFolderFragmentDoc = "\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3333
- export declare const VersionExtendedFragmentDoc = "\n fragment VersionExtended on VersionNode {\n ...VersionBase\n task {\n id\n taskType\n label\n name\n }\n product {\n id\n name\n productType\n allAttrib\n folder {\n id\n ...VPFolder\n }\n }\n}\n \n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n \n\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3337
+ export declare const VersionExtendedFragmentDoc = "\n fragment VersionExtended on VersionNode {\n ...VersionBase\n task {\n id\n taskType\n label\n name\n }\n product {\n id\n name\n productType\n productBaseType\n allAttrib\n folder {\n id\n ...VPFolder\n }\n }\n}\n \n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n \n\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3334
3338
  export declare const MessageFragmentFragmentDoc = "\n fragment MessageFragment on ActivityNode {\n projectName\n activityId\n activityType\n activityData\n referenceType\n referenceId\n body\n createdAt\n updatedAt\n active\n read\n author {\n name\n attrib {\n fullName\n }\n }\n origin {\n id\n name\n label\n type\n subtype\n }\n parents {\n type\n name\n label\n }\n}\n ";
3335
3339
  export declare const ProgressTaskFragmentFragmentDoc = "\n fragment ProgressTaskFragment on TaskNode {\n projectName\n id\n name\n label\n taskType\n status\n assignees\n updatedAt\n active\n hasReviewables\n tags\n attrib {\n priority\n endDate\n resolutionHeight\n resolutionWidth\n fps\n }\n folder {\n id\n name\n label\n folderType\n parents\n status\n updatedAt\n parent {\n id\n name\n label\n parents\n }\n }\n}\n ";
3336
3340
  export declare const GetActivitiesByIdDocument = "\n query GetActivitiesById($projectName: String!, $entityIds: [String!]!, $activityIds: [String!]) {\n project(name: $projectName) {\n name\n activities(\n entityIds: $entityIds\n activityIds: $activityIds\n referenceTypes: [\"origin\"]\n ) {\n pageInfo {\n hasPreviousPage\n hasNextPage\n startCursor\n endCursor\n }\n edges {\n cursor\n node {\n ...ActivityFragment\n }\n }\n }\n }\n}\n \n fragment ActivityFragment on ActivityNode {\n activityId\n activityType\n activityData\n referenceType\n referenceId\n entityId\n body\n createdAt\n updatedAt\n author {\n name\n deleted\n active\n attrib {\n fullName\n }\n }\n files {\n id\n name\n size\n mime\n }\n origin {\n id\n name\n label\n type\n }\n reactions {\n fullName\n userName\n reaction\n timestamp\n }\n version {\n attrib {\n comment\n }\n }\n}\n ";
@@ -3355,9 +3359,9 @@ export declare const GetActiveUsersCountDocument = "\n query GetActiveUsersCo
3355
3359
  export declare const GetAllAssigneesDocument = "\n query GetAllAssignees {\n users(last: 2000) {\n edges {\n node {\n name\n updatedAt\n attrib {\n fullName\n }\n }\n }\n }\n}\n ";
3356
3360
  export declare const GetAllProjectUsersAsAssigneeDocument = "\n query GetAllProjectUsersAsAssignee($projectName: String) {\n users(last: 2000, projectName: $projectName) {\n edges {\n node {\n name\n updatedAt\n attrib {\n fullName\n }\n }\n }\n }\n}\n ";
3357
3361
  export declare const GetLatestProductVersionDocument = "\n query GetLatestProductVersion($projectName: String!, $productId: String!) {\n project(name: $projectName) {\n versions(latestOnly: true, productIds: [$productId]) {\n edges {\n node {\n id\n name\n version\n productId\n createdAt\n updatedAt\n status\n active\n }\n }\n }\n }\n}\n ";
3358
- export declare const GetProductsDocument = "\n query GetProducts($projectName: String!, $productIds: [String!], $productFilter: String, $versionFilter: String, $taskFilter: String, $featuredVersionOrder: [String!], $search: String, $folderIds: [String!], $after: String, $first: Int, $before: String, $last: Int, $sortBy: String) {\n project(name: $projectName) {\n products(\n ids: $productIds\n filter: $productFilter\n versionFilter: $versionFilter\n taskFilter: $taskFilter\n search: $search\n folderIds: $folderIds\n includeFolderChildren: true\n after: $after\n first: $first\n before: $before\n last: $last\n sortBy: $sortBy\n ) {\n pageInfo {\n ...PageInfo\n }\n edges {\n node {\n id\n name\n folderId\n active\n status\n tags\n type\n productType\n allAttrib\n parents\n createdAt\n updatedAt\n featuredVersion(order: $featuredVersionOrder) {\n ...VersionBase\n }\n versions: versionList {\n id\n name\n version\n }\n folder {\n ...VPFolder\n }\n }\n cursor\n }\n }\n }\n}\n \n fragment PageInfo on PageInfo {\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n}\n \n\n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n \n\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3359
- export declare const GetVersionsDocument = "\n query GetVersions($projectName: String!, $productIds: [String!], $versionIds: [String!], $versionFilter: String, $productFilter: String, $taskFilter: String, $featuredOnly: [String!], $hasReviewables: Boolean, $folderIds: [String!], $search: String, $after: String, $first: Int, $before: String, $last: Int, $sortBy: String) {\n project(name: $projectName) {\n versions(\n ids: $versionIds\n productIds: $productIds\n filter: $versionFilter\n productFilter: $productFilter\n taskFilter: $taskFilter\n featuredOnly: $featuredOnly\n hasReviewables: $hasReviewables\n folderIds: $folderIds\n includeFolderChildren: true\n search: $search\n after: $after\n first: $first\n before: $before\n last: $last\n sortBy: $sortBy\n ) {\n pageInfo {\n ...PageInfo\n }\n edges {\n cursor\n node {\n ...VersionExtended\n }\n }\n }\n }\n}\n \n fragment PageInfo on PageInfo {\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n}\n \n\n fragment VersionExtended on VersionNode {\n ...VersionBase\n task {\n id\n taskType\n label\n name\n }\n product {\n id\n name\n productType\n allAttrib\n folder {\n id\n ...VPFolder\n }\n }\n}\n \n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n \n\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3360
- export declare const GetVersionsByProductIdDocument = "\n query GetVersionsByProductId($projectName: String!, $productIds: [String!]!, $versionFilter: String, $taskFilter: String, $featuredOnly: [String!], $hasReviewables: Boolean, $sortBy: String, $first: Int, $last: Int, $after: String, $before: String) {\n project(name: $projectName) {\n versions(\n productIds: $productIds\n filter: $versionFilter\n taskFilter: $taskFilter\n featuredOnly: $featuredOnly\n hasReviewables: $hasReviewables\n sortBy: $sortBy\n last: $last\n first: $first\n after: $after\n before: $before\n ) {\n pageInfo {\n ...PageInfo\n }\n edges {\n cursor\n node {\n ...VersionExtended\n }\n }\n }\n }\n}\n \n fragment PageInfo on PageInfo {\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n}\n \n\n fragment VersionExtended on VersionNode {\n ...VersionBase\n task {\n id\n taskType\n label\n name\n }\n product {\n id\n name\n productType\n allAttrib\n folder {\n id\n ...VPFolder\n }\n }\n}\n \n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n \n\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3362
+ export declare const GetProductsDocument = "\n query GetProducts($projectName: String!, $productIds: [String!], $productFilter: String, $versionFilter: String, $taskFilter: String, $featuredVersionOrder: [String!], $search: String, $folderIds: [String!], $after: String, $first: Int, $before: String, $last: Int, $sortBy: String) {\n project(name: $projectName) {\n products(\n ids: $productIds\n filter: $productFilter\n versionFilter: $versionFilter\n taskFilter: $taskFilter\n search: $search\n folderIds: $folderIds\n includeFolderChildren: true\n after: $after\n first: $first\n before: $before\n last: $last\n sortBy: $sortBy\n ) {\n pageInfo {\n ...PageInfo\n }\n edges {\n node {\n id\n name\n folderId\n active\n status\n tags\n type\n productType\n productBaseType\n allAttrib\n parents\n createdAt\n updatedAt\n featuredVersion(order: $featuredVersionOrder) {\n ...VersionBase\n }\n versions: versionList {\n id\n name\n version\n }\n folder {\n ...VPFolder\n }\n }\n cursor\n }\n }\n }\n}\n \n fragment PageInfo on PageInfo {\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n}\n \n\n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n \n\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3363
+ export declare const GetVersionsDocument = "\n query GetVersions($projectName: String!, $productIds: [String!], $versionIds: [String!], $versionFilter: String, $productFilter: String, $taskFilter: String, $featuredOnly: [String!], $hasReviewables: Boolean, $folderIds: [String!], $search: String, $after: String, $first: Int, $before: String, $last: Int, $sortBy: String) {\n project(name: $projectName) {\n versions(\n ids: $versionIds\n productIds: $productIds\n filter: $versionFilter\n productFilter: $productFilter\n taskFilter: $taskFilter\n featuredOnly: $featuredOnly\n hasReviewables: $hasReviewables\n folderIds: $folderIds\n includeFolderChildren: true\n search: $search\n after: $after\n first: $first\n before: $before\n last: $last\n sortBy: $sortBy\n ) {\n pageInfo {\n ...PageInfo\n }\n edges {\n cursor\n node {\n ...VersionExtended\n }\n }\n }\n }\n}\n \n fragment PageInfo on PageInfo {\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n}\n \n\n fragment VersionExtended on VersionNode {\n ...VersionBase\n task {\n id\n taskType\n label\n name\n }\n product {\n id\n name\n productType\n productBaseType\n allAttrib\n folder {\n id\n ...VPFolder\n }\n }\n}\n \n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n \n\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3364
+ export declare const GetVersionsByProductIdDocument = "\n query GetVersionsByProductId($projectName: String!, $productIds: [String!]!, $versionFilter: String, $taskFilter: String, $featuredOnly: [String!], $hasReviewables: Boolean, $sortBy: String, $first: Int, $last: Int, $after: String, $before: String) {\n project(name: $projectName) {\n versions(\n productIds: $productIds\n filter: $versionFilter\n taskFilter: $taskFilter\n featuredOnly: $featuredOnly\n hasReviewables: $hasReviewables\n sortBy: $sortBy\n last: $last\n first: $first\n after: $after\n before: $before\n ) {\n pageInfo {\n ...PageInfo\n }\n edges {\n cursor\n node {\n ...VersionExtended\n }\n }\n }\n }\n}\n \n fragment PageInfo on PageInfo {\n startCursor\n endCursor\n hasNextPage\n hasPreviousPage\n}\n \n\n fragment VersionExtended on VersionNode {\n ...VersionBase\n task {\n id\n taskType\n label\n name\n }\n product {\n id\n name\n productType\n productBaseType\n allAttrib\n folder {\n id\n ...VPFolder\n }\n }\n}\n \n fragment VersionBase on VersionNode {\n name\n id\n hasReviewables\n parents\n path\n active\n allAttrib\n author\n createdAt\n status\n tags\n updatedAt\n version\n featuredVersionType\n heroVersionId\n}\n \n\n fragment VPFolder on FolderNode {\n id\n name\n label\n allAttrib\n}\n ";
3361
3365
  export declare const GetInboxHasUnreadDocument = "\n query GetInboxHasUnread {\n inbox(\n last: 1\n showActiveMessages: true\n showImportantMessages: true\n showUnreadMessages: true\n ) {\n edges {\n node {\n referenceId\n read\n }\n }\n }\n}\n ";
3362
3366
  export declare const GetInboxMessagesDocument = "\n query GetInboxMessages($last: Int, $active: Boolean, $important: Boolean, $cursor: String) {\n inbox(\n last: $last\n showActiveMessages: $active\n showImportantMessages: $important\n before: $cursor\n ) {\n pageInfo {\n hasPreviousPage\n startCursor\n endCursor\n }\n edges {\n cursor\n node {\n ...MessageFragment\n }\n }\n }\n}\n \n fragment MessageFragment on ActivityNode {\n projectName\n activityId\n activityType\n activityData\n referenceType\n referenceId\n body\n createdAt\n updatedAt\n active\n read\n author {\n name\n attrib {\n fullName\n }\n }\n origin {\n id\n name\n label\n type\n subtype\n }\n parents {\n type\n name\n label\n }\n}\n ";
3363
3367
  export declare const GetInboxUnreadCountDocument = "\n query GetInboxUnreadCount($important: Boolean) {\n inbox(\n last: 500\n showActiveMessages: true\n showImportantMessages: $important\n showUnreadMessages: true\n ) {\n edges {\n node {\n referenceId\n read\n }\n }\n }\n}\n ";
@@ -184,7 +184,6 @@ export type ApiKeyPatchModel = {
184
184
  };
185
185
  export type PasswordResetRequestModel = {
186
186
  email: string;
187
- url: string;
188
187
  };
189
188
  export type UserAttribModel = {
190
189
  fullName?: string;
@@ -251,6 +250,10 @@ export type AttributeWriteAccessList = {
251
250
  attributes?: string[];
252
251
  fields?: string[];
253
252
  };
253
+ export type ActivitiesAccessList = {
254
+ enabled?: boolean;
255
+ activities?: string[];
256
+ };
254
257
  export type ActionsAccessList = {
255
258
  enabled?: boolean;
256
259
  actions?: string[];
@@ -284,6 +287,8 @@ export type Permissions = {
284
287
  attrib_read?: AttributeReadAccessList;
285
288
  /** Whitelist attributes a user can write */
286
289
  attrib_write?: AttributeWriteAccessList;
290
+ /** Whitelist activities a user can perform */
291
+ activities?: ActivitiesAccessList;
287
292
  /** Whitelist actions a user can perform */
288
293
  actions?: ActionsAccessList;
289
294
  /** Whitelist link types a user can create between entities */
@@ -6,6 +6,7 @@ export type AttributeForm = PartialBy<AttributeModel, 'scope' | 'position'>;
6
6
  type Excludes = (keyof Omit<AttributeModel, 'data'> | keyof AttributeData)[];
7
7
  export interface AttributeEditorProps {
8
8
  attribute: AttributeForm | null;
9
+ defaultData?: Partial<AttributeForm>;
9
10
  existingNames: string[];
10
11
  error?: string;
11
12
  isUpdating?: boolean;
@@ -2,9 +2,11 @@ import { FC } from 'react';
2
2
  import { LinkEntity } from './LinksManager';
3
3
  export interface LinkManagerItemProps {
4
4
  link: LinkEntity;
5
+ count: number;
5
6
  isSelected?: boolean;
6
7
  onEntityClick?: (entityId: string, entityType: string) => void;
7
8
  onRemove: (e: React.MouseEvent<HTMLButtonElement>, link: LinkEntity) => void;
9
+ onCountChange?: (newCount: number) => void;
8
10
  isManager?: boolean;
9
11
  }
10
12
  export declare const LinkManagerItem: FC<LinkManagerItemProps>;
@@ -3,6 +3,12 @@ export declare const Header: import('styled-components/dist/types').IStyledCompo
3
3
  export declare const SubHeader: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, never>> & string;
4
4
  export declare const LinksList: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLUListElement>, HTMLUListElement>, never>> & string;
5
5
  export declare const LinkItem: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, never>> & string;
6
+ export declare const CountBadge: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
7
+ export declare const CountInput: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('styled-components').FastOmit<import('styled-components/dist/types').Substitute<Omit<import('react').InputHTMLAttributes<HTMLInputElement> & import('react').RefAttributes<HTMLInputElement>, "ref"> & {
8
+ ref?: ((instance: HTMLInputElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLInputElement> | null | undefined;
9
+ }, Omit<import('react').InputHTMLAttributes<HTMLInputElement> & import('react').RefAttributes<HTMLInputElement>, "ref"> & {
10
+ ref?: ((instance: HTMLInputElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLInputElement> | null | undefined;
11
+ }>, never>, never>> & string & Omit<import('react').ForwardRefExoticComponent<import('react').InputHTMLAttributes<HTMLInputElement> & import('react').RefAttributes<HTMLInputElement>>, keyof import('react').Component<any, {}, any>>;
6
12
  export declare const AddLinksContainer: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
7
13
  export declare const SearchButtons: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
8
14
  export declare const Search: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
@@ -0,0 +1,14 @@
1
+ import { LinkEntity } from '../LinksManager';
2
+ export type GroupedLink = {
3
+ groupKey: string;
4
+ entityId: string;
5
+ count: number;
6
+ linkIds: string[];
7
+ representative: LinkEntity;
8
+ };
9
+ /**
10
+ * Groups links by entityId. Restricted links are never grouped
11
+ * (we can't verify they're the same entity), each gets its own group.
12
+ * Preserves sort order of first occurrence.
13
+ */
14
+ export declare const groupLinksByEntity: (links: LinkEntity[]) => GroupedLink[];
@@ -18,6 +18,7 @@ export interface ReviewableUploadProps extends React.HTMLProps<HTMLDivElement> {
18
18
  onUpload?: () => void;
19
19
  onFilesAdded?: (files: File[]) => void;
20
20
  children?: any;
21
+ readOnly?: boolean;
21
22
  pt?: {
22
23
  upload?: React.HTMLProps<HTMLDivElement>;
23
24
  dropzone?: React.HTMLProps<HTMLDivElement>;
@@ -10,7 +10,7 @@ export type EntityQueryResult = {
10
10
  fetchNextPage?: () => void;
11
11
  error?: string;
12
12
  };
13
- type EntityPickerDataReturn = {
13
+ export type EntityPickerDataReturn = {
14
14
  folder: EntityQueryResult;
15
15
  task: EntityQueryResult;
16
16
  product: EntityQueryResult;
@@ -0,0 +1,11 @@
1
+ import { RowSelectionState } from '@tanstack/react-table';
2
+ import { PickerEntityType, PickerSelection } from '../EntityPickerDialog';
3
+ import { EntityPickerDataReturn } from './useGetEntityPickerData';
4
+ interface UsePreserveChildSelectionByNameProps {
5
+ entityHierarchy: PickerEntityType[];
6
+ entityData: EntityPickerDataReturn;
7
+ rowSelection: PickerSelection;
8
+ setEntityRowSelection: (selection: RowSelectionState, entityType: PickerEntityType) => void;
9
+ }
10
+ export declare const usePreserveChildSelectionByName: ({ entityHierarchy, entityData, rowSelection, setEntityRowSelection, }: UsePreserveChildSelectionByNameProps) => void;
11
+ export {};
@@ -40,6 +40,7 @@ export type TableRow = {
40
40
  folder?: string;
41
41
  product?: string;
42
42
  productType?: string;
43
+ productBaseType?: string;
43
44
  taskType?: string;
44
45
  taskLabel?: string;
45
46
  subRows?: TableRow[];
@@ -1,5 +1,6 @@
1
1
  import { FC } from 'react';
2
- import { ViewFormData, ViewsContextValue, ViewSettings, ViewType } from '..';
2
+ import { ViewFormData, ViewType } from '../types';
3
+ import { ViewsContextValue, ViewSettings } from '../context/ViewsContext';
3
4
  import { ShareOption, UserModel } from '../../../api';
4
5
  export interface ViewFormDialogProps {
5
6
  editingView: Partial<ViewFormData> & {
@@ -1,4 +1,4 @@
1
1
  import { FC } from 'react';
2
- export declare const WORKING_VIEW_ID: "_working_";
3
- export declare const NEW_VIEW_ID: "_new_view_";
2
+ import { WORKING_VIEW_ID, NEW_VIEW_ID } from '../types';
3
+ export { WORKING_VIEW_ID, NEW_VIEW_ID };
4
4
  export declare const ViewsMenuContainer: FC;
@@ -1,8 +1,9 @@
1
1
  import { FC, ReactNode } from 'react';
2
- import { ViewType } from '../index';
2
+ import { ViewType } from '../types';
3
3
  import { GetDefaultViewApiResponse, UserModel, ViewListItemModel, viewsQueries, ShareOption } from '../../../api';
4
4
  import { ViewMenuItem } from '../ViewsMenu/ViewsMenu';
5
5
  import { UseViewMutations } from '../hooks/useViewsMutations';
6
+ import { isViewStudioScope } from '../utils/isViewStudioScope';
6
7
  export type ViewData = GetDefaultViewApiResponse;
7
8
  export type ViewSettings = GetDefaultViewApiResponse['settings'];
8
9
  export type SelectedViewState = ViewData | undefined;
@@ -57,4 +58,4 @@ export interface ViewsProviderProps {
57
58
  }
58
59
  export declare const ViewsProvider: FC<ViewsProviderProps>;
59
60
  export declare const useViewsContext: () => ViewsContextValue;
60
- export declare const isViewStudioScope: (viewId: string | undefined, viewsList: ViewListItemModel[]) => boolean;
61
+ export { isViewStudioScope };
@@ -1,5 +1,5 @@
1
1
  import { ViewListItemModel } from '../../../api';
2
- import { ViewSettings } from '../..';
2
+ import { ViewSettings } from '../context/ViewsContext';
3
3
  type Props = {
4
4
  viewType?: string;
5
5
  projectName?: string;
@@ -1,9 +1,8 @@
1
1
  import { GetWorkingViewApiResponse, UserModel, ViewListItemModel } from '../../../api';
2
2
  import { ViewMenuItem } from '../ViewsMenu/ViewsMenu';
3
3
  import { CollapsedViewState } from '../context/ViewsContext';
4
- export declare const WORKING_VIEW_ID: "_working_";
5
- export declare const NEW_VIEW_ID: "_new_view_";
6
- export declare const BASE_VIEW_ID: "__base__";
4
+ import { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID } from '../types';
5
+ export { WORKING_VIEW_ID, NEW_VIEW_ID, BASE_VIEW_ID };
7
6
  export type ViewListItemModelExtended = ViewListItemModel & {
8
7
  isOwner: boolean;
9
8
  highlighted?: 'save' | 'edit';
@@ -1,4 +1,5 @@
1
- import { ViewSettings, ViewType } from '..';
1
+ import { ViewType } from '../types';
2
+ import { ViewSettings } from '../context/ViewsContext';
2
3
  import { UseViewMutations } from './useViewsMutations';
3
4
  import { ViewListItemModel } from '../../../api';
4
5
  type Props = {
@@ -1,4 +1,4 @@
1
- import { ViewType } from '..';
1
+ import { ViewType } from '../types';
2
2
  type Props = {
3
3
  viewType: ViewType;
4
4
  };
@@ -1,5 +1,4 @@
1
- import { GetViewApiResponse } from '../../api';
2
- import { AccessLevel } from '../../components';
1
+ export * from './types';
3
2
  export * from './Views';
4
3
  export * from './context/ViewsContext';
5
4
  export * from './ViewsButton/ViewsButton';
@@ -17,8 +16,3 @@ export * from './hooks/pages/useOverviewViewSettings';
17
16
  export * from './hooks/pages/useListsViewSettings';
18
17
  export { Views } from './Views';
19
18
  export { WORKING_VIEW_ID, NEW_VIEW_ID } from './ViewsMenuContainer/ViewsMenuContainer';
20
- export type ViewFormData = Required<Pick<GetViewApiResponse, 'label' | 'scope' | 'visibility' | 'owner' | 'accessLevel'> & {
21
- access: Record<string, AccessLevel>;
22
- }>;
23
- export declare const viewTypes: readonly ["overview", "taskProgress", "versions", "lists", "reviews", "reports"];
24
- export type ViewType = (typeof viewTypes)[number] | string;
@@ -0,0 +1,10 @@
1
+ import { GetViewApiResponse } from '../../api';
2
+ import { AccessLevel } from '../../components';
3
+ export type ViewFormData = Required<Pick<GetViewApiResponse, 'label' | 'scope' | 'visibility' | 'owner' | 'accessLevel'> & {
4
+ access: Record<string, AccessLevel>;
5
+ }>;
6
+ export declare const viewTypes: readonly ["overview", "taskProgress", "versions", "lists", "reviews", "reports"];
7
+ export type ViewType = (typeof viewTypes)[number] | string;
8
+ export declare const WORKING_VIEW_ID: "_working_";
9
+ export declare const NEW_VIEW_ID: "_new_view_";
10
+ export declare const BASE_VIEW_ID: "__base__";
@@ -0,0 +1,2 @@
1
+ import { ViewListItemModel } from '../../../api';
2
+ export declare const isViewStudioScope: (viewId: string | undefined, viewsList: ViewListItemModel[]) => boolean;
@@ -1,4 +1,4 @@
1
- import { ViewType } from '../index';
1
+ import { ViewType } from '../types';
2
2
  /**
3
3
  * Generate a consistent portal container ID for views
4
4
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynput/ayon-frontend-shared",
3
- "version": "0.3.15",
3
+ "version": "0.3.17",
4
4
  "description": "Shared React components for AYON frontend",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",