@ytsaurus/ui 1.13.1 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/shared/yt-types.d.ts +6 -0
- package/build/cjs/ui/common/yt-api-init.js +3 -1
- package/build/cjs/ui/common/yt-api-init.js.map +1 -1
- package/build/cjs/ui/constants/scheduling/index.d.ts +6 -7
- package/build/cjs/ui/constants/scheduling/index.js +7 -8
- package/build/cjs/ui/constants/scheduling/index.js.map +1 -1
- package/build/cjs/ui/pages/components/tabs/node/NodePage.js +1 -4
- package/build/cjs/ui/pages/components/tabs/node/NodePage.js.map +1 -1
- package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -16
- package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
- package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js +2 -5
- package/build/cjs/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js.map +1 -1
- package/build/cjs/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js +1 -5
- package/build/cjs/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js.map +1 -1
- package/build/cjs/ui/pages/operations/selectors.d.ts +8 -7
- package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +32 -28
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +8 -7
- package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +8 -7
- package/build/cjs/ui/pages/scheduling/Alerts.js +1 -1
- package/build/cjs/ui/pages/scheduling/Alerts.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/Content.js +2 -2
- package/build/cjs/ui/pages/scheduling/Content/Content.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.d.ts → SchedulingExpandedPoolsUpdater.d.ts} +2 -2
- package/build/cjs/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.js → SchedulingExpandedPoolsUpdater.js} +7 -8
- package/build/cjs/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js.map +1 -0
- package/build/cjs/ui/pages/scheduling/Content/SchedulingResources.js +4 -3
- package/build/cjs/ui/pages/scheduling/Content/SchedulingResources.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/controls/ShareUsageBar.js +1 -1
- package/build/cjs/ui/pages/scheduling/Content/controls/ShareUsageBar.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/tabs/Details/Details.js +13 -8
- package/build/cjs/ui/pages/scheduling/Content/tabs/Details/Details.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.d.ts +12 -10
- package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.js +30 -21
- package/build/cjs/ui/pages/scheduling/Content/tabs/Overview/Overview.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js +2 -2
- package/build/cjs/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js +2 -2
- package/build/cjs/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.d.ts +0 -1
- package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js +1 -3
- package/build/cjs/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.d.ts +24 -0
- package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js +8 -19
- package/build/cjs/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Scheduling/Scheduling.js +29 -48
- package/build/cjs/ui/pages/scheduling/Scheduling/Scheduling.js.map +1 -1
- package/build/cjs/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js +8 -4
- package/build/cjs/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js.map +1 -1
- package/build/cjs/ui/rum/rum-wrap-api.d.ts +95 -53
- package/build/cjs/ui/rum/rum-wrap-api.js +59 -56
- package/build/cjs/ui/rum/rum-wrap-api.js.map +1 -1
- package/build/cjs/ui/store/actions/components/node/node.js +6 -29
- package/build/cjs/ui/store/actions/components/node/node.js.map +1 -1
- package/build/cjs/ui/store/actions/operations/detail.js +1 -1
- package/build/cjs/ui/store/actions/operations/detail.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js +3 -3
- package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.d.ts +15 -0
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +377 -0
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -0
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.d.ts +15 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +226 -10
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling.d.ts +1 -32
- package/build/cjs/ui/store/actions/scheduling/scheduling.js +12 -250
- package/build/cjs/ui/store/actions/scheduling/scheduling.js.map +1 -1
- package/build/cjs/ui/store/reducers/components/node/node.d.ts +0 -2
- package/build/cjs/ui/store/reducers/components/node/node.js +2 -5
- package/build/cjs/ui/store/reducers/components/node/node.js.map +1 -1
- package/build/cjs/ui/store/reducers/index.d.ts +9 -7
- package/build/cjs/ui/store/reducers/index.js +3 -4
- package/build/cjs/ui/store/reducers/index.js.map +1 -1
- package/build/cjs/ui/store/reducers/scheduling/expanded-pools.d.ts +28 -0
- package/build/cjs/ui/store/reducers/scheduling/{scheduling-operations.js → expanded-pools.js} +10 -8
- package/build/cjs/ui/store/reducers/scheduling/expanded-pools.js.map +1 -0
- package/build/cjs/ui/store/reducers/scheduling/index.d.ts +5 -93
- package/build/cjs/ui/store/reducers/scheduling/index.js +10 -136
- package/build/cjs/ui/store/reducers/scheduling/index.js.map +1 -1
- package/build/cjs/ui/store/reducers/scheduling/scheduling.d.ts +100 -0
- package/build/cjs/ui/store/reducers/scheduling/scheduling.js +139 -0
- package/build/cjs/ui/store/reducers/scheduling/scheduling.js.map +1 -0
- package/build/cjs/ui/store/reducers/scheduling/url-mapping.d.ts +13 -2
- package/build/cjs/ui/store/reducers/scheduling/url-mapping.js +31 -26
- package/build/cjs/ui/store/reducers/scheduling/url-mapping.js.map +1 -1
- package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +64 -56
- package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +64 -56
- package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +88 -77
- package/build/cjs/ui/store/selectors/chyt/index.d.ts +56 -49
- package/build/cjs/ui/store/selectors/components/node/memory.d.ts +56 -49
- package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +1712 -13
- package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +8 -7
- package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +16 -14
- package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +48 -42
- package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +859 -9
- package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +40 -35
- package/build/cjs/ui/store/selectors/global/index.d.ts +116 -102
- package/build/cjs/ui/store/selectors/global/index.js +2 -3
- package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
- package/build/cjs/ui/store/selectors/global/supported-features.d.ts +48 -42
- package/build/cjs/ui/store/selectors/modals/errors.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +24 -21
- package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +32 -28
- package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +56 -49
- package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +24 -21
- package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +16 -14
- package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +8 -7
- package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +16 -14
- package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +16 -14
- package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +8 -7
- package/build/cjs/ui/store/selectors/operations/index.d.ts +96 -84
- package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +32 -28
- package/build/cjs/ui/store/selectors/operations/operation.d.ts +939 -79
- package/build/cjs/ui/store/selectors/operations/operation.js +2 -17
- package/build/cjs/ui/store/selectors/operations/operation.js.map +1 -1
- package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +24 -21
- package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +64 -56
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +876 -0
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.js +75 -0
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.js.map +1 -0
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +8 -7
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.js +3 -3
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/{scheduling-operations.d.ts → expanded-pools.d.ts} +14 -14
- package/build/cjs/ui/store/selectors/scheduling/expanded-pools.js +35 -0
- package/build/cjs/ui/store/selectors/scheduling/expanded-pools.js.map +1 -0
- package/build/cjs/ui/store/selectors/scheduling/index.d.ts +8 -7
- package/build/cjs/ui/store/selectors/scheduling/index.js +3 -3
- package/build/cjs/ui/store/selectors/scheduling/index.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/monitor.js +1 -1
- package/build/cjs/ui/store/selectors/scheduling/monitor.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +2552 -3
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js +10 -18
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +4291 -45
- package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +13739 -149
- package/build/cjs/ui/store/selectors/scheduling/scheduling.js +35 -30
- package/build/cjs/ui/store/selectors/scheduling/scheduling.js.map +1 -1
- package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +120 -105
- package/build/cjs/ui/store/selectors/thor/support.d.ts +4294 -86
- package/build/cjs/ui/store/selectors/thor/support.js +76 -138
- package/build/cjs/ui/store/selectors/thor/support.js.map +1 -1
- package/build/cjs/ui/store/selectors/thor/support.spec.js +163 -68
- package/build/cjs/ui/store/selectors/thor/support.spec.js.map +1 -1
- package/build/cjs/ui/store/window-store.js +2 -2
- package/build/cjs/ui/store/window-store.js.map +1 -1
- package/build/cjs/ui/utils/batch.d.ts +54 -0
- package/build/cjs/ui/utils/batch.js +27 -0
- package/build/cjs/ui/utils/batch.js.map +1 -0
- package/build/cjs/ui/utils/scheduling/pool-child.d.ts +1 -1
- package/build/cjs/ui/utils/scheduling/pool-child.js +20 -9
- package/build/cjs/ui/utils/scheduling/pool-child.js.map +1 -1
- package/build/cjs/ui/utils/scheduling/scheduling.d.ts +2 -6
- package/build/cjs/ui/utils/scheduling/scheduling.js +3 -3
- package/build/cjs/ui/utils/scheduling/scheduling.js.map +1 -1
- package/build/cjs/ui/utils/utils.d.ts +3 -2
- package/build/cjs/ui/utils/utils.js +17 -9
- package/build/cjs/ui/utils/utils.js.map +1 -1
- package/build/esm/shared/yt-types.d.ts +6 -0
- package/build/esm/ui/common/yt-api-init.js +4 -2
- package/build/esm/ui/common/yt-api-init.js.map +1 -1
- package/build/esm/ui/constants/scheduling/index.d.ts +6 -7
- package/build/esm/ui/constants/scheduling/index.js +6 -7
- package/build/esm/ui/constants/scheduling/index.js.map +1 -1
- package/build/esm/ui/pages/components/tabs/node/NodePage.js +1 -4
- package/build/esm/ui/pages/components/tabs/node/NodePage.js.map +1 -1
- package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -16
- package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
- package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js +3 -6
- package/build/esm/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js.map +1 -1
- package/build/esm/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js +1 -5
- package/build/esm/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js.map +1 -1
- package/build/esm/ui/pages/operations/selectors.d.ts +8 -7
- package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +32 -28
- package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +8 -7
- package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +8 -7
- package/build/esm/ui/pages/scheduling/Alerts.js +1 -1
- package/build/esm/ui/pages/scheduling/Alerts.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/Content.js +2 -2
- package/build/esm/ui/pages/scheduling/Content/Content.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/{SchedulingOperationsUpdater.d.ts → SchedulingExpandedPoolsUpdater.d.ts} +2 -2
- package/build/esm/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js +15 -0
- package/build/esm/ui/pages/scheduling/Content/SchedulingExpandedPoolsUpdater.js.map +1 -0
- package/build/esm/ui/pages/scheduling/Content/SchedulingResources.js +4 -3
- package/build/esm/ui/pages/scheduling/Content/SchedulingResources.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/controls/ShareUsageBar.js +1 -1
- package/build/esm/ui/pages/scheduling/Content/controls/ShareUsageBar.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/Details/Details.js +14 -9
- package/build/esm/ui/pages/scheduling/Content/tabs/Details/Details.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.d.ts +12 -10
- package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.js +27 -18
- package/build/esm/ui/pages/scheduling/Content/tabs/Overview/Overview.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js +1 -1
- package/build/esm/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.js.map +1 -1
- package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.d.ts +0 -1
- package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js +1 -3
- package/build/esm/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.d.ts +24 -0
- package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js +8 -19
- package/build/esm/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Scheduling/Scheduling.js +26 -45
- package/build/esm/ui/pages/scheduling/Scheduling/Scheduling.js.map +1 -1
- package/build/esm/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js +6 -2
- package/build/esm/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.js.map +1 -1
- package/build/esm/ui/rum/rum-wrap-api.d.ts +95 -53
- package/build/esm/ui/rum/rum-wrap-api.js +58 -55
- package/build/esm/ui/rum/rum-wrap-api.js.map +1 -1
- package/build/esm/ui/store/actions/components/node/node.js +6 -28
- package/build/esm/ui/store/actions/components/node/node.js.map +1 -1
- package/build/esm/ui/store/actions/operations/detail.js +1 -1
- package/build/esm/ui/store/actions/operations/detail.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js +2 -2
- package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/expanded-pools.d.ts +15 -0
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js +363 -0
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -0
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.d.ts +15 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +221 -13
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling.d.ts +1 -32
- package/build/esm/ui/store/actions/scheduling/scheduling.js +16 -247
- package/build/esm/ui/store/actions/scheduling/scheduling.js.map +1 -1
- package/build/esm/ui/store/reducers/components/node/node.d.ts +0 -2
- package/build/esm/ui/store/reducers/components/node/node.js +2 -5
- package/build/esm/ui/store/reducers/components/node/node.js.map +1 -1
- package/build/esm/ui/store/reducers/index.d.ts +9 -7
- package/build/esm/ui/store/reducers/index.js +3 -4
- package/build/esm/ui/store/reducers/index.js.map +1 -1
- package/build/esm/ui/store/reducers/scheduling/expanded-pools.d.ts +28 -0
- package/build/esm/ui/store/reducers/scheduling/{scheduling-operations.js → expanded-pools.js} +11 -9
- package/build/esm/ui/store/reducers/scheduling/expanded-pools.js.map +1 -0
- package/build/esm/ui/store/reducers/scheduling/index.d.ts +5 -93
- package/build/esm/ui/store/reducers/scheduling/index.js +9 -135
- package/build/esm/ui/store/reducers/scheduling/index.js.map +1 -1
- package/build/esm/ui/store/reducers/scheduling/scheduling.d.ts +100 -0
- package/build/esm/ui/store/reducers/scheduling/scheduling.js +132 -0
- package/build/esm/ui/store/reducers/scheduling/scheduling.js.map +1 -0
- package/build/esm/ui/store/reducers/scheduling/url-mapping.d.ts +13 -2
- package/build/esm/ui/store/reducers/scheduling/url-mapping.js +19 -14
- package/build/esm/ui/store/reducers/scheduling/url-mapping.js.map +1 -1
- package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +64 -56
- package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +64 -56
- package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +88 -77
- package/build/esm/ui/store/selectors/chyt/index.d.ts +56 -49
- package/build/esm/ui/store/selectors/components/node/memory.d.ts +56 -49
- package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +1712 -13
- package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +8 -7
- package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +16 -14
- package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +48 -42
- package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +859 -9
- package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +40 -35
- package/build/esm/ui/store/selectors/global/index.d.ts +116 -102
- package/build/esm/ui/store/selectors/global/index.js +2 -3
- package/build/esm/ui/store/selectors/global/index.js.map +1 -1
- package/build/esm/ui/store/selectors/global/supported-features.d.ts +48 -42
- package/build/esm/ui/store/selectors/modals/errors.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/content/document.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +24 -21
- package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +32 -28
- package/build/esm/ui/store/selectors/navigation/content/table.d.ts +56 -49
- package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +24 -21
- package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/navigation.d.ts +16 -14
- package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +8 -7
- package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +16 -14
- package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +16 -14
- package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +8 -7
- package/build/esm/ui/store/selectors/operations/index.d.ts +96 -84
- package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +32 -28
- package/build/esm/ui/store/selectors/operations/operation.d.ts +939 -79
- package/build/esm/ui/store/selectors/operations/operation.js +2 -17
- package/build/esm/ui/store/selectors/operations/operation.js.map +1 -1
- package/build/esm/ui/store/selectors/operations/operations-list.d.ts +24 -21
- package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +64 -56
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +876 -0
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.js +68 -0
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.js.map +1 -0
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +8 -7
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.js +3 -3
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/{scheduling-operations.d.ts → expanded-pools.d.ts} +14 -14
- package/build/esm/ui/store/selectors/scheduling/{scheduling-operations.js → expanded-pools.js} +13 -10
- package/build/esm/ui/store/selectors/scheduling/expanded-pools.js.map +1 -0
- package/build/esm/ui/store/selectors/scheduling/index.d.ts +8 -7
- package/build/esm/ui/store/selectors/scheduling/index.js +3 -3
- package/build/esm/ui/store/selectors/scheduling/index.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/monitor.js +1 -1
- package/build/esm/ui/store/selectors/scheduling/monitor.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +2552 -3
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js +11 -19
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +4291 -45
- package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +13739 -149
- package/build/esm/ui/store/selectors/scheduling/scheduling.js +34 -29
- package/build/esm/ui/store/selectors/scheduling/scheduling.js.map +1 -1
- package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +120 -105
- package/build/esm/ui/store/selectors/thor/support.d.ts +4294 -86
- package/build/esm/ui/store/selectors/thor/support.js +73 -134
- package/build/esm/ui/store/selectors/thor/support.js.map +1 -1
- package/build/esm/ui/store/selectors/thor/support.spec.js +164 -69
- package/build/esm/ui/store/selectors/thor/support.spec.js.map +1 -1
- package/build/esm/ui/store/window-store.js +1 -1
- package/build/esm/ui/store/window-store.js.map +1 -1
- package/build/esm/ui/utils/batch.d.ts +54 -0
- package/build/esm/ui/utils/batch.js +19 -0
- package/build/esm/ui/utils/batch.js.map +1 -0
- package/build/esm/ui/utils/scheduling/pool-child.d.ts +1 -1
- package/build/esm/ui/utils/scheduling/pool-child.js +20 -9
- package/build/esm/ui/utils/scheduling/pool-child.js.map +1 -1
- package/build/esm/ui/utils/scheduling/scheduling.d.ts +2 -6
- package/build/esm/ui/utils/scheduling/scheduling.js +3 -3
- package/build/esm/ui/utils/scheduling/scheduling.js.map +1 -1
- package/build/esm/ui/utils/utils.d.ts +3 -2
- package/build/esm/ui/utils/utils.js +17 -9
- package/build/esm/ui/utils/utils.js.map +1 -1
- package/dist/public/build/assets-manifest.json +7 -7
- package/dist/public/build/js/main.64fccb27.js +3 -0
- package/dist/public/build/js/{main.4eb01db4.js.map → main.64fccb27.js.map} +1 -1
- package/dist/public/build/js/{runtime.9491563b.js → runtime.fd8cf219.js} +2 -2
- package/dist/public/build/js/{runtime.9491563b.js.map → runtime.fd8cf219.js.map} +1 -1
- package/dist/public/build/manifest.json +4 -4
- package/package.json +2 -2
- package/build/cjs/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js.map +0 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-operations.d.ts +0 -15
- package/build/cjs/ui/store/actions/scheduling/scheduling-operations.js +0 -280
- package/build/cjs/ui/store/actions/scheduling/scheduling-operations.js.map +0 -1
- package/build/cjs/ui/store/reducers/scheduling/scheduling-operations.d.ts +0 -19
- package/build/cjs/ui/store/reducers/scheduling/scheduling-operations.js.map +0 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-operations.js +0 -32
- package/build/cjs/ui/store/selectors/scheduling/scheduling-operations.js.map +0 -1
- package/build/esm/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js +0 -16
- package/build/esm/ui/pages/scheduling/Content/SchedulingOperationsUpdater.js.map +0 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-operations.d.ts +0 -15
- package/build/esm/ui/store/actions/scheduling/scheduling-operations.js +0 -267
- package/build/esm/ui/store/actions/scheduling/scheduling-operations.js.map +0 -1
- package/build/esm/ui/store/reducers/scheduling/scheduling-operations.d.ts +0 -19
- package/build/esm/ui/store/reducers/scheduling/scheduling-operations.js.map +0 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-operations.js.map +0 -1
- package/dist/public/build/js/main.4eb01db4.js +0 -3
- /package/dist/public/build/js/{main.4eb01db4.js.LICENSE.txt → main.64fccb27.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_ypath","_interopRequireDefault","require","_scheduling","_errors","obj","__esModule","default","RESOURCE_LIMIT_MAPPER","user_memory","preparePoolChildResource","data","type","treeResources","resource","attributes","name","ROOT_POOL_NAME","resources","guaranteed","ypath","getNumber","usage","min","demand","limitResource","limit","cypressAttributes","treeLimit","detailed","updatePoolChild","cypressData","opts","getAttributes","_data$leaves","parent","console","error","_initedBy","mode","getValue","leaves","_map","leaf","length","pool_operation_count","NaN","emptyOp","i","push","_objectSpread","concat","operationCount","maxOperationCount","maxOperationCountEdited","runningOperationCount","maxRunningOperationCount","maxRunningOperationCountEdited","id","useStarvingStatus","starvation_status","getBoolean","weight","weightEdited","minShareRatio","maxShareRatio","fairShareRatio","fifoIndex","usageRatio","demandRatio","isEphemeral","integralType","userDefinedBurstCPU","burstCPU","userDefinedFlowCPU","flowCPU","userDefinedFlowGPU","flowGPU","accumulated","accumulatedCpu","burstDuration","fifoSortParams","param","abc","acl","forbidImmediateOperations","createEphemeralSubpools","dominantResource","e","appendInnerErrors","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, opts) {\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, opts);\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 opts,\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 const {useStarvingStatus} = opts;\n data.starvation_status = useStarvingStatus\n ? ypath.getValue(attributes, '/starvation_status')\n : ypath.getBoolean(attributes, '/starving')\n ? 'starving'\n : 'non_starving';\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(cypressAttributes, '/abc') || {};\n data.acl = ypath.getValue(cypressAttributes, '/acl') || [];\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","_interopRequireDefault","require","_scheduling","_errors","obj","__esModule","default","RESOURCE_LIMIT_MAPPER","user_memory","preparePoolChildResource","data","type","treeResources","resource","attributes","name","ROOT_POOL_NAME","resources","guaranteed","ypath","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","_i","_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","appendInnerErrors","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,11 +1,7 @@
|
|
1
|
-
import { PoolInfo } from '../../store/selectors/scheduling/scheduling-pools';
|
1
|
+
import { OperationInfo, PoolInfo } from '../../store/selectors/scheduling/scheduling-pools';
|
2
2
|
export declare function prepareTrees(trees: Array<unknown>): any[];
|
3
3
|
export declare function prepareCurrentTree(defaultTree: unknown, trees: Array<string>, tree: string): any;
|
4
|
-
export declare function preparePools<
|
5
|
-
parent?: string;
|
6
|
-
}, O extends {
|
7
|
-
pool: string;
|
8
|
-
}>(pools: Record<string, P>, operations: Record<string, O>): PoolInfo[];
|
4
|
+
export declare function preparePools(pools: Record<string, PoolInfo>, operations: Record<string, OperationInfo>): import("../../common/hammer/tree-list").TreeNode<PoolInfo, OperationInfo>[];
|
9
5
|
export declare function computePathItems(pools: Array<PoolInfo>, name: string): string[];
|
10
6
|
export declare function computePoolPath(pool: PoolInfo, pools: Array<PoolInfo>): string;
|
11
7
|
export declare function flattenAttributes(obj: any): any;
|
@@ -22,8 +22,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
22
22
|
var _map2 = _interopRequireDefault(require("lodash/map"));
|
23
23
|
var _find2 = _interopRequireDefault(require("lodash/find"));
|
24
24
|
var _ypath = _interopRequireDefault(require("../../common/thor/ypath"));
|
25
|
-
var _hammer = _interopRequireDefault(require("../../common/hammer"));
|
26
25
|
var _scheduling = require("../../constants/scheduling");
|
26
|
+
var _treeList = require("../../common/hammer/tree-list");
|
27
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
28
28
|
function getPool(pools, name) {
|
29
29
|
return (0, _find2.default)(pools, function (pool) {
|
@@ -39,10 +39,10 @@ function prepareCurrentTree(defaultTree, trees, tree) {
|
|
39
39
|
return tree !== '' && trees.indexOf(tree) !== -1 ? tree : _ypath.default.getValue(defaultTree, '') || trees[0];
|
40
40
|
}
|
41
41
|
function preparePools(pools, operations) {
|
42
|
-
var treeNodesMap =
|
42
|
+
var treeNodesMap = (0, _treeList.prepareTree)(pools, function (entry) {
|
43
43
|
return _ypath.default.getValue(entry, '/parent');
|
44
44
|
});
|
45
|
-
|
45
|
+
(0, _treeList.attachTreeLeaves)(treeNodesMap, operations, function (operation) {
|
46
46
|
return _ypath.default.getValue(operation, '/pool');
|
47
47
|
});
|
48
48
|
return (0, _map2.default)(treeNodesMap);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_ypath","_interopRequireDefault","require","_hammer","_scheduling","obj","__esModule","default","getPool","pools","name","_find","pool","prepareTrees","trees","_map","tree","ypath","getValue","sort","prepareCurrentTree","defaultTree","indexOf","preparePools","operations","treeNodesMap","hammer","treeList","prepareTree","entry","attachTreeLeaves","operation","computePathItems","parent","ROOT_POOL_NAME","pathItems","unshift","computePoolPath","partitions","parentPool","item","join","flattenAttributes","toReturn","object","i","Object","hasOwnProperty","call","innerObject","_typeof","is","keys","length","flatObject","x","getResourceLimit","limitKey","value","Number","concat","isNaN","prepareValueDetails","path","childrenSum","prepareMinGuaranteed","undefined","arguments","res","_reduce","children","sum","tmp","firstValidNumber","NaN","_len","args","Array","_key","INTEGRAL_GUARANTEES_PREFIX","exports","POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR","guaranteeType","burstCpu","burstRam","burstGpu","flowCpu","flowRam","flowGpu","POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE","cpuStrong","gpuStrong","memoryStrong","POOL_GENERAL_TYPE_TO_ATTRIBUTE","maxOperationCount","maxRunningOperationCount","POOL_RESOURCE_TYPE_TO_ATTRIBUTE","_objectSpread","getPoolResourceInfo","type","getPoolResourceInitialValue","allowSource","_getPoolResourceInfo","limit","source","getInitialValues","editItem","allowedSources","slug","_indexOf","general","abcService","key","title","mode","weight","getNumber","assign","resourceGuarantee","integralGuarantee","resourceLimits","cpu","gpu","memory","userSlots","otherSettings","forbidImmediateOperations","getBoolean","fifoSortParams","createEphemeralSubpools","isAbcPoolName","startsWith","isTopLevelPool","_ref"],"sources":["scheduling.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../common/thor/ypath';\nimport hammer from '../../common/hammer';\nimport {ROOT_POOL_NAME} from '../../constants/scheduling';\nimport {OperationInfo, PoolInfo} from '../../store/selectors/scheduling/scheduling-pools';\n\nfunction getPool(pools: Array<PoolInfo>, name: string) {\n return _.find(pools, (pool) => pool.name === name);\n}\n\nexport function prepareTrees(trees: Array<unknown>) {\n return _.map(trees, (tree) => ypath.getValue(tree, '')).sort();\n}\n\nexport function prepareCurrentTree(defaultTree: unknown, trees: Array<string>, tree: string) {\n return tree !== '' && trees.indexOf(tree) !== -1\n ? tree\n : ypath.getValue(defaultTree, '') || trees[0];\n}\n\nexport function preparePools<P extends {parent?: string}, O extends {pool: string}>(\n pools: Record<string, P>,\n operations: Record<string, O>,\n) {\n let treeNodesMap: Record<string, PoolInfo> = hammer.treeList.prepareTree(\n pools,\n (entry: PoolInfo) => ypath.getValue(entry, '/parent'),\n );\n\n treeNodesMap = hammer.treeList.attachTreeLeaves(\n treeNodesMap,\n operations,\n (operation: OperationInfo) => ypath.getValue(operation, '/pool'),\n );\n\n return _.map(treeNodesMap);\n}\n\nexport function computePathItems(pools: Array<PoolInfo>, name: string) {\n let pool: PoolInfo | undefined =\n getPool(pools, name) || ({parent: ROOT_POOL_NAME, name} as PoolInfo);\n const pathItems = [];\n\n // Unknown pool or dynamically created pool\n while (pool) {\n pathItems.unshift(pool.name);\n\n pool = getPool(pools, pool.parent);\n }\n\n return pathItems;\n}\n\nexport function computePoolPath(pool: PoolInfo, pools: Array<PoolInfo>) {\n const partitions = [pool.name];\n let parent: string | undefined = pool.parent;\n\n while (parent && parent !== ROOT_POOL_NAME) {\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n const parentPool = _.find(pools, (item) => item.name === parent);\n partitions.unshift(parentPool?.name!);\n parent = parentPool?.parent;\n }\n\n return partitions.join('/');\n}\n\n/* eslint-disable prefer-const */\nexport function flattenAttributes(obj: any) {\n const toReturn: any = {};\n const object = ypath.getValue(obj);\n\n for (let i in object) {\n if (!Object.hasOwnProperty.call(object, i)) {\n continue;\n }\n\n const innerObject = ypath.getValue(object[i]);\n if (\n typeof innerObject === 'object' &&\n !Object.is(innerObject, null) &&\n Object.keys(innerObject).length > 0\n ) {\n toReturn[i] = object[i];\n\n const flatObject = flattenAttributes(object[i]);\n for (let x in flatObject) {\n if (!Object.hasOwnProperty.call(flatObject, x)) {\n continue;\n }\n\n toReturn[x] = flatObject[x];\n }\n } else {\n toReturn[i] = object[i];\n }\n }\n\n return toReturn;\n}\n\nfunction getResourceLimit(pool: PoolInfo | undefined, limitKey: string): number | '' {\n const value = Number(ypath.getValue(pool, `/cypressAttributes/resource_limits/${limitKey}`));\n return isNaN(value) ? '' : value;\n}\n\nfunction prepareValueDetails(pool: PoolInfo | undefined, path: string) {\n if (!pool) {\n return {};\n }\n\n const value = Number(ypath.getValue(pool, path));\n const childrenSum = prepareMinGuaranteed(pool, path);\n\n return {\n value: isNaN(value) ? undefined : value,\n childrenSum: isNaN(childrenSum!) ? undefined : childrenSum,\n };\n}\n\nfunction prepareMinGuaranteed(pool?: PoolInfo, path = '') {\n const res = _.reduce(\n pool?.children,\n (sum, item) => {\n const tmp = Number(ypath.getValue(item, path) || 0);\n return isNaN(tmp) ? sum : tmp + firstValidNumber(sum, 0)!;\n },\n NaN,\n );\n return isNaN(res) ? undefined : res;\n}\n\nfunction firstValidNumber(...args: number[]) {\n for (let i = 0; i < args.length; ++i) {\n if (!isNaN(args[i])) {\n return args[i];\n }\n }\n return undefined;\n}\n\nexport const INTEGRAL_GUARANTEES_PREFIX = 'integral_guarantees/';\n\nexport const POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR = {\n guaranteeType: INTEGRAL_GUARANTEES_PREFIX + 'guarantee_type',\n burstCpu: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/cpu',\n burstRam: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/memory',\n burstGpu: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/gpu',\n flowCpu: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/cpu',\n flowRam: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/memory',\n flowGpu: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/gpu',\n};\n\nexport const POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE = {\n cpuStrong: 'strong_guarantee_resources/cpu',\n gpuStrong: 'strong_guarantee_resources/gpu',\n memoryStrong: 'strong_guarantee_resources/memory',\n //userSlotsStrong: 'strong_guarantee_resources/user_slots',\n};\n\nexport const POOL_GENERAL_TYPE_TO_ATTRIBUTE = {\n maxOperationCount: 'max_operation_count',\n maxRunningOperationCount: 'max_running_operation_count',\n};\n\nexport const POOL_RESOURCE_TYPE_TO_ATTRIBUTE = {\n ...POOL_GENERAL_TYPE_TO_ATTRIBUTE,\n ...POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE,\n ...POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR,\n};\n\nexport type PoolStrongResourceType = keyof typeof POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE;\nexport type PoolIntegralResourceType = keyof typeof POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR;\nexport type PoolGeneralResourceType = keyof typeof POOL_GENERAL_TYPE_TO_ATTRIBUTE;\nexport type PoolResourceType = keyof typeof POOL_RESOURCE_TYPE_TO_ATTRIBUTE;\n\nexport function getPoolResourceInfo(pool: PoolInfo, type: PoolResourceType) {\n const path = '/cypressAttributes/' + POOL_RESOURCE_TYPE_TO_ATTRIBUTE[type];\n return prepareValueDetails(pool, path);\n}\n\nexport interface InitialPoolResourceInfo {\n limit?: number;\n source?: string;\n}\n\nexport function getPoolResourceInitialValue(\n pool: PoolInfo | undefined,\n type: PoolResourceType,\n allowSource: boolean,\n): InitialPoolResourceInfo {\n if (!pool) {\n return {};\n }\n const {value} = getPoolResourceInfo(pool, type);\n return {\n limit: value,\n source: allowSource ? pool.parent : undefined,\n };\n}\n\nexport function getInitialValues(editItem: PoolInfo | undefined, allowedSources: Array<string>) {\n const slug = ypath.getValue(editItem, '/abc/slug');\n\n const allowSource = -1 !== _.indexOf(allowedSources, editItem?.parent);\n\n return {\n general: {\n name: editItem?.name,\n abcService: slug\n ? {\n key: slug,\n value: slug,\n title: ypath.getValue(editItem, '/abc/name'),\n }\n : undefined,\n parent: editItem?.parent,\n mode: editItem?.mode,\n weight: ypath.getNumber(editItem, '/cypressAttributes/weight'),\n maxOperationCount: Object.assign(\n getPoolResourceInitialValue(editItem, 'maxOperationCount', allowSource),\n {source: undefined},\n ),\n maxRunningOperationCount: Object.assign(\n getPoolResourceInitialValue(editItem, 'maxRunningOperationCount', allowSource),\n {source: undefined},\n ),\n },\n resourceGuarantee: {\n cpuStrong: getPoolResourceInitialValue(editItem, 'cpuStrong', allowSource),\n gpuStrong: getPoolResourceInitialValue(editItem, 'gpuStrong', allowSource),\n memoryStrong: getPoolResourceInitialValue(editItem, 'memoryStrong', allowSource),\n //userSlotsStrong: getPoolResourceInitialValue(editItem, 'userSlotsStrong', allowSource),\n },\n integralGuarantee: {\n guaranteeType:\n ypath.getValue(\n editItem,\n `/cypressAttributes/${POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR.guaranteeType}`,\n ) || 'none',\n burstCpu: getPoolResourceInitialValue(editItem, 'burstCpu', allowSource),\n burstRam: getPoolResourceInitialValue(editItem, 'burstRam', allowSource),\n burstGpu: getPoolResourceInitialValue(editItem, 'burstGpu', allowSource),\n flowCpu: getPoolResourceInitialValue(editItem, 'flowCpu', allowSource),\n flowRam: getPoolResourceInitialValue(editItem, 'flowRam', allowSource),\n flowGpu: getPoolResourceInitialValue(editItem, 'flowGpu', allowSource),\n },\n resourceLimits: {\n cpu: getResourceLimit(editItem, 'cpu'),\n gpu: getResourceLimit(editItem, 'gpu'),\n memory: getResourceLimit(editItem, 'memory'),\n userSlots: getResourceLimit(editItem, 'user_slots'),\n },\n otherSettings: {\n forbidImmediateOperations: ypath.getBoolean(editItem, '/forbidImmediateOperations'),\n fifoSortParams: ypath.getValue(editItem, '/fifoSortParams'),\n createEphemeralSubpools: ypath.getBoolean(editItem, '/createEphemeralSubpools'),\n },\n };\n}\n\nexport function isAbcPoolName(name?: string) {\n return name?.startsWith('abc:');\n}\n\nexport function isTopLevelPool(pool?: PoolInfo) {\n const {parent} = pool || {};\n\n return parent === ROOT_POOL_NAME;\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_ypath","_interopRequireDefault","require","_scheduling","_treeList","obj","__esModule","default","getPool","pools","name","_find","pool","prepareTrees","trees","_map","tree","ypath","getValue","sort","prepareCurrentTree","defaultTree","indexOf","preparePools","operations","treeNodesMap","prepareTree","entry","attachTreeLeaves","operation","computePathItems","parent","ROOT_POOL_NAME","pathItems","unshift","computePoolPath","partitions","parentPool","item","join","flattenAttributes","toReturn","object","i","Object","hasOwnProperty","call","innerObject","_typeof","is","keys","length","flatObject","x","getResourceLimit","limitKey","value","Number","concat","isNaN","prepareValueDetails","path","childrenSum","prepareMinGuaranteed","undefined","arguments","res","_reduce","children","sum","tmp","firstValidNumber","NaN","_len","args","Array","_key","INTEGRAL_GUARANTEES_PREFIX","exports","POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR","guaranteeType","burstCpu","burstRam","burstGpu","flowCpu","flowRam","flowGpu","POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE","cpuStrong","gpuStrong","memoryStrong","POOL_GENERAL_TYPE_TO_ATTRIBUTE","maxOperationCount","maxRunningOperationCount","POOL_RESOURCE_TYPE_TO_ATTRIBUTE","_objectSpread","getPoolResourceInfo","type","getPoolResourceInitialValue","allowSource","_getPoolResourceInfo","limit","source","getInitialValues","editItem","allowedSources","slug","_indexOf","general","abcService","key","title","mode","weight","getNumber","assign","resourceGuarantee","integralGuarantee","resourceLimits","cpu","gpu","memory","userSlots","otherSettings","forbidImmediateOperations","getBoolean","fifoSortParams","createEphemeralSubpools","isAbcPoolName","startsWith","isTopLevelPool","_ref"],"sources":["scheduling.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../common/thor/ypath';\nimport {ROOT_POOL_NAME} from '../../constants/scheduling';\nimport {OperationInfo, PoolInfo} from '../../store/selectors/scheduling/scheduling-pools';\nimport {attachTreeLeaves, prepareTree} from '../../common/hammer/tree-list';\n\nfunction getPool(pools: Array<PoolInfo>, name: string) {\n return _.find(pools, (pool) => pool.name === name);\n}\n\nexport function prepareTrees(trees: Array<unknown>) {\n return _.map(trees, (tree) => ypath.getValue(tree, '')).sort();\n}\n\nexport function prepareCurrentTree(defaultTree: unknown, trees: Array<string>, tree: string) {\n return tree !== '' && trees.indexOf(tree) !== -1\n ? tree\n : ypath.getValue(defaultTree, '') || trees[0];\n}\n\nexport function preparePools(\n pools: Record<string, PoolInfo>,\n operations: Record<string, OperationInfo>,\n) {\n const treeNodesMap = prepareTree<PoolInfo, OperationInfo>(pools, (entry: PoolInfo) =>\n ypath.getValue(entry, '/parent'),\n );\n\n attachTreeLeaves(treeNodesMap, operations, (operation: OperationInfo) =>\n ypath.getValue(operation, '/pool'),\n );\n\n return _.map(treeNodesMap);\n}\n\nexport function computePathItems(pools: Array<PoolInfo>, name: string) {\n let pool: PoolInfo | undefined =\n getPool(pools, name) || ({parent: ROOT_POOL_NAME, name} as PoolInfo);\n const pathItems = [];\n\n // Unknown pool or dynamically created pool\n while (pool) {\n pathItems.unshift(pool.name);\n\n pool = getPool(pools, pool.parent);\n }\n\n return pathItems;\n}\n\nexport function computePoolPath(pool: PoolInfo, pools: Array<PoolInfo>) {\n const partitions = [pool.name];\n let parent: string | undefined = pool.parent;\n\n while (parent && parent !== ROOT_POOL_NAME) {\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n const parentPool = _.find(pools, (item) => item.name === parent);\n partitions.unshift(parentPool?.name!);\n parent = parentPool?.parent;\n }\n\n return partitions.join('/');\n}\n\n/* eslint-disable prefer-const */\nexport function flattenAttributes(obj: any) {\n const toReturn: any = {};\n const object = ypath.getValue(obj);\n\n for (let i in object) {\n if (!Object.hasOwnProperty.call(object, i)) {\n continue;\n }\n\n const innerObject = ypath.getValue(object[i]);\n if (\n typeof innerObject === 'object' &&\n !Object.is(innerObject, null) &&\n Object.keys(innerObject).length > 0\n ) {\n toReturn[i] = object[i];\n\n const flatObject = flattenAttributes(object[i]);\n for (let x in flatObject) {\n if (!Object.hasOwnProperty.call(flatObject, x)) {\n continue;\n }\n\n toReturn[x] = flatObject[x];\n }\n } else {\n toReturn[i] = object[i];\n }\n }\n\n return toReturn;\n}\n\nfunction getResourceLimit(pool: PoolInfo | undefined, limitKey: string): number | '' {\n const value = Number(ypath.getValue(pool, `/cypressAttributes/resource_limits/${limitKey}`));\n return isNaN(value) ? '' : value;\n}\n\nfunction prepareValueDetails(pool: PoolInfo | undefined, path: string) {\n if (!pool) {\n return {};\n }\n\n const value = Number(ypath.getValue(pool, path));\n const childrenSum = prepareMinGuaranteed(pool, path);\n\n return {\n value: isNaN(value) ? undefined : value,\n childrenSum: isNaN(childrenSum!) ? undefined : childrenSum,\n };\n}\n\nfunction prepareMinGuaranteed(pool?: PoolInfo, path = '') {\n const res = _.reduce(\n pool?.children,\n (sum, item) => {\n const tmp = Number(ypath.getValue(item, path) || 0);\n return isNaN(tmp) ? sum : tmp + firstValidNumber(sum, 0)!;\n },\n NaN,\n );\n return isNaN(res) ? undefined : res;\n}\n\nfunction firstValidNumber(...args: number[]) {\n for (let i = 0; i < args.length; ++i) {\n if (!isNaN(args[i])) {\n return args[i];\n }\n }\n return undefined;\n}\n\nexport const INTEGRAL_GUARANTEES_PREFIX = 'integral_guarantees/';\n\nexport const POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR = {\n guaranteeType: INTEGRAL_GUARANTEES_PREFIX + 'guarantee_type',\n burstCpu: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/cpu',\n burstRam: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/memory',\n burstGpu: INTEGRAL_GUARANTEES_PREFIX + 'burst_guarantee_resources/gpu',\n flowCpu: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/cpu',\n flowRam: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/memory',\n flowGpu: INTEGRAL_GUARANTEES_PREFIX + 'resource_flow/gpu',\n};\n\nexport const POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE = {\n cpuStrong: 'strong_guarantee_resources/cpu',\n gpuStrong: 'strong_guarantee_resources/gpu',\n memoryStrong: 'strong_guarantee_resources/memory',\n //userSlotsStrong: 'strong_guarantee_resources/user_slots',\n};\n\nexport const POOL_GENERAL_TYPE_TO_ATTRIBUTE = {\n maxOperationCount: 'max_operation_count',\n maxRunningOperationCount: 'max_running_operation_count',\n};\n\nexport const POOL_RESOURCE_TYPE_TO_ATTRIBUTE = {\n ...POOL_GENERAL_TYPE_TO_ATTRIBUTE,\n ...POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE,\n ...POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR,\n};\n\nexport type PoolStrongResourceType = keyof typeof POOL_STRONG_RESOURCE_TYPE_TO_ATTRIBUTE;\nexport type PoolIntegralResourceType = keyof typeof POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR;\nexport type PoolGeneralResourceType = keyof typeof POOL_GENERAL_TYPE_TO_ATTRIBUTE;\nexport type PoolResourceType = keyof typeof POOL_RESOURCE_TYPE_TO_ATTRIBUTE;\n\nexport function getPoolResourceInfo(pool: PoolInfo, type: PoolResourceType) {\n const path = '/cypressAttributes/' + POOL_RESOURCE_TYPE_TO_ATTRIBUTE[type];\n return prepareValueDetails(pool, path);\n}\n\nexport interface InitialPoolResourceInfo {\n limit?: number;\n source?: string;\n}\n\nexport function getPoolResourceInitialValue(\n pool: PoolInfo | undefined,\n type: PoolResourceType,\n allowSource: boolean,\n): InitialPoolResourceInfo {\n if (!pool) {\n return {};\n }\n const {value} = getPoolResourceInfo(pool, type);\n return {\n limit: value,\n source: allowSource ? pool.parent : undefined,\n };\n}\n\nexport function getInitialValues(editItem: PoolInfo | undefined, allowedSources: Array<string>) {\n const slug = ypath.getValue(editItem, '/abc/slug');\n\n const allowSource = -1 !== _.indexOf(allowedSources, editItem?.parent);\n\n return {\n general: {\n name: editItem?.name,\n abcService: slug\n ? {\n key: slug,\n value: slug,\n title: ypath.getValue(editItem, '/abc/name'),\n }\n : undefined,\n parent: editItem?.parent,\n mode: editItem?.mode,\n weight: ypath.getNumber(editItem, '/cypressAttributes/weight'),\n maxOperationCount: Object.assign(\n getPoolResourceInitialValue(editItem, 'maxOperationCount', allowSource),\n {source: undefined},\n ),\n maxRunningOperationCount: Object.assign(\n getPoolResourceInitialValue(editItem, 'maxRunningOperationCount', allowSource),\n {source: undefined},\n ),\n },\n resourceGuarantee: {\n cpuStrong: getPoolResourceInitialValue(editItem, 'cpuStrong', allowSource),\n gpuStrong: getPoolResourceInitialValue(editItem, 'gpuStrong', allowSource),\n memoryStrong: getPoolResourceInitialValue(editItem, 'memoryStrong', allowSource),\n //userSlotsStrong: getPoolResourceInitialValue(editItem, 'userSlotsStrong', allowSource),\n },\n integralGuarantee: {\n guaranteeType:\n ypath.getValue(\n editItem,\n `/cypressAttributes/${POOL_INTEGRAL_GUARANTEE_FIELD_TO_ATTR.guaranteeType}`,\n ) || 'none',\n burstCpu: getPoolResourceInitialValue(editItem, 'burstCpu', allowSource),\n burstRam: getPoolResourceInitialValue(editItem, 'burstRam', allowSource),\n burstGpu: getPoolResourceInitialValue(editItem, 'burstGpu', allowSource),\n flowCpu: getPoolResourceInitialValue(editItem, 'flowCpu', allowSource),\n flowRam: getPoolResourceInitialValue(editItem, 'flowRam', allowSource),\n flowGpu: getPoolResourceInitialValue(editItem, 'flowGpu', allowSource),\n },\n resourceLimits: {\n cpu: getResourceLimit(editItem, 'cpu'),\n gpu: getResourceLimit(editItem, 'gpu'),\n memory: getResourceLimit(editItem, 'memory'),\n userSlots: getResourceLimit(editItem, 'user_slots'),\n },\n otherSettings: {\n forbidImmediateOperations: ypath.getBoolean(editItem, '/forbidImmediateOperations'),\n fifoSortParams: ypath.getValue(editItem, '/fifoSortParams'),\n createEphemeralSubpools: ypath.getBoolean(editItem, '/createEphemeralSubpools'),\n },\n };\n}\n\nexport function isAbcPoolName(name?: string) {\n return name?.startsWith('abc:');\n}\n\nexport function isTopLevelPool(pool?: PoolInfo) {\n const {parent} = pool || {};\n\n return parent === ROOT_POOL_NAME;\n}\n"],"mappings":"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"}
|
@@ -16,15 +16,16 @@ export declare function extractBatchV4Values<V, T extends {
|
|
16
16
|
results: (BatchResultsItem<V | T> | {
|
17
17
|
output: any;
|
18
18
|
error?: YTError | undefined;
|
19
|
-
})[]
|
19
|
+
})[];
|
20
20
|
};
|
21
21
|
export interface SplitedBatchResults<T> {
|
22
22
|
error: YTError | undefined;
|
23
23
|
results: Array<T>;
|
24
24
|
outputs: Array<T | undefined>;
|
25
25
|
errorIndices: Array<number>;
|
26
|
+
resultIndices: Array<number>;
|
26
27
|
}
|
27
|
-
export declare function splitBatchResults<T = unknown>(batchResults: Array<BatchResultsItem<T>>,
|
28
|
+
export declare function splitBatchResults<T = unknown>(batchResults: Array<BatchResultsItem<T>>, dstError?: YTError): SplitedBatchResults<T>;
|
28
29
|
export declare function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>): number[];
|
29
30
|
interface WrapApiOptions<T> {
|
30
31
|
toasterName: string;
|
@@ -47,7 +47,9 @@ var _excluded = ["results"],
|
|
47
47
|
var BATCH_ERROR_MESSAGE = 'The following sub-requests are failed:';
|
48
48
|
function getBatchError(batchResults) {
|
49
49
|
var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BATCH_ERROR_MESSAGE;
|
50
|
-
return splitBatchResults(batchResults,
|
50
|
+
return splitBatchResults(batchResults, {
|
51
|
+
message: message
|
52
|
+
}).error;
|
51
53
|
}
|
52
54
|
var COMMANDS_V4_WITH_VALUE = {
|
53
55
|
get: true,
|
@@ -57,7 +59,7 @@ var COMMANDS_V4_WITH_VALUE = {
|
|
57
59
|
function extractBatchV4Values(data, requests) {
|
58
60
|
var results = data.results,
|
59
61
|
rest = (0, _objectWithoutProperties2.default)(data, _excluded);
|
60
|
-
var res = !results ?
|
62
|
+
var res = !results ? [] : (0, _map2.default)(results, function (itemData, index) {
|
61
63
|
var _requests$index;
|
62
64
|
var hasValue = COMMANDS_V4_WITH_VALUE[(_requests$index = requests[index]) === null || _requests$index === void 0 ? void 0 : _requests$index.command];
|
63
65
|
if (!hasValue) {
|
@@ -76,11 +78,14 @@ function extractBatchV4Values(data, requests) {
|
|
76
78
|
});
|
77
79
|
}
|
78
80
|
function splitBatchResults(batchResults) {
|
79
|
-
var
|
81
|
+
var dstError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
82
|
+
message: BATCH_ERROR_MESSAGE
|
83
|
+
};
|
80
84
|
var innerErrors = [];
|
81
85
|
var results = [];
|
82
86
|
var outputs = [];
|
83
87
|
var errorIndices = [];
|
88
|
+
var resultIndices = [];
|
84
89
|
(0, _forEach2.default)(batchResults, function (res, index) {
|
85
90
|
var error = res.error,
|
86
91
|
output = res.output;
|
@@ -90,18 +95,21 @@ function splitBatchResults(batchResults) {
|
|
90
95
|
errorIndices.push(index);
|
91
96
|
} else {
|
92
97
|
results.push(output);
|
98
|
+
resultIndices.push(index);
|
93
99
|
}
|
94
100
|
});
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
}
|
101
|
+
if (innerErrors.length) {
|
102
|
+
var _dstError$inner_error, _dstError$inner_error2;
|
103
|
+
dstError.inner_errors = (_dstError$inner_error = dstError.inner_errors) !== null && _dstError$inner_error !== void 0 ? _dstError$inner_error : [];
|
104
|
+
(_dstError$inner_error2 = dstError.inner_errors).push.apply(_dstError$inner_error2, innerErrors);
|
105
|
+
}
|
106
|
+
var error = !innerErrors.length ? undefined : dstError;
|
100
107
|
return {
|
101
108
|
error: error,
|
102
109
|
results: results,
|
103
110
|
outputs: outputs,
|
104
|
-
errorIndices: errorIndices
|
111
|
+
errorIndices: errorIndices,
|
112
|
+
resultIndices: resultIndices
|
105
113
|
};
|
106
114
|
}
|
107
115
|
function getBatchErrorIndices(results) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_progress","_hammer","_constants","_errors","_axios","_jsxRuntime","obj","__esModule","default","BATCH_ERROR_MESSAGE","getBatchError","batchResults","message","arguments","length","undefined","splitBatchResults","error","COMMANDS_V4_WITH_VALUE","get","list","exists","extractBatchV4Values","data","requests","results","rest","_objectWithoutProperties","_excluded","res","_map","itemData","index","_requests$index","hasValue","command","output","itemRest","_excluded2","_objectSpread","value","innerErrors","outputs","errorIndices","_forEach","push","inner_errors","getBatchErrorIndices","_reduce","acc","_ref","toaster","Toaster","wrapBatchPromise","p","then","wrapApiPromiseByToaster","options","errorContent","successContent","isBatch","batchError","skipSuccessToast","_options$timeout","add","name","toasterName","type","title","successTitle","content","autoHiding","autoHide","timeout","_error$response","axios","isCancel","Promise","reject","response","code","skipErrorToast","errorTitle","_jsxs","children","actions","label","onClick","showErrorPopup","calcProgressProps","usage","limit","format","themeThresholds","defaultThemeThresholds","computeProgress","theme","getProgressTheme","text","concat","formatNumber","hammer","showToasterError","_error$response2","unescapeSlashX","path","decoded","i","len","currentChar","charAt","nextChar","hexEscapeSequence","String","fromCharCode","parseInt","calculateLoadingStatus","loading","loaded","LOADING_STATUS","LOADING","ERROR","LOADED","UNINITIALIZED","isFinalLoadingStatus","status","delayed","callBack","rej","setTimeout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","t1","sent","t2","stop","makeLink","url","_jsx","Link","href","target","window","store","dispatch","showErrorModal","toggleBooleanInPlace","key","tmp","moveArrayElement","arr","oldIndex","newIndex","_arr$splice","splice","_arr$splice2","_slicedToArray","item","nanToUndefined","isNaN","visitTreeItems","treeItem","visitorFn","opts","handledSet","Set","visitTreeItemsImpl","isNeedToSkipChildren","has","child","openInNewTab","Object","assign","document","createElement","click","previousProps","showChangedProps","props","verbose","prevProps","console","log","Date","now","keys","changed","v","k","updateIfChanged","isEqual"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\n\nimport {TypedKeys, YTError} from '../types';\nimport {Link, ProgressProps, Toaster} from '@gravity-ui/uikit';\nimport {\n ThemeThreshold,\n computeProgress,\n defaultThemeThresholds,\n getProgressTheme,\n} from '../utils/progress';\nimport hammer from '../common/hammer';\nimport {LOADING_STATUS} from '../constants';\nimport {ErrorInfo} from '../store/reducers/modals/errors';\nimport {showErrorModal} from '../store/actions/modals/errors';\nimport {BatchResultsItem} from '../../shared/yt-types';\nimport axios, {AxiosError} from 'axios';\n\nconst BATCH_ERROR_MESSAGE = 'The following sub-requests are failed:';\n\nexport function getBatchError<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string = BATCH_ERROR_MESSAGE,\n): YTError | undefined {\n return splitBatchResults(batchResults, message).error;\n}\n\nconst COMMANDS_V4_WITH_VALUE: Record<string, boolean> = {\n get: true,\n list: true,\n exists: true,\n};\n\nexport function extractBatchV4Values<V, T extends {value?: V}>(\n data: {\n results?: Array<BatchResultsItem<T | V>>;\n },\n requests: Array<{command: string}>,\n) {\n const {results, ...rest} = data;\n const res = !results\n ? null\n : _.map(results, (itemData, index) => {\n const hasValue = COMMANDS_V4_WITH_VALUE[requests[index]?.command];\n if (!hasValue) {\n return itemData;\n }\n\n const {output, ...itemRest} = itemData;\n return {\n ...itemRest,\n ...(hasValue ? {output: (output as any).value} : {output}),\n };\n });\n\n return {...rest, results: res};\n}\n\nexport interface SplitedBatchResults<T> {\n error: YTError | undefined;\n results: Array<T>;\n outputs: Array<T | undefined>;\n errorIndices: Array<number>;\n}\n\nexport function splitBatchResults<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string = BATCH_ERROR_MESSAGE,\n): SplitedBatchResults<T> {\n const innerErrors: Array<YTError> = [];\n const results: Array<T> = [];\n const outputs: Array<T | undefined> = [];\n const errorIndices: Array<number> = [];\n _.forEach(batchResults, (res, index) => {\n const {error, output} = res;\n outputs.push(output);\n if (error) {\n innerErrors.push(error);\n errorIndices.push(index);\n } else {\n results.push(output!);\n }\n });\n\n const error = !innerErrors.length ? undefined : {inner_errors: innerErrors, message, results};\n return {error, results, outputs, errorIndices};\n}\n\nexport function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>) {\n return _.reduce(\n results,\n (acc, {error}, index) => {\n if (error) {\n acc.push(index);\n }\n return acc;\n },\n [] as Array<number>,\n );\n}\n\ninterface WrapApiOptions<T> {\n toasterName: string;\n successContent?: React.ReactNode | ((res: T) => React.ReactNode);\n skipSuccessToast?: boolean;\n errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);\n skipErrorToast?: boolean;\n successTitle?: string;\n errorTitle?: string;\n timeout?: number;\n autoHide?: boolean;\n\n isBatch?: boolean;\n batchError?: string;\n}\n\nconst toaster = new Toaster();\n\nexport function wrapBatchPromise<T>(p: Promise<T>): Promise<T> {\n return p.then((res) => {\n const error = getBatchError(res as any, 'Batch-request is failed');\n if (error) {\n throw error;\n }\n\n return res;\n });\n}\n\nexport function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T> {\n const {errorContent, successContent} = options;\n return p\n .then((res) => {\n if (options.isBatch) {\n const error = getBatchError(\n res as any,\n options.batchError || 'Batch-request is failed',\n );\n if (error) {\n throw error;\n }\n }\n\n if (!options.skipSuccessToast) {\n toaster.add({\n name: options.toasterName,\n type: 'success',\n title: options.successTitle || 'Success',\n content:\n 'function' === typeof successContent ? successContent(res) : successContent,\n autoHiding: options.autoHide === false ? false : options.timeout ?? 10000,\n });\n }\n return res;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n if (!options.skipErrorToast) {\n toaster.add({\n name: options.toasterName,\n type: 'error',\n title: options.errorTitle || 'Failure',\n content:\n 'function' === typeof errorContent\n ? errorContent(error)\n : errorContent || (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' Details', onClick: () => showErrorPopup(data)}],\n autoHiding: false,\n });\n }\n return Promise.reject(error);\n });\n}\n\nexport function calcProgressProps(\n usage?: number,\n limit?: number,\n format: 'Number' | 'Bytes' = 'Number',\n themeThresholds: ThemeThreshold[] = defaultThemeThresholds,\n): ProgressProps {\n const value = computeProgress(usage, limit);\n return {\n value,\n theme: getProgressTheme(value, themeThresholds),\n text: `${formatNumber(usage, format)} / ${formatNumber(limit, format)}`,\n };\n}\n\nexport function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string {\n return format === 'Bytes' ? hammer.format['Bytes'](value) : hammer.format['Number'](value);\n}\n\nexport function showToasterError(name: string, error: any) {\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name,\n type: 'error',\n title: `${name} failure`,\n content: (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n return Promise.reject(error);\n}\n\nexport function unescapeSlashX(path: string) {\n let decoded = '';\n\n for (let i = 0, len = path.length; i < len; i++) {\n const currentChar = path.charAt(i);\n\n if (currentChar === '\\\\') {\n const nextChar = path.charAt((i += 1));\n\n if (nextChar === 'x') {\n // TODO check that next two characters are hexademical and end of string is not reached\n const hexEscapeSequence = path.charAt((i += 1)) + path.charAt((i += 1));\n\n decoded += String.fromCharCode(parseInt(hexEscapeSequence, 16));\n } else {\n decoded += nextChar;\n }\n } else {\n decoded += currentChar;\n }\n }\n\n return decoded;\n}\n\nexport function calculateLoadingStatus(loading: boolean, loaded: boolean, error: any) {\n if (loading) {\n return LOADING_STATUS.LOADING;\n }\n\n if (error) {\n return LOADING_STATUS.ERROR;\n }\n\n if (loaded) {\n return LOADING_STATUS.LOADED;\n }\n\n return LOADING_STATUS.UNINITIALIZED;\n}\n\nexport function isFinalLoadingStatus(status: string) {\n return status === LOADING_STATUS.LOADED || status === LOADING_STATUS.ERROR;\n}\n\nexport function delayed<T>(callBack: () => Promise<T>, timeout: number): Promise<T> {\n return new Promise((res, rej) => {\n setTimeout(async () => {\n try {\n res(await callBack());\n } catch (e) {\n rej(e);\n }\n }, timeout);\n });\n}\n\nexport function makeLink(url: string, text: string) {\n return !url ? undefined : (\n <Link href={url} target={'_blank'}>\n {text}\n </Link>\n );\n}\n\nexport function showErrorPopup(\n error: YTError | AxiosError,\n options: Omit<ErrorInfo, 'error'> = {},\n) {\n (window as any).store.dispatch(showErrorModal(error, options));\n}\n\nexport function toggleBooleanInPlace<T, K extends TypedKeys<T, boolean>>(key: K, obj: T) {\n const tmp: any = obj;\n if (tmp[key]) {\n delete tmp[key];\n } else {\n tmp[key] = true;\n }\n return obj;\n}\n\nexport function moveArrayElement<T>(arr: Array<T>, oldIndex: number, newIndex: number): [] | [T] {\n if (oldIndex < 0 || oldIndex >= arr.length || newIndex < 0 || newIndex >= arr.length) {\n return [];\n }\n\n const [item] = arr.splice(oldIndex, 1);\n arr.splice(newIndex, 0, item);\n\n return [item];\n}\n\nexport function nanToUndefined(value: any) {\n return isNaN(value) ? undefined : value;\n}\n\ntype Tree<T> = T & {\n children?: Array<Tree<T>>;\n};\n\ninterface VisitTreeItemsOptions<T> {\n handledSet: Set<unknown>;\n isNeedToSkipChildren?: (item: T) => boolean;\n}\n\nexport function visitTreeItems<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options?: Partial<VisitTreeItemsOptions<T>>,\n) {\n const opts = {\n ...options,\n handledSet: options?.handledSet || new Set(),\n };\n\n return visitTreeItemsImpl(treeItem, visitorFn, opts);\n}\n\nfunction visitTreeItemsImpl<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options: VisitTreeItemsOptions<T>,\n) {\n const {handledSet, isNeedToSkipChildren} = options;\n\n if (!treeItem || handledSet.has(treeItem)) {\n return;\n }\n\n handledSet.add(treeItem);\n visitorFn(treeItem);\n\n if (isNeedToSkipChildren && isNeedToSkipChildren(treeItem)) {\n return;\n }\n\n _.forEach(treeItem.children, (child) => visitTreeItemsImpl(child, visitorFn, options));\n}\n\nexport function openInNewTab(href: string) {\n // Safari specific hack to open new tab (not window)\n Object.assign(document.createElement('a'), {\n target: '_blank',\n href,\n }).click();\n}\n\nconst previousProps: Record<string, any> = {};\n\nexport function showChangedProps(key: string, props: object, verbose?: boolean) {\n const prevProps = previousProps[key];\n if (prevProps === undefined) {\n console.log(key, Date.now(), Object.keys(props));\n } else {\n const changed: Array<string> = [];\n _.forEach(props, (v, k) => {\n if (v !== prevProps[k]) {\n changed.push(k);\n if (verbose) {\n console.log(key, k, {prev: prevProps[k], v});\n }\n }\n });\n console.log(key, Date.now(), changed);\n }\n previousProps[key] = props;\n}\n\nexport function updateIfChanged<T, K extends keyof T>(\n obj: T,\n key: K,\n value: T[K],\n isEqual?: (l: T[K], r: T[K]) => boolean,\n) {\n if (isEqual ? !isEqual(obj[key], value) : obj[key] !== value) {\n obj[key] = value;\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_progress","_hammer","_constants","_errors","_axios","_jsxRuntime","obj","__esModule","default","BATCH_ERROR_MESSAGE","getBatchError","batchResults","message","arguments","length","undefined","splitBatchResults","error","COMMANDS_V4_WITH_VALUE","get","list","exists","extractBatchV4Values","data","requests","results","rest","_objectWithoutProperties","_excluded","res","_map","itemData","index","_requests$index","hasValue","command","output","itemRest","_excluded2","_objectSpread","value","dstError","innerErrors","outputs","errorIndices","resultIndices","_forEach","push","_dstError$inner_error","_dstError$inner_error2","inner_errors","apply","getBatchErrorIndices","_reduce","acc","_ref","toaster","Toaster","wrapBatchPromise","p","then","wrapApiPromiseByToaster","options","errorContent","successContent","isBatch","batchError","skipSuccessToast","_options$timeout","add","name","toasterName","type","title","successTitle","content","autoHiding","autoHide","timeout","_error$response","axios","isCancel","Promise","reject","response","code","skipErrorToast","errorTitle","_jsxs","children","actions","label","onClick","showErrorPopup","calcProgressProps","usage","limit","format","themeThresholds","defaultThemeThresholds","computeProgress","theme","getProgressTheme","text","concat","formatNumber","hammer","showToasterError","_error$response2","unescapeSlashX","path","decoded","i","len","currentChar","charAt","nextChar","hexEscapeSequence","String","fromCharCode","parseInt","calculateLoadingStatus","loading","loaded","LOADING_STATUS","LOADING","ERROR","LOADED","UNINITIALIZED","isFinalLoadingStatus","status","delayed","callBack","rej","setTimeout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","t1","sent","t2","stop","makeLink","url","_jsx","Link","href","target","window","store","dispatch","showErrorModal","toggleBooleanInPlace","key","tmp","moveArrayElement","arr","oldIndex","newIndex","_arr$splice","splice","_arr$splice2","_slicedToArray","item","nanToUndefined","isNaN","visitTreeItems","treeItem","visitorFn","opts","handledSet","Set","visitTreeItemsImpl","isNeedToSkipChildren","has","child","openInNewTab","Object","assign","document","createElement","click","previousProps","showChangedProps","props","verbose","prevProps","console","log","Date","now","keys","changed","v","k","updateIfChanged","isEqual"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\n\nimport {TypedKeys, YTError} from '../types';\nimport {Link, ProgressProps, Toaster} from '@gravity-ui/uikit';\nimport {\n ThemeThreshold,\n computeProgress,\n defaultThemeThresholds,\n getProgressTheme,\n} from '../utils/progress';\nimport hammer from '../common/hammer';\nimport {LOADING_STATUS} from '../constants';\nimport {ErrorInfo} from '../store/reducers/modals/errors';\nimport {showErrorModal} from '../store/actions/modals/errors';\nimport {BatchResultsItem} from '../../shared/yt-types';\nimport axios, {AxiosError} from 'axios';\n\nconst BATCH_ERROR_MESSAGE = 'The following sub-requests are failed:';\n\nexport function getBatchError<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string = BATCH_ERROR_MESSAGE,\n): YTError | undefined {\n return splitBatchResults(batchResults, {message}).error;\n}\n\nconst COMMANDS_V4_WITH_VALUE: Record<string, boolean> = {\n get: true,\n list: true,\n exists: true,\n};\n\nexport function extractBatchV4Values<V, T extends {value?: V}>(\n data: {\n results?: Array<BatchResultsItem<T | V>>;\n },\n requests: Array<{command: string}>,\n) {\n const {results, ...rest} = data;\n const res = !results\n ? []\n : _.map(results, (itemData, index) => {\n const hasValue = COMMANDS_V4_WITH_VALUE[requests[index]?.command];\n if (!hasValue) {\n return itemData;\n }\n\n const {output, ...itemRest} = itemData;\n return {\n ...itemRest,\n ...(hasValue ? {output: (output as any).value} : {output}),\n };\n });\n\n return {...rest, results: res};\n}\n\nexport interface SplitedBatchResults<T> {\n error: YTError | undefined;\n results: Array<T>;\n outputs: Array<T | undefined>;\n errorIndices: Array<number>;\n resultIndices: Array<number>;\n}\n\nexport function splitBatchResults<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n dstError: YTError = {message: BATCH_ERROR_MESSAGE},\n): SplitedBatchResults<T> {\n const innerErrors: Array<YTError> = [];\n const results: Array<T> = [];\n const outputs: Array<T | undefined> = [];\n const errorIndices: Array<number> = [];\n const resultIndices: Array<number> = [];\n _.forEach(batchResults, (res, index) => {\n const {error, output} = res;\n outputs.push(output);\n if (error) {\n innerErrors.push(error);\n errorIndices.push(index);\n } else {\n results.push(output!);\n resultIndices.push(index);\n }\n });\n\n if (innerErrors.length) {\n dstError.inner_errors = dstError.inner_errors ?? [];\n dstError.inner_errors.push(...innerErrors);\n }\n\n const error = !innerErrors.length ? undefined : dstError;\n return {error, results, outputs, errorIndices, resultIndices};\n}\n\nexport function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>) {\n return _.reduce(\n results,\n (acc, {error}, index) => {\n if (error) {\n acc.push(index);\n }\n return acc;\n },\n [] as Array<number>,\n );\n}\n\ninterface WrapApiOptions<T> {\n toasterName: string;\n successContent?: React.ReactNode | ((res: T) => React.ReactNode);\n skipSuccessToast?: boolean;\n errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);\n skipErrorToast?: boolean;\n successTitle?: string;\n errorTitle?: string;\n timeout?: number;\n autoHide?: boolean;\n\n isBatch?: boolean;\n batchError?: string;\n}\n\nconst toaster = new Toaster();\n\nexport function wrapBatchPromise<T>(p: Promise<T>): Promise<T> {\n return p.then((res) => {\n const error = getBatchError(res as any, 'Batch-request is failed');\n if (error) {\n throw error;\n }\n\n return res;\n });\n}\n\nexport function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T> {\n const {errorContent, successContent} = options;\n return p\n .then((res) => {\n if (options.isBatch) {\n const error = getBatchError(\n res as any,\n options.batchError || 'Batch-request is failed',\n );\n if (error) {\n throw error;\n }\n }\n\n if (!options.skipSuccessToast) {\n toaster.add({\n name: options.toasterName,\n type: 'success',\n title: options.successTitle || 'Success',\n content:\n 'function' === typeof successContent ? successContent(res) : successContent,\n autoHiding: options.autoHide === false ? false : options.timeout ?? 10000,\n });\n }\n return res;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n if (!options.skipErrorToast) {\n toaster.add({\n name: options.toasterName,\n type: 'error',\n title: options.errorTitle || 'Failure',\n content:\n 'function' === typeof errorContent\n ? errorContent(error)\n : errorContent || (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' Details', onClick: () => showErrorPopup(data)}],\n autoHiding: false,\n });\n }\n return Promise.reject(error);\n });\n}\n\nexport function calcProgressProps(\n usage?: number,\n limit?: number,\n format: 'Number' | 'Bytes' = 'Number',\n themeThresholds: ThemeThreshold[] = defaultThemeThresholds,\n): ProgressProps {\n const value = computeProgress(usage, limit);\n return {\n value,\n theme: getProgressTheme(value, themeThresholds),\n text: `${formatNumber(usage, format)} / ${formatNumber(limit, format)}`,\n };\n}\n\nexport function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string {\n return format === 'Bytes' ? hammer.format['Bytes'](value) : hammer.format['Number'](value);\n}\n\nexport function showToasterError(name: string, error: any) {\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name,\n type: 'error',\n title: `${name} failure`,\n content: (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n return Promise.reject(error);\n}\n\nexport function unescapeSlashX(path: string) {\n let decoded = '';\n\n for (let i = 0, len = path.length; i < len; i++) {\n const currentChar = path.charAt(i);\n\n if (currentChar === '\\\\') {\n const nextChar = path.charAt((i += 1));\n\n if (nextChar === 'x') {\n // TODO check that next two characters are hexademical and end of string is not reached\n const hexEscapeSequence = path.charAt((i += 1)) + path.charAt((i += 1));\n\n decoded += String.fromCharCode(parseInt(hexEscapeSequence, 16));\n } else {\n decoded += nextChar;\n }\n } else {\n decoded += currentChar;\n }\n }\n\n return decoded;\n}\n\nexport function calculateLoadingStatus(loading: boolean, loaded: boolean, error: any) {\n if (loading) {\n return LOADING_STATUS.LOADING;\n }\n\n if (error) {\n return LOADING_STATUS.ERROR;\n }\n\n if (loaded) {\n return LOADING_STATUS.LOADED;\n }\n\n return LOADING_STATUS.UNINITIALIZED;\n}\n\nexport function isFinalLoadingStatus(status: string) {\n return status === LOADING_STATUS.LOADED || status === LOADING_STATUS.ERROR;\n}\n\nexport function delayed<T>(callBack: () => Promise<T>, timeout: number): Promise<T> {\n return new Promise((res, rej) => {\n setTimeout(async () => {\n try {\n res(await callBack());\n } catch (e) {\n rej(e);\n }\n }, timeout);\n });\n}\n\nexport function makeLink(url: string, text: string) {\n return !url ? undefined : (\n <Link href={url} target={'_blank'}>\n {text}\n </Link>\n );\n}\n\nexport function showErrorPopup(\n error: YTError | AxiosError,\n options: Omit<ErrorInfo, 'error'> = {},\n) {\n (window as any).store.dispatch(showErrorModal(error, options));\n}\n\nexport function toggleBooleanInPlace<T, K extends TypedKeys<T, boolean>>(key: K, obj: T) {\n const tmp: any = obj;\n if (tmp[key]) {\n delete tmp[key];\n } else {\n tmp[key] = true;\n }\n return obj;\n}\n\nexport function moveArrayElement<T>(arr: Array<T>, oldIndex: number, newIndex: number): [] | [T] {\n if (oldIndex < 0 || oldIndex >= arr.length || newIndex < 0 || newIndex >= arr.length) {\n return [];\n }\n\n const [item] = arr.splice(oldIndex, 1);\n arr.splice(newIndex, 0, item);\n\n return [item];\n}\n\nexport function nanToUndefined(value: any) {\n return isNaN(value) ? undefined : value;\n}\n\ntype Tree<T> = T & {\n children?: Array<Tree<T>>;\n};\n\ninterface VisitTreeItemsOptions<T> {\n handledSet: Set<unknown>;\n isNeedToSkipChildren?: (item: T) => boolean;\n}\n\nexport function visitTreeItems<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options?: Partial<VisitTreeItemsOptions<T>>,\n) {\n const opts = {\n ...options,\n handledSet: options?.handledSet || new Set(),\n };\n\n return visitTreeItemsImpl(treeItem, visitorFn, opts);\n}\n\nfunction visitTreeItemsImpl<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options: VisitTreeItemsOptions<T>,\n) {\n const {handledSet, isNeedToSkipChildren} = options;\n\n if (!treeItem || handledSet.has(treeItem)) {\n return;\n }\n\n handledSet.add(treeItem);\n visitorFn(treeItem);\n\n if (isNeedToSkipChildren && isNeedToSkipChildren(treeItem)) {\n return;\n }\n\n _.forEach(treeItem.children, (child) => visitTreeItemsImpl(child, visitorFn, options));\n}\n\nexport function openInNewTab(href: string) {\n // Safari specific hack to open new tab (not window)\n Object.assign(document.createElement('a'), {\n target: '_blank',\n href,\n }).click();\n}\n\nconst previousProps: Record<string, any> = {};\n\nexport function showChangedProps(key: string, props: object, verbose?: boolean) {\n const prevProps = previousProps[key];\n if (prevProps === undefined) {\n console.log(key, Date.now(), Object.keys(props));\n } else {\n const changed: Array<string> = [];\n _.forEach(props, (v, k) => {\n if (v !== prevProps[k]) {\n changed.push(k);\n if (verbose) {\n console.log(key, k, {prev: prevProps[k], v});\n }\n }\n });\n console.log(key, Date.now(), changed);\n }\n previousProps[key] = props;\n}\n\nexport function updateIfChanged<T, K extends keyof T>(\n obj: T,\n key: K,\n value: T[K],\n isEqual?: (l: T[K], r: T[K]) => boolean,\n) {\n if (isEqual ? !isEqual(obj[key], value) : obj[key] !== value) {\n obj[key] = value;\n }\n}\n"],"mappings":"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"}
|
@@ -118,6 +118,12 @@ export interface BaseBatchParams {
|
|
118
118
|
|
119
119
|
export interface PathParams extends BaseBatchParams {
|
120
120
|
path: string;
|
121
|
+
output_format?:
|
122
|
+
| 'json'
|
123
|
+
| {
|
124
|
+
$value: 'json';
|
125
|
+
$attributes: {encode_utf8?: 'true' | 'false'};
|
126
|
+
};
|
121
127
|
}
|
122
128
|
|
123
129
|
export interface GetParams extends PathParams {
|
@@ -6,14 +6,16 @@ import { getWindowStore } from '../store/window-store';
|
|
6
6
|
import { getClusterConfig, getXsrfCookieName } from '../utils';
|
7
7
|
import { BAN_USER, BLOCK_USER } from '../constants/index';
|
8
8
|
import YT from '../config/yt-config';
|
9
|
-
import { getClusterProxy
|
9
|
+
import { getClusterProxy } from '../store/selectors/global';
|
10
|
+
import { getConfigData } from '../config/ui-settings';
|
10
11
|
export function initYTApiClusterParams(cluster) {
|
11
12
|
var clusters = YT.clusters;
|
12
13
|
var config = getClusterConfig(clusters, cluster);
|
13
14
|
yt.setup.setGlobalOption('suppressAccessTracking', true);
|
14
15
|
yt.setup.setGlobalOption('useEncodedParameters', true);
|
15
16
|
yt.setup.setGlobalOption('proxy', getClusterProxy(config));
|
16
|
-
|
17
|
+
var allowYtTvm = !getConfigData().ytApiUseCORS;
|
18
|
+
if (allowYtTvm) {
|
17
19
|
config.secure = window.location.protocol === 'https:';
|
18
20
|
}
|
19
21
|
yt.setup.setGlobalOption('useHeavyProxy', false);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Cookies","yt","Toaster","getWindowStore","getClusterConfig","getXsrfCookieName","BAN_USER","BLOCK_USER","YT","getClusterProxy","
|
1
|
+
{"version":3,"names":["Cookies","yt","Toaster","getWindowStore","getClusterConfig","getXsrfCookieName","BAN_USER","BLOCK_USER","YT","getClusterProxy","getConfigData","initYTApiClusterParams","cluster","clusters","config","setup","setGlobalOption","allowYtTvm","ytApiUseCORS","secure","window","location","protocol","id","authentication","type","subscribe","onError","error","code","codes","USER_IS_BANNED","dispatch","USER_EXCEEDED_RPS","XSRF_TOKEN_EXPIRED","content","concat","getToken","console","log","add","name","autoHiding","title","tokenName","get"],"sources":["yt-api-init.ts"],"sourcesContent":["import Cookies from 'js-cookie';\n// @ts-expect-error\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {getWindowStore} from '../store/window-store';\nimport {getClusterConfig, getXsrfCookieName} from '../utils';\nimport {BAN_USER, BLOCK_USER} from '../constants/index';\nimport YT from '../config/yt-config';\nimport {getClusterProxy} from '../store/selectors/global';\nimport {getConfigData} from '../config/ui-settings';\n\nexport function initYTApiClusterParams(cluster: string) {\n const {clusters} = YT;\n const config = getClusterConfig(clusters, cluster);\n\n yt.setup.setGlobalOption('suppressAccessTracking', true);\n yt.setup.setGlobalOption('useEncodedParameters', true);\n yt.setup.setGlobalOption('proxy', getClusterProxy(config));\n\n const allowYtTvm = !getConfigData().ytApiUseCORS;\n\n if (allowYtTvm) {\n config.secure = window.location.protocol === 'https:';\n }\n\n yt.setup.setGlobalOption('useHeavyProxy', false);\n\n yt.setup.setGlobalOption('xsrf', true);\n yt.setup.setGlobalOption('xsrfCookieName', getXsrfCookieName(config.id));\n\n if (typeof config.secure === 'boolean') {\n yt.setup.setGlobalOption('secure', config.secure);\n } else {\n yt.setup.setGlobalOption('secure', true);\n }\n\n if (config.authentication === 'domain') {\n yt.setup.setGlobalOption('authentication', {type: 'domain'});\n }\n\n yt.subscribe('error', onError);\n}\n\nfunction onError(error: any) {\n const code = error && error.code;\n\n if (code === yt.codes.USER_IS_BANNED) {\n getWindowStore().dispatch({type: BAN_USER});\n } else if (code === yt.codes.USER_EXCEEDED_RPS) {\n getWindowStore().dispatch({type: BLOCK_USER});\n } else if (code == yt.codes.XSRF_TOKEN_EXPIRED) {\n const content = `Your CSRF-token '${getToken()}' has expired. Please reaload the page`;\n console.log(content);\n\n new Toaster().add({\n name: 'xsrf-expired',\n type: 'info',\n autoHiding: false,\n title: 'CSRF-toke expired',\n content: content,\n });\n }\n}\n\nfunction getToken() {\n const cluster = YT.cluster;\n const tokenName = cluster && getXsrfCookieName(cluster);\n return tokenName && Cookies.get(tokenName);\n}\n"],"mappings":"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"}
|
@@ -3,11 +3,11 @@ export declare const SCHEDULING_DATA_SUCCESS = "SCHEDULING_DATA_SUCCESS";
|
|
3
3
|
export declare const SCHEDULING_DATA_FAILURE = "SCHEDULING_DATA_FAILURE";
|
4
4
|
export declare const SCHEDULING_DATA_CANCELLED = "SCHEDULING_DATA_CANCELLED";
|
5
5
|
export declare const SCHEDULING_DATA_PARTITION = "SCHEDULING_DATA_PARTITION";
|
6
|
-
export declare const
|
7
|
-
export declare const
|
8
|
-
export declare const
|
9
|
-
export declare const
|
10
|
-
export declare const
|
6
|
+
export declare const SCHEDULING_EXPANDED_POOLS_REQUEST = "SCHEDULING_EXPANDED_POOLS_REQUEST";
|
7
|
+
export declare const SCHEDULING_EXPANDED_POOLS_SUCCESS = "SCHEDULING_EXPANDED_POOLS_SUCCESS";
|
8
|
+
export declare const SCHEDULING_EXPANDED_POOLS_FAILURE = "SCHEDULING_EXPANDED_POOLS_FAILURE";
|
9
|
+
export declare const SCHEDULING_EXPANDED_POOLS_CANCELLED = "SCHEDULING_EXPANDED_POOLS_CANCELLED";
|
10
|
+
export declare const SCHEDULING_EXPANDED_POOLS_PARTITION = "SCHEDULING_EXPANDED_POOLS_PARTITION";
|
11
11
|
export declare const SCHEDULING_CREATE_POOL_CANCELLED = "SCHEDULING_CREATE_POOL_CANCELLED";
|
12
12
|
export declare const SCHEDULING_DELETE_POOL_REQUEST = "SCHEDULING_CREATE_DELETE_REQUEST";
|
13
13
|
export declare const SCHEDULING_DELETE_POOL_SUCCESS = "SCHEDULING_CREATE_DELETE_SUCCESS";
|
@@ -18,12 +18,11 @@ export declare const SCHEDULING_EDIT_POOL_FAILURE = "SCHEDULING_CREATE_EDIT_FAIL
|
|
18
18
|
export declare const SCHEDULING_EDIT_POOL_CANCELLED = "SCHEDULING_CREATE_EDIT_CANCELLED";
|
19
19
|
export declare const CHANGE_TABLE_TREE_STATE = "SCHEDULING_CHANGE_TABLE_TREE_STATE";
|
20
20
|
export declare const CHANGE_TREE = "SCHEDULING_CHANGE_TREE";
|
21
|
-
export declare const CHANGE_FILTER = "SCHEDULING_CHANGE_FILTER";
|
22
21
|
export declare const CHANGE_POOL = "SCHEDULING_CHANGE_POOL";
|
23
22
|
export declare const CHANGE_CONTENT_MODE = "SCHEDULING_CHANGE_CONTENT_MODE";
|
24
23
|
export declare const CHANGE_POOL_CHILDREN_FILTER = "SCHEDULING_CHANGE_POOL_CHILDREN_FILTER";
|
25
24
|
export declare const TOGGLE_EDIT_VISIBILITY = "SCHEDULING_TOGGLE_EDIT_VISIBILITY";
|
26
|
-
export declare const
|
25
|
+
export declare const POOL_TOGGLE_DELETE_VISIBILITY = "SCHEDULING_TOGGLE_DELETE_VISIBILITY";
|
27
26
|
export declare const SCHEDULING_POOL_TREE_TABLE_ID = "scheduling/pool-tree";
|
28
27
|
export declare const SCHEDULING_POOL_CHILDREN_TABLE_ID = "scheduling/pool-children";
|
29
28
|
export declare const ROOT_POOL_NAME = "<Root>";
|
@@ -5,11 +5,11 @@ export var SCHEDULING_DATA_SUCCESS = 'SCHEDULING_DATA_SUCCESS';
|
|
5
5
|
export var SCHEDULING_DATA_FAILURE = 'SCHEDULING_DATA_FAILURE';
|
6
6
|
export var SCHEDULING_DATA_CANCELLED = 'SCHEDULING_DATA_CANCELLED';
|
7
7
|
export var SCHEDULING_DATA_PARTITION = 'SCHEDULING_DATA_PARTITION';
|
8
|
-
export var
|
9
|
-
export var
|
10
|
-
export var
|
11
|
-
export var
|
12
|
-
export var
|
8
|
+
export var SCHEDULING_EXPANDED_POOLS_REQUEST = 'SCHEDULING_EXPANDED_POOLS_REQUEST';
|
9
|
+
export var SCHEDULING_EXPANDED_POOLS_SUCCESS = 'SCHEDULING_EXPANDED_POOLS_SUCCESS';
|
10
|
+
export var SCHEDULING_EXPANDED_POOLS_FAILURE = 'SCHEDULING_EXPANDED_POOLS_FAILURE';
|
11
|
+
export var SCHEDULING_EXPANDED_POOLS_CANCELLED = 'SCHEDULING_EXPANDED_POOLS_CANCELLED';
|
12
|
+
export var SCHEDULING_EXPANDED_POOLS_PARTITION = 'SCHEDULING_EXPANDED_POOLS_PARTITION';
|
13
13
|
export var SCHEDULING_CREATE_POOL_CANCELLED = 'SCHEDULING_CREATE_POOL_CANCELLED';
|
14
14
|
export var SCHEDULING_DELETE_POOL_REQUEST = 'SCHEDULING_CREATE_DELETE_REQUEST';
|
15
15
|
export var SCHEDULING_DELETE_POOL_SUCCESS = 'SCHEDULING_CREATE_DELETE_SUCCESS';
|
@@ -20,12 +20,11 @@ export var SCHEDULING_EDIT_POOL_FAILURE = 'SCHEDULING_CREATE_EDIT_FAILURE';
|
|
20
20
|
export var SCHEDULING_EDIT_POOL_CANCELLED = 'SCHEDULING_CREATE_EDIT_CANCELLED';
|
21
21
|
export var CHANGE_TABLE_TREE_STATE = 'SCHEDULING_CHANGE_TABLE_TREE_STATE';
|
22
22
|
export var CHANGE_TREE = 'SCHEDULING_CHANGE_TREE';
|
23
|
-
export var CHANGE_FILTER = 'SCHEDULING_CHANGE_FILTER';
|
24
23
|
export var CHANGE_POOL = 'SCHEDULING_CHANGE_POOL';
|
25
24
|
export var CHANGE_CONTENT_MODE = 'SCHEDULING_CHANGE_CONTENT_MODE';
|
26
25
|
export var CHANGE_POOL_CHILDREN_FILTER = 'SCHEDULING_CHANGE_POOL_CHILDREN_FILTER';
|
27
26
|
export var TOGGLE_EDIT_VISIBILITY = 'SCHEDULING_TOGGLE_EDIT_VISIBILITY';
|
28
|
-
export var
|
27
|
+
export var POOL_TOGGLE_DELETE_VISIBILITY = 'SCHEDULING_TOGGLE_DELETE_VISIBILITY';
|
29
28
|
export var SCHEDULING_POOL_TREE_TABLE_ID = 'scheduling/pool-tree';
|
30
29
|
export var SCHEDULING_POOL_CHILDREN_TABLE_ID = 'scheduling/pool-children';
|
31
30
|
export var ROOT_POOL_NAME = '<Root>';
|