@ynput/ayon-frontend-shared 0.2.39 → 0.2.41

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 (436) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/api.cjs.js +1 -1
  5. package/dist/api.es.js +256 -248
  6. package/dist/api.es.js.map +1 -1
  7. package/dist/index.cjs.js +1 -1
  8. package/dist/index.es.js +11 -9
  9. package/dist/index.es.js.map +1 -1
  10. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  11. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  12. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +16 -16
  13. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  14. package/dist/shared/src/api/queries/config/getConfig.cjs.js +2 -0
  15. package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -0
  16. package/dist/shared/src/api/queries/config/getConfig.es.js +111 -0
  17. package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -0
  18. package/dist/shared/src/api/queries/config/updateConfig.cjs.js +2 -0
  19. package/dist/shared/src/api/queries/config/updateConfig.cjs.js.map +1 -0
  20. package/dist/shared/src/api/queries/config/updateConfig.es.js +13 -0
  21. package/dist/shared/src/api/queries/config/updateConfig.es.js.map +1 -0
  22. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +5 -3
  25. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entities/updateEntity.es.js +5 -3
  29. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +106 -86
  33. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  34. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  35. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  36. package/dist/shared/src/api/queries/overview/updateOverview.es.js +68 -66
  37. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  39. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  40. package/dist/shared/src/api/queries/users/getUsers.es.js +34 -32
  41. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  42. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +8 -7
  43. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -1
  44. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +24 -20
  45. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -1
  46. package/dist/shared/src/components/Chips/Chips.cjs.js +10 -6
  47. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  48. package/dist/shared/src/components/Chips/Chips.es.js +44 -38
  49. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  51. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
  53. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  54. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  55. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  59. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  60. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
  61. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  62. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  63. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  64. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
  65. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  66. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  67. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  68. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
  69. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  70. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  71. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  72. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +4 -2
  73. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  74. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  75. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
  77. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  78. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  79. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  80. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
  81. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  82. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  83. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  84. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +28 -25
  85. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  86. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  87. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  88. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +5 -0
  89. package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -1
  90. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +5 -0
  91. package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -1
  92. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  93. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  94. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +4 -2
  95. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  96. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  97. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  98. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
  99. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  100. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  101. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  102. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
  103. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +6 -4
  107. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  108. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  109. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  110. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
  111. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  112. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  113. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  114. package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
  115. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  116. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  117. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  118. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
  119. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  121. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  122. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +4 -2
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +5 -3
  127. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  128. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  129. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  130. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +4 -2
  131. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  132. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  133. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  134. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
  135. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  136. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  137. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  138. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
  139. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  140. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  141. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  142. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +4 -2
  143. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  144. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  145. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  146. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +4 -2
  147. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  148. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  149. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  150. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +6 -4
  151. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  152. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  153. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  154. package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
  155. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  156. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  157. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  158. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +4 -2
  159. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  160. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  161. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  162. package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
  163. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  164. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  165. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  166. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
  167. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  168. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  169. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  170. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -2
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +4 -2
  175. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  178. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
  179. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  182. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +4 -2
  183. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  186. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
  187. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  190. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +4 -2
  191. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  194. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
  195. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  196. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  197. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  198. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
  199. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  200. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  201. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  202. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +4 -2
  203. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  204. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  205. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +4 -2
  207. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  208. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  209. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +4 -2
  211. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  212. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  213. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
  215. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  216. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  217. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +4 -2
  219. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  220. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  221. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +4 -2
  223. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  224. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  225. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
  227. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  228. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  229. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +4 -2
  231. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  232. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  233. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
  235. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  236. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  237. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -2
  239. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +4 -2
  243. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +4 -2
  247. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +4 -2
  251. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  253. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +4 -2
  255. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  257. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +4 -2
  259. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  261. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
  263. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +4 -2
  267. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  268. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  269. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +7 -5
  271. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  272. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +4 -2
  275. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  277. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +4 -2
  279. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  280. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  281. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +4 -2
  283. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  284. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  285. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  286. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +4 -2
  287. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  288. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  289. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  290. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +30 -28
  291. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  292. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  293. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  294. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
  295. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  296. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  297. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  298. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +4 -2
  299. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  300. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  301. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  302. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +4 -2
  303. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  304. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  305. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  306. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +4 -2
  307. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  308. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  309. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  310. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
  311. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  312. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -2
  315. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  316. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
  319. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  320. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +34 -21
  323. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  324. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +31 -28
  327. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  328. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
  331. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  332. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  333. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  334. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +4 -2
  335. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  336. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  337. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  338. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +4 -2
  339. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  340. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  341. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  342. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
  343. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  344. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  345. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  346. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
  347. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  348. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  349. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  350. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
  351. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  352. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  353. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  354. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
  355. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  356. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  357. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  358. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -2
  359. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  360. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  361. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  362. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
  363. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  364. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  365. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  366. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -2
  367. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  368. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  369. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  370. package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
  371. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  372. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  373. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  374. package/dist/shared/src/context/DetailsPanelContext.es.js +6 -4
  375. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  376. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  377. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  378. package/dist/shared/src/context/GlobalContext.es.js +6 -4
  379. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  380. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  381. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  382. package/dist/shared/src/context/PowerpackContext.es.js +8 -6
  383. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  384. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  385. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  386. package/dist/shared/src/context/ProjectContext.es.js +44 -38
  387. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  388. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  389. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  390. package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
  391. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  392. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  393. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  394. package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
  395. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  396. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  397. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  398. package/dist/shared/src/context/UriContext.es.js +7 -5
  399. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  400. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  401. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  402. package/dist/shared/src/context/WebsocketContext.es.js +6 -4
  403. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  404. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  405. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  406. package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
  407. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  408. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  409. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  410. package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
  411. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  412. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  413. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  414. package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
  415. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  416. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  417. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  418. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
  419. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  420. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  421. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  422. package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
  423. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  424. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  425. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  426. package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
  427. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  428. package/dist/types/api/queries/config/getConfig.d.ts +747 -0
  429. package/dist/types/api/queries/config/index.d.ts +2 -0
  430. package/dist/types/api/queries/config/updateConfig.d.ts +171 -0
  431. package/dist/types/api/queries/index.d.ts +1 -0
  432. package/dist/types/api/queries/links/getEntityLinks.d.ts +2 -1
  433. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +7 -2
  434. package/dist/types/components/Chips/Chips.d.ts +1 -0
  435. package/dist/types/components/LinksManager/LinksManager.d.ts +1 -0
  436. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectContext.cjs.js","sources":["../../../../src/context/ProjectContext.tsx"],"sourcesContent":["import { createContext, useContext, useCallback, useMemo } from 'react'\nimport { useGetProjectQuery, useGetProductTypesQuery, useGetProjectAnatomyQuery } from '@shared/api'\n\nimport type {\n FolderType,\n TaskType,\n ProductTypeListItem,\n DefaultProductType,\n ProjectModel,\n Anatomy,\n} from '@shared/api'\nimport { getEntityTypeIcon } from '@shared/util'\n\nexport type ProjectModelWithProducts = ProjectModel & {\n // Extend project with product types\n productTypes: ProductTypeListItem[]\n}\n\nconst emptyProject: ProjectModelWithProducts = {\n name: '',\n code: '',\n productTypes: [],\n folderTypes: [],\n taskTypes: [],\n tags: [],\n statuses: [],\n createdAt: '',\n updatedAt: '',\n active: true,\n attrib: {},\n data: {},\n config: {},\n library: false,\n linkTypes: [],\n ownAttrib: [],\n}\n\nexport interface ProjectContextValue extends ProjectModelWithProducts {\n projectName: string\n isLoading: boolean\n isSuccess: boolean\n isUninitialized: boolean\n error: any\n defaultProductType?: DefaultProductType\n anatomy: Anatomy\n refetch: () => void\n getProductType: (productType: string) => {\n icon: string\n color: string | undefined\n }\n getFolderType: (name: string) => FolderType | undefined\n getTaskType: (name: string) => TaskType | undefined\n getProductTypeOptions: () => { value: string; label: string; icon?: string; color?: string }[]\n}\n\nconst ProjectContext = createContext<ProjectContextValue | undefined>(undefined)\n\n//\n// ProjectProvider\n//\n\ninterface ProjectProviderProps {\n projectName: string\n children: React.ReactNode\n}\n\nexport const ProjectContextProvider: React.FC<ProjectProviderProps> = ({\n projectName,\n children,\n}: ProjectProviderProps) => {\n // PROJECT\n const {\n data: project,\n isLoading,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch: refetchProject,\n } = useGetProjectQuery({ projectName }, { skip: !projectName })\n // PRODUCT TYPES\n const { data: productTypesData, refetch: refetchProductTypes } = useGetProductTypesQuery(\n { projectName },\n { skip: !projectName },\n )\n // ANATOMY\n const { data: anatomy = {}, refetch: refetchAnatomy } = useGetProjectAnatomyQuery(\n { projectName },\n { skip: !projectName },\n )\n\n // Shorthands to access project data and type casting\n // (we're referencing nested objects. no need to use useMemo for these)\n\n const productTypes = productTypesData?.productTypes || []\n const defaultProductType = productTypesData?.default\n //\n // Magic functions\n //\n\n // Folder types\n\n const getFolderType = useCallback(\n (name: string): FolderType | undefined => {\n return project?.folderTypes?.find((type: FolderType) => type.name === name)\n },\n [project],\n )\n\n // Task types\n\n const getTaskType = useCallback(\n (name: string): TaskType | undefined => {\n return project?.taskTypes?.find((type: TaskType) => type.name === name)\n },\n [project],\n )\n\n // Product types\n\n const getProductType = useCallback(\n (productType: string) => {\n const type = productTypes.find((t) => t.name === productType) || defaultProductType\n return {\n icon: type?.icon || getEntityTypeIcon('product'),\n color: type?.color,\n }\n },\n [productTypes, defaultProductType],\n )\n\n const getProductTypeOptions = useCallback((): {\n value: string\n label: string\n icon: string\n }[] => {\n // Return a list of product type ready to be used in a select input\n const result = productTypes.map((type) => ({\n value: type.name,\n label: type.name,\n icon: type.icon || defaultProductType?.icon || '',\n color: type.color || defaultProductType?.color || '',\n }))\n return result\n }, [productTypes])\n\n const refetch = useCallback(() => {\n refetchProject()\n refetchProductTypes()\n refetchAnatomy()\n }, [refetchProject, refetchProductTypes, refetchAnatomy])\n\n //\n // Put everything together\n //\n\n const functions = {\n getFolderType,\n getTaskType,\n getProductType,\n getProductTypeOptions,\n refetch,\n }\n\n const value = useMemo(\n () => ({\n ...emptyProject,\n ...project,\n projectName,\n productTypes: productTypes,\n anatomy,\n defaultProductType,\n isLoading: isLoading || isFetching,\n isSuccess: isSuccess,\n isUninitialized,\n error,\n }),\n [project, projectName, isLoading, error],\n )\n\n return (\n <ProjectContext.Provider value={{ ...value, ...functions }}>{children}</ProjectContext.Provider>\n )\n}\n\nexport const useProjectContext = () => {\n const context = useContext(ProjectContext)\n if (context === undefined) {\n throw new Error('useProjectContext must be used within a ProjectProviderContext')\n }\n return context\n}\n"],"names":["emptyProject","ProjectContext","createContext","ProjectContextProvider","projectName","children","project","isLoading","isFetching","isSuccess","isUninitialized","error","refetchProject","useGetProjectQuery","productTypesData","refetchProductTypes","useGetProductTypesQuery","anatomy","refetchAnatomy","useGetProjectAnatomyQuery","productTypes","defaultProductType","getFolderType","useCallback","name","_a","type","getTaskType","getProductType","productType","t","getEntityTypeIcon","getProductTypeOptions","refetch","functions","value","useMemo","jsx","useProjectContext","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"ProjectContext.cjs.js","sources":["../../../../src/context/ProjectContext.tsx"],"sourcesContent":["import { createContext, useContext, useCallback, useMemo } from 'react'\nimport { useGetProjectQuery, useGetProductTypesQuery, useGetProjectAnatomyQuery } from '@shared/api'\n\nimport type {\n FolderType,\n TaskType,\n ProductTypeListItem,\n DefaultProductType,\n ProjectModel,\n Anatomy,\n} from '@shared/api'\nimport { getEntityTypeIcon } from '@shared/util'\n\nexport type ProjectModelWithProducts = ProjectModel & {\n // Extend project with product types\n productTypes: ProductTypeListItem[]\n}\n\nconst emptyProject: ProjectModelWithProducts = {\n name: '',\n code: '',\n productTypes: [],\n folderTypes: [],\n taskTypes: [],\n tags: [],\n statuses: [],\n createdAt: '',\n updatedAt: '',\n active: true,\n attrib: {},\n data: {},\n config: {},\n library: false,\n linkTypes: [],\n ownAttrib: [],\n}\n\nexport interface ProjectContextValue extends ProjectModelWithProducts {\n projectName: string\n isLoading: boolean\n isSuccess: boolean\n isUninitialized: boolean\n error: any\n defaultProductType?: DefaultProductType\n anatomy: Anatomy\n refetch: () => void\n getProductType: (productType: string) => {\n icon: string\n color: string | undefined\n }\n getFolderType: (name: string) => FolderType | undefined\n getTaskType: (name: string) => TaskType | undefined\n getProductTypeOptions: () => { value: string; label: string; icon?: string; color?: string }[]\n}\n\nconst ProjectContext = createContext<ProjectContextValue | undefined>(undefined)\n\n//\n// ProjectProvider\n//\n\ninterface ProjectProviderProps {\n projectName: string\n children: React.ReactNode\n}\n\nexport const ProjectContextProvider: React.FC<ProjectProviderProps> = ({\n projectName,\n children,\n}: ProjectProviderProps) => {\n // PROJECT\n const {\n data: project,\n isLoading,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch: refetchProject,\n } = useGetProjectQuery({ projectName }, { skip: !projectName })\n // PRODUCT TYPES\n const { data: productTypesData, refetch: refetchProductTypes } = useGetProductTypesQuery(\n { projectName },\n { skip: !projectName },\n )\n // ANATOMY\n const { data: anatomy = {}, refetch: refetchAnatomy } = useGetProjectAnatomyQuery(\n { projectName },\n { skip: !projectName },\n )\n\n // Shorthands to access project data and type casting\n // (we're referencing nested objects. no need to use useMemo for these)\n\n const productTypes = productTypesData?.productTypes || []\n const defaultProductType = productTypesData?.default\n //\n // Magic functions\n //\n\n // Folder types\n\n const getFolderType = useCallback(\n (name: string): FolderType | undefined => {\n return project?.folderTypes?.find((type: FolderType) => type.name === name)\n },\n [project],\n )\n\n // Task types\n\n const getTaskType = useCallback(\n (name: string): TaskType | undefined => {\n return project?.taskTypes?.find((type: TaskType) => type.name === name)\n },\n [project],\n )\n\n // Product types\n\n const getProductType = useCallback(\n (productType: string) => {\n const type = productTypes.find((t) => t.name === productType) || defaultProductType\n return {\n icon: type?.icon || getEntityTypeIcon('product'),\n color: type?.color,\n }\n },\n [productTypes, defaultProductType],\n )\n\n const getProductTypeOptions = useCallback((): {\n value: string\n label: string\n icon: string\n }[] => {\n // Return a list of product type ready to be used in a select input\n const result = productTypes.map((type) => ({\n value: type.name,\n label: type.name,\n icon: type.icon || defaultProductType?.icon || '',\n color: type.color || defaultProductType?.color || '',\n }))\n return result\n }, [productTypes])\n\n const refetch = useCallback(() => {\n refetchProject()\n refetchProductTypes()\n refetchAnatomy()\n }, [refetchProject, refetchProductTypes, refetchAnatomy])\n\n //\n // Put everything together\n //\n\n const functions = {\n getFolderType,\n getTaskType,\n getProductType,\n getProductTypeOptions,\n refetch,\n }\n\n return (\n <ProjectContext.Provider\n value={{\n ...emptyProject,\n ...project,\n projectName,\n productTypes: productTypes,\n anatomy,\n defaultProductType,\n isLoading: isLoading || isFetching,\n isSuccess: isSuccess,\n isUninitialized,\n error,\n ...functions,\n }}\n >\n {children}\n </ProjectContext.Provider>\n )\n}\n\nexport const useProjectContext = () => {\n const context = useContext(ProjectContext)\n if (context === undefined) {\n throw new Error('useProjectContext must be used within a ProjectProviderContext')\n }\n return context\n}\n"],"names":["emptyProject","ProjectContext","createContext","ProjectContextProvider","projectName","children","project","isLoading","isFetching","isSuccess","isUninitialized","error","refetchProject","useGetProjectQuery","productTypesData","refetchProductTypes","useGetProductTypesQuery","anatomy","refetchAnatomy","useGetProjectAnatomyQuery","productTypes","defaultProductType","getFolderType","useCallback","name","_a","type","getTaskType","getProductType","productType","t","getEntityTypeIcon","getProductTypeOptions","refetch","functions","jsx","useProjectContext","context","useContext"],"mappings":"y7IAkBA,MAAMA,EAAyC,CAC7C,KAAM,GACN,KAAM,GACN,aAAc,CAAC,EACf,YAAa,CAAC,EACd,UAAW,CAAC,EACZ,KAAM,CAAC,EACP,SAAU,CAAC,EACX,UAAW,GACX,UAAW,GACX,OAAQ,GACR,OAAQ,CAAC,EACT,KAAM,CAAC,EACP,OAAQ,CAAC,EACT,QAAS,GACT,UAAW,CAAC,EACZ,UAAW,CAAA,CACb,EAoBMC,EAAiBC,gBAA+C,MAAS,EAWlEC,EAAyD,CAAC,CACrE,YAAAC,EACA,SAAAC,CACF,IAA4B,CAEpB,KAAA,CACJ,KAAMC,EACN,UAAAC,EACA,WAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,QAASC,CAAA,EACPC,EAAAA,mBAAmB,CAAE,YAAAT,CAAA,EAAe,CAAE,KAAM,CAACA,EAAa,EAExD,CAAE,KAAMU,EAAkB,QAASC,CAAwB,EAAAC,EAAA,wBAC/D,CAAE,YAAAZ,CAAY,EACd,CAAE,KAAM,CAACA,CAAY,CACvB,EAEM,CAAE,KAAMa,EAAU,CAAI,EAAA,QAASC,GAAmBC,EAAA,0BACtD,CAAE,YAAAf,CAAY,EACd,CAAE,KAAM,CAACA,CAAY,CACvB,EAKMgB,GAAeN,GAAA,YAAAA,EAAkB,eAAgB,CAAC,EAClDO,EAAqBP,GAAA,YAAAA,EAAkB,QAOvCQ,EAAgBC,EAAA,YACnBC,GAAyC,OACxC,OAAOC,EAAAnB,GAAA,YAAAA,EAAS,cAAT,YAAAmB,EAAsB,KAAMC,GAAqBA,EAAK,OAASF,EACxE,EACA,CAAClB,CAAO,CACV,EAIMqB,EAAcJ,EAAA,YACjBC,GAAuC,OACtC,OAAOC,EAAAnB,GAAA,YAAAA,EAAS,YAAT,YAAAmB,EAAoB,KAAMC,GAAmBA,EAAK,OAASF,EACpE,EACA,CAAClB,CAAO,CACV,EAIMsB,EAAiBL,EAAA,YACpBM,GAAwB,CACjB,MAAAH,EAAON,EAAa,KAAMU,GAAMA,EAAE,OAASD,CAAW,GAAKR,EAC1D,MAAA,CACL,MAAMK,GAAA,YAAAA,EAAM,OAAQK,EAAAA,kBAAkB,SAAS,EAC/C,MAAOL,GAAA,YAAAA,EAAM,KACf,CACF,EACA,CAACN,EAAcC,CAAkB,CACnC,EAEMW,EAAwBT,EAAAA,YAAY,IAMzBH,EAAa,IAAKM,IAAU,CACzC,MAAOA,EAAK,KACZ,MAAOA,EAAK,KACZ,KAAMA,EAAK,OAAQL,GAAA,YAAAA,EAAoB,OAAQ,GAC/C,MAAOK,EAAK,QAASL,GAAA,YAAAA,EAAoB,QAAS,EAAA,EAClD,EAED,CAACD,CAAY,CAAC,EAEXa,EAAUV,EAAAA,YAAY,IAAM,CACjBX,EAAA,EACKG,EAAA,EACLG,EAAA,CACd,EAAA,CAACN,EAAgBG,EAAqBG,CAAc,CAAC,EAMlDgB,EAAY,CAChB,cAAAZ,EACA,YAAAK,EACA,eAAAC,EACA,sBAAAI,EACA,QAAAC,CACF,EAGE,OAAAE,EAAA,kBAAA,IAAClC,EAAe,SAAf,CACC,MAAO,CACL,GAAGD,EACH,GAAGM,EACH,YAAAF,EACA,aAAAgB,EACA,QAAAH,EACA,mBAAAI,EACA,UAAWd,GAAaC,EACxB,UAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,GAAGuB,CACL,EAEC,SAAA7B,CAAA,CACH,CAEJ,EAEa+B,EAAoB,IAAM,CAC/B,MAAAC,EAAUC,aAAWrC,CAAc,EACzC,GAAIoC,IAAY,OACR,MAAA,IAAI,MAAM,gEAAgE,EAE3E,OAAAA,CACT"}
@@ -1,5 +1,5 @@
1
- import { j as E } from "../../../_virtual/jsx-runtime.es.js";
2
- import { createContext as G, useCallback as s, useMemo as Q, useContext as j } from "react";
1
+ import { j as w } from "../../../_virtual/jsx-runtime.es.js";
2
+ import { createContext as j, useCallback as s, useContext as E } from "react";
3
3
  import "../api/base/client.es.js";
4
4
  import "../api/generated/graphql.es.js";
5
5
  import "../api/generated/graphqlLinks.es.js";
@@ -50,6 +50,8 @@ import "../api/queries/attributes/getAttributes.es.js";
50
50
  import "../api/queries/attributes/updateAttributes.es.js";
51
51
  import "../api/queries/authentication/getAuthentication.es.js";
52
52
  import "../api/queries/cloud/cloud.es.js";
53
+ import "../api/queries/config/getConfig.es.js";
54
+ import "../api/queries/config/updateConfig.es.js";
53
55
  import "../api/queries/entities/getEntity.es.js";
54
56
  import "../api/queries/entities/getEntityPanel.es.js";
55
57
  import "../api/queries/entities/updateEntity.es.js";
@@ -68,7 +70,7 @@ import "../api/queries/overview/updateOverview.es.js";
68
70
  import "../api/queries/versions/getVersionsProducts.es.js";
69
71
  import "../api/queries/permissions/getPermissions.es.js";
70
72
  import "../api/queries/products/createProduct.es.js";
71
- import { useGetProjectQuery as F, useGetProductTypesQuery as L, useGetProjectAnatomyQuery as z } from "../api/queries/project/getProject.es.js";
73
+ import { useGetProjectQuery as G, useGetProductTypesQuery as Q, useGetProjectAnatomyQuery as F } from "../api/queries/project/getProject.es.js";
72
74
  import "../api/queries/project/updateProject.es.js";
73
75
  import "../api/queries/review/getReview.es.js";
74
76
  import "../api/queries/review/updateReview.es.js";
@@ -85,10 +87,10 @@ import "../api/queries/watchers/getWatchers.es.js";
85
87
  import "../api/queries/uris/getUris.es.js";
86
88
  import "lodash";
87
89
  import "react-toastify";
88
- import { getEntityTypeIcon as I } from "../util/getEntityTypeIcon.es.js";
90
+ import { getEntityTypeIcon as L } from "../util/getEntityTypeIcon.es.js";
89
91
  import "uuid";
90
92
  import "../util/pubsub.es.js";
91
- const M = {
93
+ const z = {
92
94
  name: "",
93
95
  code: "",
94
96
  productTypes: [],
@@ -105,22 +107,22 @@ const M = {
105
107
  library: !1,
106
108
  linkTypes: [],
107
109
  ownAttrib: []
108
- }, f = G(void 0), ho = ({
110
+ }, d = j(void 0), ho = ({
109
111
  projectName: o,
110
- children: P
112
+ children: f
111
113
  }) => {
112
114
  const {
113
115
  data: r,
114
- isLoading: c,
115
- isFetching: x,
116
- isSuccess: y,
117
- isUninitialized: g,
118
- error: u,
119
- refetch: a
120
- } = F({ projectName: o }, { skip: !o }), { data: m, refetch: d } = L(
116
+ isLoading: l,
117
+ isFetching: P,
118
+ isSuccess: x,
119
+ isUninitialized: y,
120
+ error: g,
121
+ refetch: c
122
+ } = G({ projectName: o }, { skip: !o }), { data: m, refetch: u } = Q(
121
123
  { projectName: o },
122
124
  { skip: !o }
123
- ), { data: h = {}, refetch: l } = z(
125
+ ), { data: h = {}, refetch: a } = F(
124
126
  { projectName: o },
125
127
  { skip: !o }
126
128
  ), e = (m == null ? void 0 : m.productTypes) || [], i = m == null ? void 0 : m.default, T = s(
@@ -129,17 +131,17 @@ const M = {
129
131
  return (t = r == null ? void 0 : r.folderTypes) == null ? void 0 : t.find((n) => n.name === p);
130
132
  },
131
133
  [r]
132
- ), v = s(
134
+ ), k = s(
133
135
  (p) => {
134
136
  var t;
135
137
  return (t = r == null ? void 0 : r.taskTypes) == null ? void 0 : t.find((n) => n.name === p);
136
138
  },
137
139
  [r]
138
- ), k = s(
140
+ ), v = s(
139
141
  (p) => {
140
142
  const t = e.find((n) => n.name === p) || i;
141
143
  return {
142
- icon: (t == null ? void 0 : t.icon) || I("product"),
144
+ icon: (t == null ? void 0 : t.icon) || L("product"),
143
145
  color: t == null ? void 0 : t.color
144
146
  };
145
147
  },
@@ -150,31 +152,35 @@ const M = {
150
152
  icon: t.icon || (i == null ? void 0 : i.icon) || "",
151
153
  color: t.color || (i == null ? void 0 : i.color) || ""
152
154
  })), [e]), b = s(() => {
153
- a(), d(), l();
154
- }, [a, d, l]), A = {
155
+ c(), u(), a();
156
+ }, [c, u, a]), A = {
155
157
  getFolderType: T,
156
- getTaskType: v,
157
- getProductType: k,
158
+ getTaskType: k,
159
+ getProductType: v,
158
160
  getProductTypeOptions: C,
159
161
  refetch: b
160
- }, w = Q(
161
- () => ({
162
- ...M,
163
- ...r,
164
- projectName: o,
165
- productTypes: e,
166
- anatomy: h,
167
- defaultProductType: i,
168
- isLoading: c || x,
169
- isSuccess: y,
170
- isUninitialized: g,
171
- error: u
172
- }),
173
- [r, o, c, u]
162
+ };
163
+ return /* @__PURE__ */ w.jsx(
164
+ d.Provider,
165
+ {
166
+ value: {
167
+ ...z,
168
+ ...r,
169
+ projectName: o,
170
+ productTypes: e,
171
+ anatomy: h,
172
+ defaultProductType: i,
173
+ isLoading: l || P,
174
+ isSuccess: x,
175
+ isUninitialized: y,
176
+ error: g,
177
+ ...A
178
+ },
179
+ children: f
180
+ }
174
181
  );
175
- return /* @__PURE__ */ E.jsx(f.Provider, { value: { ...w, ...A }, children: P });
176
182
  }, To = () => {
177
- const o = j(f);
183
+ const o = E(d);
178
184
  if (o === void 0)
179
185
  throw new Error("useProjectContext must be used within a ProjectProviderContext");
180
186
  return o;
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectContext.es.js","sources":["../../../../src/context/ProjectContext.tsx"],"sourcesContent":["import { createContext, useContext, useCallback, useMemo } from 'react'\nimport { useGetProjectQuery, useGetProductTypesQuery, useGetProjectAnatomyQuery } from '@shared/api'\n\nimport type {\n FolderType,\n TaskType,\n ProductTypeListItem,\n DefaultProductType,\n ProjectModel,\n Anatomy,\n} from '@shared/api'\nimport { getEntityTypeIcon } from '@shared/util'\n\nexport type ProjectModelWithProducts = ProjectModel & {\n // Extend project with product types\n productTypes: ProductTypeListItem[]\n}\n\nconst emptyProject: ProjectModelWithProducts = {\n name: '',\n code: '',\n productTypes: [],\n folderTypes: [],\n taskTypes: [],\n tags: [],\n statuses: [],\n createdAt: '',\n updatedAt: '',\n active: true,\n attrib: {},\n data: {},\n config: {},\n library: false,\n linkTypes: [],\n ownAttrib: [],\n}\n\nexport interface ProjectContextValue extends ProjectModelWithProducts {\n projectName: string\n isLoading: boolean\n isSuccess: boolean\n isUninitialized: boolean\n error: any\n defaultProductType?: DefaultProductType\n anatomy: Anatomy\n refetch: () => void\n getProductType: (productType: string) => {\n icon: string\n color: string | undefined\n }\n getFolderType: (name: string) => FolderType | undefined\n getTaskType: (name: string) => TaskType | undefined\n getProductTypeOptions: () => { value: string; label: string; icon?: string; color?: string }[]\n}\n\nconst ProjectContext = createContext<ProjectContextValue | undefined>(undefined)\n\n//\n// ProjectProvider\n//\n\ninterface ProjectProviderProps {\n projectName: string\n children: React.ReactNode\n}\n\nexport const ProjectContextProvider: React.FC<ProjectProviderProps> = ({\n projectName,\n children,\n}: ProjectProviderProps) => {\n // PROJECT\n const {\n data: project,\n isLoading,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch: refetchProject,\n } = useGetProjectQuery({ projectName }, { skip: !projectName })\n // PRODUCT TYPES\n const { data: productTypesData, refetch: refetchProductTypes } = useGetProductTypesQuery(\n { projectName },\n { skip: !projectName },\n )\n // ANATOMY\n const { data: anatomy = {}, refetch: refetchAnatomy } = useGetProjectAnatomyQuery(\n { projectName },\n { skip: !projectName },\n )\n\n // Shorthands to access project data and type casting\n // (we're referencing nested objects. no need to use useMemo for these)\n\n const productTypes = productTypesData?.productTypes || []\n const defaultProductType = productTypesData?.default\n //\n // Magic functions\n //\n\n // Folder types\n\n const getFolderType = useCallback(\n (name: string): FolderType | undefined => {\n return project?.folderTypes?.find((type: FolderType) => type.name === name)\n },\n [project],\n )\n\n // Task types\n\n const getTaskType = useCallback(\n (name: string): TaskType | undefined => {\n return project?.taskTypes?.find((type: TaskType) => type.name === name)\n },\n [project],\n )\n\n // Product types\n\n const getProductType = useCallback(\n (productType: string) => {\n const type = productTypes.find((t) => t.name === productType) || defaultProductType\n return {\n icon: type?.icon || getEntityTypeIcon('product'),\n color: type?.color,\n }\n },\n [productTypes, defaultProductType],\n )\n\n const getProductTypeOptions = useCallback((): {\n value: string\n label: string\n icon: string\n }[] => {\n // Return a list of product type ready to be used in a select input\n const result = productTypes.map((type) => ({\n value: type.name,\n label: type.name,\n icon: type.icon || defaultProductType?.icon || '',\n color: type.color || defaultProductType?.color || '',\n }))\n return result\n }, [productTypes])\n\n const refetch = useCallback(() => {\n refetchProject()\n refetchProductTypes()\n refetchAnatomy()\n }, [refetchProject, refetchProductTypes, refetchAnatomy])\n\n //\n // Put everything together\n //\n\n const functions = {\n getFolderType,\n getTaskType,\n getProductType,\n getProductTypeOptions,\n refetch,\n }\n\n const value = useMemo(\n () => ({\n ...emptyProject,\n ...project,\n projectName,\n productTypes: productTypes,\n anatomy,\n defaultProductType,\n isLoading: isLoading || isFetching,\n isSuccess: isSuccess,\n isUninitialized,\n error,\n }),\n [project, projectName, isLoading, error],\n )\n\n return (\n <ProjectContext.Provider value={{ ...value, ...functions }}>{children}</ProjectContext.Provider>\n )\n}\n\nexport const useProjectContext = () => {\n const context = useContext(ProjectContext)\n if (context === undefined) {\n throw new Error('useProjectContext must be used within a ProjectProviderContext')\n }\n return context\n}\n"],"names":["emptyProject","ProjectContext","createContext","ProjectContextProvider","projectName","children","project","isLoading","isFetching","isSuccess","isUninitialized","error","refetchProject","useGetProjectQuery","productTypesData","refetchProductTypes","useGetProductTypesQuery","anatomy","refetchAnatomy","useGetProjectAnatomyQuery","productTypes","defaultProductType","getFolderType","useCallback","name","_a","type","getTaskType","getProductType","productType","t","getEntityTypeIcon","getProductTypeOptions","refetch","functions","value","useMemo","jsx","useProjectContext","context","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"ProjectContext.es.js","sources":["../../../../src/context/ProjectContext.tsx"],"sourcesContent":["import { createContext, useContext, useCallback, useMemo } from 'react'\nimport { useGetProjectQuery, useGetProductTypesQuery, useGetProjectAnatomyQuery } from '@shared/api'\n\nimport type {\n FolderType,\n TaskType,\n ProductTypeListItem,\n DefaultProductType,\n ProjectModel,\n Anatomy,\n} from '@shared/api'\nimport { getEntityTypeIcon } from '@shared/util'\n\nexport type ProjectModelWithProducts = ProjectModel & {\n // Extend project with product types\n productTypes: ProductTypeListItem[]\n}\n\nconst emptyProject: ProjectModelWithProducts = {\n name: '',\n code: '',\n productTypes: [],\n folderTypes: [],\n taskTypes: [],\n tags: [],\n statuses: [],\n createdAt: '',\n updatedAt: '',\n active: true,\n attrib: {},\n data: {},\n config: {},\n library: false,\n linkTypes: [],\n ownAttrib: [],\n}\n\nexport interface ProjectContextValue extends ProjectModelWithProducts {\n projectName: string\n isLoading: boolean\n isSuccess: boolean\n isUninitialized: boolean\n error: any\n defaultProductType?: DefaultProductType\n anatomy: Anatomy\n refetch: () => void\n getProductType: (productType: string) => {\n icon: string\n color: string | undefined\n }\n getFolderType: (name: string) => FolderType | undefined\n getTaskType: (name: string) => TaskType | undefined\n getProductTypeOptions: () => { value: string; label: string; icon?: string; color?: string }[]\n}\n\nconst ProjectContext = createContext<ProjectContextValue | undefined>(undefined)\n\n//\n// ProjectProvider\n//\n\ninterface ProjectProviderProps {\n projectName: string\n children: React.ReactNode\n}\n\nexport const ProjectContextProvider: React.FC<ProjectProviderProps> = ({\n projectName,\n children,\n}: ProjectProviderProps) => {\n // PROJECT\n const {\n data: project,\n isLoading,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch: refetchProject,\n } = useGetProjectQuery({ projectName }, { skip: !projectName })\n // PRODUCT TYPES\n const { data: productTypesData, refetch: refetchProductTypes } = useGetProductTypesQuery(\n { projectName },\n { skip: !projectName },\n )\n // ANATOMY\n const { data: anatomy = {}, refetch: refetchAnatomy } = useGetProjectAnatomyQuery(\n { projectName },\n { skip: !projectName },\n )\n\n // Shorthands to access project data and type casting\n // (we're referencing nested objects. no need to use useMemo for these)\n\n const productTypes = productTypesData?.productTypes || []\n const defaultProductType = productTypesData?.default\n //\n // Magic functions\n //\n\n // Folder types\n\n const getFolderType = useCallback(\n (name: string): FolderType | undefined => {\n return project?.folderTypes?.find((type: FolderType) => type.name === name)\n },\n [project],\n )\n\n // Task types\n\n const getTaskType = useCallback(\n (name: string): TaskType | undefined => {\n return project?.taskTypes?.find((type: TaskType) => type.name === name)\n },\n [project],\n )\n\n // Product types\n\n const getProductType = useCallback(\n (productType: string) => {\n const type = productTypes.find((t) => t.name === productType) || defaultProductType\n return {\n icon: type?.icon || getEntityTypeIcon('product'),\n color: type?.color,\n }\n },\n [productTypes, defaultProductType],\n )\n\n const getProductTypeOptions = useCallback((): {\n value: string\n label: string\n icon: string\n }[] => {\n // Return a list of product type ready to be used in a select input\n const result = productTypes.map((type) => ({\n value: type.name,\n label: type.name,\n icon: type.icon || defaultProductType?.icon || '',\n color: type.color || defaultProductType?.color || '',\n }))\n return result\n }, [productTypes])\n\n const refetch = useCallback(() => {\n refetchProject()\n refetchProductTypes()\n refetchAnatomy()\n }, [refetchProject, refetchProductTypes, refetchAnatomy])\n\n //\n // Put everything together\n //\n\n const functions = {\n getFolderType,\n getTaskType,\n getProductType,\n getProductTypeOptions,\n refetch,\n }\n\n return (\n <ProjectContext.Provider\n value={{\n ...emptyProject,\n ...project,\n projectName,\n productTypes: productTypes,\n anatomy,\n defaultProductType,\n isLoading: isLoading || isFetching,\n isSuccess: isSuccess,\n isUninitialized,\n error,\n ...functions,\n }}\n >\n {children}\n </ProjectContext.Provider>\n )\n}\n\nexport const useProjectContext = () => {\n const context = useContext(ProjectContext)\n if (context === undefined) {\n throw new Error('useProjectContext must be used within a ProjectProviderContext')\n }\n return context\n}\n"],"names":["emptyProject","ProjectContext","createContext","ProjectContextProvider","projectName","children","project","isLoading","isFetching","isSuccess","isUninitialized","error","refetchProject","useGetProjectQuery","productTypesData","refetchProductTypes","useGetProductTypesQuery","anatomy","refetchAnatomy","useGetProjectAnatomyQuery","productTypes","defaultProductType","getFolderType","useCallback","name","_a","type","getTaskType","getProductType","productType","t","getEntityTypeIcon","getProductTypeOptions","refetch","functions","jsx","useProjectContext","context","useContext"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");const p=require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("lodash");require("react-toastify");require("./DetailsPanelContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./PowerpackContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./UriContext.cjs.js");require("react-redux");require("custom-protocol-check");const v=require("../hooks/useQueryArgumentChangeLoading.cjs.js");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const C=r.createContext(void 0),I=({projectName:i,children:j})=>{const{data:{folders:o=[]}={},isLoading:m,isFetching:n,isSuccess:d,isUninitialized:c,error:a,refetch:l}=p.useGetFolderListQuery({projectName:i,attrib:!0}),g=v.useQueryArgumentChangeLoading({projectName:i},n||m),s=r.useMemo(()=>{const e=new Map;for(const u of o)e.set(u.id,u);return e},[o]),x=r.useMemo(()=>e=>s.get(e),[s]),P=r.useMemo(()=>e=>{const u=[],F=new Set;let q=e;for(;q&&!F.has(q);){F.add(q);const t=s.get(q);if(!(t!=null&&t.parentId))break;u.push(t.parentId),q=t.parentId}return u},[s]),f=r.useMemo(()=>({folders:o,getFolderById:x,getParentFolderIds:P,isLoading:g,isFetching:n,isSuccess:d,isUninitialized:c,error:a,refetch:l}),[o,x,P,g,n,d,c,a,l]);return h.jsxRuntimeExports.jsx(C.Provider,{value:f,children:j})},M=()=>{const i=r.useContext(C);if(i===void 0)throw new Error("useProjectFoldersContext must be used within a ProjectFoldersContextProvider");return i};exports.ProjectFoldersContextProvider=I;exports.useProjectFoldersContext=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");const p=require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("lodash");require("react-toastify");require("./DetailsPanelContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./PowerpackContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./UriContext.cjs.js");require("react-redux");require("custom-protocol-check");const v=require("../hooks/useQueryArgumentChangeLoading.cjs.js");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const C=r.createContext(void 0),I=({projectName:i,children:j})=>{const{data:{folders:o=[]}={},isLoading:m,isFetching:n,isSuccess:d,isUninitialized:c,error:a,refetch:l}=p.useGetFolderListQuery({projectName:i,attrib:!0}),g=v.useQueryArgumentChangeLoading({projectName:i},n||m),s=r.useMemo(()=>{const e=new Map;for(const u of o)e.set(u.id,u);return e},[o]),x=r.useMemo(()=>e=>s.get(e),[s]),P=r.useMemo(()=>e=>{const u=[],F=new Set;let q=e;for(;q&&!F.has(q);){F.add(q);const t=s.get(q);if(!(t!=null&&t.parentId))break;u.push(t.parentId),q=t.parentId}return u},[s]),f=r.useMemo(()=>({folders:o,getFolderById:x,getParentFolderIds:P,isLoading:g,isFetching:n,isSuccess:d,isUninitialized:c,error:a,refetch:l}),[o,x,P,g,n,d,c,a,l]);return h.jsxRuntimeExports.jsx(C.Provider,{value:f,children:j})},M=()=>{const i=r.useContext(C);if(i===void 0)throw new Error("useProjectFoldersContext must be used within a ProjectFoldersContextProvider");return i};exports.ProjectFoldersContextProvider=I;exports.useProjectFoldersContext=M;
2
2
  //# sourceMappingURL=ProjectFoldersContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectFoldersContext.cjs.js","sources":["../../../../src/context/ProjectFoldersContext.tsx"],"sourcesContent":["import { createContext, useContext, useMemo } from 'react'\nimport { useGetFolderListQuery } from '@shared/api'\n\nimport type { FolderListItem } from '@shared/api'\nimport { useQueryArgumentChangeLoading } from '@shared/hooks'\n\nexport interface ProjectFoldersContextValue {\n folders: FolderListItem[]\n getFolderById: (id: string) => FolderListItem | undefined\n getParentFolderIds: (folderId: string) => string[]\n isLoading: boolean\n isFetching: boolean\n isSuccess: boolean\n isUninitialized: boolean\n error: any\n refetch: () => void\n}\n\nconst ProjectFoldersContext = createContext<ProjectFoldersContextValue | undefined>(undefined)\n\n//\n// ProjectFoldersProvider\n//\n\ninterface ProjectFoldersProviderProps {\n projectName: string\n children: React.ReactNode\n}\n\nexport const ProjectFoldersContextProvider: React.FC<ProjectFoldersProviderProps> = ({\n projectName,\n children,\n}: ProjectFoldersProviderProps) => {\n // FOLDERS LIST\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch,\n } = useGetFolderListQuery({ projectName, attrib: true })\n\n // only show loading when args change or on first load\n const isLoadingFolders = useQueryArgumentChangeLoading({ projectName }, isFetching || isLoading)\n\n // Create folder map for efficient O(1) lookups\n const folderMap = useMemo(() => {\n const map = new Map<string, FolderListItem>()\n for (const folder of folders) {\n map.set(folder.id, folder)\n }\n return map\n }, [folders])\n\n // Function to get folder by ID\n const getFolderById = useMemo(() => (id: string) => folderMap.get(id), [folderMap])\n\n // Function to get all parent folder IDs by crawling up the hierarchy\n const getParentFolderIds = useMemo(\n () =>\n (folderId: string): string[] => {\n const parentIds: string[] = []\n const visited = new Set<string>()\n let currentId: string | undefined = folderId\n\n while (currentId && !visited.has(currentId)) {\n visited.add(currentId)\n const currentFolder = folderMap.get(currentId)\n if (!currentFolder?.parentId) break\n parentIds.push(currentFolder.parentId)\n currentId = currentFolder.parentId\n }\n\n return parentIds\n },\n [folderMap],\n )\n\n const value = useMemo(\n () => ({\n folders: folders,\n getFolderById,\n getParentFolderIds,\n isLoading: isLoadingFolders, // first time and when args change\n isFetching, // any background fetching\n isSuccess,\n isUninitialized,\n error,\n refetch,\n }),\n [\n folders,\n getFolderById,\n getParentFolderIds,\n isLoadingFolders,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch,\n ],\n )\n\n return <ProjectFoldersContext.Provider value={value}>{children}</ProjectFoldersContext.Provider>\n}\n\nexport const useProjectFoldersContext = () => {\n const context = useContext(ProjectFoldersContext)\n if (context === undefined) {\n throw new Error('useProjectFoldersContext must be used within a ProjectFoldersContextProvider')\n }\n return context\n}\n"],"names":["ProjectFoldersContext","createContext","ProjectFoldersContextProvider","projectName","children","folders","isLoading","isFetching","isSuccess","isUninitialized","error","refetch","useGetFolderListQuery","isLoadingFolders","useQueryArgumentChangeLoading","folderMap","useMemo","map","folder","getFolderById","id","getParentFolderIds","folderId","parentIds","visited","currentId","currentFolder","value","jsx","useProjectFoldersContext","context","useContext"],"mappings":"+kKAkBA,MAAMA,EAAwBC,gBAAsD,MAAS,EAWhFC,EAAuE,CAAC,CACnF,YAAAC,EACA,SAAAC,CACF,IAAmC,CAE3B,KAAA,CACJ,KAAM,CAAE,QAAAC,EAAU,CAAC,CAAA,EAAM,CAAC,EAC1B,UAAAC,EACA,WAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,QAAAC,GACEC,EAAsB,sBAAA,CAAE,YAAAT,EAAa,OAAQ,GAAM,EAGjDU,EAAmBC,EAAAA,8BAA8B,CAAE,YAAAX,CAAY,EAAGI,GAAcD,CAAS,EAGzFS,EAAYC,EAAAA,QAAQ,IAAM,CACxB,MAAAC,MAAU,IAChB,UAAWC,KAAUb,EACfY,EAAA,IAAIC,EAAO,GAAIA,CAAM,EAEpB,OAAAD,CAAA,EACN,CAACZ,CAAO,CAAC,EAGNc,EAAgBH,UAAQ,IAAOI,GAAeL,EAAU,IAAIK,CAAE,EAAG,CAACL,CAAS,CAAC,EAG5EM,EAAqBL,EAAA,QACzB,IACGM,GAA+B,CAC9B,MAAMC,EAAsB,CAAC,EACvBC,MAAc,IACpB,IAAIC,EAAgCH,EAEpC,KAAOG,GAAa,CAACD,EAAQ,IAAIC,CAAS,GAAG,CAC3CD,EAAQ,IAAIC,CAAS,EACf,MAAAC,EAAgBX,EAAU,IAAIU,CAAS,EACzC,GAAA,EAACC,GAAA,MAAAA,EAAe,UAAU,MACpBH,EAAA,KAAKG,EAAc,QAAQ,EACrCD,EAAYC,EAAc,QAAA,CAGrB,OAAAH,CACT,EACF,CAACR,CAAS,CACZ,EAEMY,EAAQX,EAAA,QACZ,KAAO,CACL,QAAAX,EACA,cAAAc,EACA,mBAAAE,EACA,UAAWR,EACX,WAAAN,EACA,UAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,QAAAC,CAAA,GAEF,CACEN,EACAc,EACAE,EACAR,EACAN,EACAC,EACAC,EACAC,EACAC,CAAA,CAEJ,EAEA,OAAQiB,EAAAA,kBAAAA,IAAA5B,EAAsB,SAAtB,CAA+B,MAAA2B,EAAe,SAAAvB,CAAS,CAAA,CACjE,EAEayB,EAA2B,IAAM,CACtC,MAAAC,EAAUC,aAAW/B,CAAqB,EAChD,GAAI8B,IAAY,OACR,MAAA,IAAI,MAAM,8EAA8E,EAEzF,OAAAA,CACT"}
1
+ {"version":3,"file":"ProjectFoldersContext.cjs.js","sources":["../../../../src/context/ProjectFoldersContext.tsx"],"sourcesContent":["import { createContext, useContext, useMemo } from 'react'\nimport { useGetFolderListQuery } from '@shared/api'\n\nimport type { FolderListItem } from '@shared/api'\nimport { useQueryArgumentChangeLoading } from '@shared/hooks'\n\nexport interface ProjectFoldersContextValue {\n folders: FolderListItem[]\n getFolderById: (id: string) => FolderListItem | undefined\n getParentFolderIds: (folderId: string) => string[]\n isLoading: boolean\n isFetching: boolean\n isSuccess: boolean\n isUninitialized: boolean\n error: any\n refetch: () => void\n}\n\nconst ProjectFoldersContext = createContext<ProjectFoldersContextValue | undefined>(undefined)\n\n//\n// ProjectFoldersProvider\n//\n\ninterface ProjectFoldersProviderProps {\n projectName: string\n children: React.ReactNode\n}\n\nexport const ProjectFoldersContextProvider: React.FC<ProjectFoldersProviderProps> = ({\n projectName,\n children,\n}: ProjectFoldersProviderProps) => {\n // FOLDERS LIST\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch,\n } = useGetFolderListQuery({ projectName, attrib: true })\n\n // only show loading when args change or on first load\n const isLoadingFolders = useQueryArgumentChangeLoading({ projectName }, isFetching || isLoading)\n\n // Create folder map for efficient O(1) lookups\n const folderMap = useMemo(() => {\n const map = new Map<string, FolderListItem>()\n for (const folder of folders) {\n map.set(folder.id, folder)\n }\n return map\n }, [folders])\n\n // Function to get folder by ID\n const getFolderById = useMemo(() => (id: string) => folderMap.get(id), [folderMap])\n\n // Function to get all parent folder IDs by crawling up the hierarchy\n const getParentFolderIds = useMemo(\n () =>\n (folderId: string): string[] => {\n const parentIds: string[] = []\n const visited = new Set<string>()\n let currentId: string | undefined = folderId\n\n while (currentId && !visited.has(currentId)) {\n visited.add(currentId)\n const currentFolder = folderMap.get(currentId)\n if (!currentFolder?.parentId) break\n parentIds.push(currentFolder.parentId)\n currentId = currentFolder.parentId\n }\n\n return parentIds\n },\n [folderMap],\n )\n\n const value = useMemo(\n () => ({\n folders: folders,\n getFolderById,\n getParentFolderIds,\n isLoading: isLoadingFolders, // first time and when args change\n isFetching, // any background fetching\n isSuccess,\n isUninitialized,\n error,\n refetch,\n }),\n [\n folders,\n getFolderById,\n getParentFolderIds,\n isLoadingFolders,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch,\n ],\n )\n\n return <ProjectFoldersContext.Provider value={value}>{children}</ProjectFoldersContext.Provider>\n}\n\nexport const useProjectFoldersContext = () => {\n const context = useContext(ProjectFoldersContext)\n if (context === undefined) {\n throw new Error('useProjectFoldersContext must be used within a ProjectFoldersContextProvider')\n }\n return context\n}\n"],"names":["ProjectFoldersContext","createContext","ProjectFoldersContextProvider","projectName","children","folders","isLoading","isFetching","isSuccess","isUninitialized","error","refetch","useGetFolderListQuery","isLoadingFolders","useQueryArgumentChangeLoading","folderMap","useMemo","map","folder","getFolderById","id","getParentFolderIds","folderId","parentIds","visited","currentId","currentFolder","value","jsx","useProjectFoldersContext","context","useContext"],"mappings":"srKAkBA,MAAMA,EAAwBC,gBAAsD,MAAS,EAWhFC,EAAuE,CAAC,CACnF,YAAAC,EACA,SAAAC,CACF,IAAmC,CAE3B,KAAA,CACJ,KAAM,CAAE,QAAAC,EAAU,CAAC,CAAA,EAAM,CAAC,EAC1B,UAAAC,EACA,WAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,QAAAC,GACEC,EAAsB,sBAAA,CAAE,YAAAT,EAAa,OAAQ,GAAM,EAGjDU,EAAmBC,EAAAA,8BAA8B,CAAE,YAAAX,CAAY,EAAGI,GAAcD,CAAS,EAGzFS,EAAYC,EAAAA,QAAQ,IAAM,CACxB,MAAAC,MAAU,IAChB,UAAWC,KAAUb,EACfY,EAAA,IAAIC,EAAO,GAAIA,CAAM,EAEpB,OAAAD,CAAA,EACN,CAACZ,CAAO,CAAC,EAGNc,EAAgBH,UAAQ,IAAOI,GAAeL,EAAU,IAAIK,CAAE,EAAG,CAACL,CAAS,CAAC,EAG5EM,EAAqBL,EAAA,QACzB,IACGM,GAA+B,CAC9B,MAAMC,EAAsB,CAAC,EACvBC,MAAc,IACpB,IAAIC,EAAgCH,EAEpC,KAAOG,GAAa,CAACD,EAAQ,IAAIC,CAAS,GAAG,CAC3CD,EAAQ,IAAIC,CAAS,EACf,MAAAC,EAAgBX,EAAU,IAAIU,CAAS,EACzC,GAAA,EAACC,GAAA,MAAAA,EAAe,UAAU,MACpBH,EAAA,KAAKG,EAAc,QAAQ,EACrCD,EAAYC,EAAc,QAAA,CAGrB,OAAAH,CACT,EACF,CAACR,CAAS,CACZ,EAEMY,EAAQX,EAAA,QACZ,KAAO,CACL,QAAAX,EACA,cAAAc,EACA,mBAAAE,EACA,UAAWR,EACX,WAAAN,EACA,UAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,QAAAC,CAAA,GAEF,CACEN,EACAc,EACAE,EACAR,EACAN,EACAC,EACAC,EACAC,EACAC,CAAA,CAEJ,EAEA,OAAQiB,EAAAA,kBAAAA,IAAA5B,EAAsB,SAAtB,CAA+B,MAAA2B,EAAe,SAAAvB,CAAS,CAAA,CACjE,EAEayB,EAA2B,IAAM,CACtC,MAAAC,EAAUC,aAAW/B,CAAqB,EAChD,GAAI8B,IAAY,OACR,MAAA,IAAI,MAAM,8EAA8E,EAEzF,OAAAA,CACT"}
@@ -50,6 +50,8 @@ import "../api/queries/attributes/getAttributes.es.js";
50
50
  import "../api/queries/attributes/updateAttributes.es.js";
51
51
  import "../api/queries/authentication/getAuthentication.es.js";
52
52
  import "../api/queries/cloud/cloud.es.js";
53
+ import "../api/queries/config/getConfig.es.js";
54
+ import "../api/queries/config/updateConfig.es.js";
53
55
  import "../api/queries/entities/getEntity.es.js";
54
56
  import "../api/queries/entities/getEntityPanel.es.js";
55
57
  import "../api/queries/entities/updateEntity.es.js";
@@ -107,7 +109,7 @@ import "react-redux";
107
109
  import "custom-protocol-check";
108
110
  import { useQueryArgumentChangeLoading as L } from "../hooks/useQueryArgumentChangeLoading.es.js";
109
111
  import "../containers/ProjectTreeTable/components/GroupSettingsFallback.es.js";
110
- const F = v(void 0), Mo = ({
112
+ const F = v(void 0), Qo = ({
111
113
  projectName: o,
112
114
  children: P
113
115
  }) => {
@@ -164,14 +166,14 @@ const F = v(void 0), Mo = ({
164
166
  ]
165
167
  );
166
168
  return /* @__PURE__ */ j.jsx(F.Provider, { value: C, children: P });
167
- }, Eo = () => {
169
+ }, So = () => {
168
170
  const o = I(F);
169
171
  if (o === void 0)
170
172
  throw new Error("useProjectFoldersContext must be used within a ProjectFoldersContextProvider");
171
173
  return o;
172
174
  };
173
175
  export {
174
- Mo as ProjectFoldersContextProvider,
175
- Eo as useProjectFoldersContext
176
+ Qo as ProjectFoldersContextProvider,
177
+ So as useProjectFoldersContext
176
178
  };
177
179
  //# sourceMappingURL=ProjectFoldersContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectFoldersContext.es.js","sources":["../../../../src/context/ProjectFoldersContext.tsx"],"sourcesContent":["import { createContext, useContext, useMemo } from 'react'\nimport { useGetFolderListQuery } from '@shared/api'\n\nimport type { FolderListItem } from '@shared/api'\nimport { useQueryArgumentChangeLoading } from '@shared/hooks'\n\nexport interface ProjectFoldersContextValue {\n folders: FolderListItem[]\n getFolderById: (id: string) => FolderListItem | undefined\n getParentFolderIds: (folderId: string) => string[]\n isLoading: boolean\n isFetching: boolean\n isSuccess: boolean\n isUninitialized: boolean\n error: any\n refetch: () => void\n}\n\nconst ProjectFoldersContext = createContext<ProjectFoldersContextValue | undefined>(undefined)\n\n//\n// ProjectFoldersProvider\n//\n\ninterface ProjectFoldersProviderProps {\n projectName: string\n children: React.ReactNode\n}\n\nexport const ProjectFoldersContextProvider: React.FC<ProjectFoldersProviderProps> = ({\n projectName,\n children,\n}: ProjectFoldersProviderProps) => {\n // FOLDERS LIST\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch,\n } = useGetFolderListQuery({ projectName, attrib: true })\n\n // only show loading when args change or on first load\n const isLoadingFolders = useQueryArgumentChangeLoading({ projectName }, isFetching || isLoading)\n\n // Create folder map for efficient O(1) lookups\n const folderMap = useMemo(() => {\n const map = new Map<string, FolderListItem>()\n for (const folder of folders) {\n map.set(folder.id, folder)\n }\n return map\n }, [folders])\n\n // Function to get folder by ID\n const getFolderById = useMemo(() => (id: string) => folderMap.get(id), [folderMap])\n\n // Function to get all parent folder IDs by crawling up the hierarchy\n const getParentFolderIds = useMemo(\n () =>\n (folderId: string): string[] => {\n const parentIds: string[] = []\n const visited = new Set<string>()\n let currentId: string | undefined = folderId\n\n while (currentId && !visited.has(currentId)) {\n visited.add(currentId)\n const currentFolder = folderMap.get(currentId)\n if (!currentFolder?.parentId) break\n parentIds.push(currentFolder.parentId)\n currentId = currentFolder.parentId\n }\n\n return parentIds\n },\n [folderMap],\n )\n\n const value = useMemo(\n () => ({\n folders: folders,\n getFolderById,\n getParentFolderIds,\n isLoading: isLoadingFolders, // first time and when args change\n isFetching, // any background fetching\n isSuccess,\n isUninitialized,\n error,\n refetch,\n }),\n [\n folders,\n getFolderById,\n getParentFolderIds,\n isLoadingFolders,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch,\n ],\n )\n\n return <ProjectFoldersContext.Provider value={value}>{children}</ProjectFoldersContext.Provider>\n}\n\nexport const useProjectFoldersContext = () => {\n const context = useContext(ProjectFoldersContext)\n if (context === undefined) {\n throw new Error('useProjectFoldersContext must be used within a ProjectFoldersContextProvider')\n }\n return context\n}\n"],"names":["ProjectFoldersContext","createContext","ProjectFoldersContextProvider","projectName","children","folders","isLoading","isFetching","isSuccess","isUninitialized","error","refetch","useGetFolderListQuery","isLoadingFolders","useQueryArgumentChangeLoading","folderMap","useMemo","map","folder","getFolderById","id","getParentFolderIds","folderId","parentIds","visited","currentId","currentFolder","value","jsx","useProjectFoldersContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAMA,IAAwBC,EAAsD,MAAS,GAWhFC,KAAuE,CAAC;AAAA,EACnF,aAAAC;AAAA,EACA,UAAAC;AACF,MAAmC;AAE3B,QAAA;AAAA,IACJ,MAAM,EAAE,SAAAC,IAAU,CAAC,EAAA,IAAM,CAAC;AAAA,IAC1B,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,MACEC,EAAsB,EAAE,aAAAT,GAAa,QAAQ,IAAM,GAGjDU,IAAmBC,EAA8B,EAAE,aAAAX,EAAY,GAAGI,KAAcD,CAAS,GAGzFS,IAAYC,EAAQ,MAAM;AACxB,UAAAC,wBAAU,IAA4B;AAC5C,eAAWC,KAAUb;AACf,MAAAY,EAAA,IAAIC,EAAO,IAAIA,CAAM;AAEpB,WAAAD;AAAA,EAAA,GACN,CAACZ,CAAO,CAAC,GAGNc,IAAgBH,EAAQ,MAAM,CAACI,MAAeL,EAAU,IAAIK,CAAE,GAAG,CAACL,CAAS,CAAC,GAG5EM,IAAqBL;AAAA,IACzB,MACE,CAACM,MAA+B;AAC9B,YAAMC,IAAsB,CAAC,GACvBC,wBAAc,IAAY;AAChC,UAAIC,IAAgCH;AAEpC,aAAOG,KAAa,CAACD,EAAQ,IAAIC,CAAS,KAAG;AAC3C,QAAAD,EAAQ,IAAIC,CAAS;AACf,cAAAC,IAAgBX,EAAU,IAAIU,CAAS;AACzC,YAAA,EAACC,KAAA,QAAAA,EAAe,UAAU;AACpB,QAAAH,EAAA,KAAKG,EAAc,QAAQ,GACrCD,IAAYC,EAAc;AAAA,MAAA;AAGrB,aAAAH;AAAA,IACT;AAAA,IACF,CAACR,CAAS;AAAA,EACZ,GAEMY,IAAQX;AAAA,IACZ,OAAO;AAAA,MACL,SAAAX;AAAA,MACA,eAAAc;AAAA,MACA,oBAAAE;AAAA,MACA,WAAWR;AAAA;AAAA,MACX,YAAAN;AAAA;AAAA,MACA,WAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,IAAA;AAAA,IAEF;AAAA,MACEN;AAAA,MACAc;AAAA,MACAE;AAAA,MACAR;AAAA,MACAN;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAQiB,gBAAAA,EAAAA,IAAA5B,EAAsB,UAAtB,EAA+B,OAAA2B,GAAe,UAAAvB,EAAS,CAAA;AACjE,GAEayB,KAA2B,MAAM;AACtC,QAAAC,IAAUC,EAAW/B,CAAqB;AAChD,MAAI8B,MAAY;AACR,UAAA,IAAI,MAAM,8EAA8E;AAEzF,SAAAA;AACT;"}
1
+ {"version":3,"file":"ProjectFoldersContext.es.js","sources":["../../../../src/context/ProjectFoldersContext.tsx"],"sourcesContent":["import { createContext, useContext, useMemo } from 'react'\nimport { useGetFolderListQuery } from '@shared/api'\n\nimport type { FolderListItem } from '@shared/api'\nimport { useQueryArgumentChangeLoading } from '@shared/hooks'\n\nexport interface ProjectFoldersContextValue {\n folders: FolderListItem[]\n getFolderById: (id: string) => FolderListItem | undefined\n getParentFolderIds: (folderId: string) => string[]\n isLoading: boolean\n isFetching: boolean\n isSuccess: boolean\n isUninitialized: boolean\n error: any\n refetch: () => void\n}\n\nconst ProjectFoldersContext = createContext<ProjectFoldersContextValue | undefined>(undefined)\n\n//\n// ProjectFoldersProvider\n//\n\ninterface ProjectFoldersProviderProps {\n projectName: string\n children: React.ReactNode\n}\n\nexport const ProjectFoldersContextProvider: React.FC<ProjectFoldersProviderProps> = ({\n projectName,\n children,\n}: ProjectFoldersProviderProps) => {\n // FOLDERS LIST\n const {\n data: { folders = [] } = {},\n isLoading,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch,\n } = useGetFolderListQuery({ projectName, attrib: true })\n\n // only show loading when args change or on first load\n const isLoadingFolders = useQueryArgumentChangeLoading({ projectName }, isFetching || isLoading)\n\n // Create folder map for efficient O(1) lookups\n const folderMap = useMemo(() => {\n const map = new Map<string, FolderListItem>()\n for (const folder of folders) {\n map.set(folder.id, folder)\n }\n return map\n }, [folders])\n\n // Function to get folder by ID\n const getFolderById = useMemo(() => (id: string) => folderMap.get(id), [folderMap])\n\n // Function to get all parent folder IDs by crawling up the hierarchy\n const getParentFolderIds = useMemo(\n () =>\n (folderId: string): string[] => {\n const parentIds: string[] = []\n const visited = new Set<string>()\n let currentId: string | undefined = folderId\n\n while (currentId && !visited.has(currentId)) {\n visited.add(currentId)\n const currentFolder = folderMap.get(currentId)\n if (!currentFolder?.parentId) break\n parentIds.push(currentFolder.parentId)\n currentId = currentFolder.parentId\n }\n\n return parentIds\n },\n [folderMap],\n )\n\n const value = useMemo(\n () => ({\n folders: folders,\n getFolderById,\n getParentFolderIds,\n isLoading: isLoadingFolders, // first time and when args change\n isFetching, // any background fetching\n isSuccess,\n isUninitialized,\n error,\n refetch,\n }),\n [\n folders,\n getFolderById,\n getParentFolderIds,\n isLoadingFolders,\n isFetching,\n isSuccess,\n isUninitialized,\n error,\n refetch,\n ],\n )\n\n return <ProjectFoldersContext.Provider value={value}>{children}</ProjectFoldersContext.Provider>\n}\n\nexport const useProjectFoldersContext = () => {\n const context = useContext(ProjectFoldersContext)\n if (context === undefined) {\n throw new Error('useProjectFoldersContext must be used within a ProjectFoldersContextProvider')\n }\n return context\n}\n"],"names":["ProjectFoldersContext","createContext","ProjectFoldersContextProvider","projectName","children","folders","isLoading","isFetching","isSuccess","isUninitialized","error","refetch","useGetFolderListQuery","isLoadingFolders","useQueryArgumentChangeLoading","folderMap","useMemo","map","folder","getFolderById","id","getParentFolderIds","folderId","parentIds","visited","currentId","currentFolder","value","jsx","useProjectFoldersContext","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAMA,IAAwBC,EAAsD,MAAS,GAWhFC,KAAuE,CAAC;AAAA,EACnF,aAAAC;AAAA,EACA,UAAAC;AACF,MAAmC;AAE3B,QAAA;AAAA,IACJ,MAAM,EAAE,SAAAC,IAAU,CAAC,EAAA,IAAM,CAAC;AAAA,IAC1B,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,MACEC,EAAsB,EAAE,aAAAT,GAAa,QAAQ,IAAM,GAGjDU,IAAmBC,EAA8B,EAAE,aAAAX,EAAY,GAAGI,KAAcD,CAAS,GAGzFS,IAAYC,EAAQ,MAAM;AACxB,UAAAC,wBAAU,IAA4B;AAC5C,eAAWC,KAAUb;AACf,MAAAY,EAAA,IAAIC,EAAO,IAAIA,CAAM;AAEpB,WAAAD;AAAA,EAAA,GACN,CAACZ,CAAO,CAAC,GAGNc,IAAgBH,EAAQ,MAAM,CAACI,MAAeL,EAAU,IAAIK,CAAE,GAAG,CAACL,CAAS,CAAC,GAG5EM,IAAqBL;AAAA,IACzB,MACE,CAACM,MAA+B;AAC9B,YAAMC,IAAsB,CAAC,GACvBC,wBAAc,IAAY;AAChC,UAAIC,IAAgCH;AAEpC,aAAOG,KAAa,CAACD,EAAQ,IAAIC,CAAS,KAAG;AAC3C,QAAAD,EAAQ,IAAIC,CAAS;AACf,cAAAC,IAAgBX,EAAU,IAAIU,CAAS;AACzC,YAAA,EAACC,KAAA,QAAAA,EAAe,UAAU;AACpB,QAAAH,EAAA,KAAKG,EAAc,QAAQ,GACrCD,IAAYC,EAAc;AAAA,MAAA;AAGrB,aAAAH;AAAA,IACT;AAAA,IACF,CAACR,CAAS;AAAA,EACZ,GAEMY,IAAQX;AAAA,IACZ,OAAO;AAAA,MACL,SAAAX;AAAA,MACA,eAAAc;AAAA,MACA,oBAAAE;AAAA,MACA,WAAWR;AAAA;AAAA,MACX,YAAAN;AAAA;AAAA,MACA,WAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,IAAA;AAAA,IAEF;AAAA,MACEN;AAAA,MACAc;AAAA,MACAE;AAAA,MACAR;AAAA,MACAN;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAQiB,gBAAAA,EAAAA,IAAA5B,EAAsB,UAAtB,EAA+B,OAAA2B,GAAe,UAAAvB,EAAS,CAAA;AACjE,GAEayB,KAA2B,MAAM;AACtC,QAAAC,IAAUC,EAAW/B,CAAqB;AAChD,MAAI8B,MAAY;AACR,UAAA,IAAI,MAAM,8EAA8E;AAEzF,SAAAA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("../../../_virtual/jsx-runtime.cjs.js"),t=require("react"),g=require("../../../_virtual/runtime.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");const M=require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");const b=require("./GlobalContext.cjs.js"),m=t.createContext({isLoading:!0,modules:[],remotesInitialized:!1}),y=({children:u,skip:c})=>{const{data:i=[],isLoading:s}=M.useListFrontendModulesQuery(void 0,{skip:c}),{siteInfo:e,isLoading:{siteInfo:d}}=b.useGlobalContext(),[n,a]=t.useState(!1);return t.useEffect(()=>{if(s||d||n)return;if(!i.length){a(!0);return}const l=[];i.forEach(r=>{const{addonName:o,addonVersion:q,modules:R={}}=r;Object.entries(R).forEach(([v,f])=>{l.push({remote:v,addon:o,version:q,modules:f})})}),g.runtimeExports.registerRemotes(l.map(r=>{var o,q;return{name:r.remote,alias:r.remote,entry:`/addons/${r.addon||r.remote}/${r.version}/frontend/modules/${r.remote}/remoteEntry.js?server=${((o=e==null?void 0:e.releaseInfo)==null?void 0:o.version)||(e==null?void 0:e.releaseInfo)}-${(q=e==null?void 0:e.releaseInfo)==null?void 0:q.buildDate}-${new Date().getTime()}`,type:"module"}})),a(!0)},[i,s,d,n]),x.jsxRuntimeExports.jsx(m.Provider,{value:{isLoading:s,modules:i,remotesInitialized:n},children:u})},E=()=>{const u=t.useContext(m);if(u===void 0)throw new Error("useRemoteModules must be used within a RemoteModulesProvider");return u};exports.RemoteModulesProvider=y;exports.useRemoteModules=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=require("../../../_virtual/jsx-runtime.cjs.js"),t=require("react"),g=require("../../../_virtual/runtime.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");const M=require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");const b=require("./GlobalContext.cjs.js"),m=t.createContext({isLoading:!0,modules:[],remotesInitialized:!1}),y=({children:u,skip:c})=>{const{data:i=[],isLoading:s}=M.useListFrontendModulesQuery(void 0,{skip:c}),{siteInfo:e,isLoading:{siteInfo:d}}=b.useGlobalContext(),[n,a]=t.useState(!1);return t.useEffect(()=>{if(s||d||n)return;if(!i.length){a(!0);return}const l=[];i.forEach(r=>{const{addonName:q,addonVersion:o,modules:R={}}=r;Object.entries(R).forEach(([v,f])=>{l.push({remote:v,addon:q,version:o,modules:f})})}),g.runtimeExports.registerRemotes(l.map(r=>{var q,o;return{name:r.remote,alias:r.remote,entry:`/addons/${r.addon||r.remote}/${r.version}/frontend/modules/${r.remote}/remoteEntry.js?server=${((q=e==null?void 0:e.releaseInfo)==null?void 0:q.version)||(e==null?void 0:e.releaseInfo)}-${(o=e==null?void 0:e.releaseInfo)==null?void 0:o.buildDate}-${new Date().getTime()}`,type:"module"}})),a(!0)},[i,s,d,n]),x.jsxRuntimeExports.jsx(m.Provider,{value:{isLoading:s,modules:i,remotesInitialized:n},children:u})},E=()=>{const u=t.useContext(m);if(u===void 0)throw new Error("useRemoteModules must be used within a RemoteModulesProvider");return u};exports.RemoteModulesProvider=y;exports.useRemoteModules=E;
2
2
  //# sourceMappingURL=RemoteModulesContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModulesContext.cjs.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport { FrontendModuleListItem, useListFrontendModulesQuery } from '@shared/api'\nimport { useGlobalContext } from './GlobalContext'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const {\n siteInfo,\n isLoading: { siteInfo: isLoadingInfo },\n } = useGlobalContext()\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${siteInfo?.releaseInfo?.version || siteInfo?.releaseInfo}-${\n siteInfo?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["RemoteModulesContext","createContext","RemoteModulesProvider","children","skip","addonRemoteModules","isLoading","useListFrontendModulesQuery","siteInfo","isLoadingInfo","useGlobalContext","remotesInitialized","setRemotesInitialized","useState","useEffect","allRemotes","addon","addonName","addonVersion","modules","remote","registerRemotes","_a","_b","jsx","useRemoteModules","context","useContext"],"mappings":"yxIAkBMA,EAAuBC,EAAAA,cAAwC,CACnE,UAAW,GACX,QAAS,CAAC,EACV,mBAAoB,EACtB,CAAC,EAOYC,EAAwB,CAAC,CAAE,SAAAC,EAAU,KAAAC,KAAkB,CAE5D,KAAA,CAAE,KAAMC,EAAqB,CAAA,EAAI,UAAAC,CAAU,EAAIC,8BAA4B,OAAW,CAC1F,KAAAH,CAAA,CACD,EAEK,CACJ,SAAAI,EACA,UAAW,CAAE,SAAUC,CAAc,GACnCC,mBAAiB,EAEf,CAACC,EAAoBC,CAAqB,EAAIC,EAAAA,SAAS,EAAK,EAElEC,OAAAA,EAAAA,UAAU,IAAM,CAEV,GAAAR,GAAaG,GAAiBE,EAAoB,OAGlD,GAAA,CAACN,EAAmB,OAAQ,CAC9BO,EAAsB,EAAI,EAC1B,MAAA,CAIF,MAAMG,EAAuB,CAAC,EAEXV,EAAA,QAASW,GAAU,CACpC,KAAM,CAAE,UAAAC,EAAW,aAAAC,EAAc,QAAAC,EAAU,CAAA,CAAO,EAAAH,EAE3C,OAAA,QAAQG,CAAO,EAAE,QAAQ,CAAC,CAACC,EAAQD,CAAO,IAAM,CACrDJ,EAAW,KAAK,CACd,OAAAK,EACA,MAAOH,EACP,QAASC,EACT,QAAAC,CAAA,CACD,CAAA,CACF,CAAA,CACF,EAEDE,EAAA,eAAA,gBACEN,EAAW,IAAK,GAAO,SAAA,OACrB,KAAM,EAAE,OACR,MAAO,EAAE,OACT,MAAO,WAAW,EAAE,OAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0BO,EAAAd,GAAA,YAAAA,EAAU,cAAV,YAAAc,EAAuB,WAAWd,GAAA,YAAAA,EAAU,YAAW,KAC/Ee,EAAAf,GAAA,YAAAA,EAAU,cAAV,YAAAe,EAAuB,SACzB,IAAQ,IAAA,KAAA,EAAO,QAAS,CAAA,GACxB,KAAM,QAAA,EACN,CACJ,EAEAX,EAAsB,EAAI,GACzB,CAACP,EAAoBC,EAAWG,EAAeE,CAAkB,CAAC,EAGnEa,EAAA,kBAAA,IAACxB,EAAqB,SAArB,CACC,MAAO,CACL,UAAAM,EACA,QAASD,EACT,mBAAAM,CACF,EAEC,SAAAR,CAAA,CACH,CAEJ,EAEasB,EAAmB,IAAM,CAC9B,MAAAC,EAAUC,aAAW3B,CAAoB,EAE/C,GAAI0B,IAAY,OACR,MAAA,IAAI,MAAM,8DAA8D,EAGzE,OAAAA,CACT"}
1
+ {"version":3,"file":"RemoteModulesContext.cjs.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport { FrontendModuleListItem, useListFrontendModulesQuery } from '@shared/api'\nimport { useGlobalContext } from './GlobalContext'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const {\n siteInfo,\n isLoading: { siteInfo: isLoadingInfo },\n } = useGlobalContext()\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${siteInfo?.releaseInfo?.version || siteInfo?.releaseInfo}-${\n siteInfo?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["RemoteModulesContext","createContext","RemoteModulesProvider","children","skip","addonRemoteModules","isLoading","useListFrontendModulesQuery","siteInfo","isLoadingInfo","useGlobalContext","remotesInitialized","setRemotesInitialized","useState","useEffect","allRemotes","addon","addonName","addonVersion","modules","remote","registerRemotes","_a","_b","jsx","useRemoteModules","context","useContext"],"mappings":"g4IAkBMA,EAAuBC,EAAAA,cAAwC,CACnE,UAAW,GACX,QAAS,CAAC,EACV,mBAAoB,EACtB,CAAC,EAOYC,EAAwB,CAAC,CAAE,SAAAC,EAAU,KAAAC,KAAkB,CAE5D,KAAA,CAAE,KAAMC,EAAqB,CAAA,EAAI,UAAAC,CAAU,EAAIC,8BAA4B,OAAW,CAC1F,KAAAH,CAAA,CACD,EAEK,CACJ,SAAAI,EACA,UAAW,CAAE,SAAUC,CAAc,GACnCC,mBAAiB,EAEf,CAACC,EAAoBC,CAAqB,EAAIC,EAAAA,SAAS,EAAK,EAElEC,OAAAA,EAAAA,UAAU,IAAM,CAEV,GAAAR,GAAaG,GAAiBE,EAAoB,OAGlD,GAAA,CAACN,EAAmB,OAAQ,CAC9BO,EAAsB,EAAI,EAC1B,MAAA,CAIF,MAAMG,EAAuB,CAAC,EAEXV,EAAA,QAASW,GAAU,CACpC,KAAM,CAAE,UAAAC,EAAW,aAAAC,EAAc,QAAAC,EAAU,CAAA,CAAO,EAAAH,EAE3C,OAAA,QAAQG,CAAO,EAAE,QAAQ,CAAC,CAACC,EAAQD,CAAO,IAAM,CACrDJ,EAAW,KAAK,CACd,OAAAK,EACA,MAAOH,EACP,QAASC,EACT,QAAAC,CAAA,CACD,CAAA,CACF,CAAA,CACF,EAEDE,EAAA,eAAA,gBACEN,EAAW,IAAK,GAAO,SAAA,OACrB,KAAM,EAAE,OACR,MAAO,EAAE,OACT,MAAO,WAAW,EAAE,OAAS,EAAE,MAAM,IAAI,EAAE,OAAO,qBAChD,EAAE,MACJ,4BAA0BO,EAAAd,GAAA,YAAAA,EAAU,cAAV,YAAAc,EAAuB,WAAWd,GAAA,YAAAA,EAAU,YAAW,KAC/Ee,EAAAf,GAAA,YAAAA,EAAU,cAAV,YAAAe,EAAuB,SACzB,IAAQ,IAAA,KAAA,EAAO,QAAS,CAAA,GACxB,KAAM,QAAA,EACN,CACJ,EAEAX,EAAsB,EAAI,GACzB,CAACP,EAAoBC,EAAWG,EAAeE,CAAkB,CAAC,EAGnEa,EAAA,kBAAA,IAACxB,EAAqB,SAArB,CACC,MAAO,CACL,UAAAM,EACA,QAASD,EACT,mBAAAM,CACF,EAEC,SAAAR,CAAA,CACH,CAEJ,EAEasB,EAAmB,IAAM,CAC9B,MAAAC,EAAUC,aAAW3B,CAAoB,EAE/C,GAAI0B,IAAY,OACR,MAAA,IAAI,MAAM,8DAA8D,EAGzE,OAAAA,CACT"}
@@ -51,6 +51,8 @@ import "../api/queries/attributes/getAttributes.es.js";
51
51
  import "../api/queries/attributes/updateAttributes.es.js";
52
52
  import "../api/queries/authentication/getAuthentication.es.js";
53
53
  import "../api/queries/cloud/cloud.es.js";
54
+ import "../api/queries/config/getConfig.es.js";
55
+ import "../api/queries/config/updateConfig.es.js";
54
56
  import "../api/queries/entities/getEntity.es.js";
55
57
  import "../api/queries/entities/getEntityPanel.es.js";
56
58
  import "../api/queries/entities/updateEntity.es.js";
@@ -89,7 +91,7 @@ const u = R({
89
91
  isLoading: !0,
90
92
  modules: [],
91
93
  remotesInitialized: !1
92
- }), mt = ({ children: r, skip: l }) => {
94
+ }), pt = ({ children: r, skip: l }) => {
93
95
  const { data: i = [], isLoading: p } = $(void 0, {
94
96
  skip: l
95
97
  }), {
@@ -135,14 +137,14 @@ const u = R({
135
137
  children: r
136
138
  }
137
139
  );
138
- }, et = () => {
140
+ }, st = () => {
139
141
  const r = M(u);
140
142
  if (r === void 0)
141
143
  throw new Error("useRemoteModules must be used within a RemoteModulesProvider");
142
144
  return r;
143
145
  };
144
146
  export {
145
- mt as RemoteModulesProvider,
146
- et as useRemoteModules
147
+ pt as RemoteModulesProvider,
148
+ st as useRemoteModules
147
149
  };
148
150
  //# sourceMappingURL=RemoteModulesContext.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModulesContext.es.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport { FrontendModuleListItem, useListFrontendModulesQuery } from '@shared/api'\nimport { useGlobalContext } from './GlobalContext'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const {\n siteInfo,\n isLoading: { siteInfo: isLoadingInfo },\n } = useGlobalContext()\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${siteInfo?.releaseInfo?.version || siteInfo?.releaseInfo}-${\n siteInfo?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["RemoteModulesContext","createContext","RemoteModulesProvider","children","skip","addonRemoteModules","isLoading","useListFrontendModulesQuery","siteInfo","isLoadingInfo","useGlobalContext","remotesInitialized","setRemotesInitialized","useState","useEffect","allRemotes","addon","addonName","addonVersion","modules","remote","registerRemotes","r","_a","_b","jsx","useRemoteModules","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAMA,IAAuBC,EAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC,GAOYC,KAAwB,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAAkB;AAE5D,QAAA,EAAE,MAAMC,IAAqB,CAAA,GAAI,WAAAC,EAAU,IAAIC,EAA4B,QAAW;AAAA,IAC1F,MAAAH;AAAA,EAAA,CACD,GAEK;AAAA,IACJ,UAAAI;AAAA,IACA,WAAW,EAAE,UAAUC,EAAc;AAAA,MACnCC,EAAiB,GAEf,CAACC,GAAoBC,CAAqB,IAAIC,EAAS,EAAK;AAElE,SAAAC,EAAU,MAAM;AAEV,QAAAR,KAAaG,KAAiBE,EAAoB;AAGlD,QAAA,CAACN,EAAmB,QAAQ;AAC9B,MAAAO,EAAsB,EAAI;AAC1B;AAAA,IAAA;AAIF,UAAMG,IAAuB,CAAC;AAEX,IAAAV,EAAA,QAAQ,CAACW,MAAU;AACpC,YAAM,EAAE,WAAAC,GAAW,cAAAC,GAAc,SAAAC,IAAU,CAAA,EAAO,IAAAH;AAE3C,aAAA,QAAQG,CAAO,EAAE,QAAQ,CAAC,CAACC,GAAQD,CAAO,MAAM;AACrD,QAAAJ,EAAW,KAAK;AAAA,UACd,QAAAK;AAAA,UACA,OAAOH;AAAA,UACP,SAASC;AAAA,UACT,SAAAC;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF,GAEDE,EAAA;AAAA,MACEN,EAAW,IAAI,CAACO,MAAO;;AAAA;AAAA,UACrB,MAAMA,EAAE;AAAA,UACR,OAAOA,EAAE;AAAA,UACT,OAAO,WAAWA,EAAE,SAASA,EAAE,MAAM,IAAIA,EAAE,OAAO,qBAChDA,EAAE,MACJ,4BAA0BC,IAAAf,KAAA,gBAAAA,EAAU,gBAAV,gBAAAe,EAAuB,aAAWf,KAAA,gBAAAA,EAAU,YAAW,KAC/EgB,IAAAhB,KAAA,gBAAAA,EAAU,gBAAV,gBAAAgB,EAAuB,SACzB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ,GAEAZ,EAAsB,EAAI;AAAA,KACzB,CAACP,GAAoBC,GAAWG,GAAeE,CAAkB,CAAC,GAGnEc,gBAAAA,EAAA;AAAA,IAACzB,EAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL,WAAAM;AAAA,QACA,SAASD;AAAA,QACT,oBAAAM;AAAA,MACF;AAAA,MAEC,UAAAR;AAAA,IAAA;AAAA,EACH;AAEJ,GAEauB,KAAmB,MAAM;AAC9B,QAAAC,IAAUC,EAAW5B,CAAoB;AAE/C,MAAI2B,MAAY;AACR,UAAA,IAAI,MAAM,8DAA8D;AAGzE,SAAAA;AACT;"}
1
+ {"version":3,"file":"RemoteModulesContext.es.js","sources":["../../../../src/context/RemoteModulesContext.tsx"],"sourcesContent":["import { createContext, useContext, ReactNode, useEffect, useState } from 'react'\nimport { registerRemotes } from '@module-federation/enhanced/runtime'\nimport { FrontendModuleListItem, useListFrontendModulesQuery } from '@shared/api'\nimport { useGlobalContext } from './GlobalContext'\n\ntype Module = {\n remote: string\n addon: string\n version: string\n modules: string[]\n}\n\ntype RemoteModulesContextType = {\n isLoading: boolean\n modules: FrontendModuleListItem[]\n remotesInitialized: boolean\n}\n\nconst RemoteModulesContext = createContext<RemoteModulesContextType>({\n isLoading: true,\n modules: [],\n remotesInitialized: false,\n})\n\ntype Props = {\n children: ReactNode\n skip?: boolean\n}\n\nexport const RemoteModulesProvider = ({ children, skip }: Props) => {\n // only load if logged in\n const { data: addonRemoteModules = [], isLoading } = useListFrontendModulesQuery(undefined, {\n skip,\n })\n\n const {\n siteInfo,\n isLoading: { siteInfo: isLoadingInfo },\n } = useGlobalContext()\n\n const [remotesInitialized, setRemotesInitialized] = useState(false)\n\n useEffect(() => {\n // waiting for loading or it has already been initialized\n if (isLoading || isLoadingInfo || remotesInitialized) return\n\n // no remotes found, nothing to do\n if (!addonRemoteModules.length) {\n setRemotesInitialized(true)\n return\n }\n\n // create a flat map of modules to load\n const allRemotes: Module[] = []\n\n addonRemoteModules.forEach((addon) => {\n const { addonName, addonVersion, modules = {} } = addon\n\n Object.entries(modules).forEach(([remote, modules]) => {\n allRemotes.push({\n remote,\n addon: addonName,\n version: addonVersion,\n modules,\n })\n })\n })\n\n registerRemotes(\n allRemotes.map((r) => ({\n name: r.remote,\n alias: r.remote,\n entry: `/addons/${r.addon || r.remote}/${r.version}/frontend/modules/${\n r.remote\n }/remoteEntry.js?server=${siteInfo?.releaseInfo?.version || siteInfo?.releaseInfo}-${\n siteInfo?.releaseInfo?.buildDate\n }-${new Date().getTime()}`,\n type: 'module',\n })),\n )\n\n setRemotesInitialized(true)\n }, [addonRemoteModules, isLoading, isLoadingInfo, remotesInitialized])\n\n return (\n <RemoteModulesContext.Provider\n value={{\n isLoading,\n modules: addonRemoteModules,\n remotesInitialized,\n }}\n >\n {children}\n </RemoteModulesContext.Provider>\n )\n}\n\nexport const useRemoteModules = () => {\n const context = useContext(RemoteModulesContext)\n\n if (context === undefined) {\n throw new Error('useRemoteModules must be used within a RemoteModulesProvider')\n }\n\n return context\n}\n"],"names":["RemoteModulesContext","createContext","RemoteModulesProvider","children","skip","addonRemoteModules","isLoading","useListFrontendModulesQuery","siteInfo","isLoadingInfo","useGlobalContext","remotesInitialized","setRemotesInitialized","useState","useEffect","allRemotes","addon","addonName","addonVersion","modules","remote","registerRemotes","r","_a","_b","jsx","useRemoteModules","context","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,MAAMA,IAAuBC,EAAwC;AAAA,EACnE,WAAW;AAAA,EACX,SAAS,CAAC;AAAA,EACV,oBAAoB;AACtB,CAAC,GAOYC,KAAwB,CAAC,EAAE,UAAAC,GAAU,MAAAC,QAAkB;AAE5D,QAAA,EAAE,MAAMC,IAAqB,CAAA,GAAI,WAAAC,EAAU,IAAIC,EAA4B,QAAW;AAAA,IAC1F,MAAAH;AAAA,EAAA,CACD,GAEK;AAAA,IACJ,UAAAI;AAAA,IACA,WAAW,EAAE,UAAUC,EAAc;AAAA,MACnCC,EAAiB,GAEf,CAACC,GAAoBC,CAAqB,IAAIC,EAAS,EAAK;AAElE,SAAAC,EAAU,MAAM;AAEV,QAAAR,KAAaG,KAAiBE,EAAoB;AAGlD,QAAA,CAACN,EAAmB,QAAQ;AAC9B,MAAAO,EAAsB,EAAI;AAC1B;AAAA,IAAA;AAIF,UAAMG,IAAuB,CAAC;AAEX,IAAAV,EAAA,QAAQ,CAACW,MAAU;AACpC,YAAM,EAAE,WAAAC,GAAW,cAAAC,GAAc,SAAAC,IAAU,CAAA,EAAO,IAAAH;AAE3C,aAAA,QAAQG,CAAO,EAAE,QAAQ,CAAC,CAACC,GAAQD,CAAO,MAAM;AACrD,QAAAJ,EAAW,KAAK;AAAA,UACd,QAAAK;AAAA,UACA,OAAOH;AAAA,UACP,SAASC;AAAA,UACT,SAAAC;AAAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF,GAEDE,EAAA;AAAA,MACEN,EAAW,IAAI,CAACO,MAAO;;AAAA;AAAA,UACrB,MAAMA,EAAE;AAAA,UACR,OAAOA,EAAE;AAAA,UACT,OAAO,WAAWA,EAAE,SAASA,EAAE,MAAM,IAAIA,EAAE,OAAO,qBAChDA,EAAE,MACJ,4BAA0BC,IAAAf,KAAA,gBAAAA,EAAU,gBAAV,gBAAAe,EAAuB,aAAWf,KAAA,gBAAAA,EAAU,YAAW,KAC/EgB,IAAAhB,KAAA,gBAAAA,EAAU,gBAAV,gBAAAgB,EAAuB,SACzB,KAAQ,oBAAA,KAAA,GAAO,QAAS,CAAA;AAAA,UACxB,MAAM;AAAA,QAAA;AAAA,OACN;AAAA,IACJ,GAEAZ,EAAsB,EAAI;AAAA,KACzB,CAACP,GAAoBC,GAAWG,GAAeE,CAAkB,CAAC,GAGnEc,gBAAAA,EAAA;AAAA,IAACzB,EAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL,WAAAM;AAAA,QACA,SAASD;AAAA,QACT,oBAAAM;AAAA,MACF;AAAA,MAEC,UAAAR;AAAA,IAAA;AAAA,EACH;AAEJ,GAEauB,KAAmB,MAAM;AAC9B,QAAAC,IAAUC,EAAW5B,CAAoB;AAE/C,MAAI2B,MAAY;AACR,UAAA,IAAI,MAAM,8DAA8D;AAGzE,SAAAA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react");require("lodash");require("react-toastify");require("uuid");const c=require("../util/uriUtils.cjs.js");require("../util/pubsub.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");const h=require("../api/queries/uris/getUris.cjs.js"),C="uri",a=r.createContext(void 0),b=({children:t})=>{const o=location.pathname,[i,u]=r.useState(""),l=["projects","settings","dashboard/tasks"];r.useEffect(()=>{l.some(s=>o.startsWith(`/${s}`))||u("")},[o,u]);const{type:q,entity:U,settings:R}=c.parseUri(i),d=r.useCallback(({projectName:e,folderPath:s,taskName:x,productName:y,versionName:I})=>{const m=c.buildEntityUri({projectName:e,folderPath:s,taskName:x,productName:y,versionName:I});u(m)},[u]),[n]=h.useResolveUrisMutation(),v=r.useCallback(async()=>{if(q!=="entity"||!i)return[];try{const e=await n({resolveRequestModel:{uris:[i]}}).unwrap();return console.log("Resolved entity from URI:",e),e}catch(e){return console.warn("Failed to resolve URI:",e),[]}},[n,i,q]),p={uri:i,uriType:q,entity:U,settings:R,setUri:u,setEntityUri:d,getUriEntities:v};return g.jsxRuntimeExports.jsx(a.Provider,{value:p,children:t})},f=()=>{const t=r.useContext(a);if(t===void 0)throw new Error("useURIContext must be used within a URIProvider");return t};exports.URIProvider=b;exports.URL_PARAM_ID=C;exports.useURIContext=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react");require("lodash");require("react-toastify");require("uuid");const c=require("../util/uriUtils.cjs.js");require("../util/pubsub.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");const h=require("../api/queries/uris/getUris.cjs.js"),C="uri",a=r.createContext(void 0),b=({children:t})=>{const o=location.pathname,[i,u]=r.useState(""),l=["projects","settings","dashboard/tasks"];r.useEffect(()=>{l.some(s=>o.startsWith(`/${s}`))||u("")},[o,u]);const{type:q,entity:U,settings:R}=c.parseUri(i),d=r.useCallback(({projectName:e,folderPath:s,taskName:x,productName:y,versionName:I})=>{const m=c.buildEntityUri({projectName:e,folderPath:s,taskName:x,productName:y,versionName:I});u(m)},[u]),[n]=h.useResolveUrisMutation(),v=r.useCallback(async()=>{if(q!=="entity"||!i)return[];try{const e=await n({resolveRequestModel:{uris:[i]}}).unwrap();return console.log("Resolved entity from URI:",e),e}catch(e){return console.warn("Failed to resolve URI:",e),[]}},[n,i,q]),p={uri:i,uriType:q,entity:U,settings:R,setUri:u,setEntityUri:d,getUriEntities:v};return g.jsxRuntimeExports.jsx(a.Provider,{value:p,children:t})},f=()=>{const t=r.useContext(a);if(t===void 0)throw new Error("useURIContext must be used within a URIProvider");return t};exports.URIProvider=b;exports.URL_PARAM_ID=C;exports.useURIContext=f;
2
2
  //# sourceMappingURL=UriContext.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UriContext.cjs.js","sources":["../../../../src/context/UriContext.tsx"],"sourcesContent":["// The URI is a unique AYON ID for entities and settings paths\n// Entity: ayon+entity://project_name/shots/000_logo/000_0010?task=lighting\n// Settings: ayon+settings://maya/ext_mapping/0/name\n\n// Components can update the URI when changing context, like opening the details panel or navigating to a settings page\n// Components state should not be directly synced to the URI, they should only read the URI on mount to set initial state\n\nimport { createContext, useContext, useEffect, ReactNode, FC, useCallback, useState } from 'react'\nimport { buildEntityUri, parseUri } from '../util'\nimport { ResolvedUriModel, useResolveUrisMutation } from '@shared/api'\n\nexport const URL_PARAM_ID = 'uri'\n\ntype SetEntityUriFunc = ({\n projectName,\n folderPath,\n taskName,\n productName,\n versionName,\n}: {\n projectName: string\n folderPath: string\n taskName?: string\n productName?: string\n versionName?: string\n}) => void\n\nexport type EntityUri = {\n projectName: string\n entityType: 'task' | 'folder' | 'product' | 'version'\n folderPath: string\n taskName?: string\n productName?: string\n versionName?: string\n}\n\nexport type SettingsUri = {\n addonName: string\n addonVersion: string\n settingsPath: string[]\n site: string | undefined\n project: string | undefined\n}\n\ninterface URIContextValue {\n uri: string\n uriType: 'settings' | 'entity' | undefined\n entity?: EntityUri\n settings?: SettingsUri\n setUri: (uri: string) => void\n setEntityUri: SetEntityUriFunc\n getUriEntities: () => Promise<ResolvedUriModel[]>\n}\n\ninterface URIProviderProps {\n children: ReactNode\n}\n\nconst URIContext = createContext<URIContextValue | undefined>(undefined)\n\nconst URIProvider: FC<URIProviderProps> = ({ children }) => {\n const pathname = location.pathname\n\n const [uri, setUri] = useState('')\n\n // when the scope is outside settings and project, set uri to null\n const scopes = ['projects', 'settings', 'dashboard/tasks']\n useEffect(() => {\n const matchingScope = scopes.some((scope) => pathname.startsWith(`/${scope}`))\n\n if (!matchingScope) {\n setUri('')\n }\n }, [pathname, setUri])\n\n const { type: uriType, entity, settings } = parseUri(uri)\n\n // helper function to set an entity URI\n const setEntityUri = useCallback<SetEntityUriFunc>(\n ({ projectName, folderPath, taskName, productName, versionName }) => {\n const uri = buildEntityUri({ projectName, folderPath, taskName, productName, versionName })\n setUri(uri)\n },\n [setUri],\n )\n\n // helper function to get entity ids from URI so that we can actually do something with it\n const [resolveUris] = useResolveUrisMutation()\n const getUriEntities = useCallback(async () => {\n if (uriType !== 'entity' || !uri) return []\n\n try {\n const entities = await resolveUris({ resolveRequestModel: { uris: [uri] } }).unwrap()\n // we could set more detailed entity info here if needed\n // for now we just log it\n console.log('Resolved entity from URI:', entities)\n\n return entities\n } catch (error) {\n console.warn('Failed to resolve URI:', error)\n return []\n }\n }, [resolveUris, uri, uriType])\n\n const contextValue: URIContextValue = {\n uri,\n uriType,\n entity,\n settings,\n setUri,\n setEntityUri,\n getUriEntities,\n }\n\n return <URIContext.Provider value={contextValue}>{children}</URIContext.Provider>\n}\n\nconst useURIContext = (): URIContextValue => {\n const context = useContext(URIContext)\n if (context === undefined) {\n throw new Error('useURIContext must be used within a URIProvider')\n }\n return context\n}\n\nexport { URIProvider, useURIContext }\n"],"names":["URL_PARAM_ID","URIContext","createContext","URIProvider","children","pathname","uri","setUri","useState","scopes","useEffect","scope","uriType","entity","settings","parseUri","setEntityUri","useCallback","projectName","folderPath","taskName","productName","versionName","buildEntityUri","resolveUris","useResolveUrisMutation","getUriEntities","entities","error","contextValue","useURIContext","context","useContext"],"mappings":"y0IAWaA,EAAe,MA+CtBC,EAAaC,gBAA2C,MAAS,EAEjEC,EAAoC,CAAC,CAAE,SAAAC,KAAe,CAC1D,MAAMC,EAAW,SAAS,SAEpB,CAACC,EAAKC,CAAM,EAAIC,EAAAA,SAAS,EAAE,EAG3BC,EAAS,CAAC,WAAY,WAAY,iBAAiB,EACzDC,EAAAA,UAAU,IAAM,CACQD,EAAO,KAAME,GAAUN,EAAS,WAAW,IAAIM,CAAK,EAAE,CAAC,GAG3EJ,EAAO,EAAE,CACX,EACC,CAACF,EAAUE,CAAM,CAAC,EAErB,KAAM,CAAE,KAAMK,EAAS,OAAAC,EAAQ,SAAAC,CAAS,EAAIC,WAAST,CAAG,EAGlDU,EAAeC,EAAA,YACnB,CAAC,CAAE,YAAAC,EAAa,WAAAC,EAAY,SAAAC,EAAU,YAAAC,EAAa,YAAAC,KAAkB,CAC7DhB,MAAAA,EAAMiB,iBAAe,CAAE,YAAAL,EAAa,WAAAC,EAAY,SAAAC,EAAU,YAAAC,EAAa,YAAAC,EAAa,EAC1Ff,EAAOD,CAAG,CACZ,EACA,CAACC,CAAM,CACT,EAGM,CAACiB,CAAW,EAAIC,yBAAuB,EACvCC,EAAiBT,EAAAA,YAAY,SAAY,CAC7C,GAAIL,IAAY,UAAY,CAACN,QAAY,CAAC,EAEtC,GAAA,CACF,MAAMqB,EAAW,MAAMH,EAAY,CAAE,oBAAqB,CAAE,KAAM,CAAClB,CAAG,CAAA,EAAK,EAAE,OAAO,EAG5E,eAAA,IAAI,4BAA6BqB,CAAQ,EAE1CA,QACAC,EAAO,CACN,eAAA,KAAK,yBAA0BA,CAAK,EACrC,CAAC,CAAA,CAET,EAAA,CAACJ,EAAalB,EAAKM,CAAO,CAAC,EAExBiB,EAAgC,CACpC,IAAAvB,EACA,QAAAM,EACA,OAAAC,EACA,SAAAC,EACA,OAAAP,EACA,aAAAS,EACA,eAAAU,CACF,EAEA,+BAAQzB,EAAW,SAAX,CAAoB,MAAO4B,EAAe,SAAAzB,EAAS,CAC7D,EAEM0B,EAAgB,IAAuB,CACrC,MAAAC,EAAUC,aAAW/B,CAAU,EACrC,GAAI8B,IAAY,OACR,MAAA,IAAI,MAAM,iDAAiD,EAE5D,OAAAA,CACT"}
1
+ {"version":3,"file":"UriContext.cjs.js","sources":["../../../../src/context/UriContext.tsx"],"sourcesContent":["// The URI is a unique AYON ID for entities and settings paths\n// Entity: ayon+entity://project_name/shots/000_logo/000_0010?task=lighting\n// Settings: ayon+settings://maya/ext_mapping/0/name\n\n// Components can update the URI when changing context, like opening the details panel or navigating to a settings page\n// Components state should not be directly synced to the URI, they should only read the URI on mount to set initial state\n\nimport { createContext, useContext, useEffect, ReactNode, FC, useCallback, useState } from 'react'\nimport { buildEntityUri, parseUri } from '../util'\nimport { ResolvedUriModel, useResolveUrisMutation } from '@shared/api'\n\nexport const URL_PARAM_ID = 'uri'\n\ntype SetEntityUriFunc = ({\n projectName,\n folderPath,\n taskName,\n productName,\n versionName,\n}: {\n projectName: string\n folderPath: string\n taskName?: string\n productName?: string\n versionName?: string\n}) => void\n\nexport type EntityUri = {\n projectName: string\n entityType: 'task' | 'folder' | 'product' | 'version'\n folderPath: string\n taskName?: string\n productName?: string\n versionName?: string\n}\n\nexport type SettingsUri = {\n addonName: string\n addonVersion: string\n settingsPath: string[]\n site: string | undefined\n project: string | undefined\n}\n\ninterface URIContextValue {\n uri: string\n uriType: 'settings' | 'entity' | undefined\n entity?: EntityUri\n settings?: SettingsUri\n setUri: (uri: string) => void\n setEntityUri: SetEntityUriFunc\n getUriEntities: () => Promise<ResolvedUriModel[]>\n}\n\ninterface URIProviderProps {\n children: ReactNode\n}\n\nconst URIContext = createContext<URIContextValue | undefined>(undefined)\n\nconst URIProvider: FC<URIProviderProps> = ({ children }) => {\n const pathname = location.pathname\n\n const [uri, setUri] = useState('')\n\n // when the scope is outside settings and project, set uri to null\n const scopes = ['projects', 'settings', 'dashboard/tasks']\n useEffect(() => {\n const matchingScope = scopes.some((scope) => pathname.startsWith(`/${scope}`))\n\n if (!matchingScope) {\n setUri('')\n }\n }, [pathname, setUri])\n\n const { type: uriType, entity, settings } = parseUri(uri)\n\n // helper function to set an entity URI\n const setEntityUri = useCallback<SetEntityUriFunc>(\n ({ projectName, folderPath, taskName, productName, versionName }) => {\n const uri = buildEntityUri({ projectName, folderPath, taskName, productName, versionName })\n setUri(uri)\n },\n [setUri],\n )\n\n // helper function to get entity ids from URI so that we can actually do something with it\n const [resolveUris] = useResolveUrisMutation()\n const getUriEntities = useCallback(async () => {\n if (uriType !== 'entity' || !uri) return []\n\n try {\n const entities = await resolveUris({ resolveRequestModel: { uris: [uri] } }).unwrap()\n // we could set more detailed entity info here if needed\n // for now we just log it\n console.log('Resolved entity from URI:', entities)\n\n return entities\n } catch (error) {\n console.warn('Failed to resolve URI:', error)\n return []\n }\n }, [resolveUris, uri, uriType])\n\n const contextValue: URIContextValue = {\n uri,\n uriType,\n entity,\n settings,\n setUri,\n setEntityUri,\n getUriEntities,\n }\n\n return <URIContext.Provider value={contextValue}>{children}</URIContext.Provider>\n}\n\nconst useURIContext = (): URIContextValue => {\n const context = useContext(URIContext)\n if (context === undefined) {\n throw new Error('useURIContext must be used within a URIProvider')\n }\n return context\n}\n\nexport { URIProvider, useURIContext }\n"],"names":["URL_PARAM_ID","URIContext","createContext","URIProvider","children","pathname","uri","setUri","useState","scopes","useEffect","scope","uriType","entity","settings","parseUri","setEntityUri","useCallback","projectName","folderPath","taskName","productName","versionName","buildEntityUri","resolveUris","useResolveUrisMutation","getUriEntities","entities","error","contextValue","useURIContext","context","useContext"],"mappings":"g7IAWaA,EAAe,MA+CtBC,EAAaC,gBAA2C,MAAS,EAEjEC,EAAoC,CAAC,CAAE,SAAAC,KAAe,CAC1D,MAAMC,EAAW,SAAS,SAEpB,CAACC,EAAKC,CAAM,EAAIC,EAAAA,SAAS,EAAE,EAG3BC,EAAS,CAAC,WAAY,WAAY,iBAAiB,EACzDC,EAAAA,UAAU,IAAM,CACQD,EAAO,KAAME,GAAUN,EAAS,WAAW,IAAIM,CAAK,EAAE,CAAC,GAG3EJ,EAAO,EAAE,CACX,EACC,CAACF,EAAUE,CAAM,CAAC,EAErB,KAAM,CAAE,KAAMK,EAAS,OAAAC,EAAQ,SAAAC,CAAS,EAAIC,WAAST,CAAG,EAGlDU,EAAeC,EAAA,YACnB,CAAC,CAAE,YAAAC,EAAa,WAAAC,EAAY,SAAAC,EAAU,YAAAC,EAAa,YAAAC,KAAkB,CAC7DhB,MAAAA,EAAMiB,iBAAe,CAAE,YAAAL,EAAa,WAAAC,EAAY,SAAAC,EAAU,YAAAC,EAAa,YAAAC,EAAa,EAC1Ff,EAAOD,CAAG,CACZ,EACA,CAACC,CAAM,CACT,EAGM,CAACiB,CAAW,EAAIC,yBAAuB,EACvCC,EAAiBT,EAAAA,YAAY,SAAY,CAC7C,GAAIL,IAAY,UAAY,CAACN,QAAY,CAAC,EAEtC,GAAA,CACF,MAAMqB,EAAW,MAAMH,EAAY,CAAE,oBAAqB,CAAE,KAAM,CAAClB,CAAG,CAAA,EAAK,EAAE,OAAO,EAG5E,eAAA,IAAI,4BAA6BqB,CAAQ,EAE1CA,QACAC,EAAO,CACN,eAAA,KAAK,yBAA0BA,CAAK,EACrC,CAAC,CAAA,CAET,EAAA,CAACJ,EAAalB,EAAKM,CAAO,CAAC,EAExBiB,EAAgC,CACpC,IAAAvB,EACA,QAAAM,EACA,OAAAC,EACA,SAAAC,EACA,OAAAP,EACA,aAAAS,EACA,eAAAU,CACF,EAEA,+BAAQzB,EAAW,SAAX,CAAoB,MAAO4B,EAAe,SAAAzB,EAAS,CAC7D,EAEM0B,EAAgB,IAAuB,CACrC,MAAAC,EAAUC,aAAW/B,CAAU,EACrC,GAAI8B,IAAY,OACR,MAAA,IAAI,MAAM,iDAAiD,EAE5D,OAAAA,CACT"}