@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
@@ -1 +1 @@
1
- {"version":3,"file":"views.es.js","sources":["../../../../../src/api/generated/views.ts"],"sourcesContent":["import { api } from '@shared/api/base'\nconst injectedRtkApi = api.injectEndpoints({\n endpoints: (build) => ({\n listViews: build.query<ListViewsApiResponse, ListViewsApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}`,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n createView: build.mutation<CreateViewApiResponse, CreateViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}`,\n method: 'POST',\n body: queryArg.payload,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n getPersonalView: build.query<GetPersonalViewApiResponse, GetPersonalViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/personal`,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n getView: build.query<GetViewApiResponse, GetViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/${queryArg.viewId}`,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n deleteView: build.mutation<DeleteViewApiResponse, DeleteViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/${queryArg.viewId}`,\n method: 'DELETE',\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n }),\n overrideExisting: false,\n})\nexport { injectedRtkApi as api }\nexport type ListViewsApiResponse = /** status 200 Successful Response */ ViewListModel\nexport type ListViewsApiArg = {\n viewType: string\n projectName?: string\n}\nexport type CreateViewApiResponse = /** status 200 Successful Response */ EntityIdResponse\nexport type CreateViewApiArg = {\n viewType: string\n projectName?: string\n payload: OverviewViewPostModel | TaskProgressViewPostModel\n}\nexport type GetPersonalViewApiResponse = /** status 200 Successful Response */\n | OverviewViewModel\n | TaskProgressViewModel\nexport type GetPersonalViewApiArg = {\n viewType: string\n projectName?: string\n}\nexport type GetViewApiResponse = /** status 200 Successful Response */\n | OverviewViewModel\n | TaskProgressViewModel\nexport type GetViewApiArg = {\n viewType: string\n viewId: string\n projectName?: string\n}\nexport type DeleteViewApiResponse = /** status 200 Successful Response */ any\nexport type DeleteViewApiArg = {\n viewType: string\n viewId: string\n projectName?: string\n}\nexport type ViewListItemModel = {\n id?: string\n label: string\n scope?: 'project' | 'studio'\n position?: number\n owner?: string\n visibility?: 'public' | 'private'\n personal?: boolean\n}\nexport type ViewListModel = {\n views: ViewListItemModel[]\n}\nexport type ValidationError = {\n loc: (string | number)[]\n msg: string\n type: string\n}\nexport type HttpValidationError = {\n detail?: ValidationError[]\n}\nexport type EntityIdResponse = {\n /** Entity ID */\n id: string\n}\nexport type QueryCondition = {\n /** Path to the key separated by slashes */\n key: string\n /** Value to compare against */\n value?: string | number | number | boolean | string[] | number[] | number[]\n /** Comparison operator */\n operator?:\n | 'eq'\n | 'like'\n | 'lt'\n | 'gt'\n | 'lte'\n | 'gte'\n | 'ne'\n | 'isnull'\n | 'notnull'\n | 'in'\n | 'notin'\n | 'includes'\n | 'excludes'\n | 'includesall'\n | 'excludesall'\n | 'includesany'\n | 'excludesany'\n}\nexport type QueryFilter = {\n /** List of conditions to be evaluated */\n conditions?: (QueryCondition | QueryFilter)[]\n /** Operator to use when joining conditions */\n operator?: 'and' | 'or'\n}\nexport type ColumnItemModel = {\n name: string\n pinned?: boolean\n width?: number\n}\nexport type OverviewSettings = {\n showHierarchy?: boolean\n groupBy?: string\n filter?: QueryFilter\n columns?: ColumnItemModel[]\n}\nexport type OverviewViewPostModel = {\n id?: string\n label: string\n personal?: boolean\n settings: OverviewSettings\n}\nexport type TaskProgressSettings = {\n filter?: QueryFilter\n}\nexport type TaskProgressViewPostModel = {\n id?: string\n label: string\n personal?: boolean\n settings: TaskProgressSettings\n}\nexport type OverviewViewModel = {\n id?: string\n label: string\n scope?: 'project' | 'studio'\n position?: number\n owner?: string\n visibility?: 'public' | 'private'\n personal?: boolean\n settings: OverviewSettings\n viewType?: 'overview'\n}\nexport type TaskProgressViewModel = {\n id?: string\n label: string\n scope?: 'project' | 'studio'\n position?: number\n owner?: string\n visibility?: 'public' | 'private'\n personal?: boolean\n settings: TaskProgressSettings\n viewType?: 'taskProgress'\n}\n"],"names":[],"mappings":";AACM,MAAA,iBAAiB,IAAI,gBAAgB;AAAA,EACzC,WAAW,CAAC,WAAW;AAAA,IACrB,WAAW,MAAM,MAA6C;AAAA,MAC5D,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ;AAAA,QACpC,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,YAAY,MAAM,SAAkD;AAAA,MAClE,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ;AAAA,QACpC,QAAQ;AAAA,QACR,MAAM,SAAS;AAAA,QACf,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,iBAAiB,MAAM,MAAyD;AAAA,MAC9E,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ;AAAA,QACpC,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,SAAS,MAAM,MAAyC;AAAA,MACtD,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ,IAAI,SAAS,MAAM;AAAA,QACvD,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,YAAY,MAAM,SAAkD;AAAA,MAClE,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ,IAAI,SAAS,MAAM;AAAA,QACvD,QAAQ;AAAA,QACR,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IACD,CAAA;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC;"}
1
+ {"version":3,"file":"views.es.js","sources":["../../../../../src/api/generated/views.ts"],"sourcesContent":["import { api } from '@shared/api/base'\nconst injectedRtkApi = api.injectEndpoints({\n endpoints: (build) => ({\n listViews: build.query<ListViewsApiResponse, ListViewsApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}`,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n createView: build.mutation<CreateViewApiResponse, CreateViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}`,\n method: 'POST',\n body: queryArg.payload,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n getWorkingView: build.query<GetWorkingViewApiResponse, GetWorkingViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/working`,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n getDefaultView: build.query<GetDefaultViewApiResponse, GetDefaultViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/default`,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n setDefaultView: build.mutation<SetDefaultViewApiResponse, SetDefaultViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/default`,\n method: 'POST',\n body: queryArg.setDefaultViewRequestModel,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n getView: build.query<GetViewApiResponse, GetViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/${queryArg.viewId}`,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n deleteView: build.mutation<DeleteViewApiResponse, DeleteViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/${queryArg.viewId}`,\n method: 'DELETE',\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n updateView: build.mutation<UpdateViewApiResponse, UpdateViewApiArg>({\n query: (queryArg) => ({\n url: `/api/views/${queryArg.viewType}/${queryArg.viewId}`,\n method: 'PATCH',\n body: queryArg.payload,\n params: {\n project_name: queryArg.projectName,\n },\n }),\n }),\n }),\n overrideExisting: false,\n})\nexport { injectedRtkApi as api }\nexport type ListViewsApiResponse = /** status 200 Successful Response */ ViewListModel\nexport type ListViewsApiArg = {\n viewType: string\n projectName?: string\n}\nexport type CreateViewApiResponse = /** status 200 Successful Response */ EntityIdResponse\nexport type CreateViewApiArg = {\n viewType: string\n projectName?: string\n payload: OverviewViewPostModel | TaskProgressViewPostModel | ListsViewPostModel\n}\nexport type GetWorkingViewApiResponse = /** status 200 Successful Response */\n | OverviewViewModel\n | TaskProgressViewModel\n | ListsViewModel\nexport type GetWorkingViewApiArg = {\n viewType: string\n projectName?: string\n}\nexport type GetDefaultViewApiResponse = /** status 200 Successful Response */\n | OverviewViewModel\n | TaskProgressViewModel\n | ListsViewModel\nexport type GetDefaultViewApiArg = {\n viewType: string\n projectName?: string\n}\nexport type SetDefaultViewApiResponse = /** status 200 Successful Response */ any\nexport type SetDefaultViewApiArg = {\n viewType: string\n projectName?: string\n setDefaultViewRequestModel: SetDefaultViewRequestModel\n}\nexport type GetViewApiResponse = /** status 200 Successful Response */\n | OverviewViewModel\n | TaskProgressViewModel\n | ListsViewModel\nexport type GetViewApiArg = {\n viewType: string\n viewId: string\n projectName?: string\n}\nexport type DeleteViewApiResponse = /** status 200 Successful Response */ any\nexport type DeleteViewApiArg = {\n viewType: string\n viewId: string\n projectName?: string\n}\nexport type UpdateViewApiResponse = /** status 200 Successful Response */ any\nexport type UpdateViewApiArg = {\n viewType: string\n viewId: string\n projectName?: string\n payload: OverviewViewPatchModel | TaskProgressViewPatchModel | ListsViewPatchModel\n}\nexport type ViewListItemModel = {\n /** Unique identifier for the view within the given scope. */\n id?: string\n /** Human-readable name of the view. */\n label: string\n /** Determines whether the view is only available for the given project or for all projects (studio). */\n scope: 'project' | 'studio'\n /** Name of the user who created the view. Owners have full control over the view, */\n owner: string\n /** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */\n visibility: 'public' | 'private'\n access: object\n /** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */\n working: boolean\n position: number\n editable: boolean\n}\nexport type ViewListModel = {\n views: ViewListItemModel[]\n}\nexport type ValidationError = {\n loc: (string | number)[]\n msg: string\n type: string\n}\nexport type HttpValidationError = {\n detail?: ValidationError[]\n}\nexport type EntityIdResponse = {\n /** Entity ID */\n id: string\n}\nexport type QueryCondition = {\n /** Path to the key separated by slashes */\n key: string\n /** Value to compare against */\n value?: string | number | number | boolean | string[] | number[] | number[]\n /** Comparison operator */\n operator?:\n | 'eq'\n | 'like'\n | 'lt'\n | 'gt'\n | 'lte'\n | 'gte'\n | 'ne'\n | 'isnull'\n | 'notnull'\n | 'in'\n | 'notin'\n | 'includes'\n | 'excludes'\n | 'includesall'\n | 'excludesall'\n | 'includesany'\n | 'excludesany'\n}\nexport type QueryFilter = {\n /** List of conditions to be evaluated */\n conditions?: (QueryCondition | QueryFilter)[]\n /** Operator to use when joining conditions */\n operator?: 'and' | 'or'\n}\nexport type ColumnItemModel = {\n name: string\n visible?: boolean\n pinned?: boolean\n width?: number\n}\nexport type OverviewSettings = {\n showHierarchy?: boolean\n groupBy?: string\n showEmptyGroups?: boolean\n sortBy?: string\n sortDesc?: boolean\n filter?: QueryFilter\n columns?: ColumnItemModel[]\n}\nexport type OverviewViewPostModel = {\n /** Unique identifier for the view within the given scope. */\n id?: string\n /** Human-readable name of the view. */\n label: string\n /** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */\n working?: boolean\n settings: OverviewSettings\n}\nexport type TaskProgressSettings = {\n filter?: QueryFilter\n columns?: ColumnItemModel[]\n}\nexport type TaskProgressViewPostModel = {\n /** Unique identifier for the view within the given scope. */\n id?: string\n /** Human-readable name of the view. */\n label: string\n /** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */\n working?: boolean\n settings: TaskProgressSettings\n}\nexport type ListsSettings = {\n sortBy?: string\n sortDesc?: boolean\n filter?: QueryFilter\n columns?: ColumnItemModel[]\n}\nexport type ListsViewPostModel = {\n /** Unique identifier for the view within the given scope. */\n id?: string\n /** Human-readable name of the view. */\n label: string\n /** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */\n working?: boolean\n settings: ListsSettings\n}\nexport type OverviewViewModel = {\n /** Unique identifier for the view within the given scope. */\n id?: string\n /** Human-readable name of the view. */\n label: string\n /** Determines whether the view is only available for the given project or for all projects (studio). */\n scope: 'project' | 'studio'\n /** Name of the user who created the view. Owners have full control over the view, */\n owner: string\n /** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */\n visibility: 'public' | 'private'\n access: object\n /** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */\n working: boolean\n position: number\n editable: boolean\n settings: OverviewSettings\n viewType?: 'overview'\n}\nexport type TaskProgressViewModel = {\n /** Unique identifier for the view within the given scope. */\n id?: string\n /** Human-readable name of the view. */\n label: string\n /** Determines whether the view is only available for the given project or for all projects (studio). */\n scope: 'project' | 'studio'\n /** Name of the user who created the view. Owners have full control over the view, */\n owner: string\n /** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */\n visibility: 'public' | 'private'\n access: object\n /** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */\n working: boolean\n position: number\n editable: boolean\n settings: TaskProgressSettings\n viewType?: 'taskProgress'\n}\nexport type ListsViewModel = {\n /** Unique identifier for the view within the given scope. */\n id?: string\n /** Human-readable name of the view. */\n label: string\n /** Determines whether the view is only available for the given project or for all projects (studio). */\n scope: 'project' | 'studio'\n /** Name of the user who created the view. Owners have full control over the view, */\n owner: string\n /** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */\n visibility: 'public' | 'private'\n access: object\n /** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */\n working: boolean\n position: number\n editable: boolean\n settings: ListsSettings\n viewType?: 'lists'\n}\nexport type SetDefaultViewRequestModel = {\n viewId: string\n}\nexport type OverviewViewPatchModel = {\n label?: string\n owner?: string\n settings?: OverviewSettings\n}\nexport type TaskProgressViewPatchModel = {\n label?: string\n owner?: string\n settings?: TaskProgressSettings\n}\nexport type ListsViewPatchModel = {\n label?: string\n owner?: string\n settings?: ListsSettings\n}\n"],"names":[],"mappings":";AACM,MAAA,iBAAiB,IAAI,gBAAgB;AAAA,EACzC,WAAW,CAAC,WAAW;AAAA,IACrB,WAAW,MAAM,MAA6C;AAAA,MAC5D,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ;AAAA,QACpC,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,YAAY,MAAM,SAAkD;AAAA,MAClE,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ;AAAA,QACpC,QAAQ;AAAA,QACR,MAAM,SAAS;AAAA,QACf,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,gBAAgB,MAAM,MAAuD;AAAA,MAC3E,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ;AAAA,QACpC,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,gBAAgB,MAAM,MAAuD;AAAA,MAC3E,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ;AAAA,QACpC,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,gBAAgB,MAAM,SAA0D;AAAA,MAC9E,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ;AAAA,QACpC,QAAQ;AAAA,QACR,MAAM,SAAS;AAAA,QACf,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,SAAS,MAAM,MAAyC;AAAA,MACtD,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ,IAAI,SAAS,MAAM;AAAA,QACvD,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,YAAY,MAAM,SAAkD;AAAA,MAClE,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ,IAAI,SAAS,MAAM;AAAA,QACvD,QAAQ;AAAA,QACR,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IAAA,CACD;AAAA,IACD,YAAY,MAAM,SAAkD;AAAA,MAClE,OAAO,CAAC,cAAc;AAAA,QACpB,KAAK,cAAc,SAAS,QAAQ,IAAI,SAAS,MAAM;AAAA,QACvD,QAAQ;AAAA,QACR,MAAM,SAAS;AAAA,QACf,QAAQ;AAAA,UACN,cAAc,SAAS;AAAA,QAAA;AAAA,MAE3B;AAAA,IACD,CAAA;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC;"}
@@ -37,19 +37,33 @@ require("../../generated/workfiles.cjs.js");
37
37
  require("../../generated/ynputCloud.cjs.js");
38
38
  require("../../generated/grouping.cjs.js");
39
39
  const views = require("../../generated/views.cjs.js");
40
+ const getScopeTag = (viewType, projectName) => {
41
+ return {
42
+ type: "view",
43
+ id: `${viewType.toUpperCase()}${projectName ? `:${projectName.toUpperCase()}` : ""}`
44
+ };
45
+ };
40
46
  const VIEW_LIST_TAG = { type: "view", id: "LIST" };
41
47
  const getViewsApi = views.api.enhanceEndpoints({
42
48
  endpoints: {
43
49
  listViews: {
44
50
  transformResponse: (response) => (response == null ? void 0 : response.views) || [],
45
- providesTags: (result) => result ? [VIEW_LIST_TAG, ...result.map((v) => ({ type: "view", id: v.id }))] : [VIEW_LIST_TAG],
51
+ providesTags: (result, _e, { viewType, projectName }) => result ? [
52
+ VIEW_LIST_TAG,
53
+ getScopeTag(viewType, projectName),
54
+ ...result.map((v) => ({ type: "view", id: v.id }))
55
+ ] : [VIEW_LIST_TAG],
46
56
  transformErrorResponse: (error) => {
47
57
  var _a;
48
58
  return (_a = error.data) == null ? void 0 : _a.detail;
49
59
  }
50
60
  },
51
- getPersonalView: {
52
- providesTags: (result) => [{ type: "view", id: result == null ? void 0 : result.id }, VIEW_LIST_TAG],
61
+ getWorkingView: {
62
+ providesTags: (result, _e, { viewType, projectName }) => [
63
+ { type: "view", id: result == null ? void 0 : result.id },
64
+ getScopeTag(viewType, projectName),
65
+ VIEW_LIST_TAG
66
+ ],
53
67
  transformErrorResponse: (error) => {
54
68
  var _a;
55
69
  return (_a = error.data) == null ? void 0 : _a.detail;
@@ -61,12 +75,22 @@ const getViewsApi = views.api.enhanceEndpoints({
61
75
  var _a;
62
76
  return (_a = error.data) == null ? void 0 : _a.detail;
63
77
  }
78
+ },
79
+ getDefaultView: {
80
+ providesTags: (result, _e, { viewType, projectName }) => result ? [{ type: "view", id: result.id }, getScopeTag(viewType, projectName)] : [getScopeTag(viewType, projectName)]
64
81
  }
65
82
  }
66
83
  });
67
- const { useListViewsQuery, useGetPersonalViewQuery, useGetViewQuery } = getViewsApi;
84
+ const {
85
+ useListViewsQuery,
86
+ useGetWorkingViewQuery,
87
+ useGetViewQuery,
88
+ useGetDefaultViewQuery
89
+ } = getViewsApi;
90
+ exports.getScopeTag = getScopeTag;
68
91
  exports.getViewsApi = getViewsApi;
69
- exports.useGetPersonalViewQuery = useGetPersonalViewQuery;
92
+ exports.useGetDefaultViewQuery = useGetDefaultViewQuery;
70
93
  exports.useGetViewQuery = useGetViewQuery;
94
+ exports.useGetWorkingViewQuery = useGetWorkingViewQuery;
71
95
  exports.useListViewsQuery = useListViewsQuery;
72
96
  //# sourceMappingURL=getViews.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getViews.cjs.js","sources":["../../../../../../src/api/queries/views/getViews.ts"],"sourcesContent":["import { ListViewsApiResponse, viewsApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nconst VIEW_LIST_TAG = { type: 'view', id: 'LIST' }\n\ntype GetViewListResult = ListViewsApiResponse['views']\n\ntype Definitions = DefinitionsFromApi<typeof viewsApi>\ntype TagTypes = TagTypesFromApi<typeof viewsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'listViews'> & {\n listViews: OverrideResultType<Definitions['listViews'], GetViewListResult>\n}\n\nexport const getViewsApi = viewsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n listViews: {\n transformResponse: (response: ListViewsApiResponse) => response?.views || [],\n providesTags: (result) =>\n result\n ? [VIEW_LIST_TAG, ...result.map((v) => ({ type: 'view', id: v.id }))]\n : [VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getPersonalView: {\n providesTags: (result) => [{ type: 'view', id: result?.id }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getView: {\n providesTags: (result, error, arg) => [{ type: 'view', id: arg.viewId }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n },\n})\n\nexport const { useListViewsQuery, useGetPersonalViewQuery, useGetViewQuery } = getViewsApi\n"],"names":["viewsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,gBAAgB,EAAE,MAAM,QAAQ,IAAI,OAAO;AAWpC,MAAA,cAAcA,UAAS,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmB,CAAC,cAAmC,qCAAU,UAAS,CAAC;AAAA,MAC3E,cAAc,CAAC,WACb,SACI,CAAC,eAAe,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK,CAAC,IAClE,CAAC,aAAa;AAAA,MACpB,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,iBAAiB;AAAA,MACf,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,QAAQ,IAAI,iCAAQ,GAAG,GAAG,aAAa;AAAA,MAC1E,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAAC,QAAQ,OAAO,QAAQ,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,OAAA,GAAU,aAAa;AAAA,MACtF,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IAAA;AAAA,EACtD;AAEJ,CAAC;AAEM,MAAM,EAAE,mBAAmB,yBAAyB,oBAAoB;;;;;"}
1
+ {"version":3,"file":"getViews.cjs.js","sources":["../../../../../../src/api/queries/views/getViews.ts"],"sourcesContent":["import { ListViewsApiResponse, viewsApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport const getScopeTag = (viewType: string, projectName?: string) => {\n return {\n type: 'view',\n id: `${viewType.toUpperCase()}${projectName ? `:${projectName.toUpperCase()}` : ''}`,\n }\n}\n\nconst VIEW_LIST_TAG = { type: 'view', id: 'LIST' }\n\ntype GetViewListResult = ListViewsApiResponse['views']\n\ntype Definitions = DefinitionsFromApi<typeof viewsApi>\ntype TagTypes = TagTypesFromApi<typeof viewsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'listViews'> & {\n listViews: OverrideResultType<Definitions['listViews'], GetViewListResult>\n}\n\nexport const getViewsApi = viewsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n listViews: {\n transformResponse: (response: ListViewsApiResponse) => response?.views || [],\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [\n VIEW_LIST_TAG,\n getScopeTag(viewType, projectName),\n ...result.map((v) => ({ type: 'view', id: v.id })),\n ]\n : [VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getWorkingView: {\n providesTags: (result, _e, { viewType, projectName }) => [\n { type: 'view', id: result?.id },\n getScopeTag(viewType, projectName),\n VIEW_LIST_TAG,\n ],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getView: {\n providesTags: (result, error, arg) => [{ type: 'view', id: arg.viewId }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getDefaultView: {\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [{ type: 'view', id: result.id }, getScopeTag(viewType, projectName)]\n : [getScopeTag(viewType, projectName)],\n },\n },\n})\n\nexport const {\n useListViewsQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useGetDefaultViewQuery,\n} = getViewsApi\n"],"names":["viewsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGa,MAAA,cAAc,CAAC,UAAkB,gBAAyB;AAC9D,SAAA;AAAA,IACL,MAAM;AAAA,IACN,IAAI,GAAG,SAAS,YAAa,CAAA,GAAG,cAAc,IAAI,YAAY,aAAa,KAAK,EAAE;AAAA,EACpF;AACF;AAEA,MAAM,gBAAgB,EAAE,MAAM,QAAQ,IAAI,OAAO;AAWpC,MAAA,cAAcA,UAAS,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmB,CAAC,cAAmC,qCAAU,UAAS,CAAC;AAAA,MAC3E,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBACrC,SACI;AAAA,QACE;AAAA,QACA,YAAY,UAAU,WAAW;AAAA,QACjC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK;AAAA,MACnD,IACA,CAAC,aAAa;AAAA,MACpB,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBAAkB;AAAA,QACvD,EAAE,MAAM,QAAQ,IAAI,iCAAQ,GAAG;AAAA,QAC/B,YAAY,UAAU,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAAC,QAAQ,OAAO,QAAQ,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,OAAA,GAAU,aAAa;AAAA,MACtF,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,YAAA,MACrC,SACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAO,MAAM,YAAY,UAAU,WAAW,CAAC,IACpE,CAAC,YAAY,UAAU,WAAW,CAAC;AAAA,IAAA;AAAA,EAC3C;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;;;;;;;"}
@@ -35,19 +35,33 @@ import "../../generated/workfiles.es.js";
35
35
  import "../../generated/ynputCloud.es.js";
36
36
  import "../../generated/grouping.es.js";
37
37
  import { api as injectedRtkApi } from "../../generated/views.es.js";
38
+ const getScopeTag = (viewType, projectName) => {
39
+ return {
40
+ type: "view",
41
+ id: `${viewType.toUpperCase()}${projectName ? `:${projectName.toUpperCase()}` : ""}`
42
+ };
43
+ };
38
44
  const VIEW_LIST_TAG = { type: "view", id: "LIST" };
39
45
  const getViewsApi = injectedRtkApi.enhanceEndpoints({
40
46
  endpoints: {
41
47
  listViews: {
42
48
  transformResponse: (response) => (response == null ? void 0 : response.views) || [],
43
- providesTags: (result) => result ? [VIEW_LIST_TAG, ...result.map((v) => ({ type: "view", id: v.id }))] : [VIEW_LIST_TAG],
49
+ providesTags: (result, _e, { viewType, projectName }) => result ? [
50
+ VIEW_LIST_TAG,
51
+ getScopeTag(viewType, projectName),
52
+ ...result.map((v) => ({ type: "view", id: v.id }))
53
+ ] : [VIEW_LIST_TAG],
44
54
  transformErrorResponse: (error) => {
45
55
  var _a;
46
56
  return (_a = error.data) == null ? void 0 : _a.detail;
47
57
  }
48
58
  },
49
- getPersonalView: {
50
- providesTags: (result) => [{ type: "view", id: result == null ? void 0 : result.id }, VIEW_LIST_TAG],
59
+ getWorkingView: {
60
+ providesTags: (result, _e, { viewType, projectName }) => [
61
+ { type: "view", id: result == null ? void 0 : result.id },
62
+ getScopeTag(viewType, projectName),
63
+ VIEW_LIST_TAG
64
+ ],
51
65
  transformErrorResponse: (error) => {
52
66
  var _a;
53
67
  return (_a = error.data) == null ? void 0 : _a.detail;
@@ -59,14 +73,24 @@ const getViewsApi = injectedRtkApi.enhanceEndpoints({
59
73
  var _a;
60
74
  return (_a = error.data) == null ? void 0 : _a.detail;
61
75
  }
76
+ },
77
+ getDefaultView: {
78
+ providesTags: (result, _e, { viewType, projectName }) => result ? [{ type: "view", id: result.id }, getScopeTag(viewType, projectName)] : [getScopeTag(viewType, projectName)]
62
79
  }
63
80
  }
64
81
  });
65
- const { useListViewsQuery, useGetPersonalViewQuery, useGetViewQuery } = getViewsApi;
82
+ const {
83
+ useListViewsQuery,
84
+ useGetWorkingViewQuery,
85
+ useGetViewQuery,
86
+ useGetDefaultViewQuery
87
+ } = getViewsApi;
66
88
  export {
89
+ getScopeTag,
67
90
  getViewsApi,
68
- useGetPersonalViewQuery,
91
+ useGetDefaultViewQuery,
69
92
  useGetViewQuery,
93
+ useGetWorkingViewQuery,
70
94
  useListViewsQuery
71
95
  };
72
96
  //# sourceMappingURL=getViews.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getViews.es.js","sources":["../../../../../../src/api/queries/views/getViews.ts"],"sourcesContent":["import { ListViewsApiResponse, viewsApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nconst VIEW_LIST_TAG = { type: 'view', id: 'LIST' }\n\ntype GetViewListResult = ListViewsApiResponse['views']\n\ntype Definitions = DefinitionsFromApi<typeof viewsApi>\ntype TagTypes = TagTypesFromApi<typeof viewsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'listViews'> & {\n listViews: OverrideResultType<Definitions['listViews'], GetViewListResult>\n}\n\nexport const getViewsApi = viewsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n listViews: {\n transformResponse: (response: ListViewsApiResponse) => response?.views || [],\n providesTags: (result) =>\n result\n ? [VIEW_LIST_TAG, ...result.map((v) => ({ type: 'view', id: v.id }))]\n : [VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getPersonalView: {\n providesTags: (result) => [{ type: 'view', id: result?.id }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getView: {\n providesTags: (result, error, arg) => [{ type: 'view', id: arg.viewId }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n },\n})\n\nexport const { useListViewsQuery, useGetPersonalViewQuery, useGetViewQuery } = getViewsApi\n"],"names":["viewsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,gBAAgB,EAAE,MAAM,QAAQ,IAAI,OAAO;AAWpC,MAAA,cAAcA,eAAS,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmB,CAAC,cAAmC,qCAAU,UAAS,CAAC;AAAA,MAC3E,cAAc,CAAC,WACb,SACI,CAAC,eAAe,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK,CAAC,IAClE,CAAC,aAAa;AAAA,MACpB,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,iBAAiB;AAAA,MACf,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,QAAQ,IAAI,iCAAQ,GAAG,GAAG,aAAa;AAAA,MAC1E,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAAC,QAAQ,OAAO,QAAQ,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,OAAA,GAAU,aAAa;AAAA,MACtF,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IAAA;AAAA,EACtD;AAEJ,CAAC;AAEM,MAAM,EAAE,mBAAmB,yBAAyB,oBAAoB;"}
1
+ {"version":3,"file":"getViews.es.js","sources":["../../../../../../src/api/queries/views/getViews.ts"],"sourcesContent":["import { ListViewsApiResponse, viewsApi } from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\n\nexport const getScopeTag = (viewType: string, projectName?: string) => {\n return {\n type: 'view',\n id: `${viewType.toUpperCase()}${projectName ? `:${projectName.toUpperCase()}` : ''}`,\n }\n}\n\nconst VIEW_LIST_TAG = { type: 'view', id: 'LIST' }\n\ntype GetViewListResult = ListViewsApiResponse['views']\n\ntype Definitions = DefinitionsFromApi<typeof viewsApi>\ntype TagTypes = TagTypesFromApi<typeof viewsApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'listViews'> & {\n listViews: OverrideResultType<Definitions['listViews'], GetViewListResult>\n}\n\nexport const getViewsApi = viewsApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n listViews: {\n transformResponse: (response: ListViewsApiResponse) => response?.views || [],\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [\n VIEW_LIST_TAG,\n getScopeTag(viewType, projectName),\n ...result.map((v) => ({ type: 'view', id: v.id })),\n ]\n : [VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getWorkingView: {\n providesTags: (result, _e, { viewType, projectName }) => [\n { type: 'view', id: result?.id },\n getScopeTag(viewType, projectName),\n VIEW_LIST_TAG,\n ],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getView: {\n providesTags: (result, error, arg) => [{ type: 'view', id: arg.viewId }, VIEW_LIST_TAG],\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n getDefaultView: {\n providesTags: (result, _e, { viewType, projectName }) =>\n result\n ? [{ type: 'view', id: result.id }, getScopeTag(viewType, projectName)]\n : [getScopeTag(viewType, projectName)],\n },\n },\n})\n\nexport const {\n useListViewsQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useGetDefaultViewQuery,\n} = getViewsApi\n"],"names":["viewsApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGa,MAAA,cAAc,CAAC,UAAkB,gBAAyB;AAC9D,SAAA;AAAA,IACL,MAAM;AAAA,IACN,IAAI,GAAG,SAAS,YAAa,CAAA,GAAG,cAAc,IAAI,YAAY,aAAa,KAAK,EAAE;AAAA,EACpF;AACF;AAEA,MAAM,gBAAgB,EAAE,MAAM,QAAQ,IAAI,OAAO;AAWpC,MAAA,cAAcA,eAAS,iBAA+C;AAAA,EACjF,WAAW;AAAA,IACT,WAAW;AAAA,MACT,mBAAmB,CAAC,cAAmC,qCAAU,UAAS,CAAC;AAAA,MAC3E,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBACrC,SACI;AAAA,QACE;AAAA,QACA,YAAY,UAAU,WAAW;AAAA,QACjC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,QAAQ,IAAI,EAAE,KAAK;AAAA,MACnD,IACA,CAAC,aAAa;AAAA,MACpB,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,kBAAkB;AAAA,QACvD,EAAE,MAAM,QAAQ,IAAI,iCAAQ,GAAG;AAAA,QAC/B,YAAY,UAAU,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,SAAS;AAAA,MACP,cAAc,CAAC,QAAQ,OAAO,QAAQ,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,OAAA,GAAU,aAAa;AAAA,MACtF,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IACtD;AAAA,IACA,gBAAgB;AAAA,MACd,cAAc,CAAC,QAAQ,IAAI,EAAE,UAAU,YAAA,MACrC,SACI,CAAC,EAAE,MAAM,QAAQ,IAAI,OAAO,MAAM,YAAY,UAAU,WAAW,CAAC,IACpE,CAAC,YAAY,UAAU,WAAW,CAAC;AAAA,IAAA;AAAA,EAC3C;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;"}
@@ -4,30 +4,190 @@ const getViews = require("./getViews.cjs.js");
4
4
  const updateViewsApi = getViews.getViewsApi.enhanceEndpoints({
5
5
  endpoints: {
6
6
  createView: {
7
- onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {
8
- try {
9
- const { payload } = arg;
10
- dispatch(
7
+ onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {
8
+ const { payload } = arg;
9
+ const state = getState();
10
+ const user = state.user.name;
11
+ const patch = dispatch(
12
+ getViews.getViewsApi.util.updateQueryData(
13
+ "listViews",
14
+ { viewType: arg.viewType, projectName: arg.projectName },
15
+ (draft) => {
16
+ const newView = {
17
+ ...payload,
18
+ working: payload.working || false,
19
+ scope: arg.projectName ? "project" : "studio",
20
+ visibility: "private",
21
+ position: draft.length + 1,
22
+ // Add to the end of the list
23
+ owner: user,
24
+ editable: true,
25
+ access: {}
26
+ };
27
+ if (payload.working) {
28
+ const existingWorkingIndex = draft.findIndex((view) => view.working === true);
29
+ if (existingWorkingIndex !== -1) {
30
+ const existingId = draft[existingWorkingIndex].id;
31
+ draft[existingWorkingIndex] = { ...newView, id: existingId };
32
+ } else {
33
+ draft.push(newView);
34
+ }
35
+ } else {
36
+ draft.push(newView);
37
+ }
38
+ draft.sort((a, b) => {
39
+ if (a.position !== b.position) {
40
+ return a.position - b.position;
41
+ }
42
+ return a.label.localeCompare(b.label);
43
+ });
44
+ }
45
+ )
46
+ );
47
+ let workingViewPatch;
48
+ if (payload.working) {
49
+ workingViewPatch = dispatch(
11
50
  getViews.getViewsApi.util.updateQueryData(
12
- "getViewList",
13
- { viewType: arg.viewType, project: arg.project },
51
+ "getWorkingView",
52
+ { viewType: arg.viewType, projectName: arg.projectName },
14
53
  (draft) => {
15
- draft.push(payload);
54
+ const existingId = draft == null ? void 0 : draft.id;
55
+ const updatedWorkingView = {
56
+ ...payload,
57
+ working: true,
58
+ scope: arg.projectName ? "project" : "studio",
59
+ visibility: "private",
60
+ owner: user,
61
+ ...existingId && { id: existingId }
62
+ // Keep existing ID if it exists
63
+ };
64
+ console.log("Updated working view:", updatedWorkingView);
65
+ Object.assign(draft, updatedWorkingView);
16
66
  }
17
67
  )
18
68
  );
69
+ }
70
+ try {
71
+ await queryFulfilled;
19
72
  } catch (error) {
73
+ patch.undo();
74
+ if (workingViewPatch) {
75
+ workingViewPatch.undo();
76
+ }
20
77
  console.error("Failed to create view:", error);
21
78
  }
22
79
  },
23
80
  transformErrorResponse: (error) => {
24
81
  var _a;
25
82
  return (_a = error.data) == null ? void 0 : _a.detail;
26
- }
83
+ },
84
+ // updates the view list cache for a specific view type and project
85
+ invalidatesTags: (_r, _e, { viewType, projectName, payload }) => [
86
+ { type: "view", id: payload.id },
87
+ getViews.getScopeTag(viewType, projectName)
88
+ ]
89
+ },
90
+ updateView: {
91
+ transformErrorResponse: (error) => {
92
+ var _a;
93
+ return (_a = error.data) == null ? void 0 : _a.detail;
94
+ },
95
+ invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [
96
+ { type: "view", id: viewId },
97
+ getViews.getScopeTag(viewType, projectName)
98
+ ]
99
+ },
100
+ deleteView: {
101
+ onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {
102
+ const { viewId, projectName, viewType } = arg;
103
+ const patch = dispatch(
104
+ getViews.getViewsApi.util.updateQueryData("listViews", { viewType, projectName }, (draft) => {
105
+ return draft.filter((view) => view.id !== viewId);
106
+ })
107
+ );
108
+ try {
109
+ await queryFulfilled;
110
+ } catch (error) {
111
+ patch.undo();
112
+ console.error("Failed to delete view:", error);
113
+ }
114
+ },
115
+ transformErrorResponse: (error) => {
116
+ var _a;
117
+ return (_a = error.data) == null ? void 0 : _a.detail;
118
+ },
119
+ // updates the view list cache for a specific view type and project
120
+ invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [
121
+ { type: "view", id: viewId },
122
+ getViews.getScopeTag(viewType, projectName)
123
+ ]
124
+ },
125
+ setDefaultView: {
126
+ onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {
127
+ var _a;
128
+ const { setDefaultViewRequestModel, projectName, viewType } = arg;
129
+ const { viewId } = setDefaultViewRequestModel;
130
+ const state = getState();
131
+ const currentDefaultView = getViews.getViewsApi.endpoints.getDefaultView.select({
132
+ viewType,
133
+ projectName
134
+ })(state);
135
+ if ((currentDefaultView == null ? void 0 : currentDefaultView.isSuccess) && ((_a = currentDefaultView.data) == null ? void 0 : _a.id)) {
136
+ const patch = dispatch(
137
+ getViews.getViewsApi.util.updateQueryData(
138
+ "getDefaultView",
139
+ { viewType, projectName },
140
+ (draft) => {
141
+ var _a2;
142
+ if (draft) {
143
+ const listViewData = getViews.getViewsApi.endpoints.listViews.select({
144
+ viewType,
145
+ projectName
146
+ })(state);
147
+ const view = (_a2 = listViewData == null ? void 0 : listViewData.data) == null ? void 0 : _a2.find((v) => v.id === viewId);
148
+ console.debug("updating default view:", viewId, "found in list:", view);
149
+ if (view) {
150
+ Object.assign(draft, view);
151
+ } else {
152
+ draft.id = viewId;
153
+ }
154
+ }
155
+ }
156
+ )
157
+ );
158
+ try {
159
+ await queryFulfilled;
160
+ } catch (error) {
161
+ patch.undo();
162
+ console.error("Failed to set default view:", error);
163
+ }
164
+ } else {
165
+ console.warn(
166
+ "No current default view found, skipping optimistic update and invalidating default view cache"
167
+ );
168
+ }
169
+ },
170
+ transformErrorResponse: (error) => {
171
+ var _a;
172
+ return (_a = error.data) == null ? void 0 : _a.detail;
173
+ },
174
+ // updates the default view cache for a specific view type and project
175
+ invalidatesTags: (_r, _e, { viewType, projectName, setDefaultViewRequestModel }) => [
176
+ { type: "view", id: setDefaultViewRequestModel.viewId },
177
+ getViews.getScopeTag(viewType, projectName)
178
+ ]
27
179
  }
28
180
  }
29
181
  });
30
- const { useCreateViewMutation } = updateViewsApi;
182
+ const {
183
+ useCreateViewMutation,
184
+ useUpdateViewMutation,
185
+ useDeleteViewMutation,
186
+ useSetDefaultViewMutation
187
+ } = updateViewsApi;
31
188
  exports.useCreateViewMutation = useCreateViewMutation;
189
+ exports.useDeleteViewMutation = useDeleteViewMutation;
190
+ exports.useSetDefaultViewMutation = useSetDefaultViewMutation;
191
+ exports.useUpdateViewMutation = useUpdateViewMutation;
32
192
  exports.viewsQueries = updateViewsApi;
33
193
  //# sourceMappingURL=updateViews.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateViews.cjs.js","sources":["../../../../../../src/api/queries/views/updateViews.ts"],"sourcesContent":["import { getViewsApi } from './getViews'\n\nconst updateViewsApi = getViewsApi.enhanceEndpoints({\n endpoints: {\n createView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {\n try {\n const { payload } = arg\n // Optimistically update the view list with the new view\n dispatch(\n getViewsApi.util.updateQueryData(\n 'getViewList',\n { viewType: arg.viewType, project: arg.project },\n (draft) => {\n draft.push(payload)\n },\n ),\n )\n } catch (error) {\n console.error('Failed to create view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n },\n },\n})\n\nexport const { useCreateViewMutation } = updateViewsApi\nexport { updateViewsApi as viewsQueries }\n"],"names":["getViewsApi"],"mappings":";;;AAEM,MAAA,iBAAiBA,qBAAY,iBAAiB;AAAA,EAClD,WAAW;AAAA,IACT,YAAY;AAAA,MACV,gBAAgB,OAAO,KAAK,EAAE,UAAU,qBAAqB;AACvD,YAAA;AACI,gBAAA,EAAE,YAAY;AAEpB;AAAA,YACEA,qBAAY,KAAK;AAAA,cACf;AAAA,cACA,EAAE,UAAU,IAAI,UAAU,SAAS,IAAI,QAAQ;AAAA,cAC/C,CAAC,UAAU;AACT,sBAAM,KAAK,OAAO;AAAA,cAAA;AAAA,YACpB;AAAA,UAEJ;AAAA,iBACO,OAAO;AACN,kBAAA,MAAM,0BAA0B,KAAK;AAAA,QAAA;AAAA,MAEjD;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,IAAA;AAAA,EACtD;AAEJ,CAAC;AAEY,MAAA,EAAE,0BAA0B;;;"}
1
+ {"version":3,"file":"updateViews.cjs.js","sources":["../../../../../../src/api/queries/views/updateViews.ts"],"sourcesContent":["import { ViewListItemModel } from '@shared/api/generated'\nimport { getScopeTag, getViewsApi } from './getViews'\n\nconst updateViewsApi = getViewsApi.enhanceEndpoints({\n endpoints: {\n createView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { payload } = arg\n const state = getState()\n // @ts-expect-error - user is not typed in the state\n const user = state.user.name\n\n // Optimistically update the view list\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'listViews',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n const newView: ViewListItemModel = {\n ...payload,\n working: payload.working || false,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n position: draft.length + 1, // Add to the end of the list\n owner: user,\n editable: true,\n access: {},\n }\n if (payload.working) {\n // For working views, find and replace the existing working view\n const existingWorkingIndex = draft.findIndex((view) => view.working === true)\n if (existingWorkingIndex !== -1) {\n // Keep the existing ID but update all other properties\n const existingId = draft[existingWorkingIndex].id\n draft[existingWorkingIndex] = { ...newView, id: existingId }\n } else {\n // No existing working view, add the new one\n draft.push(newView)\n }\n } else {\n // For non-working views, add to the list as usual\n draft.push(newView)\n }\n\n // finally sort the view by position and then by label\n draft.sort((a, b) => {\n if (a.position !== b.position) {\n return a.position - b.position\n }\n return a.label.localeCompare(b.label)\n })\n },\n ),\n )\n\n // Also update the getWorkingView cache if this is a working view\n let workingViewPatch\n if (payload.working) {\n workingViewPatch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getWorkingView',\n { viewType: arg.viewType, projectName: arg.projectName },\n (draft) => {\n // Preserve the existing ID if there's already a working view\n const existingId = draft?.id\n const updatedWorkingView = {\n ...payload,\n working: true,\n scope: arg.projectName ? 'project' : 'studio',\n visibility: 'private',\n owner: user,\n ...(existingId && { id: existingId }), // Keep existing ID if it exists\n }\n console.log('Updated working view:', updatedWorkingView)\n // Update the working view cache with the new view data\n Object.assign(draft, updatedWorkingView)\n },\n ),\n )\n }\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic updates\n patch.undo()\n if (workingViewPatch) {\n workingViewPatch.undo()\n }\n console.error('Failed to create view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, payload }) => [\n { type: 'view', id: payload.id },\n getScopeTag(viewType, projectName),\n ],\n },\n updateView: {\n transformErrorResponse: (error: any) => error.data?.detail,\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n deleteView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {\n const { viewId, projectName, viewType } = arg\n // Optimistically remove the view from the list\n const patch = dispatch(\n getViewsApi.util.updateQueryData('listViews', { viewType, projectName }, (draft) => {\n return draft.filter((view) => view.id !== viewId)\n }),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to delete view:', error)\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the view list cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [\n { type: 'view', id: viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n setDefaultView: {\n onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {\n const { setDefaultViewRequestModel, projectName, viewType } = arg\n const { viewId } = setDefaultViewRequestModel\n const state = getState()\n // get current state of default view\n const currentDefaultView = getViewsApi.endpoints.getDefaultView.select({\n viewType,\n projectName,\n })(state)\n\n // check if there is even a cache for the default view\n if (currentDefaultView?.isSuccess && currentDefaultView.data?.id) {\n // Optimistically update the default view\n const patch = dispatch(\n getViewsApi.util.updateQueryData(\n 'getDefaultView',\n { viewType, projectName },\n (draft) => {\n if (draft) {\n // Try to find the view in the listViews cache\n const listViewData = getViewsApi.endpoints.listViews.select({\n viewType,\n projectName,\n })(state)\n const view = listViewData?.data?.find((v) => v.id === viewId)\n\n console.debug('updating default view:', viewId, 'found in list:', view)\n\n if (view) {\n // If the view is found in the listViews cache, update the getDefaultView cache with the full view data\n Object.assign(draft, view)\n } else {\n // If the view is not found, only update the ID\n draft.id = viewId\n }\n }\n },\n ),\n )\n\n try {\n await queryFulfilled\n } catch (error) {\n // If the query failed, we need to roll back the optimistic update\n patch.undo()\n console.error('Failed to set default view:', error)\n }\n } else {\n console.warn(\n 'No current default view found, skipping optimistic update and invalidating default view cache',\n )\n // If there is no current default view, we skip the optimistic update\n // it will be handled by the invalidation below\n }\n },\n transformErrorResponse: (error: any) => error.data?.detail,\n // updates the default view cache for a specific view type and project\n invalidatesTags: (_r, _e, { viewType, projectName, setDefaultViewRequestModel }) => [\n { type: 'view', id: setDefaultViewRequestModel.viewId },\n getScopeTag(viewType, projectName),\n ],\n },\n },\n})\n\nexport const {\n useCreateViewMutation,\n useUpdateViewMutation,\n useDeleteViewMutation,\n useSetDefaultViewMutation,\n} = updateViewsApi\nexport { updateViewsApi as viewsQueries }\n"],"names":["getViewsApi","getScopeTag","_a"],"mappings":";;;AAGM,MAAA,iBAAiBA,qBAAY,iBAAiB;AAAA,EAClD,WAAW;AAAA,IACT,YAAY;AAAA,MACV,gBAAgB,OAAO,KAAK,EAAE,UAAU,gBAAgB,eAAe;AAC/D,cAAA,EAAE,YAAY;AACpB,cAAM,QAAQ,SAAS;AAEjB,cAAA,OAAO,MAAM,KAAK;AAGxB,cAAM,QAAQ;AAAA,UACZA,qBAAY,KAAK;AAAA,YACf;AAAA,YACA,EAAE,UAAU,IAAI,UAAU,aAAa,IAAI,YAAY;AAAA,YACvD,CAAC,UAAU;AACT,oBAAM,UAA6B;AAAA,gBACjC,GAAG;AAAA,gBACH,SAAS,QAAQ,WAAW;AAAA,gBAC5B,OAAO,IAAI,cAAc,YAAY;AAAA,gBACrC,YAAY;AAAA,gBACZ,UAAU,MAAM,SAAS;AAAA;AAAA,gBACzB,OAAO;AAAA,gBACP,UAAU;AAAA,gBACV,QAAQ,CAAA;AAAA,cACV;AACA,kBAAI,QAAQ,SAAS;AAEnB,sBAAM,uBAAuB,MAAM,UAAU,CAAC,SAAS,KAAK,YAAY,IAAI;AAC5E,oBAAI,yBAAyB,IAAI;AAEzB,wBAAA,aAAa,MAAM,oBAAoB,EAAE;AAC/C,wBAAM,oBAAoB,IAAI,EAAE,GAAG,SAAS,IAAI,WAAW;AAAA,gBAAA,OACtD;AAEL,wBAAM,KAAK,OAAO;AAAA,gBAAA;AAAA,cACpB,OACK;AAEL,sBAAM,KAAK,OAAO;AAAA,cAAA;AAId,oBAAA,KAAK,CAAC,GAAG,MAAM;AACf,oBAAA,EAAE,aAAa,EAAE,UAAU;AACtB,yBAAA,EAAE,WAAW,EAAE;AAAA,gBAAA;AAExB,uBAAO,EAAE,MAAM,cAAc,EAAE,KAAK;AAAA,cAAA,CACrC;AAAA,YAAA;AAAA,UACH;AAAA,QAEJ;AAGI,YAAA;AACJ,YAAI,QAAQ,SAAS;AACA,6BAAA;AAAA,YACjBA,qBAAY,KAAK;AAAA,cACf;AAAA,cACA,EAAE,UAAU,IAAI,UAAU,aAAa,IAAI,YAAY;AAAA,cACvD,CAAC,UAAU;AAET,sBAAM,aAAa,+BAAO;AAC1B,sBAAM,qBAAqB;AAAA,kBACzB,GAAG;AAAA,kBACH,SAAS;AAAA,kBACT,OAAO,IAAI,cAAc,YAAY;AAAA,kBACrC,YAAY;AAAA,kBACZ,OAAO;AAAA,kBACP,GAAI,cAAc,EAAE,IAAI,WAAW;AAAA;AAAA,gBACrC;AACQ,wBAAA,IAAI,yBAAyB,kBAAkB;AAEhD,uBAAA,OAAO,OAAO,kBAAkB;AAAA,cAAA;AAAA,YACzC;AAAA,UAEJ;AAAA,QAAA;AAGE,YAAA;AACI,gBAAA;AAAA,iBACC,OAAO;AAEd,gBAAM,KAAK;AACX,cAAI,kBAAkB;AACpB,6BAAiB,KAAK;AAAA,UAAA;AAEhB,kBAAA,MAAM,0BAA0B,KAAK;AAAA,QAAA;AAAA,MAEjD;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA;AAAA,MAEpD,iBAAiB,CAAC,IAAI,IAAI,EAAE,UAAU,aAAa,cAAc;AAAA,QAC/D,EAAE,MAAM,QAAQ,IAAI,QAAQ,GAAG;AAAA,QAC/BC,SAAA,YAAY,UAAU,WAAW;AAAA,MAAA;AAAA,IAErC;AAAA,IACA,YAAY;AAAA,MACV,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA,MACpD,iBAAiB,CAAC,IAAI,IAAI,EAAE,UAAU,aAAa,aAAa;AAAA,QAC9D,EAAE,MAAM,QAAQ,IAAI,OAAO;AAAA,QAC3BA,SAAA,YAAY,UAAU,WAAW;AAAA,MAAA;AAAA,IAErC;AAAA,IACA,YAAY;AAAA,MACV,gBAAgB,OAAO,KAAK,EAAE,UAAU,qBAAqB;AAC3D,cAAM,EAAE,QAAQ,aAAa,SAAa,IAAA;AAE1C,cAAM,QAAQ;AAAA,UACZD,qBAAY,KAAK,gBAAgB,aAAa,EAAE,UAAU,YAAA,GAAe,CAAC,UAAU;AAClF,mBAAO,MAAM,OAAO,CAAC,SAAS,KAAK,OAAO,MAAM;AAAA,UACjD,CAAA;AAAA,QACH;AAEI,YAAA;AACI,gBAAA;AAAA,iBACC,OAAO;AAEd,gBAAM,KAAK;AACH,kBAAA,MAAM,0BAA0B,KAAK;AAAA,QAAA;AAAA,MAEjD;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA;AAAA,MAEpD,iBAAiB,CAAC,IAAI,IAAI,EAAE,UAAU,aAAa,aAAa;AAAA,QAC9D,EAAE,MAAM,QAAQ,IAAI,OAAO;AAAA,QAC3BC,SAAA,YAAY,UAAU,WAAW;AAAA,MAAA;AAAA,IAErC;AAAA,IACA,gBAAgB;AAAA,MACd,gBAAgB,OAAO,KAAK,EAAE,UAAU,gBAAgB,eAAe;;AACrE,cAAM,EAAE,4BAA4B,aAAa,SAAa,IAAA;AACxD,cAAA,EAAE,WAAW;AACnB,cAAM,QAAQ,SAAS;AAEvB,cAAM,qBAAqBD,SAAA,YAAY,UAAU,eAAe,OAAO;AAAA,UACrE;AAAA,UACA;AAAA,QACD,CAAA,EAAE,KAAK;AAGR,aAAI,yDAAoB,gBAAa,wBAAmB,SAAnB,mBAAyB,KAAI;AAEhE,gBAAM,QAAQ;AAAA,YACZA,qBAAY,KAAK;AAAA,cACf;AAAA,cACA,EAAE,UAAU,YAAY;AAAA,cACxB,CAAC,UAAU;;AACT,oBAAI,OAAO;AAET,wBAAM,eAAeA,SAAA,YAAY,UAAU,UAAU,OAAO;AAAA,oBAC1D;AAAA,oBACA;AAAA,kBACD,CAAA,EAAE,KAAK;AACF,wBAAA,QAAOE,MAAA,6CAAc,SAAd,gBAAAA,IAAoB,KAAK,CAAC,MAAM,EAAE,OAAO;AAEtD,0BAAQ,MAAM,0BAA0B,QAAQ,kBAAkB,IAAI;AAEtE,sBAAI,MAAM;AAED,2BAAA,OAAO,OAAO,IAAI;AAAA,kBAAA,OACpB;AAEL,0BAAM,KAAK;AAAA,kBAAA;AAAA,gBACb;AAAA,cACF;AAAA,YACF;AAAA,UAEJ;AAEI,cAAA;AACI,kBAAA;AAAA,mBACC,OAAO;AAEd,kBAAM,KAAK;AACH,oBAAA,MAAM,+BAA+B,KAAK;AAAA,UAAA;AAAA,QACpD,OACK;AACG,kBAAA;AAAA,YACN;AAAA,UACF;AAAA,QAAA;AAAA,MAIJ;AAAA,MACA,wBAAwB,CAAC;;AAAe,2BAAM,SAAN,mBAAY;AAAA;AAAA;AAAA,MAEpD,iBAAiB,CAAC,IAAI,IAAI,EAAE,UAAU,aAAa,iCAAiC;AAAA,QAClF,EAAE,MAAM,QAAQ,IAAI,2BAA2B,OAAO;AAAA,QACtDD,SAAA,YAAY,UAAU,WAAW;AAAA,MAAA;AAAA,IACnC;AAAA,EACF;AAEJ,CAAC;AAEY,MAAA;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,IAAI;;;;;;"}
@@ -1,33 +1,193 @@
1
- import { getViewsApi } from "./getViews.es.js";
1
+ import { getViewsApi, getScopeTag } from "./getViews.es.js";
2
2
  const updateViewsApi = getViewsApi.enhanceEndpoints({
3
3
  endpoints: {
4
4
  createView: {
5
- onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {
6
- try {
7
- const { payload } = arg;
8
- dispatch(
5
+ onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {
6
+ const { payload } = arg;
7
+ const state = getState();
8
+ const user = state.user.name;
9
+ const patch = dispatch(
10
+ getViewsApi.util.updateQueryData(
11
+ "listViews",
12
+ { viewType: arg.viewType, projectName: arg.projectName },
13
+ (draft) => {
14
+ const newView = {
15
+ ...payload,
16
+ working: payload.working || false,
17
+ scope: arg.projectName ? "project" : "studio",
18
+ visibility: "private",
19
+ position: draft.length + 1,
20
+ // Add to the end of the list
21
+ owner: user,
22
+ editable: true,
23
+ access: {}
24
+ };
25
+ if (payload.working) {
26
+ const existingWorkingIndex = draft.findIndex((view) => view.working === true);
27
+ if (existingWorkingIndex !== -1) {
28
+ const existingId = draft[existingWorkingIndex].id;
29
+ draft[existingWorkingIndex] = { ...newView, id: existingId };
30
+ } else {
31
+ draft.push(newView);
32
+ }
33
+ } else {
34
+ draft.push(newView);
35
+ }
36
+ draft.sort((a, b) => {
37
+ if (a.position !== b.position) {
38
+ return a.position - b.position;
39
+ }
40
+ return a.label.localeCompare(b.label);
41
+ });
42
+ }
43
+ )
44
+ );
45
+ let workingViewPatch;
46
+ if (payload.working) {
47
+ workingViewPatch = dispatch(
9
48
  getViewsApi.util.updateQueryData(
10
- "getViewList",
11
- { viewType: arg.viewType, project: arg.project },
49
+ "getWorkingView",
50
+ { viewType: arg.viewType, projectName: arg.projectName },
12
51
  (draft) => {
13
- draft.push(payload);
52
+ const existingId = draft == null ? void 0 : draft.id;
53
+ const updatedWorkingView = {
54
+ ...payload,
55
+ working: true,
56
+ scope: arg.projectName ? "project" : "studio",
57
+ visibility: "private",
58
+ owner: user,
59
+ ...existingId && { id: existingId }
60
+ // Keep existing ID if it exists
61
+ };
62
+ console.log("Updated working view:", updatedWorkingView);
63
+ Object.assign(draft, updatedWorkingView);
14
64
  }
15
65
  )
16
66
  );
67
+ }
68
+ try {
69
+ await queryFulfilled;
17
70
  } catch (error) {
71
+ patch.undo();
72
+ if (workingViewPatch) {
73
+ workingViewPatch.undo();
74
+ }
18
75
  console.error("Failed to create view:", error);
19
76
  }
20
77
  },
21
78
  transformErrorResponse: (error) => {
22
79
  var _a;
23
80
  return (_a = error.data) == null ? void 0 : _a.detail;
24
- }
81
+ },
82
+ // updates the view list cache for a specific view type and project
83
+ invalidatesTags: (_r, _e, { viewType, projectName, payload }) => [
84
+ { type: "view", id: payload.id },
85
+ getScopeTag(viewType, projectName)
86
+ ]
87
+ },
88
+ updateView: {
89
+ transformErrorResponse: (error) => {
90
+ var _a;
91
+ return (_a = error.data) == null ? void 0 : _a.detail;
92
+ },
93
+ invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [
94
+ { type: "view", id: viewId },
95
+ getScopeTag(viewType, projectName)
96
+ ]
97
+ },
98
+ deleteView: {
99
+ onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {
100
+ const { viewId, projectName, viewType } = arg;
101
+ const patch = dispatch(
102
+ getViewsApi.util.updateQueryData("listViews", { viewType, projectName }, (draft) => {
103
+ return draft.filter((view) => view.id !== viewId);
104
+ })
105
+ );
106
+ try {
107
+ await queryFulfilled;
108
+ } catch (error) {
109
+ patch.undo();
110
+ console.error("Failed to delete view:", error);
111
+ }
112
+ },
113
+ transformErrorResponse: (error) => {
114
+ var _a;
115
+ return (_a = error.data) == null ? void 0 : _a.detail;
116
+ },
117
+ // updates the view list cache for a specific view type and project
118
+ invalidatesTags: (_r, _e, { viewType, projectName, viewId }) => [
119
+ { type: "view", id: viewId },
120
+ getScopeTag(viewType, projectName)
121
+ ]
122
+ },
123
+ setDefaultView: {
124
+ onQueryStarted: async (arg, { dispatch, queryFulfilled, getState }) => {
125
+ var _a;
126
+ const { setDefaultViewRequestModel, projectName, viewType } = arg;
127
+ const { viewId } = setDefaultViewRequestModel;
128
+ const state = getState();
129
+ const currentDefaultView = getViewsApi.endpoints.getDefaultView.select({
130
+ viewType,
131
+ projectName
132
+ })(state);
133
+ if ((currentDefaultView == null ? void 0 : currentDefaultView.isSuccess) && ((_a = currentDefaultView.data) == null ? void 0 : _a.id)) {
134
+ const patch = dispatch(
135
+ getViewsApi.util.updateQueryData(
136
+ "getDefaultView",
137
+ { viewType, projectName },
138
+ (draft) => {
139
+ var _a2;
140
+ if (draft) {
141
+ const listViewData = getViewsApi.endpoints.listViews.select({
142
+ viewType,
143
+ projectName
144
+ })(state);
145
+ const view = (_a2 = listViewData == null ? void 0 : listViewData.data) == null ? void 0 : _a2.find((v) => v.id === viewId);
146
+ console.debug("updating default view:", viewId, "found in list:", view);
147
+ if (view) {
148
+ Object.assign(draft, view);
149
+ } else {
150
+ draft.id = viewId;
151
+ }
152
+ }
153
+ }
154
+ )
155
+ );
156
+ try {
157
+ await queryFulfilled;
158
+ } catch (error) {
159
+ patch.undo();
160
+ console.error("Failed to set default view:", error);
161
+ }
162
+ } else {
163
+ console.warn(
164
+ "No current default view found, skipping optimistic update and invalidating default view cache"
165
+ );
166
+ }
167
+ },
168
+ transformErrorResponse: (error) => {
169
+ var _a;
170
+ return (_a = error.data) == null ? void 0 : _a.detail;
171
+ },
172
+ // updates the default view cache for a specific view type and project
173
+ invalidatesTags: (_r, _e, { viewType, projectName, setDefaultViewRequestModel }) => [
174
+ { type: "view", id: setDefaultViewRequestModel.viewId },
175
+ getScopeTag(viewType, projectName)
176
+ ]
25
177
  }
26
178
  }
27
179
  });
28
- const { useCreateViewMutation } = updateViewsApi;
180
+ const {
181
+ useCreateViewMutation,
182
+ useUpdateViewMutation,
183
+ useDeleteViewMutation,
184
+ useSetDefaultViewMutation
185
+ } = updateViewsApi;
29
186
  export {
30
187
  useCreateViewMutation,
188
+ useDeleteViewMutation,
189
+ useSetDefaultViewMutation,
190
+ useUpdateViewMutation,
31
191
  updateViewsApi as viewsQueries
32
192
  };
33
193
  //# sourceMappingURL=updateViews.es.js.map