@ytsaurus/ui 1.14.3 → 1.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) 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/common/utils/settings-local-provider.js +1 -1
  10. package/build/cjs/ui/common/utils/settings-local-provider.js.map +1 -1
  11. package/build/cjs/ui/common/utils/settings-remote-provider.d.ts +2 -1
  12. package/build/cjs/ui/common/utils/settings-remote-provider.js.map +1 -1
  13. package/build/cjs/ui/components/Support/Support.js +6 -4
  14. package/build/cjs/ui/components/Support/Support.js.map +1 -1
  15. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
  16. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  17. package/build/cjs/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
  18. package/build/cjs/ui/containers/SupportComponent/SupportComponent.js +24 -0
  19. package/build/cjs/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
  20. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
  21. package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
  22. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +1 -1
  23. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  24. package/build/cjs/ui/store/actions/settings/index.js +22 -11
  25. package/build/cjs/ui/store/actions/settings/index.js.map +1 -1
  26. package/build/cjs/ui/utils/scheduling/pool-child.js +1 -1
  27. package/build/cjs/ui/utils/scheduling/pool-child.js.map +1 -1
  28. package/build/esm/@types/core.d.ts +3 -2
  29. package/build/esm/server/configs/local.js +2 -1
  30. package/build/esm/server/configs/local.js.map +1 -1
  31. package/build/esm/shared/ui-settings.d.ts +1 -0
  32. package/build/esm/shared/ui-settings.js.map +1 -1
  33. package/build/esm/ui/UIFactory.d.ts +4 -1
  34. package/build/esm/ui/UIFactory.js +9 -2
  35. package/build/esm/ui/UIFactory.js.map +1 -1
  36. package/build/esm/ui/common/utils/settings-local-provider.js +1 -1
  37. package/build/esm/ui/common/utils/settings-local-provider.js.map +1 -1
  38. package/build/esm/ui/common/utils/settings-remote-provider.d.ts +2 -1
  39. package/build/esm/ui/common/utils/settings-remote-provider.js.map +1 -1
  40. package/build/esm/ui/components/Support/Support.js +6 -4
  41. package/build/esm/ui/components/Support/Support.js.map +1 -1
  42. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +50 -5
  43. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  44. package/build/esm/ui/containers/SupportComponent/SupportComponent.d.ts +5 -0
  45. package/build/esm/ui/containers/SupportComponent/SupportComponent.js +18 -0
  46. package/build/esm/ui/containers/SupportComponent/SupportComponent.js.map +1 -0
  47. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css +6 -1
  48. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.css.map +1 -1
  49. package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Details/Details.scss +6 -1
  50. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +1 -1
  51. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  52. package/build/esm/ui/store/actions/settings/index.js +22 -11
  53. package/build/esm/ui/store/actions/settings/index.js.map +1 -1
  54. package/build/esm/ui/utils/scheduling/pool-child.js +1 -1
  55. package/build/esm/ui/utils/scheduling/pool-child.js.map +1 -1
  56. package/dist/public/build/assets-manifest.json +16 -16
  57. package/dist/public/build/css/{89.3546950a.chunk.css → 861.c5a67589.chunk.css} +1 -1
  58. package/dist/public/build/css/861.c5a67589.chunk.css.map +1 -0
  59. package/dist/public/build/css/{main.e919e247.css → main.675cb8c4.css} +2 -2
  60. package/dist/public/build/css/main.675cb8c4.css.map +1 -0
  61. package/dist/public/build/js/861.9703a31c.chunk.js +2 -0
  62. package/dist/public/build/js/861.9703a31c.chunk.js.map +1 -0
  63. package/dist/public/build/js/{943.f6342dd5.chunk.js → 943.40ff6440.chunk.js} +2 -2
  64. package/dist/public/build/js/{943.f6342dd5.chunk.js.map → 943.40ff6440.chunk.js.map} +1 -1
  65. package/dist/public/build/js/main.768ba513.js +3 -0
  66. package/dist/public/build/js/{main.b8adf234.js.map → main.768ba513.js.map} +1 -1
  67. package/dist/public/build/js/runtime.ac9a4336.js +2 -0
  68. package/dist/public/build/js/{runtime.fd8cf219.js.map → runtime.ac9a4336.js.map} +1 -1
  69. package/dist/public/build/manifest.json +12 -12
  70. package/dist/server/configs/local.js +1 -0
  71. package/dist/shared/ui-settings.d.ts +1 -0
  72. package/package.json +2 -2
  73. package/dist/public/build/css/89.3546950a.chunk.css.map +0 -1
  74. package/dist/public/build/css/main.e919e247.css.map +0 -1
  75. package/dist/public/build/js/89.07445d46.chunk.js +0 -2
  76. package/dist/public/build/js/89.07445d46.chunk.js.map +0 -1
  77. package/dist/public/build/js/main.b8adf234.js +0 -3
  78. package/dist/public/build/js/runtime.fd8cf219.js +0 -2
  79. /package/dist/public/build/js/{main.b8adf234.js.LICENSE.txt → main.768ba513.js.LICENSE.txt} +0 -0
@@ -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":"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"}
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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"}
@@ -103,7 +103,7 @@ export function reloadSetting(settingName, settingNS) {
103
103
  export function reloadUserSettings(login) {
104
104
  return /*#__PURE__*/function () {
105
105
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(dispatch, getState) {
106
- var state, provider, data;
106
+ var state, provider, allData, data;
107
107
  return _regeneratorRuntime.wrap(function _callee$(_context) {
108
108
  while (1) switch (_context.prev = _context.next) {
109
109
  case 0:
@@ -113,28 +113,39 @@ export function reloadUserSettings(login) {
113
113
  _context.next = 5;
114
114
  return provider.create(login);
115
115
  case 5:
116
- _context.next = 7;
117
- return wrapApiPromiseByToaster(provider.getAll(login), {
116
+ allData = provider.getAll(login);
117
+ if (!(allData instanceof Promise)) {
118
+ _context.next = 12;
119
+ break;
120
+ }
121
+ _context.next = 9;
122
+ return wrapApiPromiseByToaster(allData, {
118
123
  toasterName: 'reload-user-settings',
119
124
  skipSuccessToast: true,
120
125
  errorContent: 'Cannot load user settings'
121
126
  });
122
- case 7:
123
- data = _context.sent;
127
+ case 9:
128
+ _context.t0 = _context.sent;
129
+ _context.next = 13;
130
+ break;
131
+ case 12:
132
+ _context.t0 = allData;
133
+ case 13:
134
+ data = _context.t0;
124
135
  dispatch({
125
136
  type: UPDATE_SETTING_DATA,
126
137
  data: data
127
138
  });
128
- _context.next = 13;
139
+ _context.next = 19;
129
140
  break;
130
- case 11:
131
- _context.prev = 11;
132
- _context.t0 = _context["catch"](0);
133
- case 13:
141
+ case 17:
142
+ _context.prev = 17;
143
+ _context.t1 = _context["catch"](0);
144
+ case 19:
134
145
  case "end":
135
146
  return _context.stop();
136
147
  }
137
- }, _callee, null, [[0, 11]]);
148
+ }, _callee, null, [[0, 17]]);
138
149
  }));
139
150
  return function (_x, _x2) {
140
151
  return _ref.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"names":["getPath","SET_SETTING_VALUE","UNSET_SETTING_VALUE","UPDATE_SETTING_DATA","showToasterError","wrapApiPromiseByToaster","logError","action","name","console","error","setSetting","settingName","settingNS","value","dispatch","path","setSettingByKey","getState","_getState","_getState$settings","settings","provider","data","login","global","previousValue","type","set","concat","removeSetting","_getState2","_getState2$settings","remove","reloadSetting","_getState3","get","then","reloadUserSettings","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","state","wrap","_callee$","_context","prev","next","create","getAll","toasterName","skipSuccessToast","errorContent","sent","t0","stop","_x","_x2","apply","arguments"],"sources":["index.ts"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../store/reducers';\nimport {SettingsAction} from '../../../store/reducers/settings';\nimport {SettingNS, getPath} from '../../../../shared/utils/settings';\nimport {SettingKey} from '../../../../shared/constants/settings-types';\n\nimport {\n SET_SETTING_VALUE,\n UNSET_SETTING_VALUE,\n UPDATE_SETTING_DATA,\n} from '../../../constants/index';\nimport {showToasterError, wrapApiPromiseByToaster} from '../../../utils/utils';\n\nfunction logError(action: string, name: string) {\n console.error('Failed to \"%s\" setting \"%s\", settings provider is disabled.', action, name);\n}\n\nexport type SettingsThunkAction<T = Promise<void>> = ThunkAction<\n T,\n RootState,\n unknown,\n SettingsAction\n>;\n\nexport function setSetting<T>(\n settingName: string,\n settingNS: SettingNS,\n value: T,\n): SettingsThunkAction {\n return (dispatch) => {\n const path = getPath(settingName, settingNS);\n return dispatch(setSettingByKey(path as SettingKey, value));\n };\n}\n\nexport function setSettingByKey<T>(path: SettingKey, value: T): SettingsThunkAction {\n return (dispatch, getState) => {\n const {\n settings: {provider, data},\n global: {login},\n } = getState();\n const previousValue = data[path];\n\n dispatch({\n type: SET_SETTING_VALUE,\n data: {path, value},\n });\n\n return provider.set(login, path, value).catch((error) => {\n if (error === 'disabled') {\n logError('set', path);\n return;\n }\n\n dispatch({\n type: SET_SETTING_VALUE,\n data: {path, value: previousValue},\n });\n\n showToasterError(`Set ${path}`, error);\n\n throw error;\n });\n };\n}\n\nexport function removeSetting(settingName: string, settingNS: SettingNS): SettingsThunkAction {\n const path = getPath(settingName, settingNS);\n\n return (dispatch, getState) => {\n const {\n settings: {provider, data},\n global: {login},\n } = getState();\n const previousValue = data[path];\n\n dispatch({\n type: UNSET_SETTING_VALUE,\n data: {path},\n });\n\n return provider.remove(login, path).catch((error) => {\n if (error === 'disabled') {\n logError('remove', settingName);\n return;\n }\n\n dispatch({\n type: SET_SETTING_VALUE,\n data: {path, value: previousValue},\n });\n\n showToasterError(`Remove ${path}`, error);\n\n throw error;\n });\n };\n}\n\nexport function reloadSetting(settingName: string, settingNS: SettingNS): SettingsThunkAction {\n const path = getPath(settingName, settingNS);\n\n return (dispatch, getState) => {\n const {\n settings: {provider},\n global: {login},\n } = getState();\n\n return provider\n .get(login, path)\n .then((value) => {\n dispatch({\n type: SET_SETTING_VALUE,\n data: {path, value},\n });\n })\n .catch((error) => {\n if (error === 'disabled') {\n logError('get', settingName);\n return;\n }\n\n showToasterError(`Reload ${path}`, error);\n\n throw error;\n });\n };\n}\n\nexport function reloadUserSettings(login: string): SettingsThunkAction {\n return async (dispatch, getState) => {\n try {\n const state = getState();\n const {provider} = state.settings;\n\n await provider.create(login);\n const data: any = await wrapApiPromiseByToaster(provider.getAll(login), {\n toasterName: 'reload-user-settings',\n skipSuccessToast: true,\n errorContent: 'Cannot load user settings',\n });\n dispatch({type: UPDATE_SETTING_DATA, data});\n } catch (e) {}\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["getPath","SET_SETTING_VALUE","UNSET_SETTING_VALUE","UPDATE_SETTING_DATA","showToasterError","wrapApiPromiseByToaster","logError","action","name","console","error","setSetting","settingName","settingNS","value","dispatch","path","setSettingByKey","getState","_getState","_getState$settings","settings","provider","data","login","global","previousValue","type","set","concat","removeSetting","_getState2","_getState2$settings","remove","reloadSetting","_getState3","get","then","reloadUserSettings","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","state","allData","wrap","_callee$","_context","prev","next","create","getAll","Promise","toasterName","skipSuccessToast","errorContent","t0","sent","t1","stop","_x","_x2","apply","arguments"],"sources":["index.ts"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../store/reducers';\nimport {SettingsAction} from '../../../store/reducers/settings';\nimport {SettingNS, getPath} from '../../../../shared/utils/settings';\nimport {SettingKey} from '../../../../shared/constants/settings-types';\n\nimport {\n SET_SETTING_VALUE,\n UNSET_SETTING_VALUE,\n UPDATE_SETTING_DATA,\n} from '../../../constants/index';\nimport {showToasterError, wrapApiPromiseByToaster} from '../../../utils/utils';\n\nfunction logError(action: string, name: string) {\n console.error('Failed to \"%s\" setting \"%s\", settings provider is disabled.', action, name);\n}\n\nexport type SettingsThunkAction<T = Promise<void>> = ThunkAction<\n T,\n RootState,\n unknown,\n SettingsAction\n>;\n\nexport function setSetting<T>(\n settingName: string,\n settingNS: SettingNS,\n value: T,\n): SettingsThunkAction {\n return (dispatch) => {\n const path = getPath(settingName, settingNS);\n return dispatch(setSettingByKey(path as SettingKey, value));\n };\n}\n\nexport function setSettingByKey<T>(path: SettingKey, value: T): SettingsThunkAction {\n return (dispatch, getState) => {\n const {\n settings: {provider, data},\n global: {login},\n } = getState();\n const previousValue = data[path];\n\n dispatch({\n type: SET_SETTING_VALUE,\n data: {path, value},\n });\n\n return provider.set(login, path, value).catch((error) => {\n if (error === 'disabled') {\n logError('set', path);\n return;\n }\n\n dispatch({\n type: SET_SETTING_VALUE,\n data: {path, value: previousValue},\n });\n\n showToasterError(`Set ${path}`, error);\n\n throw error;\n });\n };\n}\n\nexport function removeSetting(settingName: string, settingNS: SettingNS): SettingsThunkAction {\n const path = getPath(settingName, settingNS);\n\n return (dispatch, getState) => {\n const {\n settings: {provider, data},\n global: {login},\n } = getState();\n const previousValue = data[path];\n\n dispatch({\n type: UNSET_SETTING_VALUE,\n data: {path},\n });\n\n return provider.remove(login, path).catch((error) => {\n if (error === 'disabled') {\n logError('remove', settingName);\n return;\n }\n\n dispatch({\n type: SET_SETTING_VALUE,\n data: {path, value: previousValue},\n });\n\n showToasterError(`Remove ${path}`, error);\n\n throw error;\n });\n };\n}\n\nexport function reloadSetting(settingName: string, settingNS: SettingNS): SettingsThunkAction {\n const path = getPath(settingName, settingNS);\n\n return (dispatch, getState) => {\n const {\n settings: {provider},\n global: {login},\n } = getState();\n\n return provider\n .get(login, path)\n .then((value) => {\n dispatch({\n type: SET_SETTING_VALUE,\n data: {path, value},\n });\n })\n .catch((error) => {\n if (error === 'disabled') {\n logError('get', settingName);\n return;\n }\n\n showToasterError(`Reload ${path}`, error);\n\n throw error;\n });\n };\n}\n\nexport function reloadUserSettings(login: string): SettingsThunkAction {\n return async (dispatch, getState) => {\n try {\n const state = getState();\n const {provider} = state.settings;\n\n await provider.create(login);\n const allData = provider.getAll(login);\n const data: any =\n allData instanceof Promise\n ? await wrapApiPromiseByToaster(allData, {\n toasterName: 'reload-user-settings',\n skipSuccessToast: true,\n errorContent: 'Cannot load user settings',\n })\n : allData;\n dispatch({type: UPDATE_SETTING_DATA, data});\n } catch (e) {}\n };\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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"}
@@ -26,10 +26,10 @@
26
26
  "css/64.5615c430.chunk.css.map": "css/64.5615c430.chunk.css.map",
27
27
  "css/719.a9e767b7.chunk.css": "css/719.a9e767b7.chunk.css",
28
28
  "css/719.a9e767b7.chunk.css.map": "css/719.a9e767b7.chunk.css.map",
29
+ "css/861.c5a67589.chunk.css": "css/861.c5a67589.chunk.css",
30
+ "css/861.c5a67589.chunk.css.map": "css/861.c5a67589.chunk.css.map",
29
31
  "css/869.8f91d9da.chunk.css": "css/869.8f91d9da.chunk.css",
30
32
  "css/869.8f91d9da.chunk.css.map": "css/869.8f91d9da.chunk.css.map",
31
- "css/89.3546950a.chunk.css": "css/89.3546950a.chunk.css",
32
- "css/89.3546950a.chunk.css.map": "css/89.3546950a.chunk.css.map",
33
33
  "css/925.f8e38d68.chunk.css": "css/925.f8e38d68.chunk.css",
34
34
  "css/925.f8e38d68.chunk.css.map": "css/925.f8e38d68.chunk.css.map",
35
35
  "css/934.adfa96ce.chunk.css": "css/934.adfa96ce.chunk.css",
@@ -38,7 +38,7 @@
38
38
  "css/943.d936073c.chunk.css.map": "css/943.d936073c.chunk.css.map",
39
39
  "css/979.57765dc0.chunk.css": "css/979.57765dc0.chunk.css",
40
40
  "css/979.57765dc0.chunk.css.map": "css/979.57765dc0.chunk.css.map",
41
- "css/main.e919e247.css.map": "css/main.e919e247.css.map",
41
+ "css/main.675cb8c4.css.map": "css/main.675cb8c4.css.map",
42
42
  "editor.afbd84bf.worker.js": "editor.afbd84bf.worker.js",
43
43
  "editor.afbd84bf.worker.js.LICENSE.txt": "editor.afbd84bf.worker.js.LICENSE.txt",
44
44
  "editor.afbd84bf.worker.js.map": "editor.afbd84bf.worker.js.map",
@@ -46,12 +46,12 @@
46
46
  "main": {
47
47
  "assets": {
48
48
  "js": [
49
- "js/runtime.fd8cf219.js",
49
+ "js/runtime.ac9a4336.js",
50
50
  "js/vendors.75563cec.js",
51
- "js/main.b8adf234.js"
51
+ "js/main.768ba513.js"
52
52
  ],
53
53
  "css": [
54
- "css/main.e919e247.css"
54
+ "css/main.675cb8c4.css"
55
55
  ]
56
56
  }
57
57
  }
@@ -82,25 +82,25 @@
82
82
  "js/64.73cd3d66.chunk.js": "js/64.73cd3d66.chunk.js",
83
83
  "js/719.a72dd230.chunk.js": "js/719.a72dd230.chunk.js",
84
84
  "js/719.a72dd230.chunk.js.map": "js/719.a72dd230.chunk.js.map",
85
+ "js/861.9703a31c.chunk.js": "js/861.9703a31c.chunk.js",
86
+ "js/861.9703a31c.chunk.js.map": "js/861.9703a31c.chunk.js.map",
85
87
  "js/869.c0b556ac.chunk.js": "js/869.c0b556ac.chunk.js",
86
88
  "js/869.c0b556ac.chunk.js.LICENSE.txt": "js/869.c0b556ac.chunk.js.LICENSE.txt",
87
89
  "js/869.c0b556ac.chunk.js.map": "js/869.c0b556ac.chunk.js.map",
88
- "js/89.07445d46.chunk.js": "js/89.07445d46.chunk.js",
89
- "js/89.07445d46.chunk.js.map": "js/89.07445d46.chunk.js.map",
90
90
  "js/925.d1733b8a.chunk.js": "js/925.d1733b8a.chunk.js",
91
91
  "js/925.d1733b8a.chunk.js.map": "js/925.d1733b8a.chunk.js.map",
92
92
  "js/934.405901da.chunk.js": "js/934.405901da.chunk.js",
93
93
  "js/934.405901da.chunk.js.map": "js/934.405901da.chunk.js.map",
94
- "js/943.f6342dd5.chunk.js": "js/943.f6342dd5.chunk.js",
95
- "js/943.f6342dd5.chunk.js.map": "js/943.f6342dd5.chunk.js.map",
94
+ "js/943.40ff6440.chunk.js": "js/943.40ff6440.chunk.js",
95
+ "js/943.40ff6440.chunk.js.map": "js/943.40ff6440.chunk.js.map",
96
96
  "js/955.e1c8cf19.chunk.js": "js/955.e1c8cf19.chunk.js",
97
97
  "js/955.e1c8cf19.chunk.js.LICENSE.txt": "js/955.e1c8cf19.chunk.js.LICENSE.txt",
98
98
  "js/955.e1c8cf19.chunk.js.map": "js/955.e1c8cf19.chunk.js.map",
99
99
  "js/979.0e3142c0.chunk.js": "js/979.0e3142c0.chunk.js",
100
100
  "js/979.0e3142c0.chunk.js.map": "js/979.0e3142c0.chunk.js.map",
101
- "js/main.b8adf234.js.LICENSE.txt": "js/main.b8adf234.js.LICENSE.txt",
102
- "js/main.b8adf234.js.map": "js/main.b8adf234.js.map",
103
- "js/runtime.fd8cf219.js.map": "js/runtime.fd8cf219.js.map",
101
+ "js/main.768ba513.js.LICENSE.txt": "js/main.768ba513.js.LICENSE.txt",
102
+ "js/main.768ba513.js.map": "js/main.768ba513.js.map",
103
+ "js/runtime.ac9a4336.js.map": "js/runtime.ac9a4336.js.map",
104
104
  "js/vendors.75563cec.js.LICENSE.txt": "js/vendors.75563cec.js.LICENSE.txt",
105
105
  "js/vendors.75563cec.js.map": "js/vendors.75563cec.js.map",
106
106
  "js/vis-network.b367d390.chunk.js.LICENSE.txt": "js/vis-network.b367d390.chunk.js.LICENSE.txt",
@@ -108,9 +108,9 @@
108
108
  "json.5239aa2e.worker.js": "json.5239aa2e.worker.js",
109
109
  "json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
110
110
  "json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
111
- "main.css": "css/main.e919e247.css",
112
- "main.js": "js/main.b8adf234.js",
113
- "runtime.js": "js/runtime.fd8cf219.js",
111
+ "main.css": "css/main.675cb8c4.css",
112
+ "main.js": "js/main.768ba513.js",
113
+ "runtime.js": "js/runtime.ac9a4336.js",
114
114
  "vendors.js": "js/vendors.75563cec.js",
115
115
  "vis-network.js": "js/vis-network.b367d390.chunk.js"
116
116
  }
@@ -1,2 +1,2 @@
1
1
  .yt-app-navigation__user-icon{border-radius:50%}
2
- /*# sourceMappingURL=89.3546950a.chunk.css.map*/
2
+ /*# sourceMappingURL=861.c5a67589.chunk.css.map*/
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css/861.c5a67589.chunk.css","mappings":"AACI,8BACI","sources":["webpack://@ytsaurus/ui/./src/ui/containers/AppNavigation/AppNavigationComponent.scss"],"sourcesContent":[".yt-app-navigation {\n &__user-icon {\n border-radius: 50%;\n }\n}\n"],"names":[],"sourceRoot":""}