@ytsaurus/ui 1.16.1 → 1.17.0

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 (371) hide show
  1. package/README.md +6 -11
  2. package/build/cjs/@types/core.d.ts +7 -7
  3. package/build/cjs/server/components/layout-config.js +3 -3
  4. package/build/cjs/server/components/layout-config.js.map +1 -1
  5. package/build/cjs/server/components/requestsSetup.js +13 -5
  6. package/build/cjs/server/components/requestsSetup.js.map +1 -1
  7. package/build/cjs/server/components/settings.d.ts +10 -5
  8. package/build/cjs/server/components/settings.js +24 -23
  9. package/build/cjs/server/components/settings.js.map +1 -1
  10. package/build/cjs/server/components/table.d.ts +3 -3
  11. package/build/cjs/server/components/table.js +4 -4
  12. package/build/cjs/server/components/table.js.map +1 -1
  13. package/build/cjs/server/components/yt-auth.d.ts +0 -2
  14. package/build/cjs/server/components/yt-auth.js +5 -14
  15. package/build/cjs/server/components/yt-auth.js.map +1 -1
  16. package/build/cjs/server/configs/common.js +5 -13
  17. package/build/cjs/server/configs/common.js.map +1 -1
  18. package/build/cjs/server/configs/local.js +0 -5
  19. package/build/cjs/server/configs/local.js.map +1 -1
  20. package/build/cjs/server/controllers/chyt-api.js +1 -1
  21. package/build/cjs/server/controllers/chyt-api.js.map +1 -1
  22. package/build/cjs/server/controllers/cluster-info.js +2 -2
  23. package/build/cjs/server/controllers/cluster-info.js.map +1 -1
  24. package/build/cjs/server/controllers/cluster-params.js +1 -1
  25. package/build/cjs/server/controllers/cluster-params.js.map +1 -1
  26. package/build/cjs/server/controllers/clusters.d.ts +1 -0
  27. package/build/cjs/server/controllers/clusters.js +24 -1
  28. package/build/cjs/server/controllers/clusters.js.map +1 -1
  29. package/build/cjs/server/controllers/home.js +10 -6
  30. package/build/cjs/server/controllers/home.js.map +1 -1
  31. package/build/cjs/server/controllers/login.js +18 -5
  32. package/build/cjs/server/controllers/login.js.map +1 -1
  33. package/build/cjs/server/controllers/odin-proxy-api.js +1 -1
  34. package/build/cjs/server/controllers/odin-proxy-api.js.map +1 -1
  35. package/build/cjs/server/controllers/scheduling-pools.js +2 -2
  36. package/build/cjs/server/controllers/scheduling-pools.js.map +1 -1
  37. package/build/cjs/server/controllers/settings.js +10 -10
  38. package/build/cjs/server/controllers/settings.js.map +1 -1
  39. package/build/cjs/server/controllers/table-column-preset.js +4 -3
  40. package/build/cjs/server/controllers/table-column-preset.js.map +1 -1
  41. package/build/cjs/server/controllers/yt-api.js +1 -1
  42. package/build/cjs/server/controllers/yt-api.js.map +1 -1
  43. package/build/cjs/server/controllers/yt-proxy-api.js +2 -2
  44. package/build/cjs/server/controllers/yt-proxy-api.js.map +1 -1
  45. package/build/cjs/server/index.js +11 -8
  46. package/build/cjs/server/index.js.map +1 -1
  47. package/build/cjs/server/middlewares/authorization.d.ts +1 -1
  48. package/build/cjs/server/middlewares/authorization.js +3 -2
  49. package/build/cjs/server/middlewares/authorization.js.map +1 -1
  50. package/build/cjs/server/middlewares/yt-auth.js +3 -2
  51. package/build/cjs/server/middlewares/yt-auth.js.map +1 -1
  52. package/build/cjs/server/routes.js +26 -25
  53. package/build/cjs/server/routes.js.map +1 -1
  54. package/build/cjs/server/utils/index.d.ts +1 -1
  55. package/build/cjs/server/utils/index.js +12 -4
  56. package/build/cjs/server/utils/index.js.map +1 -1
  57. package/build/cjs/shared/yt-types.d.ts +1 -0
  58. package/build/cjs/ui/common/utils/settings-remote-provider.d.ts +5 -5
  59. package/build/cjs/ui/common/utils/settings-remote-provider.js +42 -16
  60. package/build/cjs/ui/common/utils/settings-remote-provider.js.map +1 -1
  61. package/build/cjs/ui/components/ElementsTable/ElementsTable.d.ts +1 -1
  62. package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.d.ts +2 -1
  63. package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js +11 -6
  64. package/build/cjs/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js.map +1 -1
  65. package/build/cjs/ui/components/Login/LoginFormPage/LoginFormPage.js +7 -4
  66. package/build/cjs/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
  67. package/build/cjs/ui/config/ui-settings.d.ts +1 -0
  68. package/build/cjs/ui/config/ui-settings.js +3 -2
  69. package/build/cjs/ui/config/ui-settings.js.map +1 -1
  70. package/build/cjs/ui/constants/index.d.ts +7 -0
  71. package/build/cjs/ui/constants/index.js +3 -1
  72. package/build/cjs/ui/constants/index.js.map +1 -1
  73. package/build/cjs/ui/containers/App/App.js +4 -3
  74. package/build/cjs/ui/containers/App/App.js.map +1 -1
  75. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +39 -22
  76. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  77. package/build/cjs/ui/containers/ClusterPage/ClusterPage.d.ts +3 -1
  78. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js +3 -1
  79. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  80. package/build/cjs/ui/containers/ClustersMenu/ClusterMenuHeader.css +5 -0
  81. package/build/cjs/ui/containers/ClustersMenu/ClusterMenuHeader.css.map +1 -1
  82. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.d.ts +3 -1
  83. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.js +11 -3
  84. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuBody.js.map +1 -1
  85. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuHeader.d.ts +4 -4
  86. package/build/cjs/ui/containers/ClustersMenu/ClustersMenuHeader.js.map +1 -1
  87. package/build/cjs/ui/containers/MaintenancePage/HandleRedirect.js.map +1 -1
  88. package/build/cjs/ui/entries/main.js +4 -1
  89. package/build/cjs/ui/entries/main.js.map +1 -1
  90. package/build/cjs/ui/pages/operations/selectors.d.ts +5 -0
  91. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +20 -0
  92. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +5 -0
  93. package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +5 -0
  94. package/build/cjs/ui/pages/system/Chunks/Chunks.d.ts +1 -1
  95. package/build/cjs/ui/store/actions/cluster-params.d.ts +1 -0
  96. package/build/cjs/ui/store/actions/cluster-params.js +13 -0
  97. package/build/cjs/ui/store/actions/cluster-params.js.map +1 -1
  98. package/build/cjs/ui/store/actions/clusters-menu.d.ts +1 -0
  99. package/build/cjs/ui/store/actions/clusters-menu.js +22 -2
  100. package/build/cjs/ui/store/actions/clusters-menu.js.map +1 -1
  101. package/build/cjs/ui/store/actions/global/index.d.ts +3 -1
  102. package/build/cjs/ui/store/actions/global/index.js +19 -4
  103. package/build/cjs/ui/store/actions/global/index.js.map +1 -1
  104. package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.d.ts +1 -1
  105. package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.js +6 -4
  106. package/build/cjs/ui/store/actions/navigation/content/table/columns-preset.js.map +1 -1
  107. package/build/cjs/ui/store/actions/navigation/content/table/table.js +2 -1
  108. package/build/cjs/ui/store/actions/navigation/content/table/table.js.map +1 -1
  109. package/build/cjs/ui/store/actions/settings/index.js +25 -19
  110. package/build/cjs/ui/store/actions/settings/index.js.map +1 -1
  111. package/build/cjs/ui/store/reducers/accounts/usage/index.d.ts +1 -1
  112. package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.d.ts +4 -0
  113. package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.js +8 -0
  114. package/build/cjs/ui/store/reducers/clusters-menu/clusters-menu.js.map +1 -1
  115. package/build/cjs/ui/store/reducers/index.d.ts +5 -0
  116. package/build/cjs/ui/store/reducers/index.js.map +1 -1
  117. package/build/cjs/ui/store/reducers/settings.js +1 -1
  118. package/build/cjs/ui/store/reducers/settings.js.map +1 -1
  119. package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +40 -0
  120. package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +40 -0
  121. package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +55 -0
  122. package/build/cjs/ui/store/selectors/chyt/index.d.ts +35 -0
  123. package/build/cjs/ui/store/selectors/components/node/memory.d.ts +35 -0
  124. package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +15 -0
  125. package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +5 -0
  126. package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +10 -0
  127. package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +30 -0
  128. package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +10 -0
  129. package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +25 -0
  130. package/build/cjs/ui/store/selectors/global/index.d.ts +912 -0
  131. package/build/cjs/ui/store/selectors/global/index.js +10 -1
  132. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  133. package/build/cjs/ui/store/selectors/global/supported-features.d.ts +30 -0
  134. package/build/cjs/ui/store/selectors/modals/errors.d.ts +5 -0
  135. package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +5 -0
  136. package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +15 -0
  137. package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +5 -0
  138. package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +20 -0
  139. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +35 -0
  140. package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +15 -0
  141. package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +5 -0
  142. package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +10 -0
  143. package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +5 -0
  144. package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +5 -0
  145. package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +5 -0
  146. package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +10 -0
  147. package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +10 -0
  148. package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +5 -0
  149. package/build/cjs/ui/store/selectors/operations/index.d.ts +60 -0
  150. package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +20 -0
  151. package/build/cjs/ui/store/selectors/operations/operation.d.ts +60 -0
  152. package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +15 -0
  153. package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +40 -0
  154. package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +5 -0
  155. package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +5 -0
  156. package/build/cjs/ui/store/selectors/scheduling/expanded-pools.d.ts +5 -0
  157. package/build/cjs/ui/store/selectors/scheduling/index.d.ts +5 -0
  158. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +15 -0
  159. package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +30 -0
  160. package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +100 -0
  161. package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +75 -0
  162. package/build/cjs/ui/store/selectors/thor/support.d.ts +25 -0
  163. package/build/esm/@types/core.d.ts +7 -7
  164. package/build/esm/server/components/layout-config.js +4 -3
  165. package/build/esm/server/components/layout-config.js.map +1 -1
  166. package/build/esm/server/components/requestsSetup.js +12 -5
  167. package/build/esm/server/components/requestsSetup.js.map +1 -1
  168. package/build/esm/server/components/settings.d.ts +10 -5
  169. package/build/esm/server/components/settings.js +33 -22
  170. package/build/esm/server/components/settings.js.map +1 -1
  171. package/build/esm/server/components/table.d.ts +3 -3
  172. package/build/esm/server/components/table.js +10 -10
  173. package/build/esm/server/components/table.js.map +1 -1
  174. package/build/esm/server/components/yt-auth.d.ts +0 -2
  175. package/build/esm/server/components/yt-auth.js +6 -11
  176. package/build/esm/server/components/yt-auth.js.map +1 -1
  177. package/build/esm/server/configs/common.js +4 -14
  178. package/build/esm/server/configs/common.js.map +1 -1
  179. package/build/esm/server/configs/local.js +0 -5
  180. package/build/esm/server/configs/local.js.map +1 -1
  181. package/build/esm/server/controllers/chyt-api.js +1 -1
  182. package/build/esm/server/controllers/chyt-api.js.map +1 -1
  183. package/build/esm/server/controllers/cluster-info.js +3 -3
  184. package/build/esm/server/controllers/cluster-info.js.map +1 -1
  185. package/build/esm/server/controllers/cluster-params.js +1 -1
  186. package/build/esm/server/controllers/cluster-params.js.map +1 -1
  187. package/build/esm/server/controllers/clusters.d.ts +1 -0
  188. package/build/esm/server/controllers/clusters.js +23 -0
  189. package/build/esm/server/controllers/clusters.js.map +1 -1
  190. package/build/esm/server/controllers/home.js +32 -28
  191. package/build/esm/server/controllers/home.js.map +1 -1
  192. package/build/esm/server/controllers/login.js +35 -21
  193. package/build/esm/server/controllers/login.js.map +1 -1
  194. package/build/esm/server/controllers/odin-proxy-api.js +1 -1
  195. package/build/esm/server/controllers/odin-proxy-api.js.map +1 -1
  196. package/build/esm/server/controllers/scheduling-pools.js +3 -3
  197. package/build/esm/server/controllers/scheduling-pools.js.map +1 -1
  198. package/build/esm/server/controllers/settings.js +26 -15
  199. package/build/esm/server/controllers/settings.js.map +1 -1
  200. package/build/esm/server/controllers/table-column-preset.js +15 -14
  201. package/build/esm/server/controllers/table-column-preset.js.map +1 -1
  202. package/build/esm/server/controllers/yt-api.js +1 -1
  203. package/build/esm/server/controllers/yt-api.js.map +1 -1
  204. package/build/esm/server/controllers/yt-proxy-api.js +3 -3
  205. package/build/esm/server/controllers/yt-proxy-api.js.map +1 -1
  206. package/build/esm/server/index.js +12 -8
  207. package/build/esm/server/index.js.map +1 -1
  208. package/build/esm/server/middlewares/authorization.d.ts +1 -1
  209. package/build/esm/server/middlewares/authorization.js +21 -16
  210. package/build/esm/server/middlewares/authorization.js.map +1 -1
  211. package/build/esm/server/middlewares/yt-auth.js +8 -7
  212. package/build/esm/server/middlewares/yt-auth.js.map +1 -1
  213. package/build/esm/server/routes.js +29 -26
  214. package/build/esm/server/routes.js.map +1 -1
  215. package/build/esm/server/utils/index.d.ts +1 -1
  216. package/build/esm/server/utils/index.js +12 -6
  217. package/build/esm/server/utils/index.js.map +1 -1
  218. package/build/esm/shared/yt-types.d.ts +1 -0
  219. package/build/esm/ui/common/utils/settings-remote-provider.d.ts +5 -5
  220. package/build/esm/ui/common/utils/settings-remote-provider.js +42 -16
  221. package/build/esm/ui/common/utils/settings-remote-provider.js.map +1 -1
  222. package/build/esm/ui/components/ElementsTable/ElementsTable.d.ts +1 -1
  223. package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.d.ts +2 -1
  224. package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js +11 -6
  225. package/build/esm/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.js.map +1 -1
  226. package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js +8 -5
  227. package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
  228. package/build/esm/ui/config/ui-settings.d.ts +1 -0
  229. package/build/esm/ui/config/ui-settings.js +2 -1
  230. package/build/esm/ui/config/ui-settings.js.map +1 -1
  231. package/build/esm/ui/constants/index.d.ts +7 -0
  232. package/build/esm/ui/constants/index.js +1 -0
  233. package/build/esm/ui/constants/index.js.map +1 -1
  234. package/build/esm/ui/containers/App/App.js +4 -3
  235. package/build/esm/ui/containers/App/App.js.map +1 -1
  236. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +39 -22
  237. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  238. package/build/esm/ui/containers/ClusterPage/ClusterPage.d.ts +3 -1
  239. package/build/esm/ui/containers/ClusterPage/ClusterPage.js +4 -2
  240. package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  241. package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.css +5 -0
  242. package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.css.map +1 -1
  243. package/build/esm/ui/containers/ClustersMenu/ClusterMenuHeader.scss +6 -0
  244. package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.d.ts +3 -1
  245. package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.js +12 -4
  246. package/build/esm/ui/containers/ClustersMenu/ClustersMenuBody.js.map +1 -1
  247. package/build/esm/ui/containers/ClustersMenu/ClustersMenuHeader.d.ts +4 -4
  248. package/build/esm/ui/containers/ClustersMenu/ClustersMenuHeader.js.map +1 -1
  249. package/build/esm/ui/containers/MaintenancePage/HandleRedirect.js.map +1 -1
  250. package/build/esm/ui/entries/main.js +4 -1
  251. package/build/esm/ui/entries/main.js.map +1 -1
  252. package/build/esm/ui/pages/operations/selectors.d.ts +5 -0
  253. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +20 -0
  254. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +5 -0
  255. package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +5 -0
  256. package/build/esm/ui/pages/system/Chunks/Chunks.d.ts +1 -1
  257. package/build/esm/ui/store/actions/cluster-params.d.ts +1 -0
  258. package/build/esm/ui/store/actions/cluster-params.js +12 -0
  259. package/build/esm/ui/store/actions/cluster-params.js.map +1 -1
  260. package/build/esm/ui/store/actions/clusters-menu.d.ts +1 -0
  261. package/build/esm/ui/store/actions/clusters-menu.js +22 -3
  262. package/build/esm/ui/store/actions/clusters-menu.js.map +1 -1
  263. package/build/esm/ui/store/actions/global/index.d.ts +3 -1
  264. package/build/esm/ui/store/actions/global/index.js +19 -4
  265. package/build/esm/ui/store/actions/global/index.js.map +1 -1
  266. package/build/esm/ui/store/actions/navigation/content/table/columns-preset.d.ts +1 -1
  267. package/build/esm/ui/store/actions/navigation/content/table/columns-preset.js +6 -4
  268. package/build/esm/ui/store/actions/navigation/content/table/columns-preset.js.map +1 -1
  269. package/build/esm/ui/store/actions/navigation/content/table/table.js +2 -1
  270. package/build/esm/ui/store/actions/navigation/content/table/table.js.map +1 -1
  271. package/build/esm/ui/store/actions/settings/index.js +25 -19
  272. package/build/esm/ui/store/actions/settings/index.js.map +1 -1
  273. package/build/esm/ui/store/reducers/accounts/usage/index.d.ts +1 -1
  274. package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.d.ts +4 -0
  275. package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.js +9 -1
  276. package/build/esm/ui/store/reducers/clusters-menu/clusters-menu.js.map +1 -1
  277. package/build/esm/ui/store/reducers/index.d.ts +5 -0
  278. package/build/esm/ui/store/reducers/index.js.map +1 -1
  279. package/build/esm/ui/store/reducers/settings.js +1 -1
  280. package/build/esm/ui/store/reducers/settings.js.map +1 -1
  281. package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +40 -0
  282. package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +40 -0
  283. package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +55 -0
  284. package/build/esm/ui/store/selectors/chyt/index.d.ts +35 -0
  285. package/build/esm/ui/store/selectors/components/node/memory.d.ts +35 -0
  286. package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +15 -0
  287. package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +5 -0
  288. package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +10 -0
  289. package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +30 -0
  290. package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +10 -0
  291. package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +25 -0
  292. package/build/esm/ui/store/selectors/global/index.d.ts +912 -0
  293. package/build/esm/ui/store/selectors/global/index.js +10 -1
  294. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  295. package/build/esm/ui/store/selectors/global/supported-features.d.ts +30 -0
  296. package/build/esm/ui/store/selectors/modals/errors.d.ts +5 -0
  297. package/build/esm/ui/store/selectors/navigation/content/document.d.ts +5 -0
  298. package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +15 -0
  299. package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +5 -0
  300. package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +20 -0
  301. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +35 -0
  302. package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +15 -0
  303. package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +5 -0
  304. package/build/esm/ui/store/selectors/navigation/navigation.d.ts +10 -0
  305. package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +5 -0
  306. package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +5 -0
  307. package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +5 -0
  308. package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +10 -0
  309. package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +10 -0
  310. package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +5 -0
  311. package/build/esm/ui/store/selectors/operations/index.d.ts +60 -0
  312. package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +20 -0
  313. package/build/esm/ui/store/selectors/operations/operation.d.ts +60 -0
  314. package/build/esm/ui/store/selectors/operations/operations-list.d.ts +15 -0
  315. package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +40 -0
  316. package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +5 -0
  317. package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +5 -0
  318. package/build/esm/ui/store/selectors/scheduling/expanded-pools.d.ts +5 -0
  319. package/build/esm/ui/store/selectors/scheduling/index.d.ts +5 -0
  320. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +15 -0
  321. package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +30 -0
  322. package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +100 -0
  323. package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +75 -0
  324. package/build/esm/ui/store/selectors/thor/support.d.ts +25 -0
  325. package/dist/public/build/assets-manifest.json +12 -12
  326. package/dist/public/build/css/main.8a4cd357.css +2 -0
  327. package/dist/public/build/css/main.8a4cd357.css.map +1 -0
  328. package/dist/public/build/js/{861.9703a31c.chunk.js → 861.a0939319.chunk.js} +2 -2
  329. package/dist/public/build/js/861.a0939319.chunk.js.map +1 -0
  330. package/dist/public/build/js/main.c39cff0d.js +3 -0
  331. package/dist/public/build/js/{main.5b132a95.js.map → main.c39cff0d.js.map} +1 -1
  332. package/dist/public/build/js/runtime.0ac0f2e8.js +2 -0
  333. package/dist/public/build/js/{runtime.a87a1f88.js.map → runtime.0ac0f2e8.js.map} +1 -1
  334. package/dist/public/build/manifest.json +8 -8
  335. package/dist/server/components/layout-config.js +3 -3
  336. package/dist/server/components/requestsSetup.js +13 -5
  337. package/dist/server/components/settings.d.ts +10 -5
  338. package/dist/server/components/settings.js +24 -23
  339. package/dist/server/components/table.d.ts +3 -3
  340. package/dist/server/components/table.js +4 -4
  341. package/dist/server/components/yt-auth.d.ts +0 -2
  342. package/dist/server/components/yt-auth.js +5 -14
  343. package/dist/server/configs/common.js +5 -13
  344. package/dist/server/configs/local.js +0 -5
  345. package/dist/server/controllers/chyt-api.js +1 -1
  346. package/dist/server/controllers/cluster-info.js +2 -2
  347. package/dist/server/controllers/cluster-params.js +1 -1
  348. package/dist/server/controllers/clusters.d.ts +1 -0
  349. package/dist/server/controllers/clusters.js +24 -1
  350. package/dist/server/controllers/home.js +10 -6
  351. package/dist/server/controllers/login.js +18 -5
  352. package/dist/server/controllers/odin-proxy-api.js +1 -1
  353. package/dist/server/controllers/scheduling-pools.js +2 -2
  354. package/dist/server/controllers/settings.js +10 -10
  355. package/dist/server/controllers/table-column-preset.js +4 -3
  356. package/dist/server/controllers/yt-api.js +1 -1
  357. package/dist/server/controllers/yt-proxy-api.js +2 -2
  358. package/dist/server/index.js +11 -8
  359. package/dist/server/middlewares/authorization.d.ts +1 -1
  360. package/dist/server/middlewares/authorization.js +3 -2
  361. package/dist/server/middlewares/yt-auth.js +3 -2
  362. package/dist/server/routes.js +26 -25
  363. package/dist/server/utils/index.d.ts +1 -1
  364. package/dist/server/utils/index.js +12 -4
  365. package/package.json +2 -2
  366. package/dist/public/build/css/main.4aa70d7b.css +0 -2
  367. package/dist/public/build/css/main.4aa70d7b.css.map +0 -1
  368. package/dist/public/build/js/861.9703a31c.chunk.js.map +0 -1
  369. package/dist/public/build/js/main.5b132a95.js +0 -3
  370. package/dist/public/build/js/runtime.a87a1f88.js +0 -2
  371. /package/dist/public/build/js/{main.5b132a95.js.LICENSE.txt → main.c39cff0d.js.LICENSE.txt} +0 -0
@@ -3,12 +3,13 @@ declare const _default: import("react-redux").ConnectedComponent<typeof Clusters
3
3
  viewMode: PropTypes.Requireable<string>;
4
4
  clusters: PropTypes.Requireable<object>;
5
5
  fetchClusterVersions: PropTypes.Validator<(...args: any[]) => any>;
6
+ fetchClusterAuthStatus: PropTypes.Validator<(...args: any[]) => any>;
6
7
  fetchClusterAvailability: PropTypes.Validator<(...args: any[]) => any>;
7
8
  sortState: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
8
9
  field: PropTypes.Requireable<string>;
9
10
  asc: PropTypes.Requireable<boolean>;
10
11
  }>>>;
11
- }>, "clusters" | "viewMode" | "sortState" | "clusterFilter" | "fetchClusterVersions" | "fetchClusterAvailability">>;
12
+ }>, "clusters" | "sortState" | "viewMode" | "clusterFilter" | "fetchClusterVersions" | "fetchClusterAvailability" | "fetchClusterAuthStatus">>;
12
13
  export default _default;
13
14
  declare class ClustersMenuBody extends React.Component<any, any, any> {
14
15
  static propTypes: {
@@ -16,6 +17,7 @@ declare class ClustersMenuBody extends React.Component<any, any, any> {
16
17
  viewMode: PropTypes.Requireable<string>;
17
18
  clusters: PropTypes.Requireable<object>;
18
19
  fetchClusterVersions: PropTypes.Validator<(...args: any[]) => any>;
20
+ fetchClusterAuthStatus: PropTypes.Validator<(...args: any[]) => any>;
19
21
  fetchClusterAvailability: PropTypes.Validator<(...args: any[]) => any>;
20
22
  sortState: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
21
23
  field: PropTypes.Requireable<string>;
@@ -17,6 +17,7 @@ var _react = _interopRequireWildcard(require("react"));
17
17
  var _reactRedux = require("react-redux");
18
18
  var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
19
19
  var _reactRouterDom = require("react-router-dom");
20
+ var _icons = require("@gravity-ui/icons");
20
21
  var _clusterMenu = require("../../constants/cluster-menu");
21
22
  var _format = _interopRequireDefault(require("@ytsaurus/interface-helpers/lib/hammer/format"));
22
23
  var _utils = require("../../common/hammer/utils");
@@ -44,8 +45,10 @@ var ClustersMenuBody = /*#__PURE__*/function (_Component) {
44
45
  value: function componentDidMount() {
45
46
  var _this$props = this.props,
46
47
  fetchClusterVersions = _this$props.fetchClusterVersions,
47
- fetchClusterAvailability = _this$props.fetchClusterAvailability;
48
+ fetchClusterAvailability = _this$props.fetchClusterAvailability,
49
+ fetchClusterAuthStatus = _this$props.fetchClusterAuthStatus;
48
50
  fetchClusterVersions();
51
+ fetchClusterAuthStatus();
49
52
  if (_ytConfig.default.environment !== 'localmode') {
50
53
  fetchClusterAvailability();
51
54
  }
@@ -105,7 +108,8 @@ var ClustersMenuBody = /*#__PURE__*/function (_Component) {
105
108
  environment = cluster.environment,
106
109
  descriptionEnglish = cluster.descriptionEnglish,
107
110
  description = cluster.description,
108
- theme = cluster.theme;
111
+ theme = cluster.theme,
112
+ authorized = cluster.authorized;
109
113
  var className = b('item', {
110
114
  state: status,
111
115
  access: status === 'available' && access,
@@ -120,7 +124,10 @@ var ClustersMenuBody = /*#__PURE__*/function (_Component) {
120
124
  to: '/' + id,
121
125
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
122
126
  className: b('item-body'),
123
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
127
+ children: [authorized ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
128
+ className: b('item-auth-status'),
129
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Lock, {})
130
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
124
131
  className: b('item-heading'),
125
132
  children: name
126
133
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -323,6 +330,7 @@ function mapStateToProps(_ref4) {
323
330
  }
324
331
  var mapDispatchToProps = {
325
332
  fetchClusterVersions: _clustersMenu.fetchClusterVersions,
333
+ fetchClusterAuthStatus: _clustersMenu.fetchClusterAuthStatus,
326
334
  fetchClusterAvailability: _clustersMenu.fetchClusterAvailability
327
335
  };
328
336
  var _default = exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ClustersMenuBody);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRedux","_bemCnLite","_interopRequireDefault","_reactRouterDom","_clusterMenu","_format","_utils","_ElementsTable","_ElementsTableHeader","_clustersMenu","_tables","_appearance","_ytConfig","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","b","block","ClustersMenuBody","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","componentDidMount","_this$props","props","fetchClusterVersions","fetchClusterAvailability","YT","environment","prepareGroups","clusters","sortByClusterName","clusterA","clusterB","name","groups","_reduce","cluster","currentGroup","group","DEFAULT_GROUP","push","_each","sort","renderVersion","_ref","loadState","access","version","status","title","text","concat","_jsx","className","children","renderCluster","size","id","descriptionEnglish","description","theme","state","clusterTheme","_getClusterAppearance","getClusterAppearance","iconbig","icon2x","Link","to","_jsxs","style","backgroundImage","format","renderDashboard","_this","clusterGroups","unknown","_filter","keys","groupName","CLUSTER_GROUPS","_map","CLUSTER_GROUPS_ORDER","_CLUSTER_GROUPS$group","_ref2","caption","length","position","renderTable","tableSettings","css","striped","tableId","CLUSTER_MENU_TABLE_ID","computeKey","item","onItemClick","window","location","columns","items","image","align","sets","mode","templates","data","sortState","table","assign","utils","ElementsTable","_objectSpread","renderEmptyContent","render","_this$props2","viewMode","clusterFilter","regexp","RegExp","filterByField","field","search","filteredClusters","_ref3","some","Component","mapStateToProps","_ref4","clustersMenu","tables","mapDispatchToProps","_default","exports","connect"],"sources":["ClustersMenuBody.js"],"sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\nimport block from 'bem-cn-lite';\nimport {Link} from 'react-router-dom';\nimport _ from 'lodash';\n\nimport {CLUSTER_GROUPS, CLUSTER_GROUPS_ORDER, DEFAULT_GROUP} from '../../constants/cluster-menu';\nimport format from '@ytsaurus/interface-helpers/lib/hammer/format';\nimport {utils} from '../../common/hammer/utils';\nimport ElementsTable from '../../components/ElementsTable/ElementsTable';\nimport {sortStateType} from '../../components/ElementsTable/ElementsTableHeader';\nimport {fetchClusterAvailability, fetchClusterVersions} from '../../store/actions/clusters-menu';\nimport {CLUSTER_MENU_TABLE_ID} from '../../constants/tables';\nimport {getClusterAppearance} from '../../appearance';\nimport YT from '../../config/yt-config';\nimport './ClusterMenuBody.scss';\n\nconst b = block('cluster-menu');\n\nclass ClustersMenuBody extends Component {\n static propTypes = {\n // from connect\n clusterFilter: PropTypes.string,\n viewMode: PropTypes.oneOf(['dashboard', 'table']),\n clusters: PropTypes.object,\n fetchClusterVersions: PropTypes.func.isRequired,\n fetchClusterAvailability: PropTypes.func.isRequired,\n sortState: sortStateType.isRequired,\n };\n\n componentDidMount() {\n const {fetchClusterVersions, fetchClusterAvailability} = this.props;\n\n fetchClusterVersions();\n if (YT.environment !== 'localmode') {\n fetchClusterAvailability();\n }\n }\n\n prepareGroups(clusters) {\n function sortByClusterName(clusterA, clusterB) {\n return clusterA.name > clusterB.name ? 1 : -1;\n }\n\n const groups = _.reduce(\n clusters,\n (groups, cluster) => {\n const currentGroup = cluster.group || DEFAULT_GROUP;\n groups[currentGroup] = groups[currentGroup] || [];\n groups[currentGroup].push(cluster);\n return groups;\n },\n {},\n );\n\n _.each(groups, (clusters) => {\n clusters.sort(sortByClusterName);\n });\n\n return groups;\n }\n\n renderVersion({loadState, access, version, status}) {\n let title;\n let text = '—';\n if (loadState === 'loaded') {\n if (access === 'granted') {\n title = `Current cluster version: ${version}`;\n text = version;\n } else if (access === 'none' && status === 'available') {\n title = 'Please refer to Getting Started for more details';\n text = 'No access';\n } else if (access === 'none' && status !== 'available') {\n title = 'Could not load version, cluster is unavailable';\n }\n } else {\n title = 'Please wait, loading cluster version';\n }\n return (\n <div className={b('item-version')} title={title}>\n {text}\n </div>\n );\n }\n\n renderCluster(cluster, size) {\n const {status, access, id, name, environment, descriptionEnglish, description, theme} =\n cluster;\n const className = b('item', {\n state: status,\n access: status === 'available' && access,\n size,\n });\n\n const clusterTheme = theme ? `cluster-color_theme_${theme}` : 'cluster-color';\n const {iconbig, icon2x} = getClusterAppearance(id);\n\n return (\n <Link key={id} className={className} to={'/' + id}>\n <div className={b('item-body')}>\n <div className={b('item-heading')}>{name}</div>\n\n <div className={b('item-image-wrapper')}>\n <div\n className={b('item-image', clusterTheme)}\n style={{\n backgroundImage: 'url(' + (iconbig || icon2x) + ')',\n }}\n />\n </div>\n\n <div className={b('item-image-veil')} />\n\n {this.renderVersion(cluster)}\n\n <div className={b('item-environment')}>\n <span>{format['ValueOrDefault'](environment)}</span>\n </div>\n\n <div className={b('item-description', 'elements-multiline-ellipsis')}>\n {descriptionEnglish ? descriptionEnglish : description}\n </div>\n </div>\n </Link>\n );\n }\n\n renderDashboard(clusters) {\n const clusterGroups = this.prepareGroups(clusters);\n\n const unknown = _.filter(\n Object.keys(clusterGroups),\n (groupName) => !(groupName in CLUSTER_GROUPS),\n );\n\n return (\n <main key=\"body\" className={b(false, 'elements-page__content')}>\n {_.map(CLUSTER_GROUPS_ORDER.concat(unknown), (groupName) => {\n const clusters = clusterGroups[groupName];\n const {caption, size} = CLUSTER_GROUPS[groupName] ?? {caption: groupName};\n\n return (\n clusters &&\n clusters.length && (\n <div key={groupName} className={b('group')}>\n <div\n className={b(\n 'heading',\n {position: 'center', size: 'l'},\n b('group-heading'),\n )}\n >\n {caption}\n </div>\n <div className={b('list')}>\n {_.map(clusters, (cluster) =>\n this.renderCluster(cluster, size),\n )}\n </div>\n </div>\n )\n );\n })}\n </main>\n );\n }\n\n renderTable(clusters) {\n const tableSettings = {\n css: 'cluster-menu',\n theme: 'light',\n striped: true,\n tableId: CLUSTER_MENU_TABLE_ID,\n computeKey: function (item) {\n return item.name;\n },\n onItemClick: function (item) {\n // FIXME: give back control to react-router once we no longer need to render full page on server\n // to get cluster credentials\n window.location = `/${item.id}`;\n },\n columns: {\n items: {\n image: {\n align: 'center',\n caption: '',\n sort: false,\n },\n name: {\n get: function (cluster) {\n return cluster.name;\n },\n sort: true,\n align: 'left',\n },\n environment: {\n get: function (cluster) {\n return cluster.environment;\n },\n sort: true,\n align: 'left',\n },\n version: {\n get: function (cluster) {\n return [cluster.version, cluster.id];\n },\n sort: true,\n align: 'right',\n },\n status: {\n get: function (cluster) {\n return [cluster.status, cluster.id];\n },\n sort: true,\n align: 'center',\n },\n access: {\n get: function (cluster) {\n return [cluster.access, cluster.id];\n },\n sort: true,\n align: 'center',\n },\n },\n sets: {\n default: {\n items: ['image', 'name', 'environment', 'version', 'status', 'access'],\n },\n },\n mode: 'default',\n },\n templates: {\n key: 'cluster-menu',\n data: {},\n },\n };\n\n const {sortState} = this.props;\n const table = Object.assign({}, tableSettings, {\n items: utils.sort(clusters, sortState, tableSettings.columns.items),\n columns: Object.assign({}, tableSettings.columns),\n });\n\n return (\n <main key=\"body\" className={b(false, 'elements-page__content')}>\n <div className={b('table-wrapper')}>\n <ElementsTable {...table} />\n </div>\n </main>\n );\n }\n\n renderEmptyContent() {\n const className = b('heading', {position: 'center', size: 'l'});\n return (\n <main key=\"body\" className={b(false, 'elements-page__content')}>\n <div className={b('message', className)}>No clusters matching your selection</div>\n </main>\n );\n }\n\n render() {\n const {viewMode, clusterFilter, clusters} = this.props;\n const regexp = new RegExp(clusterFilter, 'i');\n\n const filterByField = (field) => {\n return typeof field === 'string' && field.search(regexp) > -1;\n };\n\n const filteredClusters = _.filter(clusters, ({id, version, environment}) => {\n return [id, version, environment].some(filterByField);\n });\n\n if (viewMode === 'dashboard' && filteredClusters.length) {\n return this.renderDashboard(filteredClusters);\n } else if (viewMode === 'table' && filteredClusters.length) {\n return this.renderTable(filteredClusters);\n } else if (!filteredClusters.length) {\n return this.renderEmptyContent();\n }\n }\n}\n\nfunction mapStateToProps({clustersMenu, tables}) {\n const {viewMode, clusterFilter, clusters} = clustersMenu;\n return {\n viewMode,\n clusterFilter,\n clusters,\n sortState: tables[CLUSTER_MENU_TABLE_ID],\n };\n}\n\nconst mapDispatchToProps = {\n fetchClusterVersions,\n fetchClusterAvailability,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ClustersMenuBody);\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AAGA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAV,sBAAA,CAAAH,OAAA;AACAA,OAAA;AAAgC,IAAAc,WAAA,GAAAd,OAAA;AAAA,SAAAe,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAjB,wBAAAiB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAArB,uBAAAiC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAEhC,IAAMC,CAAC,GAAG,IAAAC,kBAAK,EAAC,cAAc,CAAC;AAAC,IAE1BC,gBAAgB,0BAAAC,UAAA;EAAA,IAAAC,kBAAA,EAAAF,gBAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,qBAAA,EAAAJ,gBAAA;EAAA,SAAAA,iBAAA;IAAA,IAAAK,wBAAA,QAAAL,gBAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,qBAAA,EAAAR,gBAAA;IAAAS,GAAA;IAAAC,KAAA,EAWlB,SAAAC,kBAAA,EAAoB;MAChB,IAAAC,WAAA,GAAyD,IAAI,CAACC,KAAK;QAA5DC,oBAAoB,GAAAF,WAAA,CAApBE,oBAAoB;QAAEC,wBAAwB,GAAAH,WAAA,CAAxBG,wBAAwB;MAErDD,oBAAoB,CAAC,CAAC;MACtB,IAAIE,iBAAE,CAACC,WAAW,KAAK,WAAW,EAAE;QAChCF,wBAAwB,CAAC,CAAC;MAC9B;IACJ;EAAC;IAAAN,GAAA;IAAAC,KAAA,EAED,SAAAQ,cAAcC,QAAQ,EAAE;MACpB,SAASC,iBAAiBA,CAACC,QAAQ,EAAEC,QAAQ,EAAE;QAC3C,OAAOD,QAAQ,CAACE,IAAI,GAAGD,QAAQ,CAACC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;MACjD;MAEA,IAAMC,MAAM,GAAG,IAAAC,gBAAA,EACXN,QAAQ,EACR,UAACK,MAAM,EAAEE,OAAO,EAAK;QACjB,IAAMC,YAAY,GAAGD,OAAO,CAACE,KAAK,IAAIC,0BAAa;QACnDL,MAAM,CAACG,YAAY,CAAC,GAAGH,MAAM,CAACG,YAAY,CAAC,IAAI,EAAE;QACjDH,MAAM,CAACG,YAAY,CAAC,CAACG,IAAI,CAACJ,OAAO,CAAC;QAClC,OAAOF,MAAM;MACjB,CAAC,EACD,CAAC,CACL,CAAC;MAED,IAAAO,cAAA,EAAOP,MAAM,EAAE,UAACL,QAAQ,EAAK;QACzBA,QAAQ,CAACa,IAAI,CAACZ,iBAAiB,CAAC;MACpC,CAAC,CAAC;MAEF,OAAOI,MAAM;IACjB;EAAC;IAAAf,GAAA;IAAAC,KAAA,EAED,SAAAuB,cAAAC,IAAA,EAAoD;MAAA,IAArCC,SAAS,GAAAD,IAAA,CAATC,SAAS;QAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;QAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;QAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;MAC7C,IAAIC,KAAK;MACT,IAAIC,IAAI,GAAG,GAAG;MACd,IAAIL,SAAS,KAAK,QAAQ,EAAE;QACxB,IAAIC,MAAM,KAAK,SAAS,EAAE;UACtBG,KAAK,+BAAAE,MAAA,CAA+BJ,OAAO,CAAE;UAC7CG,IAAI,GAAGH,OAAO;QAClB,CAAC,MAAM,IAAID,MAAM,KAAK,MAAM,IAAIE,MAAM,KAAK,WAAW,EAAE;UACpDC,KAAK,GAAG,kDAAkD;UAC1DC,IAAI,GAAG,WAAW;QACtB,CAAC,MAAM,IAAIJ,MAAM,KAAK,MAAM,IAAIE,MAAM,KAAK,WAAW,EAAE;UACpDC,KAAK,GAAG,gDAAgD;QAC5D;MACJ,CAAC,MAAM;QACHA,KAAK,GAAG,sCAAsC;MAClD;MACA,oBACI,IAAAG,eAAA;QAAKC,SAAS,EAAE7C,CAAC,CAAC,cAAc,CAAE;QAACyC,KAAK,EAAEA,KAAM;QAAAK,QAAA,EAC3CJ;MAAI,CACJ,CAAC;IAEd;EAAC;IAAA/B,GAAA;IAAAC,KAAA,EAED,SAAAmC,cAAcnB,OAAO,EAAEoB,IAAI,EAAE;MACzB,IAAOR,MAAM,GACTZ,OAAO,CADJY,MAAM;QAAEF,MAAM,GACjBV,OAAO,CADIU,MAAM;QAAEW,EAAE,GACrBrB,OAAO,CADYqB,EAAE;QAAExB,IAAI,GAC3BG,OAAO,CADgBH,IAAI;QAAEN,WAAW,GACxCS,OAAO,CADsBT,WAAW;QAAE+B,kBAAkB,GAC5DtB,OAAO,CADmCsB,kBAAkB;QAAEC,WAAW,GACzEvB,OAAO,CADuDuB,WAAW;QAAEC,KAAK,GAChFxB,OAAO,CADoEwB,KAAK;MAEpF,IAAMP,SAAS,GAAG7C,CAAC,CAAC,MAAM,EAAE;QACxBqD,KAAK,EAAEb,MAAM;QACbF,MAAM,EAAEE,MAAM,KAAK,WAAW,IAAIF,MAAM;QACxCU,IAAI,EAAJA;MACJ,CAAC,CAAC;MAEF,IAAMM,YAAY,GAAGF,KAAK,0BAAAT,MAAA,CAA0BS,KAAK,IAAK,eAAe;MAC7E,IAAAG,qBAAA,GAA0B,IAAAC,gCAAoB,EAACP,EAAE,CAAC;QAA3CQ,OAAO,GAAAF,qBAAA,CAAPE,OAAO;QAAEC,MAAM,GAAAH,qBAAA,CAANG,MAAM;MAEtB,oBACI,IAAAd,eAAA,EAACe,oBAAI;QAAUd,SAAS,EAAEA,SAAU;QAACe,EAAE,EAAE,GAAG,GAAGX,EAAG;QAAAH,QAAA,eAC9C,IAAAe,gBAAA;UAAKhB,SAAS,EAAE7C,CAAC,CAAC,WAAW,CAAE;UAAA8C,QAAA,gBAC3B,IAAAF,eAAA;YAAKC,SAAS,EAAE7C,CAAC,CAAC,cAAc,CAAE;YAAA8C,QAAA,EAAErB;UAAI,CAAM,CAAC,eAE/C,IAAAmB,eAAA;YAAKC,SAAS,EAAE7C,CAAC,CAAC,oBAAoB,CAAE;YAAA8C,QAAA,eACpC,IAAAF,eAAA;cACIC,SAAS,EAAE7C,CAAC,CAAC,YAAY,EAAEsD,YAAY,CAAE;cACzCQ,KAAK,EAAE;gBACHC,eAAe,EAAE,MAAM,IAAIN,OAAO,IAAIC,MAAM,CAAC,GAAG;cACpD;YAAE,CACL;UAAC,CACD,CAAC,eAEN,IAAAd,eAAA;YAAKC,SAAS,EAAE7C,CAAC,CAAC,iBAAiB;UAAE,CAAE,CAAC,EAEvC,IAAI,CAACmC,aAAa,CAACP,OAAO,CAAC,eAE5B,IAAAgB,eAAA;YAAKC,SAAS,EAAE7C,CAAC,CAAC,kBAAkB,CAAE;YAAA8C,QAAA,eAClC,IAAAF,eAAA;cAAAE,QAAA,EAAOkB,eAAM,CAAC,gBAAgB,CAAC,CAAC7C,WAAW;YAAC,CAAO;UAAC,CACnD,CAAC,eAEN,IAAAyB,eAAA;YAAKC,SAAS,EAAE7C,CAAC,CAAC,kBAAkB,EAAE,6BAA6B,CAAE;YAAA8C,QAAA,EAChEI,kBAAkB,GAAGA,kBAAkB,GAAGC;UAAW,CACrD,CAAC;QAAA,CACL;MAAC,GAxBCF,EAyBL,CAAC;IAEf;EAAC;IAAAtC,GAAA;IAAAC,KAAA,EAED,SAAAqD,gBAAgB5C,QAAQ,EAAE;MAAA,IAAA6C,KAAA;MACtB,IAAMC,aAAa,GAAG,IAAI,CAAC/C,aAAa,CAACC,QAAQ,CAAC;MAElD,IAAM+C,OAAO,GAAG,IAAAC,gBAAA,EACZ/E,MAAM,CAACgF,IAAI,CAACH,aAAa,CAAC,EAC1B,UAACI,SAAS;QAAA,OAAK,EAAEA,SAAS,IAAIC,2BAAc,CAAC;MAAA,CACjD,CAAC;MAED,oBACI,IAAA5B,eAAA;QAAiBC,SAAS,EAAE7C,CAAC,CAAC,KAAK,EAAE,wBAAwB,CAAE;QAAA8C,QAAA,EAC1D,IAAA2B,aAAA,EAAMC,iCAAoB,CAAC/B,MAAM,CAACyB,OAAO,CAAC,EAAE,UAACG,SAAS,EAAK;UAAA,IAAAI,qBAAA;UACxD,IAAMtD,QAAQ,GAAG8C,aAAa,CAACI,SAAS,CAAC;UACzC,IAAAK,KAAA,IAAAD,qBAAA,GAAwBH,2BAAc,CAACD,SAAS,CAAC,cAAAI,qBAAA,cAAAA,qBAAA,GAAI;cAACE,OAAO,EAAEN;YAAS,CAAC;YAAlEM,OAAO,GAAAD,KAAA,CAAPC,OAAO;YAAE7B,IAAI,GAAA4B,KAAA,CAAJ5B,IAAI;UAEpB,OACI3B,QAAQ,IACRA,QAAQ,CAACyD,MAAM,iBACX,IAAAjB,gBAAA;YAAqBhB,SAAS,EAAE7C,CAAC,CAAC,OAAO,CAAE;YAAA8C,QAAA,gBACvC,IAAAF,eAAA;cACIC,SAAS,EAAE7C,CAAC,CACR,SAAS,EACT;gBAAC+E,QAAQ,EAAE,QAAQ;gBAAE/B,IAAI,EAAE;cAAG,CAAC,EAC/BhD,CAAC,CAAC,eAAe,CACrB,CAAE;cAAA8C,QAAA,EAED+B;YAAO,CACP,CAAC,eACN,IAAAjC,eAAA;cAAKC,SAAS,EAAE7C,CAAC,CAAC,MAAM,CAAE;cAAA8C,QAAA,EACrB,IAAA2B,aAAA,EAAMpD,QAAQ,EAAE,UAACO,OAAO;gBAAA,OACrBsC,KAAI,CAACnB,aAAa,CAACnB,OAAO,EAAEoB,IAAI,CAAC;cAAA,CACrC;YAAC,CACA,CAAC;UAAA,GAdAuB,SAeL,CACR;QAET,CAAC;MAAC,GA1BI,MA2BJ,CAAC;IAEf;EAAC;IAAA5D,GAAA;IAAAC,KAAA,EAED,SAAAoE,YAAY3D,QAAQ,EAAE;MAClB,IAAM4D,aAAa,GAAG;QAClBC,GAAG,EAAE,cAAc;QACnB9B,KAAK,EAAE,OAAO;QACd+B,OAAO,EAAE,IAAI;QACbC,OAAO,EAAEC,6BAAqB;QAC9BC,UAAU,EAAE,SAAAA,WAAUC,IAAI,EAAE;UACxB,OAAOA,IAAI,CAAC9D,IAAI;QACpB,CAAC;QACD+D,WAAW,EAAE,SAAAA,YAAUD,IAAI,EAAE;UACzB;UACA;UACAE,MAAM,CAACC,QAAQ,OAAA/C,MAAA,CAAO4C,IAAI,CAACtC,EAAE,CAAE;QACnC,CAAC;QACD0C,OAAO,EAAE;UACLC,KAAK,EAAE;YACHC,KAAK,EAAE;cACHC,KAAK,EAAE,QAAQ;cACfjB,OAAO,EAAE,EAAE;cACX3C,IAAI,EAAE;YACV,CAAC;YACDT,IAAI,EAAE;cACFvC,GAAG,EAAE,SAAAA,IAAU0C,OAAO,EAAE;gBACpB,OAAOA,OAAO,CAACH,IAAI;cACvB,CAAC;cACDS,IAAI,EAAE,IAAI;cACV4D,KAAK,EAAE;YACX,CAAC;YACD3E,WAAW,EAAE;cACTjC,GAAG,EAAE,SAAAA,IAAU0C,OAAO,EAAE;gBACpB,OAAOA,OAAO,CAACT,WAAW;cAC9B,CAAC;cACDe,IAAI,EAAE,IAAI;cACV4D,KAAK,EAAE;YACX,CAAC;YACDvD,OAAO,EAAE;cACLrD,GAAG,EAAE,SAAAA,IAAU0C,OAAO,EAAE;gBACpB,OAAO,CAACA,OAAO,CAACW,OAAO,EAAEX,OAAO,CAACqB,EAAE,CAAC;cACxC,CAAC;cACDf,IAAI,EAAE,IAAI;cACV4D,KAAK,EAAE;YACX,CAAC;YACDtD,MAAM,EAAE;cACJtD,GAAG,EAAE,SAAAA,IAAU0C,OAAO,EAAE;gBACpB,OAAO,CAACA,OAAO,CAACY,MAAM,EAAEZ,OAAO,CAACqB,EAAE,CAAC;cACvC,CAAC;cACDf,IAAI,EAAE,IAAI;cACV4D,KAAK,EAAE;YACX,CAAC;YACDxD,MAAM,EAAE;cACJpD,GAAG,EAAE,SAAAA,IAAU0C,OAAO,EAAE;gBACpB,OAAO,CAACA,OAAO,CAACU,MAAM,EAAEV,OAAO,CAACqB,EAAE,CAAC;cACvC,CAAC;cACDf,IAAI,EAAE,IAAI;cACV4D,KAAK,EAAE;YACX;UACJ,CAAC;UACDC,IAAI,EAAE;YACF,WAAS;cACLH,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;YACzE;UACJ,CAAC;UACDI,IAAI,EAAE;QACV,CAAC;QACDC,SAAS,EAAE;UACPtF,GAAG,EAAE,cAAc;UACnBuF,IAAI,EAAE,CAAC;QACX;MACJ,CAAC;MAED,IAAOC,SAAS,GAAI,IAAI,CAACpF,KAAK,CAAvBoF,SAAS;MAChB,IAAMC,KAAK,GAAG9G,MAAM,CAAC+G,MAAM,CAAC,CAAC,CAAC,EAAEpB,aAAa,EAAE;QAC3CW,KAAK,EAAEU,YAAK,CAACpE,IAAI,CAACb,QAAQ,EAAE8E,SAAS,EAAElB,aAAa,CAACU,OAAO,CAACC,KAAK,CAAC;QACnED,OAAO,EAAErG,MAAM,CAAC+G,MAAM,CAAC,CAAC,CAAC,EAAEpB,aAAa,CAACU,OAAO;MACpD,CAAC,CAAC;MAEF,oBACI,IAAA/C,eAAA;QAAiBC,SAAS,EAAE7C,CAAC,CAAC,KAAK,EAAE,wBAAwB,CAAE;QAAA8C,QAAA,eAC3D,IAAAF,eAAA;UAAKC,SAAS,EAAE7C,CAAC,CAAC,eAAe,CAAE;UAAA8C,QAAA,eAC/B,IAAAF,eAAA,EAAC2D,sBAAa,MAAAC,sBAAA,MAAKJ,KAAK,CAAG;QAAC,CAC3B;MAAC,GAHA,MAIJ,CAAC;IAEf;EAAC;IAAAzF,GAAA;IAAAC,KAAA,EAED,SAAA6F,mBAAA,EAAqB;MACjB,IAAM5D,SAAS,GAAG7C,CAAC,CAAC,SAAS,EAAE;QAAC+E,QAAQ,EAAE,QAAQ;QAAE/B,IAAI,EAAE;MAAG,CAAC,CAAC;MAC/D,oBACI,IAAAJ,eAAA;QAAiBC,SAAS,EAAE7C,CAAC,CAAC,KAAK,EAAE,wBAAwB,CAAE;QAAA8C,QAAA,eAC3D,IAAAF,eAAA;UAAKC,SAAS,EAAE7C,CAAC,CAAC,SAAS,EAAE6C,SAAS,CAAE;UAAAC,QAAA,EAAC;QAAmC,CAAK;MAAC,GAD5E,MAEJ,CAAC;IAEf;EAAC;IAAAnC,GAAA;IAAAC,KAAA,EAED,SAAA8F,OAAA,EAAS;MACL,IAAAC,YAAA,GAA4C,IAAI,CAAC5F,KAAK;QAA/C6F,QAAQ,GAAAD,YAAA,CAARC,QAAQ;QAAEC,aAAa,GAAAF,YAAA,CAAbE,aAAa;QAAExF,QAAQ,GAAAsF,YAAA,CAARtF,QAAQ;MACxC,IAAMyF,MAAM,GAAG,IAAIC,MAAM,CAACF,aAAa,EAAE,GAAG,CAAC;MAE7C,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAK,EAAK;QAC7B,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,MAAM,CAACJ,MAAM,CAAC,GAAG,CAAC,CAAC;MACjE,CAAC;MAED,IAAMK,gBAAgB,GAAG,IAAA9C,gBAAA,EAAShD,QAAQ,EAAE,UAAA+F,KAAA,EAAgC;QAAA,IAA9BnE,EAAE,GAAAmE,KAAA,CAAFnE,EAAE;UAAEV,OAAO,GAAA6E,KAAA,CAAP7E,OAAO;UAAEpB,WAAW,GAAAiG,KAAA,CAAXjG,WAAW;QAClE,OAAO,CAAC8B,EAAE,EAAEV,OAAO,EAAEpB,WAAW,CAAC,CAACkG,IAAI,CAACL,aAAa,CAAC;MACzD,CAAC,CAAC;MAEF,IAAIJ,QAAQ,KAAK,WAAW,IAAIO,gBAAgB,CAACrC,MAAM,EAAE;QACrD,OAAO,IAAI,CAACb,eAAe,CAACkD,gBAAgB,CAAC;MACjD,CAAC,MAAM,IAAIP,QAAQ,KAAK,OAAO,IAAIO,gBAAgB,CAACrC,MAAM,EAAE;QACxD,OAAO,IAAI,CAACE,WAAW,CAACmC,gBAAgB,CAAC;MAC7C,CAAC,MAAM,IAAI,CAACA,gBAAgB,CAACrC,MAAM,EAAE;QACjC,OAAO,IAAI,CAAC2B,kBAAkB,CAAC,CAAC;MACpC;IACJ;EAAC;EAAA,OAAAvG,gBAAA;AAAA,EArQ0BoH,gBAAS;AAwQxC,SAASC,eAAeA,CAAAC,KAAA,EAAyB;EAAA,IAAvBC,YAAY,GAAAD,KAAA,CAAZC,YAAY;IAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;EAC1C,IAAOd,QAAQ,GAA6Ba,YAAY,CAAjDb,QAAQ;IAAEC,aAAa,GAAcY,YAAY,CAAvCZ,aAAa;IAAExF,QAAQ,GAAIoG,YAAY,CAAxBpG,QAAQ;EACxC,OAAO;IACHuF,QAAQ,EAARA,QAAQ;IACRC,aAAa,EAAbA,aAAa;IACbxF,QAAQ,EAARA,QAAQ;IACR8E,SAAS,EAAEuB,MAAM,CAACrC,6BAAqB;EAC3C,CAAC;AACL;AAEA,IAAMsC,kBAAkB,GAAG;EACvB3G,oBAAoB,EAApBA,kCAAoB;EACpBC,wBAAwB,EAAxBA;AACJ,CAAC;AAAA,IAAA2G,QAAA,GAAAC,OAAA,CAAA7I,OAAA,GAEc,IAAA8I,mBAAO,EAACP,eAAe,EAAEI,kBAAkB,CAAC,CAACzH,gBAAgB,CAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRedux","_bemCnLite","_interopRequireDefault","_reactRouterDom","_icons","_clusterMenu","_format","_utils","_ElementsTable","_ElementsTableHeader","_clustersMenu","_tables","_appearance","_ytConfig","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","b","block","ClustersMenuBody","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","componentDidMount","_this$props","props","fetchClusterVersions","fetchClusterAvailability","fetchClusterAuthStatus","YT","environment","prepareGroups","clusters","sortByClusterName","clusterA","clusterB","name","groups","_reduce","cluster","currentGroup","group","DEFAULT_GROUP","push","_each","sort","renderVersion","_ref","loadState","access","version","status","title","text","concat","_jsx","className","children","renderCluster","size","id","descriptionEnglish","description","theme","authorized","state","clusterTheme","_getClusterAppearance","getClusterAppearance","iconbig","icon2x","Link","to","_jsxs","Lock","style","backgroundImage","format","renderDashboard","_this","clusterGroups","unknown","_filter","keys","groupName","CLUSTER_GROUPS","_map","CLUSTER_GROUPS_ORDER","_CLUSTER_GROUPS$group","_ref2","caption","length","position","renderTable","tableSettings","css","striped","tableId","CLUSTER_MENU_TABLE_ID","computeKey","item","onItemClick","window","location","columns","items","image","align","sets","mode","templates","data","sortState","table","assign","utils","ElementsTable","_objectSpread","renderEmptyContent","render","_this$props2","viewMode","clusterFilter","regexp","RegExp","filterByField","field","search","filteredClusters","_ref3","some","Component","mapStateToProps","_ref4","clustersMenu","tables","mapDispatchToProps","_default","exports","connect"],"sources":["ClustersMenuBody.js"],"sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\nimport block from 'bem-cn-lite';\nimport {Link} from 'react-router-dom';\nimport _ from 'lodash';\nimport {Lock} from '@gravity-ui/icons';\n\nimport {CLUSTER_GROUPS, CLUSTER_GROUPS_ORDER, DEFAULT_GROUP} from '../../constants/cluster-menu';\nimport format from '@ytsaurus/interface-helpers/lib/hammer/format';\nimport {utils} from '../../common/hammer/utils';\nimport ElementsTable from '../../components/ElementsTable/ElementsTable';\nimport {sortStateType} from '../../components/ElementsTable/ElementsTableHeader';\nimport {\n fetchClusterAuthStatus,\n fetchClusterAvailability,\n fetchClusterVersions,\n} from '../../store/actions/clusters-menu';\nimport {CLUSTER_MENU_TABLE_ID} from '../../constants/tables';\nimport {getClusterAppearance} from '../../appearance';\nimport YT from '../../config/yt-config';\nimport './ClusterMenuBody.scss';\n\nconst b = block('cluster-menu');\n\nclass ClustersMenuBody extends Component {\n static propTypes = {\n // from connect\n clusterFilter: PropTypes.string,\n viewMode: PropTypes.oneOf(['dashboard', 'table']),\n clusters: PropTypes.object,\n fetchClusterVersions: PropTypes.func.isRequired,\n fetchClusterAuthStatus: PropTypes.func.isRequired,\n fetchClusterAvailability: PropTypes.func.isRequired,\n sortState: sortStateType.isRequired,\n };\n\n componentDidMount() {\n const {fetchClusterVersions, fetchClusterAvailability, fetchClusterAuthStatus} = this.props;\n\n fetchClusterVersions();\n fetchClusterAuthStatus();\n if (YT.environment !== 'localmode') {\n fetchClusterAvailability();\n }\n }\n\n prepareGroups(clusters) {\n function sortByClusterName(clusterA, clusterB) {\n return clusterA.name > clusterB.name ? 1 : -1;\n }\n\n const groups = _.reduce(\n clusters,\n (groups, cluster) => {\n const currentGroup = cluster.group || DEFAULT_GROUP;\n groups[currentGroup] = groups[currentGroup] || [];\n groups[currentGroup].push(cluster);\n return groups;\n },\n {},\n );\n\n _.each(groups, (clusters) => {\n clusters.sort(sortByClusterName);\n });\n\n return groups;\n }\n\n renderVersion({loadState, access, version, status}) {\n let title;\n let text = '—';\n if (loadState === 'loaded') {\n if (access === 'granted') {\n title = `Current cluster version: ${version}`;\n text = version;\n } else if (access === 'none' && status === 'available') {\n title = 'Please refer to Getting Started for more details';\n text = 'No access';\n } else if (access === 'none' && status !== 'available') {\n title = 'Could not load version, cluster is unavailable';\n }\n } else {\n title = 'Please wait, loading cluster version';\n }\n return (\n <div className={b('item-version')} title={title}>\n {text}\n </div>\n );\n }\n\n renderCluster(cluster, size) {\n const {\n status,\n access,\n id,\n name,\n environment,\n descriptionEnglish,\n description,\n theme,\n authorized,\n } = cluster;\n const className = b('item', {\n state: status,\n access: status === 'available' && access,\n size,\n });\n\n const clusterTheme = theme ? `cluster-color_theme_${theme}` : 'cluster-color';\n const {iconbig, icon2x} = getClusterAppearance(id);\n\n return (\n <Link key={id} className={className} to={'/' + id}>\n <div className={b('item-body')}>\n {authorized ? null : (\n <span className={b('item-auth-status')}>\n <Lock />\n </span>\n )}\n <div className={b('item-heading')}>{name}</div>\n\n <div className={b('item-image-wrapper')}>\n <div\n className={b('item-image', clusterTheme)}\n style={{\n backgroundImage: 'url(' + (iconbig || icon2x) + ')',\n }}\n />\n </div>\n\n <div className={b('item-image-veil')} />\n\n {this.renderVersion(cluster)}\n\n <div className={b('item-environment')}>\n <span>{format['ValueOrDefault'](environment)}</span>\n </div>\n\n <div className={b('item-description', 'elements-multiline-ellipsis')}>\n {descriptionEnglish ? descriptionEnglish : description}\n </div>\n </div>\n </Link>\n );\n }\n\n renderDashboard(clusters) {\n const clusterGroups = this.prepareGroups(clusters);\n\n const unknown = _.filter(\n Object.keys(clusterGroups),\n (groupName) => !(groupName in CLUSTER_GROUPS),\n );\n\n return (\n <main key=\"body\" className={b(false, 'elements-page__content')}>\n {_.map(CLUSTER_GROUPS_ORDER.concat(unknown), (groupName) => {\n const clusters = clusterGroups[groupName];\n const {caption, size} = CLUSTER_GROUPS[groupName] ?? {caption: groupName};\n\n return (\n clusters &&\n clusters.length && (\n <div key={groupName} className={b('group')}>\n <div\n className={b(\n 'heading',\n {position: 'center', size: 'l'},\n b('group-heading'),\n )}\n >\n {caption}\n </div>\n <div className={b('list')}>\n {_.map(clusters, (cluster) =>\n this.renderCluster(cluster, size),\n )}\n </div>\n </div>\n )\n );\n })}\n </main>\n );\n }\n\n renderTable(clusters) {\n const tableSettings = {\n css: 'cluster-menu',\n theme: 'light',\n striped: true,\n tableId: CLUSTER_MENU_TABLE_ID,\n computeKey: function (item) {\n return item.name;\n },\n onItemClick: function (item) {\n // FIXME: give back control to react-router once we no longer need to render full page on server\n // to get cluster credentials\n window.location = `/${item.id}`;\n },\n columns: {\n items: {\n image: {\n align: 'center',\n caption: '',\n sort: false,\n },\n name: {\n get: function (cluster) {\n return cluster.name;\n },\n sort: true,\n align: 'left',\n },\n environment: {\n get: function (cluster) {\n return cluster.environment;\n },\n sort: true,\n align: 'left',\n },\n version: {\n get: function (cluster) {\n return [cluster.version, cluster.id];\n },\n sort: true,\n align: 'right',\n },\n status: {\n get: function (cluster) {\n return [cluster.status, cluster.id];\n },\n sort: true,\n align: 'center',\n },\n access: {\n get: function (cluster) {\n return [cluster.access, cluster.id];\n },\n sort: true,\n align: 'center',\n },\n },\n sets: {\n default: {\n items: ['image', 'name', 'environment', 'version', 'status', 'access'],\n },\n },\n mode: 'default',\n },\n templates: {\n key: 'cluster-menu',\n data: {},\n },\n };\n\n const {sortState} = this.props;\n const table = Object.assign({}, tableSettings, {\n items: utils.sort(clusters, sortState, tableSettings.columns.items),\n columns: Object.assign({}, tableSettings.columns),\n });\n\n return (\n <main key=\"body\" className={b(false, 'elements-page__content')}>\n <div className={b('table-wrapper')}>\n <ElementsTable {...table} />\n </div>\n </main>\n );\n }\n\n renderEmptyContent() {\n const className = b('heading', {position: 'center', size: 'l'});\n return (\n <main key=\"body\" className={b(false, 'elements-page__content')}>\n <div className={b('message', className)}>No clusters matching your selection</div>\n </main>\n );\n }\n\n render() {\n const {viewMode, clusterFilter, clusters} = this.props;\n const regexp = new RegExp(clusterFilter, 'i');\n\n const filterByField = (field) => {\n return typeof field === 'string' && field.search(regexp) > -1;\n };\n\n const filteredClusters = _.filter(clusters, ({id, version, environment}) => {\n return [id, version, environment].some(filterByField);\n });\n\n if (viewMode === 'dashboard' && filteredClusters.length) {\n return this.renderDashboard(filteredClusters);\n } else if (viewMode === 'table' && filteredClusters.length) {\n return this.renderTable(filteredClusters);\n } else if (!filteredClusters.length) {\n return this.renderEmptyContent();\n }\n }\n}\n\nfunction mapStateToProps({clustersMenu, tables}) {\n const {viewMode, clusterFilter, clusters} = clustersMenu;\n return {\n viewMode,\n clusterFilter,\n clusters,\n sortState: tables[CLUSTER_MENU_TABLE_ID],\n };\n}\n\nconst mapDispatchToProps = {\n fetchClusterVersions,\n fetchClusterAuthStatus,\n fetchClusterAvailability,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ClustersMenuBody);\n"],"mappings":"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"}
@@ -8,13 +8,13 @@ declare const _default: import("react-redux").ConnectedComponent<typeof Clusters
8
8
  viewMode: PropTypes.Validator<string>;
9
9
  updateFilter: PropTypes.Validator<(...args: any[]) => any>;
10
10
  updateViewMode: PropTypes.Validator<(...args: any[]) => any>;
11
- login: PropTypes.Validator<string>;
12
- }>, "clusterFilter" | PropTypes.RequiredKeys<{
11
+ login: PropTypes.Requireable<string>;
12
+ }>, "login" | "clusterFilter" | PropTypes.RequiredKeys<{
13
13
  clusterFilter: PropTypes.Requireable<string>;
14
14
  viewMode: PropTypes.Validator<string>;
15
15
  updateFilter: PropTypes.Validator<(...args: any[]) => any>;
16
16
  updateViewMode: PropTypes.Validator<(...args: any[]) => any>;
17
- login: PropTypes.Validator<string>;
17
+ login: PropTypes.Requireable<string>;
18
18
  }>>, "login" | "viewMode" | "updateFilter" | "clusterFilter" | "updateViewMode">>;
19
19
  export default _default;
20
20
  declare function ClustersMenuHeader({ viewMode, updateViewMode, clusterFilter, updateFilter }: {
@@ -29,7 +29,7 @@ declare namespace ClustersMenuHeader {
29
29
  let viewMode: PropTypes.Validator<string>;
30
30
  let updateFilter: PropTypes.Validator<(...args: any[]) => any>;
31
31
  let updateViewMode: PropTypes.Validator<(...args: any[]) => any>;
32
- let login: PropTypes.Validator<string>;
32
+ let login: PropTypes.Requireable<string>;
33
33
  }
34
34
  }
35
35
  import PropTypes from 'prop-types';
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_reactRedux","_Filter","_RadioButton","_clustersMenu","_HeaderLinks","_headerLinksItems","_jsxRuntime","obj","__esModule","default","b","block","ClustersMenuHeader","_ref","viewMode","updateViewMode","clusterFilter","updateFilter","_jsx","className","children","_jsxs","Filter","value","placeholder","onChange","RadioButton","size","name","event","target","items","text","icon","awesome","HeaderLinks","currentUrl","LINKS_ITEM_CLUSTERS","href","mapStateToProps","_ref2","clustersMenu","global","login","mapDispatchToProps","_default","exports","connect"],"sources":["ClustersMenuHeader.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\nimport {connect} from 'react-redux';\n\nimport Filter from '../../components/Filter/Filter';\nimport RadioButton from '../../components/RadioButton/RadioButton';\nimport {updateFilter, updateViewMode} from '../../store/actions/clusters-menu';\nimport {HeaderLinks} from '../../containers/ClustersMenu/HeaderLinks';\nimport {LINKS_ITEM_CLUSTERS} from '../../containers/ClustersMenu/header-links-items';\n\nimport './ClusterMenuHeader.scss';\n\nconst b = block('cluster-menu');\n\nClustersMenuHeader.propTypes = {\n clusterFilter: PropTypes.string,\n viewMode: PropTypes.oneOf(['dashboard', 'table']).isRequired,\n updateFilter: PropTypes.func.isRequired,\n updateViewMode: PropTypes.func.isRequired,\n login: PropTypes.string.isRequired,\n};\n\nfunction ClustersMenuHeader({viewMode, updateViewMode, clusterFilter, updateFilter}) {\n return (\n <header className={b('header', 'elements-page__header')}>\n <div className={b('header-inner')}>\n <div className={b('filter')}>\n <div className=\"elements-filter\">\n <Filter\n value={clusterFilter}\n placeholder=\"Filter clusters\"\n onChange={updateFilter}\n />\n </div>\n </div>\n <div className={b('view')}>\n <RadioButton\n size=\"m\"\n name=\"cluster-menu-mode\"\n value={viewMode}\n onChange={(event) => updateViewMode(event.target.value)}\n items={[\n {\n value: 'table',\n text: '',\n icon: {awesome: 'list'},\n },\n {\n value: 'dashboard',\n text: '',\n icon: {awesome: 'table'},\n },\n ]}\n />\n </div>\n\n <HeaderLinks currentUrl={LINKS_ITEM_CLUSTERS.href} />\n </div>\n </header>\n );\n}\n\nfunction mapStateToProps({clustersMenu, global}) {\n const {viewMode, clusterFilter} = clustersMenu;\n const {login} = global;\n return {\n viewMode,\n clusterFilter,\n login,\n };\n}\n\nconst mapDispatchToProps = {\n updateViewMode,\n updateFilter,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ClustersMenuHeader);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AAEAA,OAAA;AAAkC,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAD,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAElC,IAAMG,CAAC,GAAG,IAAAC,kBAAK,EAAC,cAAc,CAAC;AAU/B,SAASC,kBAAkBA,CAAAC,IAAA,EAA0D;EAAA,IAAxDC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,cAAc,GAAAF,IAAA,CAAdE,cAAc;IAAEC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;EAC9E,oBACI,IAAAC,eAAA;IAAQC,SAAS,EAAET,CAAC,CAAC,QAAQ,EAAE,uBAAuB,CAAE;IAAAU,QAAA,eACpD,IAAAC,gBAAA;MAAKF,SAAS,EAAET,CAAC,CAAC,cAAc,CAAE;MAAAU,QAAA,gBAC9B,IAAAF,eAAA;QAAKC,SAAS,EAAET,CAAC,CAAC,QAAQ,CAAE;QAAAU,QAAA,eACxB,IAAAF,eAAA;UAAKC,SAAS,EAAC,iBAAiB;UAAAC,QAAA,eAC5B,IAAAF,eAAA,EAACI,eAAM;YACHC,KAAK,EAAEP,aAAc;YACrBQ,WAAW,EAAC,iBAAiB;YAC7BC,QAAQ,EAAER;UAAa,CAC1B;QAAC,CACD;MAAC,CACL,CAAC,eACN,IAAAC,eAAA;QAAKC,SAAS,EAAET,CAAC,CAAC,MAAM,CAAE;QAAAU,QAAA,eACtB,IAAAF,eAAA,EAACQ,oBAAW;UACRC,IAAI,EAAC,GAAG;UACRC,IAAI,EAAC,mBAAmB;UACxBL,KAAK,EAAET,QAAS;UAChBW,QAAQ,EAAE,SAAAA,SAACI,KAAK;YAAA,OAAKd,cAAc,CAACc,KAAK,CAACC,MAAM,CAACP,KAAK,CAAC;UAAA,CAAC;UACxDQ,KAAK,EAAE,CACH;YACIR,KAAK,EAAE,OAAO;YACdS,IAAI,EAAE,EAAE;YACRC,IAAI,EAAE;cAACC,OAAO,EAAE;YAAM;UAC1B,CAAC,EACD;YACIX,KAAK,EAAE,WAAW;YAClBS,IAAI,EAAE,EAAE;YACRC,IAAI,EAAE;cAACC,OAAO,EAAE;YAAO;UAC3B,CAAC;QACH,CACL;MAAC,CACD,CAAC,eAEN,IAAAhB,eAAA,EAACiB,wBAAW;QAACC,UAAU,EAAEC,qCAAmB,CAACC;MAAK,CAAE,CAAC;IAAA,CACpD;EAAC,CACF,CAAC;AAEjB;AAEA,SAASC,eAAeA,CAAAC,KAAA,EAAyB;EAAA,IAAvBC,YAAY,GAAAD,KAAA,CAAZC,YAAY;IAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;EAC1C,IAAO5B,QAAQ,GAAmB2B,YAAY,CAAvC3B,QAAQ;IAAEE,aAAa,GAAIyB,YAAY,CAA7BzB,aAAa;EAC9B,IAAO2B,KAAK,GAAID,MAAM,CAAfC,KAAK;EACZ,OAAO;IACH7B,QAAQ,EAARA,QAAQ;IACRE,aAAa,EAAbA,aAAa;IACb2B,KAAK,EAALA;EACJ,CAAC;AACL;AAEA,IAAMC,kBAAkB,GAAG;EACvB7B,cAAc,EAAdA,4BAAc;EACdE,YAAY,EAAZA;AACJ,CAAC;AAAA,IAAA4B,QAAA,GAAAC,OAAA,CAAArC,OAAA,GAEc,IAAAsC,mBAAO,EAACR,eAAe,EAAEK,kBAAkB,CAAC,CAAChC,kBAAkB,CAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_reactRedux","_Filter","_RadioButton","_clustersMenu","_HeaderLinks","_headerLinksItems","_jsxRuntime","obj","__esModule","default","b","block","ClustersMenuHeader","_ref","viewMode","updateViewMode","clusterFilter","updateFilter","_jsx","className","children","_jsxs","Filter","value","placeholder","onChange","RadioButton","size","name","event","target","items","text","icon","awesome","HeaderLinks","currentUrl","LINKS_ITEM_CLUSTERS","href","mapStateToProps","_ref2","clustersMenu","global","login","mapDispatchToProps","_default","exports","connect"],"sources":["ClustersMenuHeader.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\nimport {connect} from 'react-redux';\n\nimport Filter from '../../components/Filter/Filter';\nimport RadioButton from '../../components/RadioButton/RadioButton';\nimport {updateFilter, updateViewMode} from '../../store/actions/clusters-menu';\nimport {HeaderLinks} from '../../containers/ClustersMenu/HeaderLinks';\nimport {LINKS_ITEM_CLUSTERS} from '../../containers/ClustersMenu/header-links-items';\n\nimport './ClusterMenuHeader.scss';\n\nconst b = block('cluster-menu');\n\nClustersMenuHeader.propTypes = {\n clusterFilter: PropTypes.string,\n viewMode: PropTypes.oneOf(['dashboard', 'table']).isRequired,\n updateFilter: PropTypes.func.isRequired,\n updateViewMode: PropTypes.func.isRequired,\n login: PropTypes.string,\n};\n\nfunction ClustersMenuHeader({viewMode, updateViewMode, clusterFilter, updateFilter}) {\n return (\n <header className={b('header', 'elements-page__header')}>\n <div className={b('header-inner')}>\n <div className={b('filter')}>\n <div className=\"elements-filter\">\n <Filter\n value={clusterFilter}\n placeholder=\"Filter clusters\"\n onChange={updateFilter}\n />\n </div>\n </div>\n <div className={b('view')}>\n <RadioButton\n size=\"m\"\n name=\"cluster-menu-mode\"\n value={viewMode}\n onChange={(event) => updateViewMode(event.target.value)}\n items={[\n {\n value: 'table',\n text: '',\n icon: {awesome: 'list'},\n },\n {\n value: 'dashboard',\n text: '',\n icon: {awesome: 'table'},\n },\n ]}\n />\n </div>\n\n <HeaderLinks currentUrl={LINKS_ITEM_CLUSTERS.href} />\n </div>\n </header>\n );\n}\n\nfunction mapStateToProps({clustersMenu, global}) {\n const {viewMode, clusterFilter} = clustersMenu;\n const {login} = global;\n return {\n viewMode,\n clusterFilter,\n login,\n };\n}\n\nconst mapDispatchToProps = {\n updateViewMode,\n updateFilter,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ClustersMenuHeader);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactRouterDom","require","_react","_interopRequireWildcard","_reactRouter","_reactRedux","_redux","_MaintenancePage","_interopRequireDefault","_index","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","HandleRedirect","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","shouldComponentUpdate","nextProps","location","props","eventsFirstUpdate","nextLocation","isDifferentLocation","render","_this$props","cluster","maintenancePageEvent","isMaintenancePage","MaintenancePage","checkMaintenancePageUrl","isIgnored","getBypassCookie","makeRedirect","Boolean","referrer","pathname","search","_jsx","Redirect","to","concat","Page","MAINTENANCE","state","Component","mapStateToProps","_ref","global","_default","exports","compose","withRouter","connect"],"sources":["HandleRedirect.js"],"sourcesContent":["import {withRouter} from 'react-router-dom';\nimport React, {Component} from 'react';\nimport {Redirect} from 'react-router';\nimport {connect} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {compose} from 'redux';\n\nimport MaintenancePage from '../../containers/MaintenancePage/MaintenancePage';\n\nimport {Page} from '../../constants/index';\n\nclass HandleRedirect extends Component {\n static propTypes = {\n location: PropTypes.object.isRequired,\n cluster: PropTypes.string.isRequired,\n eventsFirstUpdate: PropTypes.bool.isRequired,\n maintenancePageEvent: PropTypes.object,\n };\n\n shouldComponentUpdate(nextProps) {\n const {location} = this.props;\n const {eventsFirstUpdate, location: nextLocation} = nextProps;\n const isDifferentLocation = location !== nextLocation;\n\n return isDifferentLocation || eventsFirstUpdate;\n }\n\n render() {\n const {location, cluster, maintenancePageEvent} = this.props;\n\n if (maintenancePageEvent) {\n const isMaintenancePage = MaintenancePage.checkMaintenancePageUrl(location);\n const isIgnored = MaintenancePage.getBypassCookie(cluster);\n const makeRedirect = Boolean(!isMaintenancePage && !isIgnored);\n\n if (makeRedirect) {\n const referrer = location.pathname + location.search;\n\n return (\n <Redirect\n to={{\n pathname: `/${cluster}/${Page.MAINTENANCE}`,\n state: {referrer},\n }}\n />\n );\n }\n\n return null;\n }\n\n return null;\n }\n}\n\nconst mapStateToProps = ({global}) => {\n const {maintenancePageEvent, eventsFirstUpdate, cluster} = global;\n\n return {maintenancePageEvent, eventsFirstUpdate, cluster};\n};\n\nexport default compose(withRouter, connect(mapStateToProps))(HandleRedirect);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactRouterDom","require","_react","_interopRequireWildcard","_reactRouter","_reactRedux","_redux","_MaintenancePage","_interopRequireDefault","_index","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","HandleRedirect","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","shouldComponentUpdate","nextProps","location","props","eventsFirstUpdate","nextLocation","isDifferentLocation","render","_this$props","cluster","maintenancePageEvent","isMaintenancePage","MaintenancePage","checkMaintenancePageUrl","isIgnored","getBypassCookie","makeRedirect","Boolean","referrer","pathname","search","_jsx","Redirect","to","concat","Page","MAINTENANCE","state","Component","mapStateToProps","_ref","global","_default","exports","compose","withRouter","connect"],"sources":["HandleRedirect.js"],"sourcesContent":["import {withRouter} from 'react-router-dom';\nimport React, {Component} from 'react';\nimport {Redirect} from 'react-router';\nimport {connect} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {compose} from 'redux';\n\nimport MaintenancePage from '../../containers/MaintenancePage/MaintenancePage';\n\nimport {Page} from '../../constants/index';\n\nclass HandleRedirect extends Component {\n static propTypes = {\n location: PropTypes.object.isRequired,\n cluster: PropTypes.string,\n eventsFirstUpdate: PropTypes.bool.isRequired,\n maintenancePageEvent: PropTypes.object,\n };\n\n shouldComponentUpdate(nextProps) {\n const {location} = this.props;\n const {eventsFirstUpdate, location: nextLocation} = nextProps;\n const isDifferentLocation = location !== nextLocation;\n\n return isDifferentLocation || eventsFirstUpdate;\n }\n\n render() {\n const {location, cluster, maintenancePageEvent} = this.props;\n\n if (maintenancePageEvent) {\n const isMaintenancePage = MaintenancePage.checkMaintenancePageUrl(location);\n const isIgnored = MaintenancePage.getBypassCookie(cluster);\n const makeRedirect = Boolean(!isMaintenancePage && !isIgnored);\n\n if (makeRedirect) {\n const referrer = location.pathname + location.search;\n\n return (\n <Redirect\n to={{\n pathname: `/${cluster}/${Page.MAINTENANCE}`,\n state: {referrer},\n }}\n />\n );\n }\n\n return null;\n }\n\n return null;\n }\n}\n\nconst mapStateToProps = ({global}) => {\n const {maintenancePageEvent, eventsFirstUpdate, cluster} = global;\n\n return {maintenancePageEvent, eventsFirstUpdate, cluster};\n};\n\nexport default compose(withRouter, connect(mapStateToProps))(HandleRedirect);\n"],"mappings":"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"}
@@ -19,7 +19,10 @@ function onError(e) {
19
19
  var _e$response;
20
20
  var isAuthError = _axios.default.isAxiosError(e) && ((_e$response = e.response) === null || _e$response === void 0 ? void 0 : _e$response.status) === 401;
21
21
  if (isAuthError) {
22
- (0, _global.handleAuthError)();
22
+ var _e$response2;
23
+ (0, _global.handleAuthError)({
24
+ ytAuthCluster: e === null || e === void 0 || (_e$response2 = e.response) === null || _e$response2 === void 0 || (_e$response2 = _e$response2.data) === null || _e$response2 === void 0 || (_e$response2 = _e$response2.extraData) === null || _e$response2 === void 0 ? void 0 : _e$response2.ytAuthCluster
25
+ });
23
26
  }
24
27
  }
25
28
  // #sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_renderApp","require","_yt","_interopRequireDefault","_axios","_global","obj","__esModule","default","yt","subscribe","onError","axios","interceptors","response","use","undefined","onAxiosError","renderApp","e","Promise","reject","_e$response","isAuthError","isAxiosError","status","handleAuthError"],"sources":["main.tsx"],"sourcesContent":["import {renderApp} from '../render-app';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport axios from 'axios';\nimport {handleAuthError} from '../store/actions/global';\nimport './main.scss';\n\nyt.subscribe('error', onError);\naxios.interceptors.response.use(undefined, onAxiosError);\n\nrenderApp({});\n\nfunction onAxiosError(e: any) {\n onError(e);\n return Promise.reject(e);\n}\n\nfunction onError(e: any) {\n const isAuthError = axios.isAxiosError(e) && e.response?.status === 401;\n if (isAuthError) {\n handleAuthError();\n }\n}\n"],"mappings":";;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,GAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACAA,OAAA;AAAoB,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAJpB;;AAMAG,WAAE,CAACC,SAAS,CAAC,OAAO,EAAEC,OAAO,CAAC;AAC9BC,cAAK,CAACC,YAAY,CAACC,QAAQ,CAACC,GAAG,CAACC,SAAS,EAAEC,YAAY,CAAC;AAExD,IAAAC,oBAAS,EAAC,CAAC,CAAC,CAAC;AAEb,SAASD,YAAYA,CAACE,CAAM,EAAE;EAC1BR,OAAO,CAACQ,CAAC,CAAC;EACV,OAAOC,OAAO,CAACC,MAAM,CAACF,CAAC,CAAC;AAC5B;AAEA,SAASR,OAAOA,CAACQ,CAAM,EAAE;EAAA,IAAAG,WAAA;EACrB,IAAMC,WAAW,GAAGX,cAAK,CAACY,YAAY,CAACL,CAAC,CAAC,IAAI,EAAAG,WAAA,GAAAH,CAAC,CAACL,QAAQ,cAAAQ,WAAA,uBAAVA,WAAA,CAAYG,MAAM,MAAK,GAAG;EACvE,IAAIF,WAAW,EAAE;IACb,IAAAG,uBAAe,EAAC,CAAC;EACrB;AACJ"}
1
+ {"version":3,"names":["_renderApp","require","_yt","_interopRequireDefault","_axios","_global","obj","__esModule","default","yt","subscribe","onError","axios","interceptors","response","use","undefined","onAxiosError","renderApp","e","Promise","reject","_e$response","isAuthError","isAxiosError","status","_e$response2","handleAuthError","ytAuthCluster","data","extraData"],"sources":["main.tsx"],"sourcesContent":["import {renderApp} from '../render-app';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport axios from 'axios';\nimport {handleAuthError} from '../store/actions/global';\nimport './main.scss';\n\nyt.subscribe('error', onError);\naxios.interceptors.response.use(undefined, onAxiosError);\n\nrenderApp({});\n\nfunction onAxiosError(e: any) {\n onError(e);\n return Promise.reject(e);\n}\n\nfunction onError(e: any) {\n const isAuthError = axios.isAxiosError(e) && e.response?.status === 401;\n if (isAuthError) {\n handleAuthError({ytAuthCluster: e?.response?.data?.extraData?.ytAuthCluster});\n }\n}\n"],"mappings":";;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,GAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACAA,OAAA;AAAoB,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAJpB;;AAMAG,WAAE,CAACC,SAAS,CAAC,OAAO,EAAEC,OAAO,CAAC;AAC9BC,cAAK,CAACC,YAAY,CAACC,QAAQ,CAACC,GAAG,CAACC,SAAS,EAAEC,YAAY,CAAC;AAExD,IAAAC,oBAAS,EAAC,CAAC,CAAC,CAAC;AAEb,SAASD,YAAYA,CAACE,CAAM,EAAE;EAC1BR,OAAO,CAACQ,CAAC,CAAC;EACV,OAAOC,OAAO,CAACC,MAAM,CAACF,CAAC,CAAC;AAC5B;AAEA,SAASR,OAAOA,CAACQ,CAAM,EAAE;EAAA,IAAAG,WAAA;EACrB,IAAMC,WAAW,GAAGX,cAAK,CAACY,YAAY,CAACL,CAAC,CAAC,IAAI,EAAAG,WAAA,GAAAH,CAAC,CAACL,QAAQ,cAAAQ,WAAA,uBAAVA,WAAA,CAAYG,MAAM,MAAK,GAAG;EACvE,IAAIF,WAAW,EAAE;IAAA,IAAAG,YAAA;IACb,IAAAC,uBAAe,EAAC;MAACC,aAAa,EAAET,CAAC,aAADA,CAAC,gBAAAO,YAAA,GAADP,CAAC,CAAEL,QAAQ,cAAAY,YAAA,gBAAAA,YAAA,GAAXA,YAAA,CAAaG,IAAI,cAAAH,YAAA,gBAAAA,YAAA,GAAjBA,YAAA,CAAmBI,SAAS,cAAAJ,YAAA,uBAA5BA,YAAA,CAA8BE;IAAa,CAAC,CAAC;EACjF;AACJ"}
@@ -99,6 +99,10 @@ export declare const getShowCompetitiveJobs: ((state: Omit<import("redux").Combi
99
99
  aclFilters: import("../../store/reducers/acl/acl-filters").AclFiltersState;
100
100
  actions: never;
101
101
  clustersMenu: {
102
+ clusters: any;
103
+ viewMode: string;
104
+ clusterFilter: string;
105
+ } | {
102
106
  viewMode: any;
103
107
  clusters: {};
104
108
  clusterFilter: string;
@@ -924,6 +928,7 @@ export declare const getShowCompetitiveJobs: ((state: Omit<import("redux").Combi
924
928
  rootPagesCluster?: string | undefined;
925
929
  asideHeaderWidth: number;
926
930
  allowedExperimentalPages: string[];
931
+ ytAuthCluster?: string | undefined;
927
932
  };
928
933
  }) => boolean) & import("reselect").OutputSelectorFields<(args_0: any, args_1: any) => boolean, {
929
934
  clearCache: () => void;
@@ -9,6 +9,10 @@ export declare const getQueriesList: ((state: Omit<import("redux").CombinedState
9
9
  aclFilters: import("../../../../store/reducers/acl/acl-filters").AclFiltersState;
10
10
  actions: never;
11
11
  clustersMenu: {
12
+ clusters: any;
13
+ viewMode: string;
14
+ clusterFilter: string;
15
+ } | {
12
16
  viewMode: any;
13
17
  clusters: {};
14
18
  clusterFilter: string;
@@ -834,6 +838,7 @@ export declare const getQueriesList: ((state: Omit<import("redux").CombinedState
834
838
  rootPagesCluster?: string | undefined;
835
839
  asideHeaderWidth: number;
836
840
  allowedExperimentalPages: string[];
841
+ ytAuthCluster?: string | undefined;
837
842
  };
838
843
  }) => import("../api").QueryItem[]) & import("reselect").OutputSelectorFields<(args_0: Record<string, import("../api").QueryItem>) => import("../api").QueryItem[], {
839
844
  clearCache: () => void;
@@ -852,6 +857,10 @@ export declare const getQueriesListFilter: ((state: Omit<import("redux").Combine
852
857
  aclFilters: import("../../../../store/reducers/acl/acl-filters").AclFiltersState;
853
858
  actions: never;
854
859
  clustersMenu: {
860
+ clusters: any;
861
+ viewMode: string;
862
+ clusterFilter: string;
863
+ } | {
855
864
  viewMode: any;
856
865
  clusters: {};
857
866
  clusterFilter: string;
@@ -1677,6 +1686,7 @@ export declare const getQueriesListFilter: ((state: Omit<import("redux").Combine
1677
1686
  rootPagesCluster?: string | undefined;
1678
1687
  asideHeaderWidth: number;
1679
1688
  allowedExperimentalPages: string[];
1689
+ ytAuthCluster?: string | undefined;
1680
1690
  };
1681
1691
  }) => import("./types").QueriesListFilter) & import("reselect").OutputSelectorFields<(args_0: Partial<Record<import("./types").QueriesListMode, {
1682
1692
  filter: import("./types").QueriesListFilter;
@@ -1691,6 +1701,10 @@ export declare const getQueriesListCursor: ((state: Omit<import("redux").Combine
1691
1701
  aclFilters: import("../../../../store/reducers/acl/acl-filters").AclFiltersState;
1692
1702
  actions: never;
1693
1703
  clustersMenu: {
1704
+ clusters: any;
1705
+ viewMode: string;
1706
+ clusterFilter: string;
1707
+ } | {
1694
1708
  viewMode: any;
1695
1709
  clusters: {};
1696
1710
  clusterFilter: string;
@@ -2516,6 +2530,7 @@ export declare const getQueriesListCursor: ((state: Omit<import("redux").Combine
2516
2530
  rootPagesCluster?: string | undefined;
2517
2531
  asideHeaderWidth: number;
2518
2532
  allowedExperimentalPages: string[];
2533
+ ytAuthCluster?: string | undefined;
2519
2534
  };
2520
2535
  }) => import("./types").QueriesListCursor | undefined) & import("reselect").OutputSelectorFields<(args_0: Partial<Record<import("./types").QueriesListMode, {
2521
2536
  filter: import("./types").QueriesListFilter;
@@ -2530,6 +2545,10 @@ export declare const getUncompletedItems: ((state: Omit<import("redux").Combined
2530
2545
  aclFilters: import("../../../../store/reducers/acl/acl-filters").AclFiltersState;
2531
2546
  actions: never;
2532
2547
  clustersMenu: {
2548
+ clusters: any;
2549
+ viewMode: string;
2550
+ clusterFilter: string;
2551
+ } | {
2533
2552
  viewMode: any;
2534
2553
  clusters: {};
2535
2554
  clusterFilter: string;
@@ -3355,6 +3374,7 @@ export declare const getUncompletedItems: ((state: Omit<import("redux").Combined
3355
3374
  rootPagesCluster?: string | undefined;
3356
3375
  asideHeaderWidth: number;
3357
3376
  allowedExperimentalPages: string[];
3377
+ ytAuthCluster?: string | undefined;
3358
3378
  };
3359
3379
  }) => import("../api").QueryItem[]) & import("reselect").OutputSelectorFields<(args_0: import("../api").QueryItem[]) => import("../api").QueryItem[], {
3360
3380
  clearCache: () => void;
@@ -20,6 +20,10 @@ export declare const isQueryDraftEditted: ((state: Omit<import("redux").Combined
20
20
  aclFilters: import("../../../../store/reducers/acl/acl-filters").AclFiltersState;
21
21
  actions: never;
22
22
  clustersMenu: {
23
+ clusters: any;
24
+ viewMode: string;
25
+ clusterFilter: string;
26
+ } | {
23
27
  viewMode: any;
24
28
  clusters: {};
25
29
  clusterFilter: string;
@@ -845,6 +849,7 @@ export declare const isQueryDraftEditted: ((state: Omit<import("redux").Combined
845
849
  rootPagesCluster?: string | undefined;
846
850
  asideHeaderWidth: number;
847
851
  allowedExperimentalPages: string[];
852
+ ytAuthCluster?: string | undefined;
848
853
  };
849
854
  }) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../api").QueryItem | undefined, args_1: import("../api").DraftQuery) => boolean, {
850
855
  clearCache: () => void;
@@ -3,6 +3,10 @@ export declare const getSettingQueryTrackerQueriesListSidebarVisibilityMode: ((s
3
3
  aclFilters: import("../../../../store/reducers/acl/acl-filters").AclFiltersState;
4
4
  actions: never;
5
5
  clustersMenu: {
6
+ clusters: any;
7
+ viewMode: string;
8
+ clusterFilter: string;
9
+ } | {
6
10
  viewMode: any;
7
11
  clusters: {};
8
12
  clusterFilter: string;
@@ -828,6 +832,7 @@ export declare const getSettingQueryTrackerQueriesListSidebarVisibilityMode: ((s
828
832
  rootPagesCluster?: string | undefined;
829
833
  asideHeaderWidth: number;
830
834
  allowedExperimentalPages: string[];
835
+ ytAuthCluster?: string | undefined;
831
836
  };
832
837
  }) => boolean) & import("reselect").OutputSelectorFields<(args_0: import("../../../../../shared/constants/settings-types").Settings) => boolean, {
833
838
  clearCache: () => void;
@@ -9,7 +9,7 @@ declare const _default: import("react-redux").ConnectedComponent<typeof Chunks,
9
9
  field: PropTypes.Requireable<string>;
10
10
  asc: PropTypes.Requireable<boolean>;
11
11
  }>>;
12
- }>, "cells" | "sortState" | "replication" | "types" | "refresh" | "sealer" | "requisitionUpdate">>;
12
+ }>, "sortState" | "cells" | "replication" | "types" | "refresh" | "sealer" | "requisitionUpdate">>;
13
13
  export default _default;
14
14
  declare class Chunks extends React.Component<any, any, any> {
15
15
  static _formatChunkName(name: any): any;
@@ -4,4 +4,5 @@ import { FIX_MY_TYPE } from '../../../@types/types';
4
4
  type GlobalThunkAction<T = unknown> = ThunkAction<T, RootState, any, FIX_MY_TYPE>;
5
5
  export declare function initClusterParams(cluster: string): GlobalThunkAction<Promise<void>>;
6
6
  export declare function updateCluster(cluster: string, onUpdateEnd: () => Promise<void>): GlobalThunkAction;
7
+ export declare function unmountCluster(): GlobalThunkAction;
7
8
  export {};
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.initClusterParams = initClusterParams;
7
+ exports.unmountCluster = unmountCluster;
7
8
  exports.updateCluster = updateCluster;
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _axios = _interopRequireDefault(require("axios"));
@@ -200,4 +201,16 @@ function updateCluster(cluster, onUpdateEnd) {
200
201
  })["catch"](dispatchError);
201
202
  };
202
203
  }
204
+ function unmountCluster() {
205
+ return function (dispatch) {
206
+ _ytConfig.default.parameters.version = '';
207
+ _ytConfig.default.cluster = '';
208
+ dispatch({
209
+ type: _global2.GLOBAL_PARTIAL,
210
+ data: {
211
+ cluster: undefined
212
+ }
213
+ });
214
+ };
215
+ }
203
216
  // #sourceMappingURL=cluster-params.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_axios","_interopRequireDefault","require","_yt","_jsCookie","_ypath","_checkPermission","_index","_global","_utils","_utils2","_settings","_rumCounter","_uikit","_rumWrapApi","_rumMeasureTypes","_utils3","_ytConfig","_global2","_ytApiInit","obj","__esModule","default","handleUiConfigError","path","error","type","rumLogError","level","message","concat","block","toast","Toaster","prepareClusterUiConfig","uiConfig","uiDevConfig","code","yt","codes","NODE_DOES_NOT_EXIST","add","name","autoHiding","title","content","output","initClusterParams","cluster","dispatch","getState","initYTApiClusterParams","INIT_CLUSTER_PARAMS","REQUEST","login","getCurrentUserName","rumId","RumWrapper","RumMeasureTypes","CLUSTER_PARAMS","wrapApiPromiseByToaster","fetch","YTApiId","clusterParams","axios","request","url","method","skipSuccessToast","toasterName","errorTitle","errorContent","then","_ref","data","mediumList","schedulerVersion","masterVersion","getBatchError","_prepareClusterUiConf","_prepareClusterUiConf2","_slicedToArray","uiConfigOutput","uiDevConfigOutput","SUCCESS","ypath","getValue","isDeveloper","clusterUiConfig","clusterParamsIsDeveloper","checkIsDeveloper","undefined","Object","assign","GLOBAL_PARTIAL","e","console","FAILURE","count","updateCluster","onUpdateEnd","dispatchError","_error$response","Error","UPDATE_CLUSTER","response","ui_clusterInfo","_ref2","token","tokenError","version","versionError","RESET_STORE_BEFORE_CLUSTER_CHANGE","shouldUsePreserveState","errorType","LOAD_ERROR","CONNECTION","YT","parameters","csrf_token","Cookies","remove","getXsrfCookieName","AUTHENTICATION","set","FINAL_SUCCESS","Promise","resolve"],"sources":["cluster-params.ts"],"sourcesContent":["import axios, {AxiosResponse} from 'axios';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport Cookies from 'js-cookie';\n\nimport ypath from '../../common/thor/ypath';\nimport {checkIsDeveloper} from '../../../shared/utils/check-permission';\nimport {INIT_CLUSTER_PARAMS, LOAD_ERROR, UPDATE_CLUSTER} from '../../constants/index';\nimport {getCurrentUserName} from '../../store/selectors/global';\nimport {getXsrfCookieName} from '../../utils';\nimport {RESET_STORE_BEFORE_CLUSTER_CHANGE} from '../../constants/utils';\nimport {shouldUsePreserveState} from '../../store/selectors/settings';\nimport {rumLogError} from '../../rum/rum-counter';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {RumWrapper, YTApiId} from '../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../rum/rum-measure-types';\nimport {getBatchError, wrapApiPromiseByToaster} from '../../utils/utils';\nimport {BatchResultsItem} from '../../../shared/yt-types';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../store/reducers';\nimport YT from '../../config/yt-config';\nimport {GLOBAL_PARTIAL} from '../../constants/global';\nimport {FIX_MY_TYPE, YTError} from '../../../@types/types';\nimport {initYTApiClusterParams} from '../../common/yt-api-init';\n\nfunction handleUiConfigError(path: string, error: any, type?: string) {\n rumLogError(\n {\n level: 'warn',\n type,\n message: `${path} cannot be loaded, some ui features might be not available`,\n block: path,\n },\n error,\n );\n}\n\nconst toast = new Toaster();\n\nfunction prepareClusterUiConfig(uiConfig: BatchResultsItem, uiDevConfig: BatchResultsItem) {\n if (uiConfig.error && uiConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) {\n handleUiConfigError('//sys/@ui_config', uiConfig.error);\n toast.add({\n name: 'get-ui_config',\n type: 'error',\n autoHiding: false,\n title: 'Failed to load //sys/@ui_config',\n content:\n 'Some UI features might be not available. ' +\n 'Try to reload the page. ' +\n 'If the problem persists please report it via Bug Reporter.',\n });\n }\n if (uiDevConfig.error && uiDevConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) {\n handleUiConfigError('//sys/@ui_config_dev_overrides', uiDevConfig.error);\n }\n return [uiConfig.output || {}, uiDevConfig.output || {}];\n}\n\ntype GlobalThunkAction<T = unknown> = ThunkAction<T, RootState, any, FIX_MY_TYPE>;\n\nexport function initClusterParams(cluster: string): GlobalThunkAction<Promise<void>> {\n return (dispatch, getState) => {\n initYTApiClusterParams(cluster);\n\n dispatch({\n type: INIT_CLUSTER_PARAMS.REQUEST,\n });\n\n const login = getCurrentUserName(getState());\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n return wrapApiPromiseByToaster(\n rumId.fetch(\n YTApiId.clusterParams,\n axios.request({\n url: '/api/cluster-params/' + cluster,\n method: 'GET',\n }),\n ),\n {\n skipSuccessToast: true,\n toasterName: 'cluster_initialization_failure',\n errorTitle: 'Cluster initialization failure',\n errorContent: 'An error occured',\n },\n )\n .then(({data}) => {\n const {mediumList, schedulerVersion, masterVersion, uiConfig, uiDevConfig} = data;\n const error = getBatchError([mediumList], 'Cluster initialization failure');\n if (error) {\n throw error;\n }\n const [uiConfigOutput, uiDevConfigOutput] = prepareClusterUiConfig(\n uiConfig,\n uiDevConfig,\n );\n dispatch({\n type: INIT_CLUSTER_PARAMS.SUCCESS,\n data: {\n cluster,\n mediumList: ypath.getValue(mediumList.output),\n isDeveloper: false,\n clusterUiConfig: uiConfigOutput,\n schedulerVersion: schedulerVersion.output,\n masterVersion: masterVersion.output,\n },\n });\n\n return rumId\n .fetch(\n YTApiId.clusterParamsIsDeveloper,\n checkIsDeveloper(\n login,\n undefined,\n YTApiId[YTApiId.clusterParamsIsDeveloper],\n ),\n )\n .then((isDeveloper) => {\n if (isDeveloper) {\n const clusterUiConfig = isDeveloper\n ? Object.assign({}, uiConfigOutput, uiDevConfigOutput)\n : uiConfigOutput;\n dispatch({type: GLOBAL_PARTIAL, data: {isDeveloper, clusterUiConfig}});\n }\n })\n .catch((e) => {\n console.error('Failed to check if current user is admin', e);\n });\n })\n .catch((e) => {\n dispatch({\n type: INIT_CLUSTER_PARAMS.FAILURE,\n data: e,\n });\n });\n };\n}\n\ninterface ClusterInfoData {\n version?: string;\n versionError?: YTError;\n token?: {\n login: string;\n csrf_token?: string;\n };\n tokenError?: YTError;\n}\n\nlet count = 0;\nexport function updateCluster(\n cluster: string,\n onUpdateEnd: () => Promise<void>,\n): GlobalThunkAction {\n return (dispatch, getState) => {\n const dispatchError = (error: any) => {\n if (error instanceof Error) {\n console.error(error);\n }\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {error: error?.response?.data || error},\n });\n };\n\n dispatch({\n type: UPDATE_CLUSTER.REQUEST,\n });\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n return rumId\n .fetch<AxiosResponse<ClusterInfoData>>(\n YTApiId.ui_clusterInfo,\n axios.request({\n url: '/api/cluster-info/' + cluster,\n method: 'GET',\n }),\n )\n .then(({data}) => {\n const {token, tokenError, version, versionError} = data;\n\n if (count++) {\n dispatch({\n type: RESET_STORE_BEFORE_CLUSTER_CHANGE,\n data: {\n shouldUsePreserveState: shouldUsePreserveState(getState()),\n },\n });\n }\n\n if (!version || versionError) {\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {errorType: LOAD_ERROR.CONNECTION, error: versionError},\n });\n } else {\n dispatch({\n type: UPDATE_CLUSTER.SUCCESS,\n data: {version},\n });\n\n YT.parameters.version = version;\n YT.cluster = cluster;\n\n if (!token?.csrf_token || tokenError) {\n Cookies.remove(getXsrfCookieName(cluster));\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {\n errorType: LOAD_ERROR.AUTHENTICATION,\n error: tokenError || new Error('Failed to get CSRF-token'),\n },\n });\n } else {\n const {login, csrf_token} = token;\n YT.parameters.login = login;\n dispatch({type: GLOBAL_PARTIAL, data: {login}});\n Cookies.set(getXsrfCookieName(cluster), csrf_token);\n return onUpdateEnd()\n .then(() => {\n dispatch({\n type: UPDATE_CLUSTER.FINAL_SUCCESS,\n });\n })\n .catch(dispatchError);\n }\n }\n\n return Promise.resolve();\n })\n .catch(dispatchError);\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_axios","_interopRequireDefault","require","_yt","_jsCookie","_ypath","_checkPermission","_index","_global","_utils","_utils2","_settings","_rumCounter","_uikit","_rumWrapApi","_rumMeasureTypes","_utils3","_ytConfig","_global2","_ytApiInit","obj","__esModule","default","handleUiConfigError","path","error","type","rumLogError","level","message","concat","block","toast","Toaster","prepareClusterUiConfig","uiConfig","uiDevConfig","code","yt","codes","NODE_DOES_NOT_EXIST","add","name","autoHiding","title","content","output","initClusterParams","cluster","dispatch","getState","initYTApiClusterParams","INIT_CLUSTER_PARAMS","REQUEST","login","getCurrentUserName","rumId","RumWrapper","RumMeasureTypes","CLUSTER_PARAMS","wrapApiPromiseByToaster","fetch","YTApiId","clusterParams","axios","request","url","method","skipSuccessToast","toasterName","errorTitle","errorContent","then","_ref","data","mediumList","schedulerVersion","masterVersion","getBatchError","_prepareClusterUiConf","_prepareClusterUiConf2","_slicedToArray","uiConfigOutput","uiDevConfigOutput","SUCCESS","ypath","getValue","isDeveloper","clusterUiConfig","clusterParamsIsDeveloper","checkIsDeveloper","undefined","Object","assign","GLOBAL_PARTIAL","e","console","FAILURE","count","updateCluster","onUpdateEnd","dispatchError","_error$response","Error","UPDATE_CLUSTER","response","ui_clusterInfo","_ref2","token","tokenError","version","versionError","RESET_STORE_BEFORE_CLUSTER_CHANGE","shouldUsePreserveState","errorType","LOAD_ERROR","CONNECTION","YT","parameters","csrf_token","Cookies","remove","getXsrfCookieName","AUTHENTICATION","set","FINAL_SUCCESS","Promise","resolve","unmountCluster"],"sources":["cluster-params.ts"],"sourcesContent":["import axios, {AxiosResponse} from 'axios';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport Cookies from 'js-cookie';\n\nimport ypath from '../../common/thor/ypath';\nimport {checkIsDeveloper} from '../../../shared/utils/check-permission';\nimport {INIT_CLUSTER_PARAMS, LOAD_ERROR, UPDATE_CLUSTER} from '../../constants/index';\nimport {getCurrentUserName} from '../../store/selectors/global';\nimport {getXsrfCookieName} from '../../utils';\nimport {RESET_STORE_BEFORE_CLUSTER_CHANGE} from '../../constants/utils';\nimport {shouldUsePreserveState} from '../../store/selectors/settings';\nimport {rumLogError} from '../../rum/rum-counter';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {RumWrapper, YTApiId} from '../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../rum/rum-measure-types';\nimport {getBatchError, wrapApiPromiseByToaster} from '../../utils/utils';\nimport {BatchResultsItem} from '../../../shared/yt-types';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../store/reducers';\nimport YT from '../../config/yt-config';\nimport {GLOBAL_PARTIAL} from '../../constants/global';\nimport {FIX_MY_TYPE, YTError} from '../../../@types/types';\nimport {initYTApiClusterParams} from '../../common/yt-api-init';\n\nfunction handleUiConfigError(path: string, error: any, type?: string) {\n rumLogError(\n {\n level: 'warn',\n type,\n message: `${path} cannot be loaded, some ui features might be not available`,\n block: path,\n },\n error,\n );\n}\n\nconst toast = new Toaster();\n\nfunction prepareClusterUiConfig(uiConfig: BatchResultsItem, uiDevConfig: BatchResultsItem) {\n if (uiConfig.error && uiConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) {\n handleUiConfigError('//sys/@ui_config', uiConfig.error);\n toast.add({\n name: 'get-ui_config',\n type: 'error',\n autoHiding: false,\n title: 'Failed to load //sys/@ui_config',\n content:\n 'Some UI features might be not available. ' +\n 'Try to reload the page. ' +\n 'If the problem persists please report it via Bug Reporter.',\n });\n }\n if (uiDevConfig.error && uiDevConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) {\n handleUiConfigError('//sys/@ui_config_dev_overrides', uiDevConfig.error);\n }\n return [uiConfig.output || {}, uiDevConfig.output || {}];\n}\n\ntype GlobalThunkAction<T = unknown> = ThunkAction<T, RootState, any, FIX_MY_TYPE>;\n\nexport function initClusterParams(cluster: string): GlobalThunkAction<Promise<void>> {\n return (dispatch, getState) => {\n initYTApiClusterParams(cluster);\n\n dispatch({\n type: INIT_CLUSTER_PARAMS.REQUEST,\n });\n\n const login = getCurrentUserName(getState());\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n return wrapApiPromiseByToaster(\n rumId.fetch(\n YTApiId.clusterParams,\n axios.request({\n url: '/api/cluster-params/' + cluster,\n method: 'GET',\n }),\n ),\n {\n skipSuccessToast: true,\n toasterName: 'cluster_initialization_failure',\n errorTitle: 'Cluster initialization failure',\n errorContent: 'An error occured',\n },\n )\n .then(({data}) => {\n const {mediumList, schedulerVersion, masterVersion, uiConfig, uiDevConfig} = data;\n const error = getBatchError([mediumList], 'Cluster initialization failure');\n if (error) {\n throw error;\n }\n const [uiConfigOutput, uiDevConfigOutput] = prepareClusterUiConfig(\n uiConfig,\n uiDevConfig,\n );\n dispatch({\n type: INIT_CLUSTER_PARAMS.SUCCESS,\n data: {\n cluster,\n mediumList: ypath.getValue(mediumList.output),\n isDeveloper: false,\n clusterUiConfig: uiConfigOutput,\n schedulerVersion: schedulerVersion.output,\n masterVersion: masterVersion.output,\n },\n });\n\n return rumId\n .fetch(\n YTApiId.clusterParamsIsDeveloper,\n checkIsDeveloper(\n login,\n undefined,\n YTApiId[YTApiId.clusterParamsIsDeveloper],\n ),\n )\n .then((isDeveloper) => {\n if (isDeveloper) {\n const clusterUiConfig = isDeveloper\n ? Object.assign({}, uiConfigOutput, uiDevConfigOutput)\n : uiConfigOutput;\n dispatch({type: GLOBAL_PARTIAL, data: {isDeveloper, clusterUiConfig}});\n }\n })\n .catch((e) => {\n console.error('Failed to check if current user is admin', e);\n });\n })\n .catch((e) => {\n dispatch({\n type: INIT_CLUSTER_PARAMS.FAILURE,\n data: e,\n });\n });\n };\n}\n\ninterface ClusterInfoData {\n version?: string;\n versionError?: YTError;\n token?: {\n login: string;\n csrf_token?: string;\n };\n tokenError?: YTError;\n}\n\nlet count = 0;\nexport function updateCluster(\n cluster: string,\n onUpdateEnd: () => Promise<void>,\n): GlobalThunkAction {\n return (dispatch, getState) => {\n const dispatchError = (error: any) => {\n if (error instanceof Error) {\n console.error(error);\n }\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {error: error?.response?.data || error},\n });\n };\n\n dispatch({\n type: UPDATE_CLUSTER.REQUEST,\n });\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.CLUSTER_PARAMS);\n return rumId\n .fetch<AxiosResponse<ClusterInfoData>>(\n YTApiId.ui_clusterInfo,\n axios.request({\n url: '/api/cluster-info/' + cluster,\n method: 'GET',\n }),\n )\n .then(({data}) => {\n const {token, tokenError, version, versionError} = data;\n\n if (count++) {\n dispatch({\n type: RESET_STORE_BEFORE_CLUSTER_CHANGE,\n data: {\n shouldUsePreserveState: shouldUsePreserveState(getState()),\n },\n });\n }\n\n if (!version || versionError) {\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {errorType: LOAD_ERROR.CONNECTION, error: versionError},\n });\n } else {\n dispatch({\n type: UPDATE_CLUSTER.SUCCESS,\n data: {version},\n });\n\n YT.parameters.version = version;\n YT.cluster = cluster;\n\n if (!token?.csrf_token || tokenError) {\n Cookies.remove(getXsrfCookieName(cluster));\n dispatch({\n type: UPDATE_CLUSTER.FAILURE,\n data: {\n errorType: LOAD_ERROR.AUTHENTICATION,\n error: tokenError || new Error('Failed to get CSRF-token'),\n },\n });\n } else {\n const {login, csrf_token} = token;\n YT.parameters.login = login;\n dispatch({type: GLOBAL_PARTIAL, data: {login}});\n Cookies.set(getXsrfCookieName(cluster), csrf_token);\n return onUpdateEnd()\n .then(() => {\n dispatch({\n type: UPDATE_CLUSTER.FINAL_SUCCESS,\n });\n })\n .catch(dispatchError);\n }\n }\n\n return Promise.resolve();\n })\n .catch(dispatchError);\n };\n}\n\nexport function unmountCluster(): GlobalThunkAction {\n return (dispatch) => {\n YT.parameters.version = '';\n YT.cluster = '';\n\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {\n cluster: undefined,\n },\n });\n };\n}\n"],"mappings":"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"}
@@ -7,4 +7,5 @@ export function updateFilter(clusterFilter: any): {
7
7
  data: any;
8
8
  };
9
9
  export function fetchClusterVersions(): (dispatch: any) => Promise<void>;
10
+ export function fetchClusterAuthStatus(): (dispatch: any) => Promise<void>;
10
11
  export function fetchClusterAvailability(): (dispatch: any) => Promise<void>;