@ytsaurus/ui 1.14.3 → 1.15.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 (67) hide show
  1. package/build/cjs/@types/core.d.ts +3 -2
  2. package/build/cjs/server/configs/local.js +1 -0
  3. package/build/cjs/server/configs/local.js.map +1 -1
  4. package/build/cjs/shared/ui-settings.d.ts +1 -0
  5. package/build/cjs/shared/ui-settings.js.map +1 -1
  6. package/build/cjs/ui/UIFactory.d.ts +4 -1
  7. package/build/cjs/ui/UIFactory.js +9 -2
  8. package/build/cjs/ui/UIFactory.js.map +1 -1
  9. package/build/cjs/ui/components/Support/Support.js +6 -4
  10. package/build/cjs/ui/components/Support/Support.js.map +1 -1
  11. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
  12. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  13. package/build/cjs/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
  14. package/build/cjs/ui/containers/SupportComponent/SupportComponent.js +24 -0
  15. package/build/cjs/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
  16. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
  17. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
  18. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +1 -1
  19. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  20. package/build/cjs/ui/utils/scheduling/pool-child.js +1 -1
  21. package/build/cjs/ui/utils/scheduling/pool-child.js.map +1 -1
  22. package/build/esm/@types/core.d.ts +3 -2
  23. package/build/esm/server/configs/local.js +2 -1
  24. package/build/esm/server/configs/local.js.map +1 -1
  25. package/build/esm/shared/ui-settings.d.ts +1 -0
  26. package/build/esm/shared/ui-settings.js.map +1 -1
  27. package/build/esm/ui/UIFactory.d.ts +4 -1
  28. package/build/esm/ui/UIFactory.js +9 -2
  29. package/build/esm/ui/UIFactory.js.map +1 -1
  30. package/build/esm/ui/components/Support/Support.js +6 -4
  31. package/build/esm/ui/components/Support/Support.js.map +1 -1
  32. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
  33. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  34. package/build/esm/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
  35. package/build/esm/ui/containers/SupportComponent/SupportComponent.js +18 -0
  36. package/build/esm/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
  37. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
  38. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
  39. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.scss +6 -1
  40. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +1 -1
  41. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  42. package/build/esm/ui/utils/scheduling/pool-child.js +1 -1
  43. package/build/esm/ui/utils/scheduling/pool-child.js.map +1 -1
  44. package/dist/public/build/assets-manifest.json +16 -16
  45. package/dist/public/build/css/{89.3546950a.chunk.css → 861.c5a67589.chunk.css} +1 -1
  46. package/dist/public/build/css/861.c5a67589.chunk.css.map +1 -0
  47. package/dist/public/build/css/{main.e919e247.css → main.675cb8c4.css} +2 -2
  48. package/dist/public/build/css/main.675cb8c4.css.map +1 -0
  49. package/dist/public/build/js/861.9703a31c.chunk.js +2 -0
  50. package/dist/public/build/js/861.9703a31c.chunk.js.map +1 -0
  51. package/dist/public/build/js/{943.f6342dd5.chunk.js → 943.40ff6440.chunk.js} +2 -2
  52. package/dist/public/build/js/{943.f6342dd5.chunk.js.map → 943.40ff6440.chunk.js.map} +1 -1
  53. package/dist/public/build/js/main.fb68ce2c.js +3 -0
  54. package/dist/public/build/js/{main.b8adf234.js.map → main.fb68ce2c.js.map} +1 -1
  55. package/dist/public/build/js/runtime.ac9a4336.js +2 -0
  56. package/dist/public/build/js/{runtime.fd8cf219.js.map → runtime.ac9a4336.js.map} +1 -1
  57. package/dist/public/build/manifest.json +12 -12
  58. package/dist/server/configs/local.js +1 -0
  59. package/dist/shared/ui-settings.d.ts +1 -0
  60. package/package.json +2 -2
  61. package/dist/public/build/css/89.3546950a.chunk.css.map +0 -1
  62. package/dist/public/build/css/main.e919e247.css.map +0 -1
  63. package/dist/public/build/js/89.07445d46.chunk.js +0 -2
  64. package/dist/public/build/js/89.07445d46.chunk.js.map +0 -1
  65. package/dist/public/build/js/main.b8adf234.js +0 -3
  66. package/dist/public/build/js/runtime.fd8cf219.js +0 -2
  67. /package/dist/public/build/js/{main.b8adf234.js.LICENSE.txt → main.fb68ce2c.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","cn","UIFactory","getCluster","getCurrentUserName","useSelector","jsx","_jsx","jsxs","_jsxs","b","Support","_ref","children","login","cluster","makeContent","useCallback","onSupportClick","className","onClick","xmlns","width","height","viewBox","id","x1","x2","y1","y2","offset","stopColor","d","fill","strokeWidth","stroke","makeSupportContent"],"sources":["Support.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport './Support.scss';\nimport UIFactory from '../../UIFactory';\nimport {getCluster, getCurrentUserName} from '../../store/selectors/global';\nimport {useSelector} from 'react-redux';\n\ninterface SupportProps {\n children?: React.ReactNode;\n}\n\nconst b = cn('support-form');\n\nexport function Support({children}: SupportProps) {\n const login = useSelector(getCurrentUserName);\n const cluster = useSelector(getCluster);\n\n const makeContent = React.useCallback(\n (onSupportClick: () => void) => (\n <div className={b()} onClick={onSupportClick}>\n {children || (\n <div className={b('toggler')}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"45\"\n height=\"32\"\n viewBox=\"0 0 45 32\"\n >\n <defs>\n <linearGradient id=\"moo_bg\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop className=\"moo-bg__start\" offset=\"0%\" stopColor=\"#fff\" />\n <stop className=\"moo-bg__stop\" offset=\"100%\" stopColor=\"#eee\" />\n </linearGradient>\n </defs>\n <path\n className={b('toggler-back')}\n d=\"M-0.5 0h36l8 16l-8 16.5h-36z\"\n fill=\"url(#moo_bg)\"\n strokeWidth=\"1\"\n stroke=\"rgba(0,0,0,0.25)\"\n />\n </svg>\n <span className={b('toggler-moo')} />\n </div>\n )}\n </div>\n ),\n [children],\n );\n\n return UIFactory.makeSupportContent({login, cluster}, makeContent) || null;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,aAAa;AAG5B,OAAO,eAAgB;AACvB,OAAOC,SAAS,MAAM,iBAAiB;AACvC,SAAQC,UAAU,EAAEC,kBAAkB,QAAO,8BAA8B;AAC3E,SAAQC,WAAW,QAAO,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAMxC,IAAMC,CAAC,GAAGT,EAAE,CAAC,cAAc,CAAC;AAE5B,OAAO,SAASU,OAAOA,CAAAC,IAAA,EAA2B;EAAA,IAAzBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC7B,IAAMC,KAAK,GAAGT,WAAW,CAACD,kBAAkB,CAAC;EAC7C,IAAMW,OAAO,GAAGV,WAAW,CAACF,UAAU,CAAC;EAEvC,IAAMa,WAAW,GAAGhB,KAAK,CAACiB,WAAW,CACjC,UAACC,cAA0B;IAAA,oBACvBX,IAAA;MAAKY,SAAS,EAAET,CAAC,CAAC,CAAE;MAACU,OAAO,EAAEF,cAAe;MAAAL,QAAA,EACxCA,QAAQ,iBACLJ,KAAA;QAAKU,SAAS,EAAET,CAAC,CAAC,SAAS,CAAE;QAAAG,QAAA,gBACzBJ,KAAA;UACIY,KAAK,EAAC,4BAA4B;UAClCC,KAAK,EAAC,IAAI;UACVC,MAAM,EAAC,IAAI;UACXC,OAAO,EAAC,WAAW;UAAAX,QAAA,gBAEnBN,IAAA;YAAAM,QAAA,eACIJ,KAAA;cAAgBgB,EAAE,EAAC,QAAQ;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAAAhB,QAAA,gBACnDN,IAAA;gBAAMY,SAAS,EAAC,eAAe;gBAACW,MAAM,EAAC,IAAI;gBAACC,SAAS,EAAC;cAAM,CAAE,CAAC,eAC/DxB,IAAA;gBAAMY,SAAS,EAAC,cAAc;gBAACW,MAAM,EAAC,MAAM;gBAACC,SAAS,EAAC;cAAM,CAAE,CAAC;YAAA,CACpD;UAAC,CACf,CAAC,eACPxB,IAAA;YACIY,SAAS,EAAET,CAAC,CAAC,cAAc,CAAE;YAC7BsB,CAAC,EAAC,8BAA8B;YAChCC,IAAI,EAAC,cAAc;YACnBC,WAAW,EAAC,GAAG;YACfC,MAAM,EAAC;UAAkB,CAC5B,CAAC;QAAA,CACD,CAAC,eACN5B,IAAA;UAAMY,SAAS,EAAET,CAAC,CAAC,aAAa;QAAE,CAAE,CAAC;MAAA,CACpC;IACR,CACA,CAAC;EAAA,CACT,EACD,CAACG,QAAQ,CACb,CAAC;EAED,OAAOX,SAAS,CAACkC,kBAAkB,CAAC;IAACtB,KAAK,EAALA,KAAK;IAAEC,OAAO,EAAPA;EAAO,CAAC,EAAEC,WAAW,CAAC,IAAI,IAAI;AAC9E"}
1
+ {"version":3,"names":["React","cn","UIFactory","getCluster","getCurrentUserName","useSelector","jsx","_jsx","jsxs","_jsxs","b","Support","_ref","children","login","cluster","makeContent","useCallback","_ref2","supportContent","onSupportClick","className","onClick","xmlns","width","height","viewBox","id","x1","x2","y1","y2","offset","stopColor","d","fill","strokeWidth","stroke","makeSupportContent"],"sources":["Support.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport './Support.scss';\nimport UIFactory from '../../UIFactory';\nimport {getCluster, getCurrentUserName} from '../../store/selectors/global';\nimport {useSelector} from 'react-redux';\n\ninterface SupportProps {\n children?: React.ReactNode;\n}\n\nconst b = cn('support-form');\n\nexport function Support({children}: SupportProps) {\n const login = useSelector(getCurrentUserName);\n const cluster = useSelector(getCluster);\n\n const makeContent = React.useCallback(\n ({\n supportContent,\n onSupportClick,\n }: {\n supportContent?: React.ReactNode;\n onSupportClick: () => void;\n }) => (\n <div className={b()} onClick={onSupportClick}>\n {supportContent}\n {children || (\n <div className={b('toggler')}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"45\"\n height=\"32\"\n viewBox=\"0 0 45 32\"\n >\n <defs>\n <linearGradient id=\"moo_bg\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop className=\"moo-bg__start\" offset=\"0%\" stopColor=\"#fff\" />\n <stop className=\"moo-bg__stop\" offset=\"100%\" stopColor=\"#eee\" />\n </linearGradient>\n </defs>\n <path\n className={b('toggler-back')}\n d=\"M-0.5 0h36l8 16l-8 16.5h-36z\"\n fill=\"url(#moo_bg)\"\n strokeWidth=\"1\"\n stroke=\"rgba(0,0,0,0.25)\"\n />\n </svg>\n <span className={b('toggler-moo')} />\n </div>\n )}\n </div>\n ),\n [children],\n );\n\n return UIFactory.makeSupportContent({login, cluster}, makeContent) || null;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,aAAa;AAG5B,OAAO,eAAgB;AACvB,OAAOC,SAAS,MAAM,iBAAiB;AACvC,SAAQC,UAAU,EAAEC,kBAAkB,QAAO,8BAA8B;AAC3E,SAAQC,WAAW,QAAO,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAMxC,IAAMC,CAAC,GAAGT,EAAE,CAAC,cAAc,CAAC;AAE5B,OAAO,SAASU,OAAOA,CAAAC,IAAA,EAA2B;EAAA,IAAzBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC7B,IAAMC,KAAK,GAAGT,WAAW,CAACD,kBAAkB,CAAC;EAC7C,IAAMW,OAAO,GAAGV,WAAW,CAACF,UAAU,CAAC;EAEvC,IAAMa,WAAW,GAAGhB,KAAK,CAACiB,WAAW,CACjC,UAAAC,KAAA;IAAA,IACIC,cAAc,GAAAD,KAAA,CAAdC,cAAc;MACdC,cAAc,GAAAF,KAAA,CAAdE,cAAc;IAAA,oBAKdX,KAAA;MAAKY,SAAS,EAAEX,CAAC,CAAC,CAAE;MAACY,OAAO,EAAEF,cAAe;MAAAP,QAAA,GACxCM,cAAc,EACdN,QAAQ,iBACLJ,KAAA;QAAKY,SAAS,EAAEX,CAAC,CAAC,SAAS,CAAE;QAAAG,QAAA,gBACzBJ,KAAA;UACIc,KAAK,EAAC,4BAA4B;UAClCC,KAAK,EAAC,IAAI;UACVC,MAAM,EAAC,IAAI;UACXC,OAAO,EAAC,WAAW;UAAAb,QAAA,gBAEnBN,IAAA;YAAAM,QAAA,eACIJ,KAAA;cAAgBkB,EAAE,EAAC,QAAQ;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAACC,EAAE,EAAC,GAAG;cAAAlB,QAAA,gBACnDN,IAAA;gBAAMc,SAAS,EAAC,eAAe;gBAACW,MAAM,EAAC,IAAI;gBAACC,SAAS,EAAC;cAAM,CAAE,CAAC,eAC/D1B,IAAA;gBAAMc,SAAS,EAAC,cAAc;gBAACW,MAAM,EAAC,MAAM;gBAACC,SAAS,EAAC;cAAM,CAAE,CAAC;YAAA,CACpD;UAAC,CACf,CAAC,eACP1B,IAAA;YACIc,SAAS,EAAEX,CAAC,CAAC,cAAc,CAAE;YAC7BwB,CAAC,EAAC,8BAA8B;YAChCC,IAAI,EAAC,cAAc;YACnBC,WAAW,EAAC,GAAG;YACfC,MAAM,EAAC;UAAkB,CAC5B,CAAC;QAAA,CACD,CAAC,eACN9B,IAAA;UAAMc,SAAS,EAAEX,CAAC,CAAC,aAAa;QAAE,CAAE,CAAC;MAAA,CACpC,CACR;IAAA,CACA,CAAC;EAAA,CACT,EACD,CAACG,QAAQ,CACb,CAAC;EAED,OAAOX,SAAS,CAACoC,kBAAkB,CAAC;IAACxB,KAAK,EAALA,KAAK;IAAEC,OAAO,EAAPA;EAAO,CAAC,EAAEC,WAAW,CAAC,IAAI,IAAI;AAC9E"}
@@ -1,8 +1,10 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import React, { useState } from 'react';
4
+ import { useHistory } from 'react-router';
4
5
  import cn from 'bem-cn-lite';
5
6
  import { FooterItem, PageLayoutAside } from '@gravity-ui/navigation';
7
+ import { Menu } from '@gravity-ui/uikit';
6
8
  import Logo from '../../../../img/svg/appLogo.svg';
7
9
  var GearIcon = function GearIcon(props) {
8
10
  return /*#__PURE__*/_jsxs("svg", _objectSpread(_objectSpread({}, props), {}, {
@@ -32,11 +34,38 @@ GearIcon.defaultProps = {
32
34
  fill: "none",
33
35
  viewBox: "0 0 16 16"
34
36
  };
37
+ var BugIcon = function BugIcon(props) {
38
+ return /*#__PURE__*/_jsxs("svg", _objectSpread(_objectSpread({}, props), {}, {
39
+ children: [/*#__PURE__*/_jsx("g", {
40
+ clipPath: "url(#a)",
41
+ children: /*#__PURE__*/_jsx("path", {
42
+ fill: "currentColor",
43
+ fillRule: "evenodd",
44
+ d: "M5.865.031a.75.75 0 0 1 .918.53l.531 1.981a5.554 5.554 0 0 1 2.384.225 2.5 2.5 0 1 1 3.535 3.535 5.496 5.496 0 0 1 .225 2.384l1.98.53a.75.75 0 0 1-.388 1.45l-1.98-.53a5.49 5.49 0 0 1-.687 1.187l1.45 1.45a.75.75 0 0 1-1.06 1.06l-1.45-1.45a5.493 5.493 0 0 1-1.188.687l.53 1.98a.75.75 0 1 1-1.448.388l-.531-1.98a5.5 5.5 0 0 1-6.144-6.143l-1.98-.532A.75.75 0 0 1 .95 5.334l1.98.531c.18-.426.411-.824.687-1.188l-1.45-1.45a.75.75 0 1 1 1.06-1.06l1.45 1.45a5.494 5.494 0 0 1 1.188-.687L5.335.95a.75.75 0 0 1 .53-.919ZM8 12a4 4 0 1 0-3.309-1.752L8.42 6.52a.75.75 0 0 1 1.06 1.06l-3.728 3.73c.64.435 1.414.69 2.248.69Z",
45
+ clipRule: "evenodd"
46
+ })
47
+ }), /*#__PURE__*/_jsx("defs", {
48
+ children: /*#__PURE__*/_jsx("clipPath", {
49
+ id: "a",
50
+ children: /*#__PURE__*/_jsx("path", {
51
+ fill: "currentColor",
52
+ d: "M0 0h16v16H0z"
53
+ })
54
+ })
55
+ })]
56
+ }));
57
+ };
58
+ BugIcon.defaultProps = {
59
+ xmlns: "http://www.w3.org/2000/svg",
60
+ width: "16",
61
+ height: "16",
62
+ fill: "none",
63
+ viewBox: "0 0 16 16"
64
+ };
35
65
  import Link from '../../components/Link/Link';
36
66
  import unknown from '../../../../img/user-avatar.svg';
67
+ import UIFactory from '../../UIFactory';
37
68
  import "./AppNavigationComponent.css";
38
- import { Menu } from '@gravity-ui/uikit';
39
- import { useHistory } from 'react-router';
40
69
  import { jsx as _jsx } from "react/jsx-runtime";
41
70
  import { jsxs as _jsxs } from "react/jsx-runtime";
42
71
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -98,7 +127,23 @@ function AppNavigationComponent(_ref) {
98
127
  renderFooter: function renderFooter(_ref2) {
99
128
  var compact = _ref2.compact;
100
129
  return /*#__PURE__*/_jsxs(_Fragment, {
101
- children: [/*#__PURE__*/_jsx(FooterItem, {
130
+ children: [UIFactory.makeSupportContent({
131
+ login: currentUser
132
+ }, function (_ref3) {
133
+ var onSupportClick = _ref3.onSupportClick,
134
+ supportContent = _ref3.supportContent;
135
+ return /*#__PURE__*/_jsxs(React.Fragment, {
136
+ children: [/*#__PURE__*/_jsx(FooterItem, {
137
+ compact: compact,
138
+ item: {
139
+ id: 'support',
140
+ title: 'Report a bug',
141
+ icon: BugIcon,
142
+ onItemClick: onSupportClick
143
+ }
144
+ }), supportContent]
145
+ });
146
+ }), /*#__PURE__*/_jsx(FooterItem, {
102
147
  compact: compact,
103
148
  item: {
104
149
  id: 'settings',
@@ -114,8 +159,8 @@ function AppNavigationComponent(_ref) {
114
159
  onItemClick: function onItemClick() {
115
160
  setPopupVisible(!popupVisible);
116
161
  },
117
- itemWrapper: function itemWrapper(_ref3, makeItem) {
118
- var title = _ref3.title;
162
+ itemWrapper: function itemWrapper(_ref4, makeItem) {
163
+ var title = _ref4.title;
119
164
  return makeItem({
120
165
  title: title,
121
166
  icon: /*#__PURE__*/_jsx("img", {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","cn","FooterItem","PageLayoutAside","Logo","GearIcon","props","_jsxs","_objectSpread","children","_jsx","clipPath","fill","fillRule","d","clipRule","id","defaultProps","xmlns","width","height","viewBox","Link","unknown","Menu","useHistory","jsx","jsxs","Fragment","_Fragment","block","AppNavigationComponent","_ref","logoClassName","menuItems","currentUser","authWay","panelContent","panelVisible","panelClassName","onClosePanel","settingsVisible","settingsContent","toggleSettingsVisible","onChangeCompact","panelItems","useMemo","content","visible","className","_useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","history","multipleTooltip","headerDecoration","logo","text","textSize","icon","iconSize","iconClassName","wrapper","node","url","theme","target","renderFooter","_ref2","compact","item","title","onItemClick","itemWrapper","_ref3","makeItem","src","enableTooltip","onClosePopup","renderPopupContent","Item","onClick","push","href","memo"],"sources":["AppNavigationComponent.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport cn from 'bem-cn-lite';\nimport {FooterItem, PageLayoutAside} from '@gravity-ui/navigation';\n\nimport Logo from '../../../../img/svg/appLogo.svg';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport Link from '../../components/Link/Link';\nimport unknown from '../../../../img/user-avatar.svg';\nimport {AppNavigationProps} from './AppNavigationPageLayout';\n\nimport './AppNavigationComponent.scss';\nimport {Menu} from '@gravity-ui/uikit';\nimport {useHistory} from 'react-router';\n\nconst block = cn('yt-app-navigation');\n\nfunction AppNavigationComponent({\n logoClassName,\n menuItems,\n currentUser,\n authWay,\n\n panelContent,\n panelVisible,\n panelClassName,\n onClosePanel,\n\n settingsVisible,\n settingsContent,\n toggleSettingsVisible,\n\n onChangeCompact,\n}: Omit<AppNavigationProps, 'compact' | 'rememberSize' | 'className'>) {\n const panelItems = React.useMemo(() => {\n return [\n {\n id: 'panel',\n content: panelContent,\n visible: panelVisible,\n className: panelClassName,\n },\n {\n id: 'settings',\n content: settingsContent,\n visible: settingsVisible,\n },\n ];\n }, [panelVisible, panelContent, settingsVisible, settingsContent]);\n\n const [popupVisible, setPopupVisible] = useState(false);\n const history = useHistory();\n\n return (\n <PageLayoutAside\n multipleTooltip\n panelItems={panelItems}\n onClosePanel={onClosePanel}\n menuItems={menuItems}\n headerDecoration\n logo={{\n text: () => 'YTsaurus',\n textSize: 22,\n icon: Logo,\n iconSize: 36,\n iconClassName: logoClassName,\n wrapper: (node) => {\n return (\n <Link url={'/'} theme={'primary'} target=\"_blank\">\n {node}\n </Link>\n );\n },\n }}\n onChangeCompact={onChangeCompact}\n renderFooter={({compact}) => {\n return (\n <>\n <FooterItem\n compact={compact}\n item={{\n id: 'settings',\n title: 'Settings',\n onItemClick: toggleSettingsVisible,\n icon: GearIcon,\n }}\n />\n <FooterItem\n compact={compact}\n item={{\n id: 'user',\n title: currentUser,\n onItemClick: () => {\n setPopupVisible(!popupVisible);\n },\n itemWrapper: ({title}: any, makeItem: any) => {\n return makeItem({\n title,\n icon: (\n <img\n className={block('user-icon')}\n width={40}\n height={40}\n src={unknown}\n />\n ),\n });\n },\n }}\n enableTooltip={!popupVisible}\n popupVisible={popupVisible}\n onClosePopup={() => setPopupVisible(false)}\n renderPopupContent={() => {\n return (\n <div className={block('settings-ul')}>\n <Menu>\n {authWay === 'passwd' && (\n <Menu.Item\n onClick={() => history.push('/change-password')}\n >\n Change password\n </Menu.Item>\n )}\n <Menu.Item href={'/api/yt/logout'}>Logout</Menu.Item>\n </Menu>\n </div>\n );\n }}\n />\n </>\n );\n }}\n />\n );\n}\n\nexport default React.memo(AppNavigationComponent);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useState","useHistory","cn","FooterItem","PageLayoutAside","Menu","Logo","GearIcon","props","_jsxs","_objectSpread","children","_jsx","clipPath","fill","fillRule","d","clipRule","id","defaultProps","xmlns","width","height","viewBox","BugIcon","Link","unknown","UIFactory","jsx","jsxs","Fragment","_Fragment","block","AppNavigationComponent","_ref","logoClassName","menuItems","currentUser","authWay","panelContent","panelVisible","panelClassName","onClosePanel","settingsVisible","settingsContent","toggleSettingsVisible","onChangeCompact","panelItems","useMemo","content","visible","className","_useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","history","multipleTooltip","headerDecoration","logo","text","textSize","icon","iconSize","iconClassName","wrapper","node","url","theme","target","renderFooter","_ref2","compact","makeSupportContent","login","_ref3","onSupportClick","supportContent","item","title","onItemClick","itemWrapper","_ref4","makeItem","src","enableTooltip","onClosePopup","renderPopupContent","Item","onClick","push","href","memo"],"sources":["AppNavigationComponent.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport {useHistory} from 'react-router';\nimport cn from 'bem-cn-lite';\nimport {FooterItem, PageLayoutAside} from '@gravity-ui/navigation';\nimport {Menu} from '@gravity-ui/uikit';\n\nimport Logo from '../../../../img/svg/appLogo.svg';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport BugIcon from '@gravity-ui/icons/svgs/bug.svg';\nimport Link from '../../components/Link/Link';\nimport unknown from '../../../../img/user-avatar.svg';\nimport {AppNavigationProps} from './AppNavigationPageLayout';\nimport UIFactory from '../../UIFactory';\n\nimport './AppNavigationComponent.scss';\n\nconst block = cn('yt-app-navigation');\n\nfunction AppNavigationComponent({\n logoClassName,\n menuItems,\n currentUser,\n authWay,\n\n panelContent,\n panelVisible,\n panelClassName,\n onClosePanel,\n\n settingsVisible,\n settingsContent,\n toggleSettingsVisible,\n\n onChangeCompact,\n}: Omit<AppNavigationProps, 'compact' | 'rememberSize' | 'className'>) {\n const panelItems = React.useMemo(() => {\n return [\n {\n id: 'panel',\n content: panelContent,\n visible: panelVisible,\n className: panelClassName,\n },\n {\n id: 'settings',\n content: settingsContent,\n visible: settingsVisible,\n },\n ];\n }, [panelVisible, panelContent, settingsVisible, settingsContent]);\n\n const [popupVisible, setPopupVisible] = useState(false);\n const history = useHistory();\n\n return (\n <PageLayoutAside\n multipleTooltip\n panelItems={panelItems}\n onClosePanel={onClosePanel}\n menuItems={menuItems}\n headerDecoration\n logo={{\n text: () => 'YTsaurus',\n textSize: 22,\n icon: Logo,\n iconSize: 36,\n iconClassName: logoClassName,\n wrapper: (node) => {\n return (\n <Link url={'/'} theme={'primary'} target=\"_blank\">\n {node}\n </Link>\n );\n },\n }}\n onChangeCompact={onChangeCompact}\n renderFooter={({compact}) => {\n return (\n <>\n {UIFactory.makeSupportContent(\n {login: currentUser},\n ({onSupportClick, supportContent}) => (\n <React.Fragment>\n <FooterItem\n compact={compact}\n item={{\n id: 'support',\n title: 'Report a bug',\n icon: BugIcon,\n onItemClick: onSupportClick,\n }}\n />\n {supportContent}\n </React.Fragment>\n ),\n )}\n <FooterItem\n compact={compact}\n item={{\n id: 'settings',\n title: 'Settings',\n onItemClick: toggleSettingsVisible,\n icon: GearIcon,\n }}\n />\n <FooterItem\n compact={compact}\n item={{\n id: 'user',\n title: currentUser,\n onItemClick: () => {\n setPopupVisible(!popupVisible);\n },\n itemWrapper: ({title}: any, makeItem: any) => {\n return makeItem({\n title,\n icon: (\n <img\n className={block('user-icon')}\n width={40}\n height={40}\n src={unknown}\n />\n ),\n });\n },\n }}\n enableTooltip={!popupVisible}\n popupVisible={popupVisible}\n onClosePopup={() => setPopupVisible(false)}\n renderPopupContent={() => {\n return (\n <div className={block('settings-ul')}>\n <Menu>\n {authWay === 'passwd' && (\n <Menu.Item\n onClick={() => history.push('/change-password')}\n >\n Change password\n </Menu.Item>\n )}\n <Menu.Item href={'/api/yt/logout'}>Logout</Menu.Item>\n </Menu>\n </div>\n );\n }}\n />\n </>\n );\n }}\n />\n );\n}\n\nexport default React.memo(AppNavigationComponent);\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import UIFactory from '../../UIFactory';
3
+ export declare function SupportComponent({ makeContent, }: {
4
+ makeContent: Parameters<typeof UIFactory.makeSupportContent>[1];
5
+ }): React.JSX.Element | null;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { uiSettings } from '../../config/ui-settings';
3
+ import { openInNewTab } from '../../utils/utils';
4
+ import { Fragment as _Fragment } from "react/jsx-runtime";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function SupportComponent(_ref) {
7
+ var makeContent = _ref.makeContent;
8
+ var reportBugUrl = uiSettings.reportBugUrl;
9
+ var onSupportClick = React.useCallback(function () {
10
+ if (reportBugUrl) openInNewTab(reportBugUrl);
11
+ }, [reportBugUrl]);
12
+ return reportBugUrl ? /*#__PURE__*/_jsx(_Fragment, {
13
+ children: makeContent({
14
+ onSupportClick: onSupportClick
15
+ })
16
+ }) : null;
17
+ }
18
+ // #sourceMappingURL=SupportComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","uiSettings","openInNewTab","Fragment","_Fragment","jsx","_jsx","SupportComponent","_ref","makeContent","reportBugUrl","onSupportClick","useCallback","children"],"sources":["SupportComponent.tsx"],"sourcesContent":["import React from 'react';\n\nimport UIFactory from '../../UIFactory';\nimport {uiSettings} from '../../config/ui-settings';\nimport {openInNewTab} from '../../utils/utils';\n\nexport function SupportComponent({\n makeContent,\n}: {\n makeContent: Parameters<typeof UIFactory.makeSupportContent>[1];\n}) {\n const {reportBugUrl} = uiSettings;\n const onSupportClick = React.useCallback(() => {\n if (reportBugUrl) openInNewTab(reportBugUrl);\n }, [reportBugUrl]);\n\n return reportBugUrl ? <>{makeContent({onSupportClick})}</> : null;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAAQC,UAAU,QAAO,0BAA0B;AACnD,SAAQC,YAAY,QAAO,mBAAmB;AAAC,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE/C,OAAO,SAASC,gBAAgBA,CAAAC,IAAA,EAI7B;EAAA,IAHCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;EAIX,IAAOC,YAAY,GAAIT,UAAU,CAA1BS,YAAY;EACnB,IAAMC,cAAc,GAAGX,KAAK,CAACY,WAAW,CAAC,YAAM;IAC3C,IAAIF,YAAY,EAAER,YAAY,CAACQ,YAAY,CAAC;EAChD,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,OAAOA,YAAY,gBAAGJ,IAAA,CAAAF,SAAA;IAAAS,QAAA,EAAGJ,WAAW,CAAC;MAACE,cAAc,EAAdA;IAAc,CAAC;EAAC,CAAG,CAAC,GAAG,IAAI;AACrE"}
@@ -1,8 +1,13 @@
1
1
  .operation-details {
2
2
  display: grid;
3
- grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
3
+ grid-template-columns: minmax(600px, 1fr);
4
4
  grid-column-gap: 30px;
5
5
  }
6
+ @media (min-width: 1300px) {
7
+ .operation-details {
8
+ grid-template-columns: minmax(600px, 1fr) minmax(600px, 1fr);
9
+ }
10
+ }
6
11
  .operation-details__alerts, .operation-details__result {
7
12
  margin-top: 20px;
8
13
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["Details.scss"],"names":[],"mappings":"AAAA;EACI,aAAA;EACA,4DAAA;EACA,qBAAA;AACJ;AACI;EAEI,gBAAA;AAAR;AAGI;EACI,iBAAA;AADR;AAII;EACI,cAAA;AAFR;AAKI;EACI,+CAAA;EACA,sCAAA;EACA,kBAAA;EACA,kBAAA;AAHR;AAKQ;EACI,gBAAA;AAHZ;AAOI;EACI,mBAAA;AALR","file":"Details.css","sourcesContent":[".operation-details {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));\n grid-column-gap: 30px;\n\n &__alerts,\n &__result {\n margin-top: 20px;\n }\n\n &__edit-button {\n margin-left: auto;\n }\n\n &__table {\n overflow: auto;\n }\n\n .collapsible-section {\n box-shadow: 0 2px 5px var(--default-background);\n border: 1px solid var(--light-divider);\n border-radius: 3px;\n padding: 24px 20px;\n\n .elements-heading_size_m:last-child {\n margin-bottom: 0;\n }\n }\n\n .elements-alert {\n margin-bottom: 20px;\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["Details.scss"],"names":[],"mappings":"AAAA;EACI,aAAA;EACA,yCAAA;EAMA,qBAAA;AAJJ;AAAI;EAJJ;IAKQ,4DAAA;EAGN;AACF;AACI;EAEI,gBAAA;AAAR;AAGI;EACI,iBAAA;AADR;AAII;EACI,cAAA;AAFR;AAKI;EACI,+CAAA;EACA,sCAAA;EACA,kBAAA;EACA,kBAAA;AAHR;AAKQ;EACI,gBAAA;AAHZ;AAOI;EACI,mBAAA;AALR","file":"Details.css","sourcesContent":[".operation-details {\n display: grid;\n grid-template-columns: minmax(600px, 1fr);\n\n @media (min-width: 1300px) {\n grid-template-columns: minmax(600px, 1fr) minmax(600px, 1fr);\n }\n\n grid-column-gap: 30px;\n\n &__alerts,\n &__result {\n margin-top: 20px;\n }\n\n &__edit-button {\n margin-left: auto;\n }\n\n &__table {\n overflow: auto;\n }\n\n .collapsible-section {\n box-shadow: 0 2px 5px var(--default-background);\n border: 1px solid var(--light-divider);\n border-radius: 3px;\n padding: 24px 20px;\n\n .elements-heading_size_m:last-child {\n margin-bottom: 0;\n }\n }\n\n .elements-alert {\n margin-bottom: 20px;\n }\n}\n"],"sourceRoot":""}
@@ -1,6 +1,11 @@
1
1
  .operation-details {
2
2
  display: grid;
3
- grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
3
+ grid-template-columns: minmax(600px, 1fr);
4
+
5
+ @media (min-width: 1300px) {
6
+ grid-template-columns: minmax(600px, 1fr) minmax(600px, 1fr);
7
+ }
8
+
4
9
  grid-column-gap: 30px;
5
10
 
6
11
  &__alerts,
@@ -24,7 +24,7 @@ import CancelHelper, { isCancelled } from '../../../utils/cancel-helper';
24
24
  import { flattenAttributes } from '../../../utils/scheduling/scheduling';
25
25
  import { UIBatchError } from '../../../utils/errors/ui-error';
26
26
  var cancelHelper = new CancelHelper();
27
- 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_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', 'fifo_sort_parameters', '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'];
28
28
  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'];
29
29
  var EmptyFullPath = /*#__PURE__*/function (_Error) {
30
30
  _inherits(EmptyFullPath, _Error);
@@ -1 +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","UIBatchError","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","_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 CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {flattenAttributes} from '../../../utils/scheduling/scheduling';\nimport {UIBatchError} from '../../../utils/errors/ui-error';\n\ntype ExpandedPoolsThunkAction = ThunkAction<\n any,\n RootState,\n any,\n ExpandedPoolsAction | SchedulingAction\n>;\n\nconst cancelHelper = new CancelHelper();\n\nconst POOL_FIELDS_TO_LOAD = [\n 'accumulated_resource_ratio_volume',\n 'accumulated_resource_volume',\n 'demand_ratio',\n 'detailed_fair_share',\n 'dominant_resource',\n 'estimated_burst_usage_duration_sec',\n 'fair_share_ratio',\n 'fifo_index',\n 'integral_guarantee_type',\n 'is_ephemeral',\n 'max_operation_count',\n 'max_running_operation_count',\n 'max_share_ratio',\n 'min_share_ratio',\n 'mode',\n 'operation_count',\n 'parent',\n 'pool_operation_count',\n 'child_pool_count',\n 'resource_demand',\n 'resource_limits',\n 'resource_usage',\n 'promised_fair_share_resources',\n 'running_operation_count',\n 'specified_burst_guarantee_resources',\n 'specified_resource_flow',\n 'starvation_status',\n 'starving',\n 'strong_guarantee_resources',\n 'usage_ratio',\n 'weight',\n 'abc',\n];\n\nconst POOL_TREE_GET_ATTRS = [\n 'integral_guarantees',\n 'weight',\n 'max_operation_count',\n 'max_running_operation_count',\n 'strong_guarantee_resources',\n 'resource_limits',\n 'forbid_immediate_operations',\n 'create_ephemeral_subpools',\n 'fifo_sort_parameters',\n 'config',\n 'folder_id',\n];\n\nclass EmptyFullPath extends Error {}\n\nexport function loadExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const pool = getPool(getState());\n\n if (!tree) {\n return undefined;\n }\n\n if (pool === ROOT_POOL_NAME) {\n return dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n return ytApiV3Id\n .executeBatch<{full_path: string; is_ephemeral?: boolean}>(\n YTApiId.schedulingPoolFullPath,\n {\n requests: [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`,\n fields: ['is_ephemeral', 'full_path'],\n },\n },\n ],\n },\n )\n .then(([{output}]) => {\n const {full_path, is_ephemeral} = output ?? {};\n if (!full_path) {\n throw new EmptyFullPath();\n } else {\n dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));\n dispatch(loadExpandedOperationsAndPools(tree));\n }\n })\n .catch((e) => {\n if (e instanceof EmptyFullPath) {\n dispatch({type: CHANGE_POOL, data: {pool: ROOT_POOL_NAME}});\n /**\n * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.\n * The call will be triggered by SchedulingExpandedPoolsUpdater.\n */\n // dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n new Toaster().add({\n name: 'schedulingPoolFullPath',\n type: 'error',\n title: '',\n });\n }\n });\n }\n };\n}\n\nfunction loadExpandedOperationsAndPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const loadAll = getExpandedPoolsLoadAll(state);\n const expandedPools: Map<string, ExpandedPoolInfo> = loadAll\n ? new Map()\n : getSchedulingOperationsExpandedPools(state)[tree] ?? new Map();\n const expandedPoolNames: Array<string> = [...expandedPools.keys()];\n\n const operationsExpandedPools: Array<string> = [...expandedPoolNames];\n\n const operationsRequests: Array<BatchSubRequest> = [];\n if (loadAll) {\n operationsRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/operations`,\n ),\n );\n } else {\n const prefix = `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/operations_by_pool`;\n operationsExpandedPools.forEach((item) => {\n operationsRequests.push(makeGet(`${prefix}/${item}`));\n });\n }\n\n const loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);\n const poolsRequests: Array<BatchSubRequest> = [];\n const poolsChildrenRequests: Array<BatchSubRequest> = [];\n const poolsCypressDataRequests: Array<BatchSubRequest> = [];\n\n const poolsExpandedPools: Array<string> =\n -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME)\n ? expandedPoolNames\n : [ROOT_POOL_NAME, ...expandedPoolNames];\n\n if (loadAllPools) {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsCypressDataRequests.push(\n makeGet(`//sys/pool_trees/${tree}`, {attributes: POOL_TREE_GET_ATTRS}),\n );\n } else {\n poolsExpandedPools.forEach((pool) => {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsChildrenRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/child_pools_by_pool/${pool}`,\n {\n fields: POOL_FIELDS_TO_LOAD,\n },\n ),\n );\n const {parentPoolPath, isEphemeral} = expandedPools.get(pool) ?? {};\n const cypressDataPath = parentPoolPath\n ? `//sys/pool_trees/${tree}/${parentPoolPath}/${pool}`\n : `//sys/pool_trees/${tree}/${pool}`;\n if (pool === ROOT_POOL_NAME || !isEphemeral) {\n poolsCypressDataRequests.push(\n makeList(\n pool === ROOT_POOL_NAME ? `//sys/pool_trees/${tree}` : cypressDataPath,\n {\n attributes: POOL_TREE_GET_ATTRS,\n },\n ),\n );\n }\n });\n }\n\n cancelHelper.removeAllRequests();\n\n dispatch({type: SCHEDULING_EXPANDED_POOLS_REQUEST});\n return Promise.all([\n operationsRequests.length\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {\n parameters: {requests: operationsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : Promise.resolve([]),\n loadAllPools\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n loadAllPools\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {\n parameters: {requests: poolsChildrenRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n !poolsCypressDataRequests.length\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {\n parameters: {requests: poolsCypressDataRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n ])\n .then(([operationsResults, poolsResults, poolsChildrenResults, poolsCypressData]) => {\n const error = new UIBatchError('Failed to load expanded pools');\n const {results: operations} = splitBatchResults(operationsResults, error);\n const rawOperations = _.reduce(\n operations,\n (acc, data) => {\n return Object.assign(acc, data);\n },\n {},\n );\n\n const rawPools: Record<string, PoolInfo> = {};\n const cypressData: Record<string, PoolCypressData> = {};\n\n if (loadAllPools) {\n const {results: pools} = splitBatchResults<Record<string, PoolInfo>>(\n poolsResults,\n error,\n );\n const [value = {}] = pools ?? [];\n Object.assign(rawPools, value);\n\n const {\n results: [data],\n } = splitBatchResults(poolsCypressData, error);\n Object.assign(cypressData, flattenAttributes(data));\n } else {\n const {results: pools, resultIndices} = splitBatchResults<PoolInfo>(\n poolsResults,\n error,\n );\n pools.forEach((poolInfo, index) => {\n const name = poolsExpandedPools[resultIndices[index]];\n rawPools[name] = poolInfo;\n });\n\n const {results: poolChildren} = splitBatchResults<Record<string, PoolInfo>>(\n poolsChildrenResults,\n error,\n );\n poolChildren.forEach((children) => {\n Object.assign(rawPools, children);\n });\n\n const {results: cypressDataChildrenPerPool} = splitBatchResults<\n Array<PoolCypressData>\n >(poolsCypressData, error);\n cypressDataChildrenPerPool.forEach((poolChildrenCypressData) => {\n poolChildrenCypressData.forEach((item) => {\n cypressData[item.$value] = item;\n });\n });\n }\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_SUCCESS,\n data: {\n expandedPoolsTree: tree,\n rawOperations: Object.keys(rawOperations).length\n ? rawOperations\n : EMPTY_OBJECT,\n rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,\n flattenCypressData: Object.keys(cypressData).length\n ? cypressData\n : EMPTY_OBJECT,\n },\n });\n\n if (error.inner_errors?.length) {\n throw error;\n }\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const tree = getTree(getState());\n const expandedPools = getSchedulingOperationsExpandedPools(state);\n\n const poolsByName = getSchedulingPoolsMapByName(state);\n\n const treeExpandedPools = new Map(expandedPools[tree]);\n if (expanded) {\n const expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);\n treeExpandedPools.set(poolName, expandedPoolInfo);\n } else {\n treeExpandedPools.delete(poolName);\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction addFullPathToExpandedPoolsNoLoad(\n tree: string,\n /**\n * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`\n */\n fullPath: string,\n isEphemeral?: boolean,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldExpandedPools = getSchedulingOperationsExpandedPools(state);\n const treeExpandedPools = new Map(oldExpandedPools[tree]);\n\n /**\n * `fullPath` value starts from `/`, example: `/mypool/child/subchild`\n * so we have to use `.slice(1)` to remove first empty string\n */\n const parts = fullPath.split('/').slice(1);\n\n for (let i = 0; i < parts.length; ++i) {\n const poolName = parts[i];\n const parentPoolPath = parts.slice(0, i).join('/');\n treeExpandedPools.set(poolName, {parentPoolPath, isEphemeral});\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n };\n}\n\nfunction updateExpandedPoolNoLoad(\n tree: string,\n treeExpandedPools: Map<string, ExpandedPoolInfo>,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const oldExpandedPools = getSchedulingOperationsExpandedPools(getState());\n\n const expandedPools = {\n ...oldExpandedPools,\n [tree]: treeExpandedPools,\n };\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {expandedPools},\n });\n };\n}\n\nexport function resetExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n if (!tree) {\n return;\n }\n\n const state = getState();\n const {[tree]: old, ...rest} = getSchedulingOperationsExpandedPools(state);\n\n if (old?.size) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {\n expandedPools: {\n ...rest,\n [tree]: new Map<string, ExpandedPoolInfo>(),\n },\n },\n });\n }\n };\n}\n\nexport function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any> {\n return (_dispatch, getState) => {\n const state = getState();\n\n const tree = getSchedulingPoolsMapByName(state);\n const root = tree[ROOT_POOL_NAME];\n return root?.operationCount || 0;\n };\n}\n\nexport function getPoolPathsByName(\n poolName: string,\n): ThunkAction<{fullPath: string; orchidPath: string}, RootState, unknown, any> {\n return (_dispatch, getState) => {\n const state = getState();\n const pools = getPools(state);\n const tree = getTree(state);\n\n return {\n fullPath: calculatePoolPath(poolName, pools, tree),\n orchidPath: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${poolName}`,\n };\n };\n}\n\nexport function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {loadAll},\n });\n\n const tree = getTree(state);\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction calcExpandedPoolInfo(\n poolName: string,\n poolsByName: Record<string, PoolInfo>,\n): ExpandedPoolInfo {\n let data = poolsByName[poolName];\n const isEphemeral = data?.isEphemeral;\n let res = '';\n while (data?.parent && data.parent !== ROOT_POOL_NAME) {\n res = res ? `${data.parent}/${res}` : data.parent;\n data = poolsByName[data.parent];\n }\n return {parentPoolPath: res, isEphemeral};\n}\n"],"mappings":";;;;;;;;;;;;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;AACzF,OAAOC,YAAY,IAAGC,WAAW,QAAO,8BAA8B;AACtE,SAAQC,iBAAiB,QAAO,sCAAsC;AACtE,SAAQC,YAAY,QAAO,gCAAgC;AAS3D,IAAMC,YAAY,GAAG,IAAIJ,YAAY,CAAC,CAAC;AAEvC,IAAMK,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,GAAG9B,OAAO,CAAC6B,QAAQ,CAAC,CAAC,CAAC;IAEhC,IAAI,CAACF,IAAI,EAAE;MACP,OAAOI,SAAS;IACpB;IAEA,IAAID,IAAI,KAAKpC,cAAc,EAAE;MACzB,OAAOkC,QAAQ,CAACI,8BAA8B,CAACL,IAAI,CAAC,CAAC;IACzD,CAAC,MAAM;MACH,OAAOtC,SAAS,CACX4C,YAAY,CACT7C,OAAO,CAAC8C,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,EAAE1D,WAAW;YAAE2D,IAAI,EAAE;cAACtB,IAAI,EAAEpC;YAAc;UAAC,CAAC,CAAC;UAC3D;AACxB;AACA;AACA;UACwB;QACJ,CAAC,MAAM;UACH,IAAIP,OAAO,CAAC,CAAC,CAACkE,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,GAAGvD,uBAAuB,CAACsD,KAAK,CAAC;IAC9C,IAAME,aAA4C,GAAGD,OAAO,GACtD,IAAIE,GAAG,CAAC,CAAC,IAAAJ,qBAAA,GACTpD,oCAAoC,CAACqD,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,CACnB3E,OAAO,gDAAAgD,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,CAAC3E,OAAO,IAAAgD,MAAA,CAAI4B,MAAM,OAAA5B,MAAA,CAAI8B,IAAI,CAAE,CAAC,CAAC;MACzD,CAAC,CAAC;IACN;IAEA,IAAMC,YAAY,GAAGZ,OAAO,IAAI,CAACnD,mCAAmC,CAACkD,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,CAACjF,cAAc,CAAC,GAC1CmE,iBAAiB,IAChBnE,cAAc,EAAA6C,MAAA,CAAAuB,kBAAA,CAAKD,iBAAiB,EAAC;IAEhD,IAAIS,YAAY,EAAE;MACdC,aAAa,CAACL,IAAI,CACd3E,OAAO,gDAAAgD,MAAA,CAAgDZ,IAAI,aAAU;QACjEa,MAAM,EAAE3B;MACZ,CAAC,CACL,CAAC;MACD4D,wBAAwB,CAACP,IAAI,CACzB3E,OAAO,qBAAAgD,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,CACd3E,OAAO,gDAAAgD,MAAA,CAAgDZ,IAAI,aAAAY,MAAA,CAAUT,IAAI,GAAI;UACzEU,MAAM,EAAE3B;QACZ,CAAC,CACL,CAAC;QACD2D,qBAAqB,CAACN,IAAI,CACtB3E,OAAO,gDAAAgD,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,KAAKpC,cAAc,IAAI,CAACuF,WAAW,EAAE;UACzCR,wBAAwB,CAACP,IAAI,CACzB1E,QAAQ,CACJsC,IAAI,KAAKpC,cAAc,uBAAA6C,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,EAAEtD;IAAiC,CAAC,CAAC;IACnD,OAAOuF,OAAO,CAACC,GAAG,CAAC,CACfpB,kBAAkB,CAACqB,MAAM,GACnBjG,SAAS,CAAC4C,YAAY,CAAC7C,OAAO,CAACmG,+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,GACNjF,SAAS,CAAC4C,YAAY,CAAC7C,OAAO,CAACuG,sBAAsB,EAAE;MACnDtD,UAAU,EAAE;QAACF,QAAQ,EAAEoC;MAAa,CAAC;MACrCiB,YAAY,EAAE5E,YAAY,CAAC6E;IAC/B,CAAC,CAAC,GACFpG,SAAS,CAAC4C,YAAY,CAAC7C,OAAO,CAACwG,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,GACnBrG,SAAS,CAAC4C,YAAY,CAAC7C,OAAO,CAACyG,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,GACnBrG,SAAS,CAAC4C,YAAY,CAAC7C,OAAO,CAAC0G,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,KAAK,GAAG,IAAI3F,YAAY,CAAC,+BAA+B,CAAC;MAC/D,IAAA4F,kBAAA,GAA8BjH,iBAAiB,CAAC4G,iBAAiB,EAAEI,KAAK,CAAC;QAAzDE,UAAU,GAAAD,kBAAA,CAAnBE,OAAO;MACd,IAAMC,aAAa,GAAGC,OAAA,CAClBH,UAAU,EACV,UAACI,GAAG,EAAExD,IAAI,EAAK;QACX,OAAOyD,MAAM,CAACC,MAAM,CAACF,GAAG,EAAExD,IAAI,CAAC;MACnC,CAAC,EACD,CAAC,CACL,CAAC;MAED,IAAM2D,QAAkC,GAAG,CAAC,CAAC;MAC7C,IAAMC,WAA4C,GAAG,CAAC,CAAC;MAEvD,IAAI1C,YAAY,EAAE;QACd,IAAA2C,mBAAA,GAAyB3H,iBAAiB,CACtC6G,YAAY,EACZG,KACJ,CAAC;UAHeY,KAAK,GAAAD,mBAAA,CAAdR,OAAO;QAId,IAAAU,KAAA,GAAqBD,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE;UAAAE,KAAA,GAAAxE,cAAA,CAAAuE,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,CAAC+G,gBAAgB,EAAEC,KAAK,CAAC;UAAAkB,qBAAA,GAAA5E,cAAA,CAAA2E,mBAAA,CAD1Cd,OAAO;UAAGrD,IAAI,GAAAoE,qBAAA;QAElBX,MAAM,CAACC,MAAM,CAACE,WAAW,EAAEtG,iBAAiB,CAAC0C,IAAI,CAAC,CAAC;MACvD,CAAC,MAAM;QACH,IAAAqE,mBAAA,GAAwCnI,iBAAiB,CACrD6G,YAAY,EACZG,KACJ,CAAC;UAHeY,MAAK,GAAAO,mBAAA,CAAdhB,OAAO;UAASiB,aAAa,GAAAD,mBAAA,CAAbC,aAAa;QAIpCR,MAAK,CAAC9C,OAAO,CAAC,UAACuD,QAAQ,EAAEC,KAAK,EAAK;UAC/B,IAAMtE,IAAI,GAAGoB,kBAAkB,CAACgD,aAAa,CAACE,KAAK,CAAC,CAAC;UACrDb,QAAQ,CAACzD,IAAI,CAAC,GAAGqE,QAAQ;QAC7B,CAAC,CAAC;QAEF,IAAAE,mBAAA,GAAgCvI,iBAAiB,CAC7C8G,oBAAoB,EACpBE,KACJ,CAAC;UAHewB,YAAY,GAAAD,mBAAA,CAArBpB,OAAO;QAIdqB,YAAY,CAAC1D,OAAO,CAAC,UAAC2D,QAAQ,EAAK;UAC/BlB,MAAM,CAACC,MAAM,CAACC,QAAQ,EAAEgB,QAAQ,CAAC;QACrC,CAAC,CAAC;QAEF,IAAAC,mBAAA,GAA8C1I,iBAAiB,CAE7D+G,gBAAgB,EAAEC,KAAK,CAAC;UAFV2B,0BAA0B,GAAAD,mBAAA,CAAnCvB,OAAO;QAGdwB,0BAA0B,CAAC7D,OAAO,CAAC,UAAC8D,uBAAuB,EAAK;UAC5DA,uBAAuB,CAAC9D,OAAO,CAAC,UAACC,IAAI,EAAK;YACtC2C,WAAW,CAAC3C,IAAI,CAAC8D,MAAM,CAAC,GAAG9D,IAAI;UACnC,CAAC,CAAC;QACN,CAAC,CAAC;MACN;MAEAzC,QAAQ,CAAC;QACLuB,IAAI,EAAErD,iCAAiC;QACvCsD,IAAI,EAAE;UACFgF,iBAAiB,EAAEzG,IAAI;UACvB+E,aAAa,EAAEG,MAAM,CAAC9C,IAAI,CAAC2C,aAAa,CAAC,CAACpB,MAAM,GAC1CoB,aAAa,GACbrG,YAAY;UAClB0G,QAAQ,EAAEF,MAAM,CAAC9C,IAAI,CAACgD,QAAQ,CAAC,CAACzB,MAAM,GAAGyB,QAAQ,GAAG1G,YAAY;UAChEgI,kBAAkB,EAAExB,MAAM,CAAC9C,IAAI,CAACiD,WAAW,CAAC,CAAC1B,MAAM,GAC7C0B,WAAW,GACX3G;QACV;MACJ,CAAC,CAAC;MAEF,KAAA2F,mBAAA,GAAIM,KAAK,CAACgC,YAAY,cAAAtC,mBAAA,eAAlBA,mBAAA,CAAoBV,MAAM,EAAE;QAC5B,MAAMgB,KAAK;MACf;IACJ,CAAC,CAAC,SACI,CAAC,UAACA,KAAK,EAAK;MACd,IAAI,CAAC7F,WAAW,CAAC6F,KAAK,CAAC,EAAE;QACrB1E,QAAQ,CAAC;UACLuB,IAAI,EAAExD,iCAAiC;UACvCyD,IAAI,EAAE;YAACkD,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAEA,OAAO,SAASiC,eAAeA,CAACC,QAAgB,EAAEC,QAAiB,EAA4B;EAC3F,OAAO,UAAC7G,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxB,IAAMF,IAAI,GAAGzB,OAAO,CAAC2B,QAAQ,CAAC,CAAC,CAAC;IAChC,IAAM8B,aAAa,GAAGvD,oCAAoC,CAACqD,KAAK,CAAC;IAEjE,IAAMiF,WAAW,GAAGpI,2BAA2B,CAACmD,KAAK,CAAC;IAEtD,IAAMkF,iBAAiB,GAAG,IAAI/E,GAAG,CAACD,aAAa,CAAChC,IAAI,CAAC,CAAC;IACtD,IAAI8G,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;IAEA5G,QAAQ,CAACmH,wBAAwB,CAACpH,IAAI,EAAEgH,iBAAiB,CAAC,CAAC;IAC3D/G,QAAQ,CAACF,iBAAiB,CAACC,IAAI,CAAC,CAAC;EACrC,CAAC;AACL;AAEA,SAASsB,gCAAgCA,CACrCtB,IAAY;AACZ;AACJ;AACA;AACIqH,QAAgB,EAChB/D,WAAqB,EACG;EACxB,OAAO,UAACrD,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxB,IAAMoH,gBAAgB,GAAG7I,oCAAoC,CAACqD,KAAK,CAAC;IACpE,IAAMkF,iBAAiB,GAAG,IAAI/E,GAAG,CAACqF,gBAAgB,CAACtH,IAAI,CAAC,CAAC;;IAEzD;AACR;AACA;AACA;IACQ,IAAMuH,KAAK,GAAGF,QAAQ,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;IAE1C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAAC5D,MAAM,EAAE,EAAE+D,CAAC,EAAE;MACnC,IAAMb,QAAQ,GAAGU,KAAK,CAACG,CAAC,CAAC;MACzB,IAAMrE,cAAc,GAAGkE,KAAK,CAACE,KAAK,CAAC,CAAC,EAAEC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MAClDX,iBAAiB,CAACG,GAAG,CAACN,QAAQ,EAAE;QAACxD,cAAc,EAAdA,cAAc;QAAEC,WAAW,EAAXA;MAAW,CAAC,CAAC;IAClE;IAEArD,QAAQ,CAACmH,wBAAwB,CAACpH,IAAI,EAAEgH,iBAAiB,CAAC,CAAC;EAC/D,CAAC;AACL;AAEA,SAASI,wBAAwBA,CAC7BpH,IAAY,EACZgH,iBAAgD,EACxB;EACxB,OAAO,UAAC/G,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMoH,gBAAgB,GAAG7I,oCAAoC,CAACyB,QAAQ,CAAC,CAAC,CAAC;IAEzE,IAAM8B,aAAa,GAAA4F,aAAA,CAAAA,aAAA,KACZN,gBAAgB,OAAAO,eAAA,KAClB7H,IAAI,EAAGgH,iBAAiB,EAC5B;IAED/G,QAAQ,CAAC;MACLuB,IAAI,EAAEvD,mCAAmC;MACzCwD,IAAI,EAAE;QAACO,aAAa,EAAbA;MAAa;IACxB,CAAC,CAAC;EACN,CAAC;AACL;AAEA,OAAO,SAAS8F,kBAAkBA,CAAC9H,IAAY,EAA4B;EACvE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAI,CAACF,IAAI,EAAE;MACP;IACJ;IAEA,IAAM8B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxB,IAAA6H,sBAAA,GAA+BtJ,oCAAoC,CAACqD,KAAK,CAAC;MAA3DkG,GAAG,GAAAD,sBAAA,CAAV/H,IAAI;MAAWiI,IAAI,GAAAC,wBAAA,CAAAH,sBAAA,GAAnB/H,IAAI,EAAAmI,GAAA,CAAAC,cAAA;IAEZ,IAAIJ,GAAG,aAAHA,GAAG,eAAHA,GAAG,CAAEK,IAAI,EAAE;MACXpI,QAAQ,CAAC;QACLuB,IAAI,EAAEvD,mCAAmC;QACzCwD,IAAI,EAAE;UACFO,aAAa,EAAA4F,aAAA,CAAAA,aAAA,KACNK,IAAI,OAAAJ,eAAA,KACN7H,IAAI,EAAG,IAAIiC,GAAG,CAA2B,CAAC;QAEnD;MACJ,CAAC,CAAC;IACN;EACJ,CAAC;AACL;AAEA,OAAO,SAASqG,4BAA4BA,CAAA,EAA6C;EACrF,OAAO,UAACC,SAAS,EAAErI,QAAQ,EAAK;IAC5B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IAExB,IAAMF,IAAI,GAAGrB,2BAA2B,CAACmD,KAAK,CAAC;IAC/C,IAAM0G,IAAI,GAAGxI,IAAI,CAACjC,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,EAAErI,QAAQ,EAAK;IAC5B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxB,IAAMqF,KAAK,GAAGjH,QAAQ,CAACwD,KAAK,CAAC;IAC7B,IAAM9B,IAAI,GAAGzB,OAAO,CAACuD,KAAK,CAAC;IAE3B,OAAO;MACHuF,QAAQ,EAAEjJ,iBAAiB,CAACyI,QAAQ,EAAEtB,KAAK,EAAEvF,IAAI,CAAC;MAClD2I,UAAU,iDAAA/H,MAAA,CAAiDZ,IAAI,6BAAAY,MAAA,CAA0BiG,QAAQ;IACrG,CAAC;EACL,CAAC;AACL;AAEA,OAAO,SAAS+B,oBAAoBA,CAAC7G,OAAgB,EAA4B;EAC7E,OAAO,UAAC9B,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAM4B,KAAK,GAAG5B,QAAQ,CAAC,CAAC;IACxBD,QAAQ,CAAC;MACLuB,IAAI,EAAEvD,mCAAmC;MACzCwD,IAAI,EAAE;QAACM,OAAO,EAAPA;MAAO;IAClB,CAAC,CAAC;IAEF,IAAM/B,IAAI,GAAGzB,OAAO,CAACuD,KAAK,CAAC;IAC3B7B,QAAQ,CAACF,iBAAiB,CAACC,IAAI,CAAC,CAAC;EACrC,CAAC;AACL;AAEA,SAASkH,oBAAoBA,CACzBL,QAAgB,EAChBE,WAAqC,EACrB;EAAA,IAAA8B,KAAA;EAChB,IAAIpH,IAAI,GAAGsF,WAAW,CAACF,QAAQ,CAAC;EAChC,IAAMvD,WAAW,IAAAuF,KAAA,GAAGpH,IAAI,cAAAoH,KAAA,uBAAJA,KAAA,CAAMvF,WAAW;EACrC,IAAIwF,GAAG,GAAG,EAAE;EACZ,OAAO,CAAAC,MAAA,GAAAtH,IAAI,cAAAsH,MAAA,eAAJA,MAAA,CAAMC,MAAM,IAAIvH,IAAI,CAACuH,MAAM,KAAKjL,cAAc,EAAE;IAAA,IAAAgL,MAAA;IACnDD,GAAG,GAAGA,GAAG,MAAAlI,MAAA,CAAMa,IAAI,CAACuH,MAAM,OAAApI,MAAA,CAAIkI,GAAG,IAAKrH,IAAI,CAACuH,MAAM;IACjDvH,IAAI,GAAGsF,WAAW,CAACtF,IAAI,CAACuH,MAAM,CAAC;EACnC;EACA,OAAO;IAAC3F,cAAc,EAAEyF,GAAG;IAAExF,WAAW,EAAXA;EAAW,CAAC;AAC7C"}
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","UIBatchError","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","_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 CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {flattenAttributes} from '../../../utils/scheduling/scheduling';\nimport {UIBatchError} from '../../../utils/errors/ui-error';\n\ntype ExpandedPoolsThunkAction = ThunkAction<\n any,\n RootState,\n any,\n ExpandedPoolsAction | SchedulingAction\n>;\n\nconst cancelHelper = new CancelHelper();\n\nconst POOL_FIELDS_TO_LOAD = [\n 'accumulated_resource_ratio_volume',\n 'accumulated_resource_volume',\n 'demand_ratio',\n 'detailed_fair_share',\n 'dominant_resource',\n 'estimated_burst_usage_duration_sec',\n 'fair_share_ratio',\n 'fifo_index',\n 'fifo_sort_parameters',\n 'integral_guarantee_type',\n 'is_ephemeral',\n 'max_operation_count',\n 'max_running_operation_count',\n 'max_share_ratio',\n 'min_share_ratio',\n 'mode',\n 'operation_count',\n 'parent',\n 'pool_operation_count',\n 'child_pool_count',\n 'resource_demand',\n 'resource_limits',\n 'resource_usage',\n 'promised_fair_share_resources',\n 'running_operation_count',\n 'specified_burst_guarantee_resources',\n 'specified_resource_flow',\n 'starvation_status',\n 'starving',\n 'strong_guarantee_resources',\n 'usage_ratio',\n 'weight',\n 'abc',\n];\n\nconst POOL_TREE_GET_ATTRS = [\n 'integral_guarantees',\n 'weight',\n 'max_operation_count',\n 'max_running_operation_count',\n 'strong_guarantee_resources',\n 'resource_limits',\n 'forbid_immediate_operations',\n 'create_ephemeral_subpools',\n 'fifo_sort_parameters',\n 'config',\n 'folder_id',\n];\n\nclass EmptyFullPath extends Error {}\n\nexport function loadExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const pool = getPool(getState());\n\n if (!tree) {\n return undefined;\n }\n\n if (pool === ROOT_POOL_NAME) {\n return dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n return ytApiV3Id\n .executeBatch<{full_path: string; is_ephemeral?: boolean}>(\n YTApiId.schedulingPoolFullPath,\n {\n requests: [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`,\n fields: ['is_ephemeral', 'full_path'],\n },\n },\n ],\n },\n )\n .then(([{output}]) => {\n const {full_path, is_ephemeral} = output ?? {};\n if (!full_path) {\n throw new EmptyFullPath();\n } else {\n dispatch(addFullPathToExpandedPoolsNoLoad(tree, full_path, is_ephemeral));\n dispatch(loadExpandedOperationsAndPools(tree));\n }\n })\n .catch((e) => {\n if (e instanceof EmptyFullPath) {\n dispatch({type: CHANGE_POOL, data: {pool: ROOT_POOL_NAME}});\n /**\n * We don't need to call `dispatch(loadExpandedOperationsAndPools(tree))` after `CHANGE_POOL`.\n * The call will be triggered by SchedulingExpandedPoolsUpdater.\n */\n // dispatch(loadExpandedOperationsAndPools(tree));\n } else {\n new Toaster().add({\n name: 'schedulingPoolFullPath',\n type: 'error',\n title: '',\n });\n }\n });\n }\n };\n}\n\nfunction loadExpandedOperationsAndPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const loadAll = getExpandedPoolsLoadAll(state);\n const expandedPools: Map<string, ExpandedPoolInfo> = loadAll\n ? new Map()\n : getSchedulingOperationsExpandedPools(state)[tree] ?? new Map();\n const expandedPoolNames: Array<string> = [...expandedPools.keys()];\n\n const operationsExpandedPools: Array<string> = [...expandedPoolNames];\n\n const operationsRequests: Array<BatchSubRequest> = [];\n if (loadAll) {\n operationsRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/operations`,\n ),\n );\n } else {\n const prefix = `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/operations_by_pool`;\n operationsExpandedPools.forEach((item) => {\n operationsRequests.push(makeGet(`${prefix}/${item}`));\n });\n }\n\n const loadAllPools = loadAll || !isSupportedSchedulingChildrenByPool(state);\n const poolsRequests: Array<BatchSubRequest> = [];\n const poolsChildrenRequests: Array<BatchSubRequest> = [];\n const poolsCypressDataRequests: Array<BatchSubRequest> = [];\n\n const poolsExpandedPools: Array<string> =\n -1 !== expandedPoolNames.indexOf(ROOT_POOL_NAME)\n ? expandedPoolNames\n : [ROOT_POOL_NAME, ...expandedPoolNames];\n\n if (loadAllPools) {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsCypressDataRequests.push(\n makeGet(`//sys/pool_trees/${tree}`, {attributes: POOL_TREE_GET_ATTRS}),\n );\n } else {\n poolsExpandedPools.forEach((pool) => {\n poolsRequests.push(\n makeGet(`//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}`, {\n fields: POOL_FIELDS_TO_LOAD,\n }),\n );\n poolsChildrenRequests.push(\n makeGet(\n `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/child_pools_by_pool/${pool}`,\n {\n fields: POOL_FIELDS_TO_LOAD,\n },\n ),\n );\n const {parentPoolPath, isEphemeral} = expandedPools.get(pool) ?? {};\n const cypressDataPath = parentPoolPath\n ? `//sys/pool_trees/${tree}/${parentPoolPath}/${pool}`\n : `//sys/pool_trees/${tree}/${pool}`;\n if (pool === ROOT_POOL_NAME || !isEphemeral) {\n poolsCypressDataRequests.push(\n makeList(\n pool === ROOT_POOL_NAME ? `//sys/pool_trees/${tree}` : cypressDataPath,\n {\n attributes: POOL_TREE_GET_ATTRS,\n },\n ),\n );\n }\n });\n }\n\n cancelHelper.removeAllRequests();\n\n dispatch({type: SCHEDULING_EXPANDED_POOLS_REQUEST});\n return Promise.all([\n operationsRequests.length\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadOperationsPerPool, {\n parameters: {requests: operationsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : Promise.resolve([]),\n loadAllPools\n ? ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsAll, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n })\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadPoolsPerPool, {\n parameters: {requests: poolsRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n loadAllPools\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadChildrenPerPool, {\n parameters: {requests: poolsChildrenRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n !poolsCypressDataRequests.length\n ? Promise.resolve([])\n : ytApiV3Id.executeBatch(YTApiId.schedulingLoadCypressDataPerPool, {\n parameters: {requests: poolsCypressDataRequests},\n cancellation: cancelHelper.saveCancelToken,\n }),\n ])\n .then(([operationsResults, poolsResults, poolsChildrenResults, poolsCypressData]) => {\n const error = new UIBatchError('Failed to load expanded pools');\n const {results: operations} = splitBatchResults(operationsResults, error);\n const rawOperations = _.reduce(\n operations,\n (acc, data) => {\n return Object.assign(acc, data);\n },\n {},\n );\n\n const rawPools: Record<string, PoolInfo> = {};\n const cypressData: Record<string, PoolCypressData> = {};\n\n if (loadAllPools) {\n const {results: pools} = splitBatchResults<Record<string, PoolInfo>>(\n poolsResults,\n error,\n );\n const [value = {}] = pools ?? [];\n Object.assign(rawPools, value);\n\n const {\n results: [data],\n } = splitBatchResults(poolsCypressData, error);\n Object.assign(cypressData, flattenAttributes(data));\n } else {\n const {results: pools, resultIndices} = splitBatchResults<PoolInfo>(\n poolsResults,\n error,\n );\n pools.forEach((poolInfo, index) => {\n const name = poolsExpandedPools[resultIndices[index]];\n rawPools[name] = poolInfo;\n });\n\n const {results: poolChildren} = splitBatchResults<Record<string, PoolInfo>>(\n poolsChildrenResults,\n error,\n );\n poolChildren.forEach((children) => {\n Object.assign(rawPools, children);\n });\n\n const {results: cypressDataChildrenPerPool} = splitBatchResults<\n Array<PoolCypressData>\n >(poolsCypressData, error);\n cypressDataChildrenPerPool.forEach((poolChildrenCypressData) => {\n poolChildrenCypressData.forEach((item) => {\n cypressData[item.$value] = item;\n });\n });\n }\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_SUCCESS,\n data: {\n expandedPoolsTree: tree,\n rawOperations: Object.keys(rawOperations).length\n ? rawOperations\n : EMPTY_OBJECT,\n rawPools: Object.keys(rawPools).length ? rawPools : EMPTY_OBJECT,\n flattenCypressData: Object.keys(cypressData).length\n ? cypressData\n : EMPTY_OBJECT,\n },\n });\n\n if (error.inner_errors?.length) {\n throw error;\n }\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setExpandedPool(poolName: string, expanded: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const tree = getTree(getState());\n const expandedPools = getSchedulingOperationsExpandedPools(state);\n\n const poolsByName = getSchedulingPoolsMapByName(state);\n\n const treeExpandedPools = new Map(expandedPools[tree]);\n if (expanded) {\n const expandedPoolInfo = calcExpandedPoolInfo(poolName, poolsByName);\n treeExpandedPools.set(poolName, expandedPoolInfo);\n } else {\n treeExpandedPools.delete(poolName);\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction addFullPathToExpandedPoolsNoLoad(\n tree: string,\n /**\n * elements of the array should have the same format as `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/pools/${pool}/full_path`\n */\n fullPath: string,\n isEphemeral?: boolean,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldExpandedPools = getSchedulingOperationsExpandedPools(state);\n const treeExpandedPools = new Map(oldExpandedPools[tree]);\n\n /**\n * `fullPath` value starts from `/`, example: `/mypool/child/subchild`\n * so we have to use `.slice(1)` to remove first empty string\n */\n const parts = fullPath.split('/').slice(1);\n\n for (let i = 0; i < parts.length; ++i) {\n const poolName = parts[i];\n const parentPoolPath = parts.slice(0, i).join('/');\n treeExpandedPools.set(poolName, {parentPoolPath, isEphemeral});\n }\n\n dispatch(updateExpandedPoolNoLoad(tree, treeExpandedPools));\n };\n}\n\nfunction updateExpandedPoolNoLoad(\n tree: string,\n treeExpandedPools: Map<string, ExpandedPoolInfo>,\n): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const oldExpandedPools = getSchedulingOperationsExpandedPools(getState());\n\n const expandedPools = {\n ...oldExpandedPools,\n [tree]: treeExpandedPools,\n };\n\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {expandedPools},\n });\n };\n}\n\nexport function resetExpandedPools(tree: string): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n if (!tree) {\n return;\n }\n\n const state = getState();\n const {[tree]: old, ...rest} = getSchedulingOperationsExpandedPools(state);\n\n if (old?.size) {\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {\n expandedPools: {\n ...rest,\n [tree]: new Map<string, ExpandedPoolInfo>(),\n },\n },\n });\n }\n };\n}\n\nexport function getSchedulingOperationsCount(): ThunkAction<number, RootState, any, any> {\n return (_dispatch, getState) => {\n const state = getState();\n\n const tree = getSchedulingPoolsMapByName(state);\n const root = tree[ROOT_POOL_NAME];\n return root?.operationCount || 0;\n };\n}\n\nexport function getPoolPathsByName(\n poolName: string,\n): ThunkAction<{fullPath: string; orchidPath: string}, RootState, unknown, any> {\n return (_dispatch, getState) => {\n const state = getState();\n const pools = getPools(state);\n const tree = getTree(state);\n\n return {\n fullPath: calculatePoolPath(poolName, pools, tree),\n orchidPath: `//sys/scheduler/orchid/scheduler/pool_trees/${tree}/fair_share_info/pools/${poolName}`,\n };\n };\n}\n\nexport function setLoadAllOperations(loadAll: boolean): ExpandedPoolsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n dispatch({\n type: SCHEDULING_EXPANDED_POOLS_PARTITION,\n data: {loadAll},\n });\n\n const tree = getTree(state);\n dispatch(loadExpandedPools(tree));\n };\n}\n\nfunction calcExpandedPoolInfo(\n poolName: string,\n poolsByName: Record<string, PoolInfo>,\n): ExpandedPoolInfo {\n let data = poolsByName[poolName];\n const isEphemeral = data?.isEphemeral;\n let res = '';\n while (data?.parent && data.parent !== ROOT_POOL_NAME) {\n res = res ? `${data.parent}/${res}` : data.parent;\n data = poolsByName[data.parent];\n }\n return {parentPoolPath: res, isEphemeral};\n}\n"],"mappings":"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"}
@@ -107,7 +107,7 @@ export function updatePoolChild(data, cypressData, type, treeResources) {
107
107
  data.accumulated = ypath.getValue(attributes, '/accumulated_resource_ratio_volume');
108
108
  data.accumulatedCpu = ypath.getValue(attributes, '/accumulated_resource_volume/cpu');
109
109
  data.burstDuration = ypath.getValue(attributes, '/estimated_burst_usage_duration_sec');
110
- var fifoSortParams = _map(ypath.getValue(cypressAttributes, '/fifo_sort_parameters'), function (param) {
110
+ var fifoSortParams = _map(ypath.getValue(attributes, '/fifo_sort_parameters') || ypath.getValue(cypressAttributes, '/fifo_sort_parameters'), function (param) {
111
111
  return ypath.getValue(param);
112
112
  });
113
113
  data.fifoSortParams = fifoSortParams.length > 0 ? fifoSortParams : ['start_time', 'weight', 'pending_job_count'];
@@ -1 +1 @@
1
- {"version":3,"names":["ypath","ROOT_POOL_NAME","appendInnerErrors","RESOURCE_LIMIT_MAPPER","user_memory","preparePoolChildResource","data","type","treeResources","resource","attributes","name","resources","guaranteed","getNumber","usage","min","demand","limitResource","limit","cypressAttributes","treeLimit","detailed","updatePoolChild","cypressData","getAttributes","_data$leaves","parent","console","error","_initedBy","mode","getValue","leaves","_map","leaf","child_pool_count","children","length","i","push","concat","incomplete","pool_operation_count","NaN","emptyOp","_objectSpread","operationCount","maxOperationCount","maxOperationCountEdited","runningOperationCount","maxRunningOperationCount","maxRunningOperationCountEdited","id","starvation_status","weight","weightEdited","minShareRatio","maxShareRatio","fairShareRatio","fifoIndex","usageRatio","demandRatio","isEphemeral","getBoolean","integralType","userDefinedBurstCPU","burstCPU","userDefinedFlowCPU","flowCPU","userDefinedFlowGPU","flowGPU","accumulated","accumulatedCpu","burstDuration","fifoSortParams","param","abc","forbidImmediateOperations","createEphemeralSubpools","dominantResource","e","message"],"sources":["pool-child.js"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../common/thor/ypath';\nimport {ROOT_POOL_NAME} from '../../constants/scheduling';\nimport {appendInnerErrors} from '../errors';\n\nconst RESOURCE_LIMIT_MAPPER = {\n user_memory: 'memory',\n};\n\nfunction preparePoolChildResource(data, type, treeResources, resource) {\n const attributes = data.attributes;\n\n if (data.name === ROOT_POOL_NAME) {\n data.resources[resource] = {\n guaranteed: ypath.getNumber(treeResources, '/resource_limits/' + resource),\n usage: ypath.getNumber(treeResources, '/resource_usage/' + resource),\n };\n } else {\n const min = ypath.getNumber(attributes, '/strong_guarantee_resources/' + resource);\n const usage = ypath.getNumber(attributes, '/resource_usage/' + resource);\n const demand = ypath.getNumber(attributes, '/resource_demand/' + resource);\n const guaranteed = ypath.getNumber(\n attributes,\n '/promised_fair_share_resources/' + resource,\n );\n\n const limitResource = RESOURCE_LIMIT_MAPPER[resource] || resource;\n const limit = ypath.getNumber(data.cypressAttributes, '/resource_limits/' + limitResource);\n\n const treeLimit = ypath.getNumber(treeResources, '/resource_limits/' + resource);\n const detailed =\n treeLimit * ypath.getNumber(attributes, '/detailed_fair_share/total/' + limitResource);\n\n data.resources[resource] = {\n min,\n guaranteed,\n usage,\n demand,\n limit,\n detailed,\n };\n }\n\n return data;\n}\n\nexport function updatePoolChild(data, cypressData, type, treeResources) {\n try {\n const attributes = data.attributes;\n const cypressAttributes = ypath.getAttributes(cypressData);\n\n data.cypressAttributes = cypressAttributes;\n data.type = type;\n\n if (data.type === 'pool') {\n if (typeof attributes === 'undefined' && data.parent) {\n console.error(\n 'Pool \"%s\" without attributes inited by \"%s\"',\n data.name,\n data._initedBy,\n );\n }\n\n data.mode = ypath.getValue(attributes, '/mode');\n\n data.leaves = _.map(data.leaves, (leaf) => {\n return updatePoolChild(leaf, {}, 'operation', treeResources);\n });\n\n const child_pool_count = ypath.getNumber(attributes, '/child_pool_count');\n if (child_pool_count > 0 && !data.children.length) {\n for (let i = 0; i < child_pool_count; ++i) {\n data.children.push({\n parent: data.name,\n type: 'pool',\n name: `#key_${data.name}_${i}`,\n attributes: {},\n leaves: [],\n incomplete: true,\n });\n }\n }\n\n if (!data.leaves?.length) {\n data.pool_operation_count = ypath.getNumber(\n attributes,\n '/pool_operation_count',\n NaN,\n );\n if (data.pool_operation_count > 0) {\n const emptyOp = updatePoolChild(\n {attributes: {}},\n {},\n 'operation',\n treeResources,\n );\n data.leaves = [];\n for (let i = 0; i < data.pool_operation_count; ++i) {\n data.leaves.push({\n ...emptyOp,\n name: `##fake_operation_${data.name}_${i}`,\n });\n }\n }\n }\n\n // Operations\n data.operationCount = ypath.getNumber(attributes, '/operation_count');\n data.maxOperationCount = ypath.getNumber(attributes, '/max_operation_count');\n data.maxOperationCountEdited = ypath.getNumber(\n cypressAttributes,\n '/max_operation_count',\n );\n data.runningOperationCount = ypath.getNumber(attributes, '/running_operation_count');\n data.maxRunningOperationCount = ypath.getNumber(\n attributes,\n '/max_running_operation_count',\n );\n data.maxRunningOperationCountEdited = ypath.getNumber(\n cypressAttributes,\n '/max_running_operation_count',\n );\n }\n\n data.id = data.name;\n data.starvation_status = ypath.getValue(attributes, '/starvation_status');\n\n // General\n data.weight = ypath.getNumber(attributes, '/weight');\n data.weightEdited = ypath.getNumber(cypressAttributes, '/weight');\n data.minShareRatio = ypath.getNumber(attributes, '/min_share_ratio');\n data.maxShareRatio = ypath.getNumber(attributes, '/max_share_ratio');\n data.fairShareRatio = ypath.getNumber(attributes, '/fair_share_ratio');\n data.fifoIndex = ypath.getNumber(attributes, '/fifo_index');\n data.usageRatio = ypath.getNumber(attributes, '/usage_ratio');\n data.demandRatio = ypath.getNumber(attributes, '/demand_ratio');\n data.isEphemeral = ypath.getBoolean(attributes, '/is_ephemeral');\n\n data.integralType = ypath.getValue(attributes, '/integral_guarantee_type');\n const userDefinedBurstCPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/burst_guarantee_resources/cpu',\n NaN,\n );\n data.burstCPU = ypath.getNumber(\n attributes,\n '/specified_burst_guarantee_resources/cpu',\n userDefinedBurstCPU,\n );\n const userDefinedFlowCPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/resource_flow/cpu',\n NaN,\n );\n data.flowCPU = ypath.getNumber(\n attributes,\n '/specified_resource_flow/cpu',\n userDefinedFlowCPU,\n );\n const userDefinedFlowGPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/resource_flow/gpu',\n NaN,\n );\n data.flowGPU = ypath.getNumber(\n attributes,\n '/specified_resource_flow/gpu',\n userDefinedFlowGPU,\n );\n\n data.accumulated = ypath.getValue(attributes, '/accumulated_resource_ratio_volume');\n data.accumulatedCpu = ypath.getValue(attributes, '/accumulated_resource_volume/cpu');\n data.burstDuration = ypath.getValue(attributes, '/estimated_burst_usage_duration_sec');\n\n const fifoSortParams = _.map(\n ypath.getValue(cypressAttributes, '/fifo_sort_parameters'),\n (param) => ypath.getValue(param),\n );\n data.fifoSortParams =\n fifoSortParams.length > 0\n ? fifoSortParams\n : ['start_time', 'weight', 'pending_job_count'];\n data.abc = ypath.getValue(attributes, '/abc') || {};\n data.forbidImmediateOperations =\n ypath.getBoolean(cypressAttributes, '/forbid_immediate_operations') || false;\n data.createEphemeralSubpools =\n ypath.getBoolean(cypressAttributes, '/create_ephemeral_subpools') || false;\n\n // Resources\n data.dominantResource = ypath.getValue(attributes, '/dominant_resource');\n\n data.resources = {};\n\n preparePoolChildResource(data, type, treeResources, 'cpu');\n preparePoolChildResource(data, type, treeResources, 'user_memory');\n preparePoolChildResource(data, type, treeResources, 'gpu');\n preparePoolChildResource(data, type, treeResources, 'user_slots');\n\n return data;\n } catch (e) {\n throw appendInnerErrors(e, {\n message: `An error occured while parsing pool \"${data.name}\" data.`,\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ypath","ROOT_POOL_NAME","appendInnerErrors","RESOURCE_LIMIT_MAPPER","user_memory","preparePoolChildResource","data","type","treeResources","resource","attributes","name","resources","guaranteed","getNumber","usage","min","demand","limitResource","limit","cypressAttributes","treeLimit","detailed","updatePoolChild","cypressData","getAttributes","_data$leaves","parent","console","error","_initedBy","mode","getValue","leaves","_map","leaf","child_pool_count","children","length","i","push","concat","incomplete","pool_operation_count","NaN","emptyOp","_objectSpread","operationCount","maxOperationCount","maxOperationCountEdited","runningOperationCount","maxRunningOperationCount","maxRunningOperationCountEdited","id","starvation_status","weight","weightEdited","minShareRatio","maxShareRatio","fairShareRatio","fifoIndex","usageRatio","demandRatio","isEphemeral","getBoolean","integralType","userDefinedBurstCPU","burstCPU","userDefinedFlowCPU","flowCPU","userDefinedFlowGPU","flowGPU","accumulated","accumulatedCpu","burstDuration","fifoSortParams","param","abc","forbidImmediateOperations","createEphemeralSubpools","dominantResource","e","message"],"sources":["pool-child.js"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../common/thor/ypath';\nimport {ROOT_POOL_NAME} from '../../constants/scheduling';\nimport {appendInnerErrors} from '../errors';\n\nconst RESOURCE_LIMIT_MAPPER = {\n user_memory: 'memory',\n};\n\nfunction preparePoolChildResource(data, type, treeResources, resource) {\n const attributes = data.attributes;\n\n if (data.name === ROOT_POOL_NAME) {\n data.resources[resource] = {\n guaranteed: ypath.getNumber(treeResources, '/resource_limits/' + resource),\n usage: ypath.getNumber(treeResources, '/resource_usage/' + resource),\n };\n } else {\n const min = ypath.getNumber(attributes, '/strong_guarantee_resources/' + resource);\n const usage = ypath.getNumber(attributes, '/resource_usage/' + resource);\n const demand = ypath.getNumber(attributes, '/resource_demand/' + resource);\n const guaranteed = ypath.getNumber(\n attributes,\n '/promised_fair_share_resources/' + resource,\n );\n\n const limitResource = RESOURCE_LIMIT_MAPPER[resource] || resource;\n const limit = ypath.getNumber(data.cypressAttributes, '/resource_limits/' + limitResource);\n\n const treeLimit = ypath.getNumber(treeResources, '/resource_limits/' + resource);\n const detailed =\n treeLimit * ypath.getNumber(attributes, '/detailed_fair_share/total/' + limitResource);\n\n data.resources[resource] = {\n min,\n guaranteed,\n usage,\n demand,\n limit,\n detailed,\n };\n }\n\n return data;\n}\n\nexport function updatePoolChild(data, cypressData, type, treeResources) {\n try {\n const attributes = data.attributes;\n const cypressAttributes = ypath.getAttributes(cypressData);\n\n data.cypressAttributes = cypressAttributes;\n data.type = type;\n\n if (data.type === 'pool') {\n if (typeof attributes === 'undefined' && data.parent) {\n console.error(\n 'Pool \"%s\" without attributes inited by \"%s\"',\n data.name,\n data._initedBy,\n );\n }\n\n data.mode = ypath.getValue(attributes, '/mode');\n\n data.leaves = _.map(data.leaves, (leaf) => {\n return updatePoolChild(leaf, {}, 'operation', treeResources);\n });\n\n const child_pool_count = ypath.getNumber(attributes, '/child_pool_count');\n if (child_pool_count > 0 && !data.children.length) {\n for (let i = 0; i < child_pool_count; ++i) {\n data.children.push({\n parent: data.name,\n type: 'pool',\n name: `#key_${data.name}_${i}`,\n attributes: {},\n leaves: [],\n incomplete: true,\n });\n }\n }\n\n if (!data.leaves?.length) {\n data.pool_operation_count = ypath.getNumber(\n attributes,\n '/pool_operation_count',\n NaN,\n );\n if (data.pool_operation_count > 0) {\n const emptyOp = updatePoolChild(\n {attributes: {}},\n {},\n 'operation',\n treeResources,\n );\n data.leaves = [];\n for (let i = 0; i < data.pool_operation_count; ++i) {\n data.leaves.push({\n ...emptyOp,\n name: `##fake_operation_${data.name}_${i}`,\n });\n }\n }\n }\n\n // Operations\n data.operationCount = ypath.getNumber(attributes, '/operation_count');\n data.maxOperationCount = ypath.getNumber(attributes, '/max_operation_count');\n data.maxOperationCountEdited = ypath.getNumber(\n cypressAttributes,\n '/max_operation_count',\n );\n data.runningOperationCount = ypath.getNumber(attributes, '/running_operation_count');\n data.maxRunningOperationCount = ypath.getNumber(\n attributes,\n '/max_running_operation_count',\n );\n data.maxRunningOperationCountEdited = ypath.getNumber(\n cypressAttributes,\n '/max_running_operation_count',\n );\n }\n\n data.id = data.name;\n data.starvation_status = ypath.getValue(attributes, '/starvation_status');\n\n // General\n data.weight = ypath.getNumber(attributes, '/weight');\n data.weightEdited = ypath.getNumber(cypressAttributes, '/weight');\n data.minShareRatio = ypath.getNumber(attributes, '/min_share_ratio');\n data.maxShareRatio = ypath.getNumber(attributes, '/max_share_ratio');\n data.fairShareRatio = ypath.getNumber(attributes, '/fair_share_ratio');\n data.fifoIndex = ypath.getNumber(attributes, '/fifo_index');\n data.usageRatio = ypath.getNumber(attributes, '/usage_ratio');\n data.demandRatio = ypath.getNumber(attributes, '/demand_ratio');\n data.isEphemeral = ypath.getBoolean(attributes, '/is_ephemeral');\n\n data.integralType = ypath.getValue(attributes, '/integral_guarantee_type');\n const userDefinedBurstCPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/burst_guarantee_resources/cpu',\n NaN,\n );\n data.burstCPU = ypath.getNumber(\n attributes,\n '/specified_burst_guarantee_resources/cpu',\n userDefinedBurstCPU,\n );\n const userDefinedFlowCPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/resource_flow/cpu',\n NaN,\n );\n data.flowCPU = ypath.getNumber(\n attributes,\n '/specified_resource_flow/cpu',\n userDefinedFlowCPU,\n );\n const userDefinedFlowGPU = ypath.getNumber(\n cypressAttributes,\n '/integral_guarantees/resource_flow/gpu',\n NaN,\n );\n data.flowGPU = ypath.getNumber(\n attributes,\n '/specified_resource_flow/gpu',\n userDefinedFlowGPU,\n );\n\n data.accumulated = ypath.getValue(attributes, '/accumulated_resource_ratio_volume');\n data.accumulatedCpu = ypath.getValue(attributes, '/accumulated_resource_volume/cpu');\n data.burstDuration = ypath.getValue(attributes, '/estimated_burst_usage_duration_sec');\n\n const fifoSortParams = _.map(\n ypath.getValue(attributes, '/fifo_sort_parameters') ||\n ypath.getValue(cypressAttributes, '/fifo_sort_parameters'),\n (param) => ypath.getValue(param),\n );\n data.fifoSortParams =\n fifoSortParams.length > 0\n ? fifoSortParams\n : ['start_time', 'weight', 'pending_job_count'];\n data.abc = ypath.getValue(attributes, '/abc') || {};\n data.forbidImmediateOperations =\n ypath.getBoolean(cypressAttributes, '/forbid_immediate_operations') || false;\n data.createEphemeralSubpools =\n ypath.getBoolean(cypressAttributes, '/create_ephemeral_subpools') || false;\n\n // Resources\n data.dominantResource = ypath.getValue(attributes, '/dominant_resource');\n\n data.resources = {};\n\n preparePoolChildResource(data, type, treeResources, 'cpu');\n preparePoolChildResource(data, type, treeResources, 'user_memory');\n preparePoolChildResource(data, type, treeResources, 'gpu');\n preparePoolChildResource(data, type, treeResources, 'user_slots');\n\n return data;\n } catch (e) {\n throw appendInnerErrors(e, {\n message: `An error occured while parsing pool \"${data.name}\" data.`,\n });\n }\n}\n"],"mappings":"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"}