@ytsaurus/ui 1.14.1 → 1.14.3

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 (278) hide show
  1. package/build/cjs/@types/types.d.ts +1 -0
  2. package/build/cjs/shared/constants/yt-api-id.d.ts +139 -0
  3. package/build/cjs/shared/constants/yt-api-id.js +148 -0
  4. package/build/cjs/shared/constants/yt-api-id.js.map +1 -0
  5. package/build/cjs/shared/utils/check-permission.d.ts +1 -14
  6. package/build/cjs/shared/utils/check-permission.js +6 -10
  7. package/build/cjs/shared/utils/check-permission.js.map +1 -1
  8. package/build/cjs/shared/utils/index.js +3 -3
  9. package/build/cjs/shared/utils/index.js.map +1 -1
  10. package/build/cjs/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
  11. package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
  12. package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
  13. package/build/cjs/ui/containers/SettingsPanel/settings-description.js +1 -1
  14. package/build/cjs/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  15. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
  16. package/build/cjs/ui/pages/operations/selectors.d.ts +1 -1
  17. package/build/cjs/ui/pages/query-tracker/module/api.js +1 -1
  18. package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
  19. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
  20. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
  21. package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
  22. package/build/cjs/ui/rum/constants.d.ts +2 -0
  23. package/build/cjs/ui/rum/constants.js +4 -1
  24. package/build/cjs/ui/rum/constants.js.map +1 -1
  25. package/build/cjs/ui/rum/rum-counter.js +28 -1
  26. package/build/cjs/ui/rum/rum-counter.js.map +1 -1
  27. package/build/cjs/ui/rum/rum-wrap-api.d.ts +3 -141
  28. package/build/cjs/ui/rum/rum-wrap-api.js +12 -145
  29. package/build/cjs/ui/rum/rum-wrap-api.js.map +1 -1
  30. package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
  31. package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  32. package/build/cjs/ui/store/actions/cluster-params.js +22 -15
  33. package/build/cjs/ui/store/actions/cluster-params.js.map +1 -1
  34. package/build/cjs/ui/store/actions/components/nodes/nodes.js +1 -1
  35. package/build/cjs/ui/store/actions/components/nodes/nodes.js.map +1 -1
  36. package/build/cjs/ui/store/actions/execute-batch.d.ts +2 -1
  37. package/build/cjs/ui/store/actions/execute-batch.js +3 -3
  38. package/build/cjs/ui/store/actions/execute-batch.js.map +1 -1
  39. package/build/cjs/ui/store/actions/navigation/content/map-node.js +1 -1
  40. package/build/cjs/ui/store/actions/navigation/content/map-node.js.map +1 -1
  41. package/build/cjs/ui/store/actions/navigation/index.js +1 -1
  42. package/build/cjs/ui/store/actions/navigation/index.js.map +1 -1
  43. package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
  44. package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
  45. package/build/cjs/ui/store/actions/navigation/modals/copy-object.js +3 -10
  46. package/build/cjs/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
  47. package/build/cjs/ui/store/actions/navigation/modals/delete-object.js +13 -14
  48. package/build/cjs/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
  49. package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
  50. package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
  51. package/build/cjs/ui/store/actions/navigation/modals/move-object.js +3 -10
  52. package/build/cjs/ui/store/actions/navigation/modals/move-object.js.map +1 -1
  53. package/build/cjs/ui/store/actions/navigation/modals/restore-object.js +3 -11
  54. package/build/cjs/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
  55. package/build/cjs/ui/store/actions/navigation/tabs/locks.js +1 -1
  56. package/build/cjs/ui/store/actions/navigation/tabs/locks.js.map +1 -1
  57. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +2 -3
  58. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  59. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +3 -3
  60. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  61. package/build/cjs/ui/store/actions/scheduling/scheduling.js +1 -1
  62. package/build/cjs/ui/store/actions/scheduling/scheduling.js.map +1 -1
  63. package/build/cjs/ui/store/actions/system/masters.js +7 -3
  64. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  65. package/build/cjs/ui/store/actions/system/nodes.js +1 -1
  66. package/build/cjs/ui/store/actions/system/nodes.js.map +1 -1
  67. package/build/cjs/ui/store/actions/system/schedulers.js +2 -2
  68. package/build/cjs/ui/store/actions/system/schedulers.js.map +1 -1
  69. package/build/cjs/ui/store/actions/tablet/stores.js +1 -1
  70. package/build/cjs/ui/store/actions/tablet/stores.js.map +1 -1
  71. package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js +1 -1
  72. package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
  73. package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
  74. package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  75. package/build/cjs/ui/store/actions/users.js +1 -1
  76. package/build/cjs/ui/store/actions/users.js.map +1 -1
  77. package/build/cjs/ui/store/reducers/execute-batch.d.ts +1 -1
  78. package/build/cjs/ui/store/reducers/execute-batch.js.map +1 -1
  79. package/build/cjs/ui/store/reducers/index.d.ts +1 -1
  80. package/build/cjs/ui/store/reducers/navigation/index.d.ts +1 -1
  81. package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +8 -8
  82. package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
  83. package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
  84. package/build/cjs/ui/store/selectors/chyt/index.d.ts +7 -7
  85. package/build/cjs/ui/store/selectors/components/node/memory.d.ts +7 -7
  86. package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
  87. package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
  88. package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
  89. package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
  90. package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
  91. package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
  92. package/build/cjs/ui/store/selectors/global/index.d.ts +15 -15
  93. package/build/cjs/ui/store/selectors/global/index.js +4 -4
  94. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  95. package/build/cjs/ui/store/selectors/global/supported-features.d.ts +6 -6
  96. package/build/cjs/ui/store/selectors/modals/errors.d.ts +1 -1
  97. package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +1 -1
  98. package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
  99. package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
  100. package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
  101. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +7 -7
  102. package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
  103. package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
  104. package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +4 -4
  105. package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
  106. package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
  107. package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
  108. package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
  109. package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
  110. package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
  111. package/build/cjs/ui/store/selectors/operations/index.d.ts +12 -12
  112. package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
  113. package/build/cjs/ui/store/selectors/operations/operation.d.ts +12 -12
  114. package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +3 -3
  115. package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
  116. package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
  117. package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
  118. package/build/cjs/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
  119. package/build/cjs/ui/store/selectors/scheduling/index.d.ts +1 -1
  120. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
  121. package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
  122. package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
  123. package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
  124. package/build/cjs/ui/store/selectors/thor/support.d.ts +5 -5
  125. package/build/cjs/ui/utils/acl/acl-api.js +4 -4
  126. package/build/cjs/ui/utils/acl/acl-api.js.map +1 -1
  127. package/build/cjs/ui/utils/batch.d.ts +2 -2
  128. package/build/cjs/ui/utils/cypress-attributes.js +1 -1
  129. package/build/cjs/ui/utils/cypress-attributes.js.map +1 -1
  130. package/build/cjs/ui/utils/errors/ui-error.d.ts +14 -0
  131. package/build/cjs/ui/utils/errors/ui-error.js +24 -0
  132. package/build/cjs/ui/utils/errors/ui-error.js.map +1 -0
  133. package/build/cjs/ui/utils/utils.d.ts +14 -8
  134. package/build/cjs/ui/utils/utils.js +9 -14
  135. package/build/cjs/ui/utils/utils.js.map +1 -1
  136. package/build/esm/@types/types.d.ts +1 -0
  137. package/build/esm/shared/constants/yt-api-id.d.ts +139 -0
  138. package/build/esm/shared/constants/yt-api-id.js +141 -0
  139. package/build/esm/shared/constants/yt-api-id.js.map +1 -0
  140. package/build/esm/shared/utils/check-permission.d.ts +1 -14
  141. package/build/esm/shared/utils/check-permission.js +8 -11
  142. package/build/esm/shared/utils/check-permission.js.map +1 -1
  143. package/build/esm/shared/utils/index.js +4 -8
  144. package/build/esm/shared/utils/index.js.map +1 -1
  145. package/build/esm/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
  146. package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
  147. package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
  148. package/build/esm/ui/containers/SettingsPanel/settings-description.js +2 -2
  149. package/build/esm/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  150. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
  151. package/build/esm/ui/pages/operations/selectors.d.ts +1 -1
  152. package/build/esm/ui/pages/query-tracker/module/api.js +1 -1
  153. package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
  154. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
  155. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
  156. package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
  157. package/build/esm/ui/rum/constants.d.ts +2 -0
  158. package/build/esm/ui/rum/constants.js +4 -1
  159. package/build/esm/ui/rum/constants.js.map +1 -1
  160. package/build/esm/ui/rum/rum-counter.js +28 -1
  161. package/build/esm/ui/rum/rum-counter.js.map +1 -1
  162. package/build/esm/ui/rum/rum-wrap-api.d.ts +3 -141
  163. package/build/esm/ui/rum/rum-wrap-api.js +3 -141
  164. package/build/esm/ui/rum/rum-wrap-api.js.map +1 -1
  165. package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
  166. package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  167. package/build/esm/ui/store/actions/cluster-params.js +24 -17
  168. package/build/esm/ui/store/actions/cluster-params.js.map +1 -1
  169. package/build/esm/ui/store/actions/components/nodes/nodes.js +1 -1
  170. package/build/esm/ui/store/actions/components/nodes/nodes.js.map +1 -1
  171. package/build/esm/ui/store/actions/execute-batch.d.ts +2 -1
  172. package/build/esm/ui/store/actions/execute-batch.js +3 -3
  173. package/build/esm/ui/store/actions/execute-batch.js.map +1 -1
  174. package/build/esm/ui/store/actions/navigation/content/map-node.js +1 -1
  175. package/build/esm/ui/store/actions/navigation/content/map-node.js.map +1 -1
  176. package/build/esm/ui/store/actions/navigation/index.js +1 -1
  177. package/build/esm/ui/store/actions/navigation/index.js.map +1 -1
  178. package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
  179. package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
  180. package/build/esm/ui/store/actions/navigation/modals/copy-object.js +4 -11
  181. package/build/esm/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
  182. package/build/esm/ui/store/actions/navigation/modals/delete-object.js +14 -15
  183. package/build/esm/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
  184. package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
  185. package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
  186. package/build/esm/ui/store/actions/navigation/modals/move-object.js +4 -11
  187. package/build/esm/ui/store/actions/navigation/modals/move-object.js.map +1 -1
  188. package/build/esm/ui/store/actions/navigation/modals/restore-object.js +4 -12
  189. package/build/esm/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
  190. package/build/esm/ui/store/actions/navigation/tabs/locks.js +1 -1
  191. package/build/esm/ui/store/actions/navigation/tabs/locks.js.map +1 -1
  192. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +2 -3
  193. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  194. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +3 -3
  195. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  196. package/build/esm/ui/store/actions/scheduling/scheduling.js +1 -1
  197. package/build/esm/ui/store/actions/scheduling/scheduling.js.map +1 -1
  198. package/build/esm/ui/store/actions/system/masters.js +7 -3
  199. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  200. package/build/esm/ui/store/actions/system/nodes.js +1 -1
  201. package/build/esm/ui/store/actions/system/nodes.js.map +1 -1
  202. package/build/esm/ui/store/actions/system/schedulers.js +2 -2
  203. package/build/esm/ui/store/actions/system/schedulers.js.map +1 -1
  204. package/build/esm/ui/store/actions/tablet/stores.js +1 -1
  205. package/build/esm/ui/store/actions/tablet/stores.js.map +1 -1
  206. package/build/esm/ui/store/actions/tablet_cell_bundles/index.js +1 -1
  207. package/build/esm/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
  208. package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
  209. package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  210. package/build/esm/ui/store/actions/users.js +1 -1
  211. package/build/esm/ui/store/actions/users.js.map +1 -1
  212. package/build/esm/ui/store/reducers/execute-batch.d.ts +1 -1
  213. package/build/esm/ui/store/reducers/execute-batch.js.map +1 -1
  214. package/build/esm/ui/store/reducers/index.d.ts +1 -1
  215. package/build/esm/ui/store/reducers/navigation/index.d.ts +1 -1
  216. package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +8 -8
  217. package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
  218. package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
  219. package/build/esm/ui/store/selectors/chyt/index.d.ts +7 -7
  220. package/build/esm/ui/store/selectors/components/node/memory.d.ts +7 -7
  221. package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
  222. package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
  223. package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
  224. package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
  225. package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
  226. package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
  227. package/build/esm/ui/store/selectors/global/index.d.ts +15 -15
  228. package/build/esm/ui/store/selectors/global/index.js +3 -3
  229. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  230. package/build/esm/ui/store/selectors/global/supported-features.d.ts +6 -6
  231. package/build/esm/ui/store/selectors/modals/errors.d.ts +1 -1
  232. package/build/esm/ui/store/selectors/navigation/content/document.d.ts +1 -1
  233. package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
  234. package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
  235. package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
  236. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +7 -7
  237. package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
  238. package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
  239. package/build/esm/ui/store/selectors/navigation/navigation.d.ts +4 -4
  240. package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
  241. package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
  242. package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
  243. package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
  244. package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
  245. package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
  246. package/build/esm/ui/store/selectors/operations/index.d.ts +12 -12
  247. package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
  248. package/build/esm/ui/store/selectors/operations/operation.d.ts +12 -12
  249. package/build/esm/ui/store/selectors/operations/operations-list.d.ts +3 -3
  250. package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
  251. package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
  252. package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
  253. package/build/esm/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
  254. package/build/esm/ui/store/selectors/scheduling/index.d.ts +1 -1
  255. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
  256. package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
  257. package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
  258. package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
  259. package/build/esm/ui/store/selectors/thor/support.d.ts +5 -5
  260. package/build/esm/ui/utils/acl/acl-api.js +4 -4
  261. package/build/esm/ui/utils/acl/acl-api.js.map +1 -1
  262. package/build/esm/ui/utils/batch.d.ts +2 -2
  263. package/build/esm/ui/utils/cypress-attributes.js +1 -1
  264. package/build/esm/ui/utils/cypress-attributes.js.map +1 -1
  265. package/build/esm/ui/utils/errors/ui-error.d.ts +14 -0
  266. package/build/esm/ui/utils/errors/ui-error.js +17 -0
  267. package/build/esm/ui/utils/errors/ui-error.js.map +1 -0
  268. package/build/esm/ui/utils/utils.d.ts +14 -8
  269. package/build/esm/ui/utils/utils.js +9 -14
  270. package/build/esm/ui/utils/utils.js.map +1 -1
  271. package/dist/public/build/assets-manifest.json +4 -4
  272. package/dist/public/build/js/main.b8adf234.js +3 -0
  273. package/dist/public/build/js/{main.652b0208.js.map → main.b8adf234.js.map} +1 -1
  274. package/dist/public/build/manifest.json +2 -2
  275. package/dist/shared/utils/index.js +3 -3
  276. package/package.json +5 -5
  277. package/dist/public/build/js/main.652b0208.js +0 -3
  278. /package/dist/public/build/js/{main.652b0208.js.LICENSE.txt → main.b8adf234.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_yt","_uikit","_Link","_moveObject","_pathEditingPopup","_pathEditingPopup2","_navigation","_cancelHelper","_executeBatch","_rumWrapApi","_rumCounter","_utils","_jsxRuntime","obj","__esModule","default","requests","CancelHelper","toaster","Toaster","checkError","responses","_splitBatchResults","splitBatchResults","error","Promise","reject","resolve","moveObjectIntoDirectory","from","to","_ref","preserve_account","parts","split","name","length","yt","v3","move","parameters","source_path","preparePath","destination_path","prepareDestinationPath","cancellation","saveCancelToken","moveObjectWithRename","_ref2","moveSingleObject","options","lastChar","charAt","exists","path","concat","then","exist","moveObjects","items","_ref3","_items","_slicedToArray","startTransaction","id","moveRequests","_map","node","command","transaction_id","titleUnquoted","executeBatchWithRetries","YTApiId","navigationMove","saveCancelSourceCb","commitTransaction","err","abortTransaction","resolveEntityPath","entityId","get","output_format","$value","$attributes","encode_utf8","e","rumLogError","moveObject","objectPath","movedPath","onSuccess","multipleMode","_ref4","dispatch","type","MOVE_OBJECT","REQUEST","value","JSON","parse","result","SUCCESS","add","autoHiding","title","content","_jsx","Link","url","children","code","codes","CANCELLED","FAILURE","action","showErrorInModal","abortRequests","removeAllRequests","HIDE_ERROR"],"sources":["move-object.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {MOVE_OBJECT} from '../../../../constants/navigation/modals/move-object';\nimport {showErrorInModal} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {HIDE_ERROR} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {prepareDestinationPath, preparePath} from '../../../../utils/navigation';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\nimport {rumLogError} from '../../../../rum/rum-counter';\nimport {BatchResultsItem} from '../../../../../shared/yt-types';\nimport {splitBatchResults} from '../../../../utils/utils';\nimport {Dispatch} from 'redux';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nfunction checkError(responses: Array<BatchResultsItem>) {\n const {error} = splitBatchResults(responses);\n if (error) {\n return Promise.reject(error);\n }\n\n return Promise.resolve(responses);\n}\n\ninterface MoveOptions {\n preserve_account?: boolean;\n}\n\nfunction moveObjectIntoDirectory(from: string, to: string, {preserve_account}: MoveOptions) {\n const parts = from.split('/');\n const name = parts[parts.length - 1];\n return yt.v3.move({\n parameters: {\n source_path: preparePath(from),\n destination_path: prepareDestinationPath(to, name),\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction moveObjectWithRename(from: string, to: string, {preserve_account}: MoveOptions) {\n return yt.v3.move({\n parameters: {\n source_path: preparePath(from),\n destination_path: to,\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction moveSingleObject(from: string, to: string, options: MoveOptions): Promise<string> {\n const lastChar = to.charAt(to.length - 1);\n\n if (lastChar === '/') {\n return moveObjectIntoDirectory(from, to, options);\n }\n\n return yt.v3\n .exists({parameters: {path: `${to}&`}, cancellation: requests.saveCancelToken})\n .then((exist: boolean) => {\n return exist\n ? moveObjectIntoDirectory(from, to, options)\n : moveObjectWithRename(from, to, options);\n });\n}\n\nfunction moveObjects(\n items: Array<{path: string; titleUnquoted: string}>,\n to: string,\n {preserve_account}: MoveOptions,\n) {\n if (items.length === 1) {\n const [{path}] = items;\n return moveSingleObject(path, to, {preserve_account});\n }\n\n return yt.v3.startTransaction({}).then((id: string) => {\n const moveRequests = _.map(items, (node) => {\n return {\n command: 'move' as const,\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: prepareDestinationPath(to, node.titleUnquoted),\n preserve_account,\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationMove, moveRequests, {\n saveCancelSourceCb: requests.saveCancelToken,\n })\n .then(checkError)\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3.abortTransaction({transaction_id: id}).then(() => Promise.reject(err)),\n );\n });\n}\n\nfunction resolveEntityPath(entityId: string): Promise<string> {\n try {\n return yt.v3.get({\n path: `#${entityId}/@path`,\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n });\n } catch (e) {\n rumLogError(e as Error);\n }\n return Promise.resolve('');\n}\n\nexport function moveObject(\n objectPath: string,\n movedPath: string,\n onSuccess: (destFullPath: string) => void,\n multipleMode: boolean,\n items: Array<{path: string; titleUnquoted: string}>,\n {preserve_account}: MoveOptions,\n) {\n return (dispatch: Dispatch) => {\n dispatch({type: MOVE_OBJECT.REQUEST});\n\n return Promise.resolve()\n .then(() =>\n multipleMode\n ? moveObjects(items, movedPath, {preserve_account}).then(() => movedPath)\n : moveSingleObject(objectPath, movedPath, {preserve_account}).then((value) =>\n resolveEntityPath(JSON.parse(value)),\n ),\n )\n .then((result) => {\n dispatch({type: MOVE_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess(result);\n }\n\n toaster.add({\n name: 'move',\n autoHiding: 10000,\n type: 'success',\n title: `Object${multipleMode ? 's' : ''} was successfully moved`,\n content: <Link url={`navigation?path=${result}`}>{result}</Link>,\n });\n return result;\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: MOVE_OBJECT.CANCELLED,\n });\n } else {\n dispatch({type: MOVE_OBJECT.FAILURE});\n\n const action = showErrorInModal(error);\n\n dispatch(action);\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function abortRequests() {\n return (dispatch: Dispatch) => {\n requests.removeAllRequests();\n\n dispatch({type: HIDE_ERROR});\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_yt","_uikit","_Link","_moveObject","_pathEditingPopup","_pathEditingPopup2","_navigation","_cancelHelper","_executeBatch","_rumWrapApi","_rumCounter","_utils","_jsxRuntime","obj","__esModule","default","requests","CancelHelper","toaster","Toaster","moveObjectIntoDirectory","from","to","_ref","preserve_account","parts","split","name","length","yt","v3","move","parameters","source_path","preparePath","destination_path","prepareDestinationPath","cancellation","saveCancelToken","moveObjectWithRename","_ref2","moveSingleObject","options","lastChar","charAt","exists","path","concat","then","exist","moveObjects","items","_ref3","_items","_slicedToArray","startTransaction","id","moveRequests","_map","node","command","transaction_id","titleUnquoted","wrapBatchPromise","executeBatchWithRetries","YTApiId","navigationMove","errorTitle","saveCancelSourceCb","commitTransaction","err","abortTransaction","Promise","reject","resolveEntityPath","entityId","get","output_format","$value","$attributes","encode_utf8","e","rumLogError","resolve","moveObject","objectPath","movedPath","onSuccess","multipleMode","_ref4","dispatch","type","MOVE_OBJECT","REQUEST","value","JSON","parse","result","SUCCESS","add","autoHiding","title","content","_jsx","Link","url","children","error","code","codes","CANCELLED","FAILURE","action","showErrorInModal","abortRequests","removeAllRequests","HIDE_ERROR"],"sources":["move-object.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {MOVE_OBJECT} from '../../../../constants/navigation/modals/move-object';\nimport {showErrorInModal} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {HIDE_ERROR} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {prepareDestinationPath, preparePath} from '../../../../utils/navigation';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\nimport {rumLogError} from '../../../../rum/rum-counter';\nimport {wrapBatchPromise} from '../../../../utils/utils';\nimport {Dispatch} from 'redux';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\ninterface MoveOptions {\n preserve_account?: boolean;\n}\n\nfunction moveObjectIntoDirectory(from: string, to: string, {preserve_account}: MoveOptions) {\n const parts = from.split('/');\n const name = parts[parts.length - 1];\n return yt.v3.move({\n parameters: {\n source_path: preparePath(from),\n destination_path: prepareDestinationPath(to, name),\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction moveObjectWithRename(from: string, to: string, {preserve_account}: MoveOptions) {\n return yt.v3.move({\n parameters: {\n source_path: preparePath(from),\n destination_path: to,\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction moveSingleObject(from: string, to: string, options: MoveOptions): Promise<string> {\n const lastChar = to.charAt(to.length - 1);\n\n if (lastChar === '/') {\n return moveObjectIntoDirectory(from, to, options);\n }\n\n return yt.v3\n .exists({parameters: {path: `${to}&`}, cancellation: requests.saveCancelToken})\n .then((exist: boolean) => {\n return exist\n ? moveObjectIntoDirectory(from, to, options)\n : moveObjectWithRename(from, to, options);\n });\n}\n\nfunction moveObjects(\n items: Array<{path: string; titleUnquoted: string}>,\n to: string,\n {preserve_account}: MoveOptions,\n) {\n if (items.length === 1) {\n const [{path}] = items;\n return moveSingleObject(path, to, {preserve_account});\n }\n\n return yt.v3.startTransaction({}).then((id: string) => {\n const moveRequests = _.map(items, (node) => {\n return {\n command: 'move' as const,\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: prepareDestinationPath(to, node.titleUnquoted),\n preserve_account,\n },\n };\n });\n\n return wrapBatchPromise(\n executeBatchWithRetries(YTApiId.navigationMove, moveRequests, {\n errorTitle: 'Failed to move the object(s)',\n saveCancelSourceCb: requests.saveCancelToken,\n }),\n 'Failed to move the object(s)',\n )\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3.abortTransaction({transaction_id: id}).then(() => Promise.reject(err)),\n );\n });\n}\n\nfunction resolveEntityPath(entityId: string): Promise<string> {\n try {\n return yt.v3.get({\n path: `#${entityId}/@path`,\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n });\n } catch (e) {\n rumLogError(e as Error);\n }\n return Promise.resolve('');\n}\n\nexport function moveObject(\n objectPath: string,\n movedPath: string,\n onSuccess: (destFullPath: string) => void,\n multipleMode: boolean,\n items: Array<{path: string; titleUnquoted: string}>,\n {preserve_account}: MoveOptions,\n) {\n return (dispatch: Dispatch) => {\n dispatch({type: MOVE_OBJECT.REQUEST});\n\n return Promise.resolve()\n .then(() =>\n multipleMode\n ? moveObjects(items, movedPath, {preserve_account}).then(() => movedPath)\n : moveSingleObject(objectPath, movedPath, {preserve_account}).then((value) =>\n resolveEntityPath(JSON.parse(value)),\n ),\n )\n .then((result) => {\n dispatch({type: MOVE_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess(result);\n }\n\n toaster.add({\n name: 'move',\n autoHiding: 10000,\n type: 'success',\n title: `Object${multipleMode ? 's' : ''} was successfully moved`,\n content: <Link url={`navigation?path=${result}`}>{result}</Link>,\n });\n return result;\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: MOVE_OBJECT.CANCELLED,\n });\n } else {\n dispatch({type: MOVE_OBJECT.FAILURE});\n\n const action = showErrorInModal(error);\n\n dispatch(action);\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function abortRequests() {\n return (dispatch: Dispatch) => {\n requests.removeAllRequests();\n\n dispatch({type: HIDE_ERROR});\n };\n}\n"],"mappings":"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"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.restoreObject = restoreObject;
7
7
  exports.restoreObjects = restoreObjects;
8
8
  var _map2 = _interopRequireDefault(require("lodash/map"));
9
- var _find2 = _interopRequireDefault(require("lodash/find"));
10
9
  var _restoreObject = require("../../../../constants/navigation/modals/restore-object");
11
10
  var _pathEditingPopup = require("../../../../store/actions/navigation/modals/path-editing-popup");
12
11
  var _restoreObject2 = require("../../../../utils/navigation/restore-object");
@@ -24,15 +23,6 @@ var _rumWrapApi = require("../../../../rum/rum-wrap-api");
24
23
  var _jsxRuntime = require("react/jsx-runtime");
25
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
25
  var toaster = new _uikit.Toaster();
27
- function checkError(responses) {
28
- var error = (0, _find2.default)(responses, function (res) {
29
- return res.error;
30
- });
31
- if (error) {
32
- return Promise.reject(error.error);
33
- }
34
- return Promise.resolve(responses);
35
- }
36
26
  function restoreObjects(items) {
37
27
  return function (dispatch) {
38
28
  dispatch({
@@ -50,7 +40,9 @@ function restoreObjects(items) {
50
40
  }
51
41
  };
52
42
  });
53
- return (0, _executeBatch.executeBatchWithRetries)(_rumWrapApi.YTApiId.navigationRestorePath, requests).then(checkError).then(function () {
43
+ return (0, _utils.wrapBatchPromise)((0, _executeBatch.executeBatchWithRetries)(_rumWrapApi.YTApiId.navigationRestorePath, requests, {
44
+ errorTitle: 'Failed to get restore path'
45
+ }), 'Failed to get restore path').then(function () {
54
46
  return _yt.default.v3.commitTransaction({
55
47
  transaction_id: id
56
48
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_restoreObject","require","_pathEditingPopup","_restoreObject2","_pathEditingPopup2","_uikit","_navigation","_Link","_interopRequireDefault","_utils","_index","_ypath","_yt","_react","_executeBatch","_rumWrapApi","_jsxRuntime","obj","__esModule","default","toaster","Toaster","checkError","responses","error","_find","res","Promise","reject","resolve","restoreObjects","items","dispatch","type","RESTORE_OBJECT","REQUEST","yt","v3","startTransaction","then","id","requests","_map","node","restorePath","ypath","getValue","command","parameters","transaction_id","source_path","preparePath","path","destination_path","executeBatchWithRetries","YTApiId","navigationRestorePath","commitTransaction","err","abortTransaction","SUCCESS","updateView","add","name","timeout","title","content","FAILURE","autoHiding","message","actions","label","onClick","showErrorPopup","restoreObject","objectPath","onSuccess","getState","move","_jsxs","children","_jsx","Link","url","concat","isModalOpen","navigation","modals","popupVisible","action","showErrorInModal","code","NetworkCode","EXIST","findCorrectObjectName","correctRestorePath","openEditingPopup","OPEN_RESTORE_POPUP","INCORRECT_PATH","openAction","errorAction"],"sources":["restore-object.js"],"sourcesContent":["import {\n OPEN_RESTORE_POPUP,\n RESTORE_OBJECT,\n} from '../../../../constants/navigation/modals/restore-object';\nimport {\n openEditingPopup,\n showErrorInModal,\n} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {findCorrectObjectName} from '../../../../utils/navigation/restore-object';\nimport {NetworkCode} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {preparePath} from '../../../../utils/navigation';\nimport Link from '../../../../components/Link/Link';\nimport {showErrorPopup} from '../../../../utils/utils';\nimport {updateView} from '../index';\nimport ypath from '../../../../common/thor/ypath';\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport React from 'react';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\n\nconst toaster = new Toaster();\n\nfunction checkError(responses) {\n const error = _.find(responses, (res) => res.error);\n if (error) {\n return Promise.reject(error.error);\n }\n\n return Promise.resolve(responses);\n}\n\nexport function restoreObjects(items) {\n return (dispatch) => {\n dispatch({type: RESTORE_OBJECT.REQUEST});\n return yt.v3\n .startTransaction({})\n .then((id) => {\n const requests = _.map(items, (node) => {\n const restorePath = ypath.getValue(node, '/@_restore_path');\n return {\n command: 'move',\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: restorePath,\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationRestorePath, requests)\n .then(checkError)\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3\n .abortTransaction({transaction_id: id})\n .then(() => Promise.reject(err)),\n );\n })\n .then(() => {\n dispatch({type: RESTORE_OBJECT.SUCCESS});\n dispatch(updateView());\n\n toaster.add({\n type: 'success',\n name: 'restore objects',\n timeout: 10000,\n title: 'Objects restored',\n content: 'Objects have been successfully restored',\n });\n })\n .catch((err) => {\n dispatch({type: RESTORE_OBJECT.FAILURE});\n\n toaster.add({\n name: 'restore objects',\n type: 'error',\n autoHiding: false,\n title: 'Could not restore objects.',\n content: err?.message || 'Oops, something went wrong',\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n });\n };\n}\n\nexport function restoreObject(objectPath, restorePath, onSuccess) {\n return (dispatch, getState) => {\n dispatch({type: RESTORE_OBJECT.REQUEST});\n\n return yt.v3\n .move({\n source_path: preparePath(objectPath),\n destination_path: restorePath,\n })\n .then(() => {\n dispatch({type: RESTORE_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess(objectPath, restorePath);\n }\n\n toaster.add({\n type: 'success',\n name: 'restore object',\n timeout: 10000,\n title: 'Object restored',\n content: (\n <div>\n Object has been successfully{' '}\n <Link url={`navigation?path=${restorePath}`}>restored</Link>\n </div>\n ),\n });\n })\n .catch((error) => {\n dispatch({type: RESTORE_OBJECT.FAILURE});\n\n const isModalOpen = getState().navigation.modals.restoreObject.popupVisible;\n\n if (isModalOpen) {\n const action = showErrorInModal(error);\n\n dispatch(action);\n } else {\n switch (error.code) {\n case NetworkCode.EXIST: {\n findCorrectObjectName(restorePath)\n .then((correctRestorePath) => {\n const action = openEditingPopup(\n objectPath,\n correctRestorePath,\n OPEN_RESTORE_POPUP,\n );\n\n dispatch(action);\n })\n .catch(showErrorPopup);\n break;\n }\n case NetworkCode.INCORRECT_PATH: {\n const openAction = openEditingPopup(\n objectPath,\n restorePath,\n OPEN_RESTORE_POPUP,\n );\n const errorAction = showErrorInModal(error);\n\n dispatch(errorAction);\n dispatch(openAction);\n break;\n }\n default:\n showErrorPopup(error);\n break;\n }\n }\n });\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_restoreObject","require","_pathEditingPopup","_restoreObject2","_pathEditingPopup2","_uikit","_navigation","_Link","_interopRequireDefault","_utils","_index","_ypath","_yt","_react","_executeBatch","_rumWrapApi","_jsxRuntime","obj","__esModule","default","toaster","Toaster","restoreObjects","items","dispatch","type","RESTORE_OBJECT","REQUEST","yt","v3","startTransaction","then","id","requests","_map","node","restorePath","ypath","getValue","command","parameters","transaction_id","source_path","preparePath","path","destination_path","wrapBatchPromise","executeBatchWithRetries","YTApiId","navigationRestorePath","errorTitle","commitTransaction","err","abortTransaction","Promise","reject","SUCCESS","updateView","add","name","timeout","title","content","FAILURE","autoHiding","message","actions","label","onClick","showErrorPopup","restoreObject","objectPath","onSuccess","getState","move","_jsxs","children","_jsx","Link","url","concat","error","isModalOpen","navigation","modals","popupVisible","action","showErrorInModal","code","NetworkCode","EXIST","findCorrectObjectName","correctRestorePath","openEditingPopup","OPEN_RESTORE_POPUP","INCORRECT_PATH","openAction","errorAction"],"sources":["restore-object.js"],"sourcesContent":["import {\n OPEN_RESTORE_POPUP,\n RESTORE_OBJECT,\n} from '../../../../constants/navigation/modals/restore-object';\nimport {\n openEditingPopup,\n showErrorInModal,\n} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {findCorrectObjectName} from '../../../../utils/navigation/restore-object';\nimport {NetworkCode} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {preparePath} from '../../../../utils/navigation';\nimport Link from '../../../../components/Link/Link';\nimport {showErrorPopup, wrapBatchPromise} from '../../../../utils/utils';\nimport {updateView} from '../index';\nimport ypath from '../../../../common/thor/ypath';\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport React from 'react';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\n\nconst toaster = new Toaster();\n\nexport function restoreObjects(items) {\n return (dispatch) => {\n dispatch({type: RESTORE_OBJECT.REQUEST});\n return yt.v3\n .startTransaction({})\n .then((id) => {\n const requests = _.map(items, (node) => {\n const restorePath = ypath.getValue(node, '/@_restore_path');\n return {\n command: 'move',\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: restorePath,\n },\n };\n });\n\n return wrapBatchPromise(\n executeBatchWithRetries(YTApiId.navigationRestorePath, requests, {\n errorTitle: 'Failed to get restore path',\n }),\n 'Failed to get restore path',\n )\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3\n .abortTransaction({transaction_id: id})\n .then(() => Promise.reject(err)),\n );\n })\n .then(() => {\n dispatch({type: RESTORE_OBJECT.SUCCESS});\n dispatch(updateView());\n\n toaster.add({\n type: 'success',\n name: 'restore objects',\n timeout: 10000,\n title: 'Objects restored',\n content: 'Objects have been successfully restored',\n });\n })\n .catch((err) => {\n dispatch({type: RESTORE_OBJECT.FAILURE});\n\n toaster.add({\n name: 'restore objects',\n type: 'error',\n autoHiding: false,\n title: 'Could not restore objects.',\n content: err?.message || 'Oops, something went wrong',\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n });\n };\n}\n\nexport function restoreObject(objectPath, restorePath, onSuccess) {\n return (dispatch, getState) => {\n dispatch({type: RESTORE_OBJECT.REQUEST});\n\n return yt.v3\n .move({\n source_path: preparePath(objectPath),\n destination_path: restorePath,\n })\n .then(() => {\n dispatch({type: RESTORE_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess(objectPath, restorePath);\n }\n\n toaster.add({\n type: 'success',\n name: 'restore object',\n timeout: 10000,\n title: 'Object restored',\n content: (\n <div>\n Object has been successfully{' '}\n <Link url={`navigation?path=${restorePath}`}>restored</Link>\n </div>\n ),\n });\n })\n .catch((error) => {\n dispatch({type: RESTORE_OBJECT.FAILURE});\n\n const isModalOpen = getState().navigation.modals.restoreObject.popupVisible;\n\n if (isModalOpen) {\n const action = showErrorInModal(error);\n\n dispatch(action);\n } else {\n switch (error.code) {\n case NetworkCode.EXIST: {\n findCorrectObjectName(restorePath)\n .then((correctRestorePath) => {\n const action = openEditingPopup(\n objectPath,\n correctRestorePath,\n OPEN_RESTORE_POPUP,\n );\n\n dispatch(action);\n })\n .catch(showErrorPopup);\n break;\n }\n case NetworkCode.INCORRECT_PATH: {\n const openAction = openEditingPopup(\n objectPath,\n restorePath,\n OPEN_RESTORE_POPUP,\n );\n const errorAction = showErrorInModal(error);\n\n dispatch(errorAction);\n dispatch(openAction);\n break;\n }\n default:\n showErrorPopup(error);\n break;\n }\n }\n });\n };\n}\n"],"mappings":"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"}
@@ -42,7 +42,7 @@ function getTransactions(rowLocks) {
42
42
  return _rumWrapApi.ytApiV3Id.executeBatch(_rumWrapApi.YTApiId.navigationTransactions, {
43
43
  requests: requests
44
44
  }).then(function (data) {
45
- var _splitBatchResults = (0, _utils.splitBatchResults)(data),
45
+ var _splitBatchResults = (0, _utils.splitBatchResults)(data, 'Failed to get transactions'),
46
46
  error = _splitBatchResults.error,
47
47
  transactions = _splitBatchResults.results;
48
48
  if (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["_yt","_interopRequireDefault","require","_cancelHelper","_navigation","_navigation2","_locks","_rumWrapApi","_utils","obj","__esModule","default","requests","CancelHelper","prepareData","locks","transactions","arguments","length","undefined","_map","lock","index","item","_objectSpread","transaction","id","transaction_id","getTransactions","rowLocks","dispatch","_slice","MAX_TRANSACTIONS_REQUESTS","command","parameters","path","attributes","ytApiV3Id","executeBatch","YTApiId","navigationTransactions","then","data","_splitBatchResults","splitBatchResults","error","results","Promise","reject","isPartial","type","IS_PARTIAL","GET_LOCKS","SUCCESS","FAILURE","getLocks","getState","state","getPath","getTransaction","REQUEST","removeAllRequests","get","navigationLocks","prepareRequest","cancellation","saveCancelToken","code","yt","codes","CANCELLED","abortAndReset","setLocksModeFilter","modeFilter","PARTITION"],"sources":["locks.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {prepareRequest} from '../../../../utils/navigation';\nimport {getPath, getTransaction} from '../../../../store/selectors/navigation';\nimport {\n GET_LOCKS,\n IS_PARTIAL,\n MAX_TRANSACTIONS_REQUESTS,\n} from '../../../../constants/navigation/tabs/locks';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../../utils/utils';\n\nconst requests = new CancelHelper();\n\nfunction prepareData(locks, transactions = []) {\n return _.map(locks, (lock, index) => {\n const item = {...lock};\n item.transaction = transactions[index] || {};\n item.transaction.id = item.transaction_id;\n item.index = index;\n\n return item;\n });\n}\n\nfunction getTransactions(rowLocks) {\n return (dispatch) => {\n const requests = _.map(_.slice(rowLocks, 0, MAX_TRANSACTIONS_REQUESTS), (lock) => {\n return {\n command: 'get',\n parameters: {\n path: '//sys/transactions/' + lock.transaction_id + '/@',\n attributes: ['title', 'start_time', 'operation_id'],\n },\n };\n });\n\n return ytApiV3Id\n .executeBatch(YTApiId.navigationTransactions, {requests})\n .then((data) => {\n const {error, results: transactions} = splitBatchResults(data);\n if (error) {\n return Promise.reject(error);\n }\n\n const locks = prepareData(rowLocks, transactions);\n const isPartial = locks.length > MAX_TRANSACTIONS_REQUESTS;\n\n dispatch({\n type: IS_PARTIAL,\n data: {isPartial},\n });\n\n dispatch({\n type: GET_LOCKS.SUCCESS,\n data: {locks},\n });\n })\n .catch((error) => {\n dispatch({\n type: GET_LOCKS.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function getLocks() {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n const transaction = getTransaction(state);\n\n dispatch({type: GET_LOCKS.REQUEST});\n requests.removeAllRequests();\n\n ytApiV3Id\n .get(YTApiId.navigationLocks, {\n parameters: prepareRequest('/@locks', {path, transaction}),\n cancellation: requests.saveCancelToken,\n })\n .then((locks) => dispatch(getTransactions(locks)))\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_LOCKS.CANCELLED});\n } else {\n dispatch({\n type: GET_LOCKS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: GET_LOCKS.CANCELLED});\n };\n}\n\nexport function setLocksModeFilter(modeFilter) {\n return {type: GET_LOCKS.PARTITION, data: {modeFilter}};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_yt","_interopRequireDefault","require","_cancelHelper","_navigation","_navigation2","_locks","_rumWrapApi","_utils","obj","__esModule","default","requests","CancelHelper","prepareData","locks","transactions","arguments","length","undefined","_map","lock","index","item","_objectSpread","transaction","id","transaction_id","getTransactions","rowLocks","dispatch","_slice","MAX_TRANSACTIONS_REQUESTS","command","parameters","path","attributes","ytApiV3Id","executeBatch","YTApiId","navigationTransactions","then","data","_splitBatchResults","splitBatchResults","error","results","Promise","reject","isPartial","type","IS_PARTIAL","GET_LOCKS","SUCCESS","FAILURE","getLocks","getState","state","getPath","getTransaction","REQUEST","removeAllRequests","get","navigationLocks","prepareRequest","cancellation","saveCancelToken","code","yt","codes","CANCELLED","abortAndReset","setLocksModeFilter","modeFilter","PARTITION"],"sources":["locks.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {prepareRequest} from '../../../../utils/navigation';\nimport {getPath, getTransaction} from '../../../../store/selectors/navigation';\nimport {\n GET_LOCKS,\n IS_PARTIAL,\n MAX_TRANSACTIONS_REQUESTS,\n} from '../../../../constants/navigation/tabs/locks';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../../utils/utils';\n\nconst requests = new CancelHelper();\n\nfunction prepareData(locks, transactions = []) {\n return _.map(locks, (lock, index) => {\n const item = {...lock};\n item.transaction = transactions[index] || {};\n item.transaction.id = item.transaction_id;\n item.index = index;\n\n return item;\n });\n}\n\nfunction getTransactions(rowLocks) {\n return (dispatch) => {\n const requests = _.map(_.slice(rowLocks, 0, MAX_TRANSACTIONS_REQUESTS), (lock) => {\n return {\n command: 'get',\n parameters: {\n path: '//sys/transactions/' + lock.transaction_id + '/@',\n attributes: ['title', 'start_time', 'operation_id'],\n },\n };\n });\n\n return ytApiV3Id\n .executeBatch(YTApiId.navigationTransactions, {requests})\n .then((data) => {\n const {error, results: transactions} = splitBatchResults(\n data,\n 'Failed to get transactions',\n );\n if (error) {\n return Promise.reject(error);\n }\n\n const locks = prepareData(rowLocks, transactions);\n const isPartial = locks.length > MAX_TRANSACTIONS_REQUESTS;\n\n dispatch({\n type: IS_PARTIAL,\n data: {isPartial},\n });\n\n dispatch({\n type: GET_LOCKS.SUCCESS,\n data: {locks},\n });\n })\n .catch((error) => {\n dispatch({\n type: GET_LOCKS.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function getLocks() {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n const transaction = getTransaction(state);\n\n dispatch({type: GET_LOCKS.REQUEST});\n requests.removeAllRequests();\n\n ytApiV3Id\n .get(YTApiId.navigationLocks, {\n parameters: prepareRequest('/@locks', {path, transaction}),\n cancellation: requests.saveCancelToken,\n })\n .then((locks) => dispatch(getTransactions(locks)))\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_LOCKS.CANCELLED});\n } else {\n dispatch({\n type: GET_LOCKS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: GET_LOCKS.CANCELLED});\n };\n}\n\nexport function setLocksModeFilter(modeFilter) {\n return {type: GET_LOCKS.PARTITION, data: {modeFilter}};\n}\n"],"mappings":"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"}
@@ -33,6 +33,7 @@ var _schedulingPools = require("../../selectors/scheduling/scheduling-pools");
33
33
  var _support = require("../../../store/selectors/thor/support");
34
34
  var _cancelHelper = _interopRequireWildcard(require("../../../utils/cancel-helper"));
35
35
  var _scheduling3 = require("../../../utils/scheduling/scheduling");
36
+ var _uiError = require("../../../utils/errors/ui-error");
36
37
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
37
38
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
38
39
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -186,9 +187,7 @@ function loadExpandedOperationsAndPools(tree) {
186
187
  poolsResults = _ref6[1],
187
188
  poolsChildrenResults = _ref6[2],
188
189
  poolsCypressData = _ref6[3];
189
- var error = {
190
- message: 'Failed to load expanded pools'
191
- };
190
+ var error = new _uiError.UIBatchError('Failed to load expanded pools');
192
191
  var _splitBatchResults = (0, _utils.splitBatchResults)(operationsResults, error),
193
192
  operations = _splitBatchResults.results;
194
193
  var rawOperations = (0, _reduce2.default)(operations, function (acc, data) {
@@ -1 +1 @@
1
- {"version":3,"names":["_uikit","require","_rumWrapApi","_utils","_batch","_scheduling","_scheduling2","_expandedPools","_empty","_schedulingPools","_support","_cancelHelper","_interopRequireWildcard","_scheduling3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_interopRequireDefault","obj","cancelHelper","CancelHelper","POOL_FIELDS_TO_LOAD","POOL_TREE_GET_ATTRS","EmptyFullPath","_Error","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","_wrapNativeSuper","Error","loadExpandedPools","tree","dispatch","getState","pool","getPool","undefined","ROOT_POOL_NAME","loadExpandedOperationsAndPools","ytApiV3Id","executeBatch","YTApiId","schedulingPoolFullPath","requests","command","parameters","path","concat","fields","then","_ref","_ref2","_slicedToArray","output","_ref3","full_path","is_ephemeral","addFullPathToExpandedPoolsNoLoad","type","CHANGE_POOL","data","Toaster","add","name","title","_getSchedulingOperati","state","loadAll","getExpandedPoolsLoadAll","expandedPools","Map","getSchedulingOperationsExpandedPools","expandedPoolNames","_toConsumableArray","keys","operationsExpandedPools","operationsRequests","push","makeGet","prefix","forEach","item","loadAllPools","isSupportedSchedulingChildrenByPool","poolsRequests","poolsChildrenRequests","poolsCypressDataRequests","poolsExpandedPools","indexOf","attributes","_expandedPools$get","_ref4","parentPoolPath","isEphemeral","cypressDataPath","makeList","removeAllRequests","SCHEDULING_EXPANDED_POOLS_REQUEST","Promise","all","length","schedulingLoadOperationsPerPool","cancellation","saveCancelToken","resolve","schedulingLoadPoolsAll","schedulingLoadPoolsPerPool","schedulingLoadChildrenPerPool","schedulingLoadCypressDataPerPool","_ref5","_error$inner_errors","_ref6","operationsResults","poolsResults","poolsChildrenResults","poolsCypressData","error","message","_splitBatchResults","splitBatchResults","operations","results","rawOperations","_reduce","acc","assign","rawPools","cypressData","_splitBatchResults2","pools","_ref7","_ref8","_ref8$","value","_splitBatchResults3","_splitBatchResults3$r","flattenAttributes","_splitBatchResults4","_pools","resultIndices","poolInfo","index","_splitBatchResults5","poolChildren","children","_splitBatchResults6","cypressDataChildrenPerPool","poolChildrenCypressData","$value","SCHEDULING_EXPANDED_POOLS_SUCCESS","expandedPoolsTree","EMPTY_OBJECT","flattenCypressData","inner_errors","isCancelled","SCHEDULING_EXPANDED_POOLS_FAILURE","setExpandedPool","poolName","expanded","getTree","poolsByName","getSchedulingPoolsMapByName","treeExpandedPools","expandedPoolInfo","calcExpandedPoolInfo","updateExpandedPoolNoLoad","fullPath","oldExpandedPools","parts","split","slice","join","_objectSpread","_defineProperty","SCHEDULING_EXPANDED_POOLS_PARTITION","resetExpandedPools","_getSchedulingOperati2","old","rest","_objectWithoutProperties","map","_toPropertyKey","size","getSchedulingOperationsCount","_dispatch","root","operationCount","getPoolPathsByName","getPools","calculatePoolPath","orchidPath","setLoadAllOperations","_data","res","_data2","parent"],"sources":["expanded-pools.tsx"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport _ from 'lodash';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {\n ExpandedPoolInfo,\n ExpandedPoolsAction,\n PoolCypressData,\n} from '../../reducers/scheduling/expanded-pools';\n\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {\n CHANGE_POOL,\n ROOT_POOL_NAME,\n SCHEDULING_EXPANDED_POOLS_FAILURE,\n SCHEDULING_EXPANDED_POOLS_PARTITION,\n SCHEDULING_EXPANDED_POOLS_REQUEST,\n SCHEDULING_EXPANDED_POOLS_SUCCESS,\n} from '../../../constants/scheduling';\nimport {calculatePoolPath, getPool, getPools, getTree} from '../../selectors/scheduling/scheduling';\nimport {\n getExpandedPoolsLoadAll,\n getSchedulingOperationsExpandedPools,\n} from '../../selectors/scheduling/expanded-pools';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\nimport {PoolInfo, getSchedulingPoolsMapByName} from '../../selectors/scheduling/scheduling-pools';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\nimport {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport {isSupportedSchedulingChildrenByPool} from '../../../store/selectors/thor/support';\nimport {YTError} from '../../../../@types/types';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {flattenAttributes} from '../../../utils/scheduling/scheduling';\n\ntype ExpandedPoolsThunkAction = ThunkAction<\n any,\n RootState,\n any,\n ExpandedPoolsAction | SchedulingAction\n>;\n\nconst cancelHelper = new CancelHelper();\n\nconst POOL_FIELDS_TO_LOAD = [\n 'accumulated_resource_ratio_volume',\n 'accumulated_resource_volume',\n 'demand_ratio',\n 'detailed_fair_share',\n 'dominant_resource',\n 'estimated_burst_usage_duration_sec',\n 'fair_share_ratio',\n 'fifo_index',\n 'integral_guarantee_type',\n 'is_ephemeral',\n 'max_operation_count',\n 'max_running_operation_count',\n 'max_share_ratio',\n 'min_share_ratio',\n 'mode',\n 'operation_count',\n 'parent',\n 'pool_operation_count',\n 'child_pool_count',\n 'resource_demand',\n 'resource_limits',\n 'resource_usage',\n 'promised_fair_share_resources',\n 'running_operation_count',\n 'specified_burst_guarantee_resources',\n 'specified_resource_flow',\n 'starvation_status',\n 'starving',\n 'strong_guarantee_resources',\n 'usage_ratio',\n 'weight',\n 'abc',\n];\n\nconst POOL_TREE_GET_ATTRS = [\n 'integral_guarantees',\n 'weight',\n 'max_operation_count',\n 'max_running_operation_count',\n 'strong_guarantee_resources',\n 'resource_limits',\n 'forbid_immediate_operations',\n 'create_ephemeral_subpools',\n 'fifo_sort_parameters',\n 'config',\n 'folder_id',\n];\n\nclass EmptyFullPath extends Error {}\n\nexport function loadExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const pool = getPool(getState());\n\n if (!tree) {\n return undefined;\n }\n\n if (pool === ROOT_POOL_NAME) {\n return dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n return ytApiV3Id\n .executeBatch<{full_path: string; is_ephemeral?: boolean}>(\n YTApiId.schedulingPoolFullPath,\n {\n requests: [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`,\n fields: ['is_ephemeral', 'full_path'],\n },\n },\n ],\n },\n )\n .then(([{output}]) => {\n const {full_path, is_ephemeral} = output ?? {};\n if (!full_path) {\n throw new EmptyFullPath();\n } else {\n dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));\n dispatch(loadExpandedOperationsAndPools(tree));\n }\n })\n .catch((e) => {\n if (e instanceof EmptyFullPath) {\n dispatch({type: CHANGE_POOL, data: {pool: ROOT_POOL_NAME}});\n /**\n * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.\n * The call will be triggered by SchedulingExpandedPoolsUpdater.\n */\n // dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n new Toaster().add({\n name: 'schedulingPoolFullPath',\n type: 'error',\n title: '',\n });\n }\n });\n }\n };\n}\n\nfunction loadExpandedOperationsAndPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const loadAll = getExpandedPoolsLoadAll(state);\n const expandedPools: Map<string, ExpandedPoolInfo> = loadAll\n ? new Map()\n : getSchedulingOperationsExpandedPools(state)[tree] ?? new Map();\n const expandedPoolNames: Array<string> = [...expandedPools.keys()];\n\n const operationsExpandedPools: Array<string> = [...expandedPoolNames];\n\n const operationsRequests: Array<BatchSubRequest> = [];\n if (loadAll) {\n operationsRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/operations`,\n ),\n );\n } else {\n const prefix = `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/operations_by_pool`;\n operationsExpandedPools.forEach((item) => {\n operationsRequests.push(makeGet(`${prefix}/${item}`));\n });\n }\n\n const loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);\n const poolsRequests: Array<BatchSubRequest> = [];\n const poolsChildrenRequests: Array<BatchSubRequest> = [];\n const poolsCypressDataRequests: Array<BatchSubRequest> = [];\n\n const poolsExpandedPools: Array<string> =\n -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME)\n ? expandedPoolNames\n : [ROOT_POOL_NAME, ...expandedPoolNames];\n\n if (loadAllPools) {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsCypressDataRequests.push(\n makeGet(`//sys/pool_trees/${tree}`, {attributes: POOL_TREE_GET_ATTRS}),\n );\n } else {\n poolsExpandedPools.forEach((pool) => {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsChildrenRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/child_pools_by_pool/${pool}`,\n {\n fields: POOL_FIELDS_TO_LOAD,\n },\n ),\n );\n const {parentPoolPath, isEphemeral} = expandedPools.get(pool) ?? {};\n const cypressDataPath = parentPoolPath\n ? `//sys/pool_trees/${tree}/${parentPoolPath}/${pool}`\n : `//sys/pool_trees/${tree}/${pool}`;\n if (pool === ROOT_POOL_NAME || !isEphemeral) {\n poolsCypressDataRequests.push(\n makeList(\n pool === ROOT_POOL_NAME ? `//sys/pool_trees/${tree}` : cypressDataPath,\n {\n attributes: POOL_TREE_GET_ATTRS,\n },\n ),\n );\n }\n });\n }\n\n cancelHelper.removeAllRequests();\n\n dispatch({type: SCHEDULING_EXPANDED_POOLS_REQUEST});\n return Promise.all([\n operationsRequests.length\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {\n parameters: {requests: operationsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : Promise.resolve([]),\n loadAllPools\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n loadAllPools\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {\n parameters: {requests: poolsChildrenRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n !poolsCypressDataRequests.length\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {\n parameters: {requests: poolsCypressDataRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n ])\n .then(([operationsResults, poolsResults, poolsChildrenResults, poolsCypressData]) => {\n const error: YTError = {message: 'Failed to load expanded pools'};\n const {results: operations} = splitBatchResults(operationsResults, error);\n const rawOperations = _.reduce(\n operations,\n (acc, data) => {\n return Object.assign(acc, data);\n },\n {},\n );\n\n const rawPools: Record<string, PoolInfo> = {};\n const cypressData: Record<string, PoolCypressData> = {};\n\n if (loadAllPools) {\n const {results: pools} = splitBatchResults<Record<string, PoolInfo>>(\n poolsResults,\n error,\n );\n const [value = {}] = pools ?? [];\n Object.assign(rawPools, value);\n\n const {\n results: [data],\n } = splitBatchResults(poolsCypressData, error);\n Object.assign(cypressData, flattenAttributes(data));\n } else {\n const {results: pools, resultIndices} = splitBatchResults<PoolInfo>(\n poolsResults,\n error,\n );\n pools.forEach((poolInfo, index) => {\n const name = poolsExpandedPools[resultIndices[index]];\n rawPools[name] = poolInfo;\n });\n\n const {results: poolChildren} = splitBatchResults<Record<string, PoolInfo>>(\n poolsChildrenResults,\n error,\n );\n poolChildren.forEach((children) => {\n Object.assign(rawPools, children);\n });\n\n const {results: cypressDataChildrenPerPool} = splitBatchResults<\n Array<PoolCypressData>\n >(poolsCypressData, error);\n cypressDataChildrenPerPool.forEach((poolChildrenCypressData) => {\n poolChildrenCypressData.forEach((item) => {\n cypressData[item.$value] = item;\n });\n });\n }\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_SUCCESS,\n data: {\n expandedPoolsTree: tree,\n rawOperations: Object.keys(rawOperations).length\n ? rawOperations\n : EMPTY_OBJECT,\n rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,\n flattenCypressData: Object.keys(cypressData).length\n ? cypressData\n : EMPTY_OBJECT,\n },\n });\n\n if (error.inner_errors?.length) {\n throw error;\n }\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const tree = getTree(getState());\n const expandedPools = getSchedulingOperationsExpandedPools(state);\n\n const poolsByName = getSchedulingPoolsMapByName(state);\n\n const treeExpandedPools = new Map(expandedPools[tree]);\n if (expanded) {\n const expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);\n treeExpandedPools.set(poolName, expandedPoolInfo);\n } else {\n treeExpandedPools.delete(poolName);\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction addFullPathToExpandedPoolsNoLoad(\n tree: string,\n /**\n * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`\n */\n fullPath: string,\n isEphemeral?: boolean,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldExpandedPools = getSchedulingOperationsExpandedPools(state);\n const treeExpandedPools = new Map(oldExpandedPools[tree]);\n\n /**\n * `fullPath` value starts from `/`, example: `/mypool/child/subchild`\n * so we have to use `.slice(1)` to remove first empty string\n */\n const parts = fullPath.split('/').slice(1);\n\n for (let i = 0; i < parts.length; ++i) {\n const poolName = parts[i];\n const parentPoolPath = parts.slice(0, i).join('/');\n treeExpandedPools.set(poolName, {parentPoolPath, isEphemeral});\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n };\n}\n\nfunction updateExpandedPoolNoLoad(\n tree: string,\n treeExpandedPools: Map<string, ExpandedPoolInfo>,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const oldExpandedPools = getSchedulingOperationsExpandedPools(getState());\n\n const expandedPools = {\n ...oldExpandedPools,\n [tree]: treeExpandedPools,\n };\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {expandedPools},\n });\n };\n}\n\nexport function resetExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n if (!tree) {\n return;\n }\n\n const state = getState();\n const {[tree]: old, ...rest} = getSchedulingOperationsExpandedPools(state);\n\n if (old?.size) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {\n expandedPools: {\n ...rest,\n [tree]: new Map<string, ExpandedPoolInfo>(),\n },\n },\n });\n }\n };\n}\n\nexport function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any> {\n return (_dispatch, getState) => {\n const state = getState();\n\n const tree = getSchedulingPoolsMapByName(state);\n const root = tree[ROOT_POOL_NAME];\n return root?.operationCount || 0;\n };\n}\n\nexport function getPoolPathsByName(\n poolName: string,\n): ThunkAction<{fullPath: string; orchidPath: string}, RootState, unknown, any> {\n return (_dispatch, getState) => {\n const state = getState();\n const pools = getPools(state);\n const tree = getTree(state);\n\n return {\n fullPath: calculatePoolPath(poolName, pools, tree),\n orchidPath: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${poolName}`,\n };\n };\n}\n\nexport function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {loadAll},\n });\n\n const tree = getTree(state);\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction calcExpandedPoolInfo(\n poolName: string,\n poolsByName: Record<string, PoolInfo>,\n): ExpandedPoolInfo {\n let data = poolsByName[poolName];\n const isEphemeral = data?.isEphemeral;\n let res = '';\n while (data?.parent && data.parent !== ROOT_POOL_NAME) {\n res = res ? `${data.parent}/${res}` : data.parent;\n data = poolsByName[data.parent];\n }\n return {parentPoolPath: res, isEphemeral};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAQA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAQA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAIA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AAGA,IAAAS,QAAA,GAAAT,OAAA;AAEA,IAAAU,aAAA,GAAAC,uBAAA,CAAAX,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AAAsE,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAY,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAjB,UAAA,GAAAiB,GAAA,KAAAhB,OAAA,EAAAgB,GAAA;AAStE,IAAMC,YAAY,GAAG,IAAIC,qBAAY,CAAC,CAAC;AAEvC,IAAMC,mBAAmB,GAAG,CACxB,mCAAmC,EACnC,6BAA6B,EAC7B,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,oCAAoC,EACpC,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EACN,iBAAiB,EACjB,QAAQ,EACR,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,qCAAqC,EACrC,yBAAyB,EACzB,mBAAmB,EACnB,UAAU,EACV,4BAA4B,EAC5B,aAAa,EACb,QAAQ,EACR,KAAK,CACR;AAED,IAAMC,mBAAmB,GAAG,CACxB,qBAAqB,EACrB,QAAQ,EACR,qBAAqB,EACrB,6BAA6B,EAC7B,4BAA4B,EAC5B,iBAAiB,EACjB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,QAAQ,EACR,WAAW,CACd;AAAC,IAEIC,aAAa,0BAAAC,MAAA;EAAA,IAAAC,kBAAA,EAAAF,aAAA,EAAAC,MAAA;EAAA,IAAAE,MAAA,OAAAC,qBAAA,EAAAJ,aAAA;EAAA,SAAAA,cAAA;IAAA,IAAAK,wBAAA,QAAAL,aAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,WAAAC,qBAAA,EAAAR,aAAA;AAAA,oBAAAS,yBAAA,EAASC,KAAK;AAE1B,SAASC,iBAAiBA,CAACC,IAAY,EAA4B;EACtE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,IAAI,GAAG,IAAAC,oBAAO,EAACF,QAAQ,CAAC,CAAC,CAAC;IAEhC,IAAI,CAACF,IAAI,EAAE;MACP,OAAOK,SAAS;IACpB;IAEA,IAAIF,IAAI,KAAKG,0BAAc,EAAE;MACzB,OAAOL,QAAQ,CAACM,8BAA8B,CAACP,IAAI,CAAC,CAAC;IACzD,CAAC,MAAM;MACH,OAAOQ,qBAAS,CACXC,YAAY,CACTC,mBAAO,CAACC,sBAAsB,EAC9B;QACIC,QAAQ,EAAE,CACN;UACIC,OAAO,EAAE,KAAc;UACvBC,UAAU,EAAE;YACRC,IAAI,iDAAAC,MAAA,CAAiDhB,IAAI,aAAAgB,MAAA,CAAUb,IAAI,CAAE;YACzEc,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW;UACxC;QACJ,CAAC;MAET,CACJ,CAAC,CACAC,IAAI,CAAC,UAAAC,IAAA,EAAgB;QAAA,IAAAC,KAAA,OAAAC,uBAAA,EAAAF,IAAA;UAAbG,MAAM,GAAAF,KAAA,IAANE,MAAM;QACX,IAAAC,KAAA,GAAkCD,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,CAAC,CAAC;UAAvCE,SAAS,GAAAD,KAAA,CAATC,SAAS;UAAEC,YAAY,GAAAF,KAAA,CAAZE,YAAY;QAC9B,IAAI,CAACD,SAAS,EAAE;UACZ,MAAM,IAAIpC,aAAa,CAAC,CAAC;QAC7B,CAAC,MAAM;UACHa,QAAQ,CAACyB,gCAAgC,CAAC1B,IAAI,EAAEwB,SAAS,EAAEC,YAAY,CAAC,CAAC;UACzExB,QAAQ,CAACM,8BAA8B,CAACP,IAAI,CAAC,CAAC;QAClD;MACJ,CAAC,CAAC,SACI,CAAC,UAACtC,CAAC,EAAK;QACV,IAAIA,CAAC,YAAY0B,aAAa,EAAE;UAC5Ba,QAAQ,CAAC;YAAC0B,IAAI,EAAEC,uBAAW;YAAEC,IAAI,EAAE;cAAC1B,IAAI,EAAEG;YAAc;UAAC,CAAC,CAAC;UAC3D;AACxB;AACA;AACA;UACwB;QACJ,CAAC,MAAM;UACH,IAAIwB,cAAO,CAAC,CAAC,CAACC,GAAG,CAAC;YACdC,IAAI,EAAE,wBAAwB;YAC9BL,IAAI,EAAE,OAAO;YACbM,KAAK,EAAE;UACX,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;IACV;EACJ,CAAC;AACL;AAEA,SAAS1B,8BAA8BA,CAACP,IAAY,EAA4B;EAC5E,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAAA,IAAAgC,qBAAA;IAC3B,IAAMC,KAAK,GAAGjC,QAAQ,CAAC,CAAC;IAExB,IAAMkC,OAAO,GAAG,IAAAC,sCAAuB,EAACF,KAAK,CAAC;IAC9C,IAAMG,aAA4C,GAAGF,OAAO,GACtD,IAAIG,GAAG,CAAC,CAAC,IAAAL,qBAAA,GACT,IAAAM,mDAAoC,EAACL,KAAK,CAAC,CAACnC,IAAI,CAAC,cAAAkC,qBAAA,cAAAA,qBAAA,GAAI,IAAIK,GAAG,CAAC,CAAC;IACpE,IAAME,iBAAgC,OAAAC,2BAAA,EAAOJ,aAAa,CAACK,IAAI,CAAC,CAAC,CAAC;IAElE,IAAMC,uBAAsC,OAAAF,2BAAA,EAAOD,iBAAiB,CAAC;IAErE,IAAMI,kBAA0C,GAAG,EAAE;IACrD,IAAIT,OAAO,EAAE;MACTS,kBAAkB,CAACC,IAAI,CACnB,IAAAC,cAAO,iDAAA/B,MAAA,CAC4ChB,IAAI,gCACvD,CACJ,CAAC;IACL,CAAC,MAAM;MACH,IAAMgD,MAAM,kDAAAhC,MAAA,CAAkDhB,IAAI,wBAAqB;MACvF4C,uBAAuB,CAACK,OAAO,CAAC,UAACC,IAAI,EAAK;QACtCL,kBAAkB,CAACC,IAAI,CAAC,IAAAC,cAAO,KAAA/B,MAAA,CAAIgC,MAAM,OAAAhC,MAAA,CAAIkC,IAAI,CAAE,CAAC,CAAC;MACzD,CAAC,CAAC;IACN;IAEA,IAAMC,YAAY,GAAGf,OAAO,IAAI,CAAC,IAAAgB,4CAAmC,EAACjB,KAAK,CAAC;IAC3E,IAAMkB,aAAqC,GAAG,EAAE;IAChD,IAAMC,qBAA6C,GAAG,EAAE;IACxD,IAAMC,wBAAgD,GAAG,EAAE;IAE3D,IAAMC,kBAAiC,GACnC,CAAC,CAAC,KAAKf,iBAAiB,CAACgB,OAAO,CAACnD,0BAAc,CAAC,GAC1CmC,iBAAiB,IAChBnC,0BAAc,EAAAU,MAAA,KAAA0B,2BAAA,EAAKD,iBAAiB,EAAC;IAEhD,IAAIU,YAAY,EAAE;MACdE,aAAa,CAACP,IAAI,CACd,IAAAC,cAAO,iDAAA/B,MAAA,CAAgDhB,IAAI,aAAU;QACjEiB,MAAM,EAAE/B;MACZ,CAAC,CACL,CAAC;MACDqE,wBAAwB,CAACT,IAAI,CACzB,IAAAC,cAAO,sBAAA/B,MAAA,CAAqBhB,IAAI,GAAI;QAAC0D,UAAU,EAAEvE;MAAmB,CAAC,CACzE,CAAC;IACL,CAAC,MAAM;MACHqE,kBAAkB,CAACP,OAAO,CAAC,UAAC9C,IAAI,EAAK;QAAA,IAAAwD,kBAAA;QACjCN,aAAa,CAACP,IAAI,CACd,IAAAC,cAAO,iDAAA/B,MAAA,CAAgDhB,IAAI,aAAAgB,MAAA,CAAUb,IAAI,GAAI;UACzEc,MAAM,EAAE/B;QACZ,CAAC,CACL,CAAC;QACDoE,qBAAqB,CAACR,IAAI,CACtB,IAAAC,cAAO,iDAAA/B,MAAA,CAC4ChB,IAAI,2BAAAgB,MAAA,CAAwBb,IAAI,GAC/E;UACIc,MAAM,EAAE/B;QACZ,CACJ,CACJ,CAAC;QACD,IAAA0E,KAAA,IAAAD,kBAAA,GAAsCrB,aAAa,CAACrE,GAAG,CAACkC,IAAI,CAAC,cAAAwD,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAC;UAA5DE,cAAc,GAAAD,KAAA,CAAdC,cAAc;UAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW;QAClC,IAAMC,eAAe,GAAGF,cAAc,uBAAA7C,MAAA,CACZhB,IAAI,OAAAgB,MAAA,CAAI6C,cAAc,OAAA7C,MAAA,CAAIb,IAAI,wBAAAa,MAAA,CAC9BhB,IAAI,OAAAgB,MAAA,CAAIb,IAAI,CAAE;QACxC,IAAIA,IAAI,KAAKG,0BAAc,IAAI,CAACwD,WAAW,EAAE;UACzCP,wBAAwB,CAACT,IAAI,CACzB,IAAAkB,eAAQ,EACJ7D,IAAI,KAAKG,0BAAc,uBAAAU,MAAA,CAAuBhB,IAAI,IAAK+D,eAAe,EACtE;YACIL,UAAU,EAAEvE;UAChB,CACJ,CACJ,CAAC;QACL;MACJ,CAAC,CAAC;IACN;IAEAH,YAAY,CAACiF,iBAAiB,CAAC,CAAC;IAEhChE,QAAQ,CAAC;MAAC0B,IAAI,EAAEuC;IAAiC,CAAC,CAAC;IACnD,OAAOC,OAAO,CAACC,GAAG,CAAC,CACfvB,kBAAkB,CAACwB,MAAM,GACnB7D,qBAAS,CAACC,YAAY,CAACC,mBAAO,CAAC4D,+BAA+B,EAAE;MAC5DxD,UAAU,EAAE;QAACF,QAAQ,EAAEiC;MAAkB,CAAC;MAC1C0B,YAAY,EAAEvF,YAAY,CAACwF;IAC/B,CAAC,CAAC,GACFL,OAAO,CAACM,OAAO,CAAC,EAAE,CAAC,EACzBtB,YAAY,GACN3C,qBAAS,CAACC,YAAY,CAACC,mBAAO,CAACgE,sBAAsB,EAAE;MACnD5D,UAAU,EAAE;QAACF,QAAQ,EAAEyC;MAAa,CAAC;MACrCkB,YAAY,EAAEvF,YAAY,CAACwF;IAC/B,CAAC,CAAC,GACFhE,qBAAS,CAACC,YAAY,CAACC,mBAAO,CAACiE,0BAA0B,EAAE;MACvD7D,UAAU,EAAE;QAACF,QAAQ,EAAEyC;MAAa,CAAC;MACrCkB,YAAY,EAAEvF,YAAY,CAACwF;IAC/B,CAAC,CAAC,EACRrB,YAAY,GACNgB,OAAO,CAACM,OAAO,CAAC,EAAE,CAAC,GACnBjE,qBAAS,CAACC,YAAY,CAACC,mBAAO,CAACkE,6BAA6B,EAAE;MAC1D9D,UAAU,EAAE;QAACF,QAAQ,EAAE0C;MAAqB,CAAC;MAC7CiB,YAAY,EAAEvF,YAAY,CAACwF;IAC/B,CAAC,CAAC,EACR,CAACjB,wBAAwB,CAACc,MAAM,GAC1BF,OAAO,CAACM,OAAO,CAAC,EAAE,CAAC,GACnBjE,qBAAS,CAACC,YAAY,CAACC,mBAAO,CAACmE,gCAAgC,EAAE;MAC7D/D,UAAU,EAAE;QAACF,QAAQ,EAAE2C;MAAwB,CAAC;MAChDgB,YAAY,EAAEvF,YAAY,CAACwF;IAC/B,CAAC,CAAC,CACX,CAAC,CACGtD,IAAI,CAAC,UAAA4D,KAAA,EAA+E;MAAA,IAAAC,mBAAA;MAAA,IAAAC,KAAA,OAAA3D,uBAAA,EAAAyD,KAAA;QAA7EG,iBAAiB,GAAAD,KAAA;QAAEE,YAAY,GAAAF,KAAA;QAAEG,oBAAoB,GAAAH,KAAA;QAAEI,gBAAgB,GAAAJ,KAAA;MAC3E,IAAMK,KAAc,GAAG;QAACC,OAAO,EAAE;MAA+B,CAAC;MACjE,IAAAC,kBAAA,GAA8B,IAAAC,wBAAiB,EAACP,iBAAiB,EAAEI,KAAK,CAAC;QAAzDI,UAAU,GAAAF,kBAAA,CAAnBG,OAAO;MACd,IAAMC,aAAa,GAAG,IAAAC,gBAAA,EAClBH,UAAU,EACV,UAACI,GAAG,EAAEhE,IAAI,EAAK;QACX,OAAOxD,MAAM,CAACyH,MAAM,CAACD,GAAG,EAAEhE,IAAI,CAAC;MACnC,CAAC,EACD,CAAC,CACL,CAAC;MAED,IAAMkE,QAAkC,GAAG,CAAC,CAAC;MAC7C,IAAMC,WAA4C,GAAG,CAAC,CAAC;MAEvD,IAAI7C,YAAY,EAAE;QACd,IAAA8C,mBAAA,GAAyB,IAAAT,wBAAiB,EACtCN,YAAY,EACZG,KACJ,CAAC;UAHea,KAAK,GAAAD,mBAAA,CAAdP,OAAO;QAId,IAAAS,KAAA,GAAqBD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;UAAAE,KAAA,OAAA/E,uBAAA,EAAA8E,KAAA;UAAAE,MAAA,GAAAD,KAAA;UAAzBE,KAAK,GAAAD,MAAA,cAAG,CAAC,CAAC,GAAAA,MAAA;QACjBhI,MAAM,CAACyH,MAAM,CAACC,QAAQ,EAAEO,KAAK,CAAC;QAE9B,IAAAC,mBAAA,GAEI,IAAAf,wBAAiB,EAACJ,gBAAgB,EAAEC,KAAK,CAAC;UAAAmB,qBAAA,OAAAnF,uBAAA,EAAAkF,mBAAA,CAD1Cb,OAAO;UAAG7D,IAAI,GAAA2E,qBAAA;QAElBnI,MAAM,CAACyH,MAAM,CAACE,WAAW,EAAE,IAAAS,8BAAiB,EAAC5E,IAAI,CAAC,CAAC;MACvD,CAAC,MAAM;QACH,IAAA6E,mBAAA,GAAwC,IAAAlB,wBAAiB,EACrDN,YAAY,EACZG,KACJ,CAAC;UAHesB,MAAK,GAAAD,mBAAA,CAAdhB,OAAO;UAASkB,aAAa,GAAAF,mBAAA,CAAbE,aAAa;QAIpCD,MAAK,CAAC1D,OAAO,CAAC,UAAC4D,QAAQ,EAAEC,KAAK,EAAK;UAC/B,IAAM9E,IAAI,GAAGwB,kBAAkB,CAACoD,aAAa,CAACE,KAAK,CAAC,CAAC;UACrDf,QAAQ,CAAC/D,IAAI,CAAC,GAAG6E,QAAQ;QAC7B,CAAC,CAAC;QAEF,IAAAE,mBAAA,GAAgC,IAAAvB,wBAAiB,EAC7CL,oBAAoB,EACpBE,KACJ,CAAC;UAHe2B,YAAY,GAAAD,mBAAA,CAArBrB,OAAO;QAIdsB,YAAY,CAAC/D,OAAO,CAAC,UAACgE,QAAQ,EAAK;UAC/B5I,MAAM,CAACyH,MAAM,CAACC,QAAQ,EAAEkB,QAAQ,CAAC;QACrC,CAAC,CAAC;QAEF,IAAAC,mBAAA,GAA8C,IAAA1B,wBAAiB,EAE7DJ,gBAAgB,EAAEC,KAAK,CAAC;UAFV8B,0BAA0B,GAAAD,mBAAA,CAAnCxB,OAAO;QAGdyB,0BAA0B,CAAClE,OAAO,CAAC,UAACmE,uBAAuB,EAAK;UAC5DA,uBAAuB,CAACnE,OAAO,CAAC,UAACC,IAAI,EAAK;YACtC8C,WAAW,CAAC9C,IAAI,CAACmE,MAAM,CAAC,GAAGnE,IAAI;UACnC,CAAC,CAAC;QACN,CAAC,CAAC;MACN;MAEAjD,QAAQ,CAAC;QACL0B,IAAI,EAAE2F,6CAAiC;QACvCzF,IAAI,EAAE;UACF0F,iBAAiB,EAAEvH,IAAI;UACvB2F,aAAa,EAAEtH,MAAM,CAACsE,IAAI,CAACgD,aAAa,CAAC,CAACtB,MAAM,GAC1CsB,aAAa,GACb6B,mBAAY;UAClBzB,QAAQ,EAAE1H,MAAM,CAACsE,IAAI,CAACoD,QAAQ,CAAC,CAAC1B,MAAM,GAAG0B,QAAQ,GAAGyB,mBAAY;UAChEC,kBAAkB,EAAEpJ,MAAM,CAACsE,IAAI,CAACqD,WAAW,CAAC,CAAC3B,MAAM,GAC7C2B,WAAW,GACXwB;QACV;MACJ,CAAC,CAAC;MAEF,KAAAzC,mBAAA,GAAIM,KAAK,CAACqC,YAAY,cAAA3C,mBAAA,eAAlBA,mBAAA,CAAoBV,MAAM,EAAE;QAC5B,MAAMgB,KAAK;MACf;IACJ,CAAC,CAAC,SACI,CAAC,UAACA,KAAK,EAAK;MACd,IAAI,CAAC,IAAAsC,yBAAW,EAACtC,KAAK,CAAC,EAAE;QACrBpF,QAAQ,CAAC;UACL0B,IAAI,EAAEiG,6CAAiC;UACvC/F,IAAI,EAAE;YAACwD,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAEO,SAASwC,eAAeA,CAACC,QAAgB,EAAEC,QAAiB,EAA4B;EAC3F,OAAO,UAAC9H,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMiC,KAAK,GAAGjC,QAAQ,CAAC,CAAC;IACxB,IAAMF,IAAI,GAAG,IAAAgI,oBAAO,EAAC9H,QAAQ,CAAC,CAAC,CAAC;IAChC,IAAMoC,aAAa,GAAG,IAAAE,mDAAoC,EAACL,KAAK,CAAC;IAEjE,IAAM8F,WAAW,GAAG,IAAAC,4CAA2B,EAAC/F,KAAK,CAAC;IAEtD,IAAMgG,iBAAiB,GAAG,IAAI5F,GAAG,CAACD,aAAa,CAACtC,IAAI,CAAC,CAAC;IACtD,IAAI+H,QAAQ,EAAE;MACV,IAAMK,gBAAgB,GAAGC,oBAAoB,CAACP,QAAQ,EAAEG,WAAW,CAAC;MACpEE,iBAAiB,CAACtJ,GAAG,CAACiJ,QAAQ,EAAEM,gBAAgB,CAAC;IACrD,CAAC,MAAM;MACHD,iBAAiB,UAAO,CAACL,QAAQ,CAAC;IACtC;IAEA7H,QAAQ,CAACqI,wBAAwB,CAACtI,IAAI,EAAEmI,iBAAiB,CAAC,CAAC;IAC3DlI,QAAQ,CAACF,iBAAiB,CAACC,IAAI,CAAC,CAAC;EACrC,CAAC;AACL;AAEA,SAAS0B,gCAAgCA,CACrC1B,IAAY;AACZ;AACJ;AACA;AACIuI,QAAgB,EAChBzE,WAAqB,EACG;EACxB,OAAO,UAAC7D,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMiC,KAAK,GAAGjC,QAAQ,CAAC,CAAC;IACxB,IAAMsI,gBAAgB,GAAG,IAAAhG,mDAAoC,EAACL,KAAK,CAAC;IACpE,IAAMgG,iBAAiB,GAAG,IAAI5F,GAAG,CAACiG,gBAAgB,CAACxI,IAAI,CAAC,CAAC;;IAEzD;AACR;AACA;AACA;IACQ,IAAMyI,KAAK,GAAGF,QAAQ,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;IAE1C,KAAK,IAAI/J,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6J,KAAK,CAACpE,MAAM,EAAE,EAAEzF,CAAC,EAAE;MACnC,IAAMkJ,QAAQ,GAAGW,KAAK,CAAC7J,CAAC,CAAC;MACzB,IAAMiF,cAAc,GAAG4E,KAAK,CAACE,KAAK,CAAC,CAAC,EAAE/J,CAAC,CAAC,CAACgK,IAAI,CAAC,GAAG,CAAC;MAClDT,iBAAiB,CAACtJ,GAAG,CAACiJ,QAAQ,EAAE;QAACjE,cAAc,EAAdA,cAAc;QAAEC,WAAW,EAAXA;MAAW,CAAC,CAAC;IAClE;IAEA7D,QAAQ,CAACqI,wBAAwB,CAACtI,IAAI,EAAEmI,iBAAiB,CAAC,CAAC;EAC/D,CAAC;AACL;AAEA,SAASG,wBAAwBA,CAC7BtI,IAAY,EACZmI,iBAAgD,EACxB;EACxB,OAAO,UAAClI,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMsI,gBAAgB,GAAG,IAAAhG,mDAAoC,EAACtC,QAAQ,CAAC,CAAC,CAAC;IAEzE,IAAMoC,aAAa,OAAAuG,sBAAA,MAAAA,sBAAA,MACZL,gBAAgB,WAAAM,wBAAA,MAClB9I,IAAI,EAAGmI,iBAAiB,EAC5B;IAEDlI,QAAQ,CAAC;MACL0B,IAAI,EAAEoH,+CAAmC;MACzClH,IAAI,EAAE;QAACS,aAAa,EAAbA;MAAa;IACxB,CAAC,CAAC;EACN,CAAC;AACL;AAEO,SAAS0G,kBAAkBA,CAAChJ,IAAY,EAA4B;EACvE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAI,CAACF,IAAI,EAAE;MACP;IACJ;IAEA,IAAMmC,KAAK,GAAGjC,QAAQ,CAAC,CAAC;IACxB,IAAA+I,sBAAA,GAA+B,IAAAzG,mDAAoC,EAACL,KAAK,CAAC;MAA3D+G,GAAG,GAAAD,sBAAA,CAAVjJ,IAAI;MAAWmJ,IAAI,OAAAC,iCAAA,EAAAH,sBAAA,GAAnBjJ,IAAI,EAAAqJ,GAAA,CAAAC,uBAAA;IAEZ,IAAIJ,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEK,IAAI,EAAE;MACXtJ,QAAQ,CAAC;QACL0B,IAAI,EAAEoH,+CAAmC;QACzClH,IAAI,EAAE;UACFS,aAAa,MAAAuG,sBAAA,MAAAA,sBAAA,MACNM,IAAI,WAAAL,wBAAA,MACN9I,IAAI,EAAG,IAAIuC,GAAG,CAA2B,CAAC;QAEnD;MACJ,CAAC,CAAC;IACN;EACJ,CAAC;AACL;AAEO,SAASiH,4BAA4BA,CAAA,EAA6C;EACrF,OAAO,UAACC,SAAS,EAAEvJ,QAAQ,EAAK;IAC5B,IAAMiC,KAAK,GAAGjC,QAAQ,CAAC,CAAC;IAExB,IAAMF,IAAI,GAAG,IAAAkI,4CAA2B,EAAC/F,KAAK,CAAC;IAC/C,IAAMuH,IAAI,GAAG1J,IAAI,CAACM,0BAAc,CAAC;IACjC,OAAO,CAAAoJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,cAAc,KAAI,CAAC;EACpC,CAAC;AACL;AAEO,SAASC,kBAAkBA,CAC9B9B,QAAgB,EAC4D;EAC5E,OAAO,UAAC2B,SAAS,EAAEvJ,QAAQ,EAAK;IAC5B,IAAMiC,KAAK,GAAGjC,QAAQ,CAAC,CAAC;IACxB,IAAMgG,KAAK,GAAG,IAAA2D,qBAAQ,EAAC1H,KAAK,CAAC;IAC7B,IAAMnC,IAAI,GAAG,IAAAgI,oBAAO,EAAC7F,KAAK,CAAC;IAE3B,OAAO;MACHoG,QAAQ,EAAE,IAAAuB,8BAAiB,EAAChC,QAAQ,EAAE5B,KAAK,EAAElG,IAAI,CAAC;MAClD+J,UAAU,iDAAA/I,MAAA,CAAiDhB,IAAI,6BAAAgB,MAAA,CAA0B8G,QAAQ;IACrG,CAAC;EACL,CAAC;AACL;AAEO,SAASkC,oBAAoBA,CAAC5H,OAAgB,EAA4B;EAC7E,OAAO,UAACnC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMiC,KAAK,GAAGjC,QAAQ,CAAC,CAAC;IACxBD,QAAQ,CAAC;MACL0B,IAAI,EAAEoH,+CAAmC;MACzClH,IAAI,EAAE;QAACO,OAAO,EAAPA;MAAO;IAClB,CAAC,CAAC;IAEF,IAAMpC,IAAI,GAAG,IAAAgI,oBAAO,EAAC7F,KAAK,CAAC;IAC3BlC,QAAQ,CAACF,iBAAiB,CAACC,IAAI,CAAC,CAAC;EACrC,CAAC;AACL;AAEA,SAASqI,oBAAoBA,CACzBP,QAAgB,EAChBG,WAAqC,EACrB;EAAA,IAAAgC,KAAA;EAChB,IAAIpI,IAAI,GAAGoG,WAAW,CAACH,QAAQ,CAAC;EAChC,IAAMhE,WAAW,IAAAmG,KAAA,GAAGpI,IAAI,cAAAoI,KAAA,uBAAJA,KAAA,CAAMnG,WAAW;EACrC,IAAIoG,GAAG,GAAG,EAAE;EACZ,OAAO,CAAAC,MAAA,GAAAtI,IAAI,cAAAsI,MAAA,eAAJA,MAAA,CAAMC,MAAM,IAAIvI,IAAI,CAACuI,MAAM,KAAK9J,0BAAc,EAAE;IAAA,IAAA6J,MAAA;IACnDD,GAAG,GAAGA,GAAG,MAAAlJ,MAAA,CAAMa,IAAI,CAACuI,MAAM,OAAApJ,MAAA,CAAIkJ,GAAG,IAAKrI,IAAI,CAACuI,MAAM;IACjDvI,IAAI,GAAGoG,WAAW,CAACpG,IAAI,CAACuI,MAAM,CAAC;EACnC;EACA,OAAO;IAACvG,cAAc,EAAEqG,GAAG;IAAEpG,WAAW,EAAXA;EAAW,CAAC;AAC7C"}
1
+ {"version":3,"names":["_uikit","require","_rumWrapApi","_utils","_batch","_scheduling","_scheduling2","_expandedPools","_empty","_schedulingPools","_support","_cancelHelper","_interopRequireWildcard","_scheduling3","_uiError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_interopRequireDefault","obj","cancelHelper","CancelHelper","POOL_FIELDS_TO_LOAD","POOL_TREE_GET_ATTRS","EmptyFullPath","_Error","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","_wrapNativeSuper","Error","loadExpandedPools","tree","dispatch","getState","pool","getPool","undefined","ROOT_POOL_NAME","loadExpandedOperationsAndPools","ytApiV3Id","executeBatch","YTApiId","schedulingPoolFullPath","requests","command","parameters","path","concat","fields","then","_ref","_ref2","_slicedToArray","output","_ref3","full_path","is_ephemeral","addFullPathToExpandedPoolsNoLoad","type","CHANGE_POOL","data","Toaster","add","name","title","_getSchedulingOperati","state","loadAll","getExpandedPoolsLoadAll","expandedPools","Map","getSchedulingOperationsExpandedPools","expandedPoolNames","_toConsumableArray","keys","operationsExpandedPools","operationsRequests","push","makeGet","prefix","forEach","item","loadAllPools","isSupportedSchedulingChildrenByPool","poolsRequests","poolsChildrenRequests","poolsCypressDataRequests","poolsExpandedPools","indexOf","attributes","_expandedPools$get","_ref4","parentPoolPath","isEphemeral","cypressDataPath","makeList","removeAllRequests","SCHEDULING_EXPANDED_POOLS_REQUEST","Promise","all","length","schedulingLoadOperationsPerPool","cancellation","saveCancelToken","resolve","schedulingLoadPoolsAll","schedulingLoadPoolsPerPool","schedulingLoadChildrenPerPool","schedulingLoadCypressDataPerPool","_ref5","_error$inner_errors","_ref6","operationsResults","poolsResults","poolsChildrenResults","poolsCypressData","error","UIBatchError","_splitBatchResults","splitBatchResults","operations","results","rawOperations","_reduce","acc","assign","rawPools","cypressData","_splitBatchResults2","pools","_ref7","_ref8","_ref8$","value","_splitBatchResults3","_splitBatchResults3$r","flattenAttributes","_splitBatchResults4","_pools","resultIndices","poolInfo","index","_splitBatchResults5","poolChildren","children","_splitBatchResults6","cypressDataChildrenPerPool","poolChildrenCypressData","$value","SCHEDULING_EXPANDED_POOLS_SUCCESS","expandedPoolsTree","EMPTY_OBJECT","flattenCypressData","inner_errors","isCancelled","SCHEDULING_EXPANDED_POOLS_FAILURE","setExpandedPool","poolName","expanded","getTree","poolsByName","getSchedulingPoolsMapByName","treeExpandedPools","expandedPoolInfo","calcExpandedPoolInfo","updateExpandedPoolNoLoad","fullPath","oldExpandedPools","parts","split","slice","join","_objectSpread","_defineProperty","SCHEDULING_EXPANDED_POOLS_PARTITION","resetExpandedPools","_getSchedulingOperati2","old","rest","_objectWithoutProperties","map","_toPropertyKey","size","getSchedulingOperationsCount","_dispatch","root","operationCount","getPoolPathsByName","getPools","calculatePoolPath","orchidPath","setLoadAllOperations","_data","res","_data2","parent"],"sources":["expanded-pools.tsx"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport _ from 'lodash';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {\n ExpandedPoolInfo,\n ExpandedPoolsAction,\n PoolCypressData,\n} from '../../reducers/scheduling/expanded-pools';\n\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {\n CHANGE_POOL,\n ROOT_POOL_NAME,\n SCHEDULING_EXPANDED_POOLS_FAILURE,\n SCHEDULING_EXPANDED_POOLS_PARTITION,\n SCHEDULING_EXPANDED_POOLS_REQUEST,\n SCHEDULING_EXPANDED_POOLS_SUCCESS,\n} from '../../../constants/scheduling';\nimport {calculatePoolPath, getPool, getPools, getTree} from '../../selectors/scheduling/scheduling';\nimport {\n getExpandedPoolsLoadAll,\n getSchedulingOperationsExpandedPools,\n} from '../../selectors/scheduling/expanded-pools';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\nimport {PoolInfo, getSchedulingPoolsMapByName} from '../../selectors/scheduling/scheduling-pools';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\nimport {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport {isSupportedSchedulingChildrenByPool} from '../../../store/selectors/thor/support';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {flattenAttributes} from '../../../utils/scheduling/scheduling';\nimport {UIBatchError} from '../../../utils/errors/ui-error';\n\ntype ExpandedPoolsThunkAction = ThunkAction<\n any,\n RootState,\n any,\n ExpandedPoolsAction | SchedulingAction\n>;\n\nconst cancelHelper = new CancelHelper();\n\nconst POOL_FIELDS_TO_LOAD = [\n 'accumulated_resource_ratio_volume',\n 'accumulated_resource_volume',\n 'demand_ratio',\n 'detailed_fair_share',\n 'dominant_resource',\n 'estimated_burst_usage_duration_sec',\n 'fair_share_ratio',\n 'fifo_index',\n 'integral_guarantee_type',\n 'is_ephemeral',\n 'max_operation_count',\n 'max_running_operation_count',\n 'max_share_ratio',\n 'min_share_ratio',\n 'mode',\n 'operation_count',\n 'parent',\n 'pool_operation_count',\n 'child_pool_count',\n 'resource_demand',\n 'resource_limits',\n 'resource_usage',\n 'promised_fair_share_resources',\n 'running_operation_count',\n 'specified_burst_guarantee_resources',\n 'specified_resource_flow',\n 'starvation_status',\n 'starving',\n 'strong_guarantee_resources',\n 'usage_ratio',\n 'weight',\n 'abc',\n];\n\nconst POOL_TREE_GET_ATTRS = [\n 'integral_guarantees',\n 'weight',\n 'max_operation_count',\n 'max_running_operation_count',\n 'strong_guarantee_resources',\n 'resource_limits',\n 'forbid_immediate_operations',\n 'create_ephemeral_subpools',\n 'fifo_sort_parameters',\n 'config',\n 'folder_id',\n];\n\nclass EmptyFullPath extends Error {}\n\nexport function loadExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const pool = getPool(getState());\n\n if (!tree) {\n return undefined;\n }\n\n if (pool === ROOT_POOL_NAME) {\n return dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n return ytApiV3Id\n .executeBatch<{full_path: string; is_ephemeral?: boolean}>(\n YTApiId.schedulingPoolFullPath,\n {\n requests: [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`,\n fields: ['is_ephemeral', 'full_path'],\n },\n },\n ],\n },\n )\n .then(([{output}]) => {\n const {full_path, is_ephemeral} = output ?? {};\n if (!full_path) {\n throw new EmptyFullPath();\n } else {\n dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));\n dispatch(loadExpandedOperationsAndPools(tree));\n }\n })\n .catch((e) => {\n if (e instanceof EmptyFullPath) {\n dispatch({type: CHANGE_POOL, data: {pool: ROOT_POOL_NAME}});\n /**\n * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.\n * The call will be triggered by SchedulingExpandedPoolsUpdater.\n */\n // dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n new Toaster().add({\n name: 'schedulingPoolFullPath',\n type: 'error',\n title: '',\n });\n }\n });\n }\n };\n}\n\nfunction loadExpandedOperationsAndPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const loadAll = getExpandedPoolsLoadAll(state);\n const expandedPools: Map<string, ExpandedPoolInfo> = loadAll\n ? new Map()\n : getSchedulingOperationsExpandedPools(state)[tree] ?? new Map();\n const expandedPoolNames: Array<string> = [...expandedPools.keys()];\n\n const operationsExpandedPools: Array<string> = [...expandedPoolNames];\n\n const operationsRequests: Array<BatchSubRequest> = [];\n if (loadAll) {\n operationsRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/operations`,\n ),\n );\n } else {\n const prefix = `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/operations_by_pool`;\n operationsExpandedPools.forEach((item) => {\n operationsRequests.push(makeGet(`${prefix}/${item}`));\n });\n }\n\n const loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);\n const poolsRequests: Array<BatchSubRequest> = [];\n const poolsChildrenRequests: Array<BatchSubRequest> = [];\n const poolsCypressDataRequests: Array<BatchSubRequest> = [];\n\n const poolsExpandedPools: Array<string> =\n -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME)\n ? expandedPoolNames\n : [ROOT_POOL_NAME, ...expandedPoolNames];\n\n if (loadAllPools) {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsCypressDataRequests.push(\n makeGet(`//sys/pool_trees/${tree}`, {attributes: POOL_TREE_GET_ATTRS}),\n );\n } else {\n poolsExpandedPools.forEach((pool) => {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsChildrenRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/child_pools_by_pool/${pool}`,\n {\n fields: POOL_FIELDS_TO_LOAD,\n },\n ),\n );\n const {parentPoolPath, isEphemeral} = expandedPools.get(pool) ?? {};\n const cypressDataPath = parentPoolPath\n ? `//sys/pool_trees/${tree}/${parentPoolPath}/${pool}`\n : `//sys/pool_trees/${tree}/${pool}`;\n if (pool === ROOT_POOL_NAME || !isEphemeral) {\n poolsCypressDataRequests.push(\n makeList(\n pool === ROOT_POOL_NAME ? `//sys/pool_trees/${tree}` : cypressDataPath,\n {\n attributes: POOL_TREE_GET_ATTRS,\n },\n ),\n );\n }\n });\n }\n\n cancelHelper.removeAllRequests();\n\n dispatch({type: SCHEDULING_EXPANDED_POOLS_REQUEST});\n return Promise.all([\n operationsRequests.length\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {\n parameters: {requests: operationsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : Promise.resolve([]),\n loadAllPools\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n loadAllPools\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {\n parameters: {requests: poolsChildrenRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n !poolsCypressDataRequests.length\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {\n parameters: {requests: poolsCypressDataRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n ])\n .then(([operationsResults, poolsResults, poolsChildrenResults, poolsCypressData]) => {\n const error = new UIBatchError('Failed to load expanded pools');\n const {results: operations} = splitBatchResults(operationsResults, error);\n const rawOperations = _.reduce(\n operations,\n (acc, data) => {\n return Object.assign(acc, data);\n },\n {},\n );\n\n const rawPools: Record<string, PoolInfo> = {};\n const cypressData: Record<string, PoolCypressData> = {};\n\n if (loadAllPools) {\n const {results: pools} = splitBatchResults<Record<string, PoolInfo>>(\n poolsResults,\n error,\n );\n const [value = {}] = pools ?? [];\n Object.assign(rawPools, value);\n\n const {\n results: [data],\n } = splitBatchResults(poolsCypressData, error);\n Object.assign(cypressData, flattenAttributes(data));\n } else {\n const {results: pools, resultIndices} = splitBatchResults<PoolInfo>(\n poolsResults,\n error,\n );\n pools.forEach((poolInfo, index) => {\n const name = poolsExpandedPools[resultIndices[index]];\n rawPools[name] = poolInfo;\n });\n\n const {results: poolChildren} = splitBatchResults<Record<string, PoolInfo>>(\n poolsChildrenResults,\n error,\n );\n poolChildren.forEach((children) => {\n Object.assign(rawPools, children);\n });\n\n const {results: cypressDataChildrenPerPool} = splitBatchResults<\n Array<PoolCypressData>\n >(poolsCypressData, error);\n cypressDataChildrenPerPool.forEach((poolChildrenCypressData) => {\n poolChildrenCypressData.forEach((item) => {\n cypressData[item.$value] = item;\n });\n });\n }\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_SUCCESS,\n data: {\n expandedPoolsTree: tree,\n rawOperations: Object.keys(rawOperations).length\n ? rawOperations\n : EMPTY_OBJECT,\n rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,\n flattenCypressData: Object.keys(cypressData).length\n ? cypressData\n : EMPTY_OBJECT,\n },\n });\n\n if (error.inner_errors?.length) {\n throw error;\n }\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const tree = getTree(getState());\n const expandedPools = getSchedulingOperationsExpandedPools(state);\n\n const poolsByName = getSchedulingPoolsMapByName(state);\n\n const treeExpandedPools = new Map(expandedPools[tree]);\n if (expanded) {\n const expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);\n treeExpandedPools.set(poolName, expandedPoolInfo);\n } else {\n treeExpandedPools.delete(poolName);\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction addFullPathToExpandedPoolsNoLoad(\n tree: string,\n /**\n * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`\n */\n fullPath: string,\n isEphemeral?: boolean,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldExpandedPools = getSchedulingOperationsExpandedPools(state);\n const treeExpandedPools = new Map(oldExpandedPools[tree]);\n\n /**\n * `fullPath` value starts from `/`, example: `/mypool/child/subchild`\n * so we have to use `.slice(1)` to remove first empty string\n */\n const parts = fullPath.split('/').slice(1);\n\n for (let i = 0; i < parts.length; ++i) {\n const poolName = parts[i];\n const parentPoolPath = parts.slice(0, i).join('/');\n treeExpandedPools.set(poolName, {parentPoolPath, isEphemeral});\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n };\n}\n\nfunction updateExpandedPoolNoLoad(\n tree: string,\n treeExpandedPools: Map<string, ExpandedPoolInfo>,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const oldExpandedPools = getSchedulingOperationsExpandedPools(getState());\n\n const expandedPools = {\n ...oldExpandedPools,\n [tree]: treeExpandedPools,\n };\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {expandedPools},\n });\n };\n}\n\nexport function resetExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n if (!tree) {\n return;\n }\n\n const state = getState();\n const {[tree]: old, ...rest} = getSchedulingOperationsExpandedPools(state);\n\n if (old?.size) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {\n expandedPools: {\n ...rest,\n [tree]: new Map<string, ExpandedPoolInfo>(),\n },\n },\n });\n }\n };\n}\n\nexport function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any> {\n return (_dispatch, getState) => {\n const state = getState();\n\n const tree = getSchedulingPoolsMapByName(state);\n const root = tree[ROOT_POOL_NAME];\n return root?.operationCount || 0;\n };\n}\n\nexport function getPoolPathsByName(\n poolName: string,\n): ThunkAction<{fullPath: string; orchidPath: string}, RootState, unknown, any> {\n return (_dispatch, getState) => {\n const state = getState();\n const pools = getPools(state);\n const tree = getTree(state);\n\n return {\n fullPath: calculatePoolPath(poolName, pools, tree),\n orchidPath: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${poolName}`,\n };\n };\n}\n\nexport function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {loadAll},\n });\n\n const tree = getTree(state);\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction calcExpandedPoolInfo(\n poolName: string,\n poolsByName: Record<string, PoolInfo>,\n): ExpandedPoolInfo {\n let data = poolsByName[poolName];\n const isEphemeral = data?.isEphemeral;\n let res = '';\n while (data?.parent && data.parent !== ROOT_POOL_NAME) {\n res = res ? `${data.parent}/${res}` : data.parent;\n data = poolsByName[data.parent];\n }\n return {parentPoolPath: res, isEphemeral};\n}\n"],"mappings":"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"}
@@ -53,7 +53,7 @@ function loadSchedulingData() {
53
53
  return rumId.fetch(_rumWrapApi.YTApiId.schedulingData, _rumWrapApi.ytApiV3Id.executeBatch(_rumWrapApi.YTApiId.schedulingData, (0, _objectSpread2.default)({
54
54
  requests: [(0, _batch.makeGet)('//sys/scheduler/@alerts'), (0, _batch.makeList)('//sys/scheduler/orchid/scheduler/pool_trees'), (0, _batch.makeGet)('//sys/scheduler/orchid/scheduler/default_fair_share_tree')]
55
55
  }, _ytApi.USE_CACHE))).then(function (data) {
56
- var _splitBatchResults = (0, _utils.splitBatchResults)(data),
56
+ var _splitBatchResults = (0, _utils.splitBatchResults)(data, 'Failed to fetch scheduling data'),
57
57
  error = _splitBatchResults.error,
58
58
  _splitBatchResults$re = (0, _slicedToArray2.default)(_splitBatchResults.results, 3),
59
59
  schedulerAlerts = _splitBatchResults$re[0],
@@ -87,7 +87,7 @@ function loadSchedulingData() {
87
87
  requests: treeRequests
88
88
  }, _ytApi.USE_CACHE))).then(function (treeData) {
89
89
  var extracted = (0, _utils.extractBatchV4Values)(treeData, treeRequests);
90
- var _splitBatchResults2 = (0, _utils.splitBatchResults)(extracted.results),
90
+ var _splitBatchResults2 = (0, _utils.splitBatchResults)(extracted.results, 'Failed to fetch tree details'),
91
91
  error = _splitBatchResults2.error,
92
92
  results = _splitBatchResults2.results;
93
93
  if (error) {
@@ -266,7 +266,7 @@ function transferPoolQuota(_ref4) {
266
266
  return _rumWrapApi.ytApiV4Id.executeBatch(_rumWrapApi.YTApiId.schedulingTransferPoolQuota, {
267
267
  requests: requests
268
268
  }).then(function (res) {
269
- var err = (0, _utils.getBatchError)(res.results);
269
+ var err = (0, _utils.getBatchError)(res.results, 'Failed to transfer pool quota');
270
270
  if (err) {
271
271
  return Promise.reject(err);
272
272
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_scheduling","require","_utils","_batch","_cypressAttributes","_uikit","_yt","_interopRequireDefault","_scheduling2","_scheduling3","_expandedPools","_rumWrapApi","_global","_rumMeasureTypes","_attributesToFilter","_ytApi","obj","__esModule","default","toaster","Toaster","loadSchedulingData","dispatch","getState","type","SCHEDULING_DATA_REQUEST","state","isInitialLoading","getSchedulingIsInitialLoading","schedulingOverviewHasFilter","schedulingLoadFilterAttributes","cluster","getCluster","rumId","RumWrapper","RumMeasureTypes","SCHEDULING","fetch","YTApiId","schedulingData","ytApiV3Id","executeBatch","_objectSpread","requests","makeGet","makeList","USE_CACHE","then","data","_splitBatchResults","splitBatchResults","error","_splitBatchResults$re","_slicedToArray","results","schedulerAlerts","rawTrees","defaultTree","Promise","reject","trees","prepareTrees","tree","prepareCurrentTree","scheduling","SCHEDULING_DATA_PARTITION","treeRequests","concat","loadExpandedPools","schedulingLoadTree","ytApiV4Id","treeData","extracted","extractBatchV4Values","_splitBatchResults2","_ref","_ref2","resource_usage","resource_limits","config","resource_distribution_info","treeResources","SCHEDULING_DATA_SUCCESS","code","yt","codes","CANCELLED","SCHEDULING_DATA_FAILURE","deletePool","item","getTree","pools","getPools","path","computePoolPath","SCHEDULING_DELETE_POOL_REQUEST","v3","remove","add","name","autoHiding","title","SCHEDULING_DELETE_POOL_SUCCESS","closePoolDeleteModal","setTimeout","SCHEDULING_DELETE_POOL_FAILURE","openPoolDeleteModal","POOL_TOGGLE_DELETE_VISIBILITY","visibility","undefined","setPoolAttributes","params","poolPath","values","initials","_isEmpty","resolve","transferData","toModify","guaranteeType","restValues","_objectWithoutProperties","_excluded","_forEach","v","k","_ref3","limit","source","key","attr","POOL_RESOURCE_TYPE_TO_ATTRIBUTE","push","value","_initials$key","prevLimit","diff","Object","hasOwnProperty","call","updateNodeAttributes","transferPoolQuota","_ref4","tmp","split","dstPool","length","_map","transferPath","startsWith","INTEGRAL_GUARANTEES_PREFIX","substr","dotPath","replace","delta","_update","Math","abs","command","parameters","source_pool","destination_pool","pool_tree","resource_delta","schedulingTransferPoolQuota","res","err","getBatchError","lastTime","getSchedulingAttributesToFilterTime","Date","now","wrapApiPromiseByToaster","get","schedulingFilterAttributes","fields","skipSuccessToast","toasterName","errorContent","attributesToFilter","attributesToFilterTime","schedulingSetFilter","filter","schedulingSetAbcFilter","abcServiceFilter"],"sources":["scheduling-ts.ts"],"sourcesContent":["import _ from 'lodash';\nimport {\n INTEGRAL_GUARANTEES_PREFIX,\n InitialPoolResourceInfo,\n POOL_RESOURCE_TYPE_TO_ATTRIBUTE,\n PoolResourceType,\n computePoolPath,\n prepareCurrentTree,\n prepareTrees,\n} from '../../../utils/scheduling/scheduling';\nimport {\n extractBatchV4Values,\n getBatchError,\n splitBatchResults,\n wrapApiPromiseByToaster,\n} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {updateNodeAttributes} from '../../../utils/cypress-attributes';\n\nimport {ThunkAction} from 'redux-thunk';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\n// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n getPools,\n getSchedulingIsInitialLoading,\n getTree,\n} from '../../../store/selectors/scheduling/scheduling';\n\nimport {\n POOL_TOGGLE_DELETE_VISIBILITY,\n SCHEDULING_DATA_FAILURE,\n SCHEDULING_DATA_PARTITION,\n SCHEDULING_DATA_REQUEST,\n SCHEDULING_DATA_SUCCESS,\n SCHEDULING_DELETE_POOL_FAILURE,\n SCHEDULING_DELETE_POOL_REQUEST,\n SCHEDULING_DELETE_POOL_SUCCESS,\n} from '../../../constants/scheduling';\nimport {loadExpandedPools} from './expanded-pools';\nimport {RumWrapper, YTApiId, ytApiV3Id, ytApiV4Id} from '../../../rum/rum-wrap-api';\nimport {getCluster} from '../../../store/selectors/global';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\nimport type {RootState} from '../../../store/reducers';\nimport type {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport type {PoolInfo} from '../../../store/selectors/scheduling/scheduling-pools';\nimport {\n getSchedulingAttributesToFilterTime,\n schedulingOverviewHasFilter,\n} from '../../../store/selectors/scheduling/attributes-to-filter';\nimport {USE_CACHE} from '../../../../shared/constants/yt-api';\n\nconst toaster = new Toaster();\n\ntype SchedulingThunkAction<T = unknown> = ThunkAction<T, RootState, unknown, SchedulingAction>;\n\nexport function loadSchedulingData(): SchedulingThunkAction {\n return (dispatch, getState) => {\n dispatch({type: SCHEDULING_DATA_REQUEST});\n\n const state = getState();\n const isInitialLoading = getSchedulingIsInitialLoading(state);\n\n if (isInitialLoading && schedulingOverviewHasFilter(state)) {\n dispatch(schedulingLoadFilterAttributes());\n }\n\n const cluster = getCluster(state);\n const rumId = new RumWrapper(cluster, RumMeasureTypes.SCHEDULING);\n return rumId\n .fetch(\n YTApiId.schedulingData,\n ytApiV3Id.executeBatch(YTApiId.schedulingData, {\n requests: [\n makeGet('//sys/scheduler/@alerts'),\n makeList('//sys/scheduler/orchid/scheduler/pool_trees'),\n makeGet('//sys/scheduler/orchid/scheduler/default_fair_share_tree'),\n ],\n ...USE_CACHE,\n }),\n )\n .then((data) => {\n const {\n error,\n results: [schedulerAlerts, rawTrees, defaultTree],\n } = splitBatchResults(data);\n\n if (error) {\n return Promise.reject(error);\n }\n\n const state = getState();\n\n const trees = prepareTrees(rawTrees);\n const tree = prepareCurrentTree(\n defaultTree,\n trees,\n state.scheduling.scheduling.tree,\n );\n\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {schedulerAlerts, trees, tree},\n });\n\n const treeRequests = [\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_usage`),\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_limits`),\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/config`),\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_distribution_info`,\n ),\n ];\n\n if (isInitialLoading) {\n /**\n * We don't need to call `dispatch(loadExpandedPools(tree))` for this branch of code,\n * the call should be triggered by SchedulingExpandedPoolsUpdater\n */\n //dispatch(loadExpandedPools(tree));\n } else {\n dispatch(loadExpandedPools(tree));\n }\n\n return rumId\n .fetch(\n YTApiId.schedulingLoadTree,\n ytApiV4Id.executeBatch(YTApiId.schedulingLoadTree, {\n requests: treeRequests,\n ...USE_CACHE,\n }),\n )\n .then((treeData) => {\n const extracted = extractBatchV4Values(treeData, treeRequests);\n const {error, results} = splitBatchResults(extracted.results);\n if (error) {\n throw error;\n }\n return results;\n });\n })\n .then(([resource_usage, resource_limits, config, resource_distribution_info]) => {\n const treeResources = {\n resource_usage,\n resource_limits,\n config,\n resource_distribution_info,\n };\n\n dispatch({\n type: SCHEDULING_DATA_SUCCESS,\n data: {\n treeResources,\n },\n });\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SCHEDULING_DATA_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function deletePool(item?: PoolInfo): SchedulingThunkAction {\n return (dispatch, getState) => {\n if (!item) {\n return;\n }\n\n const state = getState();\n\n const tree = getTree(state);\n const pools = getPools(state);\n const path = computePoolPath(item, pools);\n\n dispatch({type: SCHEDULING_DELETE_POOL_REQUEST});\n\n return yt.v3\n .remove({\n path: `//sys/pool_trees/${tree}/${path}`,\n })\n .then(() => {\n toaster.add({\n name: 'delete pool',\n autoHiding: 10000,\n type: 'success',\n title: `Successfully deleted ${item.name}. Please wait.`,\n });\n\n dispatch({type: SCHEDULING_DELETE_POOL_SUCCESS});\n dispatch(closePoolDeleteModal());\n setTimeout(() => dispatch(loadSchedulingData()), 3000);\n })\n .catch((error: any) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SCHEDULING_DELETE_POOL_FAILURE,\n data: {error},\n });\n\n return Promise.reject();\n }\n return null;\n });\n };\n}\n\nexport function openPoolDeleteModal(item: PoolInfo): SchedulingAction {\n return {\n type: POOL_TOGGLE_DELETE_VISIBILITY,\n data: {\n visibility: true,\n item,\n },\n };\n}\n\nexport function closePoolDeleteModal(): SchedulingAction {\n return {\n type: POOL_TOGGLE_DELETE_VISIBILITY,\n data: {\n visibility: false,\n item: undefined,\n },\n };\n}\n\ntype PoolResources = Partial<\n Record<Exclude<PoolResourceType, 'guaranteeType'>, InitialPoolResourceInfo>\n>;\n\ninterface SetResourceGuaranteeParams {\n poolPath: string;\n values: PoolResources & {guaranteeType: string};\n initials: PoolResources;\n tree: string;\n}\n\nexport function setPoolAttributes(params: SetResourceGuaranteeParams) {\n const {poolPath, values, initials, tree} = params;\n if (_.isEmpty(values)) {\n return Promise.resolve();\n }\n\n const transferData: Array<{diff: number; source: string; path: string}> = [];\n const toModify: Array<{attr: string; value: any}> = [];\n\n const {guaranteeType, ...restValues} = values;\n\n _.forEach(restValues, (v, k) => {\n const {limit, source} = v || {};\n const key = k as keyof typeof restValues;\n\n const attr = POOL_RESOURCE_TYPE_TO_ATTRIBUTE[key];\n if (!source || limit === undefined) {\n toModify.push({attr, value: limit});\n } else {\n const prevLimit = initials[key]?.limit || 0;\n const diff = (limit || 0) - prevLimit;\n if (diff) {\n transferData.push({diff, source, path: attr});\n }\n }\n });\n\n if (Object.hasOwnProperty.call(values, 'guaranteeType')) {\n toModify.push({\n attr: POOL_RESOURCE_TYPE_TO_ATTRIBUTE['guaranteeType'],\n value: guaranteeType,\n });\n }\n\n return updateNodeAttributes(poolPath, toModify).then(() => {\n return transferPoolQuota({poolPath, transferData, tree});\n });\n}\n\ninterface TransferPoolQuotaParams {\n poolPath: string;\n transferData: Array<{diff: number; source: string; path: string}>;\n tree: string;\n}\n\nfunction transferPoolQuota({poolPath, transferData, tree}: TransferPoolQuotaParams) {\n if (_.isEmpty(transferData)) {\n return Promise.resolve();\n }\n const tmp = poolPath.split('/');\n const dstPool = tmp[tmp.length - 1];\n\n const requests = _.map(transferData, (v) => {\n const {diff, source, path} = v;\n const transferPath = path.startsWith(INTEGRAL_GUARANTEES_PREFIX)\n ? path.substr(INTEGRAL_GUARANTEES_PREFIX.length)\n : path;\n const dotPath = transferPath.replace(/\\//g, '.');\n\n const delta = _.update({}, dotPath, () => Math.abs(diff));\n\n return {\n command: 'transfer_pool_resources' as const,\n parameters: {\n source_pool: diff > 0 ? source : dstPool,\n destination_pool: diff > 0 ? dstPool : source,\n pool_tree: tree,\n resource_delta: delta,\n },\n };\n });\n\n return ytApiV4Id\n .executeBatch(YTApiId.schedulingTransferPoolQuota, {requests})\n .then((res: any) => {\n const err = getBatchError(res.results);\n if (err) {\n return Promise.reject(err);\n }\n return res;\n });\n}\n\nexport function schedulingLoadFilterAttributes(): SchedulingThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const lastTime = getSchedulingAttributesToFilterTime(state);\n if (Date.now() - lastTime < 120000) {\n return undefined;\n }\n\n return wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.schedulingFilterAttributes, {\n path: '//sys/scheduler/orchid/scheduler/pool_trees/physical/pools',\n fields: ['parent', 'abc'],\n ...USE_CACHE,\n }),\n {\n skipSuccessToast: true,\n toasterName: 'schedulingLoadFilterAttributes',\n errorContent: 'Failed to load attributes required for filtering',\n },\n ).then((attributesToFilter) => {\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {attributesToFilter, attributesToFilterTime: Date.now()},\n });\n });\n };\n}\n\nexport function schedulingSetFilter(filter: string): SchedulingThunkAction {\n return (dispatch) => {\n dispatch(schedulingLoadFilterAttributes());\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {filter},\n });\n };\n}\n\nexport function schedulingSetAbcFilter(abcServiceFilter: {\n id: number;\n slug: string;\n}): SchedulingThunkAction {\n return (dispatch) => {\n dispatch(schedulingLoadFilterAttributes());\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {abcServiceFilter},\n });\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_scheduling","require","_utils","_batch","_cypressAttributes","_uikit","_yt","_interopRequireDefault","_scheduling2","_scheduling3","_expandedPools","_rumWrapApi","_global","_rumMeasureTypes","_attributesToFilter","_ytApi","obj","__esModule","default","toaster","Toaster","loadSchedulingData","dispatch","getState","type","SCHEDULING_DATA_REQUEST","state","isInitialLoading","getSchedulingIsInitialLoading","schedulingOverviewHasFilter","schedulingLoadFilterAttributes","cluster","getCluster","rumId","RumWrapper","RumMeasureTypes","SCHEDULING","fetch","YTApiId","schedulingData","ytApiV3Id","executeBatch","_objectSpread","requests","makeGet","makeList","USE_CACHE","then","data","_splitBatchResults","splitBatchResults","error","_splitBatchResults$re","_slicedToArray","results","schedulerAlerts","rawTrees","defaultTree","Promise","reject","trees","prepareTrees","tree","prepareCurrentTree","scheduling","SCHEDULING_DATA_PARTITION","treeRequests","concat","loadExpandedPools","schedulingLoadTree","ytApiV4Id","treeData","extracted","extractBatchV4Values","_splitBatchResults2","_ref","_ref2","resource_usage","resource_limits","config","resource_distribution_info","treeResources","SCHEDULING_DATA_SUCCESS","code","yt","codes","CANCELLED","SCHEDULING_DATA_FAILURE","deletePool","item","getTree","pools","getPools","path","computePoolPath","SCHEDULING_DELETE_POOL_REQUEST","v3","remove","add","name","autoHiding","title","SCHEDULING_DELETE_POOL_SUCCESS","closePoolDeleteModal","setTimeout","SCHEDULING_DELETE_POOL_FAILURE","openPoolDeleteModal","POOL_TOGGLE_DELETE_VISIBILITY","visibility","undefined","setPoolAttributes","params","poolPath","values","initials","_isEmpty","resolve","transferData","toModify","guaranteeType","restValues","_objectWithoutProperties","_excluded","_forEach","v","k","_ref3","limit","source","key","attr","POOL_RESOURCE_TYPE_TO_ATTRIBUTE","push","value","_initials$key","prevLimit","diff","Object","hasOwnProperty","call","updateNodeAttributes","transferPoolQuota","_ref4","tmp","split","dstPool","length","_map","transferPath","startsWith","INTEGRAL_GUARANTEES_PREFIX","substr","dotPath","replace","delta","_update","Math","abs","command","parameters","source_pool","destination_pool","pool_tree","resource_delta","schedulingTransferPoolQuota","res","err","getBatchError","lastTime","getSchedulingAttributesToFilterTime","Date","now","wrapApiPromiseByToaster","get","schedulingFilterAttributes","fields","skipSuccessToast","toasterName","errorContent","attributesToFilter","attributesToFilterTime","schedulingSetFilter","filter","schedulingSetAbcFilter","abcServiceFilter"],"sources":["scheduling-ts.ts"],"sourcesContent":["import _ from 'lodash';\nimport {\n INTEGRAL_GUARANTEES_PREFIX,\n InitialPoolResourceInfo,\n POOL_RESOURCE_TYPE_TO_ATTRIBUTE,\n PoolResourceType,\n computePoolPath,\n prepareCurrentTree,\n prepareTrees,\n} from '../../../utils/scheduling/scheduling';\nimport {\n extractBatchV4Values,\n getBatchError,\n splitBatchResults,\n wrapApiPromiseByToaster,\n} from '../../../utils/utils';\nimport {makeGet, makeList} from '../../../utils/batch';\nimport {updateNodeAttributes} from '../../../utils/cypress-attributes';\n\nimport {ThunkAction} from 'redux-thunk';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\n// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n getPools,\n getSchedulingIsInitialLoading,\n getTree,\n} from '../../../store/selectors/scheduling/scheduling';\n\nimport {\n POOL_TOGGLE_DELETE_VISIBILITY,\n SCHEDULING_DATA_FAILURE,\n SCHEDULING_DATA_PARTITION,\n SCHEDULING_DATA_REQUEST,\n SCHEDULING_DATA_SUCCESS,\n SCHEDULING_DELETE_POOL_FAILURE,\n SCHEDULING_DELETE_POOL_REQUEST,\n SCHEDULING_DELETE_POOL_SUCCESS,\n} from '../../../constants/scheduling';\nimport {loadExpandedPools} from './expanded-pools';\nimport {RumWrapper, YTApiId, ytApiV3Id, ytApiV4Id} from '../../../rum/rum-wrap-api';\nimport {getCluster} from '../../../store/selectors/global';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\nimport type {RootState} from '../../../store/reducers';\nimport type {SchedulingAction} from '../../../store/reducers/scheduling/scheduling';\nimport type {PoolInfo} from '../../../store/selectors/scheduling/scheduling-pools';\nimport {\n getSchedulingAttributesToFilterTime,\n schedulingOverviewHasFilter,\n} from '../../../store/selectors/scheduling/attributes-to-filter';\nimport {USE_CACHE} from '../../../../shared/constants/yt-api';\n\nconst toaster = new Toaster();\n\ntype SchedulingThunkAction<T = unknown> = ThunkAction<T, RootState, unknown, SchedulingAction>;\n\nexport function loadSchedulingData(): SchedulingThunkAction {\n return (dispatch, getState) => {\n dispatch({type: SCHEDULING_DATA_REQUEST});\n\n const state = getState();\n const isInitialLoading = getSchedulingIsInitialLoading(state);\n\n if (isInitialLoading && schedulingOverviewHasFilter(state)) {\n dispatch(schedulingLoadFilterAttributes());\n }\n\n const cluster = getCluster(state);\n const rumId = new RumWrapper(cluster, RumMeasureTypes.SCHEDULING);\n return rumId\n .fetch(\n YTApiId.schedulingData,\n ytApiV3Id.executeBatch(YTApiId.schedulingData, {\n requests: [\n makeGet('//sys/scheduler/@alerts'),\n makeList('//sys/scheduler/orchid/scheduler/pool_trees'),\n makeGet('//sys/scheduler/orchid/scheduler/default_fair_share_tree'),\n ],\n ...USE_CACHE,\n }),\n )\n .then((data) => {\n const {\n error,\n results: [schedulerAlerts, rawTrees, defaultTree],\n } = splitBatchResults(data, 'Failed to fetch scheduling data');\n\n if (error) {\n return Promise.reject(error);\n }\n\n const state = getState();\n\n const trees = prepareTrees(rawTrees);\n const tree = prepareCurrentTree(\n defaultTree,\n trees,\n state.scheduling.scheduling.tree,\n );\n\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {schedulerAlerts, trees, tree},\n });\n\n const treeRequests = [\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_usage`),\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_limits`),\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/config`),\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/resource_distribution_info`,\n ),\n ];\n\n if (isInitialLoading) {\n /**\n * We don't need to call `dispatch(loadExpandedPools(tree))` for this branch of code,\n * the call should be triggered by SchedulingExpandedPoolsUpdater\n */\n //dispatch(loadExpandedPools(tree));\n } else {\n dispatch(loadExpandedPools(tree));\n }\n\n return rumId\n .fetch(\n YTApiId.schedulingLoadTree,\n ytApiV4Id.executeBatch(YTApiId.schedulingLoadTree, {\n requests: treeRequests,\n ...USE_CACHE,\n }),\n )\n .then((treeData) => {\n const extracted = extractBatchV4Values(treeData, treeRequests);\n const {error, results} = splitBatchResults(\n extracted.results,\n 'Failed to fetch tree details',\n );\n if (error) {\n throw error;\n }\n return results;\n });\n })\n .then(([resource_usage, resource_limits, config, resource_distribution_info]) => {\n const treeResources = {\n resource_usage,\n resource_limits,\n config,\n resource_distribution_info,\n };\n\n dispatch({\n type: SCHEDULING_DATA_SUCCESS,\n data: {\n treeResources,\n },\n });\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SCHEDULING_DATA_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function deletePool(item?: PoolInfo): SchedulingThunkAction {\n return (dispatch, getState) => {\n if (!item) {\n return;\n }\n\n const state = getState();\n\n const tree = getTree(state);\n const pools = getPools(state);\n const path = computePoolPath(item, pools);\n\n dispatch({type: SCHEDULING_DELETE_POOL_REQUEST});\n\n return yt.v3\n .remove({\n path: `//sys/pool_trees/${tree}/${path}`,\n })\n .then(() => {\n toaster.add({\n name: 'delete pool',\n autoHiding: 10000,\n type: 'success',\n title: `Successfully deleted ${item.name}. Please wait.`,\n });\n\n dispatch({type: SCHEDULING_DELETE_POOL_SUCCESS});\n dispatch(closePoolDeleteModal());\n setTimeout(() => dispatch(loadSchedulingData()), 3000);\n })\n .catch((error: any) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SCHEDULING_DELETE_POOL_FAILURE,\n data: {error},\n });\n\n return Promise.reject();\n }\n return null;\n });\n };\n}\n\nexport function openPoolDeleteModal(item: PoolInfo): SchedulingAction {\n return {\n type: POOL_TOGGLE_DELETE_VISIBILITY,\n data: {\n visibility: true,\n item,\n },\n };\n}\n\nexport function closePoolDeleteModal(): SchedulingAction {\n return {\n type: POOL_TOGGLE_DELETE_VISIBILITY,\n data: {\n visibility: false,\n item: undefined,\n },\n };\n}\n\ntype PoolResources = Partial<\n Record<Exclude<PoolResourceType, 'guaranteeType'>, InitialPoolResourceInfo>\n>;\n\ninterface SetResourceGuaranteeParams {\n poolPath: string;\n values: PoolResources & {guaranteeType: string};\n initials: PoolResources;\n tree: string;\n}\n\nexport function setPoolAttributes(params: SetResourceGuaranteeParams) {\n const {poolPath, values, initials, tree} = params;\n if (_.isEmpty(values)) {\n return Promise.resolve();\n }\n\n const transferData: Array<{diff: number; source: string; path: string}> = [];\n const toModify: Array<{attr: string; value: any}> = [];\n\n const {guaranteeType, ...restValues} = values;\n\n _.forEach(restValues, (v, k) => {\n const {limit, source} = v || {};\n const key = k as keyof typeof restValues;\n\n const attr = POOL_RESOURCE_TYPE_TO_ATTRIBUTE[key];\n if (!source || limit === undefined) {\n toModify.push({attr, value: limit});\n } else {\n const prevLimit = initials[key]?.limit || 0;\n const diff = (limit || 0) - prevLimit;\n if (diff) {\n transferData.push({diff, source, path: attr});\n }\n }\n });\n\n if (Object.hasOwnProperty.call(values, 'guaranteeType')) {\n toModify.push({\n attr: POOL_RESOURCE_TYPE_TO_ATTRIBUTE['guaranteeType'],\n value: guaranteeType,\n });\n }\n\n return updateNodeAttributes(poolPath, toModify).then(() => {\n return transferPoolQuota({poolPath, transferData, tree});\n });\n}\n\ninterface TransferPoolQuotaParams {\n poolPath: string;\n transferData: Array<{diff: number; source: string; path: string}>;\n tree: string;\n}\n\nfunction transferPoolQuota({poolPath, transferData, tree}: TransferPoolQuotaParams) {\n if (_.isEmpty(transferData)) {\n return Promise.resolve();\n }\n const tmp = poolPath.split('/');\n const dstPool = tmp[tmp.length - 1];\n\n const requests = _.map(transferData, (v) => {\n const {diff, source, path} = v;\n const transferPath = path.startsWith(INTEGRAL_GUARANTEES_PREFIX)\n ? path.substr(INTEGRAL_GUARANTEES_PREFIX.length)\n : path;\n const dotPath = transferPath.replace(/\\//g, '.');\n\n const delta = _.update({}, dotPath, () => Math.abs(diff));\n\n return {\n command: 'transfer_pool_resources' as const,\n parameters: {\n source_pool: diff > 0 ? source : dstPool,\n destination_pool: diff > 0 ? dstPool : source,\n pool_tree: tree,\n resource_delta: delta,\n },\n };\n });\n\n return ytApiV4Id\n .executeBatch(YTApiId.schedulingTransferPoolQuota, {requests})\n .then((res: any) => {\n const err = getBatchError(res.results, 'Failed to transfer pool quota');\n if (err) {\n return Promise.reject(err);\n }\n return res;\n });\n}\n\nexport function schedulingLoadFilterAttributes(): SchedulingThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const lastTime = getSchedulingAttributesToFilterTime(state);\n if (Date.now() - lastTime < 120000) {\n return undefined;\n }\n\n return wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.schedulingFilterAttributes, {\n path: '//sys/scheduler/orchid/scheduler/pool_trees/physical/pools',\n fields: ['parent', 'abc'],\n ...USE_CACHE,\n }),\n {\n skipSuccessToast: true,\n toasterName: 'schedulingLoadFilterAttributes',\n errorContent: 'Failed to load attributes required for filtering',\n },\n ).then((attributesToFilter) => {\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {attributesToFilter, attributesToFilterTime: Date.now()},\n });\n });\n };\n}\n\nexport function schedulingSetFilter(filter: string): SchedulingThunkAction {\n return (dispatch) => {\n dispatch(schedulingLoadFilterAttributes());\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {filter},\n });\n };\n}\n\nexport function schedulingSetAbcFilter(abcServiceFilter: {\n id: number;\n slug: string;\n}): SchedulingThunkAction {\n return (dispatch) => {\n dispatch(schedulingLoadFilterAttributes());\n dispatch({\n type: SCHEDULING_DATA_PARTITION,\n data: {abcServiceFilter},\n });\n };\n}\n"],"mappings":"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"}