@ytsaurus/ui 1.14.1 → 1.14.2
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/@types/types.d.ts +1 -0
- package/build/cjs/shared/utils/index.js +3 -3
- package/build/cjs/shared/utils/index.js.map +1 -1
- package/build/cjs/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
- package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
- package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
- package/build/cjs/ui/pages/operations/selectors.d.ts +1 -1
- package/build/cjs/ui/pages/query-tracker/module/api.js +1 -1
- package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
- package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
- package/build/cjs/ui/rum/constants.d.ts +2 -0
- package/build/cjs/ui/rum/constants.js +4 -1
- package/build/cjs/ui/rum/constants.js.map +1 -1
- package/build/cjs/ui/rum/rum-counter.js +28 -1
- package/build/cjs/ui/rum/rum-counter.js.map +1 -1
- package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
- package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
- package/build/cjs/ui/store/actions/components/nodes/nodes.js +1 -1
- package/build/cjs/ui/store/actions/components/nodes/nodes.js.map +1 -1
- package/build/cjs/ui/store/actions/execute-batch.d.ts +2 -1
- package/build/cjs/ui/store/actions/execute-batch.js +3 -3
- package/build/cjs/ui/store/actions/execute-batch.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/content/map-node.js +1 -1
- package/build/cjs/ui/store/actions/navigation/content/map-node.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/index.js +1 -1
- package/build/cjs/ui/store/actions/navigation/index.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
- package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/copy-object.js +3 -10
- package/build/cjs/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/delete-object.js +13 -14
- package/build/cjs/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
- package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/move-object.js +3 -10
- package/build/cjs/ui/store/actions/navigation/modals/move-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/modals/restore-object.js +3 -11
- package/build/cjs/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
- package/build/cjs/ui/store/actions/navigation/tabs/locks.js +1 -1
- package/build/cjs/ui/store/actions/navigation/tabs/locks.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +2 -3
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +3 -3
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling.js +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling.js.map +1 -1
- package/build/cjs/ui/store/actions/system/nodes.js +1 -1
- package/build/cjs/ui/store/actions/system/nodes.js.map +1 -1
- package/build/cjs/ui/store/actions/system/schedulers.js +2 -2
- package/build/cjs/ui/store/actions/system/schedulers.js.map +1 -1
- package/build/cjs/ui/store/actions/tablet/stores.js +1 -1
- package/build/cjs/ui/store/actions/tablet/stores.js.map +1 -1
- package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js +1 -1
- package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
- package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
- package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
- package/build/cjs/ui/store/actions/users.js +1 -1
- package/build/cjs/ui/store/actions/users.js.map +1 -1
- package/build/cjs/ui/store/reducers/execute-batch.d.ts +1 -1
- package/build/cjs/ui/store/reducers/execute-batch.js.map +1 -1
- package/build/cjs/ui/store/reducers/index.d.ts +1 -1
- package/build/cjs/ui/store/reducers/navigation/index.d.ts +1 -1
- package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +8 -8
- package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
- package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
- package/build/cjs/ui/store/selectors/chyt/index.d.ts +7 -7
- package/build/cjs/ui/store/selectors/components/node/memory.d.ts +7 -7
- package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
- package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
- package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
- package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
- package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
- package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
- package/build/cjs/ui/store/selectors/global/index.d.ts +14 -14
- package/build/cjs/ui/store/selectors/global/supported-features.d.ts +6 -6
- package/build/cjs/ui/store/selectors/modals/errors.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
- package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
- package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +7 -7
- package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
- package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +4 -4
- package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
- package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
- package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
- package/build/cjs/ui/store/selectors/operations/index.d.ts +12 -12
- package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
- package/build/cjs/ui/store/selectors/operations/operation.d.ts +12 -12
- package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +3 -3
- package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
- package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
- package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
- package/build/cjs/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
- package/build/cjs/ui/store/selectors/scheduling/index.d.ts +1 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
- package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
- package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
- package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
- package/build/cjs/ui/store/selectors/thor/support.d.ts +5 -5
- package/build/cjs/ui/utils/acl/acl-api.js +4 -4
- package/build/cjs/ui/utils/acl/acl-api.js.map +1 -1
- package/build/cjs/ui/utils/batch.d.ts +2 -2
- package/build/cjs/ui/utils/cypress-attributes.js +1 -1
- package/build/cjs/ui/utils/cypress-attributes.js.map +1 -1
- package/build/cjs/ui/utils/errors/ui-error.d.ts +14 -0
- package/build/cjs/ui/utils/errors/ui-error.js +24 -0
- package/build/cjs/ui/utils/errors/ui-error.js.map +1 -0
- package/build/cjs/ui/utils/utils.d.ts +14 -8
- package/build/cjs/ui/utils/utils.js +9 -14
- package/build/cjs/ui/utils/utils.js.map +1 -1
- package/build/esm/@types/types.d.ts +1 -0
- package/build/esm/shared/utils/index.js +4 -8
- package/build/esm/shared/utils/index.js.map +1 -1
- package/build/esm/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
- package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
- package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
- package/build/esm/ui/pages/operations/selectors.d.ts +1 -1
- package/build/esm/ui/pages/query-tracker/module/api.js +1 -1
- package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
- package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
- package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
- package/build/esm/ui/rum/constants.d.ts +2 -0
- package/build/esm/ui/rum/constants.js +4 -1
- package/build/esm/ui/rum/constants.js.map +1 -1
- package/build/esm/ui/rum/rum-counter.js +28 -1
- package/build/esm/ui/rum/rum-counter.js.map +1 -1
- package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
- package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
- package/build/esm/ui/store/actions/components/nodes/nodes.js +1 -1
- package/build/esm/ui/store/actions/components/nodes/nodes.js.map +1 -1
- package/build/esm/ui/store/actions/execute-batch.d.ts +2 -1
- package/build/esm/ui/store/actions/execute-batch.js +3 -3
- package/build/esm/ui/store/actions/execute-batch.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/content/map-node.js +1 -1
- package/build/esm/ui/store/actions/navigation/content/map-node.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/index.js +1 -1
- package/build/esm/ui/store/actions/navigation/index.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
- package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/copy-object.js +4 -11
- package/build/esm/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/delete-object.js +14 -15
- package/build/esm/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
- package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/move-object.js +4 -11
- package/build/esm/ui/store/actions/navigation/modals/move-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/modals/restore-object.js +4 -12
- package/build/esm/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
- package/build/esm/ui/store/actions/navigation/tabs/locks.js +1 -1
- package/build/esm/ui/store/actions/navigation/tabs/locks.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js +2 -3
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +3 -3
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling.js +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling.js.map +1 -1
- package/build/esm/ui/store/actions/system/nodes.js +1 -1
- package/build/esm/ui/store/actions/system/nodes.js.map +1 -1
- package/build/esm/ui/store/actions/system/schedulers.js +2 -2
- package/build/esm/ui/store/actions/system/schedulers.js.map +1 -1
- package/build/esm/ui/store/actions/tablet/stores.js +1 -1
- package/build/esm/ui/store/actions/tablet/stores.js.map +1 -1
- package/build/esm/ui/store/actions/tablet_cell_bundles/index.js +1 -1
- package/build/esm/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
- package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
- package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
- package/build/esm/ui/store/actions/users.js +1 -1
- package/build/esm/ui/store/actions/users.js.map +1 -1
- package/build/esm/ui/store/reducers/execute-batch.d.ts +1 -1
- package/build/esm/ui/store/reducers/execute-batch.js.map +1 -1
- package/build/esm/ui/store/reducers/index.d.ts +1 -1
- package/build/esm/ui/store/reducers/navigation/index.d.ts +1 -1
- package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +8 -8
- package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
- package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
- package/build/esm/ui/store/selectors/chyt/index.d.ts +7 -7
- package/build/esm/ui/store/selectors/components/node/memory.d.ts +7 -7
- package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
- package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
- package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
- package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
- package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
- package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
- package/build/esm/ui/store/selectors/global/index.d.ts +14 -14
- package/build/esm/ui/store/selectors/global/supported-features.d.ts +6 -6
- package/build/esm/ui/store/selectors/modals/errors.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/content/document.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
- package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
- package/build/esm/ui/store/selectors/navigation/content/table.d.ts +7 -7
- package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
- package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/navigation.d.ts +4 -4
- package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
- package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
- package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
- package/build/esm/ui/store/selectors/operations/index.d.ts +12 -12
- package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
- package/build/esm/ui/store/selectors/operations/operation.d.ts +12 -12
- package/build/esm/ui/store/selectors/operations/operations-list.d.ts +3 -3
- package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
- package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
- package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
- package/build/esm/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
- package/build/esm/ui/store/selectors/scheduling/index.d.ts +1 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
- package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
- package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
- package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
- package/build/esm/ui/store/selectors/thor/support.d.ts +5 -5
- package/build/esm/ui/utils/acl/acl-api.js +4 -4
- package/build/esm/ui/utils/acl/acl-api.js.map +1 -1
- package/build/esm/ui/utils/batch.d.ts +2 -2
- package/build/esm/ui/utils/cypress-attributes.js +1 -1
- package/build/esm/ui/utils/cypress-attributes.js.map +1 -1
- package/build/esm/ui/utils/errors/ui-error.d.ts +14 -0
- package/build/esm/ui/utils/errors/ui-error.js +17 -0
- package/build/esm/ui/utils/errors/ui-error.js.map +1 -0
- package/build/esm/ui/utils/utils.d.ts +14 -8
- package/build/esm/ui/utils/utils.js +9 -14
- package/build/esm/ui/utils/utils.js.map +1 -1
- package/dist/public/build/assets-manifest.json +4 -4
- package/dist/public/build/js/main.8e777909.js +3 -0
- package/dist/public/build/js/{main.652b0208.js.map → main.8e777909.js.map} +1 -1
- package/dist/public/build/manifest.json +2 -2
- package/dist/shared/utils/index.js +3 -3
- package/package.json +3 -3
- package/dist/public/build/js/main.652b0208.js +0 -3
- /package/dist/public/build/js/{main.652b0208.js.LICENSE.txt → main.8e777909.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_yt","_interopRequireDefault","require","_omit","_forEach","_compact","_ypath","_settings","_settings2","_nodes","_settings3","_node","_nodes2","_ytApi","_cancelHelper","_rumWrapApi","_cypressAttributes","_utils","obj","__esModule","default","COMPONENTS","NAMESPACES","TEMPLATES","SettingName","changeContentMode","contentMode","type","CHANGE_CONTENT_MODE","data","updateNodeCanceler","CancelHelper","getNodes","_ref","attributes","nodeTypes","dispatch","GET_NODES","REQUEST","preparedAttrs","prepareAttributes","requests","map","command","parameters","_objectSpread","path","concat","USE_CACHE","USE_MAX_SIZE","ytApiV3Id","executeBatch","YTApiId","componentsClusterNodes","cancellation","removeAllAndSave","then","_ref2","_splitBatchResults","splitBatchResults","results","error","SUCCESS","nodes","apply","_toConsumableArray","output","ypath","getValue","code","yt","codes","CANCELLED","FAILURE","updateComponentsNode","host","get","componentsUpdateNodeData","Node","ATTRIBUTES","node","COMPONENTS_NODES_UPDATE_NODE","$value","changeHostFilter","hostFilter","CHANGE_HOST_FILTER","trim","componentsNodesSetNodeTypes","CHANGE_NODE_TYPE","applyPreset","setup","APPLY_SETUP","savePreset","name","getState","state","prevTemplates","getTemplates","templates","_defineProperty","setSetting","removePreset","omit_","handleColumnsChange","selectedColumns","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","SELECTED_COLUMNS","stop","_x","arguments","getComponentsNodesFilterOptions","compact_","useTagsFromAttributes","useRacksFromAttributes","length","GET_NODES_FILTER_OPTIONS","wrapApiPromiseByToaster","list","toasterName","errorTitle","join","skipSuccessToast","tags","Set","racks","forEach_","item","tag","add","rack","filterOptionsTags","sort","filterOptionsRacks"],"sources":["nodes.ts"],"sourcesContent":["// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport omit_ from 'lodash/omit';\nimport forEach_ from 'lodash/forEach';\nimport compact_ from 'lodash/compact';\nimport type {ThunkAction} from 'redux-thunk';\n\nimport ypath from '../../../../common/thor/ypath';\n\nimport {setSetting} from '../../../../store/actions/settings';\nimport {NAMESPACES, SettingName} from '../../../../../shared/constants/settings';\nimport {\n getRequiredAttributes,\n useRacksFromAttributes,\n useTagsFromAttributes,\n} from '../../../../store/selectors/components/nodes/nodes';\nimport {getTemplates} from '../../../../store/selectors/settings';\nimport type {RootState} from '../../../../store/reducers';\nimport {Node} from '../../../../store/reducers/components/nodes/nodes/node';\nimport type {\n NodesAction,\n NodesState,\n} from '../../../../store/reducers/components/nodes/nodes/nodes';\nimport type {NodesSetupState} from '../../../../store/reducers/components/nodes/setup/setup';\nimport {\n APPLY_SETUP,\n CHANGE_CONTENT_MODE,\n CHANGE_HOST_FILTER,\n CHANGE_NODE_TYPE,\n COMPONENTS_NODES_UPDATE_NODE,\n GET_NODES,\n GET_NODES_FILTER_OPTIONS,\n} from '../../../../constants/components/nodes/nodes';\nimport {USE_CACHE, USE_MAX_SIZE} from '../../../../../shared/constants/yt-api';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport type {ActionD, FIX_MY_TYPE, PartialDeep} from '../../../../types';\nimport {prepareAttributes} from '../../../../utils/cypress-attributes';\nimport {splitBatchResults, wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {NodeType} from '../../../../../shared/constants/system';\nimport {BatchSubRequest} from '../../../../../shared/yt-types';\n\nconst {COMPONENTS} = NAMESPACES;\nconst {TEMPLATES} = SettingName.COMPONENTS;\n\nexport type NodesThunkAction = ThunkAction<void, RootState, unknown, NodesAction>;\n\nexport function changeContentMode(\n contentMode: NodesState['contentMode'],\n): ActionD<typeof CHANGE_CONTENT_MODE, Pick<NodesState, 'contentMode'>> {\n return {\n type: CHANGE_CONTENT_MODE,\n data: {contentMode},\n };\n}\n\nconst updateNodeCanceler = new CancelHelper();\n\nexport function getNodes({\n attributes,\n nodeTypes,\n}: {\n attributes: ReturnType<typeof getRequiredAttributes>;\n nodeTypes: Array<NodeType>;\n}): NodesThunkAction {\n return (dispatch) => {\n dispatch({type: GET_NODES.REQUEST});\n\n const preparedAttrs = prepareAttributes(attributes);\n const requests: Array<BatchSubRequest> = nodeTypes.map((type) => {\n return {\n command: 'list',\n parameters: {\n path: `//sys/${type}`,\n attributes: preparedAttrs,\n ...USE_CACHE,\n ...USE_MAX_SIZE,\n },\n };\n });\n\n return ytApiV3Id\n .executeBatch(YTApiId.componentsClusterNodes, {\n parameters: {requests},\n cancellation: updateNodeCanceler.removeAllAndSave,\n })\n .then((data) => {\n const {results, error} = splitBatchResults(data);\n dispatch({\n type: GET_NODES.SUCCESS,\n data: {\n nodes: [].concat(\n ...results.map((output) => {\n return ypath.getValue(output) || [];\n }),\n ),\n },\n });\n\n if (error) {\n throw error;\n }\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_NODES.CANCELLED});\n return;\n }\n dispatch({\n type: GET_NODES.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function updateComponentsNode(host: string): NodesThunkAction {\n return (dispatch) => {\n return ytApiV3Id\n .get(YTApiId.componentsUpdateNodeData, {\n path: `//sys/cluster_nodes/${host}`,\n attributes: prepareAttributes(Node.ATTRIBUTES),\n })\n .then((node) => {\n dispatch({\n type: COMPONENTS_NODES_UPDATE_NODE,\n data: {node: {...node, $value: host}},\n });\n });\n };\n}\n\nexport function changeHostFilter(\n hostFilter: string,\n): ActionD<typeof CHANGE_HOST_FILTER, Pick<NodesState, 'hostFilter'>> {\n return {\n type: CHANGE_HOST_FILTER,\n data: {hostFilter: hostFilter.trim()},\n };\n}\n\nexport function componentsNodesSetNodeTypes(nodeTypes: Array<NodeType>): NodesThunkAction {\n return (dispatch) => {\n dispatch({\n type: CHANGE_NODE_TYPE,\n data: {nodeTypes},\n });\n };\n}\n\nexport function applyPreset(\n setup: PartialDeep<NodesSetupState>,\n): ActionD<typeof APPLY_SETUP, PartialDeep<NodesSetupState>> {\n return {\n type: APPLY_SETUP,\n data: setup,\n };\n}\n\nexport function savePreset(name: string, data: FIX_MY_TYPE): NodesThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const prevTemplates = getTemplates(state) || {};\n const templates = {\n ...prevTemplates,\n [name]: data,\n };\n\n dispatch(setSetting(TEMPLATES, COMPONENTS, templates));\n };\n}\n\nexport function removePreset(name: string): NodesThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const templates = omit_(getTemplates(state), name);\n\n dispatch(setSetting(TEMPLATES, COMPONENTS, templates));\n };\n}\n\nexport function handleColumnsChange(selectedColumns: string[]): NodesThunkAction {\n return async (dispatch) => {\n await dispatch(\n setSetting(\n SettingName.COMPONENTS.SELECTED_COLUMNS,\n NAMESPACES.COMPONENTS,\n selectedColumns,\n ),\n );\n };\n}\n\nexport function getComponentsNodesFilterOptions(): NodesThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const attributes = compact_([\n !useTagsFromAttributes(state) && 'tags',\n !useRacksFromAttributes(state) && 'rack',\n ]);\n\n if (0 === attributes.length) {\n return;\n }\n\n dispatch({type: GET_NODES_FILTER_OPTIONS.REQUEST});\n\n wrapApiPromiseByToaster(\n ytApiV3Id.list(YTApiId.componentsClusterNodes, {\n path: '//sys/cluster_nodes',\n attributes,\n ...USE_CACHE,\n ...USE_MAX_SIZE,\n }),\n {\n toasterName: 'node filter options',\n errorTitle: `Failed to load node ${attributes.join(',')}`,\n skipSuccessToast: true,\n },\n )\n .then((nodes) => {\n const tags = new Set<string>();\n const racks = new Set<string>();\n forEach_(nodes, (item) => {\n const node = new Node(item);\n forEach_(node.tags, (tag) => {\n if (tag) {\n tags.add(tag);\n }\n });\n if (node.rack) {\n racks.add(node.rack);\n }\n });\n\n dispatch({\n type: GET_NODES_FILTER_OPTIONS.SUCCESS,\n data: {\n filterOptionsTags: [...tags].sort(),\n filterOptionsRacks: [...racks].sort(),\n },\n });\n })\n .catch((error) => {\n dispatch({\n type: GET_NODES_FILTER_OPTIONS.FAILURE,\n data: {error},\n });\n });\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_yt","_interopRequireDefault","require","_omit","_forEach","_compact","_ypath","_settings","_settings2","_nodes","_settings3","_node","_nodes2","_ytApi","_cancelHelper","_rumWrapApi","_cypressAttributes","_utils","obj","__esModule","default","COMPONENTS","NAMESPACES","TEMPLATES","SettingName","changeContentMode","contentMode","type","CHANGE_CONTENT_MODE","data","updateNodeCanceler","CancelHelper","getNodes","_ref","attributes","nodeTypes","dispatch","GET_NODES","REQUEST","preparedAttrs","prepareAttributes","requests","map","command","parameters","_objectSpread","path","concat","USE_CACHE","USE_MAX_SIZE","ytApiV3Id","executeBatch","YTApiId","componentsClusterNodes","cancellation","removeAllAndSave","then","_ref2","_splitBatchResults","splitBatchResults","results","error","SUCCESS","nodes","apply","_toConsumableArray","output","ypath","getValue","code","yt","codes","CANCELLED","FAILURE","updateComponentsNode","host","get","componentsUpdateNodeData","Node","ATTRIBUTES","node","COMPONENTS_NODES_UPDATE_NODE","$value","changeHostFilter","hostFilter","CHANGE_HOST_FILTER","trim","componentsNodesSetNodeTypes","CHANGE_NODE_TYPE","applyPreset","setup","APPLY_SETUP","savePreset","name","getState","state","prevTemplates","getTemplates","templates","_defineProperty","setSetting","removePreset","omit_","handleColumnsChange","selectedColumns","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","SELECTED_COLUMNS","stop","_x","arguments","getComponentsNodesFilterOptions","compact_","useTagsFromAttributes","useRacksFromAttributes","length","GET_NODES_FILTER_OPTIONS","wrapApiPromiseByToaster","list","toasterName","errorTitle","join","skipSuccessToast","tags","Set","racks","forEach_","item","tag","add","rack","filterOptionsTags","sort","filterOptionsRacks"],"sources":["nodes.ts"],"sourcesContent":["// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport omit_ from 'lodash/omit';\nimport forEach_ from 'lodash/forEach';\nimport compact_ from 'lodash/compact';\nimport type {ThunkAction} from 'redux-thunk';\n\nimport ypath from '../../../../common/thor/ypath';\n\nimport {setSetting} from '../../../../store/actions/settings';\nimport {NAMESPACES, SettingName} from '../../../../../shared/constants/settings';\nimport {\n getRequiredAttributes,\n useRacksFromAttributes,\n useTagsFromAttributes,\n} from '../../../../store/selectors/components/nodes/nodes';\nimport {getTemplates} from '../../../../store/selectors/settings';\nimport type {RootState} from '../../../../store/reducers';\nimport {Node} from '../../../../store/reducers/components/nodes/nodes/node';\nimport type {\n NodesAction,\n NodesState,\n} from '../../../../store/reducers/components/nodes/nodes/nodes';\nimport type {NodesSetupState} from '../../../../store/reducers/components/nodes/setup/setup';\nimport {\n APPLY_SETUP,\n CHANGE_CONTENT_MODE,\n CHANGE_HOST_FILTER,\n CHANGE_NODE_TYPE,\n COMPONENTS_NODES_UPDATE_NODE,\n GET_NODES,\n GET_NODES_FILTER_OPTIONS,\n} from '../../../../constants/components/nodes/nodes';\nimport {USE_CACHE, USE_MAX_SIZE} from '../../../../../shared/constants/yt-api';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport type {ActionD, FIX_MY_TYPE, PartialDeep} from '../../../../types';\nimport {prepareAttributes} from '../../../../utils/cypress-attributes';\nimport {splitBatchResults, wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {NodeType} from '../../../../../shared/constants/system';\nimport {BatchSubRequest} from '../../../../../shared/yt-types';\n\nconst {COMPONENTS} = NAMESPACES;\nconst {TEMPLATES} = SettingName.COMPONENTS;\n\nexport type NodesThunkAction = ThunkAction<void, RootState, unknown, NodesAction>;\n\nexport function changeContentMode(\n contentMode: NodesState['contentMode'],\n): ActionD<typeof CHANGE_CONTENT_MODE, Pick<NodesState, 'contentMode'>> {\n return {\n type: CHANGE_CONTENT_MODE,\n data: {contentMode},\n };\n}\n\nconst updateNodeCanceler = new CancelHelper();\n\nexport function getNodes({\n attributes,\n nodeTypes,\n}: {\n attributes: ReturnType<typeof getRequiredAttributes>;\n nodeTypes: Array<NodeType>;\n}): NodesThunkAction {\n return (dispatch) => {\n dispatch({type: GET_NODES.REQUEST});\n\n const preparedAttrs = prepareAttributes(attributes);\n const requests: Array<BatchSubRequest> = nodeTypes.map((type) => {\n return {\n command: 'list',\n parameters: {\n path: `//sys/${type}`,\n attributes: preparedAttrs,\n ...USE_CACHE,\n ...USE_MAX_SIZE,\n },\n };\n });\n\n return ytApiV3Id\n .executeBatch(YTApiId.componentsClusterNodes, {\n parameters: {requests},\n cancellation: updateNodeCanceler.removeAllAndSave,\n })\n .then((data) => {\n const {results, error} = splitBatchResults(data, 'Failed to get nodes');\n dispatch({\n type: GET_NODES.SUCCESS,\n data: {\n nodes: [].concat(\n ...results.map((output) => {\n return ypath.getValue(output) || [];\n }),\n ),\n },\n });\n\n if (error) {\n throw error;\n }\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_NODES.CANCELLED});\n return;\n }\n dispatch({\n type: GET_NODES.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function updateComponentsNode(host: string): NodesThunkAction {\n return (dispatch) => {\n return ytApiV3Id\n .get(YTApiId.componentsUpdateNodeData, {\n path: `//sys/cluster_nodes/${host}`,\n attributes: prepareAttributes(Node.ATTRIBUTES),\n })\n .then((node) => {\n dispatch({\n type: COMPONENTS_NODES_UPDATE_NODE,\n data: {node: {...node, $value: host}},\n });\n });\n };\n}\n\nexport function changeHostFilter(\n hostFilter: string,\n): ActionD<typeof CHANGE_HOST_FILTER, Pick<NodesState, 'hostFilter'>> {\n return {\n type: CHANGE_HOST_FILTER,\n data: {hostFilter: hostFilter.trim()},\n };\n}\n\nexport function componentsNodesSetNodeTypes(nodeTypes: Array<NodeType>): NodesThunkAction {\n return (dispatch) => {\n dispatch({\n type: CHANGE_NODE_TYPE,\n data: {nodeTypes},\n });\n };\n}\n\nexport function applyPreset(\n setup: PartialDeep<NodesSetupState>,\n): ActionD<typeof APPLY_SETUP, PartialDeep<NodesSetupState>> {\n return {\n type: APPLY_SETUP,\n data: setup,\n };\n}\n\nexport function savePreset(name: string, data: FIX_MY_TYPE): NodesThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const prevTemplates = getTemplates(state) || {};\n const templates = {\n ...prevTemplates,\n [name]: data,\n };\n\n dispatch(setSetting(TEMPLATES, COMPONENTS, templates));\n };\n}\n\nexport function removePreset(name: string): NodesThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const templates = omit_(getTemplates(state), name);\n\n dispatch(setSetting(TEMPLATES, COMPONENTS, templates));\n };\n}\n\nexport function handleColumnsChange(selectedColumns: string[]): NodesThunkAction {\n return async (dispatch) => {\n await dispatch(\n setSetting(\n SettingName.COMPONENTS.SELECTED_COLUMNS,\n NAMESPACES.COMPONENTS,\n selectedColumns,\n ),\n );\n };\n}\n\nexport function getComponentsNodesFilterOptions(): NodesThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n\n const attributes = compact_([\n !useTagsFromAttributes(state) && 'tags',\n !useRacksFromAttributes(state) && 'rack',\n ]);\n\n if (0 === attributes.length) {\n return;\n }\n\n dispatch({type: GET_NODES_FILTER_OPTIONS.REQUEST});\n\n wrapApiPromiseByToaster(\n ytApiV3Id.list(YTApiId.componentsClusterNodes, {\n path: '//sys/cluster_nodes',\n attributes,\n ...USE_CACHE,\n ...USE_MAX_SIZE,\n }),\n {\n toasterName: 'node filter options',\n errorTitle: `Failed to load node ${attributes.join(',')}`,\n skipSuccessToast: true,\n },\n )\n .then((nodes) => {\n const tags = new Set<string>();\n const racks = new Set<string>();\n forEach_(nodes, (item) => {\n const node = new Node(item);\n forEach_(node.tags, (tag) => {\n if (tag) {\n tags.add(tag);\n }\n });\n if (node.rack) {\n racks.add(node.rack);\n }\n });\n\n dispatch({\n type: GET_NODES_FILTER_OPTIONS.SUCCESS,\n data: {\n filterOptionsTags: [...tags].sort(),\n filterOptionsRacks: [...racks].sort(),\n },\n });\n })\n .catch((error) => {\n dispatch({\n type: GET_NODES_FILTER_OPTIONS.FAILURE,\n data: {error},\n });\n });\n };\n}\n"],"mappings":"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"}
|
@@ -8,6 +8,7 @@ export interface ExecuteBatchOptions {
|
|
8
8
|
saveCancelSourceCb?: (source: CancelTokenSource) => void;
|
9
9
|
disableSkip?: boolean;
|
10
10
|
allowRetries?: boolean;
|
11
|
+
errorTitle: string;
|
11
12
|
}
|
12
13
|
/**
|
13
14
|
* The function splits requests-parameter to smaller sub-arrays and handles them sequentially.
|
@@ -16,7 +17,7 @@ export interface ExecuteBatchOptions {
|
|
16
17
|
* @param requests
|
17
18
|
* @param options
|
18
19
|
*/
|
19
|
-
export declare function executeBatchWithRetries<T>(id: YTApiId, requests: Array<BatchSubRequest>, options
|
20
|
+
export declare function executeBatchWithRetries<T>(id: YTApiId, requests: Array<BatchSubRequest>, options: ExecuteBatchOptions): Promise<Array<BatchResultsItem<T>>>;
|
20
21
|
type ExecuteBatchThunkAction = ThunkAction<any, RootState, any, ExecuteBatchAction>;
|
21
22
|
export declare function hideExecuteBatchRetryModal(id: string): ExecuteBatchThunkAction;
|
22
23
|
export declare function abortExecuteBatch(id: string): ExecuteBatchThunkAction;
|
@@ -97,7 +97,7 @@ function _executeBatchWithRetries() {
|
|
97
97
|
inner_errors: innerErrors
|
98
98
|
};
|
99
99
|
_context.next = 38;
|
100
|
-
return handleFailedRequests(id, failedRequests, _error2);
|
100
|
+
return handleFailedRequests(id, failedRequests, _error2, options);
|
101
101
|
case 38:
|
102
102
|
_tmp = _context.sent;
|
103
103
|
return _context.abrupt("return", results.concat(_tmp));
|
@@ -136,7 +136,7 @@ function _handleBatchSlice() {
|
|
136
136
|
});
|
137
137
|
case 3:
|
138
138
|
results = _context2.sent;
|
139
|
-
error = (0, _utils.getBatchError)(results);
|
139
|
+
error = (0, _utils.getBatchError)(results, options.errorTitle);
|
140
140
|
if (!error) {
|
141
141
|
_context2.next = 10;
|
142
142
|
break;
|
@@ -169,7 +169,7 @@ function _handleBatchSlice() {
|
|
169
169
|
type: BATCH_ERROR_TYPE,
|
170
170
|
error: (0, _utils.getBatchError)([{
|
171
171
|
error: _context2.t0
|
172
|
-
}]),
|
172
|
+
}], options.errorTitle),
|
173
173
|
failed_requests: requests,
|
174
174
|
successful_results: []
|
175
175
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_utils","require","_executeBatch","_rumCounter","_executeBatch2","_rumWrapApi","_interopRequireDefault","obj","__esModule","default","MAX_REQUESTS_COUNT_PER_BATCH","executeBatchWithRetries","_x","_x2","_x3","_executeBatchWithRetries","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","id","requests","options","results","failedRequests","innerErrors","i","from","to","current","tmp","e","error","_error","failed_requests","successful_results","_error2","_tmp","wrap","_callee$","_context","prev","next","length","slice","handleBatchSlice","sent","_concat","t0","allowRetries","isBatchError","console","concat","inner_errors","rumLogError","message","Error","handleFailedRequests","abrupt","stop","BATCH_ERROR_TYPE","type","_x4","_x5","_x6","_handleBatchSlice","_callee2","errorIndices","_callee2$","_context2","ytApiV3Id","executeBatch","parameters","cancellation","saveCancelSourceCb","getBatchError","Set","getBatchErrorIndices","_filter","_item","index","has","_x7","_handleFailedRequests","_callee3","_args3","_callee3$","_context3","undefined","Promise","res","rej","window","store","dispatch","showExecuteBatchRetryModal","resolveCb","rejectCb","batchCounter","makeId","ytApiId","params","EXECUTE_BATCH_RETRY_SHOW_MODAL","data","_objectSpread","hideExecuteBatchRetryModal","EXECUTE_BATCH_RETRY_HIDE_MODAL","abortExecuteBatch","getState","_getExecuteBatchState","getExecuteBatchState","skipExecuteBatch","retryExecuteBatch","item","then"],"sources":["execute-batch.ts"],"sourcesContent":["import _ from 'lodash';\n\nimport {getBatchError, getBatchErrorIndices} from '../../utils/utils';\nimport {YTError} from '../../types';\nimport {ExecuteBatchAction, HandleExecuteBatchRetryParams} from '../reducers/execute-batch';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../reducers';\nimport {\n EXECUTE_BATCH_RETRY_HIDE_MODAL,\n EXECUTE_BATCH_RETRY_SHOW_MODAL,\n} from '../../constants/execute-batch';\nimport {rumLogError} from '../../rum/rum-counter';\nimport {getExecuteBatchState} from '../selectors/execute-batch';\nimport {CancelTokenSource} from 'axios';\nimport {YTApiId, ytApiV3Id} from '../../rum/rum-wrap-api';\nimport {BatchResultsItem, BatchSubRequest} from '../../../shared/yt-types';\n\nconst MAX_REQUESTS_COUNT_PER_BATCH = 100;\n\nexport interface ExecuteBatchOptions {\n saveCancelSourceCb?: (source: CancelTokenSource) => void;\n disableSkip?: boolean;\n allowRetries?: boolean;\n}\n\n/**\n * The function splits requests-parameter to smaller sub-arrays and handles them sequentially.\n * Also by default if !Boolean(options?.abortOnFirstError) it displays dialog with\n * ability to retry (or skip) only failed requests.\n * @param requests\n * @param options\n */\nexport async function executeBatchWithRetries<T>(\n id: YTApiId,\n requests: Array<BatchSubRequest>,\n options?: ExecuteBatchOptions,\n): Promise<Array<BatchResultsItem<T>>> {\n let results: Array<BatchResultsItem<T>> = [];\n let failedRequests: Array<BatchSubRequest> = [];\n let innerErrors: Array<YTError> = [];\n for (let i = 0; i < requests.length; i += MAX_REQUESTS_COUNT_PER_BATCH) {\n const from = i;\n const to = from + MAX_REQUESTS_COUNT_PER_BATCH;\n\n const current = requests.slice(from, to);\n\n try {\n const tmp = await handleBatchSlice<T>(id, current, options);\n results = _.concat(results, tmp);\n } catch (err) {\n const e = err as any;\n if (!options?.allowRetries) {\n const error = isBatchError(e) ? e.error : e;\n console.error(error);\n throw error;\n }\n\n if (isBatchError<T>(e)) {\n const {error, failed_requests, successful_results} = e;\n results = results.concat(successful_results || []);\n innerErrors = innerErrors.concat(error?.inner_errors || []);\n failedRequests = failedRequests.concat(failed_requests || []);\n } else {\n rumLogError(\n {\n message: 'execute-batch with retries failed',\n },\n e,\n );\n throw new Error('Unexpected error during executeBatchWithRetries');\n }\n }\n }\n\n if (failedRequests.length) {\n const error = {\n message: 'Failed sub-requests:',\n inner_errors: innerErrors,\n };\n\n const tmp = await handleFailedRequests<T>(id, failedRequests, error);\n return results.concat(tmp);\n }\n\n return results;\n}\n\nconst BATCH_ERROR_TYPE = {type: 'BATCH_ERROR_TYPE'};\n\ninterface BatchError<T> {\n type: typeof BATCH_ERROR_TYPE;\n error: YTError;\n failed_requests: Array<BatchSubRequest>;\n successful_results: Array<BatchResultsItem<T>>;\n}\n\nfunction isBatchError<T>(error: any): error is BatchError<T> {\n return error?.type === BATCH_ERROR_TYPE;\n}\n\nasync function handleBatchSlice<T>(\n id: YTApiId,\n requests: Array<BatchSubRequest>,\n options?: ExecuteBatchOptions,\n): Promise<Array<BatchResultsItem<T>>> {\n try {\n const results: Array<BatchResultsItem<T>> = await ytApiV3Id.executeBatch(id, {\n parameters: {requests},\n cancellation: options?.saveCancelSourceCb,\n });\n const error = getBatchError(results);\n if (error) {\n const errorIndices = new Set(getBatchErrorIndices(results));\n const successful_results = _.filter(results, (_item, index) => {\n return !errorIndices.has(index);\n });\n const failed_requests = _.filter(requests, (_item, index) => {\n return errorIndices.has(index);\n });\n\n throw {\n type: BATCH_ERROR_TYPE,\n error,\n failed_requests,\n successful_results,\n };\n }\n return results;\n } catch (e) {\n if (isBatchError<T>(e)) {\n throw e;\n } else {\n throw {\n type: BATCH_ERROR_TYPE,\n error: getBatchError([{error: e as any}]),\n failed_requests: requests,\n successful_results: [],\n };\n }\n }\n}\n\nasync function handleFailedRequests<T>(\n id: YTApiId,\n requests: Array<BatchSubRequest> = [],\n error: YTError,\n options?: ExecuteBatchOptions,\n): Promise<Array<BatchResultsItem<T>>> {\n return new Promise((res, rej) => {\n (window as any).store.dispatch(\n showExecuteBatchRetryModal(id, {\n failed_requests: requests,\n error,\n resolveCb: res,\n rejectCb: rej,\n options,\n }),\n );\n });\n}\n\ntype ExecuteBatchThunkAction = ThunkAction<any, RootState, any, ExecuteBatchAction>;\n\nlet batchCounter = -1;\nfunction makeId() {\n return `batch_id_${++batchCounter}`;\n}\n\nfunction showExecuteBatchRetryModal(\n ytApiId: YTApiId,\n params: HandleExecuteBatchRetryParams,\n): ExecuteBatchThunkAction {\n return (dispatch) => {\n dispatch({\n type: EXECUTE_BATCH_RETRY_SHOW_MODAL,\n data: {...params, id: makeId(), ytApiId},\n });\n };\n}\n\nexport function hideExecuteBatchRetryModal(id: string): ExecuteBatchThunkAction {\n return (dispatch) => {\n dispatch({type: EXECUTE_BATCH_RETRY_HIDE_MODAL, data: {id}});\n };\n}\n\nexport function abortExecuteBatch(id: string): ExecuteBatchThunkAction {\n return (dispatch, getState) => {\n const {rejectCb, error} = getExecuteBatchState(getState())[id];\n rejectCb!(error);\n dispatch(hideExecuteBatchRetryModal(id));\n };\n}\n\nexport function skipExecuteBatch(id: string): ExecuteBatchThunkAction {\n return (dispatch, getState) => {\n const {resolveCb} = getExecuteBatchState(getState())[id];\n resolveCb!([]);\n dispatch(hideExecuteBatchRetryModal(id));\n };\n}\n\nexport function retryExecuteBatch(id: string): ExecuteBatchThunkAction {\n return (dispatch, getState) => {\n const item = getExecuteBatchState(getState())[id];\n if (!item) {\n rumLogError({\n message: `executeBatch with retries, store does not contain any elements with id=${id}`,\n });\n return;\n }\n\n dispatch(hideExecuteBatchRetryModal(id));\n const {failed_requests, options, resolveCb, rejectCb, ytApiId} = item;\n\n return executeBatchWithRetries(ytApiId, failed_requests, options)\n .then((res) => {\n resolveCb(res);\n })\n .catch((e) => {\n rejectCb(e);\n });\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_utils","require","_executeBatch","_rumCounter","_executeBatch2","_rumWrapApi","_interopRequireDefault","obj","__esModule","default","MAX_REQUESTS_COUNT_PER_BATCH","executeBatchWithRetries","_x","_x2","_x3","_executeBatchWithRetries","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","id","requests","options","results","failedRequests","innerErrors","i","from","to","current","tmp","e","error","_error","failed_requests","successful_results","_error2","_tmp","wrap","_callee$","_context","prev","next","length","slice","handleBatchSlice","sent","_concat","t0","allowRetries","isBatchError","console","concat","inner_errors","rumLogError","message","Error","handleFailedRequests","abrupt","stop","BATCH_ERROR_TYPE","type","_x4","_x5","_x6","_handleBatchSlice","_callee2","errorIndices","_callee2$","_context2","ytApiV3Id","executeBatch","parameters","cancellation","saveCancelSourceCb","getBatchError","errorTitle","Set","getBatchErrorIndices","_filter","_item","index","has","_x7","_handleFailedRequests","_callee3","_args3","_callee3$","_context3","undefined","Promise","res","rej","window","store","dispatch","showExecuteBatchRetryModal","resolveCb","rejectCb","batchCounter","makeId","ytApiId","params","EXECUTE_BATCH_RETRY_SHOW_MODAL","data","_objectSpread","hideExecuteBatchRetryModal","EXECUTE_BATCH_RETRY_HIDE_MODAL","abortExecuteBatch","getState","_getExecuteBatchState","getExecuteBatchState","skipExecuteBatch","retryExecuteBatch","item","then"],"sources":["execute-batch.ts"],"sourcesContent":["import _ from 'lodash';\n\nimport {getBatchError, getBatchErrorIndices} from '../../utils/utils';\nimport {YTError} from '../../types';\nimport {ExecuteBatchAction, HandleExecuteBatchRetryParams} from '../reducers/execute-batch';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../reducers';\nimport {\n EXECUTE_BATCH_RETRY_HIDE_MODAL,\n EXECUTE_BATCH_RETRY_SHOW_MODAL,\n} from '../../constants/execute-batch';\nimport {rumLogError} from '../../rum/rum-counter';\nimport {getExecuteBatchState} from '../selectors/execute-batch';\nimport {CancelTokenSource} from 'axios';\nimport {YTApiId, ytApiV3Id} from '../../rum/rum-wrap-api';\nimport {BatchResultsItem, BatchSubRequest} from '../../../shared/yt-types';\n\nconst MAX_REQUESTS_COUNT_PER_BATCH = 100;\n\nexport interface ExecuteBatchOptions {\n saveCancelSourceCb?: (source: CancelTokenSource) => void;\n disableSkip?: boolean;\n allowRetries?: boolean;\n errorTitle: string;\n}\n\n/**\n * The function splits requests-parameter to smaller sub-arrays and handles them sequentially.\n * Also by default if !Boolean(options?.abortOnFirstError) it displays dialog with\n * ability to retry (or skip) only failed requests.\n * @param requests\n * @param options\n */\nexport async function executeBatchWithRetries<T>(\n id: YTApiId,\n requests: Array<BatchSubRequest>,\n options: ExecuteBatchOptions,\n): Promise<Array<BatchResultsItem<T>>> {\n let results: Array<BatchResultsItem<T>> = [];\n let failedRequests: Array<BatchSubRequest> = [];\n let innerErrors: Array<YTError> = [];\n for (let i = 0; i < requests.length; i += MAX_REQUESTS_COUNT_PER_BATCH) {\n const from = i;\n const to = from + MAX_REQUESTS_COUNT_PER_BATCH;\n\n const current = requests.slice(from, to);\n\n try {\n const tmp = await handleBatchSlice<T>(id, current, options);\n results = _.concat(results, tmp);\n } catch (err) {\n const e = err as any;\n if (!options?.allowRetries) {\n const error = isBatchError(e) ? e.error : e;\n console.error(error);\n throw error;\n }\n\n if (isBatchError<T>(e)) {\n const {error, failed_requests, successful_results} = e;\n results = results.concat(successful_results || []);\n innerErrors = innerErrors.concat(error?.inner_errors || []);\n failedRequests = failedRequests.concat(failed_requests || []);\n } else {\n rumLogError(\n {\n message: 'execute-batch with retries failed',\n },\n e,\n );\n throw new Error('Unexpected error during executeBatchWithRetries');\n }\n }\n }\n\n if (failedRequests.length) {\n const error = {\n message: 'Failed sub-requests:',\n inner_errors: innerErrors,\n };\n\n const tmp = await handleFailedRequests<T>(id, failedRequests, error, options);\n return results.concat(tmp);\n }\n\n return results;\n}\n\nconst BATCH_ERROR_TYPE = {type: 'BATCH_ERROR_TYPE'};\n\ninterface BatchError<T> {\n type: typeof BATCH_ERROR_TYPE;\n error: YTError;\n failed_requests: Array<BatchSubRequest>;\n successful_results: Array<BatchResultsItem<T>>;\n}\n\nfunction isBatchError<T>(error: any): error is BatchError<T> {\n return error?.type === BATCH_ERROR_TYPE;\n}\n\nasync function handleBatchSlice<T>(\n id: YTApiId,\n requests: Array<BatchSubRequest>,\n options: ExecuteBatchOptions,\n): Promise<Array<BatchResultsItem<T>>> {\n try {\n const results: Array<BatchResultsItem<T>> = await ytApiV3Id.executeBatch(id, {\n parameters: {requests},\n cancellation: options?.saveCancelSourceCb,\n });\n const error = getBatchError(results, options.errorTitle);\n if (error) {\n const errorIndices = new Set(getBatchErrorIndices(results));\n const successful_results = _.filter(results, (_item, index) => {\n return !errorIndices.has(index);\n });\n const failed_requests = _.filter(requests, (_item, index) => {\n return errorIndices.has(index);\n });\n\n throw {\n type: BATCH_ERROR_TYPE,\n error,\n failed_requests,\n successful_results,\n };\n }\n return results;\n } catch (e) {\n if (isBatchError<T>(e)) {\n throw e;\n } else {\n throw {\n type: BATCH_ERROR_TYPE,\n error: getBatchError([{error: e as any}], options.errorTitle),\n failed_requests: requests,\n successful_results: [],\n };\n }\n }\n}\n\nasync function handleFailedRequests<T>(\n id: YTApiId,\n requests: Array<BatchSubRequest> = [],\n error: YTError,\n options: ExecuteBatchOptions,\n): Promise<Array<BatchResultsItem<T>>> {\n return new Promise((res, rej) => {\n (window as any).store.dispatch(\n showExecuteBatchRetryModal(id, {\n failed_requests: requests,\n error,\n resolveCb: res,\n rejectCb: rej,\n options,\n }),\n );\n });\n}\n\ntype ExecuteBatchThunkAction = ThunkAction<any, RootState, any, ExecuteBatchAction>;\n\nlet batchCounter = -1;\nfunction makeId() {\n return `batch_id_${++batchCounter}`;\n}\n\nfunction showExecuteBatchRetryModal(\n ytApiId: YTApiId,\n params: HandleExecuteBatchRetryParams,\n): ExecuteBatchThunkAction {\n return (dispatch) => {\n dispatch({\n type: EXECUTE_BATCH_RETRY_SHOW_MODAL,\n data: {...params, id: makeId(), ytApiId},\n });\n };\n}\n\nexport function hideExecuteBatchRetryModal(id: string): ExecuteBatchThunkAction {\n return (dispatch) => {\n dispatch({type: EXECUTE_BATCH_RETRY_HIDE_MODAL, data: {id}});\n };\n}\n\nexport function abortExecuteBatch(id: string): ExecuteBatchThunkAction {\n return (dispatch, getState) => {\n const {rejectCb, error} = getExecuteBatchState(getState())[id];\n rejectCb!(error);\n dispatch(hideExecuteBatchRetryModal(id));\n };\n}\n\nexport function skipExecuteBatch(id: string): ExecuteBatchThunkAction {\n return (dispatch, getState) => {\n const {resolveCb} = getExecuteBatchState(getState())[id];\n resolveCb!([]);\n dispatch(hideExecuteBatchRetryModal(id));\n };\n}\n\nexport function retryExecuteBatch(id: string): ExecuteBatchThunkAction {\n return (dispatch, getState) => {\n const item = getExecuteBatchState(getState())[id];\n if (!item) {\n rumLogError({\n message: `executeBatch with retries, store does not contain any elements with id=${id}`,\n });\n return;\n }\n\n dispatch(hideExecuteBatchRetryModal(id));\n const {failed_requests, options, resolveCb, rejectCb, ytApiId} = item;\n\n return executeBatchWithRetries(ytApiId, failed_requests, options)\n .then((res) => {\n resolveCb(res);\n })\n .catch((e) => {\n rejectCb(e);\n });\n };\n}\n"],"mappings":"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"}
|
@@ -146,7 +146,7 @@ function updateResourceUsage() {
|
|
146
146
|
return updatedNodeData(nodeData, dataMap[nodeData.$value]);
|
147
147
|
})
|
148
148
|
});
|
149
|
-
var error = (0, _utils.getBatchError)(errorResults);
|
149
|
+
var error = (0, _utils.getBatchError)(errorResults, 'Failed to get resource usage');
|
150
150
|
if (error) {
|
151
151
|
throw error;
|
152
152
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_yt","_interopRequireDefault","require","_uikit","_ypath","_navigation","_navigation2","_mapNode","_global","_navigation3","_tables","_rumWrapApi","_utils","_rumMeasureTypes","_hammer","_constants","_support","obj","__esModule","default","getList","path","transaction","cluster","allowEffectiveExpiration","id","RumWrapper","RumMeasureTypes","NAVIGATION_CONTENT_MAP_NODE","fetch","YTApiId","navigationListNodes","ytApiV3Id","list","prepareRequest","attributes","concat","_toConsumableArray","saveRequestCancellation","fetchNodes","dispatch","getState","state","getPath","getTransaction","getCluster","isSupportedEffectiveExpiration","type","FETCH_NODES","REQUEST","then","ypath","getValue","data","SUCCESS","applyCustomSort","shouldApplyCustomSort","APPLY_CUSTOM_SORT","changeColumnSortOrder","tableId","NAVIGATION_MAP_NODE_TABLE_ID","columnName","asc","error","code","yt","codes","CANCELLED","FAILURE","message","GENERIC_ERROR_MESSAGE","details","updateResourceUsage","BATCH_LIMIT","updatedNodeData","nodeValue","newData","$value","$attributes","_objectSpread","recursive_resource_usage","nodes","getFilteredNodes","_filter","node","isRootNode","length","UPDATE_RESOURCE_USAGE","nodesChunks","_chunk","batchedRequests","_map","nodesChunk","requests","command","parameters","timeout","executeBatch","navigationResourceUsage","Promise","all","resultChunks","dataMap","errorResults","_forEach","index","resultChunkIndex","Math","floor","resultChunk","item","push","output","getNodesData","nodeData","getBatchError","toast","Toaster","add","name","title","content","hammer","format","NO_VALUE","actions","label","onClick","showErrorPopup","setFilter","filter","SET_TEXT_FILTER","setContentMode","contentMode","SET_CONTENT_MODE","setMediumType","mediumType","SET_MEDIUM_TYPE","setSelectedItem","shiftKey","selected","getSelected","lastSelected","getLastSelected","getSortedNodes","lastIndex","_findIndex","nameIndex","from","min","to","max","i","SET_SELECTED_ITEM","undefined","selectAll","isAllSelected","allNodes","_reduce","res","SELECT_ALL"],"sources":["map-node.js"],"sourcesContent":["import _ from 'lodash';\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport ypath from '../../../../common/thor/ypath';\nimport {prepareRequest, saveRequestCancellation} from '../../../../utils/navigation';\nimport {\n APPLY_CUSTOM_SORT,\n FETCH_NODES,\n NAVIGATION_MAP_NODE_TABLE_ID,\n SELECT_ALL,\n SET_CONTENT_MODE,\n SET_MEDIUM_TYPE,\n SET_SELECTED_ITEM,\n SET_TEXT_FILTER,\n UPDATE_RESOURCE_USAGE,\n} from '../../../../constants/navigation';\nimport {\n getFilteredNodes,\n getLastSelected,\n getNodesData,\n getSelected,\n getSortedNodes,\n isRootNode,\n shouldApplyCustomSort,\n} from '../../../../store/selectors/navigation/content/map-node';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getPath, getTransaction} from '../../../../store/selectors/navigation';\nimport {changeColumnSortOrder} from '../../../../store/actions/tables';\nimport {RumWrapper, YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {getBatchError, showErrorPopup} from '../../../../utils/utils';\nimport {RumMeasureTypes} from '../../../../rum/rum-measure-types';\nimport hammer from '../../../../common/hammer';\nimport {GENERIC_ERROR_MESSAGE} from '../../../../constants';\nimport {isSupportedEffectiveExpiration} from '../../../../store/selectors/thor/support';\n\nfunction getList(path, transaction, cluster, allowEffectiveExpiration) {\n const id = new RumWrapper(cluster, RumMeasureTypes.NAVIGATION_CONTENT_MAP_NODE);\n return id.fetch(\n YTApiId.navigationListNodes,\n ytApiV3Id.list(\n YTApiId.navigationListNodes,\n prepareRequest({\n attributes: [\n 'type',\n 'dynamic',\n 'row_count', // Deprecated\n 'unmerged_row_count', // Deprecated\n 'chunk_row_count',\n 'modification_time',\n 'creation_time',\n 'resource_usage',\n 'data_weight',\n 'account',\n 'target_path',\n 'broken',\n 'lock_count',\n 'tablet_state',\n '_restore_path',\n 'expiration_time',\n 'expiration_timeout',\n ...(allowEffectiveExpiration ? ['effective_expiration'] : []),\n ],\n path,\n transaction,\n }),\n saveRequestCancellation,\n ),\n );\n}\n\nexport function fetchNodes() {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n const transaction = getTransaction(state);\n const cluster = getCluster(state);\n\n const allowEffectiveExpiration = isSupportedEffectiveExpiration(state);\n\n dispatch({type: FETCH_NODES.REQUEST});\n return getList(path, transaction, cluster, allowEffectiveExpiration)\n .then(ypath.getValue)\n .then((data) => {\n dispatch({\n type: FETCH_NODES.SUCCESS,\n data,\n });\n\n const applyCustomSort = shouldApplyCustomSort(getState());\n dispatch({\n type: APPLY_CUSTOM_SORT,\n data: applyCustomSort ? 'date' : '',\n });\n if (applyCustomSort) {\n dispatch(\n changeColumnSortOrder({\n tableId: NAVIGATION_MAP_NODE_TABLE_ID,\n columnName: 'name',\n asc: false,\n }),\n );\n }\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: FETCH_NODES.FAILURE,\n data: {\n message: 'Could not load list. ' + GENERIC_ERROR_MESSAGE,\n details: error,\n },\n });\n } else {\n dispatch({type: FETCH_NODES.CANCELLED});\n }\n });\n };\n}\n\nexport function updateResourceUsage() {\n const BATCH_LIMIT = 200;\n\n function updatedNodeData(nodeValue, newData) {\n return newData\n ? {\n $value: nodeValue.$value,\n $attributes: {\n ...nodeValue.$attributes,\n recursive_resource_usage: newData,\n },\n }\n : nodeValue;\n }\n\n return (dispatch, getState) => {\n const state = getState();\n\n let nodes = getFilteredNodes(state);\n nodes = _.filter(nodes, (node) => !node.$attributes.recursive_resource_usage);\n\n if (isRootNode(state) || nodes.length === 0) {\n return;\n }\n\n dispatch({type: UPDATE_RESOURCE_USAGE.REQUEST});\n\n const nodesChunks = _.chunk(nodes, BATCH_LIMIT);\n const batchedRequests = _.map(nodesChunks, (nodesChunk) => {\n const requests = _.map(nodesChunk, (node) => {\n return {\n command: 'get',\n parameters: {\n path: node.path + '&/@recursive_resource_usage',\n timeout: 60 * 1000,\n },\n };\n });\n\n return ytApiV3Id.executeBatch(YTApiId.navigationResourceUsage, {requests});\n });\n\n Promise.all(batchedRequests)\n .then((resultChunks) => {\n const dataMap = {};\n\n const errorResults = [];\n\n _.forEach(nodes, (node, index) => {\n const resultChunkIndex = Math.floor(index / BATCH_LIMIT);\n const resultChunk = resultChunks[resultChunkIndex];\n const item = resultChunk[index % BATCH_LIMIT];\n\n if (item.error) {\n errorResults.push(item);\n } else if (item.output) {\n dataMap[node.$value] = item.output;\n }\n });\n\n dispatch({\n type: UPDATE_RESOURCE_USAGE.SUCCESS,\n data: _.map(getNodesData(state), (nodeData) =>\n updatedNodeData(nodeData, dataMap[nodeData.$value]),\n ),\n });\n\n const error = getBatchError(errorResults);\n if (error) {\n throw error;\n }\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: UPDATE_RESOURCE_USAGE.FAILURE,\n data: {\n message: 'Failed to load resources. ' + GENERIC_ERROR_MESSAGE,\n details: error,\n },\n });\n const toast = new Toaster();\n toast.add({\n type: 'error',\n name: 'map_node_update_resources',\n timeout: 500000,\n title: 'Resource loading error',\n content: error ? error.message : hammer.format.NO_VALUE,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n } else {\n dispatch({\n type: UPDATE_RESOURCE_USAGE.CANCELLED,\n });\n }\n });\n };\n}\n\nexport function setFilter(filter) {\n return (dispatch, getState) => {\n const path = getPath(getState());\n\n dispatch({\n type: SET_TEXT_FILTER,\n data: {filter, path},\n });\n };\n}\n\nexport function setContentMode(contentMode) {\n return {\n type: SET_CONTENT_MODE,\n data: contentMode,\n };\n}\n\nexport function setMediumType(mediumType) {\n return {\n type: SET_MEDIUM_TYPE,\n data: mediumType,\n };\n}\n\nexport function setSelectedItem(name, shiftKey) {\n return (dispatch, getState) => {\n const state = getState();\n const selected = {...getSelected(state)};\n if (selected[name] && !shiftKey) {\n delete selected[name];\n } else {\n selected[name] = true;\n }\n\n const lastSelected = getLastSelected(state);\n if (lastSelected && shiftKey) {\n const nodes = getSortedNodes(state);\n const lastIndex = _.findIndex(nodes, (item) => lastSelected === item.name);\n if (-1 !== lastIndex) {\n const nameIndex = _.findIndex(nodes, (item) => item.name === name);\n if (-1 !== nameIndex && lastIndex !== nameIndex) {\n const from = Math.min(lastIndex, nameIndex);\n const to = Math.max(lastIndex, nameIndex);\n for (let i = from; i <= to; ++i) {\n const item = nodes[i];\n selected[item.name] = true;\n }\n }\n }\n }\n\n dispatch({\n type: SET_SELECTED_ITEM,\n data: {selected, lastSelected: selected[name] ? name : undefined},\n });\n };\n}\n\nexport function selectAll(isAllSelected) {\n return (dispatch, getState) => {\n let selected = {};\n\n if (!isAllSelected) {\n const allNodes = getFilteredNodes(getState());\n\n selected = _.reduce(\n allNodes,\n (res, node) => {\n res[ypath.getValue(node)] = true;\n return res;\n },\n {},\n );\n }\n\n dispatch({\n type: SELECT_ALL,\n data: {selected},\n });\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAWA,IAAAK,QAAA,GAAAL,OAAA;AASA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,gBAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,QAAA,GAAAd,OAAA;AAAuF,SAAAD,uBAAAgB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEvF,SAASG,OAAOA,CAACC,IAAI,EAAEC,WAAW,EAAEC,OAAO,EAAEC,wBAAwB,EAAE;EACnE,IAAMC,EAAE,GAAG,IAAIC,sBAAU,CAACH,OAAO,EAAEI,gCAAe,CAACC,2BAA2B,CAAC;EAC/E,OAAOH,EAAE,CAACI,KAAK,CACXC,mBAAO,CAACC,mBAAmB,EAC3BC,qBAAS,CAACC,IAAI,CACVH,mBAAO,CAACC,mBAAmB,EAC3B,IAAAG,0BAAc,EAAC;IACXC,UAAU,GACN,MAAM,EACN,SAAS,EACT,WAAW;IAAE;IACb,oBAAoB;IAAE;IACtB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EAAAC,MAAA,KAAAC,2BAAA,EAChBb,wBAAwB,GAAG,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAC/D;IACDH,IAAI,EAAJA,IAAI;IACJC,WAAW,EAAXA;EACJ,CAAC,CAAC,EACFgB,mCACJ,CACJ,CAAC;AACL;AAEO,SAASC,UAAUA,CAAA,EAAG;EACzB,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,KAAK,GAAGD,QAAQ,CAAC,CAAC;IACxB,IAAMpB,IAAI,GAAG,IAAAsB,oBAAO,EAACD,KAAK,CAAC;IAC3B,IAAMpB,WAAW,GAAG,IAAAsB,2BAAc,EAACF,KAAK,CAAC;IACzC,IAAMnB,OAAO,GAAG,IAAAsB,kBAAU,EAACH,KAAK,CAAC;IAEjC,IAAMlB,wBAAwB,GAAG,IAAAsB,uCAA8B,EAACJ,KAAK,CAAC;IAEtEF,QAAQ,CAAC;MAACO,IAAI,EAAEC,wBAAW,CAACC;IAAO,CAAC,CAAC;IACrC,OAAO7B,OAAO,CAACC,IAAI,EAAEC,WAAW,EAAEC,OAAO,EAAEC,wBAAwB,CAAC,CAC/D0B,IAAI,CAACC,cAAK,CAACC,QAAQ,CAAC,CACpBF,IAAI,CAAC,UAACG,IAAI,EAAK;MACZb,QAAQ,CAAC;QACLO,IAAI,EAAEC,wBAAW,CAACM,OAAO;QACzBD,IAAI,EAAJA;MACJ,CAAC,CAAC;MAEF,IAAME,eAAe,GAAG,IAAAC,8BAAqB,EAACf,QAAQ,CAAC,CAAC,CAAC;MACzDD,QAAQ,CAAC;QACLO,IAAI,EAAEU,8BAAiB;QACvBJ,IAAI,EAAEE,eAAe,GAAG,MAAM,GAAG;MACrC,CAAC,CAAC;MACF,IAAIA,eAAe,EAAE;QACjBf,QAAQ,CACJ,IAAAkB,6BAAqB,EAAC;UAClBC,OAAO,EAAEC,yCAA4B;UACrCC,UAAU,EAAE,MAAM;UAClBC,GAAG,EAAE;QACT,CAAC,CACL,CAAC;MACL;IACJ,CAAC,CAAC,SACI,CAAC,UAACC,KAAK,EAAK;MACd,IAAIA,KAAK,CAACC,IAAI,KAAKC,WAAE,CAACC,KAAK,CAACC,SAAS,EAAE;QACnC3B,QAAQ,CAAC;UACLO,IAAI,EAAEC,wBAAW,CAACoB,OAAO;UACzBf,IAAI,EAAE;YACFgB,OAAO,EAAE,uBAAuB,GAAGC,gCAAqB;YACxDC,OAAO,EAAER;UACb;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACHvB,QAAQ,CAAC;UAACO,IAAI,EAAEC,wBAAW,CAACmB;QAAS,CAAC,CAAC;MAC3C;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAEO,SAASK,mBAAmBA,CAAA,EAAG;EAClC,IAAMC,WAAW,GAAG,GAAG;EAEvB,SAASC,eAAeA,CAACC,SAAS,EAAEC,OAAO,EAAE;IACzC,OAAOA,OAAO,GACR;MACIC,MAAM,EAAEF,SAAS,CAACE,MAAM;MACxBC,WAAW,MAAAC,sBAAA,MAAAA,sBAAA,MACJJ,SAAS,CAACG,WAAW;QACxBE,wBAAwB,EAAEJ;MAAO;IAEzC,CAAC,GACDD,SAAS;EACnB;EAEA,OAAO,UAACnC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,KAAK,GAAGD,QAAQ,CAAC,CAAC;IAExB,IAAIwC,KAAK,GAAG,IAAAC,yBAAgB,EAACxC,KAAK,CAAC;IACnCuC,KAAK,GAAG,IAAAE,gBAAA,EAASF,KAAK,EAAE,UAACG,IAAI;MAAA,OAAK,CAACA,IAAI,CAACN,WAAW,CAACE,wBAAwB;IAAA,EAAC;IAE7E,IAAI,IAAAK,mBAAU,EAAC3C,KAAK,CAAC,IAAIuC,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE;MACzC;IACJ;IAEA9C,QAAQ,CAAC;MAACO,IAAI,EAAEwC,kCAAqB,CAACtC;IAAO,CAAC,CAAC;IAE/C,IAAMuC,WAAW,GAAG,IAAAC,eAAA,EAAQR,KAAK,EAAER,WAAW,CAAC;IAC/C,IAAMiB,eAAe,GAAG,IAAAC,aAAA,EAAMH,WAAW,EAAE,UAACI,UAAU,EAAK;MACvD,IAAMC,QAAQ,GAAG,IAAAF,aAAA,EAAMC,UAAU,EAAE,UAACR,IAAI,EAAK;QACzC,OAAO;UACHU,OAAO,EAAE,KAAK;UACdC,UAAU,EAAE;YACR1E,IAAI,EAAE+D,IAAI,CAAC/D,IAAI,GAAG,6BAA6B;YAC/C2E,OAAO,EAAE,EAAE,GAAG;UAClB;QACJ,CAAC;MACL,CAAC,CAAC;MAEF,OAAOhE,qBAAS,CAACiE,YAAY,CAACnE,mBAAO,CAACoE,uBAAuB,EAAE;QAACL,QAAQ,EAARA;MAAQ,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEFM,OAAO,CAACC,GAAG,CAACV,eAAe,CAAC,CACvBxC,IAAI,CAAC,UAACmD,YAAY,EAAK;MACpB,IAAMC,OAAO,GAAG,CAAC,CAAC;MAElB,IAAMC,YAAY,GAAG,EAAE;MAEvB,IAAAC,iBAAA,EAAUvB,KAAK,EAAE,UAACG,IAAI,EAAEqB,KAAK,EAAK;QAC9B,IAAMC,gBAAgB,GAAGC,IAAI,CAACC,KAAK,CAACH,KAAK,GAAGhC,WAAW,CAAC;QACxD,IAAMoC,WAAW,GAAGR,YAAY,CAACK,gBAAgB,CAAC;QAClD,IAAMI,IAAI,GAAGD,WAAW,CAACJ,KAAK,GAAGhC,WAAW,CAAC;QAE7C,IAAIqC,IAAI,CAAC/C,KAAK,EAAE;UACZwC,YAAY,CAACQ,IAAI,CAACD,IAAI,CAAC;QAC3B,CAAC,MAAM,IAAIA,IAAI,CAACE,MAAM,EAAE;UACpBV,OAAO,CAAClB,IAAI,CAACP,MAAM,CAAC,GAAGiC,IAAI,CAACE,MAAM;QACtC;MACJ,CAAC,CAAC;MAEFxE,QAAQ,CAAC;QACLO,IAAI,EAAEwC,kCAAqB,CAACjC,OAAO;QACnCD,IAAI,EAAE,IAAAsC,aAAA,EAAM,IAAAsB,qBAAY,EAACvE,KAAK,CAAC,EAAE,UAACwE,QAAQ;UAAA,OACtCxC,eAAe,CAACwC,QAAQ,EAAEZ,OAAO,CAACY,QAAQ,CAACrC,MAAM,CAAC,CAAC;QAAA,CACvD;MACJ,CAAC,CAAC;MAEF,IAAMd,KAAK,GAAG,IAAAoD,oBAAa,EAACZ,YAAY,CAAC;MACzC,IAAIxC,KAAK,EAAE;QACP,MAAMA,KAAK;MACf;IACJ,CAAC,CAAC,SACI,CAAC,UAACA,KAAK,EAAK;MACd,IAAIA,KAAK,CAACC,IAAI,KAAKC,WAAE,CAACC,KAAK,CAACC,SAAS,EAAE;QACnC3B,QAAQ,CAAC;UACLO,IAAI,EAAEwC,kCAAqB,CAACnB,OAAO;UACnCf,IAAI,EAAE;YACFgB,OAAO,EAAE,4BAA4B,GAAGC,gCAAqB;YAC7DC,OAAO,EAAER;UACb;QACJ,CAAC,CAAC;QACF,IAAMqD,KAAK,GAAG,IAAIC,cAAO,CAAC,CAAC;QAC3BD,KAAK,CAACE,GAAG,CAAC;UACNvE,IAAI,EAAE,OAAO;UACbwE,IAAI,EAAE,2BAA2B;UACjCvB,OAAO,EAAE,MAAM;UACfwB,KAAK,EAAE,wBAAwB;UAC/BC,OAAO,EAAE1D,KAAK,GAAGA,KAAK,CAACM,OAAO,GAAGqD,eAAM,CAACC,MAAM,CAACC,QAAQ;UACvDC,OAAO,EAAE,CACL;YACIC,KAAK,EAAE,OAAO;YACdC,OAAO,EAAE,SAAAA,QAAA;cAAA,OAAM,IAAAC,qBAAc,EAACjE,KAAK,CAAC;YAAA;UACxC,CAAC;QAET,CAAC,CAAC;MACN,CAAC,MAAM;QACHvB,QAAQ,CAAC;UACLO,IAAI,EAAEwC,kCAAqB,CAACpB;QAChC,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAEO,SAAS8D,SAASA,CAACC,MAAM,EAAE;EAC9B,OAAO,UAAC1F,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMpB,IAAI,GAAG,IAAAsB,oBAAO,EAACF,QAAQ,CAAC,CAAC,CAAC;IAEhCD,QAAQ,CAAC;MACLO,IAAI,EAAEoF,4BAAe;MACrB9E,IAAI,EAAE;QAAC6E,MAAM,EAANA,MAAM;QAAE7G,IAAI,EAAJA;MAAI;IACvB,CAAC,CAAC;EACN,CAAC;AACL;AAEO,SAAS+G,cAAcA,CAACC,WAAW,EAAE;EACxC,OAAO;IACHtF,IAAI,EAAEuF,6BAAgB;IACtBjF,IAAI,EAAEgF;EACV,CAAC;AACL;AAEO,SAASE,aAAaA,CAACC,UAAU,EAAE;EACtC,OAAO;IACHzF,IAAI,EAAE0F,4BAAe;IACrBpF,IAAI,EAAEmF;EACV,CAAC;AACL;AAEO,SAASE,eAAeA,CAACnB,IAAI,EAAEoB,QAAQ,EAAE;EAC5C,OAAO,UAACnG,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,KAAK,GAAGD,QAAQ,CAAC,CAAC;IACxB,IAAMmG,QAAQ,OAAA7D,sBAAA,MAAO,IAAA8D,oBAAW,EAACnG,KAAK,CAAC,CAAC;IACxC,IAAIkG,QAAQ,CAACrB,IAAI,CAAC,IAAI,CAACoB,QAAQ,EAAE;MAC7B,OAAOC,QAAQ,CAACrB,IAAI,CAAC;IACzB,CAAC,MAAM;MACHqB,QAAQ,CAACrB,IAAI,CAAC,GAAG,IAAI;IACzB;IAEA,IAAMuB,YAAY,GAAG,IAAAC,wBAAe,EAACrG,KAAK,CAAC;IAC3C,IAAIoG,YAAY,IAAIH,QAAQ,EAAE;MAC1B,IAAM1D,KAAK,GAAG,IAAA+D,uBAAc,EAACtG,KAAK,CAAC;MACnC,IAAMuG,SAAS,GAAG,IAAAC,mBAAA,EAAYjE,KAAK,EAAE,UAAC6B,IAAI;QAAA,OAAKgC,YAAY,KAAKhC,IAAI,CAACS,IAAI;MAAA,EAAC;MAC1E,IAAI,CAAC,CAAC,KAAK0B,SAAS,EAAE;QAClB,IAAME,SAAS,GAAG,IAAAD,mBAAA,EAAYjE,KAAK,EAAE,UAAC6B,IAAI;UAAA,OAAKA,IAAI,CAACS,IAAI,KAAKA,IAAI;QAAA,EAAC;QAClE,IAAI,CAAC,CAAC,KAAK4B,SAAS,IAAIF,SAAS,KAAKE,SAAS,EAAE;UAC7C,IAAMC,IAAI,GAAGzC,IAAI,CAAC0C,GAAG,CAACJ,SAAS,EAAEE,SAAS,CAAC;UAC3C,IAAMG,EAAE,GAAG3C,IAAI,CAAC4C,GAAG,CAACN,SAAS,EAAEE,SAAS,CAAC;UACzC,KAAK,IAAIK,CAAC,GAAGJ,IAAI,EAAEI,CAAC,IAAIF,EAAE,EAAE,EAAEE,CAAC,EAAE;YAC7B,IAAM1C,IAAI,GAAG7B,KAAK,CAACuE,CAAC,CAAC;YACrBZ,QAAQ,CAAC9B,IAAI,CAACS,IAAI,CAAC,GAAG,IAAI;UAC9B;QACJ;MACJ;IACJ;IAEA/E,QAAQ,CAAC;MACLO,IAAI,EAAE0G,8BAAiB;MACvBpG,IAAI,EAAE;QAACuF,QAAQ,EAARA,QAAQ;QAAEE,YAAY,EAAEF,QAAQ,CAACrB,IAAI,CAAC,GAAGA,IAAI,GAAGmC;MAAS;IACpE,CAAC,CAAC;EACN,CAAC;AACL;AAEO,SAASC,SAASA,CAACC,aAAa,EAAE;EACrC,OAAO,UAACpH,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAImG,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAI,CAACgB,aAAa,EAAE;MAChB,IAAMC,QAAQ,GAAG,IAAA3E,yBAAgB,EAACzC,QAAQ,CAAC,CAAC,CAAC;MAE7CmG,QAAQ,GAAG,IAAAkB,gBAAA,EACPD,QAAQ,EACR,UAACE,GAAG,EAAE3E,IAAI,EAAK;QACX2E,GAAG,CAAC5G,cAAK,CAACC,QAAQ,CAACgC,IAAI,CAAC,CAAC,GAAG,IAAI;QAChC,OAAO2E,GAAG;MACd,CAAC,EACD,CAAC,CACL,CAAC;IACL;IAEAvH,QAAQ,CAAC;MACLO,IAAI,EAAEiH,uBAAU;MAChB3G,IAAI,EAAE;QAACuF,QAAQ,EAARA;MAAQ;IACnB,CAAC,CAAC;EACN,CAAC;AACL"}
|
1
|
+
{"version":3,"names":["_yt","_interopRequireDefault","require","_uikit","_ypath","_navigation","_navigation2","_mapNode","_global","_navigation3","_tables","_rumWrapApi","_utils","_rumMeasureTypes","_hammer","_constants","_support","obj","__esModule","default","getList","path","transaction","cluster","allowEffectiveExpiration","id","RumWrapper","RumMeasureTypes","NAVIGATION_CONTENT_MAP_NODE","fetch","YTApiId","navigationListNodes","ytApiV3Id","list","prepareRequest","attributes","concat","_toConsumableArray","saveRequestCancellation","fetchNodes","dispatch","getState","state","getPath","getTransaction","getCluster","isSupportedEffectiveExpiration","type","FETCH_NODES","REQUEST","then","ypath","getValue","data","SUCCESS","applyCustomSort","shouldApplyCustomSort","APPLY_CUSTOM_SORT","changeColumnSortOrder","tableId","NAVIGATION_MAP_NODE_TABLE_ID","columnName","asc","error","code","yt","codes","CANCELLED","FAILURE","message","GENERIC_ERROR_MESSAGE","details","updateResourceUsage","BATCH_LIMIT","updatedNodeData","nodeValue","newData","$value","$attributes","_objectSpread","recursive_resource_usage","nodes","getFilteredNodes","_filter","node","isRootNode","length","UPDATE_RESOURCE_USAGE","nodesChunks","_chunk","batchedRequests","_map","nodesChunk","requests","command","parameters","timeout","executeBatch","navigationResourceUsage","Promise","all","resultChunks","dataMap","errorResults","_forEach","index","resultChunkIndex","Math","floor","resultChunk","item","push","output","getNodesData","nodeData","getBatchError","toast","Toaster","add","name","title","content","hammer","format","NO_VALUE","actions","label","onClick","showErrorPopup","setFilter","filter","SET_TEXT_FILTER","setContentMode","contentMode","SET_CONTENT_MODE","setMediumType","mediumType","SET_MEDIUM_TYPE","setSelectedItem","shiftKey","selected","getSelected","lastSelected","getLastSelected","getSortedNodes","lastIndex","_findIndex","nameIndex","from","min","to","max","i","SET_SELECTED_ITEM","undefined","selectAll","isAllSelected","allNodes","_reduce","res","SELECT_ALL"],"sources":["map-node.js"],"sourcesContent":["import _ from 'lodash';\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport ypath from '../../../../common/thor/ypath';\nimport {prepareRequest, saveRequestCancellation} from '../../../../utils/navigation';\nimport {\n APPLY_CUSTOM_SORT,\n FETCH_NODES,\n NAVIGATION_MAP_NODE_TABLE_ID,\n SELECT_ALL,\n SET_CONTENT_MODE,\n SET_MEDIUM_TYPE,\n SET_SELECTED_ITEM,\n SET_TEXT_FILTER,\n UPDATE_RESOURCE_USAGE,\n} from '../../../../constants/navigation';\nimport {\n getFilteredNodes,\n getLastSelected,\n getNodesData,\n getSelected,\n getSortedNodes,\n isRootNode,\n shouldApplyCustomSort,\n} from '../../../../store/selectors/navigation/content/map-node';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getPath, getTransaction} from '../../../../store/selectors/navigation';\nimport {changeColumnSortOrder} from '../../../../store/actions/tables';\nimport {RumWrapper, YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {getBatchError, showErrorPopup} from '../../../../utils/utils';\nimport {RumMeasureTypes} from '../../../../rum/rum-measure-types';\nimport hammer from '../../../../common/hammer';\nimport {GENERIC_ERROR_MESSAGE} from '../../../../constants';\nimport {isSupportedEffectiveExpiration} from '../../../../store/selectors/thor/support';\n\nfunction getList(path, transaction, cluster, allowEffectiveExpiration) {\n const id = new RumWrapper(cluster, RumMeasureTypes.NAVIGATION_CONTENT_MAP_NODE);\n return id.fetch(\n YTApiId.navigationListNodes,\n ytApiV3Id.list(\n YTApiId.navigationListNodes,\n prepareRequest({\n attributes: [\n 'type',\n 'dynamic',\n 'row_count', // Deprecated\n 'unmerged_row_count', // Deprecated\n 'chunk_row_count',\n 'modification_time',\n 'creation_time',\n 'resource_usage',\n 'data_weight',\n 'account',\n 'target_path',\n 'broken',\n 'lock_count',\n 'tablet_state',\n '_restore_path',\n 'expiration_time',\n 'expiration_timeout',\n ...(allowEffectiveExpiration ? ['effective_expiration'] : []),\n ],\n path,\n transaction,\n }),\n saveRequestCancellation,\n ),\n );\n}\n\nexport function fetchNodes() {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n const transaction = getTransaction(state);\n const cluster = getCluster(state);\n\n const allowEffectiveExpiration = isSupportedEffectiveExpiration(state);\n\n dispatch({type: FETCH_NODES.REQUEST});\n return getList(path, transaction, cluster, allowEffectiveExpiration)\n .then(ypath.getValue)\n .then((data) => {\n dispatch({\n type: FETCH_NODES.SUCCESS,\n data,\n });\n\n const applyCustomSort = shouldApplyCustomSort(getState());\n dispatch({\n type: APPLY_CUSTOM_SORT,\n data: applyCustomSort ? 'date' : '',\n });\n if (applyCustomSort) {\n dispatch(\n changeColumnSortOrder({\n tableId: NAVIGATION_MAP_NODE_TABLE_ID,\n columnName: 'name',\n asc: false,\n }),\n );\n }\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: FETCH_NODES.FAILURE,\n data: {\n message: 'Could not load list. ' + GENERIC_ERROR_MESSAGE,\n details: error,\n },\n });\n } else {\n dispatch({type: FETCH_NODES.CANCELLED});\n }\n });\n };\n}\n\nexport function updateResourceUsage() {\n const BATCH_LIMIT = 200;\n\n function updatedNodeData(nodeValue, newData) {\n return newData\n ? {\n $value: nodeValue.$value,\n $attributes: {\n ...nodeValue.$attributes,\n recursive_resource_usage: newData,\n },\n }\n : nodeValue;\n }\n\n return (dispatch, getState) => {\n const state = getState();\n\n let nodes = getFilteredNodes(state);\n nodes = _.filter(nodes, (node) => !node.$attributes.recursive_resource_usage);\n\n if (isRootNode(state) || nodes.length === 0) {\n return;\n }\n\n dispatch({type: UPDATE_RESOURCE_USAGE.REQUEST});\n\n const nodesChunks = _.chunk(nodes, BATCH_LIMIT);\n const batchedRequests = _.map(nodesChunks, (nodesChunk) => {\n const requests = _.map(nodesChunk, (node) => {\n return {\n command: 'get',\n parameters: {\n path: node.path + '&/@recursive_resource_usage',\n timeout: 60 * 1000,\n },\n };\n });\n\n return ytApiV3Id.executeBatch(YTApiId.navigationResourceUsage, {requests});\n });\n\n Promise.all(batchedRequests)\n .then((resultChunks) => {\n const dataMap = {};\n\n const errorResults = [];\n\n _.forEach(nodes, (node, index) => {\n const resultChunkIndex = Math.floor(index / BATCH_LIMIT);\n const resultChunk = resultChunks[resultChunkIndex];\n const item = resultChunk[index % BATCH_LIMIT];\n\n if (item.error) {\n errorResults.push(item);\n } else if (item.output) {\n dataMap[node.$value] = item.output;\n }\n });\n\n dispatch({\n type: UPDATE_RESOURCE_USAGE.SUCCESS,\n data: _.map(getNodesData(state), (nodeData) =>\n updatedNodeData(nodeData, dataMap[nodeData.$value]),\n ),\n });\n\n const error = getBatchError(errorResults, 'Failed to get resource usage');\n if (error) {\n throw error;\n }\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: UPDATE_RESOURCE_USAGE.FAILURE,\n data: {\n message: 'Failed to load resources. ' + GENERIC_ERROR_MESSAGE,\n details: error,\n },\n });\n const toast = new Toaster();\n toast.add({\n type: 'error',\n name: 'map_node_update_resources',\n timeout: 500000,\n title: 'Resource loading error',\n content: error ? error.message : hammer.format.NO_VALUE,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n } else {\n dispatch({\n type: UPDATE_RESOURCE_USAGE.CANCELLED,\n });\n }\n });\n };\n}\n\nexport function setFilter(filter) {\n return (dispatch, getState) => {\n const path = getPath(getState());\n\n dispatch({\n type: SET_TEXT_FILTER,\n data: {filter, path},\n });\n };\n}\n\nexport function setContentMode(contentMode) {\n return {\n type: SET_CONTENT_MODE,\n data: contentMode,\n };\n}\n\nexport function setMediumType(mediumType) {\n return {\n type: SET_MEDIUM_TYPE,\n data: mediumType,\n };\n}\n\nexport function setSelectedItem(name, shiftKey) {\n return (dispatch, getState) => {\n const state = getState();\n const selected = {...getSelected(state)};\n if (selected[name] && !shiftKey) {\n delete selected[name];\n } else {\n selected[name] = true;\n }\n\n const lastSelected = getLastSelected(state);\n if (lastSelected && shiftKey) {\n const nodes = getSortedNodes(state);\n const lastIndex = _.findIndex(nodes, (item) => lastSelected === item.name);\n if (-1 !== lastIndex) {\n const nameIndex = _.findIndex(nodes, (item) => item.name === name);\n if (-1 !== nameIndex && lastIndex !== nameIndex) {\n const from = Math.min(lastIndex, nameIndex);\n const to = Math.max(lastIndex, nameIndex);\n for (let i = from; i <= to; ++i) {\n const item = nodes[i];\n selected[item.name] = true;\n }\n }\n }\n }\n\n dispatch({\n type: SET_SELECTED_ITEM,\n data: {selected, lastSelected: selected[name] ? name : undefined},\n });\n };\n}\n\nexport function selectAll(isAllSelected) {\n return (dispatch, getState) => {\n let selected = {};\n\n if (!isAllSelected) {\n const allNodes = getFilteredNodes(getState());\n\n selected = _.reduce(\n allNodes,\n (res, node) => {\n res[ypath.getValue(node)] = true;\n return res;\n },\n {},\n );\n }\n\n dispatch({\n type: SELECT_ALL,\n data: {selected},\n });\n };\n}\n"],"mappings":"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"}
|
@@ -79,7 +79,7 @@ function updateView() {
|
|
79
79
|
if ((pathError === null || pathError === void 0 ? void 0 : pathError.code) === _yt.default.codes.NODE_DOES_NOT_EXIST) {
|
80
80
|
delete path.error;
|
81
81
|
}
|
82
|
-
var error = (0, _utils.getBatchError)(results);
|
82
|
+
var error = (0, _utils.getBatchError)(results, 'Failed to get navigation attributes');
|
83
83
|
if (error) {
|
84
84
|
// Convert typed errors to regular ones
|
85
85
|
error.inner_errors = error.inner_errors.map(_index.prepareAttributes);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_yt","_interopRequireDefault","require","_metrics","_favourites","_rumWrapApi","_rumMeasureTypes","_settings","_navigation","_navigation2","_navigation3","_index","_utils","_errors","_index2","_index3","_global","_tableMountConfig","_aclApi","_annotation","_tabletErrors","_support","obj","__esModule","default","updateView","settings","arguments","length","undefined","dispatch","getState","state","currentPath","getPath","transaction","getTransaction","type","UPDATE_VIEW","REQUEST","path","updatePath","cancelRequests","getAnnotation","loadTabletErrorsCount","saveCancelTokenSource","saveRequestCancellation","allowEffectiveExpiration","isSupportedEffectiveExpiration","requestParams","cluster","getCluster","id","RumWrapper","RumMeasureTypes","NAVIGATION_PRELOAD","fetch","YTApiId","navigationAttributes","ytApiV3Id","executeBatch","requests","command","parameters","prepareRequest","_objectSpread","attributes","concat","_toConsumableArray","output_format","TYPED_OUTPUT_FORMAT","then","results","_results","_slicedToArray","attrs","_results$","_results$2","opaqueAttrs","output","pathError","prepareAttributes","error","code","yt","codes","NODE_DOES_NOT_EXIST","getBatchError","inner_errors","map","effective_expiration","preparedAttributes","asHTML","trackVisit","navigationTrackVisit","metrics","countEvent","navigation_path","user","getCurrentUserName","account","SUCCESS","data","attributesWithTypes","dispatchAccountPermissions","_ref","isWriteable","isAccountUsable","checkPermissionsError","NAVIGATION_PARTIAL","fetchTableMountConfig","checkPermissions","permission","transaction_id","navigationCheckPermissions","_ref2","_ref3","writeAction","action","useAction","CANCELLED","permissionDeniedError","getPermissionDeniedError","message","push","GENERIC_ERROR_MESSAGE","ytApiV3","exists","isIdmSupported","FAILURE","join","details","setMode","mode","defaultMode","getDefaultMode","SET_MODE","Tab","AUTO","onTransactionChange","window","dispatchEvent","Event","setTransaction","SET_TRANSACTION","clearTransaction","CLEAR_TRANSACTION","shouldUpdateContentMode","autoCorrectionEnabled","isPathAutoCorrectionSettingEnabled","correctedPath","autoCorrectPath","UPDATE_PATH","navigateParent","navigation","nextPath","getParentPath"],"sources":["index.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport metrics from '../../../common/utils/metrics';\nimport {navigationTrackVisit} from '../../../store/actions/favourites';\nimport {RumWrapper, YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\n\nimport {isPathAutoCorrectionSettingEnabled} from '../../../store/selectors/settings';\nimport {getPath, getTransaction} from '../../../store/selectors/navigation';\nimport {getDefaultMode} from '../../../store/selectors/navigation/navigation';\n\nimport {\n autoCorrectPath,\n cancelRequests,\n getParentPath,\n prepareRequest,\n saveRequestCancellation,\n} from '../../../utils/navigation';\nimport {prepareAttributes} from '../../../utils/index';\nimport {getBatchError} from '../../../utils/utils';\nimport {getPermissionDeniedError} from '../../../utils/errors';\n\nimport {GENERIC_ERROR_MESSAGE, TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {\n CLEAR_TRANSACTION,\n NAVIGATION_PARTIAL,\n SET_MODE,\n SET_TRANSACTION,\n Tab,\n UPDATE_PATH,\n UPDATE_VIEW,\n} from '../../../constants/navigation/index';\nimport {getCluster, getCurrentUserName} from '../../../store/selectors/global';\nimport {fetchTableMountConfig} from '../../../store/actions/navigation/content/table/table-mount-config';\nimport {checkPermissions} from '../../../utils/acl/acl-api';\nimport {getAnnotation} from './tabs/annotation';\nimport {loadTabletErrorsCount} from './tabs/tablet-errors';\nimport {isSupportedEffectiveExpiration} from '../../../store/selectors/thor/support';\n\nexport function updateView(settings = {}) {\n return (dispatch, getState) => {\n const state = getState();\n const currentPath = getPath(state);\n const transaction = getTransaction(state);\n\n dispatch({type: UPDATE_VIEW.REQUEST});\n // Update path for use default path and auto correct path\n const path = dispatch(updatePath(currentPath, false));\n cancelRequests();\n\n dispatch(getAnnotation());\n dispatch(loadTabletErrorsCount({path, saveCancelTokenSource: saveRequestCancellation}));\n\n const allowEffectiveExpiration = isSupportedEffectiveExpiration(state);\n\n const requestParams = {\n path,\n transaction,\n };\n\n const cluster = getCluster(state);\n\n const id = new RumWrapper(cluster, RumMeasureTypes.NAVIGATION_PRELOAD);\n\n return id\n .fetch(\n YTApiId.navigationAttributes,\n ytApiV3Id.executeBatch(\n YTApiId.navigationAttributes,\n {\n requests: [\n {command: 'get', parameters: prepareRequest('/@', requestParams)},\n {\n command: 'get',\n parameters: prepareRequest('/@', {\n ...requestParams,\n attributes: [\n 'path',\n ...(allowEffectiveExpiration\n ? ['effective_expiration']\n : []),\n ],\n }),\n },\n ],\n output_format: TYPED_OUTPUT_FORMAT,\n },\n saveRequestCancellation,\n ),\n )\n .then((results) => {\n const [attrs, {output: opaqueAttrs} = {}] = results;\n const pathError = prepareAttributes(path.error);\n if (pathError?.code === yt.codes.NODE_DOES_NOT_EXIST) {\n delete path.error;\n }\n\n const error = getBatchError(results);\n if (error) {\n // Convert typed errors to regular ones\n error.inner_errors = error.inner_errors.map(prepareAttributes);\n throw error;\n }\n\n return {\n ...attrs.output,\n ...(opaqueAttrs?.effective_expiration\n ? {effective_expiration: opaqueAttrs.effective_expiration}\n : {}),\n ...(path.output ? {path: opaqueAttrs.path} : {}),\n };\n })\n .then((attributes) => {\n const preparedAttributes = prepareAttributes(attributes, {\n asHTML: false,\n });\n\n if (settings.trackVisit) {\n dispatch(navigationTrackVisit(path));\n }\n\n metrics.countEvent({\n navigation_path: {\n type: preparedAttributes.type,\n },\n });\n\n const user = getCurrentUserName(state);\n const {account} = preparedAttributes;\n\n dispatch({\n type: UPDATE_VIEW.SUCCESS,\n data: {\n attributesWithTypes: attributes,\n attributes: preparedAttributes,\n },\n });\n\n const dispatchAccountPermissions = ({\n isWriteable,\n isAccountUsable,\n checkPermissionsError,\n }) => {\n dispatch({\n type: NAVIGATION_PARTIAL,\n data: {isWriteable, isAccountUsable, checkPermissionsError},\n });\n };\n\n dispatch(fetchTableMountConfig(path));\n\n if (!account) {\n /**\n * If account is not defined we just pretend that everything is awesome\n * and the code works the same as there are no any checks of permissions.\n */\n return dispatchAccountPermissions({\n isWriteable: true,\n isAccountUsable: true,\n });\n }\n\n checkPermissions(\n [\n {\n user,\n permission: 'write',\n path,\n transaction_id: transaction,\n },\n {\n user,\n permission: 'use',\n path: `//sys/accounts/${account}`,\n transaction_id: transaction,\n },\n ],\n YTApiId.navigationCheckPermissions,\n )\n .then(([{action: writeAction}, {action: useAction}]) => {\n dispatchAccountPermissions({\n isWriteable: writeAction === 'allow',\n isAccountUsable: useAction === 'allow',\n });\n })\n .catch((checkPermissionsError) => {\n dispatchAccountPermissions({checkPermissionsError});\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: UPDATE_VIEW.CANCELLED,\n });\n } else {\n const permissionDeniedError = getPermissionDeniedError(error);\n const message = ['Error occurred when loading path.'];\n if (!permissionDeniedError) message.push(GENERIC_ERROR_MESSAGE);\n\n ytApiV3\n .exists({path: '//sys/idm/lock'})\n .catch(() => false)\n .then((isIdmSupported) => {\n dispatch({\n type: UPDATE_VIEW.FAILURE,\n data: {\n message: message.join(' '),\n details: error,\n isIdmSupported,\n },\n });\n });\n }\n });\n };\n}\n\nexport function setMode(mode) {\n return (dispatch, getState) => {\n const defaultMode = getDefaultMode(getState());\n\n dispatch({\n type: SET_MODE,\n data: mode === defaultMode ? Tab.AUTO : mode,\n });\n };\n}\n\nexport function onTransactionChange() {\n return (dispatch) => {\n dispatch(updateView({trackVisit: true}));\n // Need to update breadcrumbs dimensions after transaction change\n window.dispatchEvent(new Event('resize'));\n };\n}\n\nexport function setTransaction(transaction) {\n return (dispatch) => {\n dispatch({\n type: SET_TRANSACTION,\n data: transaction,\n });\n dispatch(onTransactionChange());\n };\n}\n\nexport function clearTransaction() {\n return (dispatch) => {\n dispatch({\n type: CLEAR_TRANSACTION,\n });\n dispatch(onTransactionChange());\n };\n}\n\nexport function updatePath(path, shouldUpdateContentMode = true) {\n return (dispatch, getState) => {\n const autoCorrectionEnabled = isPathAutoCorrectionSettingEnabled(getState());\n\n const correctedPath = autoCorrectionEnabled ? autoCorrectPath(path) : path;\n\n dispatch({\n type: UPDATE_PATH,\n data: {\n path: correctedPath,\n shouldUpdateContentMode,\n },\n });\n\n return correctedPath;\n };\n}\n\nexport function navigateParent() {\n return (dispatch, getState) => {\n const {path} = getState().navigation.navigation;\n const nextPath = getParentPath(path);\n dispatch(updatePath(nextPath));\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_yt","_interopRequireDefault","require","_metrics","_favourites","_rumWrapApi","_rumMeasureTypes","_settings","_navigation","_navigation2","_navigation3","_index","_utils","_errors","_index2","_index3","_global","_tableMountConfig","_aclApi","_annotation","_tabletErrors","_support","obj","__esModule","default","updateView","settings","arguments","length","undefined","dispatch","getState","state","currentPath","getPath","transaction","getTransaction","type","UPDATE_VIEW","REQUEST","path","updatePath","cancelRequests","getAnnotation","loadTabletErrorsCount","saveCancelTokenSource","saveRequestCancellation","allowEffectiveExpiration","isSupportedEffectiveExpiration","requestParams","cluster","getCluster","id","RumWrapper","RumMeasureTypes","NAVIGATION_PRELOAD","fetch","YTApiId","navigationAttributes","ytApiV3Id","executeBatch","requests","command","parameters","prepareRequest","_objectSpread","attributes","concat","_toConsumableArray","output_format","TYPED_OUTPUT_FORMAT","then","results","_results","_slicedToArray","attrs","_results$","_results$2","opaqueAttrs","output","pathError","prepareAttributes","error","code","yt","codes","NODE_DOES_NOT_EXIST","getBatchError","inner_errors","map","effective_expiration","preparedAttributes","asHTML","trackVisit","navigationTrackVisit","metrics","countEvent","navigation_path","user","getCurrentUserName","account","SUCCESS","data","attributesWithTypes","dispatchAccountPermissions","_ref","isWriteable","isAccountUsable","checkPermissionsError","NAVIGATION_PARTIAL","fetchTableMountConfig","checkPermissions","permission","transaction_id","navigationCheckPermissions","_ref2","_ref3","writeAction","action","useAction","CANCELLED","permissionDeniedError","getPermissionDeniedError","message","push","GENERIC_ERROR_MESSAGE","ytApiV3","exists","isIdmSupported","FAILURE","join","details","setMode","mode","defaultMode","getDefaultMode","SET_MODE","Tab","AUTO","onTransactionChange","window","dispatchEvent","Event","setTransaction","SET_TRANSACTION","clearTransaction","CLEAR_TRANSACTION","shouldUpdateContentMode","autoCorrectionEnabled","isPathAutoCorrectionSettingEnabled","correctedPath","autoCorrectPath","UPDATE_PATH","navigateParent","navigation","nextPath","getParentPath"],"sources":["index.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport metrics from '../../../common/utils/metrics';\nimport {navigationTrackVisit} from '../../../store/actions/favourites';\nimport {RumWrapper, YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\n\nimport {isPathAutoCorrectionSettingEnabled} from '../../../store/selectors/settings';\nimport {getPath, getTransaction} from '../../../store/selectors/navigation';\nimport {getDefaultMode} from '../../../store/selectors/navigation/navigation';\n\nimport {\n autoCorrectPath,\n cancelRequests,\n getParentPath,\n prepareRequest,\n saveRequestCancellation,\n} from '../../../utils/navigation';\nimport {prepareAttributes} from '../../../utils/index';\nimport {getBatchError} from '../../../utils/utils';\nimport {getPermissionDeniedError} from '../../../utils/errors';\n\nimport {GENERIC_ERROR_MESSAGE, TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {\n CLEAR_TRANSACTION,\n NAVIGATION_PARTIAL,\n SET_MODE,\n SET_TRANSACTION,\n Tab,\n UPDATE_PATH,\n UPDATE_VIEW,\n} from '../../../constants/navigation/index';\nimport {getCluster, getCurrentUserName} from '../../../store/selectors/global';\nimport {fetchTableMountConfig} from '../../../store/actions/navigation/content/table/table-mount-config';\nimport {checkPermissions} from '../../../utils/acl/acl-api';\nimport {getAnnotation} from './tabs/annotation';\nimport {loadTabletErrorsCount} from './tabs/tablet-errors';\nimport {isSupportedEffectiveExpiration} from '../../../store/selectors/thor/support';\n\nexport function updateView(settings = {}) {\n return (dispatch, getState) => {\n const state = getState();\n const currentPath = getPath(state);\n const transaction = getTransaction(state);\n\n dispatch({type: UPDATE_VIEW.REQUEST});\n // Update path for use default path and auto correct path\n const path = dispatch(updatePath(currentPath, false));\n cancelRequests();\n\n dispatch(getAnnotation());\n dispatch(loadTabletErrorsCount({path, saveCancelTokenSource: saveRequestCancellation}));\n\n const allowEffectiveExpiration = isSupportedEffectiveExpiration(state);\n\n const requestParams = {\n path,\n transaction,\n };\n\n const cluster = getCluster(state);\n\n const id = new RumWrapper(cluster, RumMeasureTypes.NAVIGATION_PRELOAD);\n\n return id\n .fetch(\n YTApiId.navigationAttributes,\n ytApiV3Id.executeBatch(\n YTApiId.navigationAttributes,\n {\n requests: [\n {command: 'get', parameters: prepareRequest('/@', requestParams)},\n {\n command: 'get',\n parameters: prepareRequest('/@', {\n ...requestParams,\n attributes: [\n 'path',\n ...(allowEffectiveExpiration\n ? ['effective_expiration']\n : []),\n ],\n }),\n },\n ],\n output_format: TYPED_OUTPUT_FORMAT,\n },\n saveRequestCancellation,\n ),\n )\n .then((results) => {\n const [attrs, {output: opaqueAttrs} = {}] = results;\n const pathError = prepareAttributes(path.error);\n if (pathError?.code === yt.codes.NODE_DOES_NOT_EXIST) {\n delete path.error;\n }\n\n const error = getBatchError(results, 'Failed to get navigation attributes');\n if (error) {\n // Convert typed errors to regular ones\n error.inner_errors = error.inner_errors.map(prepareAttributes);\n throw error;\n }\n\n return {\n ...attrs.output,\n ...(opaqueAttrs?.effective_expiration\n ? {effective_expiration: opaqueAttrs.effective_expiration}\n : {}),\n ...(path.output ? {path: opaqueAttrs.path} : {}),\n };\n })\n .then((attributes) => {\n const preparedAttributes = prepareAttributes(attributes, {\n asHTML: false,\n });\n\n if (settings.trackVisit) {\n dispatch(navigationTrackVisit(path));\n }\n\n metrics.countEvent({\n navigation_path: {\n type: preparedAttributes.type,\n },\n });\n\n const user = getCurrentUserName(state);\n const {account} = preparedAttributes;\n\n dispatch({\n type: UPDATE_VIEW.SUCCESS,\n data: {\n attributesWithTypes: attributes,\n attributes: preparedAttributes,\n },\n });\n\n const dispatchAccountPermissions = ({\n isWriteable,\n isAccountUsable,\n checkPermissionsError,\n }) => {\n dispatch({\n type: NAVIGATION_PARTIAL,\n data: {isWriteable, isAccountUsable, checkPermissionsError},\n });\n };\n\n dispatch(fetchTableMountConfig(path));\n\n if (!account) {\n /**\n * If account is not defined we just pretend that everything is awesome\n * and the code works the same as there are no any checks of permissions.\n */\n return dispatchAccountPermissions({\n isWriteable: true,\n isAccountUsable: true,\n });\n }\n\n checkPermissions(\n [\n {\n user,\n permission: 'write',\n path,\n transaction_id: transaction,\n },\n {\n user,\n permission: 'use',\n path: `//sys/accounts/${account}`,\n transaction_id: transaction,\n },\n ],\n YTApiId.navigationCheckPermissions,\n )\n .then(([{action: writeAction}, {action: useAction}]) => {\n dispatchAccountPermissions({\n isWriteable: writeAction === 'allow',\n isAccountUsable: useAction === 'allow',\n });\n })\n .catch((checkPermissionsError) => {\n dispatchAccountPermissions({checkPermissionsError});\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: UPDATE_VIEW.CANCELLED,\n });\n } else {\n const permissionDeniedError = getPermissionDeniedError(error);\n const message = ['Error occurred when loading path.'];\n if (!permissionDeniedError) message.push(GENERIC_ERROR_MESSAGE);\n\n ytApiV3\n .exists({path: '//sys/idm/lock'})\n .catch(() => false)\n .then((isIdmSupported) => {\n dispatch({\n type: UPDATE_VIEW.FAILURE,\n data: {\n message: message.join(' '),\n details: error,\n isIdmSupported,\n },\n });\n });\n }\n });\n };\n}\n\nexport function setMode(mode) {\n return (dispatch, getState) => {\n const defaultMode = getDefaultMode(getState());\n\n dispatch({\n type: SET_MODE,\n data: mode === defaultMode ? Tab.AUTO : mode,\n });\n };\n}\n\nexport function onTransactionChange() {\n return (dispatch) => {\n dispatch(updateView({trackVisit: true}));\n // Need to update breadcrumbs dimensions after transaction change\n window.dispatchEvent(new Event('resize'));\n };\n}\n\nexport function setTransaction(transaction) {\n return (dispatch) => {\n dispatch({\n type: SET_TRANSACTION,\n data: transaction,\n });\n dispatch(onTransactionChange());\n };\n}\n\nexport function clearTransaction() {\n return (dispatch) => {\n dispatch({\n type: CLEAR_TRANSACTION,\n });\n dispatch(onTransactionChange());\n };\n}\n\nexport function updatePath(path, shouldUpdateContentMode = true) {\n return (dispatch, getState) => {\n const autoCorrectionEnabled = isPathAutoCorrectionSettingEnabled(getState());\n\n const correctedPath = autoCorrectionEnabled ? autoCorrectPath(path) : path;\n\n dispatch({\n type: UPDATE_PATH,\n data: {\n path: correctedPath,\n shouldUpdateContentMode,\n },\n });\n\n return correctedPath;\n };\n}\n\nexport function navigateParent() {\n return (dispatch, getState) => {\n const {path} = getState().navigation.navigation;\n const nextPath = getParentPath(path);\n dispatch(updatePath(nextPath));\n };\n}\n"],"mappings":"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"}
|
@@ -50,7 +50,9 @@ function showNavigationAttributesEditor(paths) {
|
|
50
50
|
}
|
51
51
|
};
|
52
52
|
});
|
53
|
-
return (0, _executeBatch.executeBatchWithRetries)(_rumWrapApi.YTApiId.attributesEditorGetAttrs, requests
|
53
|
+
return (0, _executeBatch.executeBatchWithRetries)(_rumWrapApi.YTApiId.attributesEditorGetAttrs, requests, {
|
54
|
+
errorTitle: 'Attributes cannot be loaded'
|
55
|
+
}).then(function (results) {
|
54
56
|
var error = (0, _utils.getBatchError)(results, 'Attributes cannot be loaded');
|
55
57
|
if (error) {
|
56
58
|
throw error;
|
@@ -144,7 +146,9 @@ function navigationSetNodeAttributes(generalAttrs, storageAttrs, runMerge) {
|
|
144
146
|
return acc;
|
145
147
|
}, []);
|
146
148
|
var staticTables = (0, _attributesEditor2.getNavigationAttributesEditorStaticTables)(getState());
|
147
|
-
return (0, _executeBatch.executeBatchWithRetries)(_rumWrapApi.YTApiId.attributesEditorSet, requests
|
149
|
+
return (0, _executeBatch.executeBatchWithRetries)(_rumWrapApi.YTApiId.attributesEditorSet, requests, {
|
150
|
+
errorTitle: "Cannot set attributes for ".concat(paths)
|
151
|
+
}).then(function (res) {
|
148
152
|
var error = (0, _utils.getBatchError)(res, "Cannot set attributes for ".concat(paths));
|
149
153
|
if (error) {
|
150
154
|
dispatch({
|
@@ -194,7 +198,9 @@ function navigationSetNodeAttributes(generalAttrs, storageAttrs, runMerge) {
|
|
194
198
|
parameters: prepareMergeParams(path)
|
195
199
|
};
|
196
200
|
});
|
197
|
-
return (0, _executeBatch.executeBatchWithRetries)(_rumWrapApi.YTApiId.attributesEditorMerge, _requests
|
201
|
+
return (0, _executeBatch.executeBatchWithRetries)(_rumWrapApi.YTApiId.attributesEditorMerge, _requests, {
|
202
|
+
errorTitle: 'Failed to start some operations'
|
203
|
+
}).then(function (results) {
|
198
204
|
var error = (0, _utils.getBatchError)(results, 'Failed to start some operations');
|
199
205
|
if (error) {
|
200
206
|
throw error;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_ypath","_yt","_attributesEditor","_attributesEditor2","_utils","_OperationShortInfo","_AppStoreProvider","_index","_Link","_global","_cypressAttributes","_constants","_executeBatch","_rumWrapApi","_jsxRuntime","obj","__esModule","default","EDITABLE_ATTRIBUTES","showNavigationAttributesEditor","paths","dispatch","type","NAVIGATION_ATTRIBUTES_EDITOR_REQUEST","requests","_map","path","command","parameters","attributes","executeBatchWithRetries","YTApiId","attributesEditorGetAttrs","then","results","error","getBatchError","attributesMap","_reduce","acc","index","$attributes","output","NAVIGATION_ATTRIBUTES_EDITOR_SUCCESS","data","NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL","visible","e","NAVIGATION_ATTRIBUTES_EDITOR_ERROR","toaster","Toaster","add","name","_join","title","content","message","actions","label","onClick","showErrorPopup","autoHiding","hideNavigationAttributesEditor","undefined","EDIT_MARKER","makeUiMarker","concat","Page","NAVIGATION","EDIT_MERGE_MARKER","navigationSetNodeAttributes","generalAttrs","storageAttrs","runMerge","getState","getNavigationAttributesEditorPath","_isEmpty","_objectSpread","console","warn","JSON","stringify","Promise","resolve","cluster","getCluster","getNavigationAttributesEditorAttributes","in_memory_mode","tablet_cell_bundle","restGeneralAttrs","_objectWithoutProperties","_excluded","attrs","newAttrs","ypath","getValue","isDynamic","isDynTable","Object","assign","_forEach","value","key","push","prepareSetCommandForBatch","staticTables","getNavigationAttributesEditorStaticTables","attributesEditorSet","res","reject","length","prepareMergeParams","sorted","spec","input_table_paths","output_table_path","force_transform","mode","promises","wrapApiPromiseByToaster","yt","v3","merge","toasterName","successContent","opId","parse","_jsx","AppStoreProvider","children","OperationShortInfo","id","output_attribute_name","successTitle","errorTitle","autoHide","all","_requests","attributesEditorMerge","join","_jsxs","Link","url","updateView"],"sources":["attributes-editor.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport {ThunkAction} from 'redux-thunk';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport ypath from '../../../../common/thor/ypath';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n NAVIGATION_ATTRIBUTES_EDITOR_ERROR,\n NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL,\n NAVIGATION_ATTRIBUTES_EDITOR_REQUEST,\n NAVIGATION_ATTRIBUTES_EDITOR_SUCCESS,\n} from '../../../../constants/navigation/modals/attributes-editor';\nimport {RootState} from '../../../../store/reducers';\nimport {NavAttrEditorAction} from '../../../../store/reducers/navigation/modals/attributes-editor';\nimport {\n getNavigationAttributesEditorAttributes,\n getNavigationAttributesEditorPath,\n getNavigationAttributesEditorStaticTables,\n} from '../../../../store/selectors/navigation/modals/attributes-editor';\nimport {getBatchError, showErrorPopup, wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {OperationShortInfo} from '../../../../pages/components/OperationShortInfo/OperationShortInfo';\nimport {AppStoreProvider} from '../../../../containers/App/AppStoreProvider';\nimport {updateView} from '../index';\nimport Link from '../../../../components/Link/Link';\nimport {getCluster} from '../../../selectors/global';\nimport {makeUiMarker, prepareSetCommandForBatch} from '../../../../utils/cypress-attributes';\nimport {Page} from '../../../../constants';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\nimport {BatchSubRequest} from '../../../../../shared/yt-types';\n\ntype ActionType<R = any> = ThunkAction<R, RootState, any, NavAttrEditorAction>;\n\nconst EDITABLE_ATTRIBUTES = [\n 'type',\n 'account',\n 'primary_medium',\n 'optimize_for',\n 'compression_codec',\n 'erasure_codec',\n 'replication_factor',\n 'tablet_cell_bundle',\n 'in_memory_mode',\n 'dynamic',\n 'sorted',\n 'annotation',\n 'annotation_path',\n 'expiration_time',\n 'expiration_timeout',\n];\n\nexport function showNavigationAttributesEditor(paths: Array<string>): ActionType {\n return (dispatch) => {\n dispatch({type: NAVIGATION_ATTRIBUTES_EDITOR_REQUEST});\n const requests = _.map(paths, (path) => {\n return {\n command: 'get' as const,\n parameters: {\n path: path + '/@',\n attributes: EDITABLE_ATTRIBUTES,\n },\n };\n });\n return executeBatchWithRetries(YTApiId.attributesEditorGetAttrs, requests)\n .then((results: any) => {\n const error = getBatchError(results, 'Attributes cannot be loaded');\n if (error) {\n throw error;\n }\n const attributesMap = _.reduce(\n paths,\n (acc, path, index) => {\n acc[path] = {$attributes: results[index].output};\n return acc;\n },\n {} as any,\n );\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_SUCCESS,\n data: {attributesMap, paths},\n });\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL,\n data: {visible: true},\n });\n })\n .catch((e: any) => {\n dispatch({type: NAVIGATION_ATTRIBUTES_EDITOR_ERROR, data: e});\n const toaster = new Toaster();\n toaster.add({\n name: 'show_attrs_editor_' + _.join(paths),\n type: 'error',\n title: 'Attributes cannot be loaded',\n content: e?.message,\n actions: [\n {\n label: ' [Details]',\n onClick: () => showErrorPopup(e),\n },\n ],\n autoHiding: false,\n });\n });\n };\n}\n\nexport function hideNavigationAttributesEditor() {\n return {\n type: NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL,\n data: {paths: undefined, visible: false},\n };\n}\n\nconst EDIT_MARKER = makeUiMarker(`${Page.NAVIGATION}:edit-attributes`);\nconst EDIT_MERGE_MARKER = makeUiMarker(`${Page.NAVIGATION}:edit-attributes:merge`);\n\nexport function navigationSetNodeAttributes(\n generalAttrs: any,\n storageAttrs: object,\n runMerge: boolean,\n): ActionType<Promise<unknown>> {\n return (dispatch, getState) => {\n const paths = getNavigationAttributesEditorPath(getState());\n\n if (_.isEmpty({...generalAttrs, ...storageAttrs})) {\n console.warn(\n `Please check your parameters: ${JSON.stringify({\n path: paths,\n attributes: generalAttrs,\n })}`,\n );\n return Promise.resolve();\n }\n\n const cluster = getCluster(getState());\n\n const attributesMap = getNavigationAttributesEditorAttributes(getState());\n const {in_memory_mode, tablet_cell_bundle, ...restGeneralAttrs} = generalAttrs;\n\n const requests = _.reduce(\n paths,\n (acc, path) => {\n const attrs = attributesMap[path] || {};\n const newAttrs = {...restGeneralAttrs, ...storageAttrs};\n const type = ypath.getValue(attrs, '/@type');\n const isDynamic = ypath.getValue(attrs, '/@dynamic');\n const isDynTable = type === 'table' && isDynamic;\n if (in_memory_mode !== undefined && isDynTable) {\n Object.assign(newAttrs, {in_memory_mode});\n }\n if (tablet_cell_bundle !== undefined && (type === 'map_node' || isDynTable)) {\n Object.assign(newAttrs, {tablet_cell_bundle});\n }\n\n _.forEach(newAttrs, (value, key) => {\n acc.push(prepareSetCommandForBatch(`${path}/@${key}`, value, EDIT_MARKER));\n });\n return acc;\n },\n [] as Array<BatchSubRequest>,\n );\n\n const staticTables = getNavigationAttributesEditorStaticTables(getState());\n\n return executeBatchWithRetries(YTApiId.attributesEditorSet, requests)\n .then((res): Promise<unknown> => {\n const error = getBatchError(res, `Cannot set attributes for ${paths}`);\n if (error) {\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_ERROR,\n data: error,\n });\n return Promise.reject(error);\n }\n if (!runMerge || !staticTables.length || _.isEmpty(storageAttrs)) {\n return Promise.resolve(res);\n }\n\n const prepareMergeParams = (path: string) => {\n const sorted = ypath.getValue(attributesMap[path], '/@sorted');\n return {\n spec: Object.assign(\n {\n input_table_paths: [path],\n output_table_path: path,\n force_transform: true,\n },\n sorted ? {mode: 'sorted'} : {},\n ),\n ...EDIT_MERGE_MARKER,\n };\n };\n\n if (staticTables.length < 6) {\n const promises = _.map(staticTables, (path) => {\n return wrapApiPromiseByToaster(yt.v3.merge(prepareMergeParams(path)), {\n toasterName: 'storage_attrs_' + path,\n successContent(res: string) {\n const opId = JSON.parse(res);\n return (\n <AppStoreProvider>\n <OperationShortInfo\n id={opId}\n output_attribute_name={'/spec/output_table_path'}\n />\n </AppStoreProvider>\n );\n },\n successTitle: 'Merge operation is started',\n errorTitle: 'Merge operation is failed',\n autoHide: false,\n });\n });\n return Promise.all(promises);\n } else {\n const requests = _.map(staticTables, (path) => {\n return {\n command: 'merge' as const,\n parameters: prepareMergeParams(path),\n };\n });\n return executeBatchWithRetries(YTApiId.attributesEditorMerge, requests).then(\n (results: any) => {\n const error = getBatchError(results, 'Failed to start some operations');\n if (error) {\n throw error;\n }\n\n const toaster = new Toaster();\n toaster.add({\n type: 'success',\n name: 'merge_' + staticTables.join(','),\n title: `${staticTables.length} operations are started`,\n content: (\n <span>\n Please visit\n <Link url={`/${cluster}/operations`}> operations </Link>\n page to see more details\n </span>\n ),\n });\n },\n );\n }\n })\n .then(() => {\n dispatch(updateView());\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL,\n data: {paths: undefined, visible: false},\n });\n })\n .catch((e: any) => {\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_ERROR,\n data: e,\n });\n return Promise.reject(e);\n });\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_ypath","_yt","_attributesEditor","_attributesEditor2","_utils","_OperationShortInfo","_AppStoreProvider","_index","_Link","_global","_cypressAttributes","_constants","_executeBatch","_rumWrapApi","_jsxRuntime","obj","__esModule","default","EDITABLE_ATTRIBUTES","showNavigationAttributesEditor","paths","dispatch","type","NAVIGATION_ATTRIBUTES_EDITOR_REQUEST","requests","_map","path","command","parameters","attributes","executeBatchWithRetries","YTApiId","attributesEditorGetAttrs","errorTitle","then","results","error","getBatchError","attributesMap","_reduce","acc","index","$attributes","output","NAVIGATION_ATTRIBUTES_EDITOR_SUCCESS","data","NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL","visible","e","NAVIGATION_ATTRIBUTES_EDITOR_ERROR","toaster","Toaster","add","name","_join","title","content","message","actions","label","onClick","showErrorPopup","autoHiding","hideNavigationAttributesEditor","undefined","EDIT_MARKER","makeUiMarker","concat","Page","NAVIGATION","EDIT_MERGE_MARKER","navigationSetNodeAttributes","generalAttrs","storageAttrs","runMerge","getState","getNavigationAttributesEditorPath","_isEmpty","_objectSpread","console","warn","JSON","stringify","Promise","resolve","cluster","getCluster","getNavigationAttributesEditorAttributes","in_memory_mode","tablet_cell_bundle","restGeneralAttrs","_objectWithoutProperties","_excluded","attrs","newAttrs","ypath","getValue","isDynamic","isDynTable","Object","assign","_forEach","value","key","push","prepareSetCommandForBatch","staticTables","getNavigationAttributesEditorStaticTables","attributesEditorSet","res","reject","length","prepareMergeParams","sorted","spec","input_table_paths","output_table_path","force_transform","mode","promises","wrapApiPromiseByToaster","yt","v3","merge","toasterName","successContent","opId","parse","_jsx","AppStoreProvider","children","OperationShortInfo","id","output_attribute_name","successTitle","autoHide","all","_requests","attributesEditorMerge","join","_jsxs","Link","url","updateView"],"sources":["attributes-editor.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport {ThunkAction} from 'redux-thunk';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport ypath from '../../../../common/thor/ypath';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {\n NAVIGATION_ATTRIBUTES_EDITOR_ERROR,\n NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL,\n NAVIGATION_ATTRIBUTES_EDITOR_REQUEST,\n NAVIGATION_ATTRIBUTES_EDITOR_SUCCESS,\n} from '../../../../constants/navigation/modals/attributes-editor';\nimport {RootState} from '../../../../store/reducers';\nimport {NavAttrEditorAction} from '../../../../store/reducers/navigation/modals/attributes-editor';\nimport {\n getNavigationAttributesEditorAttributes,\n getNavigationAttributesEditorPath,\n getNavigationAttributesEditorStaticTables,\n} from '../../../../store/selectors/navigation/modals/attributes-editor';\nimport {getBatchError, showErrorPopup, wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {OperationShortInfo} from '../../../../pages/components/OperationShortInfo/OperationShortInfo';\nimport {AppStoreProvider} from '../../../../containers/App/AppStoreProvider';\nimport {updateView} from '../index';\nimport Link from '../../../../components/Link/Link';\nimport {getCluster} from '../../../selectors/global';\nimport {makeUiMarker, prepareSetCommandForBatch} from '../../../../utils/cypress-attributes';\nimport {Page} from '../../../../constants';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\nimport {BatchSubRequest} from '../../../../../shared/yt-types';\n\ntype ActionType<R = any> = ThunkAction<R, RootState, any, NavAttrEditorAction>;\n\nconst EDITABLE_ATTRIBUTES = [\n 'type',\n 'account',\n 'primary_medium',\n 'optimize_for',\n 'compression_codec',\n 'erasure_codec',\n 'replication_factor',\n 'tablet_cell_bundle',\n 'in_memory_mode',\n 'dynamic',\n 'sorted',\n 'annotation',\n 'annotation_path',\n 'expiration_time',\n 'expiration_timeout',\n];\n\nexport function showNavigationAttributesEditor(paths: Array<string>): ActionType {\n return (dispatch) => {\n dispatch({type: NAVIGATION_ATTRIBUTES_EDITOR_REQUEST});\n const requests = _.map(paths, (path) => {\n return {\n command: 'get' as const,\n parameters: {\n path: path + '/@',\n attributes: EDITABLE_ATTRIBUTES,\n },\n };\n });\n return executeBatchWithRetries(YTApiId.attributesEditorGetAttrs, requests, {\n errorTitle: 'Attributes cannot be loaded',\n })\n .then((results: any) => {\n const error = getBatchError(results, 'Attributes cannot be loaded');\n if (error) {\n throw error;\n }\n const attributesMap = _.reduce(\n paths,\n (acc, path, index) => {\n acc[path] = {$attributes: results[index].output};\n return acc;\n },\n {} as any,\n );\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_SUCCESS,\n data: {attributesMap, paths},\n });\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL,\n data: {visible: true},\n });\n })\n .catch((e: any) => {\n dispatch({type: NAVIGATION_ATTRIBUTES_EDITOR_ERROR, data: e});\n const toaster = new Toaster();\n toaster.add({\n name: 'show_attrs_editor_' + _.join(paths),\n type: 'error',\n title: 'Attributes cannot be loaded',\n content: e?.message,\n actions: [\n {\n label: ' [Details]',\n onClick: () => showErrorPopup(e),\n },\n ],\n autoHiding: false,\n });\n });\n };\n}\n\nexport function hideNavigationAttributesEditor() {\n return {\n type: NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL,\n data: {paths: undefined, visible: false},\n };\n}\n\nconst EDIT_MARKER = makeUiMarker(`${Page.NAVIGATION}:edit-attributes`);\nconst EDIT_MERGE_MARKER = makeUiMarker(`${Page.NAVIGATION}:edit-attributes:merge`);\n\nexport function navigationSetNodeAttributes(\n generalAttrs: any,\n storageAttrs: object,\n runMerge: boolean,\n): ActionType<Promise<unknown>> {\n return (dispatch, getState) => {\n const paths = getNavigationAttributesEditorPath(getState());\n\n if (_.isEmpty({...generalAttrs, ...storageAttrs})) {\n console.warn(\n `Please check your parameters: ${JSON.stringify({\n path: paths,\n attributes: generalAttrs,\n })}`,\n );\n return Promise.resolve();\n }\n\n const cluster = getCluster(getState());\n\n const attributesMap = getNavigationAttributesEditorAttributes(getState());\n const {in_memory_mode, tablet_cell_bundle, ...restGeneralAttrs} = generalAttrs;\n\n const requests = _.reduce(\n paths,\n (acc, path) => {\n const attrs = attributesMap[path] || {};\n const newAttrs = {...restGeneralAttrs, ...storageAttrs};\n const type = ypath.getValue(attrs, '/@type');\n const isDynamic = ypath.getValue(attrs, '/@dynamic');\n const isDynTable = type === 'table' && isDynamic;\n if (in_memory_mode !== undefined && isDynTable) {\n Object.assign(newAttrs, {in_memory_mode});\n }\n if (tablet_cell_bundle !== undefined && (type === 'map_node' || isDynTable)) {\n Object.assign(newAttrs, {tablet_cell_bundle});\n }\n\n _.forEach(newAttrs, (value, key) => {\n acc.push(prepareSetCommandForBatch(`${path}/@${key}`, value, EDIT_MARKER));\n });\n return acc;\n },\n [] as Array<BatchSubRequest>,\n );\n\n const staticTables = getNavigationAttributesEditorStaticTables(getState());\n\n return executeBatchWithRetries(YTApiId.attributesEditorSet, requests, {\n errorTitle: `Cannot set attributes for ${paths}`,\n })\n .then((res): Promise<unknown> => {\n const error = getBatchError(res, `Cannot set attributes for ${paths}`);\n if (error) {\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_ERROR,\n data: error,\n });\n return Promise.reject(error);\n }\n if (!runMerge || !staticTables.length || _.isEmpty(storageAttrs)) {\n return Promise.resolve(res);\n }\n\n const prepareMergeParams = (path: string) => {\n const sorted = ypath.getValue(attributesMap[path], '/@sorted');\n return {\n spec: Object.assign(\n {\n input_table_paths: [path],\n output_table_path: path,\n force_transform: true,\n },\n sorted ? {mode: 'sorted'} : {},\n ),\n ...EDIT_MERGE_MARKER,\n };\n };\n\n if (staticTables.length < 6) {\n const promises = _.map(staticTables, (path) => {\n return wrapApiPromiseByToaster(yt.v3.merge(prepareMergeParams(path)), {\n toasterName: 'storage_attrs_' + path,\n successContent(res: string) {\n const opId = JSON.parse(res);\n return (\n <AppStoreProvider>\n <OperationShortInfo\n id={opId}\n output_attribute_name={'/spec/output_table_path'}\n />\n </AppStoreProvider>\n );\n },\n successTitle: 'Merge operation is started',\n errorTitle: 'Merge operation is failed',\n autoHide: false,\n });\n });\n return Promise.all(promises);\n } else {\n const requests = _.map(staticTables, (path) => {\n return {\n command: 'merge' as const,\n parameters: prepareMergeParams(path),\n };\n });\n return executeBatchWithRetries(YTApiId.attributesEditorMerge, requests, {\n errorTitle: 'Failed to start some operations',\n }).then((results: any) => {\n const error = getBatchError(results, 'Failed to start some operations');\n if (error) {\n throw error;\n }\n\n const toaster = new Toaster();\n toaster.add({\n type: 'success',\n name: 'merge_' + staticTables.join(','),\n title: `${staticTables.length} operations are started`,\n content: (\n <span>\n Please visit\n <Link url={`/${cluster}/operations`}> operations </Link>\n page to see more details\n </span>\n ),\n });\n });\n }\n })\n .then(() => {\n dispatch(updateView());\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_PARTIAL,\n data: {paths: undefined, visible: false},\n });\n })\n .catch((e: any) => {\n dispatch({\n type: NAVIGATION_ATTRIBUTES_EDITOR_ERROR,\n data: e,\n });\n return Promise.reject(e);\n });\n };\n}\n"],"mappings":"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"}
|