@ynput/ayon-frontend-shared 0.2.21 → 0.2.22

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 (330) 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.cjs4.js +4 -4
  6. package/dist/_virtual/index.cjs5.js +4 -4
  7. package/dist/_virtual/index.cjs6.js +2 -2
  8. package/dist/_virtual/index.cjs7.js +2 -2
  9. package/dist/_virtual/index.es4.js +4 -4
  10. package/dist/_virtual/index.es5.js +4 -4
  11. package/dist/_virtual/index.es6.js +2 -2
  12. package/dist/_virtual/index.es7.js +2 -2
  13. package/dist/api.cjs.js +22 -19
  14. package/dist/api.cjs.js.map +1 -1
  15. package/dist/api.es.js +8 -5
  16. package/dist/api.es.js.map +1 -1
  17. package/dist/index.cjs.js +6 -5
  18. package/dist/index.cjs.js.map +1 -1
  19. package/dist/index.es.js +6 -5
  20. package/dist/index.es.js.map +1 -1
  21. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  22. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  23. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  24. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  25. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  26. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  27. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  28. package/dist/node_modules/remove-accents/index.es.js +1 -1
  29. package/dist/shared/src/api/base/client.cjs.js +20 -19
  30. package/dist/shared/src/api/base/client.cjs.js.map +1 -1
  31. package/dist/shared/src/api/base/client.es.js +20 -19
  32. package/dist/shared/src/api/base/client.es.js.map +1 -1
  33. package/dist/shared/src/api/generated/access.cjs.js +8 -0
  34. package/dist/shared/src/api/generated/access.cjs.js.map +1 -1
  35. package/dist/shared/src/api/generated/access.es.js +8 -0
  36. package/dist/shared/src/api/generated/access.es.js.map +1 -1
  37. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  38. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  39. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +6 -5
  40. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  41. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +6 -5
  42. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  43. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +6 -5
  44. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  45. package/dist/shared/src/api/queries/entities/updateEntity.es.js +6 -5
  46. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  47. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +6 -5
  48. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  49. package/dist/shared/src/api/queries/overview/updateOverview.es.js +6 -5
  50. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  51. package/dist/shared/src/api/queries/share/share.cjs.js +66 -0
  52. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -0
  53. package/dist/shared/src/api/queries/share/share.es.js +66 -0
  54. package/dist/shared/src/api/queries/share/share.es.js.map +1 -0
  55. package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -5
  56. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  57. package/dist/shared/src/api/queries/users/getUsers.es.js +6 -5
  58. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/views/getViews.cjs.js +5 -1
  60. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/views/getViews.es.js +5 -1
  62. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/views/updateViews.cjs.js +0 -2
  64. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/views/updateViews.es.js +0 -2
  66. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  67. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +6 -5
  68. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  69. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +6 -5
  70. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  71. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +6 -5
  72. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  73. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +6 -5
  74. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  75. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +6 -5
  76. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  77. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +6 -5
  78. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  79. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -5
  80. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  81. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -5
  82. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  83. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +6 -5
  84. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  85. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +6 -5
  86. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  87. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +6 -5
  88. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  89. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -5
  90. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  91. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +6 -5
  92. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  93. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +6 -5
  94. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  95. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +6 -5
  96. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  97. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +6 -5
  98. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  99. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +6 -5
  100. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  101. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -5
  102. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  103. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +6 -5
  104. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  105. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -5
  106. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  107. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +6 -5
  108. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  109. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -5
  110. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  111. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +6 -5
  112. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  113. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +6 -5
  114. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  115. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +6 -5
  116. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  117. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +6 -5
  118. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  119. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +6 -5
  120. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  121. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -5
  122. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  123. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +6 -5
  124. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  125. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -5
  126. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  127. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +6 -5
  128. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  129. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -5
  130. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  131. package/dist/shared/src/components/Watchers/Watchers.cjs.js +6 -5
  132. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  133. package/dist/shared/src/components/Watchers/Watchers.es.js +6 -5
  134. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  135. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +6 -5
  136. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  137. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -5
  138. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  139. package/dist/shared/src/containers/Actions/Actions.cjs.js +6 -5
  140. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  141. package/dist/shared/src/containers/Actions/Actions.es.js +6 -5
  142. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  143. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +6 -5
  144. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  145. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -5
  146. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  147. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +6 -5
  148. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  149. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +6 -5
  150. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  151. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +6 -5
  152. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  153. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -5
  154. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  155. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +6 -5
  156. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  157. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -5
  158. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  159. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +6 -5
  160. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  161. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -5
  162. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  163. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +6 -5
  164. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  165. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +6 -5
  166. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  167. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +6 -5
  168. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -5
  170. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  171. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +6 -5
  172. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
  174. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  175. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +6 -5
  176. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +6 -5
  178. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +15 -9
  180. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +15 -9
  182. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  183. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +6 -5
  184. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -5
  186. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  188. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  189. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +52 -77
  190. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  191. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +52 -77
  192. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  193. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +6 -5
  194. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -5
  196. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  197. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +6 -5
  198. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -5
  200. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  201. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +6 -5
  202. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +6 -5
  204. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +6 -5
  206. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +6 -5
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +6 -5
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +6 -5
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +6 -5
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +6 -5
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +6 -5
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +6 -5
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +14 -8
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +14 -8
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +6 -5
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +6 -5
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +6 -5
  230. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +6 -5
  232. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  233. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +6 -5
  234. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -5
  236. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  237. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +17 -1
  238. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +17 -1
  240. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  241. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js +4 -2
  242. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js +4 -2
  244. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js.map +1 -1
  245. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  247. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +12 -7
  248. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +12 -7
  250. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  251. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +33 -6
  252. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +34 -7
  254. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  255. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +31 -5
  256. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +31 -5
  258. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  259. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +16 -10
  260. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +16 -10
  262. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  263. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +6 -5
  264. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  265. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +6 -5
  266. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  267. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +45 -6
  268. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +45 -6
  270. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  271. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js +3 -40
  272. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js +3 -40
  274. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js.map +1 -1
  275. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
  276. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
  277. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +6 -5
  278. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +6 -5
  280. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  281. package/dist/shared/src/context/AddonProjectContext.cjs.js +6 -5
  282. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  283. package/dist/shared/src/context/AddonProjectContext.es.js +6 -5
  284. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  285. package/dist/shared/src/context/DetailsPanelContext.cjs.js +6 -5
  286. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  287. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -5
  288. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  289. package/dist/shared/src/context/PowerpackContext.cjs.js +6 -5
  290. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  291. package/dist/shared/src/context/PowerpackContext.es.js +6 -5
  292. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  293. package/dist/shared/src/context/RemoteModulesContext.cjs.js +6 -5
  294. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  295. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -5
  296. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  297. package/dist/shared/src/hooks/useActionTriggers.cjs.js +6 -5
  298. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  299. package/dist/shared/src/hooks/useActionTriggers.es.js +6 -5
  300. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  301. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +6 -5
  302. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  303. package/dist/shared/src/hooks/useEntityUpdate.es.js +6 -5
  304. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  305. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  306. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  307. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +6 -5
  308. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  309. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -5
  310. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  311. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +6 -5
  312. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  313. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -5
  314. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  315. package/dist/types/api/generated/access.d.ts +15 -0
  316. package/dist/types/api/generated/views.d.ts +4 -4
  317. package/dist/types/api/queries/index.d.ts +6 -5
  318. package/dist/types/api/queries/share/index.d.ts +1 -0
  319. package/dist/types/api/queries/share/share.d.ts +150 -0
  320. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -15
  321. package/dist/types/containers/Views/ViewItem/ViewItem.d.ts +1 -0
  322. package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +2 -1
  323. package/dist/types/containers/Views/context/ViewsContext.d.ts +3 -1
  324. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
  325. package/dist/types/containers/Views/hooks/useViewsMutations.d.ts +7 -0
  326. package/dist/types/containers/Views/index.d.ts +1 -1
  327. package/dist/types/containers/Views/utils/getCustomViewsFallback.d.ts +3 -3
  328. package/package.json +1 -1
  329. package/dist/types/api/generated/powerPack1.1.1Views.d.ts +0 -25
  330. package/dist/types/containers/Views/hooks/useOverviewViewSettings.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
2
- import { createContext, useState, useMemo, useContext } from "react";
2
+ import { createContext, useState, useMemo, useCallback, useContext } from "react";
3
3
  import "react-dom";
4
4
  import "../Views.styled.es.js";
5
5
  import "clsx";
@@ -54,6 +54,7 @@ import "../../../api/queries/addons/updateAddons.es.js";
54
54
  import "../../../api/queries/attributes/getAttributes.es.js";
55
55
  import "../../../api/queries/attributes/updateAttributes.es.js";
56
56
  import "../../../api/queries/authentication/getAuthentication.es.js";
57
+ import "../../../api/queries/cloud/cloud.es.js";
57
58
  import "../../../api/queries/entities/getEntity.es.js";
58
59
  import "../../../api/queries/entities/getEntityPanel.es.js";
59
60
  import "../../../api/queries/entities/updateEntity.es.js";
@@ -62,24 +63,24 @@ import "../../../api/queries/entityLists/updateLists.es.js";
62
63
  import "../../../api/queries/entityLists/getListsAttributes.es.js";
63
64
  import "../../../api/queries/entityLists/updateListsAttributes.es.js";
64
65
  import "../../../api/queries/folders/getFolders.es.js";
66
+ import "../../../api/queries/grouping/getGrouping.es.js";
65
67
  import "../../../api/queries/overview/getOverview.es.js";
66
68
  import "../../../api/queries/overview/updateOverview.es.js";
69
+ import "../../../api/queries/permissions/getPermissions.es.js";
70
+ import "../../../api/queries/products/createProduct.es.js";
67
71
  import "../../../api/queries/project/getProject.es.js";
68
72
  import "../../../api/queries/project/updateProject.es.js";
69
73
  import "../../../api/queries/review/getReview.es.js";
70
74
  import "../../../api/queries/review/updateReview.es.js";
75
+ import { useGetShareOptionsQuery } from "../../../api/queries/share/share.es.js";
71
76
  import "../../../api/queries/system/getSystem.es.js";
72
77
  import "../../../api/queries/userDashboard/getUserDashboard.es.js";
73
78
  import { useGetCurrentUserQuery } from "../../../api/queries/users/getUsers.es.js";
74
79
  import "../../../api/queries/users/updateUsers.es.js";
75
- import "../../../api/queries/watchers/getWatchers.es.js";
76
- import "../../../api/queries/permissions/getPermissions.es.js";
77
- import "../../../api/queries/grouping/getGrouping.es.js";
78
80
  import "../../../api/queries/versions/updateVersions.es.js";
79
- import "../../../api/queries/products/createProduct.es.js";
80
- import "../../../api/queries/cloud/cloud.es.js";
81
81
  import { useListViewsQuery, useGetWorkingViewQuery, useGetViewQuery } from "../../../api/queries/views/getViews.es.js";
82
82
  import { viewsQueries as updateViewsApi } from "../../../api/queries/views/updateViews.es.js";
83
+ import "../../../api/queries/watchers/getWatchers.es.js";
83
84
  import "lodash";
84
85
  import "react-toastify";
85
86
  import "../../../context/DetailsPanelContext.es.js";
@@ -116,9 +117,16 @@ const ViewsProvider = ({
116
117
  powerLicense = debug.powerLicense;
117
118
  }
118
119
  const { data: currentUser } = useGetCurrentUserQuery();
119
- const { onCreateView, onDeleteView, onUpdateView } = useViewsMutations({ viewType, projectName });
120
+ const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({
121
+ viewType,
122
+ projectName
123
+ });
120
124
  const [isMenuOpen, setIsMenuOpen] = useState(false);
121
125
  const [editingView, setEditingView] = useState(null);
126
+ const { data: shareOptions } = useGetShareOptionsQuery(
127
+ { projectName },
128
+ { skip: !powerLicense || !editingView }
129
+ );
122
130
  const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({
123
131
  viewType,
124
132
  projectName
@@ -152,6 +160,19 @@ const ViewsProvider = ({
152
160
  sourceSettings: viewSettings,
153
161
  onUpdateView
154
162
  });
163
+ const resetWorkingView = useCallback(async () => {
164
+ try {
165
+ await onResetWorkingView({
166
+ existingWorkingViewId: workingView == null ? void 0 : workingView.id,
167
+ selectedViewId: selectedView == null ? void 0 : selectedView.id,
168
+ setSelectedView,
169
+ setSettingsChanged: setViewSettingsChanged,
170
+ notify: true
171
+ });
172
+ } catch (error) {
173
+ console.error("Failed to reset view:", error);
174
+ }
175
+ }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged]);
155
176
  const viewMenuItems = useBuildViewMenuItems({
156
177
  viewsList,
157
178
  workingView,
@@ -160,9 +181,11 @@ const ViewsProvider = ({
160
181
  currentUser,
161
182
  useWorkingView: !powerLicense,
162
183
  editingViewId,
184
+ onResetWorkingView,
163
185
  onSelect: (viewId) => {
164
186
  setSelectedView(viewId);
165
187
  setViewSettingsChanged(false);
188
+ setIsMenuOpen(false);
166
189
  },
167
190
  onEdit: (viewId) => setEditingView(viewId),
168
191
  onSave: async (viewId) => onSaveViewFromCurrent(viewId)
@@ -183,6 +206,8 @@ const ViewsProvider = ({
183
206
  viewMenuItems,
184
207
  isLoadingViews,
185
208
  isViewWorking,
209
+ // data
210
+ shareOptions,
186
211
  setIsMenuOpen,
187
212
  setEditingView,
188
213
  setSelectedView,
@@ -191,6 +216,8 @@ const ViewsProvider = ({
191
216
  onCreateView,
192
217
  onUpdateView,
193
218
  onDeleteView,
219
+ // shared actions
220
+ resetWorkingView,
194
221
  // api
195
222
  api: updateViewsApi,
196
223
  dispatch
@@ -1 +1 @@
1
- {"version":3,"file":"ViewsContext.es.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nconst viewTypes = ['overview', 'taskProgress', 'lists'] as const\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingViews: boolean\n isViewWorking: boolean\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // api\n api: typeof viewsQueries\n dispatch: any\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { data: currentUser } = useGetCurrentUserQuery()\n\n const { onCreateView, onDeleteView, onUpdateView } = useViewsMutations({ viewType, projectName })\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData } = useGetViewQuery(\n { viewId: editingView as string, projectName: projectName, viewType: viewType as string },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n workingSettings,\n editingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n"],"names":["viewsQueries","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ViewsContext.es.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nconst viewTypes = ['overview', 'taskProgress', 'lists'] as const\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingViews: boolean\n isViewWorking: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { data: currentUser } = useGetCurrentUserQuery()\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n })\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData } = useGetViewQuery(\n { viewId: editingView as string, projectName: projectName, viewType: viewType as string },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n onResetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n workingSettings,\n editingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n"],"names":["viewsQueries","jsx"],"mappings":"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"}
@@ -38,6 +38,18 @@ const useOverviewViewSettings = () => {
38
38
  );
39
39
  const onUpdateHierarchy = React.useCallback(
40
40
  async (newShowHierarchy) => {
41
+ if (newShowHierarchy && (columns == null ? void 0 : columns.groupBy)) {
42
+ const clearedColumns = { ...columns, groupBy: void 0 };
43
+ setLocalColumns(clearedColumns);
44
+ const settings = columnConfigConverter.convertTanstackStatesToColumnConfig(clearedColumns);
45
+ await updateViewSettings(
46
+ { ...settings, showHierarchy: true },
47
+ setLocalHierarchy,
48
+ newShowHierarchy,
49
+ { errorMessage: "Failed to update hierarchy setting" }
50
+ );
51
+ return;
52
+ }
41
53
  await updateViewSettings(
42
54
  { showHierarchy: newShowHierarchy },
43
55
  setLocalHierarchy,
@@ -45,14 +57,28 @@ const useOverviewViewSettings = () => {
45
57
  { errorMessage: "Failed to update hierarchy setting" }
46
58
  );
47
59
  },
48
- [updateViewSettings]
60
+ [updateViewSettings, columns]
49
61
  );
50
62
  const onUpdateColumns = React.useCallback(
51
63
  async (tableSettings, allColumnIds) => {
52
- const settings = columnConfigConverter.convertTanstackStatesToColumnConfig(tableSettings, allColumnIds);
53
- await updateViewSettings(settings, setLocalColumns, tableSettings, {
54
- errorMessage: "Failed to update columns"
55
- });
64
+ var _a, _b;
65
+ const derivedAll = allColumnIds || [
66
+ ...tableSettings.columnOrder || [],
67
+ ...Object.keys(tableSettings.columnVisibility || {}),
68
+ ...((_a = tableSettings.columnPinning) == null ? void 0 : _a.left) || [],
69
+ ...((_b = tableSettings.columnPinning) == null ? void 0 : _b.right) || []
70
+ ].filter(Boolean).filter((v, i, a) => a.indexOf(v) === i);
71
+ const settings = columnConfigConverter.convertTanstackStatesToColumnConfig(tableSettings, derivedAll);
72
+ const hasGroupBy = !!tableSettings.groupBy;
73
+ if (hasGroupBy) {
74
+ setLocalHierarchy(false);
75
+ }
76
+ await updateViewSettings(
77
+ hasGroupBy ? { ...settings, showHierarchy: false } : settings,
78
+ setLocalColumns,
79
+ tableSettings,
80
+ { errorMessage: "Failed to update columns" }
81
+ );
56
82
  },
57
83
  [updateViewSettings]
58
84
  );
@@ -1 +1 @@
1
- {"version":3,"file":"useOverviewViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\nexport const useOverviewViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n const settings = convertTanstackStatesToColumnConfig(tableSettings, allColumnIds)\n await updateViewSettings(settings, setLocalColumns, tableSettings, {\n errorMessage: 'Failed to update columns',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":["useViewsContext","useState","useViewUpdateHelper","useMemo","convertColumnConfigToTanstackStates","useEffect","useCallback","convertTanstackStatesToColumnConfig"],"mappings":";;;;;;;;;AAsCO,MAAM,0BAA0B,MAAc;AAE7C,QAAA,EAAE,aAAa,IAAIA,6BAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAIC,MAAAA,SAA6B,IAAI;AACzE,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAyB,IAAI;AACzE,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAA+B,IAAI;AAGrE,QAAA,EAAE,mBAAmB,IAAIC,qCAAoB;AAGnD,QAAM,mBAAmB;AACnB,QAAA,iBAAiB,qDAAkB,WAAkB,CAAC;AACtD,QAAA,mBAAkB,qDAAkB,kBAAiB;AAC3D,QAAM,gBAAgBC,MAAA;AAAA,IACpB,MAAMC,sBAAAA,oCAAoC,gBAAgB;AAAA,IAC1D,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAC/B;AAGAC,QAAAA,UAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,sBAAkB,IAAI;AACtB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACjD,QAAA,gBAAgB,mBAAmB,OAAO,iBAAiB;AACjE,QAAM,UAAU,gBAAgB;AAGhC,QAAM,kBAAkBC,MAAA;AAAA,IACtB,OAAO,eAA4B;AACjC,YAAM,mBAAmB,EAAE,QAAQ,WAAkB,GAAG,iBAAiB,YAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,oBAAoBA,MAAA;AAAA,IACxB,OAAO,qBAA8B;AAC7B,YAAA;AAAA,QACJ,EAAE,eAAe,iBAAiB;AAAA,QAClC;AAAA,QACA;AAAA,QACA,EAAE,cAAc,qCAAqC;AAAA,MACvD;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,kBAAkBA,MAAA;AAAA,IACtB,OAAO,eAA8B,iBAA4B;AACzD,YAAA,WAAWC,sBAAAA,oCAAoC,eAAe,YAAY;AAC1E,YAAA,mBAAmB,UAAU,iBAAiB,eAAe;AAAA,QACjE,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;"}
1
+ {"version":3,"file":"useOverviewViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\nexport const useOverviewViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":["useViewsContext","useState","useViewUpdateHelper","useMemo","convertColumnConfigToTanstackStates","useEffect","useCallback","convertTanstackStatesToColumnConfig"],"mappings":";;;;;;;;;AAsCO,MAAM,0BAA0B,MAAc;AAE7C,QAAA,EAAE,aAAa,IAAIA,6BAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAIC,MAAAA,SAA6B,IAAI;AACzE,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAyB,IAAI;AACzE,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAA+B,IAAI;AAGrE,QAAA,EAAE,mBAAmB,IAAIC,qCAAoB;AAGnD,QAAM,mBAAmB;AACnB,QAAA,iBAAiB,qDAAkB,WAAkB,CAAC;AACtD,QAAA,mBAAkB,qDAAkB,kBAAiB;AAE3D,QAAM,gBAAgBC,MAAA;AAAA,IACpB,MAAMC,sBAAAA,oCAAoC,gBAAgB;AAAA,IAC1D,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAC/B;AAGAC,QAAAA,UAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,sBAAkB,IAAI;AACtB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACjD,QAAA,gBAAgB,mBAAmB,OAAO,iBAAiB;AACjE,QAAM,UAAU,gBAAgB;AAGhC,QAAM,kBAAkBC,MAAA;AAAA,IACtB,OAAO,eAA4B;AACjC,YAAM,mBAAmB,EAAE,QAAQ,WAAkB,GAAG,iBAAiB,YAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,oBAAoBA,MAAA;AAAA,IACxB,OAAO,qBAA8B;AAE/B,UAAA,qBAAqB,mCAA2B,UAAS;AAC3D,cAAM,iBAAgC,EAAE,GAAG,SAAS,SAAS,OAAU;AAEvE,wBAAgB,cAAc;AACxB,cAAA,WAAWC,0DAAoC,cAAc;AAC7D,cAAA;AAAA,UACJ,EAAE,GAAG,UAAU,eAAe,KAAK;AAAA,UACnC;AAAA,UACA;AAAA,UACA,EAAE,cAAc,qCAAqC;AAAA,QACvD;AACA;AAAA,MAAA;AAGI,YAAA;AAAA,QACJ,EAAE,eAAe,iBAAiB;AAAA,QAClC;AAAA,QACA;AAAA,QACA,EAAE,cAAc,qCAAqC;AAAA,MACvD;AAAA,IACF;AAAA,IACA,CAAC,oBAAoB,OAAO;AAAA,EAC9B;AAGA,QAAM,kBAAkBD,MAAA;AAAA,IACtB,OAAO,eAA8B,iBAA4B;;AAE/D,YAAM,aACJ,gBACA;AAAA,QACE,GAAI,cAAc,eAAe,CAAC;AAAA,QAClC,GAAG,OAAO,KAAK,cAAc,oBAAoB,CAAA,CAAE;AAAA,QACnD,KAAK,mBAAc,kBAAd,mBAA6B,SAAqB,CAAC;AAAA,QACxD,KAAK,mBAAc,kBAAd,mBAA6B,UAAsB,CAAA;AAAA,MAEvD,EAAA,OAAO,OAAO,EACd,OAAO,CAAC,GAAG,GAAG,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;AAErC,YAAA,WAAWC,sBAAAA,oCAAoC,eAAe,UAAU;AACxE,YAAA,aAAa,CAAC,CAAC,cAAc;AAGnC,UAAI,YAAY;AAEd,0BAAkB,KAAK;AAAA,MAAA;AAGnB,YAAA;AAAA,QACJ,aAAa,EAAE,GAAG,UAAU,eAAe,MAAU,IAAA;AAAA,QACrD;AAAA,QACA;AAAA,QACA,EAAE,cAAc,2BAA2B;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;"}
@@ -36,6 +36,18 @@ const useOverviewViewSettings = () => {
36
36
  );
37
37
  const onUpdateHierarchy = useCallback(
38
38
  async (newShowHierarchy) => {
39
+ if (newShowHierarchy && (columns == null ? void 0 : columns.groupBy)) {
40
+ const clearedColumns = { ...columns, groupBy: void 0 };
41
+ setLocalColumns(clearedColumns);
42
+ const settings = convertTanstackStatesToColumnConfig(clearedColumns);
43
+ await updateViewSettings(
44
+ { ...settings, showHierarchy: true },
45
+ setLocalHierarchy,
46
+ newShowHierarchy,
47
+ { errorMessage: "Failed to update hierarchy setting" }
48
+ );
49
+ return;
50
+ }
39
51
  await updateViewSettings(
40
52
  { showHierarchy: newShowHierarchy },
41
53
  setLocalHierarchy,
@@ -43,14 +55,28 @@ const useOverviewViewSettings = () => {
43
55
  { errorMessage: "Failed to update hierarchy setting" }
44
56
  );
45
57
  },
46
- [updateViewSettings]
58
+ [updateViewSettings, columns]
47
59
  );
48
60
  const onUpdateColumns = useCallback(
49
61
  async (tableSettings, allColumnIds) => {
50
- const settings = convertTanstackStatesToColumnConfig(tableSettings, allColumnIds);
51
- await updateViewSettings(settings, setLocalColumns, tableSettings, {
52
- errorMessage: "Failed to update columns"
53
- });
62
+ var _a, _b;
63
+ const derivedAll = allColumnIds || [
64
+ ...tableSettings.columnOrder || [],
65
+ ...Object.keys(tableSettings.columnVisibility || {}),
66
+ ...((_a = tableSettings.columnPinning) == null ? void 0 : _a.left) || [],
67
+ ...((_b = tableSettings.columnPinning) == null ? void 0 : _b.right) || []
68
+ ].filter(Boolean).filter((v, i, a) => a.indexOf(v) === i);
69
+ const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll);
70
+ const hasGroupBy = !!tableSettings.groupBy;
71
+ if (hasGroupBy) {
72
+ setLocalHierarchy(false);
73
+ }
74
+ await updateViewSettings(
75
+ hasGroupBy ? { ...settings, showHierarchy: false } : settings,
76
+ setLocalColumns,
77
+ tableSettings,
78
+ { errorMessage: "Failed to update columns" }
79
+ );
54
80
  },
55
81
  [updateViewSettings]
56
82
  );
@@ -1 +1 @@
1
- {"version":3,"file":"useOverviewViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\nexport const useOverviewViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n const settings = convertTanstackStatesToColumnConfig(tableSettings, allColumnIds)\n await updateViewSettings(settings, setLocalColumns, tableSettings, {\n errorMessage: 'Failed to update columns',\n })\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAsCO,MAAM,0BAA0B,MAAc;AAE7C,QAAA,EAAE,aAAa,IAAI,gBAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAI,SAA6B,IAAI;AACzE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAyB,IAAI;AACzE,QAAM,CAAC,cAAc,eAAe,IAAI,SAA+B,IAAI;AAGrE,QAAA,EAAE,mBAAmB,IAAI,oBAAoB;AAGnD,QAAM,mBAAmB;AACnB,QAAA,iBAAiB,qDAAkB,WAAkB,CAAC;AACtD,QAAA,mBAAkB,qDAAkB,kBAAiB;AAC3D,QAAM,gBAAgB;AAAA,IACpB,MAAM,oCAAoC,gBAAgB;AAAA,IAC1D,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAC/B;AAGA,YAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,sBAAkB,IAAI;AACtB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACjD,QAAA,gBAAgB,mBAAmB,OAAO,iBAAiB;AACjE,QAAM,UAAU,gBAAgB;AAGhC,QAAM,kBAAkB;AAAA,IACtB,OAAO,eAA4B;AACjC,YAAM,mBAAmB,EAAE,QAAQ,WAAkB,GAAG,iBAAiB,YAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,oBAAoB;AAAA,IACxB,OAAO,qBAA8B;AAC7B,YAAA;AAAA,QACJ,EAAE,eAAe,iBAAiB;AAAA,QAClC;AAAA,QACA;AAAA,QACA,EAAE,cAAc,qCAAqC;AAAA,MACvD;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,kBAAkB;AAAA,IACtB,OAAO,eAA8B,iBAA4B;AACzD,YAAA,WAAW,oCAAoC,eAAe,YAAY;AAC1E,YAAA,mBAAmB,UAAU,iBAAiB,eAAe;AAAA,QACjE,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"useOverviewViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useOverviewViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all overview page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\n * - Hierarchy visibility toggle\n * - Column configurations (ColumnsConfig format)\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { ColumnsConfig } from '@shared/containers/ProjectTreeTable'\nimport {\n convertColumnConfigToTanstackStates,\n convertTanstackStatesToColumnConfig,\n} from '@shared/util'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback, useMemo } from 'react'\n\n// Import the internal QueryFilter type that the app uses\nimport { QueryFilter } from '@shared/containers/ProjectTreeTable/types/operations'\n\ntype Return = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Hierarchy management\n showHierarchy: boolean\n onUpdateHierarchy: (showHierarchy: boolean) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\nexport const useOverviewViewSettings = (): Return => {\n // this views context is per page/project\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localFilters, setLocalFilters] = useState<QueryFilter | null>(null)\n const [localHierarchy, setLocalHierarchy] = useState<boolean | null>(null)\n const [localColumns, setLocalColumns] = useState<ColumnsConfig | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings\n const overviewSettings = viewSettings as OverviewSettings\n const serverFilters = (overviewSettings?.filter as any) ?? {}\n const serverHierarchy = overviewSettings?.showHierarchy ?? true\n\n const serverColumns = useMemo(\n () => convertColumnConfigToTanstackStates(overviewSettings),\n [JSON.stringify(viewSettings)],\n )\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalFilters(null)\n setLocalHierarchy(null)\n setLocalColumns(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const filters = localFilters !== null ? localFilters : serverFilters\n const showHierarchy = localHierarchy !== null ? localHierarchy : serverHierarchy\n const columns = localColumns || serverColumns\n\n // Filter update handler\n const onUpdateFilters = useCallback(\n async (newFilters: QueryFilter) => {\n await updateViewSettings({ filter: newFilters as any }, setLocalFilters, newFilters, {\n errorMessage: 'Failed to update filter settings',\n })\n },\n [updateViewSettings],\n )\n\n // Hierarchy update handler\n const onUpdateHierarchy = useCallback(\n async (newShowHierarchy: boolean) => {\n // If turning hierarchy ON while grouped, clear groupBy in the same update\n if (newShowHierarchy && (columns as ColumnsConfig)?.groupBy) {\n const clearedColumns: ColumnsConfig = { ...columns, groupBy: undefined }\n // Optimistically update local columns to remove grouping\n setLocalColumns(clearedColumns)\n const settings = convertTanstackStatesToColumnConfig(clearedColumns)\n await updateViewSettings(\n { ...settings, showHierarchy: true },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n return\n }\n\n await updateViewSettings(\n { showHierarchy: newShowHierarchy },\n setLocalHierarchy,\n newShowHierarchy,\n { errorMessage: 'Failed to update hierarchy setting' },\n )\n },\n [updateViewSettings, columns],\n )\n\n // Column update handler\n const onUpdateColumns = useCallback(\n async (tableSettings: ColumnsConfig, allColumnIds?: string[]) => {\n // Derive a stable allColumnIds if not provided to preserve order and grouping on server\n const derivedAll =\n allColumnIds ||\n [\n ...(tableSettings.columnOrder || []),\n ...Object.keys(tableSettings.columnVisibility || {}),\n ...((tableSettings.columnPinning?.left as string[]) || []),\n ...((tableSettings.columnPinning?.right as string[]) || []),\n ]\n .filter(Boolean)\n .filter((v, i, a) => a.indexOf(v) === i)\n\n const settings = convertTanstackStatesToColumnConfig(tableSettings, derivedAll)\n const hasGroupBy = !!tableSettings.groupBy\n\n // If grouping is being set, turn off hierarchy in the same update for consistency\n if (hasGroupBy) {\n // Optimistically reflect hierarchy off\n setLocalHierarchy(false)\n }\n\n await updateViewSettings(\n hasGroupBy ? { ...settings, showHierarchy: false } : settings,\n setLocalColumns,\n tableSettings,\n { errorMessage: 'Failed to update columns' },\n )\n },\n [updateViewSettings],\n )\n\n return {\n filters,\n onUpdateFilters,\n showHierarchy,\n onUpdateHierarchy,\n columns,\n onUpdateColumns,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAsCO,MAAM,0BAA0B,MAAc;AAE7C,QAAA,EAAE,aAAa,IAAI,gBAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAI,SAA6B,IAAI;AACzE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAyB,IAAI;AACzE,QAAM,CAAC,cAAc,eAAe,IAAI,SAA+B,IAAI;AAGrE,QAAA,EAAE,mBAAmB,IAAI,oBAAoB;AAGnD,QAAM,mBAAmB;AACnB,QAAA,iBAAiB,qDAAkB,WAAkB,CAAC;AACtD,QAAA,mBAAkB,qDAAkB,kBAAiB;AAE3D,QAAM,gBAAgB;AAAA,IACpB,MAAM,oCAAoC,gBAAgB;AAAA,IAC1D,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAC/B;AAGA,YAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,sBAAkB,IAAI;AACtB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACjD,QAAA,gBAAgB,mBAAmB,OAAO,iBAAiB;AACjE,QAAM,UAAU,gBAAgB;AAGhC,QAAM,kBAAkB;AAAA,IACtB,OAAO,eAA4B;AACjC,YAAM,mBAAmB,EAAE,QAAQ,WAAkB,GAAG,iBAAiB,YAAY;AAAA,QACnF,cAAc;AAAA,MAAA,CACf;AAAA,IACH;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAGA,QAAM,oBAAoB;AAAA,IACxB,OAAO,qBAA8B;AAE/B,UAAA,qBAAqB,mCAA2B,UAAS;AAC3D,cAAM,iBAAgC,EAAE,GAAG,SAAS,SAAS,OAAU;AAEvE,wBAAgB,cAAc;AACxB,cAAA,WAAW,oCAAoC,cAAc;AAC7D,cAAA;AAAA,UACJ,EAAE,GAAG,UAAU,eAAe,KAAK;AAAA,UACnC;AAAA,UACA;AAAA,UACA,EAAE,cAAc,qCAAqC;AAAA,QACvD;AACA;AAAA,MAAA;AAGI,YAAA;AAAA,QACJ,EAAE,eAAe,iBAAiB;AAAA,QAClC;AAAA,QACA;AAAA,QACA,EAAE,cAAc,qCAAqC;AAAA,MACvD;AAAA,IACF;AAAA,IACA,CAAC,oBAAoB,OAAO;AAAA,EAC9B;AAGA,QAAM,kBAAkB;AAAA,IACtB,OAAO,eAA8B,iBAA4B;;AAE/D,YAAM,aACJ,gBACA;AAAA,QACE,GAAI,cAAc,eAAe,CAAC;AAAA,QAClC,GAAG,OAAO,KAAK,cAAc,oBAAoB,CAAA,CAAE;AAAA,QACnD,KAAK,mBAAc,kBAAd,mBAA6B,SAAqB,CAAC;AAAA,QACxD,KAAK,mBAAc,kBAAd,mBAA6B,UAAsB,CAAA;AAAA,MAEvD,EAAA,OAAO,OAAO,EACd,OAAO,CAAC,GAAG,GAAG,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;AAErC,YAAA,WAAW,oCAAoC,eAAe,UAAU;AACxE,YAAA,aAAa,CAAC,CAAC,cAAc;AAGnC,UAAI,YAAY;AAEd,0BAAkB,KAAK;AAAA,MAAA;AAGnB,YAAA;AAAA,QACJ,aAAa,EAAE,GAAG,UAAU,eAAe,MAAU,IAAA;AAAA,QACrD;AAAA,QACA;AAAA,QACA,EAAE,cAAc,2BAA2B;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,CAAC,kBAAkB;AAAA,EACrB;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;"}
@@ -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,24 +57,24 @@ 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");
@@ -92,7 +93,7 @@ require("react-dom");
92
93
  require("../../../context/pip/PiPWrapper.cjs.js");
93
94
  require("../../../context/AddonProjectContext.cjs.js");
94
95
  require("../../../context/AddonContext.cjs.js");
95
- require("../../../context/PowerpackContext.cjs.js");
96
+ const PowerpackContext = require("../../../context/PowerpackContext.cjs.js");
96
97
  require("react-redux");
97
98
  require("custom-protocol-check");
98
99
  const getCustomViewsFallback = require("../utils/getCustomViewsFallback.cjs.js");
@@ -107,8 +108,10 @@ const useBuildViewMenuItems = ({
107
108
  editingViewId,
108
109
  onSelect,
109
110
  onEdit,
110
- onSave
111
+ onSave,
112
+ onResetWorkingView
111
113
  }) => {
114
+ const { powerLicense } = PowerpackContext.usePowerpack();
112
115
  const [createView] = updateViews.useCreateViewMutation();
113
116
  const extendedViewsList = React.useMemo(
114
117
  () => viewsList.map((view) => ({
@@ -156,7 +159,7 @@ const useBuildViewMenuItems = ({
156
159
  module: "getCustomViews",
157
160
  fallback: getCustomViewsFallback.getCustomViewsFallback,
158
161
  // minVersion: minVersion,
159
- skip: !viewType
162
+ skip: !viewType || !powerLicense
160
163
  });
161
164
  const { myViews, sharedViews } = React.useMemo(
162
165
  () => getCustomViews({
@@ -171,9 +174,12 @@ const useBuildViewMenuItems = ({
171
174
  const workingViewItem = React.useMemo(
172
175
  () => ({
173
176
  ...workingBaseView,
174
- onClick: handleWorkingViewChange
177
+ onClick: handleWorkingViewChange,
178
+ // expose reset button when handler is provided
179
+ isEditable: Boolean(onResetWorkingView),
180
+ onResetView: onResetWorkingView
175
181
  }),
176
- [handleWorkingViewChange]
182
+ [handleWorkingViewChange, onResetWorkingView]
177
183
  );
178
184
  const viewItems = React.useMemo(
179
185
  () => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],
@@ -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 } 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\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 } = 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 // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\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":["usePowerpack","useCreateViewMutation","useMemo","jsx","Icon","useCallback","workingView","generateWorkingView","toast","useLoadModule","getCustomViewsFallback","VIEW_DIVIDER"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,kBAAkB;AAqB/B,MAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA6B;AACrB,QAAA,EAAE,aAAa,IAAIA,8BAAa;AAGhC,QAAA,CAAC,UAAU,IAAIC,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,YAAY,CAAC;AAAA,EAAA,CACrB;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;AAAA,MAET,YAAY,QAAQ,kBAAkB;AAAA,MACtC,aAAa;AAAA,IAAA;AAAA,IAEf,CAAC,yBAAyB,kBAAkB;AAAA,EAC9C;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;;;"}
@@ -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,24 +55,24 @@ 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";
@@ -90,7 +91,7 @@ import "react-dom";
90
91
  import "../../../context/pip/PiPWrapper.es.js";
91
92
  import "../../../context/AddonProjectContext.es.js";
92
93
  import "../../../context/AddonContext.es.js";
93
- import "../../../context/PowerpackContext.es.js";
94
+ import { usePowerpack } from "../../../context/PowerpackContext.es.js";
94
95
  import "react-redux";
95
96
  import "custom-protocol-check";
96
97
  import { getCustomViewsFallback } from "../utils/getCustomViewsFallback.es.js";
@@ -105,8 +106,10 @@ const useBuildViewMenuItems = ({
105
106
  editingViewId,
106
107
  onSelect,
107
108
  onEdit,
108
- onSave
109
+ onSave,
110
+ onResetWorkingView
109
111
  }) => {
112
+ const { powerLicense } = usePowerpack();
110
113
  const [createView] = useCreateViewMutation();
111
114
  const extendedViewsList = useMemo(
112
115
  () => viewsList.map((view) => ({
@@ -154,7 +157,7 @@ const useBuildViewMenuItems = ({
154
157
  module: "getCustomViews",
155
158
  fallback: getCustomViewsFallback,
156
159
  // minVersion: minVersion,
157
- skip: !viewType
160
+ skip: !viewType || !powerLicense
158
161
  });
159
162
  const { myViews, sharedViews } = useMemo(
160
163
  () => getCustomViews({
@@ -169,9 +172,12 @@ const useBuildViewMenuItems = ({
169
172
  const workingViewItem = useMemo(
170
173
  () => ({
171
174
  ...workingBaseView,
172
- onClick: handleWorkingViewChange
175
+ onClick: handleWorkingViewChange,
176
+ // expose reset button when handler is provided
177
+ isEditable: Boolean(onResetWorkingView),
178
+ onResetView: onResetWorkingView
173
179
  }),
174
- [handleWorkingViewChange]
180
+ [handleWorkingViewChange, onResetWorkingView]
175
181
  );
176
182
  const viewItems = useMemo(
177
183
  () => [workingViewItem, ...dividers, ...myViews, ...sharedViews, ...dividers],
@@ -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 } 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\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 } = 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 // expose reset button when handler is provided\n isEditable: Boolean(onResetWorkingView),\n onResetView: onResetWorkingView,\n }),\n [handleWorkingViewChange, onResetWorkingView],\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;AAqB/B,MAAM,wBAAwB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA6B;AACrB,QAAA,EAAE,aAAa,IAAI,aAAa;AAGhC,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,YAAY,CAAC;AAAA,EAAA,CACrB;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;AAAA,MAET,YAAY,QAAQ,kBAAkB;AAAA,MACtC,aAAa;AAAA,IAAA;AAAA,IAEf,CAAC,yBAAyB,kBAAkB;AAAA,EAC9C;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;"}
@@ -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 }) => {