@ynput/ayon-frontend-shared 0.2.21 → 0.2.23

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 (363) hide show
  1. package/dist/DetailsPanel.cjs.js +6 -5
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +6 -5
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/_virtual/index.cjs10.js +4 -4
  6. package/dist/_virtual/index.cjs4.js +4 -4
  7. package/dist/_virtual/index.cjs5.js +4 -4
  8. package/dist/_virtual/index.cjs6.js +2 -2
  9. package/dist/_virtual/index.cjs7.js +2 -2
  10. package/dist/_virtual/index.cjs8.js +4 -4
  11. package/dist/_virtual/index.cjs9.js +4 -4
  12. package/dist/_virtual/index.es10.js +4 -4
  13. package/dist/_virtual/index.es4.js +4 -4
  14. package/dist/_virtual/index.es5.js +4 -4
  15. package/dist/_virtual/index.es6.js +2 -2
  16. package/dist/_virtual/index.es7.js +2 -2
  17. package/dist/_virtual/index.es8.js +4 -4
  18. package/dist/_virtual/index.es9.js +4 -4
  19. package/dist/api.cjs.js +22 -19
  20. package/dist/api.cjs.js.map +1 -1
  21. package/dist/api.es.js +8 -5
  22. package/dist/api.es.js.map +1 -1
  23. package/dist/index.cjs.js +6 -5
  24. package/dist/index.cjs.js.map +1 -1
  25. package/dist/index.es.js +6 -5
  26. package/dist/index.es.js.map +1 -1
  27. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  28. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  29. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  30. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  31. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  32. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  33. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  34. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  35. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  36. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  37. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  38. package/dist/node_modules/remove-accents/index.es.js +1 -1
  39. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/shared/src/api/base/client.cjs.js +20 -19
  42. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  43. package/dist/shared/src/api/base/client.es.js +20 -19
  44. package/dist/shared/src/api/base/client.es.js.map +1 -1
  45. package/dist/shared/src/api/generated/access.cjs.js +8 -0
  46. package/dist/shared/src/api/generated/access.cjs.js.map +1 -1
  47. package/dist/shared/src/api/generated/access.es.js +8 -0
  48. package/dist/shared/src/api/generated/access.es.js.map +1 -1
  49. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  50. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  51. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +6 -5
  52. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  53. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +6 -5
  54. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  55. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +6 -5
  56. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  57. package/dist/shared/src/api/queries/entities/updateEntity.es.js +6 -5
  58. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +6 -5
  60. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/overview/updateOverview.es.js +6 -5
  62. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/share/share.cjs.js +66 -0
  64. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -0
  65. package/dist/shared/src/api/queries/share/share.es.js +66 -0
  66. package/dist/shared/src/api/queries/share/share.es.js.map +1 -0
  67. package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -5
  68. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/users/getUsers.es.js +6 -5
  70. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/views/getViews.cjs.js +5 -1
  72. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  73. package/dist/shared/src/api/queries/views/getViews.es.js +5 -1
  74. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  75. package/dist/shared/src/api/queries/views/updateViews.cjs.js +0 -2
  76. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/views/updateViews.es.js +0 -2
  78. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  79. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +6 -5
  80. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  81. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +6 -5
  82. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  83. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +6 -5
  84. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +6 -5
  86. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  87. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +6 -5
  88. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  89. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +6 -5
  90. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  91. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -5
  92. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  93. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -5
  94. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  95. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +6 -5
  96. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  97. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +6 -5
  98. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  99. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +6 -5
  100. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  101. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -5
  102. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  103. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +6 -5
  104. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -5
  106. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  107. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +6 -5
  108. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  109. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +6 -5
  110. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  111. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +6 -5
  112. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  113. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -5
  114. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  115. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +6 -5
  116. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  117. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -5
  118. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  119. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +6 -5
  120. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  121. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -5
  122. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  123. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +6 -5
  124. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  125. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +6 -5
  126. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  127. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +6 -5
  128. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  129. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +6 -5
  130. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  131. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +6 -5
  132. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  133. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -5
  134. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  135. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -5
  136. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  137. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -5
  138. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  139. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +6 -5
  140. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  141. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -5
  142. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  143. package/dist/shared/src/components/Watchers/Watchers.cjs.js +6 -5
  144. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  145. package/dist/shared/src/components/Watchers/Watchers.es.js +6 -5
  146. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  147. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +6 -5
  148. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  149. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -5
  150. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  151. package/dist/shared/src/containers/Actions/Actions.cjs.js +6 -5
  152. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  153. package/dist/shared/src/containers/Actions/Actions.es.js +6 -5
  154. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  155. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +6 -5
  156. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  157. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -5
  158. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  159. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +6 -5
  160. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  161. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +6 -5
  162. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  163. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +6 -5
  164. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  165. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -5
  166. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  167. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +6 -5
  168. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -5
  170. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +6 -5
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -5
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +6 -5
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +6 -5
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +6 -5
  180. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -5
  182. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  183. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +6 -5
  184. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  186. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  187. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +6 -5
  188. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  189. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +6 -5
  190. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +15 -9
  192. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +15 -9
  194. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +6 -5
  196. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -5
  198. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +52 -77
  202. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +52 -77
  204. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +6 -5
  206. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -5
  208. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +6 -5
  210. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -5
  212. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +6 -5
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +6 -5
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +6 -5
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +6 -5
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +6 -5
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +6 -5
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +6 -5
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +6 -5
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +6 -5
  230. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +6 -5
  232. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +14 -8
  234. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +14 -8
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +6 -5
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +6 -5
  240. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +6 -5
  242. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +6 -5
  244. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  245. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +6 -5
  246. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -5
  248. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  249. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +17 -1
  250. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +17 -1
  252. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  253. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js +4 -2
  254. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js +4 -2
  256. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js.map +1 -1
  257. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  259. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +12 -7
  260. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +12 -7
  262. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  263. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js +17 -0
  264. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js.map +1 -0
  265. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js +17 -0
  266. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js.map +1 -0
  267. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js +37 -0
  268. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js.map +1 -0
  269. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js +37 -0
  270. package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js.map +1 -0
  271. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js +13 -2
  272. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js +14 -3
  274. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js.map +1 -1
  275. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js +1 -2
  276. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js +2 -3
  278. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js.map +1 -1
  279. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +38 -6
  280. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +39 -7
  282. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  283. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +31 -5
  284. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +31 -5
  286. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  287. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +61 -23
  288. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +61 -23
  290. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  291. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +6 -5
  292. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +6 -5
  294. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  295. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +45 -6
  296. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +45 -6
  298. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  299. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js +3 -40
  300. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js +3 -40
  302. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js.map +1 -1
  303. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js +2 -1
  304. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js +2 -1
  306. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
  307. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +6 -5
  308. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
  310. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  311. package/dist/shared/src/context/AddonProjectContext.cjs.js +6 -5
  312. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  313. package/dist/shared/src/context/AddonProjectContext.es.js +6 -5
  314. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  315. package/dist/shared/src/context/DetailsPanelContext.cjs.js +6 -5
  316. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  317. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -5
  318. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  319. package/dist/shared/src/context/PowerpackContext.cjs.js +6 -5
  320. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  321. package/dist/shared/src/context/PowerpackContext.es.js +6 -5
  322. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  323. package/dist/shared/src/context/RemoteModulesContext.cjs.js +6 -5
  324. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  325. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -5
  326. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  327. package/dist/shared/src/hooks/useActionTriggers.cjs.js +6 -5
  328. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  329. package/dist/shared/src/hooks/useActionTriggers.es.js +6 -5
  330. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  331. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +6 -5
  332. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  333. package/dist/shared/src/hooks/useEntityUpdate.es.js +6 -5
  334. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  335. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  336. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  337. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +6 -5
  338. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  339. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -5
  340. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  341. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +6 -5
  342. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  343. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -5
  344. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  345. package/dist/types/api/generated/access.d.ts +15 -0
  346. package/dist/types/api/generated/views.d.ts +4 -4
  347. package/dist/types/api/queries/index.d.ts +6 -5
  348. package/dist/types/api/queries/share/index.d.ts +1 -0
  349. package/dist/types/api/queries/share/share.d.ts +150 -0
  350. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -15
  351. package/dist/types/containers/Views/ViewItem/ViewItem.d.ts +1 -0
  352. package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +2 -1
  353. package/dist/types/containers/Views/ViewsMenu/SectionHeader.d.ts +6 -0
  354. package/dist/types/containers/Views/ViewsMenu/SectionHeader.styled.d.ts +1 -0
  355. package/dist/types/containers/Views/ViewsMenu/ViewsMenu.d.ts +8 -3
  356. package/dist/types/containers/Views/context/ViewsContext.d.ts +3 -1
  357. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
  358. package/dist/types/containers/Views/hooks/useViewsMutations.d.ts +7 -0
  359. package/dist/types/containers/Views/index.d.ts +1 -1
  360. package/dist/types/containers/Views/utils/getCustomViewsFallback.d.ts +7 -6
  361. package/package.json +1 -1
  362. package/dist/types/api/generated/powerPack1.1.1Views.d.ts +0 -25
  363. package/dist/types/containers/Views/hooks/useOverviewViewSettings.d.ts +0 -0
@@ -48,6 +48,7 @@ require("../../../api/queries/addons/updateAddons.cjs.js");
48
48
  require("../../../api/queries/attributes/getAttributes.cjs.js");
49
49
  require("../../../api/queries/attributes/updateAttributes.cjs.js");
50
50
  require("../../../api/queries/authentication/getAuthentication.cjs.js");
51
+ require("../../../api/queries/cloud/cloud.cjs.js");
51
52
  require("../../../api/queries/entities/getEntity.cjs.js");
52
53
  require("../../../api/queries/entities/getEntityPanel.cjs.js");
53
54
  require("../../../api/queries/entities/updateEntity.cjs.js");
@@ -56,29 +57,30 @@ require("../../../api/queries/entityLists/updateLists.cjs.js");
56
57
  require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
57
58
  require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
58
59
  require("../../../api/queries/folders/getFolders.cjs.js");
60
+ require("../../../api/queries/grouping/getGrouping.cjs.js");
59
61
  require("../../../api/queries/overview/getOverview.cjs.js");
60
62
  require("../../../api/queries/overview/updateOverview.cjs.js");
63
+ require("../../../api/queries/permissions/getPermissions.cjs.js");
64
+ require("../../../api/queries/products/createProduct.cjs.js");
61
65
  require("../../../api/queries/project/getProject.cjs.js");
62
66
  require("../../../api/queries/project/updateProject.cjs.js");
63
67
  require("../../../api/queries/review/getReview.cjs.js");
64
68
  require("../../../api/queries/review/updateReview.cjs.js");
69
+ require("../../../api/queries/share/share.cjs.js");
65
70
  require("../../../api/queries/system/getSystem.cjs.js");
66
71
  require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");
67
72
  require("../../../api/queries/users/getUsers.cjs.js");
68
73
  require("../../../api/queries/users/updateUsers.cjs.js");
69
- require("../../../api/queries/watchers/getWatchers.cjs.js");
70
- require("../../../api/queries/permissions/getPermissions.cjs.js");
71
- require("../../../api/queries/grouping/getGrouping.cjs.js");
72
74
  require("../../../api/queries/versions/updateVersions.cjs.js");
73
- require("../../../api/queries/products/createProduct.cjs.js");
74
- require("../../../api/queries/cloud/cloud.cjs.js");
75
75
  require("../../../api/queries/views/getViews.cjs.js");
76
76
  const updateViews = require("../../../api/queries/views/updateViews.cjs.js");
77
+ require("../../../api/queries/watchers/getWatchers.cjs.js");
77
78
  const React = require("react");
78
79
  const ViewsMenu = require("../ViewsMenu/ViewsMenu.cjs.js");
79
80
  const ayonReactComponents = require("@ynput/ayon-react-components");
80
81
  const generateWorkingView = require("../utils/generateWorkingView.cjs.js");
81
82
  const reactToastify = require("react-toastify");
83
+ const useLocalStorage = require("../../../hooks/useLocalStorage.cjs.js");
82
84
  const useLoadModule = require("../../../hooks/useLoadModule.cjs.js");
83
85
  require("../../../../../_virtual/runtime.cjs.js");
84
86
  require("../../../../../_virtual/semver.cjs.js");
@@ -92,7 +94,7 @@ require("react-dom");
92
94
  require("../../../context/pip/PiPWrapper.cjs.js");
93
95
  require("../../../context/AddonProjectContext.cjs.js");
94
96
  require("../../../context/AddonContext.cjs.js");
95
- require("../../../context/PowerpackContext.cjs.js");
97
+ const PowerpackContext = require("../../../context/PowerpackContext.cjs.js");
96
98
  require("react-redux");
97
99
  require("custom-protocol-check");
98
100
  const getCustomViewsFallback = require("../utils/getCustomViewsFallback.cjs.js");
@@ -107,8 +109,10 @@ const useBuildViewMenuItems = ({
107
109
  editingViewId,
108
110
  onSelect,
109
111
  onEdit,
110
- onSave
112
+ onSave,
113
+ onResetWorkingView
111
114
  }) => {
115
+ const { powerLicense } = PowerpackContext.usePowerpack();
112
116
  const [createView] = updateViews.useCreateViewMutation();
113
117
  const extendedViewsList = React.useMemo(
114
118
  () => viewsList.map((view) => ({
@@ -156,29 +160,63 @@ const useBuildViewMenuItems = ({
156
160
  module: "getCustomViews",
157
161
  fallback: getCustomViewsFallback.getCustomViewsFallback,
158
162
  // minVersion: minVersion,
159
- skip: !viewType
163
+ skip: !viewType || !powerLicense
160
164
  });
161
- const { myViews, sharedViews } = React.useMemo(
162
- () => getCustomViews({
163
- viewsList: extendedViewsList,
164
- onEdit,
165
- onSelect,
166
- onSave: handleEditView
167
- }),
168
- [viewsList, onEdit, onSelect, handleEditView]
165
+ const { myViews, sharedViews, allPrivateViews } = getCustomViews({
166
+ viewsList: extendedViewsList,
167
+ onEdit,
168
+ onSelect,
169
+ onSave: handleEditView
170
+ });
171
+ const stateKey = "viewsMenuCollapsed";
172
+ const [collapsed, setCollapsed] = useLocalStorage.useLocalStorage(stateKey, {});
173
+ const toggleSection = React.useCallback(
174
+ (id) => {
175
+ setCollapsed({ ...collapsed, [id]: !collapsed[id] });
176
+ },
177
+ [collapsed, setCollapsed]
169
178
  );
170
- const dividers = myViews.length || sharedViews.length ? [ViewsMenu.VIEW_DIVIDER] : [];
179
+ const sections = React.useMemo(() => {
180
+ return [
181
+ { id: "myViews", title: "My views", items: myViews },
182
+ { id: "sharedViews", title: "Shared views", items: sharedViews },
183
+ { id: "allPrivateViews", title: "All private views", items: allPrivateViews }
184
+ ];
185
+ }, [myViews, sharedViews, allPrivateViews]);
186
+ console.log(allPrivateViews);
171
187
  const workingViewItem = React.useMemo(
172
188
  () => ({
173
189
  ...workingBaseView,
174
- onClick: handleWorkingViewChange
190
+ onClick: handleWorkingViewChange,
191
+ // expose reset button when handler is provided
192
+ isEditable: Boolean(onResetWorkingView),
193
+ onResetView: onResetWorkingView
175
194
  }),
176
- [handleWorkingViewChange]
177
- );
178
- const viewItems = React.useMemo(
179
- () => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],
180
- [workingView, myViews, sharedViews, workingViewItem]
195
+ [handleWorkingViewChange, onResetWorkingView]
181
196
  );
197
+ const viewItems = React.useMemo(() => {
198
+ const result = [workingViewItem];
199
+ const visibleSections = sections.filter((s) => {
200
+ var _a;
201
+ return (((_a = s.items) == null ? void 0 : _a.length) || 0) > 0;
202
+ });
203
+ if (visibleSections.length > 0) result.push(ViewsMenu.VIEW_DIVIDER);
204
+ visibleSections.forEach((section) => {
205
+ const isCollapsed = !!collapsed[section.id];
206
+ result.push({
207
+ type: "section",
208
+ id: section.id,
209
+ title: section.title,
210
+ collapsed: isCollapsed,
211
+ onToggle: () => toggleSection(section.id)
212
+ });
213
+ if (!isCollapsed) {
214
+ result.push(...section.items);
215
+ }
216
+ });
217
+ if (visibleSections.length > 0) result.push(ViewsMenu.VIEW_DIVIDER);
218
+ return result;
219
+ }, [workingViewItem, sections, collapsed, toggleSection]);
182
220
  return viewItems;
183
221
  };
184
222
  exports.WORKING_VIEW_ID = WORKING_VIEW_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { ViewData } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n onSelect,\n onEdit,\n onSave,\n}: Props): ViewMenuItem[] => {\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType,\n })\n\n const { myViews, sharedViews } = useMemo(\n () =>\n getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n }),\n [viewsList, onEdit, onSelect, handleEditView],\n )\n\n const dividers = myViews.length || sharedViews.length ? [VIEW_DIVIDER] : []\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n }),\n [handleWorkingViewChange],\n )\n\n const viewItems: ViewMenuItem[] = useMemo(\n () => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],\n [workingView, myViews, sharedViews, workingViewItem],\n )\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["useCreateViewMutation","useMemo","jsx","Icon","useCallback","workingView","generateWorkingView","toast","useLoadModule","getCustomViewsFallback","VIEW_DIVIDER"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,kBAAkB;AAoB/B,MAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA6B;AAErB,QAAA,CAAC,UAAU,IAAIA,kCAAsB;AAE3C,QAAM,oBAAiDC,MAAA;AAAA,IACrD,MACE,UAAU,IAAI,CAAC,UAAU;AAAA,MACvB,GAAG;AAAA,MACH,SAAS,KAAK,WAAU,2CAAa;AAAA,MACrC,aAAa,kBAAkB,KAAK,KAAK,SAAS;AAAA,IAAA,EAClD;AAAA,IACJ,CAAC,WAAW,aAAa,aAAa;AAAA,EACxC;AAEA,QAAM,kBAA4B;AAAA,IAChC,IAAI;AAAA,IACJ,OAAO,iBAAiB,kBAAkB;AAAA,IAC1C,cAAc,kBAAmBC,2BAAA,kBAAA,IAAAC,oBAAA,MAAA,EAAK,MAAK,UAAS;AAAA,IACpD,YAAY;AAAA,EACd;AAGM,QAAA,0BAA0BC,MAAAA,YAAY,YAAY;AACtD,QAAI,gBAAgB,2CAAa;AACjC,QAAI,CAAC,aAAa;AAEZ,UAAA;AACF,gBAAQ,KAAK,2CAA2C;AACxD,cAAMC,eAAcC,oBAAAA,oBAAoB;AACxC,cAAM,WAAW;AAAA,UACf,SAASD;AAAAA,UACT;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAEV,wBAAgBA,aAAY;AAAA,eACrB,OAAY;AACbE,sBAAAA,MAAA,MAAM,kCAAkC,KAAK,EAAE;AAAA,MAAA;AAAA,IACvD;AAGF,aAAS,aAAuB;AAAA,EAAA,GAC/B,CAAC,aAAa,UAAU,YAAY,aAAa,QAAQ,CAAC;AAEvD,QAAA,iBAAiB,OAAO,WAAmB;AAE3C,QAAA;AACF,YAAM,OAAO,MAAM;AACnB,eAAS,MAAM;AAAA,aACR,OAAY;AACnBA,oBAAA,MAAM,MAAM,KAAK;AAAA,IAAA;AAAA,EAErB;AAEA,QAAM,CAAC,gBAAgB,EAAE,WAAW,iBAAkB,CAAA,IAAIC,cAAAA,cAAc;AAAA,IACtE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUC,uBAAA;AAAA;AAAA,IAEV,MAAM,CAAC;AAAA,EAAA,CACR;AAEK,QAAA,EAAE,SAAS,YAAA,IAAgBR,MAAA;AAAA,IAC/B,MACE,eAAe;AAAA,MACb,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IAAA,CACT;AAAA,IACH,CAAC,WAAW,QAAQ,UAAU,cAAc;AAAA,EAC9C;AAEM,QAAA,WAAW,QAAQ,UAAU,YAAY,SAAS,CAACS,UAAY,YAAA,IAAI,CAAC;AAE1E,QAAM,kBAAgCT,MAAA;AAAA,IACpC,OAAO;AAAA,MACL,GAAG;AAAA,MACH,SAAS;AAAA,IAAA;AAAA,IAEX,CAAC,uBAAuB;AAAA,EAC1B;AAEA,QAAM,YAA4BA,MAAA;AAAA,IAChC,MAAM,CAAC,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ;AAAA,IAC5E,CAAC,aAAa,SAAS,aAAa,eAAe;AAAA,EACrD;AAEO,SAAA;AACT;;;"}
1
+ {"version":3,"file":"useBuildViewMenuItems.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\ntype CollapsedState = Record<string, boolean>\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsed, setCollapsed] = useLocalStorage<CollapsedState>(stateKey, {})\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n console.log(allPrivateViews)\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["usePowerpack","useCreateViewMutation","useMemo","jsx","Icon","useCallback","workingView","generateWorkingView","toast","useLoadModule","getCustomViewsFallback","useLocalStorage","VIEW_DIVIDER"],"mappings":"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"}
@@ -46,6 +46,7 @@ import "../../../api/queries/addons/updateAddons.es.js";
46
46
  import "../../../api/queries/attributes/getAttributes.es.js";
47
47
  import "../../../api/queries/attributes/updateAttributes.es.js";
48
48
  import "../../../api/queries/authentication/getAuthentication.es.js";
49
+ import "../../../api/queries/cloud/cloud.es.js";
49
50
  import "../../../api/queries/entities/getEntity.es.js";
50
51
  import "../../../api/queries/entities/getEntityPanel.es.js";
51
52
  import "../../../api/queries/entities/updateEntity.es.js";
@@ -54,29 +55,30 @@ import "../../../api/queries/entityLists/updateLists.es.js";
54
55
  import "../../../api/queries/entityLists/getListsAttributes.es.js";
55
56
  import "../../../api/queries/entityLists/updateListsAttributes.es.js";
56
57
  import "../../../api/queries/folders/getFolders.es.js";
58
+ import "../../../api/queries/grouping/getGrouping.es.js";
57
59
  import "../../../api/queries/overview/getOverview.es.js";
58
60
  import "../../../api/queries/overview/updateOverview.es.js";
61
+ import "../../../api/queries/permissions/getPermissions.es.js";
62
+ import "../../../api/queries/products/createProduct.es.js";
59
63
  import "../../../api/queries/project/getProject.es.js";
60
64
  import "../../../api/queries/project/updateProject.es.js";
61
65
  import "../../../api/queries/review/getReview.es.js";
62
66
  import "../../../api/queries/review/updateReview.es.js";
67
+ import "../../../api/queries/share/share.es.js";
63
68
  import "../../../api/queries/system/getSystem.es.js";
64
69
  import "../../../api/queries/userDashboard/getUserDashboard.es.js";
65
70
  import "../../../api/queries/users/getUsers.es.js";
66
71
  import "../../../api/queries/users/updateUsers.es.js";
67
- import "../../../api/queries/watchers/getWatchers.es.js";
68
- import "../../../api/queries/permissions/getPermissions.es.js";
69
- import "../../../api/queries/grouping/getGrouping.es.js";
70
72
  import "../../../api/queries/versions/updateVersions.es.js";
71
- import "../../../api/queries/products/createProduct.es.js";
72
- import "../../../api/queries/cloud/cloud.es.js";
73
73
  import "../../../api/queries/views/getViews.es.js";
74
74
  import { useCreateViewMutation } from "../../../api/queries/views/updateViews.es.js";
75
+ import "../../../api/queries/watchers/getWatchers.es.js";
75
76
  import { useMemo, useCallback } from "react";
76
77
  import { VIEW_DIVIDER } from "../ViewsMenu/ViewsMenu.es.js";
77
78
  import { Icon } from "@ynput/ayon-react-components";
78
79
  import { generateWorkingView } from "../utils/generateWorkingView.es.js";
79
80
  import { toast } from "react-toastify";
81
+ import { useLocalStorage } from "../../../hooks/useLocalStorage.es.js";
80
82
  import { useLoadModule } from "../../../hooks/useLoadModule.es.js";
81
83
  import "../../../../../_virtual/runtime.es.js";
82
84
  import "../../../../../_virtual/semver.es.js";
@@ -90,7 +92,7 @@ import "react-dom";
90
92
  import "../../../context/pip/PiPWrapper.es.js";
91
93
  import "../../../context/AddonProjectContext.es.js";
92
94
  import "../../../context/AddonContext.es.js";
93
- import "../../../context/PowerpackContext.es.js";
95
+ import { usePowerpack } from "../../../context/PowerpackContext.es.js";
94
96
  import "react-redux";
95
97
  import "custom-protocol-check";
96
98
  import { getCustomViewsFallback } from "../utils/getCustomViewsFallback.es.js";
@@ -105,8 +107,10 @@ const useBuildViewMenuItems = ({
105
107
  editingViewId,
106
108
  onSelect,
107
109
  onEdit,
108
- onSave
110
+ onSave,
111
+ onResetWorkingView
109
112
  }) => {
113
+ const { powerLicense } = usePowerpack();
110
114
  const [createView] = useCreateViewMutation();
111
115
  const extendedViewsList = useMemo(
112
116
  () => viewsList.map((view) => ({
@@ -154,29 +158,63 @@ const useBuildViewMenuItems = ({
154
158
  module: "getCustomViews",
155
159
  fallback: getCustomViewsFallback,
156
160
  // minVersion: minVersion,
157
- skip: !viewType
161
+ skip: !viewType || !powerLicense
158
162
  });
159
- const { myViews, sharedViews } = useMemo(
160
- () => getCustomViews({
161
- viewsList: extendedViewsList,
162
- onEdit,
163
- onSelect,
164
- onSave: handleEditView
165
- }),
166
- [viewsList, onEdit, onSelect, handleEditView]
163
+ const { myViews, sharedViews, allPrivateViews } = getCustomViews({
164
+ viewsList: extendedViewsList,
165
+ onEdit,
166
+ onSelect,
167
+ onSave: handleEditView
168
+ });
169
+ const stateKey = "viewsMenuCollapsed";
170
+ const [collapsed, setCollapsed] = useLocalStorage(stateKey, {});
171
+ const toggleSection = useCallback(
172
+ (id) => {
173
+ setCollapsed({ ...collapsed, [id]: !collapsed[id] });
174
+ },
175
+ [collapsed, setCollapsed]
167
176
  );
168
- const dividers = myViews.length || sharedViews.length ? [VIEW_DIVIDER] : [];
177
+ const sections = useMemo(() => {
178
+ return [
179
+ { id: "myViews", title: "My views", items: myViews },
180
+ { id: "sharedViews", title: "Shared views", items: sharedViews },
181
+ { id: "allPrivateViews", title: "All private views", items: allPrivateViews }
182
+ ];
183
+ }, [myViews, sharedViews, allPrivateViews]);
184
+ console.log(allPrivateViews);
169
185
  const workingViewItem = useMemo(
170
186
  () => ({
171
187
  ...workingBaseView,
172
- onClick: handleWorkingViewChange
188
+ onClick: handleWorkingViewChange,
189
+ // expose reset button when handler is provided
190
+ isEditable: Boolean(onResetWorkingView),
191
+ onResetView: onResetWorkingView
173
192
  }),
174
- [handleWorkingViewChange]
175
- );
176
- const viewItems = useMemo(
177
- () => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],
178
- [workingView, myViews, sharedViews, workingViewItem]
193
+ [handleWorkingViewChange, onResetWorkingView]
179
194
  );
195
+ const viewItems = useMemo(() => {
196
+ const result = [workingViewItem];
197
+ const visibleSections = sections.filter((s) => {
198
+ var _a;
199
+ return (((_a = s.items) == null ? void 0 : _a.length) || 0) > 0;
200
+ });
201
+ if (visibleSections.length > 0) result.push(VIEW_DIVIDER);
202
+ visibleSections.forEach((section) => {
203
+ const isCollapsed = !!collapsed[section.id];
204
+ result.push({
205
+ type: "section",
206
+ id: section.id,
207
+ title: section.title,
208
+ collapsed: isCollapsed,
209
+ onToggle: () => toggleSection(section.id)
210
+ });
211
+ if (!isCollapsed) {
212
+ result.push(...section.items);
213
+ }
214
+ });
215
+ if (visibleSections.length > 0) result.push(VIEW_DIVIDER);
216
+ return result;
217
+ }, [workingViewItem, sections, collapsed, toggleSection]);
180
218
  return viewItems;
181
219
  };
182
220
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { ViewData } from '../context/ViewsContext'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n}\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n onSelect,\n onEdit,\n onSave,\n}: Props): ViewMenuItem[] => {\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType,\n })\n\n const { myViews, sharedViews } = useMemo(\n () =>\n getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n }),\n [viewsList, onEdit, onSelect, handleEditView],\n )\n\n const dividers = myViews.length || sharedViews.length ? [VIEW_DIVIDER] : []\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n }),\n [handleWorkingViewChange],\n )\n\n const viewItems: ViewMenuItem[] = useMemo(\n () => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],\n [workingView, myViews, sharedViews, workingViewItem],\n )\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["jsx","workingView"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,kBAAkB;AAoB/B,MAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA6B;AAErB,QAAA,CAAC,UAAU,IAAI,sBAAsB;AAE3C,QAAM,oBAAiD;AAAA,IACrD,MACE,UAAU,IAAI,CAAC,UAAU;AAAA,MACvB,GAAG;AAAA,MACH,SAAS,KAAK,WAAU,2CAAa;AAAA,MACrC,aAAa,kBAAkB,KAAK,KAAK,SAAS;AAAA,IAAA,EAClD;AAAA,IACJ,CAAC,WAAW,aAAa,aAAa;AAAA,EACxC;AAEA,QAAM,kBAA4B;AAAA,IAChC,IAAI;AAAA,IACJ,OAAO,iBAAiB,kBAAkB;AAAA,IAC1C,cAAc,kBAAmBA,kCAAA,IAAA,MAAA,EAAK,MAAK,UAAS;AAAA,IACpD,YAAY;AAAA,EACd;AAGM,QAAA,0BAA0B,YAAY,YAAY;AACtD,QAAI,gBAAgB,2CAAa;AACjC,QAAI,CAAC,aAAa;AAEZ,UAAA;AACF,gBAAQ,KAAK,2CAA2C;AACxD,cAAMC,eAAc,oBAAoB;AACxC,cAAM,WAAW;AAAA,UACf,SAASA;AAAAA,UACT;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAEV,wBAAgBA,aAAY;AAAA,eACrB,OAAY;AACb,cAAA,MAAM,kCAAkC,KAAK,EAAE;AAAA,MAAA;AAAA,IACvD;AAGF,aAAS,aAAuB;AAAA,EAAA,GAC/B,CAAC,aAAa,UAAU,YAAY,aAAa,QAAQ,CAAC;AAEvD,QAAA,iBAAiB,OAAO,WAAmB;AAE3C,QAAA;AACF,YAAM,OAAO,MAAM;AACnB,eAAS,MAAM;AAAA,aACR,OAAY;AACnB,YAAM,MAAM,KAAK;AAAA,IAAA;AAAA,EAErB;AAEA,QAAM,CAAC,gBAAgB,EAAE,WAAW,iBAAkB,CAAA,IAAI,cAAc;AAAA,IACtE,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA;AAAA,IAEV,MAAM,CAAC;AAAA,EAAA,CACR;AAEK,QAAA,EAAE,SAAS,YAAA,IAAgB;AAAA,IAC/B,MACE,eAAe;AAAA,MACb,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,IAAA,CACT;AAAA,IACH,CAAC,WAAW,QAAQ,UAAU,cAAc;AAAA,EAC9C;AAEM,QAAA,WAAW,QAAQ,UAAU,YAAY,SAAS,CAAC,YAAY,IAAI,CAAC;AAE1E,QAAM,kBAAgC;AAAA,IACpC,OAAO;AAAA,MACL,GAAG;AAAA,MACH,SAAS;AAAA,IAAA;AAAA,IAEX,CAAC,uBAAuB;AAAA,EAC1B;AAEA,QAAM,YAA4B;AAAA,IAChC,MAAM,CAAC,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ;AAAA,IAC5E,CAAC,aAAa,SAAS,aAAa,eAAe;AAAA,EACrD;AAEO,SAAA;AACT;"}
1
+ {"version":3,"file":"useBuildViewMenuItems.es.js","sources":["../../../../../../src/containers/Views/hooks/useBuildViewMenuItems.tsx"],"sourcesContent":["import { useCreateViewMutation, UserModel, ViewListItemModel } from '@shared/api'\nimport { useCallback, useMemo } from 'react'\nimport { VIEW_DIVIDER, ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { ViewItem } from '../ViewItem/ViewItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\nimport { useLoadModule, useLocalStorage } from '@shared/hooks'\nimport { getCustomViewsFallback } from '../utils/getCustomViewsFallback'\nimport { usePowerpack } from '@shared/context'\n\n// constants\nexport const WORKING_VIEW_ID = '_working_' as const\nexport const NEW_VIEW_ID = '_new_view_' as const\nexport type ViewListItemModelExtended = ViewListItemModel & {\n isOwner: boolean\n highlighted?: 'save' | 'edit'\n}\n\ntype Props = {\n viewsList: ViewListItemModel[]\n workingView?: ViewListItemModel\n viewType?: string\n projectName?: string\n currentUser?: UserModel\n useWorkingView?: boolean\n editingViewId?: string // the preview id of the view being edited\n onEdit: (viewId: string) => void\n onSelect: (viewId: string) => void\n onSave: (viewId: string) => Promise<void>\n onResetWorkingView?: () => void\n}\n\ntype CollapsedState = Record<string, boolean>\n\nconst useBuildViewMenuItems = ({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView,\n editingViewId,\n onSelect,\n onEdit,\n onSave,\n onResetWorkingView,\n}: Props): ViewMenuItem[] => {\n const { powerLicense } = usePowerpack()\n\n // MUTATIONS\n const [createView] = useCreateViewMutation()\n\n const extendedViewsList: ViewListItemModelExtended[] = useMemo(\n () =>\n viewsList.map((view) => ({\n ...view,\n isOwner: view.owner === currentUser?.name,\n highlighted: editingViewId === view.id ? 'save' : undefined,\n })),\n [viewsList, currentUser, editingViewId],\n )\n\n const workingBaseView: ViewItem = {\n id: WORKING_VIEW_ID,\n label: useWorkingView ? 'Personal view' : 'Working view',\n startContent: useWorkingView && <Icon icon=\"person\" />,\n isEditable: false,\n }\n\n // if we have a working view, we use it, otherwise we create one\n const handleWorkingViewChange = useCallback(async () => {\n let workingViewId = workingView?.id\n if (!workingView) {\n // no working view found, create one\n try {\n console.warn('No working view found, creating a new one')\n const workingView = generateWorkingView()\n await createView({\n payload: workingView,\n viewType: viewType as string,\n projectName: projectName,\n }).unwrap()\n // set id of the new view\n workingViewId = workingView.id\n } catch (error: any) {\n toast.error(`Failed to create working view: ${error}`)\n }\n }\n // select the working view\n onSelect(workingViewId as string)\n }, [workingView, viewType, createView, projectName, onSelect])\n\n const handleEditView = async (viewId: string) => {\n // save the view and then selected it\n try {\n await onSave(viewId)\n onSelect(viewId)\n } catch (error: any) {\n toast.error(error)\n }\n }\n\n const [getCustomViews, { isLoading: isLoadingQueries }] = useLoadModule({\n addon: 'powerpack',\n remote: 'views',\n module: 'getCustomViews',\n fallback: getCustomViewsFallback,\n // minVersion: minVersion,\n skip: !viewType || !powerLicense,\n })\n\n const { myViews, sharedViews, allPrivateViews } = getCustomViews({\n viewsList: extendedViewsList,\n onEdit,\n onSelect,\n onSave: handleEditView,\n })\n\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsed, setCollapsed] = useLocalStorage<CollapsedState>(stateKey, {})\n\n const toggleSection = useCallback(\n (id: string) => {\n setCollapsed({ ...collapsed, [id]: !collapsed[id] })\n },\n [collapsed, setCollapsed],\n )\n\n const sections: Array<{ id: string; title: string; items: ViewItem[] }> = useMemo(() => {\n return [\n { id: 'myViews', title: 'My views', items: myViews as ViewItem[] },\n { id: 'sharedViews', title: 'Shared views', items: sharedViews as ViewItem[] },\n { id: 'allPrivateViews', title: 'All private views', items: allPrivateViews as ViewItem[] },\n ]\n }, [myViews, sharedViews, allPrivateViews])\n\n console.log(allPrivateViews)\n\n const workingViewItem: ViewMenuItem = useMemo(\n () => ({\n ...workingBaseView,\n onClick: handleWorkingViewChange,\n // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\n )\n\n // Build list with headers after computing items, omit sections with no items, and hide items when collapsed\n const viewItems: ViewMenuItem[] = useMemo(() => {\n const result: ViewMenuItem[] = [workingViewItem]\n\n // Add divider only if any section exists\n const visibleSections = sections.filter((s) => (s.items?.length || 0) > 0)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n visibleSections.forEach((section) => {\n const isCollapsed = !!collapsed[section.id]\n result.push({\n type: 'section',\n id: section.id,\n title: section.title,\n collapsed: isCollapsed,\n onToggle: () => toggleSection(section.id),\n })\n if (!isCollapsed) {\n result.push(...section.items)\n }\n })\n\n // Add a closing divider after all sections (only if sections exist)\n if (visibleSections.length > 0) result.push(VIEW_DIVIDER)\n\n return result\n }, [workingViewItem, sections, collapsed, toggleSection])\n\n return viewItems\n}\n\nexport default useBuildViewMenuItems\n"],"names":["jsx","workingView"],"mappings":"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"}
@@ -47,6 +47,7 @@ require("../../../api/queries/addons/updateAddons.cjs.js");
47
47
  require("../../../api/queries/attributes/getAttributes.cjs.js");
48
48
  require("../../../api/queries/attributes/updateAttributes.cjs.js");
49
49
  require("../../../api/queries/authentication/getAuthentication.cjs.js");
50
+ require("../../../api/queries/cloud/cloud.cjs.js");
50
51
  require("../../../api/queries/entities/getEntity.cjs.js");
51
52
  require("../../../api/queries/entities/getEntityPanel.cjs.js");
52
53
  require("../../../api/queries/entities/updateEntity.cjs.js");
@@ -55,24 +56,24 @@ require("../../../api/queries/entityLists/updateLists.cjs.js");
55
56
  require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
56
57
  require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
57
58
  require("../../../api/queries/folders/getFolders.cjs.js");
59
+ require("../../../api/queries/grouping/getGrouping.cjs.js");
58
60
  require("../../../api/queries/overview/getOverview.cjs.js");
59
61
  require("../../../api/queries/overview/updateOverview.cjs.js");
62
+ require("../../../api/queries/permissions/getPermissions.cjs.js");
63
+ require("../../../api/queries/products/createProduct.cjs.js");
60
64
  require("../../../api/queries/project/getProject.cjs.js");
61
65
  require("../../../api/queries/project/updateProject.cjs.js");
62
66
  require("../../../api/queries/review/getReview.cjs.js");
63
67
  require("../../../api/queries/review/updateReview.cjs.js");
68
+ require("../../../api/queries/share/share.cjs.js");
64
69
  require("../../../api/queries/system/getSystem.cjs.js");
65
70
  require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");
66
71
  require("../../../api/queries/users/getUsers.cjs.js");
67
72
  require("../../../api/queries/users/updateUsers.cjs.js");
68
- require("../../../api/queries/watchers/getWatchers.cjs.js");
69
- require("../../../api/queries/permissions/getPermissions.cjs.js");
70
- require("../../../api/queries/grouping/getGrouping.cjs.js");
71
73
  require("../../../api/queries/versions/updateVersions.cjs.js");
72
- require("../../../api/queries/products/createProduct.cjs.js");
73
- require("../../../api/queries/cloud/cloud.cjs.js");
74
74
  const getViews = require("../../../api/queries/views/getViews.cjs.js");
75
75
  const updateViews = require("../../../api/queries/views/updateViews.cjs.js");
76
+ require("../../../api/queries/watchers/getWatchers.cjs.js");
76
77
  const reactToastify = require("react-toastify");
77
78
  const React = require("react");
78
79
  const useSelectedView = ({ viewType, projectName }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectedView.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSelectedView.tsx"],"sourcesContent":["// here get and update the selected (default) view for the specific view type and project\n\nimport {\n GetDefaultViewApiResponse,\n useGetDefaultViewQuery,\n useSetDefaultViewMutation,\n} from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { useRef } from 'react'\n\ntype Props = {\n viewType: string\n projectName?: string\n}\n\ntype Return = [\n selectedView: GetDefaultViewApiResponse | undefined,\n setSelectedView: (viewId: string) => void,\n previousSelectedViewId: string | undefined,\n]\n\nexport const useSelectedView = ({ viewType, projectName }: Props): Return => {\n const { currentData: defaultView } = useGetDefaultViewQuery(\n { viewType, projectName },\n { skip: !viewType },\n )\n\n const [setDefaultView] = useSetDefaultViewMutation()\n\n // Store the previous selected view ID\n const previousSelectedViewIdByType = useRef<Record<string, string | undefined>>({})\n const previousSelectedViewId = previousSelectedViewIdByType.current[viewType]\n\n const setSelectedView = async (viewId: string) => {\n if (!viewType) throw 'No view type provided for setting default view'\n\n // Store the current view ID as previous before setting the new one\n if (defaultView?.id && defaultView.id !== viewId) {\n previousSelectedViewIdByType.current[viewType] = defaultView.id\n }\n\n console.log('setting default view:', viewId)\n\n try {\n await setDefaultView({\n setDefaultViewRequestModel: {\n viewId,\n },\n viewType,\n projectName,\n }).unwrap()\n } catch (error) {\n console.error('Failed to set default view:', error)\n toast.warn(`Failed to set default view: ${error}`)\n }\n }\n\n return [defaultView, setSelectedView, previousSelectedViewId]\n}\n"],"names":["useGetDefaultViewQuery","useSetDefaultViewMutation","useRef","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,kBAAiC;AACrE,QAAA,EAAE,aAAa,YAAA,IAAgBA,SAAA;AAAA,IACnC,EAAE,UAAU,YAAY;AAAA,IACxB,EAAE,MAAM,CAAC,SAAS;AAAA,EACpB;AAEM,QAAA,CAAC,cAAc,IAAIC,sCAA0B;AAG7C,QAAA,+BAA+BC,MAA2C,OAAA,EAAE;AAC5E,QAAA,yBAAyB,6BAA6B,QAAQ,QAAQ;AAEtE,QAAA,kBAAkB,OAAO,WAAmB;AAC5C,QAAA,CAAC,SAAgB,OAAA;AAGrB,SAAI,2CAAa,OAAM,YAAY,OAAO,QAAQ;AACnB,mCAAA,QAAQ,QAAQ,IAAI,YAAY;AAAA,IAAA;AAGvD,YAAA,IAAI,yBAAyB,MAAM;AAEvC,QAAA;AACF,YAAM,eAAe;AAAA,QACnB,4BAA4B;AAAA,UAC1B;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAA,EAAE,OAAO;AAAA,aACH,OAAO;AACN,cAAA,MAAM,+BAA+B,KAAK;AAC5CC,oBAAAA,MAAA,KAAK,+BAA+B,KAAK,EAAE;AAAA,IAAA;AAAA,EAErD;AAEO,SAAA,CAAC,aAAa,iBAAiB,sBAAsB;AAC9D;;"}
1
+ {"version":3,"file":"useSelectedView.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useSelectedView.tsx"],"sourcesContent":["// here get and update the selected (default) view for the specific view type and project\n\nimport {\n GetDefaultViewApiResponse,\n useGetDefaultViewQuery,\n useSetDefaultViewMutation,\n} from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { useRef } from 'react'\n\ntype Props = {\n viewType: string\n projectName?: string\n}\n\ntype Return = [\n selectedView: GetDefaultViewApiResponse | undefined,\n setSelectedView: (viewId: string) => void,\n previousSelectedViewId: string | undefined,\n]\n\nexport const useSelectedView = ({ viewType, projectName }: Props): Return => {\n const { currentData: defaultView } = useGetDefaultViewQuery(\n { viewType, projectName },\n { skip: !viewType },\n )\n\n const [setDefaultView] = useSetDefaultViewMutation()\n\n // Store the previous selected view ID\n const previousSelectedViewIdByType = useRef<Record<string, string | undefined>>({})\n const previousSelectedViewId = previousSelectedViewIdByType.current[viewType]\n\n const setSelectedView = async (viewId: string) => {\n if (!viewType) throw 'No view type provided for setting default view'\n\n // Store the current view ID as previous before setting the new one\n if (defaultView?.id && defaultView.id !== viewId) {\n previousSelectedViewIdByType.current[viewType] = defaultView.id\n }\n\n console.log('setting default view:', viewId)\n\n try {\n await setDefaultView({\n setDefaultViewRequestModel: {\n viewId,\n },\n viewType,\n projectName,\n }).unwrap()\n } catch (error) {\n console.error('Failed to set default view:', error)\n toast.warn(`Failed to set default view: ${error}`)\n }\n }\n\n return [defaultView, setSelectedView, previousSelectedViewId]\n}\n"],"names":["useGetDefaultViewQuery","useSetDefaultViewMutation","useRef","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,kBAAiC;AACrE,QAAA,EAAE,aAAa,YAAA,IAAgBA,SAAA;AAAA,IACnC,EAAE,UAAU,YAAY;AAAA,IACxB,EAAE,MAAM,CAAC,SAAS;AAAA,EACpB;AAEM,QAAA,CAAC,cAAc,IAAIC,sCAA0B;AAG7C,QAAA,+BAA+BC,MAA2C,OAAA,EAAE;AAC5E,QAAA,yBAAyB,6BAA6B,QAAQ,QAAQ;AAEtE,QAAA,kBAAkB,OAAO,WAAmB;AAC5C,QAAA,CAAC,SAAgB,OAAA;AAGrB,SAAI,2CAAa,OAAM,YAAY,OAAO,QAAQ;AACnB,mCAAA,QAAQ,QAAQ,IAAI,YAAY;AAAA,IAAA;AAGvD,YAAA,IAAI,yBAAyB,MAAM;AAEvC,QAAA;AACF,YAAM,eAAe;AAAA,QACnB,4BAA4B;AAAA,UAC1B;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAA,EAAE,OAAO;AAAA,aACH,OAAO;AACN,cAAA,MAAM,+BAA+B,KAAK;AAC5CC,oBAAAA,MAAA,KAAK,+BAA+B,KAAK,EAAE;AAAA,IAAA;AAAA,EAErD;AAEO,SAAA,CAAC,aAAa,iBAAiB,sBAAsB;AAC9D;;"}
@@ -45,6 +45,7 @@ import "../../../api/queries/addons/updateAddons.es.js";
45
45
  import "../../../api/queries/attributes/getAttributes.es.js";
46
46
  import "../../../api/queries/attributes/updateAttributes.es.js";
47
47
  import "../../../api/queries/authentication/getAuthentication.es.js";
48
+ import "../../../api/queries/cloud/cloud.es.js";
48
49
  import "../../../api/queries/entities/getEntity.es.js";
49
50
  import "../../../api/queries/entities/getEntityPanel.es.js";
50
51
  import "../../../api/queries/entities/updateEntity.es.js";
@@ -53,24 +54,24 @@ import "../../../api/queries/entityLists/updateLists.es.js";
53
54
  import "../../../api/queries/entityLists/getListsAttributes.es.js";
54
55
  import "../../../api/queries/entityLists/updateListsAttributes.es.js";
55
56
  import "../../../api/queries/folders/getFolders.es.js";
57
+ import "../../../api/queries/grouping/getGrouping.es.js";
56
58
  import "../../../api/queries/overview/getOverview.es.js";
57
59
  import "../../../api/queries/overview/updateOverview.es.js";
60
+ import "../../../api/queries/permissions/getPermissions.es.js";
61
+ import "../../../api/queries/products/createProduct.es.js";
58
62
  import "../../../api/queries/project/getProject.es.js";
59
63
  import "../../../api/queries/project/updateProject.es.js";
60
64
  import "../../../api/queries/review/getReview.es.js";
61
65
  import "../../../api/queries/review/updateReview.es.js";
66
+ import "../../../api/queries/share/share.es.js";
62
67
  import "../../../api/queries/system/getSystem.es.js";
63
68
  import "../../../api/queries/userDashboard/getUserDashboard.es.js";
64
69
  import "../../../api/queries/users/getUsers.es.js";
65
70
  import "../../../api/queries/users/updateUsers.es.js";
66
- import "../../../api/queries/watchers/getWatchers.es.js";
67
- import "../../../api/queries/permissions/getPermissions.es.js";
68
- import "../../../api/queries/grouping/getGrouping.es.js";
69
71
  import "../../../api/queries/versions/updateVersions.es.js";
70
- import "../../../api/queries/products/createProduct.es.js";
71
- import "../../../api/queries/cloud/cloud.es.js";
72
72
  import { useGetDefaultViewQuery } from "../../../api/queries/views/getViews.es.js";
73
73
  import { useSetDefaultViewMutation } from "../../../api/queries/views/updateViews.es.js";
74
+ import "../../../api/queries/watchers/getWatchers.es.js";
74
75
  import { toast } from "react-toastify";
75
76
  import { useRef } from "react";
76
77
  const useSelectedView = ({ viewType, projectName }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectedView.es.js","sources":["../../../../../../src/containers/Views/hooks/useSelectedView.tsx"],"sourcesContent":["// here get and update the selected (default) view for the specific view type and project\n\nimport {\n GetDefaultViewApiResponse,\n useGetDefaultViewQuery,\n useSetDefaultViewMutation,\n} from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { useRef } from 'react'\n\ntype Props = {\n viewType: string\n projectName?: string\n}\n\ntype Return = [\n selectedView: GetDefaultViewApiResponse | undefined,\n setSelectedView: (viewId: string) => void,\n previousSelectedViewId: string | undefined,\n]\n\nexport const useSelectedView = ({ viewType, projectName }: Props): Return => {\n const { currentData: defaultView } = useGetDefaultViewQuery(\n { viewType, projectName },\n { skip: !viewType },\n )\n\n const [setDefaultView] = useSetDefaultViewMutation()\n\n // Store the previous selected view ID\n const previousSelectedViewIdByType = useRef<Record<string, string | undefined>>({})\n const previousSelectedViewId = previousSelectedViewIdByType.current[viewType]\n\n const setSelectedView = async (viewId: string) => {\n if (!viewType) throw 'No view type provided for setting default view'\n\n // Store the current view ID as previous before setting the new one\n if (defaultView?.id && defaultView.id !== viewId) {\n previousSelectedViewIdByType.current[viewType] = defaultView.id\n }\n\n console.log('setting default view:', viewId)\n\n try {\n await setDefaultView({\n setDefaultViewRequestModel: {\n viewId,\n },\n viewType,\n projectName,\n }).unwrap()\n } catch (error) {\n console.error('Failed to set default view:', error)\n toast.warn(`Failed to set default view: ${error}`)\n }\n }\n\n return [defaultView, setSelectedView, previousSelectedViewId]\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,kBAAiC;AACrE,QAAA,EAAE,aAAa,YAAA,IAAgB;AAAA,IACnC,EAAE,UAAU,YAAY;AAAA,IACxB,EAAE,MAAM,CAAC,SAAS;AAAA,EACpB;AAEM,QAAA,CAAC,cAAc,IAAI,0BAA0B;AAG7C,QAAA,+BAA+B,OAA2C,EAAE;AAC5E,QAAA,yBAAyB,6BAA6B,QAAQ,QAAQ;AAEtE,QAAA,kBAAkB,OAAO,WAAmB;AAC5C,QAAA,CAAC,SAAgB,OAAA;AAGrB,SAAI,2CAAa,OAAM,YAAY,OAAO,QAAQ;AACnB,mCAAA,QAAQ,QAAQ,IAAI,YAAY;AAAA,IAAA;AAGvD,YAAA,IAAI,yBAAyB,MAAM;AAEvC,QAAA;AACF,YAAM,eAAe;AAAA,QACnB,4BAA4B;AAAA,UAC1B;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAA,EAAE,OAAO;AAAA,aACH,OAAO;AACN,cAAA,MAAM,+BAA+B,KAAK;AAC5C,YAAA,KAAK,+BAA+B,KAAK,EAAE;AAAA,IAAA;AAAA,EAErD;AAEO,SAAA,CAAC,aAAa,iBAAiB,sBAAsB;AAC9D;"}
1
+ {"version":3,"file":"useSelectedView.es.js","sources":["../../../../../../src/containers/Views/hooks/useSelectedView.tsx"],"sourcesContent":["// here get and update the selected (default) view for the specific view type and project\n\nimport {\n GetDefaultViewApiResponse,\n useGetDefaultViewQuery,\n useSetDefaultViewMutation,\n} from '@shared/api'\nimport { toast } from 'react-toastify'\nimport { useRef } from 'react'\n\ntype Props = {\n viewType: string\n projectName?: string\n}\n\ntype Return = [\n selectedView: GetDefaultViewApiResponse | undefined,\n setSelectedView: (viewId: string) => void,\n previousSelectedViewId: string | undefined,\n]\n\nexport const useSelectedView = ({ viewType, projectName }: Props): Return => {\n const { currentData: defaultView } = useGetDefaultViewQuery(\n { viewType, projectName },\n { skip: !viewType },\n )\n\n const [setDefaultView] = useSetDefaultViewMutation()\n\n // Store the previous selected view ID\n const previousSelectedViewIdByType = useRef<Record<string, string | undefined>>({})\n const previousSelectedViewId = previousSelectedViewIdByType.current[viewType]\n\n const setSelectedView = async (viewId: string) => {\n if (!viewType) throw 'No view type provided for setting default view'\n\n // Store the current view ID as previous before setting the new one\n if (defaultView?.id && defaultView.id !== viewId) {\n previousSelectedViewIdByType.current[viewType] = defaultView.id\n }\n\n console.log('setting default view:', viewId)\n\n try {\n await setDefaultView({\n setDefaultViewRequestModel: {\n viewId,\n },\n viewType,\n projectName,\n }).unwrap()\n } catch (error) {\n console.error('Failed to set default view:', error)\n toast.warn(`Failed to set default view: ${error}`)\n }\n }\n\n return [defaultView, setSelectedView, previousSelectedViewId]\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,kBAAkB,CAAC,EAAE,UAAU,kBAAiC;AACrE,QAAA,EAAE,aAAa,YAAA,IAAgB;AAAA,IACnC,EAAE,UAAU,YAAY;AAAA,IACxB,EAAE,MAAM,CAAC,SAAS;AAAA,EACpB;AAEM,QAAA,CAAC,cAAc,IAAI,0BAA0B;AAG7C,QAAA,+BAA+B,OAA2C,EAAE;AAC5E,QAAA,yBAAyB,6BAA6B,QAAQ,QAAQ;AAEtE,QAAA,kBAAkB,OAAO,WAAmB;AAC5C,QAAA,CAAC,SAAgB,OAAA;AAGrB,SAAI,2CAAa,OAAM,YAAY,OAAO,QAAQ;AACnB,mCAAA,QAAQ,QAAQ,IAAI,YAAY;AAAA,IAAA;AAGvD,YAAA,IAAI,yBAAyB,MAAM;AAEvC,QAAA;AACF,YAAM,eAAe;AAAA,QACnB,4BAA4B;AAAA,UAC1B;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,MACD,CAAA,EAAE,OAAO;AAAA,aACH,OAAO;AACN,cAAA,MAAM,+BAA+B,KAAK;AAC5C,YAAA,KAAK,+BAA+B,KAAK,EAAE;AAAA,IAAA;AAAA,EAErD;AAEO,SAAA,CAAC,aAAa,iBAAiB,sBAAsB;AAC9D;"}
@@ -47,6 +47,7 @@ require("../../../api/queries/addons/updateAddons.cjs.js");
47
47
  require("../../../api/queries/attributes/getAttributes.cjs.js");
48
48
  require("../../../api/queries/attributes/updateAttributes.cjs.js");
49
49
  require("../../../api/queries/authentication/getAuthentication.cjs.js");
50
+ require("../../../api/queries/cloud/cloud.cjs.js");
50
51
  require("../../../api/queries/entities/getEntity.cjs.js");
51
52
  require("../../../api/queries/entities/getEntityPanel.cjs.js");
52
53
  require("../../../api/queries/entities/updateEntity.cjs.js");
@@ -55,25 +56,27 @@ require("../../../api/queries/entityLists/updateLists.cjs.js");
55
56
  require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
56
57
  require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
57
58
  require("../../../api/queries/folders/getFolders.cjs.js");
59
+ require("../../../api/queries/grouping/getGrouping.cjs.js");
58
60
  require("../../../api/queries/overview/getOverview.cjs.js");
59
61
  require("../../../api/queries/overview/updateOverview.cjs.js");
62
+ require("../../../api/queries/permissions/getPermissions.cjs.js");
63
+ require("../../../api/queries/products/createProduct.cjs.js");
60
64
  require("../../../api/queries/project/getProject.cjs.js");
61
65
  require("../../../api/queries/project/updateProject.cjs.js");
62
66
  require("../../../api/queries/review/getReview.cjs.js");
63
67
  require("../../../api/queries/review/updateReview.cjs.js");
68
+ require("../../../api/queries/share/share.cjs.js");
64
69
  require("../../../api/queries/system/getSystem.cjs.js");
65
70
  require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");
66
71
  require("../../../api/queries/users/getUsers.cjs.js");
67
72
  require("../../../api/queries/users/updateUsers.cjs.js");
68
- require("../../../api/queries/watchers/getWatchers.cjs.js");
69
- require("../../../api/queries/permissions/getPermissions.cjs.js");
70
- require("../../../api/queries/grouping/getGrouping.cjs.js");
71
73
  require("../../../api/queries/versions/updateVersions.cjs.js");
72
- require("../../../api/queries/products/createProduct.cjs.js");
73
- require("../../../api/queries/cloud/cloud.cjs.js");
74
74
  require("../../../api/queries/views/getViews.cjs.js");
75
75
  const updateViews = require("../../../api/queries/views/updateViews.cjs.js");
76
+ require("../../../api/queries/watchers/getWatchers.cjs.js");
76
77
  const React = require("react");
78
+ const generateWorkingView = require("../utils/generateWorkingView.cjs.js");
79
+ const reactToastify = require("react-toastify");
77
80
  const useViewsMutations = ({ viewType, projectName }) => {
78
81
  const [createView] = updateViews.useCreateViewMutation();
79
82
  const [deleteView] = updateViews.useDeleteViewMutation();
@@ -133,10 +136,46 @@ const useViewsMutations = ({ viewType, projectName }) => {
133
136
  },
134
137
  [deleteView, viewType, projectName]
135
138
  );
139
+ const onResetWorkingView = React.useCallback(
140
+ async (args) => {
141
+ const { existingWorkingViewId, selectedViewId, setSelectedView, setSettingsChanged, notify } = args || {};
142
+ if (!viewType) {
143
+ throw new Error("viewType are required for resetting a view");
144
+ }
145
+ const freshWorkingView = generateWorkingView.generateWorkingView({});
146
+ if (existingWorkingViewId) {
147
+ freshWorkingView.id = existingWorkingViewId;
148
+ }
149
+ try {
150
+ await createView({
151
+ viewType,
152
+ projectName,
153
+ payload: freshWorkingView
154
+ }).unwrap();
155
+ const newId = freshWorkingView.id;
156
+ if (setSelectedView && setSettingsChanged && selectedViewId && existingWorkingViewId) {
157
+ if (selectedViewId !== existingWorkingViewId) {
158
+ setSelectedView(newId);
159
+ setSettingsChanged(true);
160
+ }
161
+ }
162
+ if (notify) {
163
+ reactToastify.toast.success("View reset to default settings");
164
+ }
165
+ return newId;
166
+ } catch (error) {
167
+ console.error("Failed to reset working view:", error);
168
+ if (notify) reactToastify.toast.error("Failed to reset view to default");
169
+ throw error;
170
+ }
171
+ },
172
+ [createView, viewType, projectName]
173
+ );
136
174
  return {
137
175
  onCreateView,
138
176
  onUpdateView,
139
- onDeleteView
177
+ onDeleteView,
178
+ onResetWorkingView
140
179
  };
141
180
  };
142
181
  exports.useViewsMutations = useViewsMutations;
@@ -1 +1 @@
1
- {"version":3,"file":"useViewsMutations.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useViewsMutations.ts"],"sourcesContent":["import {\n CreateViewApiArg,\n useCreateViewMutation,\n useDeleteViewMutation,\n useUpdateViewMutation,\n} from '@shared/api'\nimport React, { useCallback } from 'react'\nimport { ViewData } from '../context/ViewsContext'\n\ntype Props = {\n viewType?: string\n projectName?: string\n}\n\nexport type UseViewMutations = {\n onCreateView: (payload: CreateViewApiArg['payload']) => Promise<void>\n onDeleteView: (viewId: string) => Promise<void>\n onUpdateView: (viewId: string, payload: Partial<ViewData>) => Promise<void>\n}\ntype R = UseViewMutations\n\nexport const useViewsMutations = ({ viewType, projectName }: Props): UseViewMutations => {\n // forward mutations to the dialog\n const [createView] = useCreateViewMutation()\n const [deleteView] = useDeleteViewMutation()\n const [updateView] = useUpdateViewMutation()\n\n const onCreateView = useCallback<R['onCreateView']>(\n async (payload) => {\n if (!viewType) {\n throw new Error('viewType are required for creating a view')\n }\n\n try {\n await createView({\n viewType: viewType,\n projectName: projectName,\n payload,\n }).unwrap()\n } catch (error) {\n console.error('Failed to create view:', error)\n throw error\n }\n },\n [createView, viewType, projectName],\n )\n\n const onUpdateView = useCallback<R['onUpdateView']>(\n async (viewId, payload) => {\n if (!viewType) {\n throw new Error('viewType are required for updating a view')\n }\n\n try {\n await updateView({\n viewId,\n viewType,\n projectName,\n payload,\n }).unwrap()\n } catch (error) {\n console.error('Failed to update view:', error)\n throw error\n }\n },\n [createView, viewType, projectName],\n )\n\n const onDeleteView = useCallback<R['onDeleteView']>(\n async (viewId) => {\n if (!viewType) {\n throw new Error('viewType are required for deleting a view')\n }\n\n try {\n await deleteView({\n viewType: viewType,\n projectName: projectName,\n viewId,\n }).unwrap()\n } catch (error) {\n console.error('Failed to delete view:', error)\n throw error\n }\n },\n [deleteView, viewType, projectName],\n )\n\n return {\n onCreateView,\n onUpdateView,\n onDeleteView,\n }\n}\n"],"names":["useCreateViewMutation","useDeleteViewMutation","useUpdateViewMutation","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,oBAAoB,CAAC,EAAE,UAAU,kBAA2C;AAEjF,QAAA,CAAC,UAAU,IAAIA,kCAAsB;AACrC,QAAA,CAAC,UAAU,IAAIC,kCAAsB;AACrC,QAAA,CAAC,UAAU,IAAIC,kCAAsB;AAE3C,QAAM,eAAeC,MAAA;AAAA,IACnB,OAAO,YAAY;AACjB,UAAI,CAAC,UAAU;AACP,cAAA,IAAI,MAAM,2CAA2C;AAAA,MAAA;AAGzD,UAAA;AACF,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAAA,eACH,OAAO;AACN,gBAAA,MAAM,0BAA0B,KAAK;AACvC,cAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC,YAAY,UAAU,WAAW;AAAA,EACpC;AAEA,QAAM,eAAeA,MAAA;AAAA,IACnB,OAAO,QAAQ,YAAY;AACzB,UAAI,CAAC,UAAU;AACP,cAAA,IAAI,MAAM,2CAA2C;AAAA,MAAA;AAGzD,UAAA;AACF,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAAA,eACH,OAAO;AACN,gBAAA,MAAM,0BAA0B,KAAK;AACvC,cAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC,YAAY,UAAU,WAAW;AAAA,EACpC;AAEA,QAAM,eAAeA,MAAA;AAAA,IACnB,OAAO,WAAW;AAChB,UAAI,CAAC,UAAU;AACP,cAAA,IAAI,MAAM,2CAA2C;AAAA,MAAA;AAGzD,UAAA;AACF,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAAA,eACH,OAAO;AACN,gBAAA,MAAM,0BAA0B,KAAK;AACvC,cAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC,YAAY,UAAU,WAAW;AAAA,EACpC;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;"}
1
+ {"version":3,"file":"useViewsMutations.cjs.js","sources":["../../../../../../src/containers/Views/hooks/useViewsMutations.ts"],"sourcesContent":["import {\n CreateViewApiArg,\n useCreateViewMutation,\n useDeleteViewMutation,\n useUpdateViewMutation,\n} from '@shared/api'\nimport React, { useCallback } from 'react'\nimport { ViewData } from '../context/ViewsContext'\nimport { generateWorkingView } from '../utils/generateWorkingView'\nimport { toast } from 'react-toastify'\n\ntype Props = {\n viewType?: string\n projectName?: string\n}\n\nexport type UseViewMutations = {\n onCreateView: (payload: CreateViewApiArg['payload']) => Promise<void>\n onDeleteView: (viewId: string) => Promise<void>\n onUpdateView: (viewId: string, payload: Partial<ViewData>) => Promise<void>\n onResetWorkingView: (args?: {\n existingWorkingViewId?: string\n selectedViewId?: string\n setSelectedView?: (id: string) => void\n setSettingsChanged?: (changed: boolean) => void\n notify?: boolean\n }) => Promise<string>\n}\ntype R = UseViewMutations\n\nexport const useViewsMutations = ({ viewType, projectName }: Props): UseViewMutations => {\n // forward mutations to the dialog\n const [createView] = useCreateViewMutation()\n const [deleteView] = useDeleteViewMutation()\n const [updateView] = useUpdateViewMutation()\n\n const onCreateView = useCallback<R['onCreateView']>(\n async (payload) => {\n if (!viewType) {\n throw new Error('viewType are required for creating a view')\n }\n\n try {\n await createView({\n viewType: viewType,\n projectName: projectName,\n payload,\n }).unwrap()\n } catch (error) {\n console.error('Failed to create view:', error)\n throw error\n }\n },\n [createView, viewType, projectName],\n )\n\n const onUpdateView = useCallback<R['onUpdateView']>(\n async (viewId, payload) => {\n if (!viewType) {\n throw new Error('viewType are required for updating a view')\n }\n\n try {\n await updateView({\n viewId,\n viewType,\n projectName,\n payload,\n }).unwrap()\n } catch (error) {\n console.error('Failed to update view:', error)\n throw error\n }\n },\n [createView, viewType, projectName],\n )\n\n const onDeleteView = useCallback<R['onDeleteView']>(\n async (viewId) => {\n if (!viewType) {\n throw new Error('viewType are required for deleting a view')\n }\n\n try {\n await deleteView({\n viewType: viewType,\n projectName: projectName,\n viewId,\n }).unwrap()\n } catch (error) {\n console.error('Failed to delete view:', error)\n throw error\n }\n },\n [deleteView, viewType, projectName],\n )\n\n const onResetWorkingView = useCallback<R['onResetWorkingView']>(\n async (args) => {\n const { existingWorkingViewId, selectedViewId, setSelectedView, setSettingsChanged, notify } =\n args || {}\n if (!viewType) {\n throw new Error('viewType are required for resetting a view')\n }\n\n const freshWorkingView = generateWorkingView({})\n if (existingWorkingViewId) {\n freshWorkingView.id = existingWorkingViewId\n }\n\n try {\n await createView({\n viewType,\n projectName,\n payload: freshWorkingView,\n }).unwrap()\n const newId = freshWorkingView.id as string\n\n // If we're not currently on the working view, switch to it and mark settings as changed\n if (setSelectedView && setSettingsChanged && selectedViewId && existingWorkingViewId) {\n if (selectedViewId !== existingWorkingViewId) {\n setSelectedView(newId)\n setSettingsChanged(true)\n }\n }\n\n if (notify) {\n toast.success('View reset to default settings')\n }\n\n return newId\n } catch (error) {\n console.error('Failed to reset working view:', error)\n if (notify) toast.error('Failed to reset view to default')\n throw error\n }\n },\n [createView, viewType, projectName],\n )\n\n return {\n onCreateView,\n onUpdateView,\n onDeleteView,\n onResetWorkingView,\n }\n}\n"],"names":["useCreateViewMutation","useDeleteViewMutation","useUpdateViewMutation","useCallback","generateWorkingView","toast"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BO,MAAM,oBAAoB,CAAC,EAAE,UAAU,kBAA2C;AAEjF,QAAA,CAAC,UAAU,IAAIA,kCAAsB;AACrC,QAAA,CAAC,UAAU,IAAIC,kCAAsB;AACrC,QAAA,CAAC,UAAU,IAAIC,kCAAsB;AAE3C,QAAM,eAAeC,MAAA;AAAA,IACnB,OAAO,YAAY;AACjB,UAAI,CAAC,UAAU;AACP,cAAA,IAAI,MAAM,2CAA2C;AAAA,MAAA;AAGzD,UAAA;AACF,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAAA,eACH,OAAO;AACN,gBAAA,MAAM,0BAA0B,KAAK;AACvC,cAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC,YAAY,UAAU,WAAW;AAAA,EACpC;AAEA,QAAM,eAAeA,MAAA;AAAA,IACnB,OAAO,QAAQ,YAAY;AACzB,UAAI,CAAC,UAAU;AACP,cAAA,IAAI,MAAM,2CAA2C;AAAA,MAAA;AAGzD,UAAA;AACF,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAAA,eACH,OAAO;AACN,gBAAA,MAAM,0BAA0B,KAAK;AACvC,cAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC,YAAY,UAAU,WAAW;AAAA,EACpC;AAEA,QAAM,eAAeA,MAAA;AAAA,IACnB,OAAO,WAAW;AAChB,UAAI,CAAC,UAAU;AACP,cAAA,IAAI,MAAM,2CAA2C;AAAA,MAAA;AAGzD,UAAA;AACF,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,QACD,CAAA,EAAE,OAAO;AAAA,eACH,OAAO;AACN,gBAAA,MAAM,0BAA0B,KAAK;AACvC,cAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC,YAAY,UAAU,WAAW;AAAA,EACpC;AAEA,QAAM,qBAAqBA,MAAA;AAAA,IACzB,OAAO,SAAS;AACR,YAAA,EAAE,uBAAuB,gBAAgB,iBAAiB,oBAAoB,OAAO,IACzF,QAAQ,CAAC;AACX,UAAI,CAAC,UAAU;AACP,cAAA,IAAI,MAAM,4CAA4C;AAAA,MAAA;AAGxD,YAAA,mBAAmBC,oBAAoB,oBAAA,EAAE;AAC/C,UAAI,uBAAuB;AACzB,yBAAiB,KAAK;AAAA,MAAA;AAGpB,UAAA;AACF,cAAM,WAAW;AAAA,UACf;AAAA,UACA;AAAA,UACA,SAAS;AAAA,QACV,CAAA,EAAE,OAAO;AACV,cAAM,QAAQ,iBAAiB;AAG3B,YAAA,mBAAmB,sBAAsB,kBAAkB,uBAAuB;AACpF,cAAI,mBAAmB,uBAAuB;AAC5C,4BAAgB,KAAK;AACrB,+BAAmB,IAAI;AAAA,UAAA;AAAA,QACzB;AAGF,YAAI,QAAQ;AACVC,wBAAA,MAAM,QAAQ,gCAAgC;AAAA,QAAA;AAGzC,eAAA;AAAA,eACA,OAAO;AACN,gBAAA,MAAM,iCAAiC,KAAK;AAChD,YAAA,OAAcA,eAAAA,MAAA,MAAM,iCAAiC;AACnD,cAAA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAAC,YAAY,UAAU,WAAW;AAAA,EACpC;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;"}