@ynput/ayon-frontend-shared 0.2.20 → 0.2.21

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 (381) hide show
  1. package/dist/DetailsPanel.cjs.js +4 -3
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +4 -3
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +2 -2
  6. package/dist/ProjectTreeTable.es.js +2 -2
  7. package/dist/Views.cjs.js +41 -0
  8. package/dist/Views.cjs.js.map +1 -0
  9. package/dist/Views.es.js +41 -0
  10. package/dist/Views.es.js.map +1 -0
  11. package/dist/_virtual/index.cjs5.js +5 -3
  12. package/dist/_virtual/index.cjs5.js.map +1 -1
  13. package/dist/_virtual/index.cjs6.js +3 -5
  14. package/dist/_virtual/index.cjs6.js.map +1 -1
  15. package/dist/_virtual/index.es5.js +5 -2
  16. package/dist/_virtual/index.es5.js.map +1 -1
  17. package/dist/_virtual/index.es6.js +2 -5
  18. package/dist/_virtual/index.es6.js.map +1 -1
  19. package/dist/api.cjs.js +6 -1
  20. package/dist/api.cjs.js.map +1 -1
  21. package/dist/api.es.js +8 -3
  22. package/dist/components.cjs.js +0 -17
  23. package/dist/components.cjs.js.map +1 -1
  24. package/dist/components.es.js +1 -18
  25. package/dist/components.es.js.map +1 -1
  26. package/dist/index.cjs.js +4 -3
  27. package/dist/index.cjs.js.map +1 -1
  28. package/dist/index.es.js +4 -3
  29. package/dist/index.es.js.map +1 -1
  30. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  31. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  32. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  33. package/dist/node_modules/remove-accents/index.es.js +1 -1
  34. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js +3 -1
  35. package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js.map +1 -1
  36. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js +3 -1
  37. package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js.map +1 -1
  38. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js +2 -2
  39. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js.map +1 -1
  40. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js +2 -2
  41. package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js.map +1 -1
  42. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js +1 -1
  43. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js.map +1 -1
  44. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js +1 -1
  45. package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js.map +1 -1
  46. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js +41 -58
  47. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js.map +1 -1
  48. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js +41 -57
  49. package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js.map +1 -1
  50. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js +1 -5
  51. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js.map +1 -1
  52. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js +1 -5
  53. package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js.map +1 -1
  54. package/dist/shared/src/api/generated/views.cjs.js +30 -2
  55. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/views.es.js +30 -2
  57. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  58. package/dist/shared/src/api/queries/views/getViews.cjs.js +29 -5
  59. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/views/getViews.es.js +29 -5
  61. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/views/updateViews.cjs.js +169 -9
  63. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/views/updateViews.es.js +170 -10
  65. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  66. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +4 -3
  67. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  68. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -3
  69. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  70. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -0
  71. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  72. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +1 -0
  73. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  74. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +4 -3
  75. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -3
  77. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  78. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +4 -3
  79. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  80. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -3
  81. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  82. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +4 -3
  83. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  84. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -3
  85. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  86. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +4 -3
  87. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  88. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +4 -3
  89. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  90. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +4 -3
  91. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  92. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -3
  93. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  94. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +4 -3
  95. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  96. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -3
  97. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  98. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +4 -3
  99. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  100. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -3
  101. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  102. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +4 -3
  103. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  104. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -3
  105. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  106. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +4 -3
  107. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  108. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -3
  109. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  110. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +4 -3
  111. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  112. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -3
  113. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  114. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +4 -3
  115. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  116. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -3
  117. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  118. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +4 -3
  119. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  120. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +4 -3
  121. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  122. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +4 -3
  123. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  124. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -3
  125. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  126. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  127. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  128. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +10 -11
  129. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  130. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +10 -11
  131. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  132. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +4 -3
  133. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  134. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -3
  135. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  136. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  137. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  138. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +69 -21
  139. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  140. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +69 -21
  141. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  142. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  143. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  144. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +0 -5
  145. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  146. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +0 -5
  147. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  148. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +3 -5
  149. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  150. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +3 -5
  151. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  152. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +1 -1
  153. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
  154. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +1 -1
  155. package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
  156. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +18 -10
  157. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  158. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +18 -10
  159. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  160. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +106 -0
  161. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -0
  162. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +106 -0
  163. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -0
  164. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +4 -3
  165. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  166. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -3
  167. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  168. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +49 -0
  169. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -0
  170. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +49 -0
  171. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -0
  172. package/dist/shared/src/{components → containers}/Views/ViewItem/ViewItem.styled.cjs.js +24 -12
  173. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.cjs.js.map +1 -0
  174. package/dist/shared/src/{components → containers}/Views/ViewItem/ViewItem.styled.es.js +24 -12
  175. package/dist/shared/src/containers/Views/ViewItem/ViewItem.styled.es.js.map +1 -0
  176. package/dist/shared/src/{components → containers}/Views/Views.cjs.js +6 -10
  177. package/dist/shared/src/containers/Views/Views.cjs.js.map +1 -0
  178. package/dist/shared/src/{components → containers}/Views/Views.es.js +7 -11
  179. package/dist/shared/src/containers/Views/Views.es.js.map +1 -0
  180. package/dist/shared/src/{components → containers}/Views/Views.styled.cjs.js +4 -3
  181. package/dist/shared/src/containers/Views/Views.styled.cjs.js.map +1 -0
  182. package/dist/shared/src/{components → containers}/Views/Views.styled.es.js +4 -3
  183. package/dist/shared/src/containers/Views/Views.styled.es.js.map +1 -0
  184. package/dist/shared/src/{components → containers}/Views/ViewsButton/ViewsButton.cjs.js +11 -2
  185. package/dist/shared/src/containers/Views/ViewsButton/ViewsButton.cjs.js.map +1 -0
  186. package/dist/shared/src/{components → containers}/Views/ViewsButton/ViewsButton.es.js +11 -2
  187. package/dist/shared/src/containers/Views/ViewsButton/ViewsButton.es.js.map +1 -0
  188. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js +4 -0
  189. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -0
  190. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js +5 -0
  191. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -0
  192. package/dist/shared/src/{components/Views/context/ViewsContext.cjs.js → containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js} +67 -58
  193. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -0
  194. package/dist/shared/src/{components/Views/context/ViewsContext.es.js → containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js} +66 -57
  195. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -0
  196. package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.cjs.js +1 -0
  197. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js.map +1 -0
  198. package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.es.js +1 -0
  199. package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js.map +1 -0
  200. package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.cjs.js.map +1 -1
  201. package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.es.js.map +1 -1
  202. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +105 -0
  203. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -0
  204. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +105 -0
  205. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -0
  206. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +211 -0
  207. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -0
  208. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +211 -0
  209. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -0
  210. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +52 -0
  211. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -0
  212. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +52 -0
  213. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -0
  214. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +69 -0
  215. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -0
  216. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +69 -0
  217. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -0
  218. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +44 -0
  219. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -0
  220. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +44 -0
  221. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -0
  222. package/dist/shared/src/{components → containers}/Views/hooks/useBuildViewMenuItems.cjs.js +58 -32
  223. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -0
  224. package/dist/shared/src/{components → containers}/Views/hooks/useBuildViewMenuItems.es.js +59 -33
  225. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -0
  226. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +33 -0
  227. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -0
  228. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +33 -0
  229. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -0
  230. package/dist/shared/src/{components/Views/ViewForm/ViewFormContainer.cjs.js → containers/Views/hooks/useSelectedView.cjs.js} +33 -114
  231. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -0
  232. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +108 -0
  233. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -0
  234. package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.cjs.js +19 -0
  235. package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.cjs.js.map +1 -0
  236. package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.es.js +19 -0
  237. package/dist/shared/src/containers/Views/hooks/useViewSettingsChanged.es.js.map +1 -0
  238. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +143 -0
  239. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -0
  240. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +143 -0
  241. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -0
  242. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js +67 -0
  243. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.cjs.js.map +1 -0
  244. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js +67 -0
  245. package/dist/shared/src/containers/Views/hooks/useViewsShortcuts.es.js.map +1 -0
  246. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js +13 -0
  247. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -0
  248. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js +13 -0
  249. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -0
  250. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -0
  251. package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -0
  252. package/dist/shared/src/{components → containers}/Views/utils/portalUtils.cjs.js +1 -1
  253. package/dist/shared/src/{components → containers}/Views/utils/portalUtils.cjs.js.map +1 -1
  254. package/dist/shared/src/{components → containers}/Views/utils/portalUtils.es.js +1 -1
  255. package/dist/shared/src/{components → containers}/Views/utils/portalUtils.es.js.map +1 -1
  256. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +125 -0
  257. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -0
  258. package/dist/shared/src/{components/Views/ViewForm/ViewFormContainer.es.js → containers/Views/utils/viewUpdateHelper.es.js} +48 -112
  259. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -0
  260. package/dist/shared/src/context/PowerpackContext.cjs.js +9 -3
  261. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  262. package/dist/shared/src/context/PowerpackContext.es.js +9 -3
  263. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  264. package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
  265. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  266. package/dist/shared/src/hooks/useLoadModule.es.js +1 -1
  267. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  268. package/dist/shared/src/util/columnConfigConverter.cjs.js +116 -0
  269. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -0
  270. package/dist/shared/src/util/columnConfigConverter.es.js +116 -0
  271. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -0
  272. package/dist/types/Views.d.ts +2 -0
  273. package/dist/types/api/generated/powerPack1.1.1Views.d.ts +25 -0
  274. package/dist/types/api/generated/views.d.ts +130 -22
  275. package/dist/types/api/queries/views/getViews.d.ts +161 -22
  276. package/dist/types/api/queries/views/updateViews.d.ts +500 -13
  277. package/dist/types/components/index.d.ts +0 -1
  278. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +15 -5
  279. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsProvider.d.ts +1 -1
  280. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +0 -2
  281. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -4
  282. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +0 -1
  283. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +3 -5
  284. package/dist/types/containers/ProjectTreeTable/hooks/useProjectTableModules.d.ts +2 -5
  285. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +5 -3
  286. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
  287. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +5 -6
  288. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  289. package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +24 -0
  290. package/dist/types/{components → containers}/Views/ViewItem/ViewItem.d.ts +3 -1
  291. package/dist/types/{components → containers}/Views/ViewItem/ViewItem.styled.d.ts +1 -1
  292. package/dist/types/containers/Views/Views.d.ts +2 -0
  293. package/dist/types/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.d.ts +24 -0
  294. package/dist/types/containers/Views/ViewsDialogContainer/ViewsDialogContainer.d.ts +6 -0
  295. package/dist/types/{components → containers}/Views/ViewsMenu/ViewsMenu.d.ts +1 -2
  296. package/dist/types/{components → containers}/Views/ViewsMenuContainer/ViewsMenuContainer.d.ts +1 -1
  297. package/dist/types/containers/Views/context/ViewsContext.d.ts +46 -0
  298. package/dist/types/containers/Views/hooks/index.d.ts +5 -0
  299. package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +9 -0
  300. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +12 -0
  301. package/dist/types/containers/Views/hooks/pages/useTaskProgressViewSettings.d.ts +10 -0
  302. package/dist/types/containers/Views/hooks/pages/viewUpdateHelper.d.ts +0 -0
  303. package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +22 -0
  304. package/dist/types/containers/Views/hooks/useOverviewViewSettings.d.ts +0 -0
  305. package/dist/types/containers/Views/hooks/useSaveViewFromCurrent.d.ts +12 -0
  306. package/dist/types/containers/Views/hooks/useSelectedView.d.ts +12 -0
  307. package/dist/types/containers/Views/hooks/useViewSettingsChanged.d.ts +6 -0
  308. package/dist/types/containers/Views/hooks/useViewsMutations.d.ts +13 -0
  309. package/dist/types/containers/Views/hooks/useViewsShortcuts.d.ts +13 -0
  310. package/dist/types/containers/Views/index.d.ts +19 -0
  311. package/dist/types/containers/Views/utils/generateWorkingView.d.ts +3 -0
  312. package/dist/types/{components → containers}/Views/utils/getCustomViewsFallback.d.ts +3 -2
  313. package/dist/types/{components → containers}/Views/utils/portalUtils.d.ts +1 -1
  314. package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +17 -0
  315. package/dist/types/containers/index.d.ts +1 -0
  316. package/dist/types/context/PowerpackContext.d.ts +4 -1
  317. package/dist/types/util/columnConfigConverter.d.ts +15 -0
  318. package/dist/types/util/index.d.ts +1 -0
  319. package/dist/util.cjs.js +3 -0
  320. package/dist/util.cjs.js.map +1 -1
  321. package/dist/util.es.js +3 -0
  322. package/dist/util.es.js.map +1 -1
  323. package/package.json +6 -1
  324. package/dist/shared/src/components/Views/ViewForm/ViewForm.cjs.js +0 -164
  325. package/dist/shared/src/components/Views/ViewForm/ViewForm.cjs.js.map +0 -1
  326. package/dist/shared/src/components/Views/ViewForm/ViewForm.es.js +0 -164
  327. package/dist/shared/src/components/Views/ViewForm/ViewForm.es.js.map +0 -1
  328. package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.cjs.js +0 -71
  329. package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.cjs.js.map +0 -1
  330. package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.es.js +0 -71
  331. package/dist/shared/src/components/Views/ViewForm/ViewForm.styled.es.js.map +0 -1
  332. package/dist/shared/src/components/Views/ViewForm/ViewFormContainer.cjs.js.map +0 -1
  333. package/dist/shared/src/components/Views/ViewForm/ViewFormContainer.es.js.map +0 -1
  334. package/dist/shared/src/components/Views/ViewItem/ViewItem.cjs.js +0 -36
  335. package/dist/shared/src/components/Views/ViewItem/ViewItem.cjs.js.map +0 -1
  336. package/dist/shared/src/components/Views/ViewItem/ViewItem.es.js +0 -36
  337. package/dist/shared/src/components/Views/ViewItem/ViewItem.es.js.map +0 -1
  338. package/dist/shared/src/components/Views/ViewItem/ViewItem.styled.cjs.js.map +0 -1
  339. package/dist/shared/src/components/Views/ViewItem/ViewItem.styled.es.js.map +0 -1
  340. package/dist/shared/src/components/Views/Views.cjs.js.map +0 -1
  341. package/dist/shared/src/components/Views/Views.es.js.map +0 -1
  342. package/dist/shared/src/components/Views/Views.styled.cjs.js.map +0 -1
  343. package/dist/shared/src/components/Views/Views.styled.es.js.map +0 -1
  344. package/dist/shared/src/components/Views/ViewsButton/ViewsButton.cjs.js.map +0 -1
  345. package/dist/shared/src/components/Views/ViewsButton/ViewsButton.es.js.map +0 -1
  346. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.cjs.js.map +0 -1
  347. package/dist/shared/src/components/Views/ViewsMenu/ViewsMenu.es.js.map +0 -1
  348. package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +0 -132
  349. package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +0 -1
  350. package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +0 -132
  351. package/dist/shared/src/components/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +0 -1
  352. package/dist/shared/src/components/Views/context/ViewsContext.cjs.js.map +0 -1
  353. package/dist/shared/src/components/Views/context/ViewsContext.es.js.map +0 -1
  354. package/dist/shared/src/components/Views/hooks/useBuildViewMenuItems.cjs.js.map +0 -1
  355. package/dist/shared/src/components/Views/hooks/useBuildViewMenuItems.es.js.map +0 -1
  356. package/dist/shared/src/components/Views/utils/generatePersonalView.cjs.js +0 -13
  357. package/dist/shared/src/components/Views/utils/generatePersonalView.cjs.js.map +0 -1
  358. package/dist/shared/src/components/Views/utils/generatePersonalView.es.js +0 -13
  359. package/dist/shared/src/components/Views/utils/generatePersonalView.es.js.map +0 -1
  360. package/dist/shared/src/components/Views/utils/getCustomViewsFallback.cjs.js.map +0 -1
  361. package/dist/shared/src/components/Views/utils/getCustomViewsFallback.es.js.map +0 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js +0 -24
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js.map +0 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js +0 -24
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js.map +0 -1
  366. package/dist/types/components/Views/ViewForm/ViewForm.d.ts +0 -14
  367. package/dist/types/components/Views/ViewForm/ViewForm.styled.d.ts +0 -9
  368. package/dist/types/components/Views/ViewForm/ViewFormContainer.d.ts +0 -15
  369. package/dist/types/components/Views/Views.d.ts +0 -8
  370. package/dist/types/components/Views/context/ViewsContext.d.ts +0 -31
  371. package/dist/types/components/Views/hooks/useBuildViewMenuItems.d.ts +0 -14
  372. package/dist/types/components/Views/index.d.ts +0 -11
  373. package/dist/types/components/Views/utils/generatePersonalView.d.ts +0 -3
  374. package/dist/types/containers/ProjectTreeTable/hooks/useColumnSorting.d.ts +0 -12
  375. /package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.cjs.js +0 -0
  376. /package/dist/shared/src/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.es.js +0 -0
  377. /package/dist/shared/src/{components → containers}/Views/utils/getCustomViewsFallback.cjs.js +0 -0
  378. /package/dist/shared/src/{components → containers}/Views/utils/getCustomViewsFallback.es.js +0 -0
  379. /package/dist/types/{components → containers}/Views/Views.styled.d.ts +0 -0
  380. /package/dist/types/{components → containers}/Views/ViewsButton/ViewsButton.d.ts +0 -0
  381. /package/dist/types/{components → containers}/Views/ViewsMenu/ViewsMenu.styled.d.ts +0 -0
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
4
+ const React = require("react");
5
+ require("react-dom");
6
+ require("../Views.styled.cjs.js");
7
+ require("clsx");
8
+ const ViewsMenuContainer = require("../ViewsMenuContainer/ViewsMenuContainer.cjs.js");
9
+ require("../../../context/RemoteModulesContext.cjs.js");
10
+ require("../../../../../_virtual/runtime.cjs.js");
11
+ require("../../../../../_virtual/semver.cjs.js");
12
+ require("../../../api/base/client.cjs.js");
13
+ require("../../../api/generated/graphql.cjs.js");
14
+ require("../../../api/generated/access.cjs.js");
15
+ require("../../../api/generated/actions.cjs.js");
16
+ require("../../../api/generated/activityFeed.cjs.js");
17
+ require("../../../api/generated/addons.cjs.js");
18
+ require("../../../api/generated/anatomy.cjs.js");
19
+ require("../../../api/generated/attributes.cjs.js");
20
+ require("../../../api/generated/authentication.cjs.js");
21
+ require("../../../api/generated/bundles.cjs.js");
22
+ require("../../../api/generated/configuration.cjs.js");
23
+ require("../../../api/generated/desktop.cjs.js");
24
+ require("../../../api/generated/entityLists.cjs.js");
25
+ require("../../../api/generated/events.cjs.js");
26
+ require("../../../api/generated/files.cjs.js");
27
+ require("../../../api/generated/folders.cjs.js");
28
+ require("../../../api/generated/inbox.cjs.js");
29
+ require("../../../api/generated/links.cjs.js");
30
+ require("../../../api/generated/market.cjs.js");
31
+ require("../../../api/generated/onboarding.cjs.js");
32
+ require("../../../api/generated/operations.cjs.js");
33
+ require("../../../api/generated/products.cjs.js");
34
+ require("../../../api/generated/projectDashboard.cjs.js");
35
+ require("../../../api/generated/projects.cjs.js");
36
+ require("../../../api/generated/reviewables.cjs.js");
37
+ require("../../../api/generated/services.cjs.js");
38
+ require("../../../api/generated/system.cjs.js");
39
+ require("../../../api/generated/tasks.cjs.js");
40
+ require("../../../api/generated/teams.cjs.js");
41
+ require("../../../api/generated/thumbnails.cjs.js");
42
+ require("../../../api/generated/uRIs.cjs.js");
43
+ require("../../../api/generated/users.cjs.js");
44
+ require("../../../api/generated/versions.cjs.js");
45
+ require("../../../api/generated/workfiles.cjs.js");
46
+ require("../../../api/generated/ynputCloud.cjs.js");
47
+ require("../../../api/generated/grouping.cjs.js");
48
+ require("../../../api/generated/views.cjs.js");
49
+ require("../../../api/queries/actions/getActions.cjs.js");
50
+ require("../../../api/queries/activities/getActivities.cjs.js");
51
+ require("../../../api/queries/activities/updateActivities.cjs.js");
52
+ require("../../../api/queries/activities/updateReaction.cjs.js");
53
+ require("../../../api/queries/activities/getMentions.cjs.js");
54
+ require("../../../api/queries/addons/getAddons.cjs.js");
55
+ require("../../../api/queries/addons/updateAddons.cjs.js");
56
+ require("../../../api/queries/attributes/getAttributes.cjs.js");
57
+ require("../../../api/queries/attributes/updateAttributes.cjs.js");
58
+ require("../../../api/queries/authentication/getAuthentication.cjs.js");
59
+ require("../../../api/queries/entities/getEntity.cjs.js");
60
+ require("../../../api/queries/entities/getEntityPanel.cjs.js");
61
+ require("../../../api/queries/entities/updateEntity.cjs.js");
62
+ require("../../../api/queries/entityLists/getLists.cjs.js");
63
+ require("../../../api/queries/entityLists/updateLists.cjs.js");
64
+ require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
65
+ require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
66
+ require("../../../api/queries/folders/getFolders.cjs.js");
67
+ require("../../../api/queries/overview/getOverview.cjs.js");
68
+ require("../../../api/queries/overview/updateOverview.cjs.js");
69
+ require("../../../api/queries/project/getProject.cjs.js");
70
+ require("../../../api/queries/project/updateProject.cjs.js");
71
+ require("../../../api/queries/review/getReview.cjs.js");
72
+ require("../../../api/queries/review/updateReview.cjs.js");
73
+ require("../../../api/queries/system/getSystem.cjs.js");
74
+ require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");
75
+ const getUsers = require("../../../api/queries/users/getUsers.cjs.js");
76
+ require("../../../api/queries/users/updateUsers.cjs.js");
77
+ require("../../../api/queries/watchers/getWatchers.cjs.js");
78
+ require("../../../api/queries/permissions/getPermissions.cjs.js");
79
+ require("../../../api/queries/grouping/getGrouping.cjs.js");
80
+ require("../../../api/queries/versions/updateVersions.cjs.js");
81
+ require("../../../api/queries/products/createProduct.cjs.js");
82
+ require("../../../api/queries/cloud/cloud.cjs.js");
83
+ const getViews = require("../../../api/queries/views/getViews.cjs.js");
84
+ const updateViews = require("../../../api/queries/views/updateViews.cjs.js");
85
+ require("lodash");
86
+ require("react-toastify");
87
+ require("../../../context/DetailsPanelContext.cjs.js");
88
+ require("../../../context/ThumbnailUploaderContext.cjs.js");
89
+ require("../../../context/SettingsPanelContext.cjs.js");
90
+ require("../../../context/pip/PiPProvider.cjs.js");
91
+ require("../../../context/pip/PiPWrapper.cjs.js");
92
+ require("../../../context/AddonProjectContext.cjs.js");
93
+ require("../../../context/AddonContext.cjs.js");
94
+ const PowerpackContext = require("../../../context/PowerpackContext.cjs.js");
95
+ require("react-redux");
96
+ require("custom-protocol-check");
97
+ require("@ynput/ayon-react-components");
98
+ require("../ViewsMenu/ViewsMenu.cjs.js");
99
+ const useBuildViewMenuItems = require("../hooks/useBuildViewMenuItems.cjs.js");
100
+ const useSaveViewFromCurrent = require("../hooks/useSaveViewFromCurrent.cjs.js");
101
+ const useSelectedView = require("../hooks/useSelectedView.cjs.js");
102
+ const useViewsMutations = require("../hooks/useViewsMutations.cjs.js");
103
+ require("../../../util/pubsub.cjs.js");
104
+ const useViewSettingsChanged = require("../hooks/useViewSettingsChanged.cjs.js");
105
+ const viewTypes = ["overview", "taskProgress", "lists"];
106
+ const ViewsContext = React.createContext(null);
107
+ const ViewsProvider = ({
108
+ children,
109
+ viewType: viewTypeProp,
110
+ projectName,
111
+ dispatch,
112
+ debug
113
+ }) => {
114
+ const viewType = viewTypes.includes(viewTypeProp) ? viewTypeProp : void 0;
115
+ let { powerLicense } = PowerpackContext.usePowerpack();
116
+ if ((debug == null ? void 0 : debug.powerLicense) !== void 0) {
117
+ console.warn("Using debug power license:", debug.powerLicense);
118
+ powerLicense = debug.powerLicense;
119
+ }
120
+ const { data: currentUser } = getUsers.useGetCurrentUserQuery();
121
+ const { onCreateView, onDeleteView, onUpdateView } = useViewsMutations.useViewsMutations({ viewType, projectName });
122
+ const [isMenuOpen, setIsMenuOpen] = React.useState(false);
123
+ const [editingView, setEditingView] = React.useState(null);
124
+ const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView.useSelectedView({
125
+ viewType,
126
+ projectName
127
+ });
128
+ const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged.useViewSettingsChanged({
129
+ viewType
130
+ });
131
+ const { currentData: viewsList = [], isLoading: isLoadingViews } = getViews.useListViewsQuery(
132
+ { projectName, viewType },
133
+ { skip: !viewType }
134
+ );
135
+ const { currentData: workingView } = getViews.useGetWorkingViewQuery(
136
+ { projectName, viewType },
137
+ { skip: !viewType }
138
+ );
139
+ const workingSettings = workingView == null ? void 0 : workingView.settings;
140
+ const viewSettings = !selectedView || selectedView.id === ViewsMenuContainer.WORKING_VIEW_ID ? workingSettings : selectedView == null ? void 0 : selectedView.settings;
141
+ const isViewWorking = (selectedView == null ? void 0 : selectedView.id) === (workingView == null ? void 0 : workingView.id);
142
+ const editingViewId = viewSettingsChanged && isViewWorking && !!previousSelectedViewId && previousSelectedViewId !== (workingView == null ? void 0 : workingView.id) ? previousSelectedViewId : void 0;
143
+ const { currentData: editingViewDataData } = getViews.useGetViewQuery(
144
+ { viewId: editingView, projectName, viewType },
145
+ { skip: !(typeof editingView === "string") || !powerLicense }
146
+ );
147
+ const editingViewData = React.useMemo(
148
+ () => editingView === (editingViewDataData == null ? void 0 : editingViewDataData.id) ? editingViewDataData : void 0,
149
+ [editingView, editingViewDataData]
150
+ );
151
+ const { onSaveViewFromCurrent } = useSaveViewFromCurrent.useSaveViewFromCurrent({
152
+ viewType,
153
+ projectName,
154
+ sourceSettings: viewSettings,
155
+ onUpdateView
156
+ });
157
+ const viewMenuItems = useBuildViewMenuItems.default({
158
+ viewsList,
159
+ workingView,
160
+ viewType,
161
+ projectName,
162
+ currentUser,
163
+ useWorkingView: !powerLicense,
164
+ editingViewId,
165
+ onSelect: (viewId) => {
166
+ setSelectedView(viewId);
167
+ setViewSettingsChanged(false);
168
+ },
169
+ onEdit: (viewId) => setEditingView(viewId),
170
+ onSave: async (viewId) => onSaveViewFromCurrent(viewId)
171
+ });
172
+ const value = {
173
+ viewType,
174
+ projectName,
175
+ isMenuOpen,
176
+ editingView,
177
+ currentUser,
178
+ selectedView,
179
+ viewSettings,
180
+ workingSettings,
181
+ editingViewData,
182
+ viewsList,
183
+ workingView,
184
+ editingViewId,
185
+ viewMenuItems,
186
+ isLoadingViews,
187
+ isViewWorking,
188
+ setIsMenuOpen,
189
+ setEditingView,
190
+ setSelectedView,
191
+ onSettingsChanged: setViewSettingsChanged,
192
+ // mutations
193
+ onCreateView,
194
+ onUpdateView,
195
+ onDeleteView,
196
+ // api
197
+ api: updateViews.viewsQueries,
198
+ dispatch
199
+ };
200
+ return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ViewsContext.Provider, { value, children });
201
+ };
202
+ const useViewsContext = () => {
203
+ const context = React.useContext(ViewsContext);
204
+ if (!context) {
205
+ throw new Error("useViewsContext must be used within a ViewsProvider");
206
+ }
207
+ return context;
208
+ };
209
+ exports.ViewsProvider = ViewsProvider;
210
+ exports.useViewsContext = useViewsContext;
211
+ //# sourceMappingURL=ViewsContext.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewsContext.cjs.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":["createContext","usePowerpack","useGetCurrentUserQuery","useViewsMutations","useState","useSelectedView","useViewSettingsChanged","useListViewsQuery","useGetWorkingViewQuery","WORKING_VIEW_ID","useGetViewQuery","useMemo","useSaveViewFromCurrent","useBuildViewMenuItems","viewsQueries","jsx","useContext"],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
2
+ import { createContext, useState, useMemo, useContext } from "react";
3
+ import "react-dom";
4
+ import "../Views.styled.es.js";
5
+ import "clsx";
6
+ import { WORKING_VIEW_ID } from "../ViewsMenuContainer/ViewsMenuContainer.es.js";
7
+ import "../../../context/RemoteModulesContext.es.js";
8
+ import "../../../../../_virtual/runtime.es.js";
9
+ import "../../../../../_virtual/semver.es.js";
10
+ import "../../../api/base/client.es.js";
11
+ import "../../../api/generated/graphql.es.js";
12
+ import "../../../api/generated/access.es.js";
13
+ import "../../../api/generated/actions.es.js";
14
+ import "../../../api/generated/activityFeed.es.js";
15
+ import "../../../api/generated/addons.es.js";
16
+ import "../../../api/generated/anatomy.es.js";
17
+ import "../../../api/generated/attributes.es.js";
18
+ import "../../../api/generated/authentication.es.js";
19
+ import "../../../api/generated/bundles.es.js";
20
+ import "../../../api/generated/configuration.es.js";
21
+ import "../../../api/generated/desktop.es.js";
22
+ import "../../../api/generated/entityLists.es.js";
23
+ import "../../../api/generated/events.es.js";
24
+ import "../../../api/generated/files.es.js";
25
+ import "../../../api/generated/folders.es.js";
26
+ import "../../../api/generated/inbox.es.js";
27
+ import "../../../api/generated/links.es.js";
28
+ import "../../../api/generated/market.es.js";
29
+ import "../../../api/generated/onboarding.es.js";
30
+ import "../../../api/generated/operations.es.js";
31
+ import "../../../api/generated/products.es.js";
32
+ import "../../../api/generated/projectDashboard.es.js";
33
+ import "../../../api/generated/projects.es.js";
34
+ import "../../../api/generated/reviewables.es.js";
35
+ import "../../../api/generated/services.es.js";
36
+ import "../../../api/generated/system.es.js";
37
+ import "../../../api/generated/tasks.es.js";
38
+ import "../../../api/generated/teams.es.js";
39
+ import "../../../api/generated/thumbnails.es.js";
40
+ import "../../../api/generated/uRIs.es.js";
41
+ import "../../../api/generated/users.es.js";
42
+ import "../../../api/generated/versions.es.js";
43
+ import "../../../api/generated/workfiles.es.js";
44
+ import "../../../api/generated/ynputCloud.es.js";
45
+ import "../../../api/generated/grouping.es.js";
46
+ import "../../../api/generated/views.es.js";
47
+ import "../../../api/queries/actions/getActions.es.js";
48
+ import "../../../api/queries/activities/getActivities.es.js";
49
+ import "../../../api/queries/activities/updateActivities.es.js";
50
+ import "../../../api/queries/activities/updateReaction.es.js";
51
+ import "../../../api/queries/activities/getMentions.es.js";
52
+ import "../../../api/queries/addons/getAddons.es.js";
53
+ import "../../../api/queries/addons/updateAddons.es.js";
54
+ import "../../../api/queries/attributes/getAttributes.es.js";
55
+ import "../../../api/queries/attributes/updateAttributes.es.js";
56
+ import "../../../api/queries/authentication/getAuthentication.es.js";
57
+ import "../../../api/queries/entities/getEntity.es.js";
58
+ import "../../../api/queries/entities/getEntityPanel.es.js";
59
+ import "../../../api/queries/entities/updateEntity.es.js";
60
+ import "../../../api/queries/entityLists/getLists.es.js";
61
+ import "../../../api/queries/entityLists/updateLists.es.js";
62
+ import "../../../api/queries/entityLists/getListsAttributes.es.js";
63
+ import "../../../api/queries/entityLists/updateListsAttributes.es.js";
64
+ import "../../../api/queries/folders/getFolders.es.js";
65
+ import "../../../api/queries/overview/getOverview.es.js";
66
+ import "../../../api/queries/overview/updateOverview.es.js";
67
+ import "../../../api/queries/project/getProject.es.js";
68
+ import "../../../api/queries/project/updateProject.es.js";
69
+ import "../../../api/queries/review/getReview.es.js";
70
+ import "../../../api/queries/review/updateReview.es.js";
71
+ import "../../../api/queries/system/getSystem.es.js";
72
+ import "../../../api/queries/userDashboard/getUserDashboard.es.js";
73
+ import { useGetCurrentUserQuery } from "../../../api/queries/users/getUsers.es.js";
74
+ 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
+ import "../../../api/queries/versions/updateVersions.es.js";
79
+ import "../../../api/queries/products/createProduct.es.js";
80
+ import "../../../api/queries/cloud/cloud.es.js";
81
+ import { useListViewsQuery, useGetWorkingViewQuery, useGetViewQuery } from "../../../api/queries/views/getViews.es.js";
82
+ import { viewsQueries as updateViewsApi } from "../../../api/queries/views/updateViews.es.js";
83
+ import "lodash";
84
+ import "react-toastify";
85
+ import "../../../context/DetailsPanelContext.es.js";
86
+ import "../../../context/ThumbnailUploaderContext.es.js";
87
+ import "../../../context/SettingsPanelContext.es.js";
88
+ import "../../../context/pip/PiPProvider.es.js";
89
+ import "../../../context/pip/PiPWrapper.es.js";
90
+ import "../../../context/AddonProjectContext.es.js";
91
+ import "../../../context/AddonContext.es.js";
92
+ import { usePowerpack } from "../../../context/PowerpackContext.es.js";
93
+ import "react-redux";
94
+ import "custom-protocol-check";
95
+ import "@ynput/ayon-react-components";
96
+ import "../ViewsMenu/ViewsMenu.es.js";
97
+ import useBuildViewMenuItems from "../hooks/useBuildViewMenuItems.es.js";
98
+ import { useSaveViewFromCurrent } from "../hooks/useSaveViewFromCurrent.es.js";
99
+ import { useSelectedView } from "../hooks/useSelectedView.es.js";
100
+ import { useViewsMutations } from "../hooks/useViewsMutations.es.js";
101
+ import "../../../util/pubsub.es.js";
102
+ import { useViewSettingsChanged } from "../hooks/useViewSettingsChanged.es.js";
103
+ const viewTypes = ["overview", "taskProgress", "lists"];
104
+ const ViewsContext = createContext(null);
105
+ const ViewsProvider = ({
106
+ children,
107
+ viewType: viewTypeProp,
108
+ projectName,
109
+ dispatch,
110
+ debug
111
+ }) => {
112
+ const viewType = viewTypes.includes(viewTypeProp) ? viewTypeProp : void 0;
113
+ let { powerLicense } = usePowerpack();
114
+ if ((debug == null ? void 0 : debug.powerLicense) !== void 0) {
115
+ console.warn("Using debug power license:", debug.powerLicense);
116
+ powerLicense = debug.powerLicense;
117
+ }
118
+ const { data: currentUser } = useGetCurrentUserQuery();
119
+ const { onCreateView, onDeleteView, onUpdateView } = useViewsMutations({ viewType, projectName });
120
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
121
+ const [editingView, setEditingView] = useState(null);
122
+ const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({
123
+ viewType,
124
+ projectName
125
+ });
126
+ const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({
127
+ viewType
128
+ });
129
+ const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(
130
+ { projectName, viewType },
131
+ { skip: !viewType }
132
+ );
133
+ const { currentData: workingView } = useGetWorkingViewQuery(
134
+ { projectName, viewType },
135
+ { skip: !viewType }
136
+ );
137
+ const workingSettings = workingView == null ? void 0 : workingView.settings;
138
+ const viewSettings = !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView == null ? void 0 : selectedView.settings;
139
+ const isViewWorking = (selectedView == null ? void 0 : selectedView.id) === (workingView == null ? void 0 : workingView.id);
140
+ const editingViewId = viewSettingsChanged && isViewWorking && !!previousSelectedViewId && previousSelectedViewId !== (workingView == null ? void 0 : workingView.id) ? previousSelectedViewId : void 0;
141
+ const { currentData: editingViewDataData } = useGetViewQuery(
142
+ { viewId: editingView, projectName, viewType },
143
+ { skip: !(typeof editingView === "string") || !powerLicense }
144
+ );
145
+ const editingViewData = useMemo(
146
+ () => editingView === (editingViewDataData == null ? void 0 : editingViewDataData.id) ? editingViewDataData : void 0,
147
+ [editingView, editingViewDataData]
148
+ );
149
+ const { onSaveViewFromCurrent } = useSaveViewFromCurrent({
150
+ viewType,
151
+ projectName,
152
+ sourceSettings: viewSettings,
153
+ onUpdateView
154
+ });
155
+ const viewMenuItems = useBuildViewMenuItems({
156
+ viewsList,
157
+ workingView,
158
+ viewType,
159
+ projectName,
160
+ currentUser,
161
+ useWorkingView: !powerLicense,
162
+ editingViewId,
163
+ onSelect: (viewId) => {
164
+ setSelectedView(viewId);
165
+ setViewSettingsChanged(false);
166
+ },
167
+ onEdit: (viewId) => setEditingView(viewId),
168
+ onSave: async (viewId) => onSaveViewFromCurrent(viewId)
169
+ });
170
+ const value = {
171
+ viewType,
172
+ projectName,
173
+ isMenuOpen,
174
+ editingView,
175
+ currentUser,
176
+ selectedView,
177
+ viewSettings,
178
+ workingSettings,
179
+ editingViewData,
180
+ viewsList,
181
+ workingView,
182
+ editingViewId,
183
+ viewMenuItems,
184
+ isLoadingViews,
185
+ isViewWorking,
186
+ setIsMenuOpen,
187
+ setEditingView,
188
+ setSelectedView,
189
+ onSettingsChanged: setViewSettingsChanged,
190
+ // mutations
191
+ onCreateView,
192
+ onUpdateView,
193
+ onDeleteView,
194
+ // api
195
+ api: updateViewsApi,
196
+ dispatch
197
+ };
198
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ViewsContext.Provider, { value, children });
199
+ };
200
+ const useViewsContext = () => {
201
+ const context = useContext(ViewsContext);
202
+ if (!context) {
203
+ throw new Error("useViewsContext must be used within a ViewsProvider");
204
+ }
205
+ return context;
206
+ };
207
+ export {
208
+ ViewsProvider,
209
+ useViewsContext
210
+ };
211
+ //# sourceMappingURL=ViewsContext.es.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ViewsContext = require("../../context/ViewsContext.cjs.js");
4
+ require("lodash");
5
+ require("react-toastify");
6
+ const columnConfigConverter = require("../../../../util/columnConfigConverter.cjs.js");
7
+ require("../../../../util/pubsub.cjs.js");
8
+ const viewUpdateHelper = require("../../utils/viewUpdateHelper.cjs.js");
9
+ const React = require("react");
10
+ const useListsViewSettings = () => {
11
+ const { viewSettings } = ViewsContext.useViewsContext();
12
+ const [localFilters, setLocalFilters] = React.useState(null);
13
+ const [localColumns, setLocalColumns] = React.useState(null);
14
+ const { updateViewSettings } = viewUpdateHelper.useViewUpdateHelper();
15
+ const overviewSettings = viewSettings;
16
+ const serverFilters = (overviewSettings == null ? void 0 : overviewSettings.filter) ?? {};
17
+ const serverColumns = React.useMemo(
18
+ () => columnConfigConverter.convertColumnConfigToTanstackStates(overviewSettings),
19
+ [JSON.stringify(viewSettings)]
20
+ );
21
+ React.useEffect(() => {
22
+ setLocalFilters(null);
23
+ setLocalColumns(null);
24
+ }, [JSON.stringify(viewSettings)]);
25
+ const filters = localFilters !== null ? localFilters : serverFilters;
26
+ const columns = localColumns || serverColumns;
27
+ const onUpdateFilters = React.useCallback(
28
+ async (newFilters) => {
29
+ await updateViewSettings({ filter: newFilters }, setLocalFilters, newFilters, {
30
+ errorMessage: "Failed to update filter settings"
31
+ });
32
+ },
33
+ [updateViewSettings]
34
+ );
35
+ const onUpdateColumns = React.useCallback(
36
+ async (tableSettings, allColumnIds) => {
37
+ const settings = columnConfigConverter.convertTanstackStatesToColumnConfig(tableSettings, allColumnIds);
38
+ await updateViewSettings(settings, setLocalColumns, tableSettings, {
39
+ errorMessage: "Failed to update columns"
40
+ });
41
+ },
42
+ [updateViewSettings]
43
+ );
44
+ return {
45
+ filters,
46
+ onUpdateFilters,
47
+ columns,
48
+ onUpdateColumns
49
+ };
50
+ };
51
+ exports.useListsViewSettings = useListsViewSettings;
52
+ //# sourceMappingURL=useListsViewSettings.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useListsViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useListsViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all lists page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\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\nexport type ListsViewSettings = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\nexport const useListsViewSettings = (): ListsViewSettings => {\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 [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 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 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 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 // 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 columns,\n onUpdateColumns,\n }\n}\n"],"names":["useViewsContext","useState","useViewUpdateHelper","useMemo","convertColumnConfigToTanstackStates","useEffect","useCallback","convertTanstackStatesToColumnConfig"],"mappings":";;;;;;;;;AAiCO,MAAM,uBAAuB,MAAyB;AAErD,QAAA,EAAE,aAAa,IAAIA,6BAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAIC,MAAAA,SAA6B,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;AAC5D,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,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACvD,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,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,EACF;AACF;;"}
@@ -0,0 +1,52 @@
1
+ import { useViewsContext } from "../../context/ViewsContext.es.js";
2
+ import "lodash";
3
+ import "react-toastify";
4
+ import { convertColumnConfigToTanstackStates, convertTanstackStatesToColumnConfig } from "../../../../util/columnConfigConverter.es.js";
5
+ import "../../../../util/pubsub.es.js";
6
+ import { useViewUpdateHelper } from "../../utils/viewUpdateHelper.es.js";
7
+ import { useState, useMemo, useEffect, useCallback } from "react";
8
+ const useListsViewSettings = () => {
9
+ const { viewSettings } = useViewsContext();
10
+ const [localFilters, setLocalFilters] = useState(null);
11
+ const [localColumns, setLocalColumns] = useState(null);
12
+ const { updateViewSettings } = useViewUpdateHelper();
13
+ const overviewSettings = viewSettings;
14
+ const serverFilters = (overviewSettings == null ? void 0 : overviewSettings.filter) ?? {};
15
+ const serverColumns = useMemo(
16
+ () => convertColumnConfigToTanstackStates(overviewSettings),
17
+ [JSON.stringify(viewSettings)]
18
+ );
19
+ useEffect(() => {
20
+ setLocalFilters(null);
21
+ setLocalColumns(null);
22
+ }, [JSON.stringify(viewSettings)]);
23
+ const filters = localFilters !== null ? localFilters : serverFilters;
24
+ const columns = localColumns || serverColumns;
25
+ const onUpdateFilters = useCallback(
26
+ async (newFilters) => {
27
+ await updateViewSettings({ filter: newFilters }, setLocalFilters, newFilters, {
28
+ errorMessage: "Failed to update filter settings"
29
+ });
30
+ },
31
+ [updateViewSettings]
32
+ );
33
+ const onUpdateColumns = useCallback(
34
+ async (tableSettings, allColumnIds) => {
35
+ const settings = convertTanstackStatesToColumnConfig(tableSettings, allColumnIds);
36
+ await updateViewSettings(settings, setLocalColumns, tableSettings, {
37
+ errorMessage: "Failed to update columns"
38
+ });
39
+ },
40
+ [updateViewSettings]
41
+ );
42
+ return {
43
+ filters,
44
+ onUpdateFilters,
45
+ columns,
46
+ onUpdateColumns
47
+ };
48
+ };
49
+ export {
50
+ useListsViewSettings
51
+ };
52
+ //# sourceMappingURL=useListsViewSettings.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useListsViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useListsViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing all lists page view settings.\n *\n * The hook handles:\n * - Filter settings (QueryFilter format)\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\nexport type ListsViewSettings = {\n // Filter management\n filters: QueryFilter\n onUpdateFilters: (filters: QueryFilter) => void\n\n // Column management\n columns: ColumnsConfig\n onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void\n}\n\nexport const useListsViewSettings = (): ListsViewSettings => {\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 [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 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 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 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 // 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 columns,\n onUpdateColumns,\n }\n}\n"],"names":[],"mappings":";;;;;;;AAiCO,MAAM,uBAAuB,MAAyB;AAErD,QAAA,EAAE,aAAa,IAAI,gBAAgB;AAGzC,QAAM,CAAC,cAAc,eAAe,IAAI,SAA6B,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;AAC5D,QAAM,gBAAgB;AAAA,IACpB,MAAM,oCAAoC,gBAAgB;AAAA,IAC1D,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAC/B;AAGA,YAAU,MAAM;AACd,oBAAgB,IAAI;AACpB,oBAAgB,IAAI;AAAA,KACnB,CAAC,KAAK,UAAU,YAAY,CAAC,CAAC;AAG3B,QAAA,UAAU,iBAAiB,OAAO,eAAe;AACvD,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,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,EACF;AACF;"}