@ynput/ayon-frontend-shared 0.3.37 → 0.3.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 (354) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -24
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/_virtual/index.cjs6.js +1 -1
  5. package/dist/_virtual/index.cjs8.js +1 -1
  6. package/dist/_virtual/index.es6.js +2 -2
  7. package/dist/_virtual/index.es8.js +2 -2
  8. package/dist/index.cjs.js +1 -1
  9. package/dist/index.es.js +12 -11
  10. package/dist/index.es.js.map +1 -1
  11. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  12. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  13. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  14. package/dist/node_modules/remove-accents/index.es.js +1 -1
  15. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  16. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  17. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  18. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  19. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
  20. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
  21. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
  22. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
  23. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  24. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  25. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  26. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  27. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +3 -2
  28. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  29. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  30. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  31. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -4
  32. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  33. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  34. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  35. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +5 -4
  36. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  37. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  38. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  39. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -4
  40. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  41. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  42. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  43. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -4
  44. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  45. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  46. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  47. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -4
  48. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  49. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  50. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  51. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +5 -4
  52. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  53. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  54. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  55. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +5 -4
  56. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  57. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  58. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  59. package/dist/shared/src/components/RenameForm/RenameForm.es.js +5 -4
  60. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  61. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  62. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  63. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -4
  64. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  65. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  66. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  67. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -5
  68. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  69. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  70. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  71. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -4
  72. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  73. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  74. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  75. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +5 -4
  76. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  77. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  78. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  79. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +254 -240
  80. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  81. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  82. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  83. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +7 -6
  84. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  85. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  86. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  87. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -4
  88. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  89. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  90. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  91. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -4
  92. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  93. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  94. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  95. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +9 -8
  96. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  97. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  98. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  99. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -4
  100. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  101. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  102. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  103. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -4
  104. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  105. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  106. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  107. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +5 -4
  108. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  109. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  110. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  111. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -4
  112. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  113. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  114. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  115. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -4
  116. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  117. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  118. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  119. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -4
  120. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  121. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  122. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  123. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +5 -4
  124. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  125. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  126. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  127. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +5 -4
  128. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  129. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  130. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  131. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +17 -16
  132. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  133. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  134. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  135. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +5 -4
  136. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  137. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  138. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  139. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -4
  140. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  141. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  142. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  143. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -4
  144. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  145. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  146. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  147. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -4
  148. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  149. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  150. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  151. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -4
  152. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  153. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  154. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  155. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -4
  156. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  157. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  158. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  159. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +5 -4
  160. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  161. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  162. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  163. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +5 -4
  164. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  165. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  166. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  167. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +5 -4
  168. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  169. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  170. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  171. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +7 -6
  172. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  173. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  174. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  175. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -4
  176. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  177. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  178. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  179. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +9 -8
  180. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  181. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  182. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  183. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +5 -4
  184. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  185. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  186. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  187. package/dist/shared/src/containers/ListTable/ListTable.es.js +5 -4
  188. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  189. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  190. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +3 -2
  192. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  193. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  194. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +5 -4
  196. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +171 -168
  200. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +87 -85
  204. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +5 -4
  208. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +5 -4
  212. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -4
  216. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +3 -2
  220. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +5 -4
  224. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  228. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -58
  230. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  232. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -4
  234. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +8 -7
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +5 -4
  242. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +3 -2
  246. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  247. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +3 -2
  250. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  251. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +5 -4
  254. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  255. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +5 -4
  258. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  259. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +248 -207
  262. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  263. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -4
  266. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  267. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +5 -4
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +3 -2
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -4
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -4
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -4
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +5 -4
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  291. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -15
  294. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  295. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +66 -55
  298. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  299. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +5 -4
  302. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  303. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  304. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +47 -45
  306. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  307. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +5 -4
  310. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  311. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +11 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +76 -51
  314. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +5 -4
  318. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +5 -4
  322. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  323. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  324. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  325. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -4
  326. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  327. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  328. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +5 -4
  330. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  331. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  332. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +5 -4
  334. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  335. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  336. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  337. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +5 -4
  338. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  339. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  340. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  341. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -4
  342. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  343. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  344. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  345. package/dist/shared/src/context/WebsocketContext.es.js +7 -6
  346. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  347. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
  348. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
  349. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
  350. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +1 -0
  351. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +1 -0
  352. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -0
  353. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
  354. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"BaseViewsTags.cjs.js","sources":["../../../../../../src/containers/Views/ViewsMenuContainer/BaseViewsTags.tsx"],"sourcesContent":["import { FC } from 'react'\nimport * as Styled from '@shared/containers/Views/Views.styled'\nimport { useViewsContext } from '@shared/containers'\nimport { confirmDialog } from 'primereact/confirmdialog'\nimport { usePowerpack } from '@shared/context'\nimport { SectionHeader } from '@shared/containers/Views/ViewsMenu/SectionHeader'\nimport { useLocalStorage } from '@shared/hooks'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\ntype BaseViewsTagContainerProps = {\n projectName?: string | undefined\n}\n\nconst BaseViewsTagContainer: FC<BaseViewsTagContainerProps> = ({ projectName }) => {\n const {\n projectBaseView,\n studioBaseView,\n onCreateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n viewAlias,\n } = useViewsContext()\n\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const [collapsed, setCollapsed] = useLocalStorage('collapsed-default-view', false)\n\n const handleBaseViewAction = async (isStudioScope: boolean, remove?: boolean) => {\n const existingBase = isStudioScope ? studioBaseView : projectBaseView\n\n const disabled = !isStudioScope && powerLicense === false\n if (disabled && !remove) {\n setPowerpackDialog('sharedViews')\n return\n }\n\n if (existingBase) {\n if (remove || disabled) {\n // remove button clicked, ask to remove the base view\n confirmDialog({\n message: `Are you sure you want to remove this default ${viewAlias.toLowerCase()}?`,\n header: `Remove Default ${viewAlias}`,\n acceptLabel: 'Remove',\n rejectLabel: 'Cancel',\n accept: async () => {\n await onDeleteBaseView(existingBase.id as string, isStudioScope)\n },\n })\n } else {\n // load the base view settings into working view\n await onLoadBaseView(isStudioScope)\n }\n } else {\n // create new base view\n await onCreateBaseView(isStudioScope)\n }\n }\n\n return (\n <>\n <SectionHeader\n onClick={() => setCollapsed(!collapsed)}\n collapsed={collapsed}\n id=\"default-views\"\n title={`Default ${viewAlias.toLowerCase()}`}\n style={{ marginBottom: '10px' }}\n />\n {!collapsed && (\n <Styled.BaseViewsContainer>\n <ScopeIcon\n existingView={!!studioBaseView}\n label={'Studio'}\n onClick={(r) => handleBaseViewAction(true, r)}\n />\n {projectName && (\n <ScopeIcon\n existingView={!!projectBaseView}\n label={'Project'}\n onClick={(r) => handleBaseViewAction(false, r)}\n powerLicense={powerLicense}\n />\n )}\n </Styled.BaseViewsContainer>\n )}\n </>\n )\n}\nexport default BaseViewsTagContainer\n\ntype ScopeIconProps = {\n existingView: boolean\n onClick: (remove?: boolean) => void\n label: string\n powerLicense?: boolean\n}\n\nconst ScopeIcon: FC<ScopeIconProps> = ({\n existingView,\n onClick,\n label,\n powerLicense = undefined,\n}) => {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick(true)\n }\n\n return (\n <Styled.ViewButton\n className={clsx({\n ['powerpack-locked']: powerLicense === false,\n ['active']: existingView,\n })}\n onClick={handleClick}\n >\n <Icon\n icon={powerLicense === false ? 'bolt' : existingView ? 'close' : 'add'}\n onClick={(e) => existingView && handleRemove(e)}\n />\n {label}\n </Styled.ViewButton>\n )\n}\n"],"names":["BaseViewsTagContainer","projectName","projectBaseView","studioBaseView","onCreateBaseView","onDeleteBaseView","onLoadBaseView","viewAlias","useViewsContext","powerLicense","setPowerpackDialog","usePowerpack","collapsed","setCollapsed","useLocalStorage","handleBaseViewAction","isStudioScope","remove","existingBase","disabled","confirmDialog","jsxs","Fragment","jsx","SectionHeader","Styled.BaseViewsContainer","ScopeIcon","existingView","onClick","label","handleClick","handleRemove","Styled.ViewButton","clsx","Icon"],"mappings":"ktiBAcMA,EAAwD,CAAC,CAAE,YAAAC,KAAkB,CACjF,KAAM,CACJ,gBAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,UAAAC,CAAA,EACEC,kBAAA,EAEE,CAAE,aAAAC,EAAc,mBAAAC,CAAA,EAAuBC,eAAA,EACvC,CAACC,EAAWC,CAAY,EAAIC,EAAAA,gBAAgB,yBAA0B,EAAK,EAE3EC,EAAuB,MAAOC,EAAwBC,IAAqB,CAC/E,MAAMC,EAAeF,EAAgBb,EAAiBD,EAEhDiB,EAAW,CAACH,GAAiBP,IAAiB,GACpD,GAAIU,GAAY,CAACF,EAAQ,CACvBP,EAAmB,aAAa,EAChC,MACF,CAEIQ,EACED,GAAUE,EAEZC,gBAAc,CACZ,QAAS,gDAAgDb,EAAU,YAAA,CAAa,IAChF,OAAQ,kBAAkBA,CAAS,GACnC,YAAa,SACb,YAAa,SACb,OAAQ,SAAY,CAClB,MAAMF,EAAiBa,EAAa,GAAcF,CAAa,CACjE,CAAA,CACD,EAGD,MAAMV,EAAeU,CAAa,EAIpC,MAAMZ,EAAiBY,CAAa,CAExC,EAEA,OACEK,EAAAA,kBAAAA,KAAAC,6BAAA,CACE,SAAA,CAAAC,EAAAA,kBAAAA,IAACC,EAAAA,cAAA,CACC,QAAS,IAAMX,EAAa,CAACD,CAAS,EACtC,UAAAA,EACA,GAAG,gBACH,MAAO,WAAWL,EAAU,YAAA,CAAa,GACzC,MAAO,CAAE,aAAc,MAAA,CAAO,CAAA,EAE/B,CAACK,GACAS,EAAAA,kBAAAA,KAACI,EAAAA,mBAAA,CACC,SAAA,CAAAF,EAAAA,kBAAAA,IAACG,EAAA,CACC,aAAc,CAAC,CAACvB,EAChB,MAAO,SACP,QAAU,GAAMY,EAAqB,GAAM,CAAC,CAAA,CAAA,EAE7Cd,GACCsB,EAAAA,kBAAAA,IAACG,EAAA,CACC,aAAc,CAAC,CAACxB,EAChB,MAAO,UACP,QAAU,GAAMa,EAAqB,GAAO,CAAC,EAC7C,aAAAN,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,EAEJ,CAEJ,EAUMiB,EAAgC,CAAC,CACrC,aAAAC,EACA,QAAAC,EACA,MAAAC,EACA,aAAApB,EAAe,MACjB,IAAM,CACJ,MAAMqB,EAAe,GAAwB,CAC3C,EAAE,gBAAA,EACFF,EAAA,CACF,EAEMG,EAAgB,GAAwB,CAC5C,EAAE,gBAAA,EACFH,EAAQ,EAAI,CACd,EAEA,OACEP,EAAAA,kBAAAA,KAACW,EAAAA,WAAA,CACC,UAAWC,EAAK,CACb,mBAAqBxB,IAAiB,GACtC,OAAWkB,CAAA,CACb,EACD,QAASG,EAET,SAAA,CAAAP,EAAAA,kBAAAA,IAACW,EAAAA,KAAA,CACC,KAAMzB,IAAiB,GAAQ,OAASkB,EAAe,QAAU,MACjE,QAAU,GAAMA,GAAgBI,EAAa,CAAC,CAAA,CAAA,EAE/CF,CAAA,CAAA,CAAA,CAGP"}
1
+ {"version":3,"file":"BaseViewsTags.cjs.js","sources":["../../../../../../src/containers/Views/ViewsMenuContainer/BaseViewsTags.tsx"],"sourcesContent":["import { FC } from 'react'\nimport * as Styled from '@shared/containers/Views/Views.styled'\nimport { useViewsContext } from '@shared/containers'\nimport { confirmDialog } from 'primereact/confirmdialog'\nimport { usePowerpack } from '@shared/context'\nimport { SectionHeader } from '@shared/containers/Views/ViewsMenu/SectionHeader'\nimport { useLocalStorage } from '@shared/hooks'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\ntype BaseViewsTagContainerProps = {\n projectName?: string | undefined\n}\n\nconst BaseViewsTagContainer: FC<BaseViewsTagContainerProps> = ({ projectName }) => {\n const {\n projectBaseView,\n studioBaseView,\n onCreateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n viewAlias,\n } = useViewsContext()\n\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const [collapsed, setCollapsed] = useLocalStorage('collapsed-default-view', false)\n\n const handleBaseViewAction = async (isStudioScope: boolean, remove?: boolean) => {\n const existingBase = isStudioScope ? studioBaseView : projectBaseView\n\n const disabled = !isStudioScope && powerLicense === false\n if (disabled && !remove) {\n setPowerpackDialog('sharedViews')\n return\n }\n\n if (existingBase) {\n if (remove || disabled) {\n // remove button clicked, ask to remove the base view\n confirmDialog({\n message: `Are you sure you want to remove this default ${viewAlias.toLowerCase()}?`,\n header: `Remove Default ${viewAlias}`,\n acceptLabel: 'Remove',\n rejectLabel: 'Cancel',\n accept: async () => {\n await onDeleteBaseView(existingBase.id as string, isStudioScope)\n },\n })\n } else {\n // load the base view settings into working view\n await onLoadBaseView(isStudioScope)\n }\n } else {\n // create new base view\n await onCreateBaseView(isStudioScope)\n }\n }\n\n return (\n <>\n <SectionHeader\n onClick={() => setCollapsed(!collapsed)}\n collapsed={collapsed}\n id=\"default-views\"\n title={`Default ${viewAlias.toLowerCase()}`}\n style={{ marginBottom: '10px' }}\n />\n {!collapsed && (\n <Styled.BaseViewsContainer>\n <ScopeIcon\n existingView={!!studioBaseView}\n label={'Studio'}\n onClick={(r) => handleBaseViewAction(true, r)}\n />\n {projectName && (\n <ScopeIcon\n existingView={!!projectBaseView}\n label={'Project'}\n onClick={(r) => handleBaseViewAction(false, r)}\n powerLicense={powerLicense}\n />\n )}\n </Styled.BaseViewsContainer>\n )}\n </>\n )\n}\nexport default BaseViewsTagContainer\n\ntype ScopeIconProps = {\n existingView: boolean\n onClick: (remove?: boolean) => void\n label: string\n powerLicense?: boolean\n}\n\nconst ScopeIcon: FC<ScopeIconProps> = ({\n existingView,\n onClick,\n label,\n powerLicense = undefined,\n}) => {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick(true)\n }\n\n return (\n <Styled.ViewButton\n className={clsx({\n ['powerpack-locked']: powerLicense === false,\n ['active']: existingView,\n })}\n onClick={handleClick}\n >\n <Icon\n icon={powerLicense === false ? 'bolt' : existingView ? 'close' : 'add'}\n onClick={(e) => existingView && handleRemove(e)}\n />\n {label}\n </Styled.ViewButton>\n )\n}\n"],"names":["BaseViewsTagContainer","projectName","projectBaseView","studioBaseView","onCreateBaseView","onDeleteBaseView","onLoadBaseView","viewAlias","useViewsContext","powerLicense","setPowerpackDialog","usePowerpack","collapsed","setCollapsed","useLocalStorage","handleBaseViewAction","isStudioScope","remove","existingBase","disabled","confirmDialog","jsxs","Fragment","jsx","SectionHeader","Styled.BaseViewsContainer","ScopeIcon","existingView","onClick","label","handleClick","handleRemove","Styled.ViewButton","clsx","Icon"],"mappings":"+wiBAcMA,EAAwD,CAAC,CAAE,YAAAC,KAAkB,CACjF,KAAM,CACJ,gBAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,UAAAC,CAAA,EACEC,kBAAA,EAEE,CAAE,aAAAC,EAAc,mBAAAC,CAAA,EAAuBC,eAAA,EACvC,CAACC,EAAWC,CAAY,EAAIC,EAAAA,gBAAgB,yBAA0B,EAAK,EAE3EC,EAAuB,MAAOC,EAAwBC,IAAqB,CAC/E,MAAMC,EAAeF,EAAgBb,EAAiBD,EAEhDiB,EAAW,CAACH,GAAiBP,IAAiB,GACpD,GAAIU,GAAY,CAACF,EAAQ,CACvBP,EAAmB,aAAa,EAChC,MACF,CAEIQ,EACED,GAAUE,EAEZC,gBAAc,CACZ,QAAS,gDAAgDb,EAAU,YAAA,CAAa,IAChF,OAAQ,kBAAkBA,CAAS,GACnC,YAAa,SACb,YAAa,SACb,OAAQ,SAAY,CAClB,MAAMF,EAAiBa,EAAa,GAAcF,CAAa,CACjE,CAAA,CACD,EAGD,MAAMV,EAAeU,CAAa,EAIpC,MAAMZ,EAAiBY,CAAa,CAExC,EAEA,OACEK,EAAAA,kBAAAA,KAAAC,6BAAA,CACE,SAAA,CAAAC,EAAAA,kBAAAA,IAACC,EAAAA,cAAA,CACC,QAAS,IAAMX,EAAa,CAACD,CAAS,EACtC,UAAAA,EACA,GAAG,gBACH,MAAO,WAAWL,EAAU,YAAA,CAAa,GACzC,MAAO,CAAE,aAAc,MAAA,CAAO,CAAA,EAE/B,CAACK,GACAS,EAAAA,kBAAAA,KAACI,EAAAA,mBAAA,CACC,SAAA,CAAAF,EAAAA,kBAAAA,IAACG,EAAA,CACC,aAAc,CAAC,CAACvB,EAChB,MAAO,SACP,QAAU,GAAMY,EAAqB,GAAM,CAAC,CAAA,CAAA,EAE7Cd,GACCsB,EAAAA,kBAAAA,IAACG,EAAA,CACC,aAAc,CAAC,CAACxB,EAChB,MAAO,UACP,QAAU,GAAMa,EAAqB,GAAO,CAAC,EAC7C,aAAAN,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,EAEJ,CAEJ,EAUMiB,EAAgC,CAAC,CACrC,aAAAC,EACA,QAAAC,EACA,MAAAC,EACA,aAAApB,EAAe,MACjB,IAAM,CACJ,MAAMqB,EAAe,GAAwB,CAC3C,EAAE,gBAAA,EACFF,EAAA,CACF,EAEMG,EAAgB,GAAwB,CAC5C,EAAE,gBAAA,EACFH,EAAQ,EAAI,CACd,EAEA,OACEP,EAAAA,kBAAAA,KAACW,EAAAA,WAAA,CACC,UAAWC,EAAK,CACb,mBAAqBxB,IAAiB,GACtC,OAAWkB,CAAA,CACb,EACD,QAASG,EAET,SAAA,CAAAP,EAAAA,kBAAAA,IAACW,EAAAA,KAAA,CACC,KAAMzB,IAAiB,GAAQ,OAASkB,EAAe,QAAU,MACjE,QAAU,GAAMA,GAAgBI,EAAa,CAAC,CAAA,CAAA,EAE/CF,CAAA,CAAA,CAAA,CAGP"}
@@ -252,8 +252,7 @@ import "../../ProjectTreeTable/widgets/CellWidget.es.js";
252
252
  import "../../ProjectTreeTable/widgets/EntityNameWidget.es.js";
253
253
  import "../../ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
254
254
  import "../../ProjectTreeTable/widgets/ThumbnailWidget.es.js";
255
- import "../../ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
256
- import "../../ProjectTreeTable/context/SelectedRowsContext.es.js";
255
+ import "../../ProjectTreeTable/widgets/LinksWidget.es.js";
257
256
  import "../../ProjectTreeTable/context/ProjectTableContext.es.js";
258
257
  import "../../ProjectTreeTable/widgets/EmptyWidget.es.js";
259
258
  import "../../ProjectTreeTable/widgets/ErrorWidget.es.js";
@@ -263,6 +262,8 @@ import "../../ProjectTreeTable/context/SelectionCellsContext.es.js";
263
262
  import "../../ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
264
263
  import "../../ProjectTreeTable/context/ClipboardContext.es.js";
265
264
  import "../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
265
+ import "../../ProjectTreeTable/context/SelectedRowsContext.es.js";
266
+ import "../../ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
266
267
  import "../../ProjectTreeTable/components/DeleteConfirmContent.es.js";
267
268
  import "../../ProjectTreeTable/context/ProjectDataContext.es.js";
268
269
  import "../../ProjectTreeTable/ProjectTreeTable.styled.es.js";
@@ -290,7 +291,7 @@ import "../ViewsMenu/ViewsMenu.es.js";
290
291
  import "../../ListTable/ListTableRow.es.js";
291
292
  import "../../ListTable/ListTable.styled.es.js";
292
293
  import { SectionHeader as L } from "../ViewsMenu/SectionHeader.es.js";
293
- const Ym = ({ projectName: r }) => {
294
+ const Zm = ({ projectName: r }) => {
294
295
  const {
295
296
  projectBaseView: m,
296
297
  studioBaseView: p,
@@ -378,6 +379,6 @@ const Ym = ({ projectName: r }) => {
378
379
  );
379
380
  };
380
381
  export {
381
- Ym as default
382
+ Zm as default
382
383
  };
383
384
  //# sourceMappingURL=BaseViewsTags.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseViewsTags.es.js","sources":["../../../../../../src/containers/Views/ViewsMenuContainer/BaseViewsTags.tsx"],"sourcesContent":["import { FC } from 'react'\nimport * as Styled from '@shared/containers/Views/Views.styled'\nimport { useViewsContext } from '@shared/containers'\nimport { confirmDialog } from 'primereact/confirmdialog'\nimport { usePowerpack } from '@shared/context'\nimport { SectionHeader } from '@shared/containers/Views/ViewsMenu/SectionHeader'\nimport { useLocalStorage } from '@shared/hooks'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\ntype BaseViewsTagContainerProps = {\n projectName?: string | undefined\n}\n\nconst BaseViewsTagContainer: FC<BaseViewsTagContainerProps> = ({ projectName }) => {\n const {\n projectBaseView,\n studioBaseView,\n onCreateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n viewAlias,\n } = useViewsContext()\n\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const [collapsed, setCollapsed] = useLocalStorage('collapsed-default-view', false)\n\n const handleBaseViewAction = async (isStudioScope: boolean, remove?: boolean) => {\n const existingBase = isStudioScope ? studioBaseView : projectBaseView\n\n const disabled = !isStudioScope && powerLicense === false\n if (disabled && !remove) {\n setPowerpackDialog('sharedViews')\n return\n }\n\n if (existingBase) {\n if (remove || disabled) {\n // remove button clicked, ask to remove the base view\n confirmDialog({\n message: `Are you sure you want to remove this default ${viewAlias.toLowerCase()}?`,\n header: `Remove Default ${viewAlias}`,\n acceptLabel: 'Remove',\n rejectLabel: 'Cancel',\n accept: async () => {\n await onDeleteBaseView(existingBase.id as string, isStudioScope)\n },\n })\n } else {\n // load the base view settings into working view\n await onLoadBaseView(isStudioScope)\n }\n } else {\n // create new base view\n await onCreateBaseView(isStudioScope)\n }\n }\n\n return (\n <>\n <SectionHeader\n onClick={() => setCollapsed(!collapsed)}\n collapsed={collapsed}\n id=\"default-views\"\n title={`Default ${viewAlias.toLowerCase()}`}\n style={{ marginBottom: '10px' }}\n />\n {!collapsed && (\n <Styled.BaseViewsContainer>\n <ScopeIcon\n existingView={!!studioBaseView}\n label={'Studio'}\n onClick={(r) => handleBaseViewAction(true, r)}\n />\n {projectName && (\n <ScopeIcon\n existingView={!!projectBaseView}\n label={'Project'}\n onClick={(r) => handleBaseViewAction(false, r)}\n powerLicense={powerLicense}\n />\n )}\n </Styled.BaseViewsContainer>\n )}\n </>\n )\n}\nexport default BaseViewsTagContainer\n\ntype ScopeIconProps = {\n existingView: boolean\n onClick: (remove?: boolean) => void\n label: string\n powerLicense?: boolean\n}\n\nconst ScopeIcon: FC<ScopeIconProps> = ({\n existingView,\n onClick,\n label,\n powerLicense = undefined,\n}) => {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick(true)\n }\n\n return (\n <Styled.ViewButton\n className={clsx({\n ['powerpack-locked']: powerLicense === false,\n ['active']: existingView,\n })}\n onClick={handleClick}\n >\n <Icon\n icon={powerLicense === false ? 'bolt' : existingView ? 'close' : 'add'}\n onClick={(e) => existingView && handleRemove(e)}\n />\n {label}\n </Styled.ViewButton>\n )\n}\n"],"names":["BaseViewsTagContainer","projectName","projectBaseView","studioBaseView","onCreateBaseView","onDeleteBaseView","onLoadBaseView","viewAlias","useViewsContext","powerLicense","setPowerpackDialog","usePowerpack","collapsed","setCollapsed","useLocalStorage","handleBaseViewAction","isStudioScope","remove","existingBase","disabled","confirmDialog","jsxs","Fragment","jsx","SectionHeader","Styled.BaseViewsContainer","ScopeIcon","r","existingView","onClick","label","handleClick","e","handleRemove","Styled.ViewButton","clsx","Icon"],"mappings":"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"}
1
+ {"version":3,"file":"BaseViewsTags.es.js","sources":["../../../../../../src/containers/Views/ViewsMenuContainer/BaseViewsTags.tsx"],"sourcesContent":["import { FC } from 'react'\nimport * as Styled from '@shared/containers/Views/Views.styled'\nimport { useViewsContext } from '@shared/containers'\nimport { confirmDialog } from 'primereact/confirmdialog'\nimport { usePowerpack } from '@shared/context'\nimport { SectionHeader } from '@shared/containers/Views/ViewsMenu/SectionHeader'\nimport { useLocalStorage } from '@shared/hooks'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\ntype BaseViewsTagContainerProps = {\n projectName?: string | undefined\n}\n\nconst BaseViewsTagContainer: FC<BaseViewsTagContainerProps> = ({ projectName }) => {\n const {\n projectBaseView,\n studioBaseView,\n onCreateBaseView,\n onDeleteBaseView,\n onLoadBaseView,\n viewAlias,\n } = useViewsContext()\n\n const { powerLicense, setPowerpackDialog } = usePowerpack()\n const [collapsed, setCollapsed] = useLocalStorage('collapsed-default-view', false)\n\n const handleBaseViewAction = async (isStudioScope: boolean, remove?: boolean) => {\n const existingBase = isStudioScope ? studioBaseView : projectBaseView\n\n const disabled = !isStudioScope && powerLicense === false\n if (disabled && !remove) {\n setPowerpackDialog('sharedViews')\n return\n }\n\n if (existingBase) {\n if (remove || disabled) {\n // remove button clicked, ask to remove the base view\n confirmDialog({\n message: `Are you sure you want to remove this default ${viewAlias.toLowerCase()}?`,\n header: `Remove Default ${viewAlias}`,\n acceptLabel: 'Remove',\n rejectLabel: 'Cancel',\n accept: async () => {\n await onDeleteBaseView(existingBase.id as string, isStudioScope)\n },\n })\n } else {\n // load the base view settings into working view\n await onLoadBaseView(isStudioScope)\n }\n } else {\n // create new base view\n await onCreateBaseView(isStudioScope)\n }\n }\n\n return (\n <>\n <SectionHeader\n onClick={() => setCollapsed(!collapsed)}\n collapsed={collapsed}\n id=\"default-views\"\n title={`Default ${viewAlias.toLowerCase()}`}\n style={{ marginBottom: '10px' }}\n />\n {!collapsed && (\n <Styled.BaseViewsContainer>\n <ScopeIcon\n existingView={!!studioBaseView}\n label={'Studio'}\n onClick={(r) => handleBaseViewAction(true, r)}\n />\n {projectName && (\n <ScopeIcon\n existingView={!!projectBaseView}\n label={'Project'}\n onClick={(r) => handleBaseViewAction(false, r)}\n powerLicense={powerLicense}\n />\n )}\n </Styled.BaseViewsContainer>\n )}\n </>\n )\n}\nexport default BaseViewsTagContainer\n\ntype ScopeIconProps = {\n existingView: boolean\n onClick: (remove?: boolean) => void\n label: string\n powerLicense?: boolean\n}\n\nconst ScopeIcon: FC<ScopeIconProps> = ({\n existingView,\n onClick,\n label,\n powerLicense = undefined,\n}) => {\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick()\n }\n\n const handleRemove = (e: React.MouseEvent) => {\n e.stopPropagation()\n onClick(true)\n }\n\n return (\n <Styled.ViewButton\n className={clsx({\n ['powerpack-locked']: powerLicense === false,\n ['active']: existingView,\n })}\n onClick={handleClick}\n >\n <Icon\n icon={powerLicense === false ? 'bolt' : existingView ? 'close' : 'add'}\n onClick={(e) => existingView && handleRemove(e)}\n />\n {label}\n </Styled.ViewButton>\n )\n}\n"],"names":["BaseViewsTagContainer","projectName","projectBaseView","studioBaseView","onCreateBaseView","onDeleteBaseView","onLoadBaseView","viewAlias","useViewsContext","powerLicense","setPowerpackDialog","usePowerpack","collapsed","setCollapsed","useLocalStorage","handleBaseViewAction","isStudioScope","remove","existingBase","disabled","confirmDialog","jsxs","Fragment","jsx","SectionHeader","Styled.BaseViewsContainer","ScopeIcon","r","existingView","onClick","label","handleClick","e","handleRemove","Styled.ViewButton","clsx","Icon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),b=require("react-toastify"),w=require("lodash");require("uuid");const l=require("../util/pubsub.cjs.js"),x=require("../../../_virtual/index.cjs2.js"),W=require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/dataImport.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/projectFolders.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/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/columnStats/metricTargets.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/products/getFolderProducts.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/projectFolders/projectFolders.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");const $=require("../api/queries/system/getSystem.cjs.js");require("../api/queries/tasks/getTasks.cjs.js");require("../api/queries/tasks/updateTasks.cjs.js");require("../api/queries/teams/getTeams.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");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("../components/AttributeEditor/AttributeEditor.cjs.js");require("../components/AttributeEditor/attributeTypeMap.cjs.js");require("../components/Badge/Badge.cjs.js");require("../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../components/LinksManager/CellEditingDialog.cjs.js");require("../../../_virtual/index.cjs.js");require("../../../node_modules/refractor/lib/common.cjs.js");require("../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../components/QuillListStyles/QuillListStyles.cjs.js");require("../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../containers/Feed/components/CommentInput/modules/index.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("./PowerpackContextInstance.cjs.js");require("./UriContext.cjs.js");require("./DetailsPanelContextInstance.cjs.js");require("./SubtasksModulesContextInstance.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../components/EarlyPreview/EarlyPreview.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/EnumEditor/EnumEditor.styled.cjs.js");require("../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../containers/Feed/context/FeedContext.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../containers/Feed/components/ActivityDate.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../containers/Feed/Feed.styled.cjs.js");require("../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../components/LinksManager/LinksManager.styled.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../containers/Slicer/components/Slicer.cjs.js");require("../containers/Slicer/context/SlicerContext.cjs.js");require("../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../components/PlayableIcon/PlayableIcon.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../containers/Actions/Actions.styled.cjs.js");require("../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../containers/Actions/ActionIcon.cjs.js");require("../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../containers/Views/context/ViewsContextInstance.cjs.js");require("../containers/Views/Views.styled.cjs.js");require("../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../containers/ListTable/ListTableRow.cjs.js");require("../containers/ListTable/ListTable.styled.cjs.js");require("../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../components/EntityPath/EntityPath.styled.cjs.js");require("../components/EntityPath/SegmentProvider.cjs.js");require("../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../components/Feedback/FeedbackContextInstance.cjs.js");require("../components/Feedback/SupportBubble.cjs.js");require("../components/FileThumbnail/FileThumbnail.cjs.js");require("../components/LegacyBadge/LegacyBadge.cjs.js");require("../components/Powerpack/PowerpackButton.cjs.js");require("../components/Powerpack/FreeTrialLink.cjs.js");require("../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../components/Powerpack/CTAButton.cjs.js");require("../components/Powerpack/RequiredAddonVersion.cjs.js");require("../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../components/SizeSlider/SizeSlider.cjs.js");const A=require("../components/RefreshToast/RefreshToast.cjs.js");require("../components/ReviewableCard/ReviewableCard.cjs.js");require("../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../components/SettingsPanel/SettingsPanel.cjs.js");require("../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../components/StyledLink/StyledLink.cjs.js");require("../components/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");require("../components/Menu/Menu.styled.cjs.js");require("../components/Menu/MenuItem.cjs.js");require("../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../components/ColumnHeaderMenuUI.cjs.js");const k=require("./WebsocketContextInstance.cjs.js"),J=window.location.protocol.replace("http","ws"),N=`${J}//${window.location.host}/ws`,V=({children:q,userName:C,projectName:d,dispatch:m})=>{const[f,o]=e.useState(!1),[t,v]=e.useState([]),[R]=$.useLazyGetSiteInfoQuery(),y={shouldReconnect:()=>!C||!localStorage.getItem("accessToken")?!1:(R({full:!1}).unwrap(),!0)},{sendMessage:T,readyState:n,getWebSocket:c}=x.default(N,y),S=()=>{T(JSON.stringify({topic:"auth",token:localStorage.getItem("accessToken"),subscribe:t,project:d}))};e.useEffect(()=>{console.debug("Topics changed",t),S()},[t,d]);const E=w.debounce(r=>{w.isEqual(t,r)||(console.log("WS: Subscriptions changed"),v(r))},200);l.setOnSubscriptionsChange(r=>E(r));const[g,a]=e.useState(!1),[O,I]=e.useState(!1);e.useEffect(()=>(g&&(O||(b.toast.warning(h.jsxRuntimeExports.jsx(A.RefreshToast,{}),{autoClose:!1,closeButton:!1}),I(!0))),()=>{a(!1)}),[g,a]);const u=e.useRef({callCount:0,lastCall:Date.now()}),j=e.useCallback(r=>{if(u.current.callCount>1e3)return a(!0),console.log("Overload: Over 1000 messages per second. Ignoring subsequent messages.");let i;try{i=JSON.parse(r.data)}catch(M){console.error("Failed to parse websocket message:",M,r.data);return}const{topic:s,sender:P,summary:D}=i||{};if(s==="heartbeat"||(s==="server.restart_requested"&&o(!0),P===window.senderId))return;const p=Date.now();p-u.current.lastCall<1e3?u.current.callCount+=1:u.current.callCount=0,u.current.lastCall=p,s==="shout"&&i?.summary?.text&&b.toast.info(D.text),console.log("Event RX",i),l.publish(s,i)},[o]);return e.useEffect(()=>{n===x.distExports.ReadyState.OPEN&&(f&&(o(!1),m(W.api.util.resetApiState())),c().onmessage=j,S(),l.publish("client.connected",{topic:"client.connected"}))},[n,c]),h.jsxRuntimeExports.jsx(k.SocketContext.Provider,{value:{getWebSocket:c,readyState:n,serverRestartingVisible:f},children:q})},z=()=>{const q=e.useContext(k.SocketContext);if(q===void 0)throw new Error("useSocketContext must be used within a SocketProvider");return q};exports.SocketProvider=V;exports.useSocketContext=z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),b=require("react-toastify"),w=require("lodash");require("uuid");const l=require("../util/pubsub.cjs.js"),x=require("../../../_virtual/index.cjs2.js"),W=require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/dataImport.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/projectFolders.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/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/columnStats/metricTargets.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/products/getFolderProducts.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/projectFolders/projectFolders.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");const $=require("../api/queries/system/getSystem.cjs.js");require("../api/queries/tasks/getTasks.cjs.js");require("../api/queries/tasks/updateTasks.cjs.js");require("../api/queries/teams/getTeams.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");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("../components/AttributeEditor/AttributeEditor.cjs.js");require("../components/AttributeEditor/attributeTypeMap.cjs.js");require("../components/Badge/Badge.cjs.js");require("../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../components/LinksManager/CellEditingDialog.cjs.js");require("../../../_virtual/index.cjs.js");require("../../../node_modules/refractor/lib/common.cjs.js");require("../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../components/QuillListStyles/QuillListStyles.cjs.js");require("../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../containers/Feed/components/CommentInput/modules/index.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("./PowerpackContextInstance.cjs.js");require("./UriContext.cjs.js");require("./DetailsPanelContextInstance.cjs.js");require("./SubtasksModulesContextInstance.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../components/EarlyPreview/EarlyPreview.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/EnumEditor/EnumEditor.styled.cjs.js");require("../containers/ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../containers/Feed/context/FeedContext.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../containers/Feed/components/ActivityDate.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../containers/Feed/Feed.styled.cjs.js");require("../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("../components/LinksManager/LinksManager.styled.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../containers/Slicer/components/Slicer.cjs.js");require("../containers/Slicer/context/SlicerContext.cjs.js");require("../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../components/PlayableIcon/PlayableIcon.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../containers/Actions/Actions.styled.cjs.js");require("../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../containers/Actions/ActionIcon.cjs.js");require("../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../containers/Views/context/ViewsContextInstance.cjs.js");require("../containers/Views/Views.styled.cjs.js");require("../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../containers/ListTable/ListTableRow.cjs.js");require("../containers/ListTable/ListTable.styled.cjs.js");require("../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../components/EntityPath/EntityPath.styled.cjs.js");require("../components/EntityPath/SegmentProvider.cjs.js");require("../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../components/Feedback/FeedbackContextInstance.cjs.js");require("../components/Feedback/SupportBubble.cjs.js");require("../components/FileThumbnail/FileThumbnail.cjs.js");require("../components/LegacyBadge/LegacyBadge.cjs.js");require("../components/Powerpack/PowerpackButton.cjs.js");require("../components/Powerpack/FreeTrialLink.cjs.js");require("../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../components/Powerpack/CTAButton.cjs.js");require("../components/Powerpack/RequiredAddonVersion.cjs.js");require("../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../components/SizeSlider/SizeSlider.cjs.js");const A=require("../components/RefreshToast/RefreshToast.cjs.js");require("../components/ReviewableCard/ReviewableCard.cjs.js");require("../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../components/SettingsPanel/SettingsPanel.cjs.js");require("../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../components/StyledLink/StyledLink.cjs.js");require("../components/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");require("../components/Menu/Menu.styled.cjs.js");require("../components/Menu/MenuItem.cjs.js");require("../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../components/ColumnHeaderMenuUI.cjs.js");const k=require("./WebsocketContextInstance.cjs.js"),J=window.location.protocol.replace("http","ws"),N=`${J}//${window.location.host}/ws`,V=({children:q,userName:C,projectName:d,dispatch:m})=>{const[f,o]=e.useState(!1),[t,v]=e.useState([]),[R]=$.useLazyGetSiteInfoQuery(),y={shouldReconnect:()=>!C||!localStorage.getItem("accessToken")?!1:(R({full:!1}).unwrap(),!0)},{sendMessage:T,readyState:n,getWebSocket:c}=x.default(N,y),S=()=>{T(JSON.stringify({topic:"auth",token:localStorage.getItem("accessToken"),subscribe:t,project:d}))};e.useEffect(()=>{console.debug("Topics changed",t),S()},[t,d]);const E=w.debounce(r=>{w.isEqual(t,r)||(console.log("WS: Subscriptions changed"),v(r))},200);l.setOnSubscriptionsChange(r=>E(r));const[g,a]=e.useState(!1),[O,I]=e.useState(!1);e.useEffect(()=>(g&&(O||(b.toast.warning(h.jsxRuntimeExports.jsx(A.RefreshToast,{}),{autoClose:!1,closeButton:!1}),I(!0))),()=>{a(!1)}),[g,a]);const u=e.useRef({callCount:0,lastCall:Date.now()}),j=e.useCallback(r=>{if(u.current.callCount>1e3)return a(!0),console.log("Overload: Over 1000 messages per second. Ignoring subsequent messages.");let i;try{i=JSON.parse(r.data)}catch(M){console.error("Failed to parse websocket message:",M,r.data);return}const{topic:s,sender:P,summary:D}=i||{};if(s==="heartbeat"||(s==="server.restart_requested"&&o(!0),P===window.senderId))return;const p=Date.now();p-u.current.lastCall<1e3?u.current.callCount+=1:u.current.callCount=0,u.current.lastCall=p,s==="shout"&&i?.summary?.text&&b.toast.info(D.text),console.log("Event RX",i),l.publish(s,i)},[o]);return e.useEffect(()=>{n===x.distExports.ReadyState.OPEN&&(f&&(o(!1),m(W.api.util.resetApiState())),c().onmessage=j,S(),l.publish("client.connected",{topic:"client.connected"}))},[n,c]),h.jsxRuntimeExports.jsx(k.SocketContext.Provider,{value:{getWebSocket:c,readyState:n,serverRestartingVisible:f},children:q})},z=()=>{const q=e.useContext(k.SocketContext);if(q===void 0)throw new Error("useSocketContext must be used within a SocketProvider");return q};exports.SocketProvider=V;exports.useSocketContext=z;
2
2
  //# sourceMappingURL=WebsocketContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebsocketContext.cjs.js","sources":["../../../../src/context/WebsocketContext.tsx"],"sourcesContent":["import { useEffect, useState, 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'\nimport { SocketContext } from './WebsocketContextInstance'\n\nexport type WebsocketContextType = {\n getWebSocket: () => WebSocketLike | null\n readyState: ReadyState\n serverRestartingVisible: boolean\n}\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":["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","SocketContext","useSocketContext","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"WebsocketContext.cjs.js","sources":["../../../../src/context/WebsocketContext.tsx"],"sourcesContent":["import { useEffect, useState, 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'\nimport { SocketContext } from './WebsocketContextInstance'\n\nexport type WebsocketContextType = {\n getWebSocket: () => WebSocketLike | null\n readyState: ReadyState\n serverRestartingVisible: boolean\n}\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":["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","SocketContext","useSocketContext","context","useContext"],"mappings":"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"}
@@ -206,8 +206,7 @@ import "../containers/ProjectTreeTable/widgets/CellWidget.es.js";
206
206
  import "../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
207
207
  import "../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
208
208
  import "../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
209
- import "../containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
210
- import "../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
209
+ import "../containers/ProjectTreeTable/widgets/LinksWidget.es.js";
211
210
  import "../components/LinksManager/LinksManager.styled.es.js";
212
211
  import "../containers/ProjectTreeTable/context/ProjectTableContext.es.js";
213
212
  import "../containers/ProjectTreeTable/widgets/EmptyWidget.es.js";
@@ -219,6 +218,8 @@ import "../containers/ProjectTreeTable/context/SelectionCellsContext.es.js";
219
218
  import "../containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
220
219
  import "../containers/ProjectTreeTable/context/ClipboardContext.es.js";
221
220
  import "../containers/ProjectTreeTable/context/ColumnSettingsContext.es.js";
221
+ import "../containers/ProjectTreeTable/context/SelectedRowsContext.es.js";
222
+ import "../containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
222
223
  import "../containers/ProjectTreeTable/components/DeleteConfirmContent.es.js";
223
224
  import "../containers/ProjectTreeTable/context/ProjectDataContext.es.js";
224
225
  import "../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
@@ -289,7 +290,7 @@ import "../components/Menu/MenuItem.es.js";
289
290
  import "../components/ReviewablesSelector/ReviewablesSelector.es.js";
290
291
  import "../components/ColumnHeaderMenuUI.es.js";
291
292
  import { SocketContext as k } from "./WebsocketContextInstance.es.js";
292
- const G = window.location.protocol.replace("http", "ws"), L = `${G}//${window.location.host}/ws`, gm = ({
293
+ const G = window.location.protocol.replace("http", "ws"), L = `${G}//${window.location.host}/ws`, Sm = ({
293
294
  children: i,
294
295
  userName: C,
295
296
  projectName: f,
@@ -357,14 +358,14 @@ const G = window.location.protocol.replace("http", "ws"), L = `${G}//${window.lo
357
358
  children: i
358
359
  }
359
360
  );
360
- }, Sm = () => {
361
+ }, hm = () => {
361
362
  const i = A(k);
362
363
  if (i === void 0)
363
364
  throw new Error("useSocketContext must be used within a SocketProvider");
364
365
  return i;
365
366
  };
366
367
  export {
367
- gm as SocketProvider,
368
- Sm as useSocketContext
368
+ Sm as SocketProvider,
369
+ hm as useSocketContext
369
370
  };
370
371
  //# sourceMappingURL=WebsocketContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebsocketContext.es.js","sources":["../../../../src/context/WebsocketContext.tsx"],"sourcesContent":["import { useEffect, useState, 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'\nimport { SocketContext } from './WebsocketContextInstance'\n\nexport type WebsocketContextType = {\n getWebSocket: () => WebSocketLike | null\n readyState: ReadyState\n serverRestartingVisible: boolean\n}\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":["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","SocketContext","useSocketContext","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"WebsocketContext.es.js","sources":["../../../../src/context/WebsocketContext.tsx"],"sourcesContent":["import { useEffect, useState, 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'\nimport { SocketContext } from './WebsocketContextInstance'\n\nexport type WebsocketContextType = {\n getWebSocket: () => WebSocketLike | null\n readyState: ReadyState\n serverRestartingVisible: boolean\n}\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":["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","SocketContext","useSocketContext","context","useContext"],"mappings":"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"}
@@ -21,6 +21,7 @@ declare module '@tanstack/react-table' {
21
21
  toggleExpandAll?: ToggleExpandAll;
22
22
  selection?: string[];
23
23
  columnsConfig?: ColumnsConfig;
24
+ loadingLinksEntityIds?: Set<string>;
24
25
  }
25
26
  }
26
27
  export interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -21,6 +21,7 @@ export interface ProjectTableContextType {
21
21
  fetchNextPage: ProjectTableProviderProps['fetchNextPage'];
22
22
  reloadTableData: ProjectTableProviderProps['reloadTableData'];
23
23
  getEntityById: (id: string, field?: string) => EntityMap | undefined;
24
+ loadingLinksEntityIds?: Set<string>;
24
25
  groups: ProjectTableProviderProps['groups'];
25
26
  overrideGroupBy?: ProjectTableProviderProps['overrideGroupBy'];
26
27
  queryFilters: ProjectTableProviderProps['queryFilters'];
@@ -36,6 +36,7 @@ export interface ProjectTableProviderProps {
36
36
  groups: EntityGroup[];
37
37
  groupRowFunc?: (node: any) => TableRow;
38
38
  overrideGroupBy?: TableGroupBy;
39
+ loadingLinksEntityIds?: Set<string>;
39
40
  fetchNextPage: (value?: string) => void;
40
41
  reloadTableData: () => void;
41
42
  queryFilters: {
@@ -77,4 +78,4 @@ export interface ProjectTableProviderProps {
77
78
  useLocation?: typeof useLocation;
78
79
  useSearchParams?: typeof useSearchParams;
79
80
  }
80
- export declare const ProjectTableProvider: ({ children, foldersMap, tableRows, tasksMap, entitiesMap, tasksByFolderMap, selectedFolders, expanded, showHierarchy, loadingTasks, isLoadingMore, isLoading, error, isInitialized, users, attribFields, scopes, groups, groupRowFunc, overrideGroupBy, queryFilters, updateShowHierarchy, toggleExpanded, updateExpanded, fetchNextPage, reloadTableData, setExpanded, contextMenuItems, powerpack, modules, groupByConfig, hierarchyOptions, hierarchyActive, isFlatFolderView, SubtasksManager, playerOpen, onOpenPlayer, onResetView, useParams, useNavigate, useLocation, useSearchParams, }: ProjectTableProviderProps) => import("react/jsx-runtime").JSX.Element;
81
+ export declare const ProjectTableProvider: ({ children, foldersMap, tableRows, tasksMap, entitiesMap, tasksByFolderMap, selectedFolders, expanded, showHierarchy, loadingTasks, isLoadingMore, isLoading, error, isInitialized, users, attribFields, scopes, groups, groupRowFunc, overrideGroupBy, queryFilters, updateShowHierarchy, toggleExpanded, updateExpanded, fetchNextPage, reloadTableData, setExpanded, contextMenuItems, powerpack, modules, loadingLinksEntityIds, groupByConfig, hierarchyOptions, hierarchyActive, isFlatFolderView, SubtasksManager, playerOpen, onOpenPlayer, onResetView, useParams, useNavigate, useLocation, useSearchParams, }: ProjectTableProviderProps) => import("react/jsx-runtime").JSX.Element;
@@ -18,6 +18,7 @@ type useFetchOverviewDataData = {
18
18
  isLoadingAll: boolean;
19
19
  isLoadingMore: boolean;
20
20
  loadingTasks: LoadingTasks;
21
+ loadingLinksEntityIds: Set<string>;
21
22
  fetchNextPage: (value?: string) => void;
22
23
  reloadTableData: () => void;
23
24
  };
@@ -56,6 +56,7 @@ export interface ProjectOverviewContextType {
56
56
  updateExpanded: OnChangeFn<ExpandedState>;
57
57
  setExpanded: (expanded: ExpandedState) => void;
58
58
  contextMenuItems: ContextMenuItemConstructors;
59
+ loadingLinksEntityIds: Set<string>;
59
60
  setLinksVisible: (visible: boolean) => void;
60
61
  openMoveDialog?: (entityData: EntityMoveData) => void;
61
62
  }
@@ -24,6 +24,7 @@ interface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'on
24
24
  isFocused?: boolean;
25
25
  isReadOnly?: boolean;
26
26
  enableCustomValues?: boolean;
27
+ isLinksLoading?: boolean;
27
28
  folderId?: string | null;
28
29
  tooltip?: string;
29
30
  onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void;
@@ -20,5 +20,6 @@ export interface LinksWidgetProps extends WidgetBaseProps {
20
20
  cellId: string;
21
21
  disabled?: boolean;
22
22
  folderId?: string | null;
23
+ isLoading?: boolean;
23
24
  }
24
25
  export declare const LinksWidget: FC<LinksWidgetProps>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynput/ayon-frontend-shared",
3
- "version": "0.3.37",
3
+ "version": "0.3.39",
4
4
  "description": "Shared React components for AYON frontend",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",
@@ -132,7 +132,7 @@
132
132
  "dependencies": {
133
133
  "@tanstack/match-sorter-utils": "8.19.4",
134
134
  "@tanstack/react-virtual": "3.13.23",
135
- "@ynput/ayon-frontend-shared": "^0.3.36",
135
+ "@ynput/ayon-frontend-shared": "^0.3.37",
136
136
  "@ynput/ayon-react-components": "^1.18.8",
137
137
  "axios": "1.16.1",
138
138
  "clsx": "2.1.1",