@ytsaurus/ui 1.16.2 → 1.17.1

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.72d0cb41.js +3 -0
  331. package/dist/public/build/js/{main.005c6512.js.map → main.72d0cb41.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 +3 -3
  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.005c6512.js +0 -3
  370. package/dist/public/build/js/runtime.a87a1f88.js +0 -2
  371. /package/dist/public/build/js/{main.005c6512.js.LICENSE.txt → main.72d0cb41.js.LICENSE.txt} +0 -0
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.fetchClusterAuthStatus = fetchClusterAuthStatus;
6
7
  exports.fetchClusterAvailability = fetchClusterAvailability;
7
8
  exports.fetchClusterVersions = fetchClusterVersions;
8
9
  exports.updateFilter = updateFilter;
@@ -42,10 +43,29 @@ function fetchClusterVersions() {
42
43
  });
43
44
  };
44
45
  }
45
- function fetchClusterAvailability() {
46
+ function fetchClusterAuthStatus() {
46
47
  return function (dispatch) {
47
- return (0, _odinUtils.fetchClustersAvailability)().then(function (_ref2) {
48
+ return _axios.default.request({
49
+ method: 'get',
50
+ url: '/api/clusters/auth-status'
51
+ }).then(function (_ref2) {
48
52
  var data = _ref2.data;
53
+ dispatch({
54
+ type: _index.FETCH_CLUSTER_AUTH_STATUS.SUCCESS,
55
+ data: data
56
+ });
57
+ })["catch"](function () {
58
+ dispatch({
59
+ type: _index.FETCH_CLUSTER_AUTH_STATUS.FAILURE,
60
+ data: {}
61
+ });
62
+ });
63
+ };
64
+ }
65
+ function fetchClusterAvailability() {
66
+ return function (dispatch) {
67
+ return (0, _odinUtils.fetchClustersAvailability)().then(function (_ref3) {
68
+ var data = _ref3.data;
49
69
  dispatch({
50
70
  type: _index.FETCH_CLUSTER_AVAILABILITY.SUCCESS,
51
71
  data: data
@@ -1 +1 @@
1
- {"version":3,"names":["_axios","_interopRequireDefault","require","_index","_odinUtils","obj","__esModule","default","updateViewMode","viewMode","type","UPDATE_VIEWMODE","data","updateFilter","clusterFilter","UPDATE_FILTER","fetchClusterVersions","dispatch","axios","request","method","url","then","_ref","FETCH_CLUSTER_VERSIONS","SUCCESS","FAILURE","fetchClusterAvailability","fetchClustersAvailability","_ref2","FETCH_CLUSTER_AVAILABILITY"],"sources":["clusters-menu.js"],"sourcesContent":["import axios from 'axios';\nimport {\n FETCH_CLUSTER_AVAILABILITY,\n FETCH_CLUSTER_VERSIONS,\n UPDATE_FILTER,\n UPDATE_VIEWMODE,\n} from '../../constants/index';\nimport {fetchClustersAvailability} from '../../pages/odin/odin-utils';\n\nexport function updateViewMode(viewMode) {\n return {type: UPDATE_VIEWMODE, data: viewMode};\n}\n\nexport function updateFilter(clusterFilter) {\n return {type: UPDATE_FILTER, data: clusterFilter};\n}\n\nexport function fetchClusterVersions() {\n return (dispatch) => {\n return axios\n .request({\n method: 'get',\n url: '/api/clusters/versions',\n })\n .then(({data}) => {\n dispatch({type: FETCH_CLUSTER_VERSIONS.SUCCESS, data});\n })\n .catch(() => {\n dispatch({type: FETCH_CLUSTER_VERSIONS.FAILURE, data: {}});\n });\n };\n}\n\nexport function fetchClusterAvailability() {\n return (dispatch) => {\n return fetchClustersAvailability()\n .then(({data}) => {\n dispatch({type: FETCH_CLUSTER_AVAILABILITY.SUCCESS, data});\n })\n .catch(() => {\n dispatch({\n type: FETCH_CLUSTER_AVAILABILITY.FAILURE,\n data: {},\n });\n });\n };\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAMA,IAAAE,UAAA,GAAAF,OAAA;AAAqE,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9D,SAASG,cAAcA,CAACC,QAAQ,EAAE;EACrC,OAAO;IAACC,IAAI,EAAEC,sBAAe;IAAEC,IAAI,EAAEH;EAAQ,CAAC;AAClD;AAEO,SAASI,YAAYA,CAACC,aAAa,EAAE;EACxC,OAAO;IAACJ,IAAI,EAAEK,oBAAa;IAAEH,IAAI,EAAEE;EAAa,CAAC;AACrD;AAEO,SAASE,oBAAoBA,CAAA,EAAG;EACnC,OAAO,UAACC,QAAQ,EAAK;IACjB,OAAOC,cAAK,CACPC,OAAO,CAAC;MACLC,MAAM,EAAE,KAAK;MACbC,GAAG,EAAE;IACT,CAAC,CAAC,CACDC,IAAI,CAAC,UAAAC,IAAA,EAAY;MAAA,IAAVX,IAAI,GAAAW,IAAA,CAAJX,IAAI;MACRK,QAAQ,CAAC;QAACP,IAAI,EAAEc,6BAAsB,CAACC,OAAO;QAAEb,IAAI,EAAJA;MAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,SACI,CAAC,YAAM;MACTK,QAAQ,CAAC;QAACP,IAAI,EAAEc,6BAAsB,CAACE,OAAO;QAAEd,IAAI,EAAE,CAAC;MAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;EACV,CAAC;AACL;AAEO,SAASe,wBAAwBA,CAAA,EAAG;EACvC,OAAO,UAACV,QAAQ,EAAK;IACjB,OAAO,IAAAW,oCAAyB,EAAC,CAAC,CAC7BN,IAAI,CAAC,UAAAO,KAAA,EAAY;MAAA,IAAVjB,IAAI,GAAAiB,KAAA,CAAJjB,IAAI;MACRK,QAAQ,CAAC;QAACP,IAAI,EAAEoB,iCAA0B,CAACL,OAAO;QAAEb,IAAI,EAAJA;MAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,SACI,CAAC,YAAM;MACTK,QAAQ,CAAC;QACLP,IAAI,EAAEoB,iCAA0B,CAACJ,OAAO;QACxCd,IAAI,EAAE,CAAC;MACX,CAAC,CAAC;IACN,CAAC,CAAC;EACV,CAAC;AACL"}
1
+ {"version":3,"names":["_axios","_interopRequireDefault","require","_index","_odinUtils","obj","__esModule","default","updateViewMode","viewMode","type","UPDATE_VIEWMODE","data","updateFilter","clusterFilter","UPDATE_FILTER","fetchClusterVersions","dispatch","axios","request","method","url","then","_ref","FETCH_CLUSTER_VERSIONS","SUCCESS","FAILURE","fetchClusterAuthStatus","_ref2","FETCH_CLUSTER_AUTH_STATUS","fetchClusterAvailability","fetchClustersAvailability","_ref3","FETCH_CLUSTER_AVAILABILITY"],"sources":["clusters-menu.js"],"sourcesContent":["import axios from 'axios';\nimport {\n FETCH_CLUSTER_AUTH_STATUS,\n FETCH_CLUSTER_AVAILABILITY,\n FETCH_CLUSTER_VERSIONS,\n UPDATE_FILTER,\n UPDATE_VIEWMODE,\n} from '../../constants/index';\nimport {fetchClustersAvailability} from '../../pages/odin/odin-utils';\n\nexport function updateViewMode(viewMode) {\n return {type: UPDATE_VIEWMODE, data: viewMode};\n}\n\nexport function updateFilter(clusterFilter) {\n return {type: UPDATE_FILTER, data: clusterFilter};\n}\n\nexport function fetchClusterVersions() {\n return (dispatch) => {\n return axios\n .request({\n method: 'get',\n url: '/api/clusters/versions',\n })\n .then(({data}) => {\n dispatch({type: FETCH_CLUSTER_VERSIONS.SUCCESS, data});\n })\n .catch(() => {\n dispatch({type: FETCH_CLUSTER_VERSIONS.FAILURE, data: {}});\n });\n };\n}\n\nexport function fetchClusterAuthStatus() {\n return (dispatch) => {\n return axios\n .request({\n method: 'get',\n url: '/api/clusters/auth-status',\n })\n .then(({data}) => {\n dispatch({type: FETCH_CLUSTER_AUTH_STATUS.SUCCESS, data});\n })\n .catch(() => {\n dispatch({type: FETCH_CLUSTER_AUTH_STATUS.FAILURE, data: {}});\n });\n };\n}\n\nexport function fetchClusterAvailability() {\n return (dispatch) => {\n return fetchClustersAvailability()\n .then(({data}) => {\n dispatch({type: FETCH_CLUSTER_AVAILABILITY.SUCCESS, data});\n })\n .catch(() => {\n dispatch({\n type: FETCH_CLUSTER_AVAILABILITY.FAILURE,\n data: {},\n });\n });\n };\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAOA,IAAAE,UAAA,GAAAF,OAAA;AAAqE,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9D,SAASG,cAAcA,CAACC,QAAQ,EAAE;EACrC,OAAO;IAACC,IAAI,EAAEC,sBAAe;IAAEC,IAAI,EAAEH;EAAQ,CAAC;AAClD;AAEO,SAASI,YAAYA,CAACC,aAAa,EAAE;EACxC,OAAO;IAACJ,IAAI,EAAEK,oBAAa;IAAEH,IAAI,EAAEE;EAAa,CAAC;AACrD;AAEO,SAASE,oBAAoBA,CAAA,EAAG;EACnC,OAAO,UAACC,QAAQ,EAAK;IACjB,OAAOC,cAAK,CACPC,OAAO,CAAC;MACLC,MAAM,EAAE,KAAK;MACbC,GAAG,EAAE;IACT,CAAC,CAAC,CACDC,IAAI,CAAC,UAAAC,IAAA,EAAY;MAAA,IAAVX,IAAI,GAAAW,IAAA,CAAJX,IAAI;MACRK,QAAQ,CAAC;QAACP,IAAI,EAAEc,6BAAsB,CAACC,OAAO;QAAEb,IAAI,EAAJA;MAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,SACI,CAAC,YAAM;MACTK,QAAQ,CAAC;QAACP,IAAI,EAAEc,6BAAsB,CAACE,OAAO;QAAEd,IAAI,EAAE,CAAC;MAAC,CAAC,CAAC;IAC9D,CAAC,CAAC;EACV,CAAC;AACL;AAEO,SAASe,sBAAsBA,CAAA,EAAG;EACrC,OAAO,UAACV,QAAQ,EAAK;IACjB,OAAOC,cAAK,CACPC,OAAO,CAAC;MACLC,MAAM,EAAE,KAAK;MACbC,GAAG,EAAE;IACT,CAAC,CAAC,CACDC,IAAI,CAAC,UAAAM,KAAA,EAAY;MAAA,IAAVhB,IAAI,GAAAgB,KAAA,CAAJhB,IAAI;MACRK,QAAQ,CAAC;QAACP,IAAI,EAAEmB,gCAAyB,CAACJ,OAAO;QAAEb,IAAI,EAAJA;MAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,SACI,CAAC,YAAM;MACTK,QAAQ,CAAC;QAACP,IAAI,EAAEmB,gCAAyB,CAACH,OAAO;QAAEd,IAAI,EAAE,CAAC;MAAC,CAAC,CAAC;IACjE,CAAC,CAAC;EACV,CAAC;AACL;AAEO,SAASkB,wBAAwBA,CAAA,EAAG;EACvC,OAAO,UAACb,QAAQ,EAAK;IACjB,OAAO,IAAAc,oCAAyB,EAAC,CAAC,CAC7BT,IAAI,CAAC,UAAAU,KAAA,EAAY;MAAA,IAAVpB,IAAI,GAAAoB,KAAA,CAAJpB,IAAI;MACRK,QAAQ,CAAC;QAACP,IAAI,EAAEuB,iCAA0B,CAACR,OAAO;QAAEb,IAAI,EAAJA;MAAI,CAAC,CAAC;IAC9D,CAAC,CAAC,SACI,CAAC,YAAM;MACTK,QAAQ,CAAC;QACLP,IAAI,EAAEuB,iCAA0B,CAACP,OAAO;QACxCd,IAAI,EAAE,CAAC;MACX,CAAC,CAAC;IACN,CAAC,CAAC;EACV,CAAC;AACL"}
@@ -39,7 +39,9 @@ export declare function splitScreen(type: string, paneClassNames?: Array<string>
39
39
  export declare function mergeScreen(): {
40
40
  type: string;
41
41
  };
42
- export declare function handleAuthError(): void;
42
+ export declare function handleAuthError({ ytAuthCluster }?: {
43
+ ytAuthCluster?: string;
44
+ }): void;
43
45
  export declare function onSuccessLogin(login: string): YTThunkAction;
44
46
  export declare function setRootPagesCluster(rootPagesCluster: string | undefined): {
45
47
  type: string;
@@ -313,18 +313,32 @@ function mergeScreen() {
313
313
  };
314
314
  }
315
315
  function handleAuthError() {
316
+ var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
317
+ ytAuthCluster = _ref4.ytAuthCluster;
316
318
  if ((0, _uiSettings.getConfigData)().allowLoginDialog) {
319
+ if (!ytAuthCluster) {
320
+ var toaster = new _uikit.Toaster();
321
+ toaster.add({
322
+ name: "global/ytAuthCluster}",
323
+ autoHiding: false,
324
+ type: 'error',
325
+ content: 'If the problem persists, please report the error.',
326
+ title: "Failed to show a login form. ytAuthCluster is not defined"
327
+ });
328
+ return;
329
+ }
317
330
  (0, _windowStore.getWindowStore)().dispatch({
318
331
  type: _global2.GLOBAL_PARTIAL,
319
332
  data: {
320
- showLoginDialog: true
333
+ showLoginDialog: true,
334
+ ytAuthCluster: ytAuthCluster
321
335
  }
322
336
  });
323
337
  }
324
338
  }
325
339
  function onSuccessLogin(login) {
326
340
  return /*#__PURE__*/function () {
327
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(dispatch) {
341
+ var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(dispatch) {
328
342
  return _regenerator.default.wrap(function _callee$(_context) {
329
343
  while (1) switch (_context.prev = _context.next) {
330
344
  case 0:
@@ -346,7 +360,8 @@ function onSuccessLogin(login) {
346
360
  type: _global2.GLOBAL_PARTIAL,
347
361
  data: {
348
362
  showLoginDialog: false,
349
- login: login
363
+ login: login,
364
+ ytAuthCluster: undefined
350
365
  }
351
366
  });
352
367
  case 11:
@@ -356,7 +371,7 @@ function onSuccessLogin(login) {
356
371
  }, _callee, null, [[0, 7]]);
357
372
  }));
358
373
  return function (_x) {
359
- return _ref4.apply(this, arguments);
374
+ return _ref5.apply(this, arguments);
360
375
  };
361
376
  }();
362
377
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_ypath","_interopRequireDefault","require","_usersGroups","_utils","_global","_uikit","_utils2","_global2","_poolTrees","_index","_ytApi","_rumWrapApi","_windowStore","_settings","_ytConfig","_uiSettings","_UIFactory","obj","__esModule","default","setTheme","theme","type","GLOBAL_SET_THEME","data","usersInProgress","setAsideHeaderWidth","asideHeaderWidth","dispatch","getState","oldWidth","getGlobalAsideHeaderWidth","GLOBAL_PARTIAL","loadUsersIfNotLoaded","Promise","resolve","users","getGlobalUsers","length","listAllUsers","YTApiId","listUsersUM","attributes","then","normalizeResponseWithAttributes","e","showErrorToaster","undefined","groupsInProgress","loadGroupsIfNotLoaded","groups","getGlobalGroups","listAllGroups","listGroups","ypath","getValue","accountsInProgress","loadAccountsIfNotLoaded","ytApiV3Id","list","listAccounts","_objectSpread","path","USE_MAX_SIZE","USE_CACHE","accounts","bundlesInProgress","loadBundlesIfNotLoaded","bundles","getBundles","listBundles","poolTreesInProgress","loadPoolTreesIfNotLoaded","trees","getPoolTrees","_isEmpty","all","ytGetPoolTrees","loadDefaultPoolTree","_ref","_ref2","_slicedToArray","poolTreeDefault","poolTrees","defaultPoolTree","error","listType","reloadFn","toaster","Toaster","add","name","concat","autoHiding","content","title","actions","label","onClick","showErrorPopup","updateTitle","_ref3","page","cluster","clusters","clustersMenu","UPDATE_TITLE","addNavigationBlocker","INC_NAV_BLOCKER_COUNTER","removeNavigationBlocker","DEC_NAV_BLOCKER_COUNTER","setMaintenancePageEvent","events","isFirstUpdate","SET_MAINTENANCE_PAGE_EVENT","splitScreen","paneClassNames","arguments","document","body","style","overflow","SPLIT_SCREEN","mergeScreen","MERGE_SCREEN","handleAuthError","getConfigData","allowLoginDialog","getWindowStore","showLoginDialog","onSuccessLogin","login","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","reloadUserSettings","sent","t0","YT","parameters","stop","_x","apply","setRootPagesCluster","rootPagesCluster","loadAllowedExperimentalPages","getCurrentUserName","UIFactory","getAllowedExperimentalPages","allowedExperimentalPages"],"sources":["index.ts"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport _ from 'lodash';\n\nimport ypath from '../../../common/thor/ypath';\n\nimport {listAllGroups, listAllUsers} from '../../../utils/users-groups';\nimport {normalizeResponseWithAttributes} from '../../../utils';\nimport {RootState} from '../../../store/reducers';\nimport {\n getBundles,\n getCurrentUserName,\n getGlobalAsideHeaderWidth,\n getGlobalGroups,\n getGlobalUsers,\n getPoolTrees,\n} from '../../../store/selectors/global';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {showErrorPopup} from '../../../utils/utils';\nimport {GLOBAL_PARTIAL} from '../../../constants/global';\nimport {loadDefaultPoolTree, ytGetPoolTrees} from '../../../utils/poolTrees';\nimport {\n DEC_NAV_BLOCKER_COUNTER,\n GLOBAL_SET_THEME,\n INC_NAV_BLOCKER_COUNTER,\n MERGE_SCREEN,\n SET_MAINTENANCE_PAGE_EVENT,\n SPLIT_SCREEN,\n UPDATE_TITLE,\n} from '../../../constants/index';\nimport {USE_CACHE, USE_MAX_SIZE} from '../../../../shared/constants/yt-api';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getWindowStore} from '../../../store/window-store';\nimport {reloadUserSettings} from '../settings';\nimport YT from '../../../config/yt-config';\nimport {getConfigData} from '../../../config/ui-settings';\nimport UIFactory from '../../../UIFactory';\n\nexport function setTheme(theme: 'light' | 'dark' | 'system' | 'light-hc' | 'dark-hc') {\n return {type: GLOBAL_SET_THEME, data: theme};\n}\n\nlet usersInProgress = false;\n\ntype YTThunkAction<T = unknown> = ThunkAction<T, RootState, any, any>;\n\nexport function setAsideHeaderWidth(asideHeaderWidth: number): YTThunkAction {\n return (dispatch, getState) => {\n const oldWidth = getGlobalAsideHeaderWidth(getState());\n if (oldWidth !== asideHeaderWidth) {\n dispatch({type: GLOBAL_PARTIAL, data: {asideHeaderWidth}});\n }\n };\n}\n\nexport function loadUsersIfNotLoaded(): ThunkAction<any, RootState, any, any> {\n return (dispatch, getState) => {\n if (usersInProgress) {\n return Promise.resolve();\n }\n\n const users = getGlobalUsers(getState());\n if (users?.length) {\n return Promise.resolve();\n }\n\n usersInProgress = true;\n\n return listAllUsers(YTApiId.listUsersUM, {attributes: ['upravlyator_managed']})\n .then((users: Array<any>) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {users: normalizeResponseWithAttributes(users)},\n });\n usersInProgress = false;\n })\n .catch((e: any) => {\n usersInProgress = false;\n showErrorToaster(e, 'users', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {users: undefined},\n });\n dispatch(loadUsersIfNotLoaded());\n });\n });\n };\n}\n\nlet groupsInProgress = false;\n\nexport function loadGroupsIfNotLoaded(): ThunkAction<Promise<void>, RootState, any, any> {\n return (dispatch, getState) => {\n if (groupsInProgress) {\n return Promise.resolve();\n }\n\n const groups = getGlobalGroups(getState());\n if (groups?.length) {\n return Promise.resolve();\n }\n\n groupsInProgress = true;\n\n return listAllGroups(YTApiId.listGroups, {attributes: ['upravlyator_managed']})\n .then((data: Array<any>) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {\n groups: normalizeResponseWithAttributes(ypath.getValue(data)),\n },\n });\n groupsInProgress = false;\n })\n .catch((e: any) => {\n groupsInProgress = false;\n showErrorToaster(e, 'groups', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {groups: undefined},\n });\n dispatch(loadGroupsIfNotLoaded());\n });\n });\n };\n}\n\nlet accountsInProgress = false;\nexport function loadAccountsIfNotLoaded(): ThunkAction<Promise<void>, RootState, any, any> {\n return (dispatch, getState) => {\n if (accountsInProgress) {\n return Promise.resolve();\n }\n\n const groups = getGlobalGroups(getState());\n if (groups?.length) {\n return Promise.resolve();\n }\n\n accountsInProgress = true;\n\n return ytApiV3Id\n .list(YTApiId.listAccounts, {path: '//sys/accounts', ...USE_MAX_SIZE, ...USE_CACHE})\n .then((data: Array<any>) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {accounts: ypath.getValue(data)},\n });\n accountsInProgress = false;\n })\n .catch((e: any) => {\n accountsInProgress = false;\n showErrorToaster(e, 'accounts', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {accounts: undefined},\n });\n dispatch(loadAccountsIfNotLoaded());\n });\n });\n };\n}\n\nlet bundlesInProgress = false;\n\nexport function loadBundlesIfNotLoaded(): ThunkAction<any, RootState, any, any> {\n return (dispatch, getState) => {\n if (bundlesInProgress) {\n return Promise.resolve();\n }\n\n const bundles = getBundles(getState());\n if (bundles?.length) {\n return Promise.resolve();\n }\n\n bundlesInProgress = true;\n\n return ytApiV3Id\n .list(YTApiId.listBundles, {\n path: '//sys/tablet_cell_bundles',\n attributes: ['nodes'],\n ...USE_MAX_SIZE,\n ...USE_CACHE,\n })\n .then((data: unknown) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {bundles: ypath.getValue(data)},\n });\n bundlesInProgress = false;\n })\n .catch((e: any) => {\n showErrorToaster(e, 'bundles', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {bundles: undefined},\n });\n dispatch(loadBundlesIfNotLoaded());\n });\n bundlesInProgress = false;\n });\n };\n}\n\nlet poolTreesInProgress = false;\nexport function loadPoolTreesIfNotLoaded(): ThunkAction<Promise<void>, RootState, any, any> {\n return (dispatch, getState) => {\n if (poolTreesInProgress) {\n return Promise.resolve();\n }\n\n const trees = getPoolTrees(getState());\n if (!_.isEmpty(trees)) {\n return Promise.resolve();\n }\n\n poolTreesInProgress = true;\n\n return Promise.all([ytGetPoolTrees(), loadDefaultPoolTree()])\n .then(([data, poolTreeDefault]) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {poolTrees: ypath.getValue(data), poolTreeDefault},\n });\n poolTreesInProgress = false;\n })\n .catch((e: any) => {\n showErrorToaster(e, 'pools', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {poolTrees: undefined, defaultPoolTree: undefined},\n });\n dispatch(loadPoolTreesIfNotLoaded());\n });\n poolTreesInProgress = false;\n });\n };\n}\n\nfunction showErrorToaster(\n error: any,\n listType: 'users' | 'groups' | 'bundles' | 'accounts' | 'pools',\n reloadFn: () => void,\n) {\n const toaster = new Toaster();\n toaster.add({\n name: `global/${listType}`,\n autoHiding: false,\n type: 'error',\n content: 'If the problem persists, please report the error.',\n title: `Failed to load list of ${listType}`,\n actions: [\n {label: ' Details ', onClick: () => showErrorPopup(error)},\n {\n label: ' Reload ',\n onClick: reloadFn,\n },\n ],\n });\n}\n\nexport function updateTitle({\n path,\n page,\n cluster,\n}: {\n path: string;\n page: string;\n cluster: string;\n}): YTThunkAction {\n return (dispatch, getState) => {\n const clusters = getState().clustersMenu.clusters;\n dispatch({\n type: UPDATE_TITLE,\n data: {path, page, cluster, clusters},\n });\n };\n}\n\nexport function addNavigationBlocker() {\n return {\n type: INC_NAV_BLOCKER_COUNTER,\n };\n}\n\nexport function removeNavigationBlocker() {\n return {\n type: DEC_NAV_BLOCKER_COUNTER,\n };\n}\n\nexport function setMaintenancePageEvent(events: Array<unknown>, isFirstUpdate: boolean) {\n return {\n type: SET_MAINTENANCE_PAGE_EVENT,\n data: {events, isFirstUpdate},\n };\n}\n\nexport function splitScreen(type: string, paneClassNames: Array<string> = []) {\n document.body.style.overflow = 'hidden';\n\n return {\n type: SPLIT_SCREEN,\n data: {paneClassNames, type},\n };\n}\n\nexport function mergeScreen() {\n document.body.style.overflow = '';\n\n return {\n type: MERGE_SCREEN,\n };\n}\n\nexport function handleAuthError() {\n if (getConfigData().allowLoginDialog) {\n getWindowStore().dispatch({type: GLOBAL_PARTIAL, data: {showLoginDialog: true}});\n }\n}\n\nexport function onSuccessLogin(login: string): YTThunkAction {\n return async (dispatch) => {\n try {\n await await dispatch(reloadUserSettings(login));\n } catch (e) {}\n YT.parameters.login = login;\n dispatch({type: GLOBAL_PARTIAL, data: {showLoginDialog: false, login}});\n };\n}\n\nexport function setRootPagesCluster(rootPagesCluster: string | undefined) {\n return {type: GLOBAL_PARTIAL, data: {rootPagesCluster}};\n}\n\nexport function loadAllowedExperimentalPages(): YTThunkAction {\n return (dispatch, getState) => {\n const login = getCurrentUserName(getState());\n return UIFactory.getAllowedExperimentalPages(login).then((allowedExperimentalPages) => {\n dispatch({type: GLOBAL_PARTIAL, data: {allowedExperimentalPages}});\n });\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_ypath","_interopRequireDefault","require","_usersGroups","_utils","_global","_uikit","_utils2","_global2","_poolTrees","_index","_ytApi","_rumWrapApi","_windowStore","_settings","_ytConfig","_uiSettings","_UIFactory","obj","__esModule","default","setTheme","theme","type","GLOBAL_SET_THEME","data","usersInProgress","setAsideHeaderWidth","asideHeaderWidth","dispatch","getState","oldWidth","getGlobalAsideHeaderWidth","GLOBAL_PARTIAL","loadUsersIfNotLoaded","Promise","resolve","users","getGlobalUsers","length","listAllUsers","YTApiId","listUsersUM","attributes","then","normalizeResponseWithAttributes","e","showErrorToaster","undefined","groupsInProgress","loadGroupsIfNotLoaded","groups","getGlobalGroups","listAllGroups","listGroups","ypath","getValue","accountsInProgress","loadAccountsIfNotLoaded","ytApiV3Id","list","listAccounts","_objectSpread","path","USE_MAX_SIZE","USE_CACHE","accounts","bundlesInProgress","loadBundlesIfNotLoaded","bundles","getBundles","listBundles","poolTreesInProgress","loadPoolTreesIfNotLoaded","trees","getPoolTrees","_isEmpty","all","ytGetPoolTrees","loadDefaultPoolTree","_ref","_ref2","_slicedToArray","poolTreeDefault","poolTrees","defaultPoolTree","error","listType","reloadFn","toaster","Toaster","add","name","concat","autoHiding","content","title","actions","label","onClick","showErrorPopup","updateTitle","_ref3","page","cluster","clusters","clustersMenu","UPDATE_TITLE","addNavigationBlocker","INC_NAV_BLOCKER_COUNTER","removeNavigationBlocker","DEC_NAV_BLOCKER_COUNTER","setMaintenancePageEvent","events","isFirstUpdate","SET_MAINTENANCE_PAGE_EVENT","splitScreen","paneClassNames","arguments","document","body","style","overflow","SPLIT_SCREEN","mergeScreen","MERGE_SCREEN","handleAuthError","_ref4","ytAuthCluster","getConfigData","allowLoginDialog","getWindowStore","showLoginDialog","onSuccessLogin","login","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","reloadUserSettings","sent","t0","YT","parameters","stop","_x","apply","setRootPagesCluster","rootPagesCluster","loadAllowedExperimentalPages","getCurrentUserName","UIFactory","getAllowedExperimentalPages","allowedExperimentalPages"],"sources":["index.ts"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\n\nimport {listAllGroups, listAllUsers} from '../../../utils/users-groups';\nimport {normalizeResponseWithAttributes} from '../../../utils';\nimport {RootState} from '../../../store/reducers';\nimport {\n getBundles,\n getCurrentUserName,\n getGlobalAsideHeaderWidth,\n getGlobalGroups,\n getGlobalUsers,\n getPoolTrees,\n} from '../../../store/selectors/global';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {showErrorPopup} from '../../../utils/utils';\nimport {GLOBAL_PARTIAL} from '../../../constants/global';\nimport {loadDefaultPoolTree, ytGetPoolTrees} from '../../../utils/poolTrees';\nimport {\n DEC_NAV_BLOCKER_COUNTER,\n GLOBAL_SET_THEME,\n INC_NAV_BLOCKER_COUNTER,\n MERGE_SCREEN,\n SET_MAINTENANCE_PAGE_EVENT,\n SPLIT_SCREEN,\n UPDATE_TITLE,\n} from '../../../constants/index';\nimport {USE_CACHE, USE_MAX_SIZE} from '../../../../shared/constants/yt-api';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getWindowStore} from '../../../store/window-store';\nimport {reloadUserSettings} from '../settings';\nimport YT from '../../../config/yt-config';\nimport {getConfigData} from '../../../config/ui-settings';\nimport UIFactory from '../../../UIFactory';\n\nexport function setTheme(theme: 'light' | 'dark' | 'system' | 'light-hc' | 'dark-hc') {\n return {type: GLOBAL_SET_THEME, data: theme};\n}\n\nlet usersInProgress = false;\n\ntype YTThunkAction<T = unknown> = ThunkAction<T, RootState, any, any>;\n\nexport function setAsideHeaderWidth(asideHeaderWidth: number): YTThunkAction {\n return (dispatch, getState) => {\n const oldWidth = getGlobalAsideHeaderWidth(getState());\n if (oldWidth !== asideHeaderWidth) {\n dispatch({type: GLOBAL_PARTIAL, data: {asideHeaderWidth}});\n }\n };\n}\n\nexport function loadUsersIfNotLoaded(): ThunkAction<any, RootState, any, any> {\n return (dispatch, getState) => {\n if (usersInProgress) {\n return Promise.resolve();\n }\n\n const users = getGlobalUsers(getState());\n if (users?.length) {\n return Promise.resolve();\n }\n\n usersInProgress = true;\n\n return listAllUsers(YTApiId.listUsersUM, {attributes: ['upravlyator_managed']})\n .then((users: Array<any>) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {users: normalizeResponseWithAttributes(users)},\n });\n usersInProgress = false;\n })\n .catch((e: any) => {\n usersInProgress = false;\n showErrorToaster(e, 'users', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {users: undefined},\n });\n dispatch(loadUsersIfNotLoaded());\n });\n });\n };\n}\n\nlet groupsInProgress = false;\n\nexport function loadGroupsIfNotLoaded(): ThunkAction<Promise<void>, RootState, any, any> {\n return (dispatch, getState) => {\n if (groupsInProgress) {\n return Promise.resolve();\n }\n\n const groups = getGlobalGroups(getState());\n if (groups?.length) {\n return Promise.resolve();\n }\n\n groupsInProgress = true;\n\n return listAllGroups(YTApiId.listGroups, {attributes: ['upravlyator_managed']})\n .then((data: Array<any>) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {\n groups: normalizeResponseWithAttributes(ypath.getValue(data)),\n },\n });\n groupsInProgress = false;\n })\n .catch((e: any) => {\n groupsInProgress = false;\n showErrorToaster(e, 'groups', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {groups: undefined},\n });\n dispatch(loadGroupsIfNotLoaded());\n });\n });\n };\n}\n\nlet accountsInProgress = false;\nexport function loadAccountsIfNotLoaded(): ThunkAction<Promise<void>, RootState, any, any> {\n return (dispatch, getState) => {\n if (accountsInProgress) {\n return Promise.resolve();\n }\n\n const groups = getGlobalGroups(getState());\n if (groups?.length) {\n return Promise.resolve();\n }\n\n accountsInProgress = true;\n\n return ytApiV3Id\n .list(YTApiId.listAccounts, {path: '//sys/accounts', ...USE_MAX_SIZE, ...USE_CACHE})\n .then((data: Array<any>) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {accounts: ypath.getValue(data)},\n });\n accountsInProgress = false;\n })\n .catch((e: any) => {\n accountsInProgress = false;\n showErrorToaster(e, 'accounts', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {accounts: undefined},\n });\n dispatch(loadAccountsIfNotLoaded());\n });\n });\n };\n}\n\nlet bundlesInProgress = false;\n\nexport function loadBundlesIfNotLoaded(): ThunkAction<any, RootState, any, any> {\n return (dispatch, getState) => {\n if (bundlesInProgress) {\n return Promise.resolve();\n }\n\n const bundles = getBundles(getState());\n if (bundles?.length) {\n return Promise.resolve();\n }\n\n bundlesInProgress = true;\n\n return ytApiV3Id\n .list(YTApiId.listBundles, {\n path: '//sys/tablet_cell_bundles',\n attributes: ['nodes'],\n ...USE_MAX_SIZE,\n ...USE_CACHE,\n })\n .then((data: unknown) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {bundles: ypath.getValue(data)},\n });\n bundlesInProgress = false;\n })\n .catch((e: any) => {\n showErrorToaster(e, 'bundles', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {bundles: undefined},\n });\n dispatch(loadBundlesIfNotLoaded());\n });\n bundlesInProgress = false;\n });\n };\n}\n\nlet poolTreesInProgress = false;\nexport function loadPoolTreesIfNotLoaded(): ThunkAction<Promise<void>, RootState, any, any> {\n return (dispatch, getState) => {\n if (poolTreesInProgress) {\n return Promise.resolve();\n }\n\n const trees = getPoolTrees(getState());\n if (!_.isEmpty(trees)) {\n return Promise.resolve();\n }\n\n poolTreesInProgress = true;\n\n return Promise.all([ytGetPoolTrees(), loadDefaultPoolTree()])\n .then(([data, poolTreeDefault]) => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {poolTrees: ypath.getValue(data), poolTreeDefault},\n });\n poolTreesInProgress = false;\n })\n .catch((e: any) => {\n showErrorToaster(e, 'pools', () => {\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {poolTrees: undefined, defaultPoolTree: undefined},\n });\n dispatch(loadPoolTreesIfNotLoaded());\n });\n poolTreesInProgress = false;\n });\n };\n}\n\nfunction showErrorToaster(\n error: any,\n listType: 'users' | 'groups' | 'bundles' | 'accounts' | 'pools',\n reloadFn: () => void,\n) {\n const toaster = new Toaster();\n toaster.add({\n name: `global/${listType}`,\n autoHiding: false,\n type: 'error',\n content: 'If the problem persists, please report the error.',\n title: `Failed to load list of ${listType}`,\n actions: [\n {label: ' Details ', onClick: () => showErrorPopup(error)},\n {\n label: ' Reload ',\n onClick: reloadFn,\n },\n ],\n });\n}\n\nexport function updateTitle({\n path,\n page,\n cluster,\n}: {\n path: string;\n page: string;\n cluster: string;\n}): YTThunkAction {\n return (dispatch, getState) => {\n const clusters = getState().clustersMenu.clusters;\n dispatch({\n type: UPDATE_TITLE,\n data: {path, page, cluster, clusters},\n });\n };\n}\n\nexport function addNavigationBlocker() {\n return {\n type: INC_NAV_BLOCKER_COUNTER,\n };\n}\n\nexport function removeNavigationBlocker() {\n return {\n type: DEC_NAV_BLOCKER_COUNTER,\n };\n}\n\nexport function setMaintenancePageEvent(events: Array<unknown>, isFirstUpdate: boolean) {\n return {\n type: SET_MAINTENANCE_PAGE_EVENT,\n data: {events, isFirstUpdate},\n };\n}\n\nexport function splitScreen(type: string, paneClassNames: Array<string> = []) {\n document.body.style.overflow = 'hidden';\n\n return {\n type: SPLIT_SCREEN,\n data: {paneClassNames, type},\n };\n}\n\nexport function mergeScreen() {\n document.body.style.overflow = '';\n\n return {\n type: MERGE_SCREEN,\n };\n}\n\nexport function handleAuthError({ytAuthCluster}: {ytAuthCluster?: string} = {}) {\n if (getConfigData().allowLoginDialog) {\n if (!ytAuthCluster) {\n const toaster = new Toaster();\n\n toaster.add({\n name: `global/ytAuthCluster}`,\n autoHiding: false,\n type: 'error',\n content: 'If the problem persists, please report the error.',\n title: `Failed to show a login form. ytAuthCluster is not defined`,\n });\n\n return;\n }\n\n getWindowStore().dispatch({\n type: GLOBAL_PARTIAL,\n data: {showLoginDialog: true, ytAuthCluster},\n });\n }\n}\n\nexport function onSuccessLogin(login: string): YTThunkAction {\n return async (dispatch) => {\n try {\n await await dispatch(reloadUserSettings(login));\n } catch (e) {}\n YT.parameters.login = login;\n dispatch({\n type: GLOBAL_PARTIAL,\n data: {showLoginDialog: false, login, ytAuthCluster: undefined},\n });\n };\n}\n\nexport function setRootPagesCluster(rootPagesCluster: string | undefined) {\n return {type: GLOBAL_PARTIAL, data: {rootPagesCluster}};\n}\n\nexport function loadAllowedExperimentalPages(): YTThunkAction {\n return (dispatch, getState) => {\n const login = getCurrentUserName(getState());\n return UIFactory.getAllowedExperimentalPages(login).then((allowedExperimentalPages) => {\n dispatch({type: GLOBAL_PARTIAL, data: {allowedExperimentalPages}});\n });\n };\n}\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { ThunkAction } from 'redux-thunk';
2
2
  import { RootState } from '../../../../../store/reducers';
3
3
  type ColumnPresetThunkAction = ThunkAction<any, RootState, any, any>;
4
4
  export declare function loadColumnPresetIfDefined(): ColumnPresetThunkAction;
5
- export declare function saveColumnPreset(columnsEncoded: Array<string>): Promise<string>;
5
+ export declare function saveColumnPreset(columnsEncoded: Array<string>, cluster: string): Promise<string>;
6
6
  export declare function setTablePresetHash(hash?: string): {
7
7
  type: string;
8
8
  data: string | undefined;
@@ -19,7 +19,9 @@ var _tableRumId = require("./table-rum-id");
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
  // @ts-ignore
21
21
 
22
- var columnPresetEndpoint = '/api/table-column-preset';
22
+ var getColumnPresetEndpoint = function getColumnPresetEndpoint(cluster) {
23
+ return "/api/table-column-preset/".concat(cluster);
24
+ };
23
25
  var utf8 = _unipika.default.utils.utf8;
24
26
  function loadColumnPresetIfDefined() {
25
27
  return function (dispatch, getState) {
@@ -41,7 +43,7 @@ function loadColumnPresetIfDefined() {
41
43
  });
42
44
  return id.fetch(_rumWrapApi.YTApiId.ui_loadColumnPreset, _axios.default.request({
43
45
  method: 'GET',
44
- url: "".concat(columnPresetEndpoint, "/").concat(hashToLoad),
46
+ url: "".concat(getColumnPresetEndpoint(cluster), "/").concat(hashToLoad),
45
47
  headers: {
46
48
  'content-type': 'application/json'
47
49
  }
@@ -73,11 +75,11 @@ function loadColumnPresetIfDefined() {
73
75
  });
74
76
  };
75
77
  }
76
- function saveColumnPreset(columnsEncoded) {
78
+ function saveColumnPreset(columnsEncoded, cluster) {
77
79
  var columns = (0, _map2.default)(columnsEncoded, utf8.decode);
78
80
  return (0, _utils.wrapApiPromiseByToaster)(_axios.default.request({
79
81
  method: 'POST',
80
- url: columnPresetEndpoint,
82
+ url: getColumnPresetEndpoint(cluster),
81
83
  headers: {
82
84
  'content-type': 'application/json'
83
85
  },
@@ -1 +1 @@
1
- {"version":3,"names":["_axios","_interopRequireDefault","require","_unipika","_uikit","_table","_utils","_global","_tableTs","_rumWrapApi","_tableRumId","obj","__esModule","default","columnPresetEndpoint","utf8","unipika","utils","loadColumnPresetIfDefined","dispatch","getState","state","hashToLoad","getColumnsPresetHash","Promise","resolve","_getColumnsPreset","getColumnsPreset","hash","cluster","getCluster","isDynamic","getIsDynamic","id","makeTableRumId","fetch","YTApiId","ui_loadColumnPreset","axios","request","method","url","concat","headers","then","_ref","_ref$data","data","columns","presetHash","setTablePreset","error","setTablePresetError","Toaster","add","type","name","title","content","message","actions","label","onClick","_error$response","showErrorPopup","response","reject","saveColumnPreset","columnsEncoded","_map","decode","wrapApiPromiseByToaster","skipSuccessToast","toasterName","errorContent","res","setTablePresetHash","SET_TABLE_COLUMNS_PRESET_HASH","encode","SET_TABLE_COLUMNS_PRESET","undefined"],"sources":["columns-preset.ts"],"sourcesContent":["import axios from 'axios';\nimport _ from 'lodash';\nimport {ThunkAction} from 'redux-thunk';\n\n// @ts-ignore\nimport unipika from '../../../../../common/thor/unipika';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {\n SET_TABLE_COLUMNS_PRESET,\n SET_TABLE_COLUMNS_PRESET_HASH,\n} from '../../../../../constants/navigation/content/table';\nimport {showErrorPopup, wrapApiPromiseByToaster} from '../../../../../utils/utils';\nimport {getCluster} from '../../../../../store/selectors/global';\nimport {\n getColumnsPreset,\n getColumnsPresetHash,\n getIsDynamic,\n} from '../../../../../store/selectors/navigation/content/table-ts';\nimport {RootState} from '../../../../../store/reducers';\nimport {YTApiId} from '../../../../../rum/rum-wrap-api';\nimport {makeTableRumId} from './table-rum-id';\n\nconst columnPresetEndpoint = '/api/table-column-preset';\n\ntype ColumnPresetThunkAction = ThunkAction<any, RootState, any, any>;\n\nconst {utf8} = unipika.utils;\n\nexport function loadColumnPresetIfDefined(): ColumnPresetThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const hashToLoad = getColumnsPresetHash(state);\n if (!hashToLoad) {\n return Promise.resolve();\n }\n\n const {hash} = getColumnsPreset(state);\n if (hashToLoad === hash) {\n return Promise.resolve();\n }\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n\n return id\n .fetch(\n YTApiId.ui_loadColumnPreset,\n axios.request<{columns: Array<string>; hash: string}>({\n method: 'GET',\n url: `${columnPresetEndpoint}/${hashToLoad}`,\n headers: {'content-type': 'application/json'},\n }),\n )\n .then(({data: {columns, hash}}) => {\n const presetHash = getColumnsPresetHash(getState());\n if (presetHash !== hash) {\n return;\n }\n\n dispatch(setTablePreset(columns, hash));\n })\n .catch((error) => {\n dispatch(setTablePresetError(error));\n\n new Toaster().add({\n type: 'error',\n name: 'loadColumnPreset',\n title: 'Failed to get preset of columns',\n content: error.message,\n actions: [\n {\n label: ' Details',\n onClick() {\n showErrorPopup(error?.response?.data || error);\n },\n },\n ],\n });\n\n return Promise.reject(error);\n });\n };\n}\n\nexport function saveColumnPreset(columnsEncoded: Array<string>): Promise<string> {\n const columns = _.map(columnsEncoded, utf8.decode);\n return wrapApiPromiseByToaster(\n axios.request<string>({\n method: 'POST',\n url: columnPresetEndpoint,\n headers: {'content-type': 'application/json'},\n data: columns,\n }),\n {\n skipSuccessToast: true,\n toasterName: 'saveColumnPreset',\n errorContent: 'Failed to save preset of columns',\n },\n ).then((res) => {\n const hash = res.data;\n return hash;\n });\n}\n\nexport function setTablePresetHash(hash?: string) {\n return {\n type: SET_TABLE_COLUMNS_PRESET_HASH,\n data: hash,\n };\n}\n\nfunction setTablePreset(columns: Array<string>, hash: string) {\n const columnsEncoded = _.map(columns, utf8.encode);\n return {\n type: SET_TABLE_COLUMNS_PRESET,\n data: {error: undefined, columns: columnsEncoded, hash},\n };\n}\n\nfunction setTablePresetError(error: unknown) {\n return {\n type: SET_TABLE_COLUMNS_PRESET,\n data: {error, columns: undefined, hash: undefined},\n };\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAIA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAMA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAA6C,SAAAD,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAjB7C;;AAmBA,IAAMG,oBAAoB,GAAG,0BAA0B;AAIvD,IAAOC,IAAI,GAAIC,gBAAO,CAACC,KAAK,CAArBF,IAAI;AAEJ,SAASG,yBAAyBA,CAAA,EAA4B;EACjE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,KAAK,GAAGD,QAAQ,CAAC,CAAC;IACxB,IAAME,UAAU,GAAG,IAAAC,6BAAoB,EAACF,KAAK,CAAC;IAC9C,IAAI,CAACC,UAAU,EAAE;MACb,OAAOE,OAAO,CAACC,OAAO,CAAC,CAAC;IAC5B;IAEA,IAAAC,iBAAA,GAAe,IAAAC,yBAAgB,EAACN,KAAK,CAAC;MAA/BO,IAAI,GAAAF,iBAAA,CAAJE,IAAI;IACX,IAAIN,UAAU,KAAKM,IAAI,EAAE;MACrB,OAAOJ,OAAO,CAACC,OAAO,CAAC,CAAC;IAC5B;IAEA,IAAMI,OAAO,GAAG,IAAAC,kBAAU,EAACT,KAAK,CAAC;IACjC,IAAMU,SAAS,GAAG,IAAAC,qBAAY,EAACX,KAAK,CAAC;IACrC,IAAMY,EAAE,GAAG,IAAAC,0BAAc,EAAC;MAACL,OAAO,EAAPA,OAAO;MAAEE,SAAS,EAATA;IAAS,CAAC,CAAC;IAE/C,OAAOE,EAAE,CACJE,KAAK,CACFC,mBAAO,CAACC,mBAAmB,EAC3BC,cAAK,CAACC,OAAO,CAAyC;MAClDC,MAAM,EAAE,KAAK;MACbC,GAAG,KAAAC,MAAA,CAAK5B,oBAAoB,OAAA4B,MAAA,CAAIpB,UAAU,CAAE;MAC5CqB,OAAO,EAAE;QAAC,cAAc,EAAE;MAAkB;IAChD,CAAC,CACL,CAAC,CACAC,IAAI,CAAC,UAAAC,IAAA,EAA6B;MAAA,IAAAC,SAAA,GAAAD,IAAA,CAA3BE,IAAI;QAAGC,OAAO,GAAAF,SAAA,CAAPE,OAAO;QAAEpB,IAAI,GAAAkB,SAAA,CAAJlB,IAAI;MACxB,IAAMqB,UAAU,GAAG,IAAA1B,6BAAoB,EAACH,QAAQ,CAAC,CAAC,CAAC;MACnD,IAAI6B,UAAU,KAAKrB,IAAI,EAAE;QACrB;MACJ;MAEAT,QAAQ,CAAC+B,cAAc,CAACF,OAAO,EAAEpB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,SACI,CAAC,UAACuB,KAAK,EAAK;MACdhC,QAAQ,CAACiC,mBAAmB,CAACD,KAAK,CAAC,CAAC;MAEpC,IAAIE,cAAO,CAAC,CAAC,CAACC,GAAG,CAAC;QACdC,IAAI,EAAE,OAAO;QACbC,IAAI,EAAE,kBAAkB;QACxBC,KAAK,EAAE,iCAAiC;QACxCC,OAAO,EAAEP,KAAK,CAACQ,OAAO;QACtBC,OAAO,EAAE,CACL;UACIC,KAAK,EAAE,UAAU;UACjBC,OAAO,WAAAA,QAAA,EAAG;YAAA,IAAAC,eAAA;YACN,IAAAC,qBAAc,EAAC,CAAAb,KAAK,aAALA,KAAK,gBAAAY,eAAA,GAALZ,KAAK,CAAEc,QAAQ,cAAAF,eAAA,uBAAfA,eAAA,CAAiBhB,IAAI,KAAII,KAAK,CAAC;UAClD;QACJ,CAAC;MAET,CAAC,CAAC;MAEF,OAAO3B,OAAO,CAAC0C,MAAM,CAACf,KAAK,CAAC;IAChC,CAAC,CAAC;EACV,CAAC;AACL;AAEO,SAASgB,gBAAgBA,CAACC,cAA6B,EAAmB;EAC7E,IAAMpB,OAAO,GAAG,IAAAqB,aAAA,EAAMD,cAAc,EAAErD,IAAI,CAACuD,MAAM,CAAC;EAClD,OAAO,IAAAC,8BAAuB,EAC1BjC,cAAK,CAACC,OAAO,CAAS;IAClBC,MAAM,EAAE,MAAM;IACdC,GAAG,EAAE3B,oBAAoB;IACzB6B,OAAO,EAAE;MAAC,cAAc,EAAE;IAAkB,CAAC;IAC7CI,IAAI,EAAEC;EACV,CAAC,CAAC,EACF;IACIwB,gBAAgB,EAAE,IAAI;IACtBC,WAAW,EAAE,kBAAkB;IAC/BC,YAAY,EAAE;EAClB,CACJ,CAAC,CAAC9B,IAAI,CAAC,UAAC+B,GAAG,EAAK;IACZ,IAAM/C,IAAI,GAAG+C,GAAG,CAAC5B,IAAI;IACrB,OAAOnB,IAAI;EACf,CAAC,CAAC;AACN;AAEO,SAASgD,kBAAkBA,CAAChD,IAAa,EAAE;EAC9C,OAAO;IACH2B,IAAI,EAAEsB,oCAA6B;IACnC9B,IAAI,EAAEnB;EACV,CAAC;AACL;AAEA,SAASsB,cAAcA,CAACF,OAAsB,EAAEpB,IAAY,EAAE;EAC1D,IAAMwC,cAAc,GAAG,IAAAC,aAAA,EAAMrB,OAAO,EAAEjC,IAAI,CAAC+D,MAAM,CAAC;EAClD,OAAO;IACHvB,IAAI,EAAEwB,+BAAwB;IAC9BhC,IAAI,EAAE;MAACI,KAAK,EAAE6B,SAAS;MAAEhC,OAAO,EAAEoB,cAAc;MAAExC,IAAI,EAAJA;IAAI;EAC1D,CAAC;AACL;AAEA,SAASwB,mBAAmBA,CAACD,KAAc,EAAE;EACzC,OAAO;IACHI,IAAI,EAAEwB,+BAAwB;IAC9BhC,IAAI,EAAE;MAACI,KAAK,EAALA,KAAK;MAAEH,OAAO,EAAEgC,SAAS;MAAEpD,IAAI,EAAEoD;IAAS;EACrD,CAAC;AACL"}
1
+ {"version":3,"names":["_axios","_interopRequireDefault","require","_unipika","_uikit","_table","_utils","_global","_tableTs","_rumWrapApi","_tableRumId","obj","__esModule","default","getColumnPresetEndpoint","cluster","concat","utf8","unipika","utils","loadColumnPresetIfDefined","dispatch","getState","state","hashToLoad","getColumnsPresetHash","Promise","resolve","_getColumnsPreset","getColumnsPreset","hash","getCluster","isDynamic","getIsDynamic","id","makeTableRumId","fetch","YTApiId","ui_loadColumnPreset","axios","request","method","url","headers","then","_ref","_ref$data","data","columns","presetHash","setTablePreset","error","setTablePresetError","Toaster","add","type","name","title","content","message","actions","label","onClick","_error$response","showErrorPopup","response","reject","saveColumnPreset","columnsEncoded","_map","decode","wrapApiPromiseByToaster","skipSuccessToast","toasterName","errorContent","res","setTablePresetHash","SET_TABLE_COLUMNS_PRESET_HASH","encode","SET_TABLE_COLUMNS_PRESET","undefined"],"sources":["columns-preset.ts"],"sourcesContent":["import axios from 'axios';\nimport _ from 'lodash';\nimport {ThunkAction} from 'redux-thunk';\n\n// @ts-ignore\nimport unipika from '../../../../../common/thor/unipika';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {\n SET_TABLE_COLUMNS_PRESET,\n SET_TABLE_COLUMNS_PRESET_HASH,\n} from '../../../../../constants/navigation/content/table';\nimport {showErrorPopup, wrapApiPromiseByToaster} from '../../../../../utils/utils';\nimport {getCluster} from '../../../../../store/selectors/global';\nimport {\n getColumnsPreset,\n getColumnsPresetHash,\n getIsDynamic,\n} from '../../../../../store/selectors/navigation/content/table-ts';\nimport {RootState} from '../../../../../store/reducers';\nimport {YTApiId} from '../../../../../rum/rum-wrap-api';\nimport {makeTableRumId} from './table-rum-id';\n\nconst getColumnPresetEndpoint = (cluster: string) => `/api/table-column-preset/${cluster}`;\n\ntype ColumnPresetThunkAction = ThunkAction<any, RootState, any, any>;\n\nconst {utf8} = unipika.utils;\n\nexport function loadColumnPresetIfDefined(): ColumnPresetThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const hashToLoad = getColumnsPresetHash(state);\n if (!hashToLoad) {\n return Promise.resolve();\n }\n\n const {hash} = getColumnsPreset(state);\n if (hashToLoad === hash) {\n return Promise.resolve();\n }\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n\n return id\n .fetch(\n YTApiId.ui_loadColumnPreset,\n axios.request<{columns: Array<string>; hash: string}>({\n method: 'GET',\n url: `${getColumnPresetEndpoint(cluster)}/${hashToLoad}`,\n headers: {'content-type': 'application/json'},\n }),\n )\n .then(({data: {columns, hash}}) => {\n const presetHash = getColumnsPresetHash(getState());\n if (presetHash !== hash) {\n return;\n }\n\n dispatch(setTablePreset(columns, hash));\n })\n .catch((error) => {\n dispatch(setTablePresetError(error));\n\n new Toaster().add({\n type: 'error',\n name: 'loadColumnPreset',\n title: 'Failed to get preset of columns',\n content: error.message,\n actions: [\n {\n label: ' Details',\n onClick() {\n showErrorPopup(error?.response?.data || error);\n },\n },\n ],\n });\n\n return Promise.reject(error);\n });\n };\n}\n\nexport function saveColumnPreset(columnsEncoded: Array<string>, cluster: string): Promise<string> {\n const columns = _.map(columnsEncoded, utf8.decode);\n return wrapApiPromiseByToaster(\n axios.request<string>({\n method: 'POST',\n url: getColumnPresetEndpoint(cluster),\n headers: {'content-type': 'application/json'},\n data: columns,\n }),\n {\n skipSuccessToast: true,\n toasterName: 'saveColumnPreset',\n errorContent: 'Failed to save preset of columns',\n },\n ).then((res) => {\n const hash = res.data;\n return hash;\n });\n}\n\nexport function setTablePresetHash(hash?: string) {\n return {\n type: SET_TABLE_COLUMNS_PRESET_HASH,\n data: hash,\n };\n}\n\nfunction setTablePreset(columns: Array<string>, hash: string) {\n const columnsEncoded = _.map(columns, utf8.encode);\n return {\n type: SET_TABLE_COLUMNS_PRESET,\n data: {error: undefined, columns: columnsEncoded, hash},\n };\n}\n\nfunction setTablePresetError(error: unknown) {\n return {\n type: SET_TABLE_COLUMNS_PRESET,\n data: {error, columns: undefined, hash: undefined},\n };\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAIA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAMA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAA6C,SAAAD,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAjB7C;;AAmBA,IAAMG,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIC,OAAe;EAAA,mCAAAC,MAAA,CAAiCD,OAAO;AAAA,CAAE;AAI1F,IAAOE,IAAI,GAAIC,gBAAO,CAACC,KAAK,CAArBF,IAAI;AAEJ,SAASG,yBAAyBA,CAAA,EAA4B;EACjE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,KAAK,GAAGD,QAAQ,CAAC,CAAC;IACxB,IAAME,UAAU,GAAG,IAAAC,6BAAoB,EAACF,KAAK,CAAC;IAC9C,IAAI,CAACC,UAAU,EAAE;MACb,OAAOE,OAAO,CAACC,OAAO,CAAC,CAAC;IAC5B;IAEA,IAAAC,iBAAA,GAAe,IAAAC,yBAAgB,EAACN,KAAK,CAAC;MAA/BO,IAAI,GAAAF,iBAAA,CAAJE,IAAI;IACX,IAAIN,UAAU,KAAKM,IAAI,EAAE;MACrB,OAAOJ,OAAO,CAACC,OAAO,CAAC,CAAC;IAC5B;IAEA,IAAMZ,OAAO,GAAG,IAAAgB,kBAAU,EAACR,KAAK,CAAC;IACjC,IAAMS,SAAS,GAAG,IAAAC,qBAAY,EAACV,KAAK,CAAC;IACrC,IAAMW,EAAE,GAAG,IAAAC,0BAAc,EAAC;MAACpB,OAAO,EAAPA,OAAO;MAAEiB,SAAS,EAATA;IAAS,CAAC,CAAC;IAE/C,OAAOE,EAAE,CACJE,KAAK,CACFC,mBAAO,CAACC,mBAAmB,EAC3BC,cAAK,CAACC,OAAO,CAAyC;MAClDC,MAAM,EAAE,KAAK;MACbC,GAAG,KAAA1B,MAAA,CAAKF,uBAAuB,CAACC,OAAO,CAAC,OAAAC,MAAA,CAAIQ,UAAU,CAAE;MACxDmB,OAAO,EAAE;QAAC,cAAc,EAAE;MAAkB;IAChD,CAAC,CACL,CAAC,CACAC,IAAI,CAAC,UAAAC,IAAA,EAA6B;MAAA,IAAAC,SAAA,GAAAD,IAAA,CAA3BE,IAAI;QAAGC,OAAO,GAAAF,SAAA,CAAPE,OAAO;QAAElB,IAAI,GAAAgB,SAAA,CAAJhB,IAAI;MACxB,IAAMmB,UAAU,GAAG,IAAAxB,6BAAoB,EAACH,QAAQ,CAAC,CAAC,CAAC;MACnD,IAAI2B,UAAU,KAAKnB,IAAI,EAAE;QACrB;MACJ;MAEAT,QAAQ,CAAC6B,cAAc,CAACF,OAAO,EAAElB,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,SACI,CAAC,UAACqB,KAAK,EAAK;MACd9B,QAAQ,CAAC+B,mBAAmB,CAACD,KAAK,CAAC,CAAC;MAEpC,IAAIE,cAAO,CAAC,CAAC,CAACC,GAAG,CAAC;QACdC,IAAI,EAAE,OAAO;QACbC,IAAI,EAAE,kBAAkB;QACxBC,KAAK,EAAE,iCAAiC;QACxCC,OAAO,EAAEP,KAAK,CAACQ,OAAO;QACtBC,OAAO,EAAE,CACL;UACIC,KAAK,EAAE,UAAU;UACjBC,OAAO,WAAAA,QAAA,EAAG;YAAA,IAAAC,eAAA;YACN,IAAAC,qBAAc,EAAC,CAAAb,KAAK,aAALA,KAAK,gBAAAY,eAAA,GAALZ,KAAK,CAAEc,QAAQ,cAAAF,eAAA,uBAAfA,eAAA,CAAiBhB,IAAI,KAAII,KAAK,CAAC;UAClD;QACJ,CAAC;MAET,CAAC,CAAC;MAEF,OAAOzB,OAAO,CAACwC,MAAM,CAACf,KAAK,CAAC;IAChC,CAAC,CAAC;EACV,CAAC;AACL;AAEO,SAASgB,gBAAgBA,CAACC,cAA6B,EAAErD,OAAe,EAAmB;EAC9F,IAAMiC,OAAO,GAAG,IAAAqB,aAAA,EAAMD,cAAc,EAAEnD,IAAI,CAACqD,MAAM,CAAC;EAClD,OAAO,IAAAC,8BAAuB,EAC1BhC,cAAK,CAACC,OAAO,CAAS;IAClBC,MAAM,EAAE,MAAM;IACdC,GAAG,EAAE5B,uBAAuB,CAACC,OAAO,CAAC;IACrC4B,OAAO,EAAE;MAAC,cAAc,EAAE;IAAkB,CAAC;IAC7CI,IAAI,EAAEC;EACV,CAAC,CAAC,EACF;IACIwB,gBAAgB,EAAE,IAAI;IACtBC,WAAW,EAAE,kBAAkB;IAC/BC,YAAY,EAAE;EAClB,CACJ,CAAC,CAAC9B,IAAI,CAAC,UAAC+B,GAAG,EAAK;IACZ,IAAM7C,IAAI,GAAG6C,GAAG,CAAC5B,IAAI;IACrB,OAAOjB,IAAI;EACf,CAAC,CAAC;AACN;AAEO,SAAS8C,kBAAkBA,CAAC9C,IAAa,EAAE;EAC9C,OAAO;IACHyB,IAAI,EAAEsB,oCAA6B;IACnC9B,IAAI,EAAEjB;EACV,CAAC;AACL;AAEA,SAASoB,cAAcA,CAACF,OAAsB,EAAElB,IAAY,EAAE;EAC1D,IAAMsC,cAAc,GAAG,IAAAC,aAAA,EAAMrB,OAAO,EAAE/B,IAAI,CAAC6D,MAAM,CAAC;EAClD,OAAO;IACHvB,IAAI,EAAEwB,+BAAwB;IAC9BhC,IAAI,EAAE;MAACI,KAAK,EAAE6B,SAAS;MAAEhC,OAAO,EAAEoB,cAAc;MAAEtC,IAAI,EAAJA;IAAI;EAC1D,CAAC;AACL;AAEA,SAASsB,mBAAmBA,CAACD,KAAc,EAAE;EACzC,OAAO;IACHI,IAAI,EAAEwB,+BAAwB;IAC9BhC,IAAI,EAAE;MAACI,KAAK,EAALA,KAAK;MAAEH,OAAO,EAAEgC,SAAS;MAAElD,IAAI,EAAEkD;IAAS;EACrD,CAAC;AACL"}
@@ -538,7 +538,8 @@ function rememberPresetColumnsAsDefault() {
538
538
  function openTableWithPresetOfColumns() {
539
539
  return function (dispatch, getState) {
540
540
  var visibleColumns = (0, _table3.getVisibleColumns)(getState());
541
- (0, _columnsPreset.saveColumnPreset)((0, _map2.default)(visibleColumns, 'name')).then(function (hash) {
541
+ var cluster = (0, _global.getCluster)(getState());
542
+ (0, _columnsPreset.saveColumnPreset)((0, _map2.default)(visibleColumns, 'name'), cluster).then(function (hash) {
542
543
  var href = window.location.href;
543
544
  var url = "".concat(href, "&columns=").concat(hash);
544
545
  (0, _utils.openInNewTab)(url);
@@ -1 +1 @@
1
- {"version":3,"names":["_fontfaceobserver","_interopRequireDefault","require","_uikit","_metrics","_yt","_table","_navigation","_cancelHelper","_utils","_navigation2","_query","_columns","_global","_table2","_navigation3","_settings","_table3","_tableTs","_global2","_tableTs2","_rumWrapApi","_unipika","_columnsPreset","_tableRumId","_settingsTs","obj","__esModule","default","requests","CancelHelper","toaster","Toaster","loadDynamicTable","requestOutputFormat","setup","state","type","useZeroRangeForPreload","login","global","path","getPath","stringLimit","getCellSize","keyColumns","getKeyColumns","attributes","getAttributes","useYqlTypes","isYqlTypesEnabled","moveBackward","getMoveOffsetBackward","defaultTableColumnLimit","getDefaultTableColumnLimit","_getNextOffset","getNextOffset","offset","offsetValue","descending","orderBySupported","offsetColumns","limit","getRequestedPageSize","_isEmpty","cluster","getCluster","isDynamic","getIsDynamic","id","makeTableRumId","LOAD_TYPE","PRELOAD","allColumns","Columns","getSchemaColumns","fetch","YTApiId","dynTableCheckPerm","ytApiV3Id","checkPermission","parameters","columns","permission","user","cancellation","saveCancelToken","then","permissions","keyColumnsNames","_keyBy","_$reduce","_reduce","res","index","action","availableColumns","push","omittedColumns","_has","deniedKeyColumns","_defineProperty","length","Promise","reject","_map","unipika","decode","query","Query","prepareQuery","output_format","dump_error_into_response","dynTableSelectRowsPreload","selectRows","_ref","data","error","parseErrorFromResponse","getParsedError","_prepareRows","prepareRows","rows","yqlTypes","getVisibleColumns","getOmittedColumns","getDeniedKeyColumns","decodedColumns","decodeNameField","outputFormat","getRequestOutputFormat","err","Error","key_columns","dynTableSelectRows","_ref2","_prepareRows2","loadStaticTable","transaction","getTransaction","requestedPageSize","getColumns","prepareRequest","table_reader","workload_descriptor","category","omit_inaccessible_columns","relativePath","apiId","tableReadPreload","tableRead","readTable","_ref3","headers","_prepareRows3","prepareHeaders","loadTableRows","isStrict","getIsStrict","transformResponse","_ref4","parsedData","rawResponse","loadPromise","result","schemaColumns","getTableColumnNamesFromSchema","rest","_objectWithoutProperties","_excluded","_objectSpread","injectColumnsFromSchema","restoreColumns","tableSimilarityEnabled","isTableSimilarityEnabled","$value","$attributes","field_weight_limit","max_selected_column_count","max_all_column_names_count","column_names","_ref5","storedColumns","restoreSimilarColumns","restoreExactColumns","preloadTableFont","fontFamily","FontFaceObserver","load","updateTableData","dispatch","getState","_getNextOffset2","GET_TABLE_DATA","REQUEST","removeAllRequests","UPDATE","_ref6","preparedColumns","prepareColumns","preparedOmittedColumns","prepareOmittedColumns","setColumns","newOffsetValue","previousRows","getRows","addRowCount","Math","min","concat","slice","prepareKey","getColumnsValues","undefined","SET_OFFSET","SUCCESS","code","yt","codes","CANCELLED","FAILURE","getTableData","fontFamilies","getFontFamilies","loadColumnPresetIfDefined","updateColumns","_ref7","_ref7$deniedKeyColumn","preset","getColumnsPreset","forEach","column","_preset$columns","checked","includes","name","all","monospace","_ref8","_ref9","_slicedToArray","_ref9$","_excluded2","SET_COLUMNS","setColumnsOrder","columnsOrder","SET_COLUMNS_ORDER","openColumnSelectorModal","OPEN_COLUMN_SELECTOR_MODAL","closeColumnSelectorModal","CLOSE_COLUMN_SELECTOR_MODAL","_filter","disabled","getColumnsOrder","storeAllColumns","setTablePresetHash","rememberPresetColumnsAsDefault","getAllColumns","openTableWithPresetOfColumns","visibleColumns","saveColumnPreset","hash","href","window","location","url","openInNewTab","metrics","countEvent","share_columns","changePageSize","pageSize","CHANGE_PAGE_SIZE","changeCellSize","cellSize","CHANGE_CELL_SIZE","toggleFullScreen","mergeScreen","TOGGLE_FULL_SCREEN","handleScreenChanged","isFullScreen","storedIsFullScreen","navigation","content","table","mountUnmountTable","navigation_dynamic_table_action","ytApiV3","add","title","updateView","console","message","actions","label","onClick","showErrorPopup","abortAndReset","item"],"sources":["table.js"],"sourcesContent":["import _ from 'lodash';\nimport FontFaceObserver from 'fontfaceobserver';\nimport {Toaster} from '@gravity-ui/uikit';\nimport metrics from '../../../../../common/utils/metrics';\n\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n CHANGE_CELL_SIZE,\n CHANGE_PAGE_SIZE,\n CLOSE_COLUMN_SELECTOR_MODAL,\n GET_TABLE_DATA,\n LOAD_TYPE,\n OPEN_COLUMN_SELECTOR_MODAL,\n SET_COLUMNS,\n SET_COLUMNS_ORDER,\n SET_OFFSET,\n TOGGLE_FULL_SCREEN,\n} from '../../../../../constants/navigation/content/table';\n\nimport {updateView} from '../../../../../store/actions/navigation';\n\nimport CancelHelper from '../../../../../utils/cancel-helper';\nimport {openInNewTab, showErrorPopup} from '../../../../../utils/utils';\nimport {prepareRequest} from '../../../../../utils/navigation';\nimport Query from '../../../../../utils/navigation/content/table/query';\nimport Columns from '../../../../../utils/navigation/content/table/columns';\nimport {getCluster} from '../../../../../store/selectors/global';\nimport {\n getColumnsValues,\n getParsedError,\n getRequestOutputFormat,\n parseErrorFromResponse,\n prepareHeaders,\n prepareRows,\n} from '../../../../../utils/navigation/content/table/table';\n\nimport {getAttributes, getPath, getTransaction} from '../../../../../store/selectors/navigation';\nimport {\n getDefaultTableColumnLimit,\n isTableSimilarityEnabled,\n} from '../../../../../store/selectors/settings';\nimport {\n getAllColumns,\n getKeyColumns,\n getNextOffset,\n getRequestedPageSize,\n getVisibleColumns,\n isYqlTypesEnabled,\n} from '../../../../../store/selectors/navigation/content/table';\nimport {\n getCellSize,\n getColumns,\n getColumnsPreset,\n getDeniedKeyColumns,\n getIsDynamic,\n getIsStrict,\n getMoveOffsetBackward,\n getOmittedColumns,\n getRows,\n getTableColumnNamesFromSchema,\n} from '../../../../../store/selectors/navigation/content/table-ts';\nimport {mergeScreen} from '../../../../../store/actions/global';\nimport {injectColumnsFromSchema} from '../../../../../utils/navigation/content/table/table-ts';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../../../rum/rum-wrap-api';\nimport unipika from '../../../../../common/thor/unipika';\n\nimport {loadColumnPresetIfDefined, saveColumnPreset, setTablePresetHash} from './columns-preset';\nimport {makeTableRumId} from './table-rum-id';\nimport {getFontFamilies} from '../../../../selectors/settings-ts';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nfunction loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload) {\n const {login} = state.global;\n\n const path = getPath(state);\n const stringLimit = getCellSize(state);\n const keyColumns = getKeyColumns(state);\n const attributes = getAttributes(state);\n const useYqlTypes = isYqlTypesEnabled(state);\n const moveBackward = getMoveOffsetBackward(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const {offsetValue: offset, moveBackward: descending} = getNextOffset(state);\n const orderBySupported = true;\n const offsetColumns = keyColumns;\n\n let limit = getRequestedPageSize(state);\n if (_.isEmpty(offset) && descending) {\n // If we move to the end of the table, we reduce the limit for correctly determining the end of the table\n limit--;\n }\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n\n if (type === LOAD_TYPE.PRELOAD) {\n // Get all columns from schema for preload data. Scheme is always strict\n const allColumns = Columns.getSchemaColumns(attributes);\n\n return id\n .fetch(\n YTApiId.dynTableCheckPerm,\n ytApiV3Id.checkPermission(YTApiId.dynTableCheckPerm, {\n parameters: {\n columns: allColumns,\n permission: 'read',\n user: login,\n path,\n },\n cancellation: requests.saveCancelToken,\n }),\n )\n .then((permissions) => {\n const keyColumnsNames = _.keyBy(keyColumns);\n const {availableColumns, omittedColumns, deniedKeyColumns} = _.reduce(\n permissions.columns,\n (res, permission, index) => {\n if (permission.action === 'allow') {\n res.availableColumns.push(allColumns[index]);\n } else {\n res.omittedColumns.push(allColumns[index]);\n if (_.has(keyColumnsNames, allColumns[index])) {\n res.deniedKeyColumns.push({[allColumns[index]]: permission.action});\n }\n }\n\n return res;\n },\n {availableColumns: [], omittedColumns: [], deniedKeyColumns: []},\n );\n\n if (deniedKeyColumns.length !== 0) {\n return Promise.reject({deniedKeyColumns});\n }\n\n const columns = _.map(availableColumns, unipika.decode);\n const parameters = {\n query: Query.prepareQuery({\n columns,\n path,\n keyColumns,\n offsetColumns,\n offset: useZeroRangeForPreload ? 0 : offset,\n limit: useZeroRangeForPreload ? 0 : limit,\n descending,\n orderBySupported,\n }),\n output_format: requestOutputFormat,\n dump_error_into_response: true,\n };\n\n return id\n .fetch(\n YTApiId.dynTableSelectRowsPreload,\n ytApiV3Id.selectRows(YTApiId.dynTableSelectRowsPreload, {\n setup,\n parameters,\n cancellation: requests.saveCancelToken,\n }),\n )\n .then(({data}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n\n return {\n rows,\n columns,\n yqlTypes,\n omittedColumns,\n };\n });\n });\n } else {\n // Get only visible columns for updating data. Get omittedColumns from store.\n const columns = getVisibleColumns(state);\n const omittedColumns = getOmittedColumns(state);\n const deniedKeyColumns = getDeniedKeyColumns(state);\n const decodedColumns = decodeNameField(columns);\n const outputFormat = getRequestOutputFormat(\n decodedColumns,\n stringLimit,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n if (deniedKeyColumns.length !== 0) {\n const err = new Error('There is no \"read\" permission for some key columns:');\n err.attributes = {key_columns: deniedKeyColumns};\n return Promise.reject(err);\n }\n\n const parameters = {\n query: Query.prepareQuery({\n columns: decodedColumns,\n path,\n keyColumns,\n offsetColumns,\n offset,\n limit,\n descending,\n orderBySupported,\n }),\n output_format: outputFormat,\n dump_error_into_response: true,\n };\n\n return id\n .fetch(\n YTApiId.dynTableSelectRows,\n ytApiV3Id.selectRows(YTApiId.dynTableSelectRows, {\n setup,\n parameters,\n cancellation: requests.saveCancelToken,\n }),\n )\n .then(({data}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n\n return {\n rows,\n columns,\n yqlTypes,\n omittedColumns,\n };\n });\n }\n}\n\nfunction loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload) {\n const path = getPath(state);\n const stringLimit = getCellSize(state);\n const transaction = getTransaction(state);\n const moveBackward = getMoveOffsetBackward(state);\n const requestedPageSize = getRequestedPageSize(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n\n const {login} = state.global;\n // Get all columns always and update them then. We can get new columns. The scheme is not always strict\n const columns = getColumns(state);\n const offsetValue = getNextOffset(state).offsetValue;\n const useYqlTypes = isYqlTypesEnabled(state);\n const decodedColumns = decodeNameField(columns);\n const outputFormat =\n requestOutputFormat ||\n getRequestOutputFormat(\n decodedColumns,\n stringLimit,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n const parameters = prepareRequest({\n path,\n table_reader: {\n workload_descriptor: {category: 'user_interactive'},\n },\n transaction,\n output_format: outputFormat,\n dump_error_into_response: true,\n omit_inaccessible_columns: true,\n relativePath: useZeroRangeForPreload\n ? '[#0:#0]'\n : '[#' + offsetValue + ':#' + (offsetValue + requestedPageSize) + ']',\n });\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n const apiId = type === LOAD_TYPE.PRELOAD ? YTApiId.tableReadPreload : YTApiId.tableRead;\n\n return id\n .fetch(\n apiId,\n ytApiV3Id.readTable(apiId, {setup, parameters, cancellation: requests.saveCancelToken}),\n )\n .then(({data, headers}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n const omittedColumns = prepareHeaders(headers);\n\n return {columns, omittedColumns, rows, yqlTypes};\n });\n}\n\nfunction loadTableRows(type, state, requestOutputFormat) {\n const isDynamic = getIsDynamic(state);\n const isStrict = getIsStrict(state);\n const setup = {\n transformResponse({parsedData, rawResponse}) {\n return {\n data: parsedData,\n headers: rawResponse?.headers,\n };\n },\n };\n const useZeroRangeForPreload = isStrict && type === LOAD_TYPE.PRELOAD;\n\n const loadPromise = isDynamic\n ? loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload)\n : loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload);\n\n return loadPromise.then((result) => {\n const schemaColumns = getTableColumnNamesFromSchema(state);\n const {columns, omittedColumns, ...rest} = result;\n return {\n columns: injectColumnsFromSchema(columns, omittedColumns, schemaColumns),\n omittedColumns,\n ...rest,\n };\n });\n}\n\n// Make a table request with page size row range and empty column range to get the list of all columns in table\n// and restore personalized columns list.\nfunction restoreColumns(state) {\n const tableSimilarityEnabled = isTableSimilarityEnabled(state);\n const attributes = getAttributes(state);\n const stringLimit = getCellSize(state);\n\n const requestOutputFormat = {\n $value: 'web_json',\n $attributes: {\n field_weight_limit: stringLimit,\n max_selected_column_count: 50,\n max_all_column_names_count: 3000,\n column_names: [],\n },\n };\n\n return loadTableRows(LOAD_TYPE.PRELOAD, state, requestOutputFormat)\n .then(({columns, omittedColumns}) => {\n const storedColumns = tableSimilarityEnabled\n ? Columns.restoreSimilarColumns(attributes, columns)\n : Columns.restoreExactColumns(attributes);\n\n return {columns, omittedColumns, storedColumns};\n })\n .catch((data) => {\n const {deniedKeyColumns} = data;\n return {\n columns: [],\n omittedColumns: [],\n storedColumns: null,\n ...(deniedKeyColumns ? {deniedKeyColumns} : {}),\n };\n });\n}\n\n// TODO: consider switching back for <link rel=\"preload\"> once it's supported in all major browsers\nfunction preloadTableFont(fontFamily) {\n return new FontFaceObserver(fontFamily).load(null, 10000);\n}\n\nexport function updateTableData() {\n return (dispatch, getState) => {\n const state = getState();\n const attributes = getAttributes(state);\n const {offsetValue, moveBackward} = getNextOffset(state);\n const requestedPageSize = getRequestedPageSize(state);\n const isDynamic = getIsDynamic(state);\n\n dispatch({type: GET_TABLE_DATA.REQUEST});\n requests.removeAllRequests();\n\n return loadTableRows(LOAD_TYPE.UPDATE, state)\n .then(({columns, omittedColumns, rows, yqlTypes}) => {\n // Scheme is always strict in dynamic tables. No new columns are expected.\n if (!isDynamic) {\n // Get current columns for save visible status\n const storedColumns = getColumns(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const preparedColumns = Columns.prepareColumns(\n attributes,\n rows,\n columns,\n storedColumns,\n defaultTableColumnLimit,\n );\n const preparedOmittedColumns = Columns.prepareOmittedColumns(\n attributes,\n omittedColumns,\n );\n dispatch(setColumns(preparedColumns, preparedOmittedColumns, []));\n }\n\n if (moveBackward) {\n let newOffsetValue;\n if (!_.isEmpty(offsetValue) && rows.length < requestedPageSize) {\n // If there are not enough rows on the new page on the left:\n // - add rows from the current page\n // - reset offset value\n newOffsetValue = '';\n const previousRows = getRows(state);\n const addRowCount = Math.min(\n requestedPageSize - rows.length + 1,\n previousRows.length,\n );\n rows = rows.concat(previousRows.slice(1, addRowCount));\n } else {\n const keyColumns = getKeyColumns(state);\n newOffsetValue = Query.prepareKey(getColumnsValues(rows[0], keyColumns));\n }\n\n if (newOffsetValue !== undefined) {\n dispatch({\n type: SET_OFFSET,\n data: {offsetValue: newOffsetValue},\n });\n }\n }\n\n dispatch({\n type: GET_TABLE_DATA.SUCCESS,\n data: {rows, yqlTypes},\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLE_DATA.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function getTableData() {\n return (dispatch, getState) => {\n const state = getState();\n\n const attributes = getAttributes(state);\n const fontFamilies = getFontFamilies(state);\n\n return dispatch(loadColumnPresetIfDefined()).then(() => {\n const updateColumns = ({\n rows,\n columns,\n omittedColumns,\n storedColumns,\n deniedKeyColumns = [],\n }) => {\n const state = getState();\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const preparedColumns = Columns.prepareColumns(\n attributes,\n rows,\n columns,\n storedColumns,\n defaultTableColumnLimit,\n );\n const preparedOmittedColumns = Columns.prepareOmittedColumns(\n attributes,\n omittedColumns,\n );\n\n // if we have columns preset -> update checked according to preset\n const preset = getColumnsPreset(state);\n if (preset?.columns) {\n preparedColumns.forEach((column) => {\n column.checked = preset?.columns?.includes(column.name);\n });\n }\n dispatch(setColumns(preparedColumns, preparedOmittedColumns, deniedKeyColumns));\n };\n\n dispatch({type: GET_TABLE_DATA.REQUEST});\n requests.removeAllRequests();\n\n // 1. call the restoreColumns function before loading table data\n // 2. Call loadTableRows function with specific requestOutputFormat and empty column_names to get all columns and return their and stored columns:\n // a) tableSimilarityEnabled === false. Finding stored columns by id and schema. If stored columns exists -- update their and return. Else return null\n // b) tableSimilarityEnabled === true. Finding stored columns by array of all columns. If stored columns exists -- update their and return. Else return null\n // 3. If at the previous step was returned an array then building columns based on stored columns and save their in the store.\n // 4. load table rows for columns in the store\n\n return Promise.all([\n restoreColumns(getState()),\n preloadTableFont(fontFamilies.monospace),\n ])\n .then(([{columns, omittedColumns, storedColumns, ...rest}]) => {\n if (columns) {\n updateColumns({\n rows: [],\n columns,\n omittedColumns,\n storedColumns,\n ...rest,\n });\n }\n return dispatch(updateTableData());\n })\n .catch((error) => {\n updateColumns({\n rows: [],\n columns: Columns.getSchemaColumns(attributes),\n omittedColumns: [],\n });\n\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLE_DATA.FAILURE,\n data: {error},\n });\n }\n });\n });\n };\n}\n\nexport function setColumns(columns, omittedColumns, deniedKeyColumns) {\n return {\n type: SET_COLUMNS,\n data: {columns, omittedColumns, deniedKeyColumns},\n };\n}\n\nexport function setColumnsOrder(columnsOrder) {\n return {\n type: SET_COLUMNS_ORDER,\n data: {columnsOrder},\n };\n}\n\nexport function openColumnSelectorModal() {\n return {\n type: OPEN_COLUMN_SELECTOR_MODAL,\n };\n}\n\nexport function closeColumnSelectorModal() {\n return {\n type: CLOSE_COLUMN_SELECTOR_MODAL,\n };\n}\n\nexport function updateColumns(allColumns) {\n return (dispatch, getState) => {\n const state = getState();\n const attributes = getAttributes(state);\n const omittedColumns = getOmittedColumns(state);\n const deniedKeyColumns = getDeniedKeyColumns(state);\n const columns = _.filter(allColumns, (column) => !column.disabled); // remove omitted columns\n const columnsOrder = Columns.getColumnsOrder(columns);\n Columns.storeAllColumns(attributes, columns);\n\n dispatch(setColumns(columns, omittedColumns, deniedKeyColumns));\n dispatch(setColumnsOrder(columnsOrder));\n dispatch(closeColumnSelectorModal());\n\n dispatch(setTablePresetHash(undefined));\n dispatch(updateTableData());\n };\n}\n\nexport function rememberPresetColumnsAsDefault() {\n return (dispatch, getState) => {\n const allColumns = getAllColumns(getState());\n dispatch(updateColumns(allColumns));\n };\n}\n\nexport function openTableWithPresetOfColumns() {\n return (dispatch, getState) => {\n const visibleColumns = getVisibleColumns(getState());\n saveColumnPreset(_.map(visibleColumns, 'name')).then((hash) => {\n const {href} = window.location;\n const url = `${href}&columns=${hash}`;\n openInNewTab(url);\n\n metrics.countEvent({\n share_columns: {\n hash,\n },\n });\n });\n };\n}\n\nexport function changePageSize(pageSize) {\n return (dispatch) => {\n dispatch({\n type: CHANGE_PAGE_SIZE,\n data: {pageSize},\n });\n dispatch(updateTableData());\n };\n}\n\nexport function changeCellSize(cellSize) {\n return (dispatch) => {\n dispatch({\n type: CHANGE_CELL_SIZE,\n data: {cellSize},\n });\n dispatch(updateTableData());\n };\n}\n\nexport function toggleFullScreen() {\n return (dispatch) => {\n dispatch(mergeScreen());\n dispatch({type: TOGGLE_FULL_SCREEN});\n };\n}\n\n// if we press esc button then the browser will automatically change state to non full screen\n// and we need as change value in the store\nexport function handleScreenChanged(isFullScreen) {\n return (dispatch, getState) => {\n const {isFullScreen: storedIsFullScreen} = getState().navigation.content.table;\n\n if (isFullScreen !== storedIsFullScreen) {\n dispatch(toggleFullScreen());\n }\n };\n}\n\nexport function mountUnmountTable(action) {\n return (dispatch, getState) => {\n const path = getPath(getState());\n\n metrics.countEvent({\n navigation_dynamic_table_action: action,\n });\n\n return ytApiV3[`${action}Table`]({path})\n .then(() => {\n toaster.add({\n name: `${action} table`,\n type: 'success',\n title: `Success ${action}ing table`,\n });\n return dispatch(updateView());\n })\n .catch((err) => {\n console.error(err);\n toaster.add({\n name: `${action} table`,\n type: 'error',\n title: `Could not ${action} table.`,\n content: err?.message || 'Oops, something went wrong',\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n };\n}\n\nexport function decodeNameField(columns) {\n return _.map(columns, (item) => {\n return {\n ...item,\n name: unipika.decode(item.name),\n };\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_fontfaceobserver","_interopRequireDefault","require","_uikit","_metrics","_yt","_table","_navigation","_cancelHelper","_utils","_navigation2","_query","_columns","_global","_table2","_navigation3","_settings","_table3","_tableTs","_global2","_tableTs2","_rumWrapApi","_unipika","_columnsPreset","_tableRumId","_settingsTs","obj","__esModule","default","requests","CancelHelper","toaster","Toaster","loadDynamicTable","requestOutputFormat","setup","state","type","useZeroRangeForPreload","login","global","path","getPath","stringLimit","getCellSize","keyColumns","getKeyColumns","attributes","getAttributes","useYqlTypes","isYqlTypesEnabled","moveBackward","getMoveOffsetBackward","defaultTableColumnLimit","getDefaultTableColumnLimit","_getNextOffset","getNextOffset","offset","offsetValue","descending","orderBySupported","offsetColumns","limit","getRequestedPageSize","_isEmpty","cluster","getCluster","isDynamic","getIsDynamic","id","makeTableRumId","LOAD_TYPE","PRELOAD","allColumns","Columns","getSchemaColumns","fetch","YTApiId","dynTableCheckPerm","ytApiV3Id","checkPermission","parameters","columns","permission","user","cancellation","saveCancelToken","then","permissions","keyColumnsNames","_keyBy","_$reduce","_reduce","res","index","action","availableColumns","push","omittedColumns","_has","deniedKeyColumns","_defineProperty","length","Promise","reject","_map","unipika","decode","query","Query","prepareQuery","output_format","dump_error_into_response","dynTableSelectRowsPreload","selectRows","_ref","data","error","parseErrorFromResponse","getParsedError","_prepareRows","prepareRows","rows","yqlTypes","getVisibleColumns","getOmittedColumns","getDeniedKeyColumns","decodedColumns","decodeNameField","outputFormat","getRequestOutputFormat","err","Error","key_columns","dynTableSelectRows","_ref2","_prepareRows2","loadStaticTable","transaction","getTransaction","requestedPageSize","getColumns","prepareRequest","table_reader","workload_descriptor","category","omit_inaccessible_columns","relativePath","apiId","tableReadPreload","tableRead","readTable","_ref3","headers","_prepareRows3","prepareHeaders","loadTableRows","isStrict","getIsStrict","transformResponse","_ref4","parsedData","rawResponse","loadPromise","result","schemaColumns","getTableColumnNamesFromSchema","rest","_objectWithoutProperties","_excluded","_objectSpread","injectColumnsFromSchema","restoreColumns","tableSimilarityEnabled","isTableSimilarityEnabled","$value","$attributes","field_weight_limit","max_selected_column_count","max_all_column_names_count","column_names","_ref5","storedColumns","restoreSimilarColumns","restoreExactColumns","preloadTableFont","fontFamily","FontFaceObserver","load","updateTableData","dispatch","getState","_getNextOffset2","GET_TABLE_DATA","REQUEST","removeAllRequests","UPDATE","_ref6","preparedColumns","prepareColumns","preparedOmittedColumns","prepareOmittedColumns","setColumns","newOffsetValue","previousRows","getRows","addRowCount","Math","min","concat","slice","prepareKey","getColumnsValues","undefined","SET_OFFSET","SUCCESS","code","yt","codes","CANCELLED","FAILURE","getTableData","fontFamilies","getFontFamilies","loadColumnPresetIfDefined","updateColumns","_ref7","_ref7$deniedKeyColumn","preset","getColumnsPreset","forEach","column","_preset$columns","checked","includes","name","all","monospace","_ref8","_ref9","_slicedToArray","_ref9$","_excluded2","SET_COLUMNS","setColumnsOrder","columnsOrder","SET_COLUMNS_ORDER","openColumnSelectorModal","OPEN_COLUMN_SELECTOR_MODAL","closeColumnSelectorModal","CLOSE_COLUMN_SELECTOR_MODAL","_filter","disabled","getColumnsOrder","storeAllColumns","setTablePresetHash","rememberPresetColumnsAsDefault","getAllColumns","openTableWithPresetOfColumns","visibleColumns","saveColumnPreset","hash","href","window","location","url","openInNewTab","metrics","countEvent","share_columns","changePageSize","pageSize","CHANGE_PAGE_SIZE","changeCellSize","cellSize","CHANGE_CELL_SIZE","toggleFullScreen","mergeScreen","TOGGLE_FULL_SCREEN","handleScreenChanged","isFullScreen","storedIsFullScreen","navigation","content","table","mountUnmountTable","navigation_dynamic_table_action","ytApiV3","add","title","updateView","console","message","actions","label","onClick","showErrorPopup","abortAndReset","item"],"sources":["table.js"],"sourcesContent":["import _ from 'lodash';\nimport FontFaceObserver from 'fontfaceobserver';\nimport {Toaster} from '@gravity-ui/uikit';\nimport metrics from '../../../../../common/utils/metrics';\n\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n CHANGE_CELL_SIZE,\n CHANGE_PAGE_SIZE,\n CLOSE_COLUMN_SELECTOR_MODAL,\n GET_TABLE_DATA,\n LOAD_TYPE,\n OPEN_COLUMN_SELECTOR_MODAL,\n SET_COLUMNS,\n SET_COLUMNS_ORDER,\n SET_OFFSET,\n TOGGLE_FULL_SCREEN,\n} from '../../../../../constants/navigation/content/table';\n\nimport {updateView} from '../../../../../store/actions/navigation';\n\nimport CancelHelper from '../../../../../utils/cancel-helper';\nimport {openInNewTab, showErrorPopup} from '../../../../../utils/utils';\nimport {prepareRequest} from '../../../../../utils/navigation';\nimport Query from '../../../../../utils/navigation/content/table/query';\nimport Columns from '../../../../../utils/navigation/content/table/columns';\nimport {getCluster} from '../../../../../store/selectors/global';\nimport {\n getColumnsValues,\n getParsedError,\n getRequestOutputFormat,\n parseErrorFromResponse,\n prepareHeaders,\n prepareRows,\n} from '../../../../../utils/navigation/content/table/table';\n\nimport {getAttributes, getPath, getTransaction} from '../../../../../store/selectors/navigation';\nimport {\n getDefaultTableColumnLimit,\n isTableSimilarityEnabled,\n} from '../../../../../store/selectors/settings';\nimport {\n getAllColumns,\n getKeyColumns,\n getNextOffset,\n getRequestedPageSize,\n getVisibleColumns,\n isYqlTypesEnabled,\n} from '../../../../../store/selectors/navigation/content/table';\nimport {\n getCellSize,\n getColumns,\n getColumnsPreset,\n getDeniedKeyColumns,\n getIsDynamic,\n getIsStrict,\n getMoveOffsetBackward,\n getOmittedColumns,\n getRows,\n getTableColumnNamesFromSchema,\n} from '../../../../../store/selectors/navigation/content/table-ts';\nimport {mergeScreen} from '../../../../../store/actions/global';\nimport {injectColumnsFromSchema} from '../../../../../utils/navigation/content/table/table-ts';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../../../rum/rum-wrap-api';\nimport unipika from '../../../../../common/thor/unipika';\n\nimport {loadColumnPresetIfDefined, saveColumnPreset, setTablePresetHash} from './columns-preset';\nimport {makeTableRumId} from './table-rum-id';\nimport {getFontFamilies} from '../../../../selectors/settings-ts';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nfunction loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload) {\n const {login} = state.global;\n\n const path = getPath(state);\n const stringLimit = getCellSize(state);\n const keyColumns = getKeyColumns(state);\n const attributes = getAttributes(state);\n const useYqlTypes = isYqlTypesEnabled(state);\n const moveBackward = getMoveOffsetBackward(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const {offsetValue: offset, moveBackward: descending} = getNextOffset(state);\n const orderBySupported = true;\n const offsetColumns = keyColumns;\n\n let limit = getRequestedPageSize(state);\n if (_.isEmpty(offset) && descending) {\n // If we move to the end of the table, we reduce the limit for correctly determining the end of the table\n limit--;\n }\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n\n if (type === LOAD_TYPE.PRELOAD) {\n // Get all columns from schema for preload data. Scheme is always strict\n const allColumns = Columns.getSchemaColumns(attributes);\n\n return id\n .fetch(\n YTApiId.dynTableCheckPerm,\n ytApiV3Id.checkPermission(YTApiId.dynTableCheckPerm, {\n parameters: {\n columns: allColumns,\n permission: 'read',\n user: login,\n path,\n },\n cancellation: requests.saveCancelToken,\n }),\n )\n .then((permissions) => {\n const keyColumnsNames = _.keyBy(keyColumns);\n const {availableColumns, omittedColumns, deniedKeyColumns} = _.reduce(\n permissions.columns,\n (res, permission, index) => {\n if (permission.action === 'allow') {\n res.availableColumns.push(allColumns[index]);\n } else {\n res.omittedColumns.push(allColumns[index]);\n if (_.has(keyColumnsNames, allColumns[index])) {\n res.deniedKeyColumns.push({[allColumns[index]]: permission.action});\n }\n }\n\n return res;\n },\n {availableColumns: [], omittedColumns: [], deniedKeyColumns: []},\n );\n\n if (deniedKeyColumns.length !== 0) {\n return Promise.reject({deniedKeyColumns});\n }\n\n const columns = _.map(availableColumns, unipika.decode);\n const parameters = {\n query: Query.prepareQuery({\n columns,\n path,\n keyColumns,\n offsetColumns,\n offset: useZeroRangeForPreload ? 0 : offset,\n limit: useZeroRangeForPreload ? 0 : limit,\n descending,\n orderBySupported,\n }),\n output_format: requestOutputFormat,\n dump_error_into_response: true,\n };\n\n return id\n .fetch(\n YTApiId.dynTableSelectRowsPreload,\n ytApiV3Id.selectRows(YTApiId.dynTableSelectRowsPreload, {\n setup,\n parameters,\n cancellation: requests.saveCancelToken,\n }),\n )\n .then(({data}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n\n return {\n rows,\n columns,\n yqlTypes,\n omittedColumns,\n };\n });\n });\n } else {\n // Get only visible columns for updating data. Get omittedColumns from store.\n const columns = getVisibleColumns(state);\n const omittedColumns = getOmittedColumns(state);\n const deniedKeyColumns = getDeniedKeyColumns(state);\n const decodedColumns = decodeNameField(columns);\n const outputFormat = getRequestOutputFormat(\n decodedColumns,\n stringLimit,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n if (deniedKeyColumns.length !== 0) {\n const err = new Error('There is no \"read\" permission for some key columns:');\n err.attributes = {key_columns: deniedKeyColumns};\n return Promise.reject(err);\n }\n\n const parameters = {\n query: Query.prepareQuery({\n columns: decodedColumns,\n path,\n keyColumns,\n offsetColumns,\n offset,\n limit,\n descending,\n orderBySupported,\n }),\n output_format: outputFormat,\n dump_error_into_response: true,\n };\n\n return id\n .fetch(\n YTApiId.dynTableSelectRows,\n ytApiV3Id.selectRows(YTApiId.dynTableSelectRows, {\n setup,\n parameters,\n cancellation: requests.saveCancelToken,\n }),\n )\n .then(({data}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n\n return {\n rows,\n columns,\n yqlTypes,\n omittedColumns,\n };\n });\n }\n}\n\nfunction loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload) {\n const path = getPath(state);\n const stringLimit = getCellSize(state);\n const transaction = getTransaction(state);\n const moveBackward = getMoveOffsetBackward(state);\n const requestedPageSize = getRequestedPageSize(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n\n const {login} = state.global;\n // Get all columns always and update them then. We can get new columns. The scheme is not always strict\n const columns = getColumns(state);\n const offsetValue = getNextOffset(state).offsetValue;\n const useYqlTypes = isYqlTypesEnabled(state);\n const decodedColumns = decodeNameField(columns);\n const outputFormat =\n requestOutputFormat ||\n getRequestOutputFormat(\n decodedColumns,\n stringLimit,\n login,\n defaultTableColumnLimit,\n useYqlTypes,\n );\n\n const parameters = prepareRequest({\n path,\n table_reader: {\n workload_descriptor: {category: 'user_interactive'},\n },\n transaction,\n output_format: outputFormat,\n dump_error_into_response: true,\n omit_inaccessible_columns: true,\n relativePath: useZeroRangeForPreload\n ? '[#0:#0]'\n : '[#' + offsetValue + ':#' + (offsetValue + requestedPageSize) + ']',\n });\n\n const cluster = getCluster(state);\n const isDynamic = getIsDynamic(state);\n const id = makeTableRumId({cluster, isDynamic});\n const apiId = type === LOAD_TYPE.PRELOAD ? YTApiId.tableReadPreload : YTApiId.tableRead;\n\n return id\n .fetch(\n apiId,\n ytApiV3Id.readTable(apiId, {setup, parameters, cancellation: requests.saveCancelToken}),\n )\n .then(({data, headers}) => {\n const error = parseErrorFromResponse(data);\n\n if (error) {\n return Promise.reject(getParsedError(error));\n }\n\n const {columns, rows, yqlTypes} = prepareRows(data, moveBackward);\n const omittedColumns = prepareHeaders(headers);\n\n return {columns, omittedColumns, rows, yqlTypes};\n });\n}\n\nfunction loadTableRows(type, state, requestOutputFormat) {\n const isDynamic = getIsDynamic(state);\n const isStrict = getIsStrict(state);\n const setup = {\n transformResponse({parsedData, rawResponse}) {\n return {\n data: parsedData,\n headers: rawResponse?.headers,\n };\n },\n };\n const useZeroRangeForPreload = isStrict && type === LOAD_TYPE.PRELOAD;\n\n const loadPromise = isDynamic\n ? loadDynamicTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload)\n : loadStaticTable(requestOutputFormat, setup, state, type, useZeroRangeForPreload);\n\n return loadPromise.then((result) => {\n const schemaColumns = getTableColumnNamesFromSchema(state);\n const {columns, omittedColumns, ...rest} = result;\n return {\n columns: injectColumnsFromSchema(columns, omittedColumns, schemaColumns),\n omittedColumns,\n ...rest,\n };\n });\n}\n\n// Make a table request with page size row range and empty column range to get the list of all columns in table\n// and restore personalized columns list.\nfunction restoreColumns(state) {\n const tableSimilarityEnabled = isTableSimilarityEnabled(state);\n const attributes = getAttributes(state);\n const stringLimit = getCellSize(state);\n\n const requestOutputFormat = {\n $value: 'web_json',\n $attributes: {\n field_weight_limit: stringLimit,\n max_selected_column_count: 50,\n max_all_column_names_count: 3000,\n column_names: [],\n },\n };\n\n return loadTableRows(LOAD_TYPE.PRELOAD, state, requestOutputFormat)\n .then(({columns, omittedColumns}) => {\n const storedColumns = tableSimilarityEnabled\n ? Columns.restoreSimilarColumns(attributes, columns)\n : Columns.restoreExactColumns(attributes);\n\n return {columns, omittedColumns, storedColumns};\n })\n .catch((data) => {\n const {deniedKeyColumns} = data;\n return {\n columns: [],\n omittedColumns: [],\n storedColumns: null,\n ...(deniedKeyColumns ? {deniedKeyColumns} : {}),\n };\n });\n}\n\n// TODO: consider switching back for <link rel=\"preload\"> once it's supported in all major browsers\nfunction preloadTableFont(fontFamily) {\n return new FontFaceObserver(fontFamily).load(null, 10000);\n}\n\nexport function updateTableData() {\n return (dispatch, getState) => {\n const state = getState();\n const attributes = getAttributes(state);\n const {offsetValue, moveBackward} = getNextOffset(state);\n const requestedPageSize = getRequestedPageSize(state);\n const isDynamic = getIsDynamic(state);\n\n dispatch({type: GET_TABLE_DATA.REQUEST});\n requests.removeAllRequests();\n\n return loadTableRows(LOAD_TYPE.UPDATE, state)\n .then(({columns, omittedColumns, rows, yqlTypes}) => {\n // Scheme is always strict in dynamic tables. No new columns are expected.\n if (!isDynamic) {\n // Get current columns for save visible status\n const storedColumns = getColumns(state);\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const preparedColumns = Columns.prepareColumns(\n attributes,\n rows,\n columns,\n storedColumns,\n defaultTableColumnLimit,\n );\n const preparedOmittedColumns = Columns.prepareOmittedColumns(\n attributes,\n omittedColumns,\n );\n dispatch(setColumns(preparedColumns, preparedOmittedColumns, []));\n }\n\n if (moveBackward) {\n let newOffsetValue;\n if (!_.isEmpty(offsetValue) && rows.length < requestedPageSize) {\n // If there are not enough rows on the new page on the left:\n // - add rows from the current page\n // - reset offset value\n newOffsetValue = '';\n const previousRows = getRows(state);\n const addRowCount = Math.min(\n requestedPageSize - rows.length + 1,\n previousRows.length,\n );\n rows = rows.concat(previousRows.slice(1, addRowCount));\n } else {\n const keyColumns = getKeyColumns(state);\n newOffsetValue = Query.prepareKey(getColumnsValues(rows[0], keyColumns));\n }\n\n if (newOffsetValue !== undefined) {\n dispatch({\n type: SET_OFFSET,\n data: {offsetValue: newOffsetValue},\n });\n }\n }\n\n dispatch({\n type: GET_TABLE_DATA.SUCCESS,\n data: {rows, yqlTypes},\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLE_DATA.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function getTableData() {\n return (dispatch, getState) => {\n const state = getState();\n\n const attributes = getAttributes(state);\n const fontFamilies = getFontFamilies(state);\n\n return dispatch(loadColumnPresetIfDefined()).then(() => {\n const updateColumns = ({\n rows,\n columns,\n omittedColumns,\n storedColumns,\n deniedKeyColumns = [],\n }) => {\n const state = getState();\n const defaultTableColumnLimit = getDefaultTableColumnLimit(state);\n const preparedColumns = Columns.prepareColumns(\n attributes,\n rows,\n columns,\n storedColumns,\n defaultTableColumnLimit,\n );\n const preparedOmittedColumns = Columns.prepareOmittedColumns(\n attributes,\n omittedColumns,\n );\n\n // if we have columns preset -> update checked according to preset\n const preset = getColumnsPreset(state);\n if (preset?.columns) {\n preparedColumns.forEach((column) => {\n column.checked = preset?.columns?.includes(column.name);\n });\n }\n dispatch(setColumns(preparedColumns, preparedOmittedColumns, deniedKeyColumns));\n };\n\n dispatch({type: GET_TABLE_DATA.REQUEST});\n requests.removeAllRequests();\n\n // 1. call the restoreColumns function before loading table data\n // 2. Call loadTableRows function with specific requestOutputFormat and empty column_names to get all columns and return their and stored columns:\n // a) tableSimilarityEnabled === false. Finding stored columns by id and schema. If stored columns exists -- update their and return. Else return null\n // b) tableSimilarityEnabled === true. Finding stored columns by array of all columns. If stored columns exists -- update their and return. Else return null\n // 3. If at the previous step was returned an array then building columns based on stored columns and save their in the store.\n // 4. load table rows for columns in the store\n\n return Promise.all([\n restoreColumns(getState()),\n preloadTableFont(fontFamilies.monospace),\n ])\n .then(([{columns, omittedColumns, storedColumns, ...rest}]) => {\n if (columns) {\n updateColumns({\n rows: [],\n columns,\n omittedColumns,\n storedColumns,\n ...rest,\n });\n }\n return dispatch(updateTableData());\n })\n .catch((error) => {\n updateColumns({\n rows: [],\n columns: Columns.getSchemaColumns(attributes),\n omittedColumns: [],\n });\n\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLE_DATA.FAILURE,\n data: {error},\n });\n }\n });\n });\n };\n}\n\nexport function setColumns(columns, omittedColumns, deniedKeyColumns) {\n return {\n type: SET_COLUMNS,\n data: {columns, omittedColumns, deniedKeyColumns},\n };\n}\n\nexport function setColumnsOrder(columnsOrder) {\n return {\n type: SET_COLUMNS_ORDER,\n data: {columnsOrder},\n };\n}\n\nexport function openColumnSelectorModal() {\n return {\n type: OPEN_COLUMN_SELECTOR_MODAL,\n };\n}\n\nexport function closeColumnSelectorModal() {\n return {\n type: CLOSE_COLUMN_SELECTOR_MODAL,\n };\n}\n\nexport function updateColumns(allColumns) {\n return (dispatch, getState) => {\n const state = getState();\n const attributes = getAttributes(state);\n const omittedColumns = getOmittedColumns(state);\n const deniedKeyColumns = getDeniedKeyColumns(state);\n const columns = _.filter(allColumns, (column) => !column.disabled); // remove omitted columns\n const columnsOrder = Columns.getColumnsOrder(columns);\n Columns.storeAllColumns(attributes, columns);\n\n dispatch(setColumns(columns, omittedColumns, deniedKeyColumns));\n dispatch(setColumnsOrder(columnsOrder));\n dispatch(closeColumnSelectorModal());\n\n dispatch(setTablePresetHash(undefined));\n dispatch(updateTableData());\n };\n}\n\nexport function rememberPresetColumnsAsDefault() {\n return (dispatch, getState) => {\n const allColumns = getAllColumns(getState());\n dispatch(updateColumns(allColumns));\n };\n}\n\nexport function openTableWithPresetOfColumns() {\n return (dispatch, getState) => {\n const visibleColumns = getVisibleColumns(getState());\n const cluster = getCluster(getState());\n saveColumnPreset(_.map(visibleColumns, 'name'), cluster).then((hash) => {\n const {href} = window.location;\n const url = `${href}&columns=${hash}`;\n openInNewTab(url);\n\n metrics.countEvent({\n share_columns: {\n hash,\n },\n });\n });\n };\n}\n\nexport function changePageSize(pageSize) {\n return (dispatch) => {\n dispatch({\n type: CHANGE_PAGE_SIZE,\n data: {pageSize},\n });\n dispatch(updateTableData());\n };\n}\n\nexport function changeCellSize(cellSize) {\n return (dispatch) => {\n dispatch({\n type: CHANGE_CELL_SIZE,\n data: {cellSize},\n });\n dispatch(updateTableData());\n };\n}\n\nexport function toggleFullScreen() {\n return (dispatch) => {\n dispatch(mergeScreen());\n dispatch({type: TOGGLE_FULL_SCREEN});\n };\n}\n\n// if we press esc button then the browser will automatically change state to non full screen\n// and we need as change value in the store\nexport function handleScreenChanged(isFullScreen) {\n return (dispatch, getState) => {\n const {isFullScreen: storedIsFullScreen} = getState().navigation.content.table;\n\n if (isFullScreen !== storedIsFullScreen) {\n dispatch(toggleFullScreen());\n }\n };\n}\n\nexport function mountUnmountTable(action) {\n return (dispatch, getState) => {\n const path = getPath(getState());\n\n metrics.countEvent({\n navigation_dynamic_table_action: action,\n });\n\n return ytApiV3[`${action}Table`]({path})\n .then(() => {\n toaster.add({\n name: `${action} table`,\n type: 'success',\n title: `Success ${action}ing table`,\n });\n return dispatch(updateView());\n })\n .catch((err) => {\n console.error(err);\n toaster.add({\n name: `${action} table`,\n type: 'error',\n title: `Could not ${action} table.`,\n content: err?.message || 'Oops, something went wrong',\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: GET_TABLE_DATA.CANCELLED});\n };\n}\n\nexport function decodeNameField(columns) {\n return _.map(columns, (item) => {\n return {\n ...item,\n name: unipika.decode(item.name),\n };\n });\n}\n"],"mappings":"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"}