@ytsaurus/ui 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/build/cjs/shared/yt-types.d.ts +6 -0
  2. package/build/cjs/ui/common/yt-api-init.js +3 -1
  3. package/build/cjs/ui/common/yt-api-init.js.map +1 -1
  4. package/build/cjs/ui/constants/scheduling/index.d.ts +6 -7
  5. package/build/cjs/ui/constants/scheduling/index.js +7 -8
  6. package/build/cjs/ui/constants/scheduling/index.js.map +1 -1
  7. package/build/cjs/ui/pages/components/tabs/node/NodePage.js +1 -4
  8. package/build/cjs/ui/pages/components/tabs/node/NodePage.js.map +1 -1
  9. package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -16
  10. package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
  11. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js +2 -5
  12. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js.map +1 -1
  13. package/build/cjs/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js +1 -5
  14. package/build/cjs/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js.map +1 -1
  15. package/build/cjs/ui/pages/operations/selectors.d.ts +8 -7
  16. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +32 -28
  17. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +8 -7
  18. package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +8 -7
  19. package/build/cjs/ui/pages/scheduling/Alerts.js +1 -1
  20. package/build/cjs/ui/pages/scheduling/Alerts.js.map +1 -1
  21. package/build/cjs/ui/pages/scheduling/Content/Content.js +2 -2
  22. package/build/cjs/ui/pages/scheduling/Content/Content.js.map +1 -1
  23. package/build/cjs/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.d.ts → SchedulingExpandedPoolsUpdater.d.ts} +2 -2
  24. package/build/cjs/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.js → SchedulingExpandedPoolsUpdater.js} +7 -8
  25. package/build/cjs/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js.map +1 -0
  26. package/build/cjs/ui/pages/scheduling/Content/SchedulingResources.js +4 -3
  27. package/build/cjs/ui/pages/scheduling/Content/SchedulingResources.js.map +1 -1
  28. package/build/cjs/ui/pages/scheduling/Content/controls/ShareUsageBar.js +1 -1
  29. package/build/cjs/ui/pages/scheduling/Content/controls/ShareUsageBar.js.map +1 -1
  30. package/build/cjs/ui/pages/scheduling/Content/tabs/Details/Details.js +13 -8
  31. package/build/cjs/ui/pages/scheduling/Content/tabs/Details/Details.js.map +1 -1
  32. package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.d.ts +12 -10
  33. package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.js +30 -21
  34. package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.js.map +1 -1
  35. package/build/cjs/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js +2 -2
  36. package/build/cjs/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js.map +1 -1
  37. package/build/cjs/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js +2 -2
  38. package/build/cjs/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js.map +1 -1
  39. package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.d.ts +0 -1
  40. package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js +1 -3
  41. package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js.map +1 -1
  42. package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.d.ts +24 -0
  43. package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js +8 -19
  44. package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js.map +1 -1
  45. package/build/cjs/ui/pages/scheduling/Scheduling/Scheduling.js +29 -48
  46. package/build/cjs/ui/pages/scheduling/Scheduling/Scheduling.js.map +1 -1
  47. package/build/cjs/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js +8 -4
  48. package/build/cjs/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js.map +1 -1
  49. package/build/cjs/ui/rum/constants.d.ts +5 -1
  50. package/build/cjs/ui/rum/constants.js +5 -2
  51. package/build/cjs/ui/rum/constants.js.map +1 -1
  52. package/build/cjs/ui/rum/rum-counter.js +1 -1
  53. package/build/cjs/ui/rum/rum-counter.js.map +1 -1
  54. package/build/cjs/ui/rum/rum-wrap-api.d.ts +95 -53
  55. package/build/cjs/ui/rum/rum-wrap-api.js +59 -56
  56. package/build/cjs/ui/rum/rum-wrap-api.js.map +1 -1
  57. package/build/cjs/ui/store/actions/components/node/node.js +6 -29
  58. package/build/cjs/ui/store/actions/components/node/node.js.map +1 -1
  59. package/build/cjs/ui/store/actions/operations/detail.js +1 -1
  60. package/build/cjs/ui/store/actions/operations/detail.js.map +1 -1
  61. package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js +3 -3
  62. package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
  63. package/build/cjs/ui/store/actions/scheduling/expanded-pools.d.ts +15 -0
  64. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +377 -0
  65. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -0
  66. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.d.ts +15 -1
  67. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +226 -10
  68. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  69. package/build/cjs/ui/store/actions/scheduling/scheduling.d.ts +1 -32
  70. package/build/cjs/ui/store/actions/scheduling/scheduling.js +12 -250
  71. package/build/cjs/ui/store/actions/scheduling/scheduling.js.map +1 -1
  72. package/build/cjs/ui/store/actions/system/masters.d.ts +7 -5
  73. package/build/cjs/ui/store/actions/system/masters.js +305 -235
  74. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  75. package/build/cjs/ui/store/reducers/components/node/node.d.ts +0 -2
  76. package/build/cjs/ui/store/reducers/components/node/node.js +2 -5
  77. package/build/cjs/ui/store/reducers/components/node/node.js.map +1 -1
  78. package/build/cjs/ui/store/reducers/index.d.ts +9 -7
  79. package/build/cjs/ui/store/reducers/index.js +3 -4
  80. package/build/cjs/ui/store/reducers/index.js.map +1 -1
  81. package/build/cjs/ui/store/reducers/scheduling/expanded-pools.d.ts +28 -0
  82. package/build/cjs/ui/store/reducers/scheduling/{scheduling-operations.js → expanded-pools.js} +10 -8
  83. package/build/cjs/ui/store/reducers/scheduling/expanded-pools.js.map +1 -0
  84. package/build/cjs/ui/store/reducers/scheduling/index.d.ts +5 -93
  85. package/build/cjs/ui/store/reducers/scheduling/index.js +10 -136
  86. package/build/cjs/ui/store/reducers/scheduling/index.js.map +1 -1
  87. package/build/cjs/ui/store/reducers/scheduling/scheduling.d.ts +100 -0
  88. package/build/cjs/ui/store/reducers/scheduling/scheduling.js +139 -0
  89. package/build/cjs/ui/store/reducers/scheduling/scheduling.js.map +1 -0
  90. package/build/cjs/ui/store/reducers/scheduling/url-mapping.d.ts +13 -2
  91. package/build/cjs/ui/store/reducers/scheduling/url-mapping.js +31 -26
  92. package/build/cjs/ui/store/reducers/scheduling/url-mapping.js.map +1 -1
  93. package/build/cjs/ui/store/reducers/system/masters.d.ts +2 -2
  94. package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
  95. package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +64 -56
  96. package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +64 -56
  97. package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +88 -77
  98. package/build/cjs/ui/store/selectors/chyt/index.d.ts +56 -49
  99. package/build/cjs/ui/store/selectors/components/node/memory.d.ts +56 -49
  100. package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +1712 -13
  101. package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +8 -7
  102. package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +16 -14
  103. package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +48 -42
  104. package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +859 -9
  105. package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +40 -35
  106. package/build/cjs/ui/store/selectors/global/index.d.ts +116 -102
  107. package/build/cjs/ui/store/selectors/global/index.js +2 -3
  108. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  109. package/build/cjs/ui/store/selectors/global/supported-features.d.ts +48 -42
  110. package/build/cjs/ui/store/selectors/modals/errors.d.ts +8 -7
  111. package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +8 -7
  112. package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +24 -21
  113. package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +8 -7
  114. package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +32 -28
  115. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +56 -49
  116. package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +24 -21
  117. package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +8 -7
  118. package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +16 -14
  119. package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +8 -7
  120. package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +8 -7
  121. package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +8 -7
  122. package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +16 -14
  123. package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +16 -14
  124. package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +8 -7
  125. package/build/cjs/ui/store/selectors/operations/index.d.ts +96 -84
  126. package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +32 -28
  127. package/build/cjs/ui/store/selectors/operations/operation.d.ts +939 -79
  128. package/build/cjs/ui/store/selectors/operations/operation.js +2 -17
  129. package/build/cjs/ui/store/selectors/operations/operation.js.map +1 -1
  130. package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +24 -21
  131. package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +64 -56
  132. package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +876 -0
  133. package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.js +75 -0
  134. package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.js.map +1 -0
  135. package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +8 -7
  136. package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.js +3 -3
  137. package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.js.map +1 -1
  138. package/build/cjs/ui/store/selectors/scheduling/{scheduling-operations.d.ts → expanded-pools.d.ts} +14 -14
  139. package/build/cjs/ui/store/selectors/scheduling/expanded-pools.js +35 -0
  140. package/build/cjs/ui/store/selectors/scheduling/expanded-pools.js.map +1 -0
  141. package/build/cjs/ui/store/selectors/scheduling/index.d.ts +8 -7
  142. package/build/cjs/ui/store/selectors/scheduling/index.js +3 -3
  143. package/build/cjs/ui/store/selectors/scheduling/index.js.map +1 -1
  144. package/build/cjs/ui/store/selectors/scheduling/monitor.js +1 -1
  145. package/build/cjs/ui/store/selectors/scheduling/monitor.js.map +1 -1
  146. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +2552 -3
  147. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js +10 -18
  148. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
  149. package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +4291 -45
  150. package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +13739 -149
  151. package/build/cjs/ui/store/selectors/scheduling/scheduling.js +35 -30
  152. package/build/cjs/ui/store/selectors/scheduling/scheduling.js.map +1 -1
  153. package/build/cjs/ui/store/selectors/system/masters.d.ts +1 -1
  154. package/build/cjs/ui/store/selectors/system/masters.js.map +1 -1
  155. package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +120 -105
  156. package/build/cjs/ui/store/selectors/thor/support.d.ts +4294 -86
  157. package/build/cjs/ui/store/selectors/thor/support.js +76 -138
  158. package/build/cjs/ui/store/selectors/thor/support.js.map +1 -1
  159. package/build/cjs/ui/store/selectors/thor/support.spec.js +163 -68
  160. package/build/cjs/ui/store/selectors/thor/support.spec.js.map +1 -1
  161. package/build/cjs/ui/store/window-store.js +2 -2
  162. package/build/cjs/ui/store/window-store.js.map +1 -1
  163. package/build/cjs/ui/utils/batch.d.ts +54 -0
  164. package/build/cjs/ui/utils/batch.js +27 -0
  165. package/build/cjs/ui/utils/batch.js.map +1 -0
  166. package/build/cjs/ui/utils/scheduling/pool-child.d.ts +1 -1
  167. package/build/cjs/ui/utils/scheduling/pool-child.js +20 -9
  168. package/build/cjs/ui/utils/scheduling/pool-child.js.map +1 -1
  169. package/build/cjs/ui/utils/scheduling/scheduling.d.ts +2 -6
  170. package/build/cjs/ui/utils/scheduling/scheduling.js +3 -3
  171. package/build/cjs/ui/utils/scheduling/scheduling.js.map +1 -1
  172. package/build/cjs/ui/utils/utils.d.ts +3 -2
  173. package/build/cjs/ui/utils/utils.js +17 -9
  174. package/build/cjs/ui/utils/utils.js.map +1 -1
  175. package/build/esm/shared/yt-types.d.ts +6 -0
  176. package/build/esm/ui/common/yt-api-init.js +4 -2
  177. package/build/esm/ui/common/yt-api-init.js.map +1 -1
  178. package/build/esm/ui/constants/scheduling/index.d.ts +6 -7
  179. package/build/esm/ui/constants/scheduling/index.js +6 -7
  180. package/build/esm/ui/constants/scheduling/index.js.map +1 -1
  181. package/build/esm/ui/pages/components/tabs/node/NodePage.js +1 -4
  182. package/build/esm/ui/pages/components/tabs/node/NodePage.js.map +1 -1
  183. package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -16
  184. package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
  185. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js +3 -6
  186. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js.map +1 -1
  187. package/build/esm/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js +1 -5
  188. package/build/esm/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js.map +1 -1
  189. package/build/esm/ui/pages/operations/selectors.d.ts +8 -7
  190. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +32 -28
  191. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +8 -7
  192. package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +8 -7
  193. package/build/esm/ui/pages/scheduling/Alerts.js +1 -1
  194. package/build/esm/ui/pages/scheduling/Alerts.js.map +1 -1
  195. package/build/esm/ui/pages/scheduling/Content/Content.js +2 -2
  196. package/build/esm/ui/pages/scheduling/Content/Content.js.map +1 -1
  197. package/build/esm/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.d.ts → SchedulingExpandedPoolsUpdater.d.ts} +2 -2
  198. package/build/esm/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js +15 -0
  199. package/build/esm/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js.map +1 -0
  200. package/build/esm/ui/pages/scheduling/Content/SchedulingResources.js +4 -3
  201. package/build/esm/ui/pages/scheduling/Content/SchedulingResources.js.map +1 -1
  202. package/build/esm/ui/pages/scheduling/Content/controls/ShareUsageBar.js +1 -1
  203. package/build/esm/ui/pages/scheduling/Content/controls/ShareUsageBar.js.map +1 -1
  204. package/build/esm/ui/pages/scheduling/Content/tabs/Details/Details.js +14 -9
  205. package/build/esm/ui/pages/scheduling/Content/tabs/Details/Details.js.map +1 -1
  206. package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.d.ts +12 -10
  207. package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.js +27 -18
  208. package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.js.map +1 -1
  209. package/build/esm/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js +1 -1
  210. package/build/esm/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js.map +1 -1
  211. package/build/esm/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js +1 -1
  212. package/build/esm/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js.map +1 -1
  213. package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.d.ts +0 -1
  214. package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js +1 -3
  215. package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js.map +1 -1
  216. package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.d.ts +24 -0
  217. package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js +8 -19
  218. package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js.map +1 -1
  219. package/build/esm/ui/pages/scheduling/Scheduling/Scheduling.js +26 -45
  220. package/build/esm/ui/pages/scheduling/Scheduling/Scheduling.js.map +1 -1
  221. package/build/esm/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js +6 -2
  222. package/build/esm/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js.map +1 -1
  223. package/build/esm/ui/rum/constants.d.ts +5 -1
  224. package/build/esm/ui/rum/constants.js +5 -2
  225. package/build/esm/ui/rum/constants.js.map +1 -1
  226. package/build/esm/ui/rum/rum-counter.js +1 -1
  227. package/build/esm/ui/rum/rum-counter.js.map +1 -1
  228. package/build/esm/ui/rum/rum-wrap-api.d.ts +95 -53
  229. package/build/esm/ui/rum/rum-wrap-api.js +58 -55
  230. package/build/esm/ui/rum/rum-wrap-api.js.map +1 -1
  231. package/build/esm/ui/store/actions/components/node/node.js +6 -28
  232. package/build/esm/ui/store/actions/components/node/node.js.map +1 -1
  233. package/build/esm/ui/store/actions/operations/detail.js +1 -1
  234. package/build/esm/ui/store/actions/operations/detail.js.map +1 -1
  235. package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js +2 -2
  236. package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
  237. package/build/esm/ui/store/actions/scheduling/expanded-pools.d.ts +15 -0
  238. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +363 -0
  239. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -0
  240. package/build/esm/ui/store/actions/scheduling/scheduling-ts.d.ts +15 -1
  241. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +221 -13
  242. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  243. package/build/esm/ui/store/actions/scheduling/scheduling.d.ts +1 -32
  244. package/build/esm/ui/store/actions/scheduling/scheduling.js +16 -247
  245. package/build/esm/ui/store/actions/scheduling/scheduling.js.map +1 -1
  246. package/build/esm/ui/store/actions/system/masters.d.ts +7 -5
  247. package/build/esm/ui/store/actions/system/masters.js +303 -233
  248. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  249. package/build/esm/ui/store/reducers/components/node/node.d.ts +0 -2
  250. package/build/esm/ui/store/reducers/components/node/node.js +2 -5
  251. package/build/esm/ui/store/reducers/components/node/node.js.map +1 -1
  252. package/build/esm/ui/store/reducers/index.d.ts +9 -7
  253. package/build/esm/ui/store/reducers/index.js +3 -4
  254. package/build/esm/ui/store/reducers/index.js.map +1 -1
  255. package/build/esm/ui/store/reducers/scheduling/expanded-pools.d.ts +28 -0
  256. package/build/esm/ui/store/reducers/scheduling/{scheduling-operations.js → expanded-pools.js} +11 -9
  257. package/build/esm/ui/store/reducers/scheduling/expanded-pools.js.map +1 -0
  258. package/build/esm/ui/store/reducers/scheduling/index.d.ts +5 -93
  259. package/build/esm/ui/store/reducers/scheduling/index.js +9 -135
  260. package/build/esm/ui/store/reducers/scheduling/index.js.map +1 -1
  261. package/build/esm/ui/store/reducers/scheduling/scheduling.d.ts +100 -0
  262. package/build/esm/ui/store/reducers/scheduling/scheduling.js +132 -0
  263. package/build/esm/ui/store/reducers/scheduling/scheduling.js.map +1 -0
  264. package/build/esm/ui/store/reducers/scheduling/url-mapping.d.ts +13 -2
  265. package/build/esm/ui/store/reducers/scheduling/url-mapping.js +19 -14
  266. package/build/esm/ui/store/reducers/scheduling/url-mapping.js.map +1 -1
  267. package/build/esm/ui/store/reducers/system/masters.d.ts +2 -2
  268. package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
  269. package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +64 -56
  270. package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +64 -56
  271. package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +88 -77
  272. package/build/esm/ui/store/selectors/chyt/index.d.ts +56 -49
  273. package/build/esm/ui/store/selectors/components/node/memory.d.ts +56 -49
  274. package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +1712 -13
  275. package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +8 -7
  276. package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +16 -14
  277. package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +48 -42
  278. package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +859 -9
  279. package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +40 -35
  280. package/build/esm/ui/store/selectors/global/index.d.ts +116 -102
  281. package/build/esm/ui/store/selectors/global/index.js +2 -3
  282. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  283. package/build/esm/ui/store/selectors/global/supported-features.d.ts +48 -42
  284. package/build/esm/ui/store/selectors/modals/errors.d.ts +8 -7
  285. package/build/esm/ui/store/selectors/navigation/content/document.d.ts +8 -7
  286. package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +24 -21
  287. package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +8 -7
  288. package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +32 -28
  289. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +56 -49
  290. package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +24 -21
  291. package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +8 -7
  292. package/build/esm/ui/store/selectors/navigation/navigation.d.ts +16 -14
  293. package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +8 -7
  294. package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +8 -7
  295. package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +8 -7
  296. package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +16 -14
  297. package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +16 -14
  298. package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +8 -7
  299. package/build/esm/ui/store/selectors/operations/index.d.ts +96 -84
  300. package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +32 -28
  301. package/build/esm/ui/store/selectors/operations/operation.d.ts +939 -79
  302. package/build/esm/ui/store/selectors/operations/operation.js +2 -17
  303. package/build/esm/ui/store/selectors/operations/operation.js.map +1 -1
  304. package/build/esm/ui/store/selectors/operations/operations-list.d.ts +24 -21
  305. package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +64 -56
  306. package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +876 -0
  307. package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.js +68 -0
  308. package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.js.map +1 -0
  309. package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +8 -7
  310. package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.js +3 -3
  311. package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.js.map +1 -1
  312. package/build/esm/ui/store/selectors/scheduling/{scheduling-operations.d.ts → expanded-pools.d.ts} +14 -14
  313. package/build/esm/ui/store/selectors/scheduling/{scheduling-operations.js → expanded-pools.js} +13 -10
  314. package/build/esm/ui/store/selectors/scheduling/expanded-pools.js.map +1 -0
  315. package/build/esm/ui/store/selectors/scheduling/index.d.ts +8 -7
  316. package/build/esm/ui/store/selectors/scheduling/index.js +3 -3
  317. package/build/esm/ui/store/selectors/scheduling/index.js.map +1 -1
  318. package/build/esm/ui/store/selectors/scheduling/monitor.js +1 -1
  319. package/build/esm/ui/store/selectors/scheduling/monitor.js.map +1 -1
  320. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +2552 -3
  321. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js +11 -19
  322. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
  323. package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +4291 -45
  324. package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +13739 -149
  325. package/build/esm/ui/store/selectors/scheduling/scheduling.js +34 -29
  326. package/build/esm/ui/store/selectors/scheduling/scheduling.js.map +1 -1
  327. package/build/esm/ui/store/selectors/system/masters.d.ts +1 -1
  328. package/build/esm/ui/store/selectors/system/masters.js.map +1 -1
  329. package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +120 -105
  330. package/build/esm/ui/store/selectors/thor/support.d.ts +4294 -86
  331. package/build/esm/ui/store/selectors/thor/support.js +73 -134
  332. package/build/esm/ui/store/selectors/thor/support.js.map +1 -1
  333. package/build/esm/ui/store/selectors/thor/support.spec.js +164 -69
  334. package/build/esm/ui/store/selectors/thor/support.spec.js.map +1 -1
  335. package/build/esm/ui/store/window-store.js +1 -1
  336. package/build/esm/ui/store/window-store.js.map +1 -1
  337. package/build/esm/ui/utils/batch.d.ts +54 -0
  338. package/build/esm/ui/utils/batch.js +19 -0
  339. package/build/esm/ui/utils/batch.js.map +1 -0
  340. package/build/esm/ui/utils/scheduling/pool-child.d.ts +1 -1
  341. package/build/esm/ui/utils/scheduling/pool-child.js +20 -9
  342. package/build/esm/ui/utils/scheduling/pool-child.js.map +1 -1
  343. package/build/esm/ui/utils/scheduling/scheduling.d.ts +2 -6
  344. package/build/esm/ui/utils/scheduling/scheduling.js +3 -3
  345. package/build/esm/ui/utils/scheduling/scheduling.js.map +1 -1
  346. package/build/esm/ui/utils/utils.d.ts +3 -2
  347. package/build/esm/ui/utils/utils.js +17 -9
  348. package/build/esm/ui/utils/utils.js.map +1 -1
  349. package/dist/public/build/assets-manifest.json +7 -7
  350. package/dist/public/build/js/main.64fccb27.js +3 -0
  351. package/dist/public/build/js/{main.9d592639.js.map → main.64fccb27.js.map} +1 -1
  352. package/dist/public/build/js/{runtime.9491563b.js → runtime.fd8cf219.js} +2 -2
  353. package/dist/public/build/js/{runtime.9491563b.js.map → runtime.fd8cf219.js.map} +1 -1
  354. package/dist/public/build/manifest.json +4 -4
  355. package/package.json +2 -2
  356. package/build/cjs/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js.map +0 -1
  357. package/build/cjs/ui/store/actions/scheduling/scheduling-operations.d.ts +0 -15
  358. package/build/cjs/ui/store/actions/scheduling/scheduling-operations.js +0 -280
  359. package/build/cjs/ui/store/actions/scheduling/scheduling-operations.js.map +0 -1
  360. package/build/cjs/ui/store/reducers/scheduling/scheduling-operations.d.ts +0 -19
  361. package/build/cjs/ui/store/reducers/scheduling/scheduling-operations.js.map +0 -1
  362. package/build/cjs/ui/store/selectors/scheduling/scheduling-operations.js +0 -32
  363. package/build/cjs/ui/store/selectors/scheduling/scheduling-operations.js.map +0 -1
  364. package/build/esm/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js +0 -16
  365. package/build/esm/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js.map +0 -1
  366. package/build/esm/ui/store/actions/scheduling/scheduling-operations.d.ts +0 -15
  367. package/build/esm/ui/store/actions/scheduling/scheduling-operations.js +0 -267
  368. package/build/esm/ui/store/actions/scheduling/scheduling-operations.js.map +0 -1
  369. package/build/esm/ui/store/reducers/scheduling/scheduling-operations.d.ts +0 -19
  370. package/build/esm/ui/store/reducers/scheduling/scheduling-operations.js.map +0 -1
  371. package/build/esm/ui/store/selectors/scheduling/scheduling-operations.js.map +0 -1
  372. package/dist/public/build/js/main.9d592639.js +0 -3
  373. /package/dist/public/build/js/{main.9d592639.js.LICENSE.txt → main.64fccb27.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["yt","ypath","GET_OPERATION","LOAD_RESOURCE_USAGE","DetailedOperationSelector","checkUserTransaction","prepareAttributes","showErrorPopup","isOperationId","TYPED_OUTPUT_FORMAT","Toaster","CancelHelper","YTApiId","ytApiV3","ytApiV3Id","getJobsMonitoringDescriptors","toaster","operationDetailsRequests","getIsEphemeral","_ref","_ref2","_slicedToArray","operationAttributes","userTransactionAlive","treesInfo","get","trees","_keys","poolPaths","_values","_mapValues","infoPerTree","tree","concat","getValue","requests","_map","path","command","parameters","orchidAttributes","executeBatch","operationIsEphemeral","then","data","_ref3","error","output","getNumberDeprecated","code","codes","NODE_DOES_NOT_EXIST","res","_reduce","poolInfo","index","pool","isEphemeral","getBoolean","_defineProperty","Promise","all","loadIntermediateResourceUsage","operation","callback","dispatch","outputTransaction","type","REQUEST","operationIntermediateResourceUsage","resources","SUCCESS","FAILURE","CANCELLED","getOperation","id","getState","isAlias","params","Object","assign","include_scheduler","output_format","operation_alias","operation_id","_ref4","_ref5","preparedAttributes","dispatchOperationSuccess","inIntermediateState","_getState","operations","isFirstLoading","detail","loaded","add","name","autoHiding","title","content","message","actions","label","onClick","details"],"sources":["detail.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\n\nimport {GET_OPERATION, LOAD_RESOURCE_USAGE} from '../../../constants/operations/detail';\nimport {DetailedOperationSelector} from '../../../pages/operations/selectors';\nimport {checkUserTransaction} from '../../../utils/operations/detail';\nimport {prepareAttributes} from '../../../utils';\nimport {showErrorPopup} from '../../../utils/utils';\nimport {isOperationId} from '../../../utils/operations/list';\nimport {TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {Toaster} from '@gravity-ui/uikit';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getJobsMonitoringDescriptors} from '../../../store/actions/operations/jobs-monitor';\n\nconst toaster = new Toaster();\nconst operationDetailsRequests = new CancelHelper();\n\nfunction getIsEphemeral([operationAttributes, userTransactionAlive]) {\n const treesInfo = ypath.get(\n operationAttributes,\n '/runtime_parameters/scheduling_options_per_pool_tree',\n );\n const trees = _.keys(treesInfo);\n const poolPaths = _.values(\n _.mapValues(\n treesInfo,\n (infoPerTree, tree) =>\n `${tree}/fair_share_info/pools/${ypath.getValue(\n infoPerTree,\n '/pool',\n )}/is_ephemeral`,\n ),\n );\n const requests = _.map(poolPaths, (path) => {\n return {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/' + path,\n },\n };\n });\n const orchidAttributes = ytApiV3Id\n .executeBatch(YTApiId.operationIsEphemeral, {requests})\n .then((data) => {\n return _.map(data, ({error, output}) => {\n if (error) {\n if (ypath.getNumberDeprecated(error.code) === yt.codes.NODE_DOES_NOT_EXIST) {\n return true;\n }\n return false;\n }\n return output;\n });\n })\n .then((res) => {\n return _.reduce(\n res,\n (res, poolInfo, index) => {\n const tree = trees[index];\n const pool = ypath.getValue(treesInfo[tree], '/pool');\n const isEphemeral = ypath.getBoolean(poolInfo);\n\n res[tree] = {\n [pool]: {isEphemeral},\n };\n\n return res;\n },\n {},\n );\n });\n\n return Promise.all([operationAttributes, userTransactionAlive, orchidAttributes]);\n}\n\nfunction loadIntermediateResourceUsage(operation, callback) {\n return (dispatch) => {\n const outputTransaction = ypath.get(operation, '/@output_transaction_id');\n\n if (outputTransaction && outputTransaction !== '0-0-0-0') {\n dispatch({type: LOAD_RESOURCE_USAGE.REQUEST});\n\n return ytApiV3Id\n .get(YTApiId.operationIntermediateResourceUsage, {\n path: '#' + outputTransaction + '/@resource_usage',\n })\n .then((resources) => {\n callback();\n dispatch({\n type: LOAD_RESOURCE_USAGE.SUCCESS,\n data: {resources},\n });\n })\n .catch(() => {\n callback();\n dispatch({type: LOAD_RESOURCE_USAGE.FAILURE});\n });\n } else {\n callback();\n dispatch({type: LOAD_RESOURCE_USAGE.CANCELLED});\n }\n };\n}\n\nexport function getOperation(id) {\n return (dispatch, getState) => {\n const isAlias = !isOperationId(id);\n\n const params = Object.assign(\n {\n include_scheduler: true,\n output_format: TYPED_OUTPUT_FORMAT,\n },\n isAlias ? {operation_alias: id} : {operation_id: id},\n );\n\n dispatch({type: GET_OPERATION.REQUEST, data: {isAlias, id}});\n\n return ytApiV3\n .getOperation(params, operationDetailsRequests)\n .then(checkUserTransaction)\n .then(getIsEphemeral)\n .then(([operationAttributes, userTransactionAlive, orchidAttributes]) => {\n const preparedAttributes = prepareAttributes(operationAttributes);\n const operation = new DetailedOperationSelector(\n preparedAttributes,\n operationAttributes,\n orchidAttributes,\n );\n\n const dispatchOperationSuccess = () => {\n dispatch({\n type: GET_OPERATION.SUCCESS,\n data: {operation, userTransactionAlive},\n });\n };\n\n if (operation.inIntermediateState()) {\n dispatch(loadIntermediateResourceUsage(operation, dispatchOperationSuccess));\n } else {\n dispatchOperationSuccess();\n }\n\n dispatch(getJobsMonitoringDescriptors(id));\n })\n .catch((error) => {\n const {operations} = getState();\n const isFirstLoading = !operations.detail.loaded;\n\n if (error.code !== yt.codes.CANCELLED) {\n if (!isFirstLoading) {\n toaster.add({\n name: 'get operation',\n autoHiding: false,\n type: 'error',\n title: 'Failed to load operation',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n }\n\n dispatch({\n type: GET_OPERATION.FAILURE,\n data: {\n message: `Error occured when loading operation \"${id}\"`,\n details: error,\n },\n });\n }\n });\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["yt","ypath","GET_OPERATION","LOAD_RESOURCE_USAGE","DetailedOperationSelector","checkUserTransaction","prepareAttributes","showErrorPopup","isOperationId","TYPED_OUTPUT_FORMAT","Toaster","CancelHelper","YTApiId","ytApiV3","ytApiV3Id","getJobsMonitoringDescriptors","toaster","operationDetailsRequests","getIsEphemeral","_ref","_ref2","_slicedToArray","operationAttributes","userTransactionAlive","treesInfo","get","trees","_keys","poolPaths","_values","_mapValues","infoPerTree","tree","concat","getValue","requests","_map","path","command","parameters","orchidAttributes","executeBatch","operationIsEphemeral","then","data","_ref3","error","output","getNumberDeprecated","code","codes","NODE_DOES_NOT_EXIST","res","_reduce","poolInfo","index","pool","isEphemeral","getBoolean","_defineProperty","Promise","all","loadIntermediateResourceUsage","operation","callback","dispatch","outputTransaction","type","REQUEST","operationIntermediateResourceUsage","resources","SUCCESS","FAILURE","CANCELLED","getOperation","id","getState","isAlias","params","Object","assign","include_scheduler","output_format","operation_alias","operation_id","_ref4","_ref5","preparedAttributes","dispatchOperationSuccess","inIntermediateState","_getState","operations","isFirstLoading","detail","loaded","add","name","autoHiding","title","content","message","actions","label","onClick","details"],"sources":["detail.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\n\nimport {GET_OPERATION, LOAD_RESOURCE_USAGE} from '../../../constants/operations/detail';\nimport {DetailedOperationSelector} from '../../../pages/operations/selectors';\nimport {checkUserTransaction} from '../../../utils/operations/detail';\nimport {prepareAttributes} from '../../../utils';\nimport {showErrorPopup} from '../../../utils/utils';\nimport {isOperationId} from '../../../utils/operations/list';\nimport {TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {Toaster} from '@gravity-ui/uikit';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getJobsMonitoringDescriptors} from '../../../store/actions/operations/jobs-monitor';\n\nconst toaster = new Toaster();\nconst operationDetailsRequests = new CancelHelper();\n\nfunction getIsEphemeral([operationAttributes, userTransactionAlive]) {\n const treesInfo = ypath.get(\n operationAttributes,\n '/runtime_parameters/scheduling_options_per_pool_tree',\n );\n const trees = _.keys(treesInfo);\n const poolPaths = _.values(\n _.mapValues(\n treesInfo,\n (infoPerTree, tree) =>\n `${tree}/fair_share_info/pools/${ypath.getValue(\n infoPerTree,\n '/pool',\n )}/is_ephemeral`,\n ),\n );\n const requests = _.map(poolPaths, (path) => {\n return {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/orchid/scheduler/pool_trees/' + path,\n },\n };\n });\n const orchidAttributes = ytApiV3Id\n .executeBatch(YTApiId.operationIsEphemeral, {requests})\n .then((data) => {\n return _.map(data, ({error, output}) => {\n if (error) {\n if (ypath.getNumberDeprecated(error.code) === yt.codes.NODE_DOES_NOT_EXIST) {\n return true;\n }\n return false;\n }\n return output;\n });\n })\n .then((res) => {\n return _.reduce(\n res,\n (res, poolInfo, index) => {\n const tree = trees[index];\n const pool = ypath.getValue(treesInfo[tree], '/pool');\n const isEphemeral = ypath.getBoolean(poolInfo);\n\n res[tree] = {\n [pool]: {isEphemeral},\n };\n\n return res;\n },\n {},\n );\n });\n\n return Promise.all([operationAttributes, userTransactionAlive, orchidAttributes]);\n}\n\nfunction loadIntermediateResourceUsage(operation, callback) {\n return (dispatch) => {\n const outputTransaction = ypath.get(operation, '/@output_transaction_id');\n\n if (outputTransaction && outputTransaction !== '0-0-0-0') {\n dispatch({type: LOAD_RESOURCE_USAGE.REQUEST});\n\n return ytApiV3Id\n .get(YTApiId.operationIntermediateResourceUsage, {\n path: '#' + outputTransaction + '/@resource_usage',\n })\n .then((resources) => {\n callback();\n dispatch({\n type: LOAD_RESOURCE_USAGE.SUCCESS,\n data: {resources},\n });\n })\n .catch(() => {\n callback();\n dispatch({type: LOAD_RESOURCE_USAGE.FAILURE});\n });\n } else {\n callback();\n dispatch({type: LOAD_RESOURCE_USAGE.CANCELLED});\n }\n };\n}\n\nexport function getOperation(id) {\n return (dispatch, getState) => {\n const isAlias = !isOperationId(id);\n\n const params = Object.assign(\n {\n include_scheduler: true,\n output_format: TYPED_OUTPUT_FORMAT,\n },\n isAlias ? {operation_alias: id} : {operation_id: id},\n );\n\n dispatch({type: GET_OPERATION.REQUEST, data: {isAlias, id}});\n\n return ytApiV3\n .getOperation(params, operationDetailsRequests)\n .then(checkUserTransaction)\n .then(getIsEphemeral)\n .then(([operationAttributes, userTransactionAlive, orchidAttributes]) => {\n const preparedAttributes = prepareAttributes(operationAttributes);\n const operation = new DetailedOperationSelector(\n preparedAttributes,\n operationAttributes,\n orchidAttributes,\n );\n\n const dispatchOperationSuccess = () => {\n dispatch({\n type: GET_OPERATION.SUCCESS,\n data: {operation, userTransactionAlive},\n });\n };\n\n if (operation.inIntermediateState()) {\n dispatch(loadIntermediateResourceUsage(operation, dispatchOperationSuccess));\n } else {\n dispatchOperationSuccess();\n }\n\n dispatch(getJobsMonitoringDescriptors(id));\n })\n .catch((error) => {\n const {operations} = getState();\n const isFirstLoading = !operations.detail.loaded;\n\n if (error.code !== yt.codes.CANCELLED) {\n if (!isFirstLoading) {\n toaster.add({\n name: 'get operation',\n autoHiding: false,\n type: 'error',\n title: 'Failed to load operation',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n }\n\n dispatch({\n type: GET_OPERATION.FAILURE,\n data: {\n message: `Error occured when loading operation \"${id}\"`,\n details: error,\n },\n });\n }\n });\n };\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { CREATE_POOL_DIALOG_TREE_CREATE_FAILURE, CREATE_POOL_DIALOG_TREE_ITEMS_S
4
4
  import yt from '@ytsaurus/javascript-wrapper/lib/yt';
5
5
  import { prepareAbcService } from '../../../utils/scheduling';
6
6
  import { wrapApiPromiseByToaster } from '../../../utils/utils';
7
- import { loadSchedulingData } from './scheduling';
7
+ import { loadSchedulingData } from './scheduling-ts';
8
8
  import { getCluster } from '../../selectors/global';
9
9
  import { updateAcl } from '../../../utils/acl/acl-api';
10
10
  import { IdmObjectType } from '../../../constants/acl';
@@ -95,7 +95,7 @@ function waitWhilePoolIsReady(_ref) {
95
95
  return new Promise(function (resolve, reject) {
96
96
  setTimeout(function () {
97
97
  yt.v3.exists({
98
- path: "//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/".concat(tree, "/fair_share_info/pools/").concat(name)
98
+ path: "//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/fair_share_info/pools/").concat(name)
99
99
  }).then(function (res) {
100
100
  if (res) {
101
101
  return resolve(true);
@@ -1 +1 @@
1
- {"version":3,"names":["React","CREATE_POOL_DIALOG_TREE_CREATE_FAILURE","CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS","yt","prepareAbcService","wrapApiPromiseByToaster","loadSchedulingData","getCluster","updateAcl","IdmObjectType","Link","YTApiId","ytApiV3Id","createAdminReqTicketUrl","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","fetchCreatePoolDialogTreeItems","currentTree","dispatch","get","getPoolTrees","path","concat","then","treeItems","type","data","createPool","values","getState","abcService","cluster","v3","create","attributes","Object","assign","name","parent_name","parent","pool_tree","tree","value","abc","toasterName","successContent","errorContent","timeout","idmKind","POOL","poolTree","responsible","waitWhilePoolIsReady","error","code","codes","CANCELLED","Promise","reject","_createAdminReqTicket","createUrl","url","queue","CHECK_REDINESS_TIMEOUT","MAX_POOL_REDINESS_TIMEOUT","TIMEOUT_ERROR","message","children","_ref","startedAt","arguments","length","undefined","startedTime","Date","now","diff","resolve","setTimeout","exists","res"],"sources":["create-pool-dialog.tsx"],"sourcesContent":["import React from 'react';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport {\n CreatePoolDialogAction,\n CreatePoolDialogState,\n} from '../../reducers/scheduling/create-pool-dialog';\nimport {\n CREATE_POOL_DIALOG_TREE_CREATE_FAILURE,\n CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS,\n} from '../../../constants/scheduling';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {prepareAbcService} from '../../../utils/scheduling';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {loadSchedulingData} from './scheduling';\nimport {FIX_MY_TYPE} from '../../../types';\nimport {getCluster} from '../../selectors/global';\nimport {updateAcl} from '../../../utils/acl/acl-api';\nimport {IdmObjectType} from '../../../constants/acl';\nimport Link from '../../../components/Link/Link';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {createAdminReqTicketUrl} from '../../../config';\n\ntype CreatePoolDialogThunkAction<R = any> = ThunkAction<\n R,\n RootState,\n unknown,\n CreatePoolDialogAction\n>;\n\nexport function fetchCreatePoolDialogTreeItems(currentTree: string): CreatePoolDialogThunkAction {\n return (dispatch) => {\n return ytApiV3Id\n .get(YTApiId.getPoolTrees, {path: `//sys/pool_trees/${currentTree}`})\n .then((treeItems: CreatePoolDialogState['treeItems']) => {\n dispatch({\n type: CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS,\n data: {currentTree, treeItems},\n });\n });\n };\n}\n\nexport function createPool(values: FIX_MY_TYPE): CreatePoolDialogThunkAction {\n return (dispatch, getState) => {\n const {abcService} = values;\n const cluster = getCluster(getState()) as string;\n\n return wrapApiPromiseByToaster(\n yt.v3.create({\n type: 'scheduler_pool',\n attributes: Object.assign(\n {\n name: values.name,\n parent_name: values.parent,\n pool_tree: values.tree,\n },\n !abcService || !abcService.value\n ? {}\n : {\n abc: prepareAbcService(abcService),\n },\n ),\n }),\n {\n toasterName: `create_${values.name}`,\n successContent: `Successfully created ${values.name}. Please wait.`,\n errorContent: `'${values.name}' pool creation failed`,\n timeout: 10000,\n },\n )\n .then(() => {\n updateAcl(cluster, values.name, {\n idmKind: IdmObjectType.POOL,\n poolTree: values.tree,\n responsible: values.responsible,\n });\n\n return waitWhilePoolIsReady(values).then(() => {\n dispatch(loadSchedulingData());\n });\n })\n .catch((error) => {\n if (error?.code === yt.codes.CANCELLED) {\n return;\n }\n\n dispatch({\n type: CREATE_POOL_DIALOG_TREE_CREATE_FAILURE,\n data: error,\n });\n\n return Promise.reject(error);\n });\n };\n}\n\nconst {url: createUrl, queue} = createAdminReqTicketUrl();\n\nconst CHECK_REDINESS_TIMEOUT = 1500;\nconst MAX_POOL_REDINESS_TIMEOUT = 10 * 1000; // the value is provided by @renadeen\nconst TIMEOUT_ERROR = {\n message: (\n <div>\n The pool was not appeared in orchidea in 10 seconds.\n {createUrl ? (\n <>\n Please fill a ticket for <Link url={createUrl}>{queue}</Link>\n </>\n ) : (\n \"Please report it to the cluster's support team.\"\n )}\n .\n </div>\n ),\n};\n\nfunction waitWhilePoolIsReady({name, tree}: {name: string; tree: string}, startedAt = 0) {\n const startedTime = startedAt || Date.now();\n const diff = Date.now() - startedTime;\n if (diff > MAX_POOL_REDINESS_TIMEOUT) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n yt.v3\n .exists({\n path: `//sys/scheduler/orchid/scheduler/scheduling_info_per_pool_tree/${tree}/fair_share_info/pools/${name}`,\n })\n .then((res: boolean) => {\n if (res) {\n return resolve(true);\n } else {\n return resolve(waitWhilePoolIsReady({name, tree}, startedTime));\n }\n })\n .catch((error: unknown) => {\n if (error !== TIMEOUT_ERROR) {\n return resolve(waitWhilePoolIsReady({name, tree}, startedTime));\n }\n\n return reject(error);\n });\n }, CHECK_REDINESS_TIMEOUT);\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","CREATE_POOL_DIALOG_TREE_CREATE_FAILURE","CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS","yt","prepareAbcService","wrapApiPromiseByToaster","loadSchedulingData","getCluster","updateAcl","IdmObjectType","Link","YTApiId","ytApiV3Id","createAdminReqTicketUrl","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","fetchCreatePoolDialogTreeItems","currentTree","dispatch","get","getPoolTrees","path","concat","then","treeItems","type","data","createPool","values","getState","abcService","cluster","v3","create","attributes","Object","assign","name","parent_name","parent","pool_tree","tree","value","abc","toasterName","successContent","errorContent","timeout","idmKind","POOL","poolTree","responsible","waitWhilePoolIsReady","error","code","codes","CANCELLED","Promise","reject","_createAdminReqTicket","createUrl","url","queue","CHECK_REDINESS_TIMEOUT","MAX_POOL_REDINESS_TIMEOUT","TIMEOUT_ERROR","message","children","_ref","startedAt","arguments","length","undefined","startedTime","Date","now","diff","resolve","setTimeout","exists","res"],"sources":["create-pool-dialog.tsx"],"sourcesContent":["import React from 'react';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../reducers';\nimport {\n CreatePoolDialogAction,\n CreatePoolDialogState,\n} from '../../reducers/scheduling/create-pool-dialog';\nimport {\n CREATE_POOL_DIALOG_TREE_CREATE_FAILURE,\n CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS,\n} from '../../../constants/scheduling';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {prepareAbcService} from '../../../utils/scheduling';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {loadSchedulingData} from './scheduling-ts';\nimport {FIX_MY_TYPE} from '../../../types';\nimport {getCluster} from '../../selectors/global';\nimport {updateAcl} from '../../../utils/acl/acl-api';\nimport {IdmObjectType} from '../../../constants/acl';\nimport Link from '../../../components/Link/Link';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {createAdminReqTicketUrl} from '../../../config';\n\ntype CreatePoolDialogThunkAction<R = any> = ThunkAction<\n R,\n RootState,\n unknown,\n CreatePoolDialogAction\n>;\n\nexport function fetchCreatePoolDialogTreeItems(currentTree: string): CreatePoolDialogThunkAction {\n return (dispatch) => {\n return ytApiV3Id\n .get(YTApiId.getPoolTrees, {path: `//sys/pool_trees/${currentTree}`})\n .then((treeItems: CreatePoolDialogState['treeItems']) => {\n dispatch({\n type: CREATE_POOL_DIALOG_TREE_ITEMS_SUCCESS,\n data: {currentTree, treeItems},\n });\n });\n };\n}\n\nexport function createPool(values: FIX_MY_TYPE): CreatePoolDialogThunkAction {\n return (dispatch, getState) => {\n const {abcService} = values;\n const cluster = getCluster(getState()) as string;\n\n return wrapApiPromiseByToaster(\n yt.v3.create({\n type: 'scheduler_pool',\n attributes: Object.assign(\n {\n name: values.name,\n parent_name: values.parent,\n pool_tree: values.tree,\n },\n !abcService || !abcService.value\n ? {}\n : {\n abc: prepareAbcService(abcService),\n },\n ),\n }),\n {\n toasterName: `create_${values.name}`,\n successContent: `Successfully created ${values.name}. Please wait.`,\n errorContent: `'${values.name}' pool creation failed`,\n timeout: 10000,\n },\n )\n .then(() => {\n updateAcl(cluster, values.name, {\n idmKind: IdmObjectType.POOL,\n poolTree: values.tree,\n responsible: values.responsible,\n });\n\n return waitWhilePoolIsReady(values).then(() => {\n dispatch(loadSchedulingData());\n });\n })\n .catch((error) => {\n if (error?.code === yt.codes.CANCELLED) {\n return;\n }\n\n dispatch({\n type: CREATE_POOL_DIALOG_TREE_CREATE_FAILURE,\n data: error,\n });\n\n return Promise.reject(error);\n });\n };\n}\n\nconst {url: createUrl, queue} = createAdminReqTicketUrl();\n\nconst CHECK_REDINESS_TIMEOUT = 1500;\nconst MAX_POOL_REDINESS_TIMEOUT = 10 * 1000; // the value is provided by @renadeen\nconst TIMEOUT_ERROR = {\n message: (\n <div>\n The pool was not appeared in orchidea in 10 seconds.\n {createUrl ? (\n <>\n Please fill a ticket for <Link url={createUrl}>{queue}</Link>\n </>\n ) : (\n \"Please report it to the cluster's support team.\"\n )}\n .\n </div>\n ),\n};\n\nfunction waitWhilePoolIsReady({name, tree}: {name: string; tree: string}, startedAt = 0) {\n const startedTime = startedAt || Date.now();\n const diff = Date.now() - startedTime;\n if (diff > MAX_POOL_REDINESS_TIMEOUT) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n yt.v3\n .exists({\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${name}`,\n })\n .then((res: boolean) => {\n if (res) {\n return resolve(true);\n } else {\n return resolve(waitWhilePoolIsReady({name, tree}, startedTime));\n }\n })\n .catch((error: unknown) => {\n if (error !== TIMEOUT_ERROR) {\n return resolve(waitWhilePoolIsReady({name, tree}, startedTime));\n }\n\n return reject(error);\n });\n }, CHECK_REDINESS_TIMEOUT);\n });\n}\n"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ThunkAction } from 'redux-thunk';
2
+ import { RootState } from '../../reducers';
3
+ import { ExpandedPoolsAction } from '../../reducers/scheduling/expanded-pools';
4
+ import { SchedulingAction } from '../../../store/reducers/scheduling/scheduling';
5
+ type ExpandedPoolsThunkAction = ThunkAction<any, RootState, any, ExpandedPoolsAction | SchedulingAction>;
6
+ export declare function loadExpandedPools(tree: string): ExpandedPoolsThunkAction;
7
+ export declare function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction;
8
+ export declare function resetExpandedPools(tree: string): ExpandedPoolsThunkAction;
9
+ export declare function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any>;
10
+ export declare function getPoolPathsByName(poolName: string): ThunkAction<{
11
+ fullPath: string;
12
+ orchidPath: string;
13
+ }, RootState, unknown, any>;
14
+ export declare function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction;
15
+ export {};
@@ -0,0 +1,363 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _toPropertyKey from "@babel/runtime/helpers/toPropertyKey";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
5
+ import _reduce from "lodash/reduce";
6
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
7
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
+ import _createClass from "@babel/runtime/helpers/createClass";
9
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
10
+ import _inherits from "@babel/runtime/helpers/inherits";
11
+ import _createSuper from "@babel/runtime/helpers/createSuper";
12
+ import _wrapNativeSuper from "@babel/runtime/helpers/wrapNativeSuper";
13
+ import { Toaster } from '@gravity-ui/uikit';
14
+ import { YTApiId, ytApiV3Id } from '../../../rum/rum-wrap-api';
15
+ import { splitBatchResults } from '../../../utils/utils';
16
+ import { makeGet, makeList } from '../../../utils/batch';
17
+ import { CHANGE_POOL, ROOT_POOL_NAME, SCHEDULING_EXPANDED_POOLS_FAILURE, SCHEDULING_EXPANDED_POOLS_PARTITION, SCHEDULING_EXPANDED_POOLS_REQUEST, SCHEDULING_EXPANDED_POOLS_SUCCESS } from '../../../constants/scheduling';
18
+ import { calculatePoolPath, getPool, getPools, getTree } from '../../selectors/scheduling/scheduling';
19
+ import { getExpandedPoolsLoadAll, getSchedulingOperationsExpandedPools } from '../../selectors/scheduling/expanded-pools';
20
+ import { EMPTY_OBJECT } from '../../../constants/empty';
21
+ import { getSchedulingPoolsMapByName } from '../../selectors/scheduling/scheduling-pools';
22
+ import { isSupportedSchedulingChildrenByPool } from '../../../store/selectors/thor/support';
23
+ import CancelHelper, { isCancelled } from '../../../utils/cancel-helper';
24
+ import { flattenAttributes } from '../../../utils/scheduling/scheduling';
25
+ var cancelHelper = new CancelHelper();
26
+ var POOL_FIELDS_TO_LOAD = ['accumulated_resource_ratio_volume', 'accumulated_resource_volume', 'demand_ratio', 'detailed_fair_share', 'dominant_resource', 'estimated_burst_usage_duration_sec', 'fair_share_ratio', 'fifo_index', 'integral_guarantee_type', 'is_ephemeral', 'max_operation_count', 'max_running_operation_count', 'max_share_ratio', 'min_share_ratio', 'mode', 'operation_count', 'parent', 'pool_operation_count', 'child_pool_count', 'resource_demand', 'resource_limits', 'resource_usage', 'promised_fair_share_resources', 'running_operation_count', 'specified_burst_guarantee_resources', 'specified_resource_flow', 'starvation_status', 'starving', 'strong_guarantee_resources', 'usage_ratio', 'weight', 'abc'];
27
+ var POOL_TREE_GET_ATTRS = ['integral_guarantees', 'weight', 'max_operation_count', 'max_running_operation_count', 'strong_guarantee_resources', 'resource_limits', 'forbid_immediate_operations', 'create_ephemeral_subpools', 'fifo_sort_parameters', 'config', 'folder_id'];
28
+ var EmptyFullPath = /*#__PURE__*/function (_Error) {
29
+ _inherits(EmptyFullPath, _Error);
30
+ var _super = _createSuper(EmptyFullPath);
31
+ function EmptyFullPath() {
32
+ _classCallCheck(this, EmptyFullPath);
33
+ return _super.apply(this, arguments);
34
+ }
35
+ return _createClass(EmptyFullPath);
36
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
37
+ export function loadExpandedPools(tree) {
38
+ return function (dispatch, getState) {
39
+ var pool = getPool(getState());
40
+ if (!tree) {
41
+ return undefined;
42
+ }
43
+ if (pool === ROOT_POOL_NAME) {
44
+ return dispatch(loadExpandedOperationsAndPools(tree));
45
+ } else {
46
+ return ytApiV3Id.executeBatch(YTApiId.schedulingPoolFullPath, {
47
+ requests: [{
48
+ command: 'get',
49
+ parameters: {
50
+ path: "//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/pools/").concat(pool),
51
+ fields: ['is_ephemeral', 'full_path']
52
+ }
53
+ }]
54
+ }).then(function (_ref) {
55
+ var _ref2 = _slicedToArray(_ref, 1),
56
+ output = _ref2[0].output;
57
+ var _ref3 = output !== null && output !== void 0 ? output : {},
58
+ full_path = _ref3.full_path,
59
+ is_ephemeral = _ref3.is_ephemeral;
60
+ if (!full_path) {
61
+ throw new EmptyFullPath();
62
+ } else {
63
+ dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));
64
+ dispatch(loadExpandedOperationsAndPools(tree));
65
+ }
66
+ })["catch"](function (e) {
67
+ if (e instanceof EmptyFullPath) {
68
+ dispatch({
69
+ type: CHANGE_POOL,
70
+ data: {
71
+ pool: ROOT_POOL_NAME
72
+ }
73
+ });
74
+ /**
75
+ * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.
76
+ * The call will be triggered by SchedulingExpandedPoolsUpdater.
77
+ */
78
+ // dispatch(loadExpandedOperationsAndPools(tree));
79
+ } else {
80
+ new Toaster().add({
81
+ name: 'schedulingPoolFullPath',
82
+ type: 'error',
83
+ title: ''
84
+ });
85
+ }
86
+ });
87
+ }
88
+ };
89
+ }
90
+ function loadExpandedOperationsAndPools(tree) {
91
+ return function (dispatch, getState) {
92
+ var _getSchedulingOperati;
93
+ var state = getState();
94
+ var loadAll = getExpandedPoolsLoadAll(state);
95
+ var expandedPools = loadAll ? new Map() : (_getSchedulingOperati = getSchedulingOperationsExpandedPools(state)[tree]) !== null && _getSchedulingOperati !== void 0 ? _getSchedulingOperati : new Map();
96
+ var expandedPoolNames = _toConsumableArray(expandedPools.keys());
97
+ var operationsExpandedPools = _toConsumableArray(expandedPoolNames);
98
+ var operationsRequests = [];
99
+ if (loadAll) {
100
+ operationsRequests.push(makeGet("//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/fair_share_info/operations")));
101
+ } else {
102
+ var prefix = "//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/operations_by_pool");
103
+ operationsExpandedPools.forEach(function (item) {
104
+ operationsRequests.push(makeGet("".concat(prefix, "/").concat(item)));
105
+ });
106
+ }
107
+ var loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);
108
+ var poolsRequests = [];
109
+ var poolsChildrenRequests = [];
110
+ var poolsCypressDataRequests = [];
111
+ var poolsExpandedPools = -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME) ? expandedPoolNames : [ROOT_POOL_NAME].concat(_toConsumableArray(expandedPoolNames));
112
+ if (loadAllPools) {
113
+ poolsRequests.push(makeGet("//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/pools"), {
114
+ fields: POOL_FIELDS_TO_LOAD
115
+ }));
116
+ poolsCypressDataRequests.push(makeGet("//sys/pool_trees/".concat(tree), {
117
+ attributes: POOL_TREE_GET_ATTRS
118
+ }));
119
+ } else {
120
+ poolsExpandedPools.forEach(function (pool) {
121
+ var _expandedPools$get;
122
+ poolsRequests.push(makeGet("//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/pools/").concat(pool), {
123
+ fields: POOL_FIELDS_TO_LOAD
124
+ }));
125
+ poolsChildrenRequests.push(makeGet("//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/child_pools_by_pool/").concat(pool), {
126
+ fields: POOL_FIELDS_TO_LOAD
127
+ }));
128
+ var _ref4 = (_expandedPools$get = expandedPools.get(pool)) !== null && _expandedPools$get !== void 0 ? _expandedPools$get : {},
129
+ parentPoolPath = _ref4.parentPoolPath,
130
+ isEphemeral = _ref4.isEphemeral;
131
+ var cypressDataPath = parentPoolPath ? "//sys/pool_trees/".concat(tree, "/").concat(parentPoolPath, "/").concat(pool) : "//sys/pool_trees/".concat(tree, "/").concat(pool);
132
+ if (pool === ROOT_POOL_NAME || !isEphemeral) {
133
+ poolsCypressDataRequests.push(makeList(pool === ROOT_POOL_NAME ? "//sys/pool_trees/".concat(tree) : cypressDataPath, {
134
+ attributes: POOL_TREE_GET_ATTRS
135
+ }));
136
+ }
137
+ });
138
+ }
139
+ cancelHelper.removeAllRequests();
140
+ dispatch({
141
+ type: SCHEDULING_EXPANDED_POOLS_REQUEST
142
+ });
143
+ return Promise.all([operationsRequests.length ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {
144
+ parameters: {
145
+ requests: operationsRequests
146
+ },
147
+ cancellation: cancelHelper.saveCancelToken
148
+ }) : Promise.resolve([]), loadAllPools ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {
149
+ parameters: {
150
+ requests: poolsRequests
151
+ },
152
+ cancellation: cancelHelper.saveCancelToken
153
+ }) : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {
154
+ parameters: {
155
+ requests: poolsRequests
156
+ },
157
+ cancellation: cancelHelper.saveCancelToken
158
+ }), loadAllPools ? Promise.resolve([]) : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {
159
+ parameters: {
160
+ requests: poolsChildrenRequests
161
+ },
162
+ cancellation: cancelHelper.saveCancelToken
163
+ }), !poolsCypressDataRequests.length ? Promise.resolve([]) : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {
164
+ parameters: {
165
+ requests: poolsCypressDataRequests
166
+ },
167
+ cancellation: cancelHelper.saveCancelToken
168
+ })]).then(function (_ref5) {
169
+ var _error$inner_errors;
170
+ var _ref6 = _slicedToArray(_ref5, 4),
171
+ operationsResults = _ref6[0],
172
+ poolsResults = _ref6[1],
173
+ poolsChildrenResults = _ref6[2],
174
+ poolsCypressData = _ref6[3];
175
+ var error = {
176
+ message: 'Failed to load expanded pools'
177
+ };
178
+ var _splitBatchResults = splitBatchResults(operationsResults, error),
179
+ operations = _splitBatchResults.results;
180
+ var rawOperations = _reduce(operations, function (acc, data) {
181
+ return Object.assign(acc, data);
182
+ }, {});
183
+ var rawPools = {};
184
+ var cypressData = {};
185
+ if (loadAllPools) {
186
+ var _splitBatchResults2 = splitBatchResults(poolsResults, error),
187
+ pools = _splitBatchResults2.results;
188
+ var _ref7 = pools !== null && pools !== void 0 ? pools : [],
189
+ _ref8 = _slicedToArray(_ref7, 1),
190
+ _ref8$ = _ref8[0],
191
+ value = _ref8$ === void 0 ? {} : _ref8$;
192
+ Object.assign(rawPools, value);
193
+ var _splitBatchResults3 = splitBatchResults(poolsCypressData, error),
194
+ _splitBatchResults3$r = _slicedToArray(_splitBatchResults3.results, 1),
195
+ data = _splitBatchResults3$r[0];
196
+ Object.assign(cypressData, flattenAttributes(data));
197
+ } else {
198
+ var _splitBatchResults4 = splitBatchResults(poolsResults, error),
199
+ _pools = _splitBatchResults4.results,
200
+ resultIndices = _splitBatchResults4.resultIndices;
201
+ _pools.forEach(function (poolInfo, index) {
202
+ var name = poolsExpandedPools[resultIndices[index]];
203
+ rawPools[name] = poolInfo;
204
+ });
205
+ var _splitBatchResults5 = splitBatchResults(poolsChildrenResults, error),
206
+ poolChildren = _splitBatchResults5.results;
207
+ poolChildren.forEach(function (children) {
208
+ Object.assign(rawPools, children);
209
+ });
210
+ var _splitBatchResults6 = splitBatchResults(poolsCypressData, error),
211
+ cypressDataChildrenPerPool = _splitBatchResults6.results;
212
+ cypressDataChildrenPerPool.forEach(function (poolChildrenCypressData) {
213
+ poolChildrenCypressData.forEach(function (item) {
214
+ cypressData[item.$value] = item;
215
+ });
216
+ });
217
+ }
218
+ dispatch({
219
+ type: SCHEDULING_EXPANDED_POOLS_SUCCESS,
220
+ data: {
221
+ expandedPoolsTree: tree,
222
+ rawOperations: Object.keys(rawOperations).length ? rawOperations : EMPTY_OBJECT,
223
+ rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,
224
+ flattenCypressData: Object.keys(cypressData).length ? cypressData : EMPTY_OBJECT
225
+ }
226
+ });
227
+ if ((_error$inner_errors = error.inner_errors) !== null && _error$inner_errors !== void 0 && _error$inner_errors.length) {
228
+ throw error;
229
+ }
230
+ })["catch"](function (error) {
231
+ if (!isCancelled(error)) {
232
+ dispatch({
233
+ type: SCHEDULING_EXPANDED_POOLS_FAILURE,
234
+ data: {
235
+ error: error
236
+ }
237
+ });
238
+ }
239
+ });
240
+ };
241
+ }
242
+ export function setExpandedPool(poolName, expanded) {
243
+ return function (dispatch, getState) {
244
+ var state = getState();
245
+ var tree = getTree(getState());
246
+ var expandedPools = getSchedulingOperationsExpandedPools(state);
247
+ var poolsByName = getSchedulingPoolsMapByName(state);
248
+ var treeExpandedPools = new Map(expandedPools[tree]);
249
+ if (expanded) {
250
+ var expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);
251
+ treeExpandedPools.set(poolName, expandedPoolInfo);
252
+ } else {
253
+ treeExpandedPools["delete"](poolName);
254
+ }
255
+ dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));
256
+ dispatch(loadExpandedPools(tree));
257
+ };
258
+ }
259
+ function addFullPathToExpandedPoolsNoLoad(tree,
260
+ /**
261
+ * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`
262
+ */
263
+ fullPath, isEphemeral) {
264
+ return function (dispatch, getState) {
265
+ var state = getState();
266
+ var oldExpandedPools = getSchedulingOperationsExpandedPools(state);
267
+ var treeExpandedPools = new Map(oldExpandedPools[tree]);
268
+
269
+ /**
270
+ * `fullPath` value starts from `/`, example: `/mypool/child/subchild`
271
+ * so we have to use `.slice(1)` to remove first empty string
272
+ */
273
+ var parts = fullPath.split('/').slice(1);
274
+ for (var i = 0; i < parts.length; ++i) {
275
+ var poolName = parts[i];
276
+ var parentPoolPath = parts.slice(0, i).join('/');
277
+ treeExpandedPools.set(poolName, {
278
+ parentPoolPath: parentPoolPath,
279
+ isEphemeral: isEphemeral
280
+ });
281
+ }
282
+ dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));
283
+ };
284
+ }
285
+ function updateExpandedPoolNoLoad(tree, treeExpandedPools) {
286
+ return function (dispatch, getState) {
287
+ var oldExpandedPools = getSchedulingOperationsExpandedPools(getState());
288
+ var expandedPools = _objectSpread(_objectSpread({}, oldExpandedPools), {}, _defineProperty({}, tree, treeExpandedPools));
289
+ dispatch({
290
+ type: SCHEDULING_EXPANDED_POOLS_PARTITION,
291
+ data: {
292
+ expandedPools: expandedPools
293
+ }
294
+ });
295
+ };
296
+ }
297
+ export function resetExpandedPools(tree) {
298
+ return function (dispatch, getState) {
299
+ if (!tree) {
300
+ return;
301
+ }
302
+ var state = getState();
303
+ var _getSchedulingOperati2 = getSchedulingOperationsExpandedPools(state),
304
+ old = _getSchedulingOperati2[tree],
305
+ rest = _objectWithoutProperties(_getSchedulingOperati2, [tree].map(_toPropertyKey));
306
+ if (old !== null && old !== void 0 && old.size) {
307
+ dispatch({
308
+ type: SCHEDULING_EXPANDED_POOLS_PARTITION,
309
+ data: {
310
+ expandedPools: _objectSpread(_objectSpread({}, rest), {}, _defineProperty({}, tree, new Map()))
311
+ }
312
+ });
313
+ }
314
+ };
315
+ }
316
+ export function getSchedulingOperationsCount() {
317
+ return function (_dispatch, getState) {
318
+ var state = getState();
319
+ var tree = getSchedulingPoolsMapByName(state);
320
+ var root = tree[ROOT_POOL_NAME];
321
+ return (root === null || root === void 0 ? void 0 : root.operationCount) || 0;
322
+ };
323
+ }
324
+ export function getPoolPathsByName(poolName) {
325
+ return function (_dispatch, getState) {
326
+ var state = getState();
327
+ var pools = getPools(state);
328
+ var tree = getTree(state);
329
+ return {
330
+ fullPath: calculatePoolPath(poolName, pools, tree),
331
+ orchidPath: "//sys/scheduler/orchid/scheduler/pool_trees/".concat(tree, "/fair_share_info/pools/").concat(poolName)
332
+ };
333
+ };
334
+ }
335
+ export function setLoadAllOperations(loadAll) {
336
+ return function (dispatch, getState) {
337
+ var state = getState();
338
+ dispatch({
339
+ type: SCHEDULING_EXPANDED_POOLS_PARTITION,
340
+ data: {
341
+ loadAll: loadAll
342
+ }
343
+ });
344
+ var tree = getTree(state);
345
+ dispatch(loadExpandedPools(tree));
346
+ };
347
+ }
348
+ function calcExpandedPoolInfo(poolName, poolsByName) {
349
+ var _data;
350
+ var data = poolsByName[poolName];
351
+ var isEphemeral = (_data = data) === null || _data === void 0 ? void 0 : _data.isEphemeral;
352
+ var res = '';
353
+ while ((_data2 = data) !== null && _data2 !== void 0 && _data2.parent && data.parent !== ROOT_POOL_NAME) {
354
+ var _data2;
355
+ res = res ? "".concat(data.parent, "/").concat(res) : data.parent;
356
+ data = poolsByName[data.parent];
357
+ }
358
+ return {
359
+ parentPoolPath: res,
360
+ isEphemeral: isEphemeral
361
+ };
362
+ }
363
+ // #sourceMappingURL=expanded-pools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Toaster","YTApiId","ytApiV3Id","splitBatchResults","makeGet","makeList","CHANGE_POOL","ROOT_POOL_NAME","SCHEDULING_EXPANDED_POOLS_FAILURE","SCHEDULING_EXPANDED_POOLS_PARTITION","SCHEDULING_EXPANDED_POOLS_REQUEST","SCHEDULING_EXPANDED_POOLS_SUCCESS","calculatePoolPath","getPool","getPools","getTree","getExpandedPoolsLoadAll","getSchedulingOperationsExpandedPools","EMPTY_OBJECT","getSchedulingPoolsMapByName","isSupportedSchedulingChildrenByPool","CancelHelper","isCancelled","flattenAttributes","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","undefined","loadExpandedOperationsAndPools","executeBatch","schedulingPoolFullPath","requests","command","parameters","path","concat","fields","then","_ref","_ref2","_slicedToArray","output","_ref3","full_path","is_ephemeral","addFullPathToExpandedPoolsNoLoad","e","type","data","add","name","title","_getSchedulingOperati","state","loadAll","expandedPools","Map","expandedPoolNames","_toConsumableArray","keys","operationsExpandedPools","operationsRequests","push","prefix","forEach","item","loadAllPools","poolsRequests","poolsChildrenRequests","poolsCypressDataRequests","poolsExpandedPools","indexOf","attributes","_expandedPools$get","_ref4","get","parentPoolPath","isEphemeral","cypressDataPath","removeAllRequests","Promise","all","length","schedulingLoadOperationsPerPool","cancellation","saveCancelToken","resolve","schedulingLoadPoolsAll","schedulingLoadPoolsPerPool","schedulingLoadChildrenPerPool","schedulingLoadCypressDataPerPool","_ref5","_error$inner_errors","_ref6","operationsResults","poolsResults","poolsChildrenResults","poolsCypressData","error","message","_splitBatchResults","operations","results","rawOperations","_reduce","acc","Object","assign","rawPools","cypressData","_splitBatchResults2","pools","_ref7","_ref8","_ref8$","value","_splitBatchResults3","_splitBatchResults3$r","_splitBatchResults4","resultIndices","poolInfo","index","_splitBatchResults5","poolChildren","children","_splitBatchResults6","cypressDataChildrenPerPool","poolChildrenCypressData","$value","expandedPoolsTree","flattenCypressData","inner_errors","setExpandedPool","poolName","expanded","poolsByName","treeExpandedPools","expandedPoolInfo","calcExpandedPoolInfo","set","updateExpandedPoolNoLoad","fullPath","oldExpandedPools","parts","split","slice","i","join","_objectSpread","_defineProperty","resetExpandedPools","_getSchedulingOperati2","old","rest","_objectWithoutProperties","map","_toPropertyKey","size","getSchedulingOperationsCount","_dispatch","root","operationCount","getPoolPathsByName","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,SAAQA,OAAO,QAAO,mBAAmB;AAQzC,SAAQC,OAAO,EAAEC,SAAS,QAAO,2BAA2B;AAC5D,SAAQC,iBAAiB,QAAO,sBAAsB;AACtD,SAAQC,OAAO,EAAEC,QAAQ,QAAO,sBAAsB;AACtD,SACIC,WAAW,EACXC,cAAc,EACdC,iCAAiC,EACjCC,mCAAmC,EACnCC,iCAAiC,EACjCC,iCAAiC,QAC9B,+BAA+B;AACtC,SAAQC,iBAAiB,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,OAAO,QAAO,uCAAuC;AACnG,SACIC,uBAAuB,EACvBC,oCAAoC,QACjC,2CAA2C;AAClD,SAAQC,YAAY,QAAO,0BAA0B;AACrD,SAAkBC,2BAA2B,QAAO,6CAA6C;AAGjG,SAAQC,mCAAmC,QAAO,uCAAuC;AAEzF,OAAOC,YAAY,IAAGC,WAAW,QAAO,8BAA8B;AACtE,SAAQC,iBAAiB,QAAO,sCAAsC;AAStE,IAAMC,YAAY,GAAG,IAAIH,YAAY,CAAC,CAAC;AAEvC,IAAMI,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;EAAAC,SAAA,CAAAF,aAAA,EAAAC,MAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,aAAA;EAAA,SAAAA,cAAA;IAAAK,eAAA,OAAAL,aAAA;IAAA,OAAAG,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,OAAAC,YAAA,CAAAR,aAAA;AAAA,gBAAAS,gBAAA,CAASC,KAAK;AAEjC,OAAO,SAASC,iBAAiBA,CAACC,IAAY,EAA4B;EACtE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,IAAI,GAAG7B,OAAO,CAAC4B,QAAQ,CAAC,CAAC,CAAC;IAEhC,IAAI,CAACF,IAAI,EAAE;MACP,OAAOI,SAAS;IACpB;IAEA,IAAID,IAAI,KAAKnC,cAAc,EAAE;MACzB,OAAOiC,QAAQ,CAACI,8BAA8B,CAACL,IAAI,CAAC,CAAC;IACzD,CAAC,MAAM;MACH,OAAOrC,SAAS,CACX2C,YAAY,CACT5C,OAAO,CAAC6C,sBAAsB,EAC9B;QACIC,QAAQ,EAAE,CACN;UACIC,OAAO,EAAE,KAAc;UACvBC,UAAU,EAAE;YACRC,IAAI,iDAAAC,MAAA,CAAiDZ,IAAI,aAAAY,MAAA,CAAUT,IAAI,CAAE;YACzEU,MAAM,EAAE,CAAC,cAAc,EAAE,WAAW;UACxC;QACJ,CAAC;MAET,CACJ,CAAC,CACAC,IAAI,CAAC,UAAAC,IAAA,EAAgB;QAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,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,IAAIhC,aAAa,CAAC,CAAC;QAC7B,CAAC,MAAM;UACHa,QAAQ,CAACqB,gCAAgC,CAACtB,IAAI,EAAEoB,SAAS,EAAEC,YAAY,CAAC,CAAC;UACzEpB,QAAQ,CAACI,8BAA8B,CAACL,IAAI,CAAC,CAAC;QAClD;MACJ,CAAC,CAAC,SACI,CAAC,UAACuB,CAAC,EAAK;QACV,IAAIA,CAAC,YAAYnC,aAAa,EAAE;UAC5Ba,QAAQ,CAAC;YAACuB,IAAI,EAAEzD,WAAW;YAAE0D,IAAI,EAAE;cAACtB,IAAI,EAAEnC;YAAc;UAAC,CAAC,CAAC;UAC3D;AACxB;AACA;AACA;UACwB;QACJ,CAAC,MAAM;UACH,IAAIP,OAAO,CAAC,CAAC,CAACiE,GAAG,CAAC;YACdC,IAAI,EAAE,wBAAwB;YAC9BH,IAAI,EAAE,OAAO;YACbI,KAAK,EAAE;UACX,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;IACV;EACJ,CAAC;AACL;AAEA,SAASvB,8BAA8BA,CAACL,IAAY,EAA4B;EAC5E,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAAA,IAAA2B,qBAAA;IAC3B,IAAMC,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IAExB,IAAM6B,OAAO,GAAGtD,uBAAuB,CAACqD,KAAK,CAAC;IAC9C,IAAME,aAA4C,GAAGD,OAAO,GACtD,IAAIE,GAAG,CAAC,CAAC,IAAAJ,qBAAA,GACTnD,oCAAoC,CAACoD,KAAK,CAAC,CAAC9B,IAAI,CAAC,cAAA6B,qBAAA,cAAAA,qBAAA,GAAI,IAAII,GAAG,CAAC,CAAC;IACpE,IAAMC,iBAAgC,GAAAC,kBAAA,CAAOH,aAAa,CAACI,IAAI,CAAC,CAAC,CAAC;IAElE,IAAMC,uBAAsC,GAAAF,kBAAA,CAAOD,iBAAiB,CAAC;IAErE,IAAMI,kBAA0C,GAAG,EAAE;IACrD,IAAIP,OAAO,EAAE;MACTO,kBAAkB,CAACC,IAAI,CACnB1E,OAAO,gDAAA+C,MAAA,CAC4CZ,IAAI,gCACvD,CACJ,CAAC;IACL,CAAC,MAAM;MACH,IAAMwC,MAAM,kDAAA5B,MAAA,CAAkDZ,IAAI,wBAAqB;MACvFqC,uBAAuB,CAACI,OAAO,CAAC,UAACC,IAAI,EAAK;QACtCJ,kBAAkB,CAACC,IAAI,CAAC1E,OAAO,IAAA+C,MAAA,CAAI4B,MAAM,OAAA5B,MAAA,CAAI8B,IAAI,CAAE,CAAC,CAAC;MACzD,CAAC,CAAC;IACN;IAEA,IAAMC,YAAY,GAAGZ,OAAO,IAAI,CAAClD,mCAAmC,CAACiD,KAAK,CAAC;IAC3E,IAAMc,aAAqC,GAAG,EAAE;IAChD,IAAMC,qBAA6C,GAAG,EAAE;IACxD,IAAMC,wBAAgD,GAAG,EAAE;IAE3D,IAAMC,kBAAiC,GACnC,CAAC,CAAC,KAAKb,iBAAiB,CAACc,OAAO,CAAChF,cAAc,CAAC,GAC1CkE,iBAAiB,IAChBlE,cAAc,EAAA4C,MAAA,CAAAuB,kBAAA,CAAKD,iBAAiB,EAAC;IAEhD,IAAIS,YAAY,EAAE;MACdC,aAAa,CAACL,IAAI,CACd1E,OAAO,gDAAA+C,MAAA,CAAgDZ,IAAI,aAAU;QACjEa,MAAM,EAAE3B;MACZ,CAAC,CACL,CAAC;MACD4D,wBAAwB,CAACP,IAAI,CACzB1E,OAAO,qBAAA+C,MAAA,CAAqBZ,IAAI,GAAI;QAACiD,UAAU,EAAE9D;MAAmB,CAAC,CACzE,CAAC;IACL,CAAC,MAAM;MACH4D,kBAAkB,CAACN,OAAO,CAAC,UAACtC,IAAI,EAAK;QAAA,IAAA+C,kBAAA;QACjCN,aAAa,CAACL,IAAI,CACd1E,OAAO,gDAAA+C,MAAA,CAAgDZ,IAAI,aAAAY,MAAA,CAAUT,IAAI,GAAI;UACzEU,MAAM,EAAE3B;QACZ,CAAC,CACL,CAAC;QACD2D,qBAAqB,CAACN,IAAI,CACtB1E,OAAO,gDAAA+C,MAAA,CAC4CZ,IAAI,2BAAAY,MAAA,CAAwBT,IAAI,GAC/E;UACIU,MAAM,EAAE3B;QACZ,CACJ,CACJ,CAAC;QACD,IAAAiE,KAAA,IAAAD,kBAAA,GAAsClB,aAAa,CAACoB,GAAG,CAACjD,IAAI,CAAC,cAAA+C,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAC;UAA5DG,cAAc,GAAAF,KAAA,CAAdE,cAAc;UAAEC,WAAW,GAAAH,KAAA,CAAXG,WAAW;QAClC,IAAMC,eAAe,GAAGF,cAAc,uBAAAzC,MAAA,CACZZ,IAAI,OAAAY,MAAA,CAAIyC,cAAc,OAAAzC,MAAA,CAAIT,IAAI,wBAAAS,MAAA,CAC9BZ,IAAI,OAAAY,MAAA,CAAIT,IAAI,CAAE;QACxC,IAAIA,IAAI,KAAKnC,cAAc,IAAI,CAACsF,WAAW,EAAE;UACzCR,wBAAwB,CAACP,IAAI,CACzBzE,QAAQ,CACJqC,IAAI,KAAKnC,cAAc,uBAAA4C,MAAA,CAAuBZ,IAAI,IAAKuD,eAAe,EACtE;YACIN,UAAU,EAAE9D;UAChB,CACJ,CACJ,CAAC;QACL;MACJ,CAAC,CAAC;IACN;IAEAF,YAAY,CAACuE,iBAAiB,CAAC,CAAC;IAEhCvD,QAAQ,CAAC;MAACuB,IAAI,EAAErD;IAAiC,CAAC,CAAC;IACnD,OAAOsF,OAAO,CAACC,GAAG,CAAC,CACfpB,kBAAkB,CAACqB,MAAM,GACnBhG,SAAS,CAAC2C,YAAY,CAAC5C,OAAO,CAACkG,+BAA+B,EAAE;MAC5DlD,UAAU,EAAE;QAACF,QAAQ,EAAE8B;MAAkB,CAAC;MAC1CuB,YAAY,EAAE5E,YAAY,CAAC6E;IAC/B,CAAC,CAAC,GACFL,OAAO,CAACM,OAAO,CAAC,EAAE,CAAC,EACzBpB,YAAY,GACNhF,SAAS,CAAC2C,YAAY,CAAC5C,OAAO,CAACsG,sBAAsB,EAAE;MACnDtD,UAAU,EAAE;QAACF,QAAQ,EAAEoC;MAAa,CAAC;MACrCiB,YAAY,EAAE5E,YAAY,CAAC6E;IAC/B,CAAC,CAAC,GACFnG,SAAS,CAAC2C,YAAY,CAAC5C,OAAO,CAACuG,0BAA0B,EAAE;MACvDvD,UAAU,EAAE;QAACF,QAAQ,EAAEoC;MAAa,CAAC;MACrCiB,YAAY,EAAE5E,YAAY,CAAC6E;IAC/B,CAAC,CAAC,EACRnB,YAAY,GACNc,OAAO,CAACM,OAAO,CAAC,EAAE,CAAC,GACnBpG,SAAS,CAAC2C,YAAY,CAAC5C,OAAO,CAACwG,6BAA6B,EAAE;MAC1DxD,UAAU,EAAE;QAACF,QAAQ,EAAEqC;MAAqB,CAAC;MAC7CgB,YAAY,EAAE5E,YAAY,CAAC6E;IAC/B,CAAC,CAAC,EACR,CAAChB,wBAAwB,CAACa,MAAM,GAC1BF,OAAO,CAACM,OAAO,CAAC,EAAE,CAAC,GACnBpG,SAAS,CAAC2C,YAAY,CAAC5C,OAAO,CAACyG,gCAAgC,EAAE;MAC7DzD,UAAU,EAAE;QAACF,QAAQ,EAAEsC;MAAwB,CAAC;MAChDe,YAAY,EAAE5E,YAAY,CAAC6E;IAC/B,CAAC,CAAC,CACX,CAAC,CACGhD,IAAI,CAAC,UAAAsD,KAAA,EAA+E;MAAA,IAAAC,mBAAA;MAAA,IAAAC,KAAA,GAAArD,cAAA,CAAAmD,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,GAA8BjH,iBAAiB,CAAC2G,iBAAiB,EAAEI,KAAK,CAAC;QAAzDG,UAAU,GAAAD,kBAAA,CAAnBE,OAAO;MACd,IAAMC,aAAa,GAAGC,OAAA,CAClBH,UAAU,EACV,UAACI,GAAG,EAAEzD,IAAI,EAAK;QACX,OAAO0D,MAAM,CAACC,MAAM,CAACF,GAAG,EAAEzD,IAAI,CAAC;MACnC,CAAC,EACD,CAAC,CACL,CAAC;MAED,IAAM4D,QAAkC,GAAG,CAAC,CAAC;MAC7C,IAAMC,WAA4C,GAAG,CAAC,CAAC;MAEvD,IAAI3C,YAAY,EAAE;QACd,IAAA4C,mBAAA,GAAyB3H,iBAAiB,CACtC4G,YAAY,EACZG,KACJ,CAAC;UAHea,KAAK,GAAAD,mBAAA,CAAdR,OAAO;QAId,IAAAU,KAAA,GAAqBD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;UAAAE,KAAA,GAAAzE,cAAA,CAAAwE,KAAA;UAAAE,MAAA,GAAAD,KAAA;UAAzBE,KAAK,GAAAD,MAAA,cAAG,CAAC,CAAC,GAAAA,MAAA;QACjBR,MAAM,CAACC,MAAM,CAACC,QAAQ,EAAEO,KAAK,CAAC;QAE9B,IAAAC,mBAAA,GAEIjI,iBAAiB,CAAC8G,gBAAgB,EAAEC,KAAK,CAAC;UAAAmB,qBAAA,GAAA7E,cAAA,CAAA4E,mBAAA,CAD1Cd,OAAO;UAAGtD,IAAI,GAAAqE,qBAAA;QAElBX,MAAM,CAACC,MAAM,CAACE,WAAW,EAAEtG,iBAAiB,CAACyC,IAAI,CAAC,CAAC;MACvD,CAAC,MAAM;QACH,IAAAsE,mBAAA,GAAwCnI,iBAAiB,CACrD4G,YAAY,EACZG,KACJ,CAAC;UAHea,MAAK,GAAAO,mBAAA,CAAdhB,OAAO;UAASiB,aAAa,GAAAD,mBAAA,CAAbC,aAAa;QAIpCR,MAAK,CAAC/C,OAAO,CAAC,UAACwD,QAAQ,EAAEC,KAAK,EAAK;UAC/B,IAAMvE,IAAI,GAAGoB,kBAAkB,CAACiD,aAAa,CAACE,KAAK,CAAC,CAAC;UACrDb,QAAQ,CAAC1D,IAAI,CAAC,GAAGsE,QAAQ;QAC7B,CAAC,CAAC;QAEF,IAAAE,mBAAA,GAAgCvI,iBAAiB,CAC7C6G,oBAAoB,EACpBE,KACJ,CAAC;UAHeyB,YAAY,GAAAD,mBAAA,CAArBpB,OAAO;QAIdqB,YAAY,CAAC3D,OAAO,CAAC,UAAC4D,QAAQ,EAAK;UAC/BlB,MAAM,CAACC,MAAM,CAACC,QAAQ,EAAEgB,QAAQ,CAAC;QACrC,CAAC,CAAC;QAEF,IAAAC,mBAAA,GAA8C1I,iBAAiB,CAE7D8G,gBAAgB,EAAEC,KAAK,CAAC;UAFV4B,0BAA0B,GAAAD,mBAAA,CAAnCvB,OAAO;QAGdwB,0BAA0B,CAAC9D,OAAO,CAAC,UAAC+D,uBAAuB,EAAK;UAC5DA,uBAAuB,CAAC/D,OAAO,CAAC,UAACC,IAAI,EAAK;YACtC4C,WAAW,CAAC5C,IAAI,CAAC+D,MAAM,CAAC,GAAG/D,IAAI;UACnC,CAAC,CAAC;QACN,CAAC,CAAC;MACN;MAEAzC,QAAQ,CAAC;QACLuB,IAAI,EAAEpD,iCAAiC;QACvCqD,IAAI,EAAE;UACFiF,iBAAiB,EAAE1G,IAAI;UACvBgF,aAAa,EAAEG,MAAM,CAAC/C,IAAI,CAAC4C,aAAa,CAAC,CAACrB,MAAM,GAC1CqB,aAAa,GACbrG,YAAY;UAClB0G,QAAQ,EAAEF,MAAM,CAAC/C,IAAI,CAACiD,QAAQ,CAAC,CAAC1B,MAAM,GAAG0B,QAAQ,GAAG1G,YAAY;UAChEgI,kBAAkB,EAAExB,MAAM,CAAC/C,IAAI,CAACkD,WAAW,CAAC,CAAC3B,MAAM,GAC7C2B,WAAW,GACX3G;QACV;MACJ,CAAC,CAAC;MAEF,KAAA0F,mBAAA,GAAIM,KAAK,CAACiC,YAAY,cAAAvC,mBAAA,eAAlBA,mBAAA,CAAoBV,MAAM,EAAE;QAC5B,MAAMgB,KAAK;MACf;IACJ,CAAC,CAAC,SACI,CAAC,UAACA,KAAK,EAAK;MACd,IAAI,CAAC5F,WAAW,CAAC4F,KAAK,CAAC,EAAE;QACrB1E,QAAQ,CAAC;UACLuB,IAAI,EAAEvD,iCAAiC;UACvCwD,IAAI,EAAE;YAACkD,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAEA,OAAO,SAASkC,eAAeA,CAACC,QAAgB,EAAEC,QAAiB,EAA4B;EAC3F,OAAO,UAAC9G,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxB,IAAMF,IAAI,GAAGxB,OAAO,CAAC0B,QAAQ,CAAC,CAAC,CAAC;IAChC,IAAM8B,aAAa,GAAGtD,oCAAoC,CAACoD,KAAK,CAAC;IAEjE,IAAMkF,WAAW,GAAGpI,2BAA2B,CAACkD,KAAK,CAAC;IAEtD,IAAMmF,iBAAiB,GAAG,IAAIhF,GAAG,CAACD,aAAa,CAAChC,IAAI,CAAC,CAAC;IACtD,IAAI+G,QAAQ,EAAE;MACV,IAAMG,gBAAgB,GAAGC,oBAAoB,CAACL,QAAQ,EAAEE,WAAW,CAAC;MACpEC,iBAAiB,CAACG,GAAG,CAACN,QAAQ,EAAEI,gBAAgB,CAAC;IACrD,CAAC,MAAM;MACHD,iBAAiB,UAAO,CAACH,QAAQ,CAAC;IACtC;IAEA7G,QAAQ,CAACoH,wBAAwB,CAACrH,IAAI,EAAEiH,iBAAiB,CAAC,CAAC;IAC3DhH,QAAQ,CAACF,iBAAiB,CAACC,IAAI,CAAC,CAAC;EACrC,CAAC;AACL;AAEA,SAASsB,gCAAgCA,CACrCtB,IAAY;AACZ;AACJ;AACA;AACIsH,QAAgB,EAChBhE,WAAqB,EACG;EACxB,OAAO,UAACrD,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxB,IAAMqH,gBAAgB,GAAG7I,oCAAoC,CAACoD,KAAK,CAAC;IACpE,IAAMmF,iBAAiB,GAAG,IAAIhF,GAAG,CAACsF,gBAAgB,CAACvH,IAAI,CAAC,CAAC;;IAEzD;AACR;AACA;AACA;IACQ,IAAMwH,KAAK,GAAGF,QAAQ,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;IAE1C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAAC7D,MAAM,EAAE,EAAEgE,CAAC,EAAE;MACnC,IAAMb,QAAQ,GAAGU,KAAK,CAACG,CAAC,CAAC;MACzB,IAAMtE,cAAc,GAAGmE,KAAK,CAACE,KAAK,CAAC,CAAC,EAAEC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MAClDX,iBAAiB,CAACG,GAAG,CAACN,QAAQ,EAAE;QAACzD,cAAc,EAAdA,cAAc;QAAEC,WAAW,EAAXA;MAAW,CAAC,CAAC;IAClE;IAEArD,QAAQ,CAACoH,wBAAwB,CAACrH,IAAI,EAAEiH,iBAAiB,CAAC,CAAC;EAC/D,CAAC;AACL;AAEA,SAASI,wBAAwBA,CAC7BrH,IAAY,EACZiH,iBAAgD,EACxB;EACxB,OAAO,UAAChH,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMqH,gBAAgB,GAAG7I,oCAAoC,CAACwB,QAAQ,CAAC,CAAC,CAAC;IAEzE,IAAM8B,aAAa,GAAA6F,aAAA,CAAAA,aAAA,KACZN,gBAAgB,OAAAO,eAAA,KAClB9H,IAAI,EAAGiH,iBAAiB,EAC5B;IAEDhH,QAAQ,CAAC;MACLuB,IAAI,EAAEtD,mCAAmC;MACzCuD,IAAI,EAAE;QAACO,aAAa,EAAbA;MAAa;IACxB,CAAC,CAAC;EACN,CAAC;AACL;AAEA,OAAO,SAAS+F,kBAAkBA,CAAC/H,IAAY,EAA4B;EACvE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAI,CAACF,IAAI,EAAE;MACP;IACJ;IAEA,IAAM8B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxB,IAAA8H,sBAAA,GAA+BtJ,oCAAoC,CAACoD,KAAK,CAAC;MAA3DmG,GAAG,GAAAD,sBAAA,CAAVhI,IAAI;MAAWkI,IAAI,GAAAC,wBAAA,CAAAH,sBAAA,GAAnBhI,IAAI,EAAAoI,GAAA,CAAAC,cAAA;IAEZ,IAAIJ,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEK,IAAI,EAAE;MACXrI,QAAQ,CAAC;QACLuB,IAAI,EAAEtD,mCAAmC;QACzCuD,IAAI,EAAE;UACFO,aAAa,EAAA6F,aAAA,CAAAA,aAAA,KACNK,IAAI,OAAAJ,eAAA,KACN9H,IAAI,EAAG,IAAIiC,GAAG,CAA2B,CAAC;QAEnD;MACJ,CAAC,CAAC;IACN;EACJ,CAAC;AACL;AAEA,OAAO,SAASsG,4BAA4BA,CAAA,EAA6C;EACrF,OAAO,UAACC,SAAS,EAAEtI,QAAQ,EAAK;IAC5B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IAExB,IAAMF,IAAI,GAAGpB,2BAA2B,CAACkD,KAAK,CAAC;IAC/C,IAAM2G,IAAI,GAAGzI,IAAI,CAAChC,cAAc,CAAC;IACjC,OAAO,CAAAyK,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,cAAc,KAAI,CAAC;EACpC,CAAC;AACL;AAEA,OAAO,SAASC,kBAAkBA,CAC9B7B,QAAgB,EAC4D;EAC5E,OAAO,UAAC0B,SAAS,EAAEtI,QAAQ,EAAK;IAC5B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxB,IAAMsF,KAAK,GAAGjH,QAAQ,CAACuD,KAAK,CAAC;IAC7B,IAAM9B,IAAI,GAAGxB,OAAO,CAACsD,KAAK,CAAC;IAE3B,OAAO;MACHwF,QAAQ,EAAEjJ,iBAAiB,CAACyI,QAAQ,EAAEtB,KAAK,EAAExF,IAAI,CAAC;MAClD4I,UAAU,iDAAAhI,MAAA,CAAiDZ,IAAI,6BAAAY,MAAA,CAA0BkG,QAAQ;IACrG,CAAC;EACL,CAAC;AACL;AAEA,OAAO,SAAS+B,oBAAoBA,CAAC9G,OAAgB,EAA4B;EAC7E,OAAO,UAAC9B,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxBD,QAAQ,CAAC;MACLuB,IAAI,EAAEtD,mCAAmC;MACzCuD,IAAI,EAAE;QAACM,OAAO,EAAPA;MAAO;IAClB,CAAC,CAAC;IAEF,IAAM/B,IAAI,GAAGxB,OAAO,CAACsD,KAAK,CAAC;IAC3B7B,QAAQ,CAACF,iBAAiB,CAACC,IAAI,CAAC,CAAC;EACrC,CAAC;AACL;AAEA,SAASmH,oBAAoBA,CACzBL,QAAgB,EAChBE,WAAqC,EACrB;EAAA,IAAA8B,KAAA;EAChB,IAAIrH,IAAI,GAAGuF,WAAW,CAACF,QAAQ,CAAC;EAChC,IAAMxD,WAAW,IAAAwF,KAAA,GAAGrH,IAAI,cAAAqH,KAAA,uBAAJA,KAAA,CAAMxF,WAAW;EACrC,IAAIyF,GAAG,GAAG,EAAE;EACZ,OAAO,CAAAC,MAAA,GAAAvH,IAAI,cAAAuH,MAAA,eAAJA,MAAA,CAAMC,MAAM,IAAIxH,IAAI,CAACwH,MAAM,KAAKjL,cAAc,EAAE;IAAA,IAAAgL,MAAA;IACnDD,GAAG,GAAGA,GAAG,MAAAnI,MAAA,CAAMa,IAAI,CAACwH,MAAM,OAAArI,MAAA,CAAImI,GAAG,IAAKtH,IAAI,CAACwH,MAAM;IACjDxH,IAAI,GAAGuF,WAAW,CAACvF,IAAI,CAACwH,MAAM,CAAC;EACnC;EACA,OAAO;IAAC5F,cAAc,EAAE0F,GAAG;IAAEzF,WAAW,EAAXA;EAAW,CAAC;AAC7C"}
@@ -1,4 +1,13 @@
1
1
  import { InitialPoolResourceInfo, PoolResourceType } from '../../../utils/scheduling/scheduling';
2
+ import { ThunkAction } from 'redux-thunk';
3
+ import type { RootState } from '../../../store/reducers';
4
+ import type { SchedulingAction } from '../../../store/reducers/scheduling/scheduling';
5
+ import type { PoolInfo } from '../../../store/selectors/scheduling/scheduling-pools';
6
+ type SchedulingThunkAction<T = unknown> = ThunkAction<T, RootState, unknown, SchedulingAction>;
7
+ export declare function loadSchedulingData(): SchedulingThunkAction;
8
+ export declare function deletePool(item?: PoolInfo): SchedulingThunkAction;
9
+ export declare function openPoolDeleteModal(item: PoolInfo): SchedulingAction;
10
+ export declare function closePoolDeleteModal(): SchedulingAction;
2
11
  type PoolResources = Partial<Record<Exclude<PoolResourceType, 'guaranteeType'>, InitialPoolResourceInfo>>;
3
12
  interface SetResourceGuaranteeParams {
4
13
  poolPath: string;
@@ -7,7 +16,12 @@ interface SetResourceGuaranteeParams {
7
16
  };
8
17
  initials: PoolResources;
9
18
  tree: string;
10
- allowTransfer?: boolean;
11
19
  }
12
20
  export declare function setPoolAttributes(params: SetResourceGuaranteeParams): Promise<any>;
21
+ export declare function schedulingLoadFilterAttributes(): SchedulingThunkAction;
22
+ export declare function schedulingSetFilter(filter: string): SchedulingThunkAction;
23
+ export declare function schedulingSetAbcFilter(abcServiceFilter: {
24
+ id: number;
25
+ slug: string;
26
+ }): SchedulingThunkAction;
13
27
  export {};