@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
@@ -8,7 +8,7 @@ import ypath from '@ytsaurus/interface-helpers/lib/ypath';
|
|
8
8
|
import Link from '../../../../components/Link/Link';
|
9
9
|
import { Toaster } from '@gravity-ui/uikit';
|
10
10
|
import { checkIsTrash, getRawPath } from '../../../../store/selectors/navigation';
|
11
|
-
import { showErrorPopup } from '../../../../utils/utils';
|
11
|
+
import { showErrorPopup, wrapBatchPromise } from '../../../../utils/utils';
|
12
12
|
import { navigateParent, updateView } from '../../../../store/actions/navigation';
|
13
13
|
import { decodeEscapedAbsPath, preparePath } from '../../../../utils/navigation';
|
14
14
|
import { CLOSE_DELETE_OBJECT_POPUP, DELETE_OBJECT, LOAD_REAL_PATH, OPEN_DELETE_OBJECT_POPUP, SUPPRESS_REDIRECT, TOGGLE_PERMANENTLY_DELETE } from '../../../../constants/navigation/modals/delete-object';
|
@@ -136,7 +136,9 @@ export function getRealPaths(items) {
|
|
136
136
|
}
|
137
137
|
};
|
138
138
|
});
|
139
|
-
return executeBatchWithRetries(YTApiId.navigationDelete, requests
|
139
|
+
return executeBatchWithRetries(YTApiId.navigationDelete, requests, {
|
140
|
+
errorTitle: 'Failed to get real paths'
|
141
|
+
}).then(function (responses) {
|
140
142
|
var error = _find(responses, function (res) {
|
141
143
|
return res.error;
|
142
144
|
});
|
@@ -318,7 +320,9 @@ function permanentlyDeleteObjects(multipleInfo, transaction) {
|
|
318
320
|
}
|
319
321
|
};
|
320
322
|
});
|
321
|
-
return executeBatchWithRetries(YTApiId.navigationDelete, requests
|
323
|
+
return wrapBatchPromise(executeBatchWithRetries(YTApiId.navigationDelete, requests, {
|
324
|
+
errorTitle: 'Failed to delete object(s) permanently'
|
325
|
+
}), 'Failed to delete object(s) permanently').then(function () {
|
322
326
|
return yt.v3.commitTransaction({
|
323
327
|
transaction_id: transaction
|
324
328
|
});
|
@@ -331,15 +335,6 @@ function permanentlyDeleteObjects(multipleInfo, transaction) {
|
|
331
335
|
});
|
332
336
|
});
|
333
337
|
}
|
334
|
-
function checkError(responses) {
|
335
|
-
var error = _find(responses, function (res) {
|
336
|
-
return res.error;
|
337
|
-
});
|
338
|
-
if (error) {
|
339
|
-
return Promise.reject(error.error);
|
340
|
-
}
|
341
|
-
return Promise.resolve(responses);
|
342
|
-
}
|
343
338
|
function moveObjectsIntoTrash(multipleInfo, transaction, login) {
|
344
339
|
var setAttributesRequests = _map(multipleInfo, function (node) {
|
345
340
|
var restorePath = prepareRestorePath(node.path, node.type);
|
@@ -372,9 +367,13 @@ function moveObjectsIntoTrash(multipleInfo, transaction, login) {
|
|
372
367
|
}
|
373
368
|
};
|
374
369
|
});
|
375
|
-
return executeBatchWithRetries(YTApiId.navigationMoveToTrashRestorePath, setAttributesRequests
|
376
|
-
|
377
|
-
})
|
370
|
+
return wrapBatchPromise(executeBatchWithRetries(YTApiId.navigationMoveToTrashRestorePath, setAttributesRequests, {
|
371
|
+
errorTitle: 'Failed to set restore path'
|
372
|
+
}), 'Failed to set restore path').then(function () {
|
373
|
+
return wrapBatchPromise(executeBatchWithRetries(YTApiId.navigationMoveToTrash, moveRequests, {
|
374
|
+
errorTitle: 'Failed to move the object(s) to trash'
|
375
|
+
}), 'Failed to move the object(s) to trash');
|
376
|
+
}).then(function () {
|
378
377
|
return yt.v3.commitTransaction({
|
379
378
|
transaction_id: transaction
|
380
379
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["yt","React","moment","ypath","Link","Toaster","checkIsTrash","getRawPath","showErrorPopup","navigateParent","updateView","decodeEscapedAbsPath","preparePath","CLOSE_DELETE_OBJECT_POPUP","DELETE_OBJECT","LOAD_REAL_PATH","OPEN_DELETE_OBJECT_POPUP","SUPPRESS_REDIRECT","TOGGLE_PERMANENTLY_DELETE","executeBatchWithRetries","YTApiId","ytApiV3Id","jsx","_jsx","jsxs","_jsxs","toaster","prepareRestorePath","path","type","lastChar","charAt","length","slice","openDeleteModal","item","multipleMode","arguments","undefined","dispatch","getState","inTrash","data","closeDeleteModal","togglePermanentlyDelete","getPath","Promise","resolve","get","navigationGetPath","output_format","$value","$attributes","encode_utf8","getInfo","realPath","parsedRealPath","YPath","create","stringify","name","getKey","all","navigationGetPathInfo","attributes","getRealPath","_ref","REQUEST","then","_ref2","_ref3","_slicedToArray","info","account","resourceUsage","SUCCESS","error","console","add","timeout","title","content","message","actions","label","onClick","FAILURE","getRealPaths","items","requests","_map","_ref4","command","parameters","concat","navigationDelete","responses","_find","res","reject","multipleInfo","output","split","reverse","createDestinationPath","login","unix","deleteCurrentObject","restorePath","_getState","global","navigation","_navigation$modals$de","modals","deleteObject","permanently","v3","remove","destinationPath","set","input_format","move","recursive","source_path","preserve_account","destination_path","children","url","_getState2","_navigation$modals$de2","transaction","currentPath","realPathDecoded","permanentlyDeleteObjects","node","transaction_id","checkError","commitTransaction","moveObjectsIntoTrash","setAttributesRequests","input","moveRequests","navigationMoveToTrashRestorePath","navigationMoveToTrash","deleteObjects","_getState3","_navigation$modals$de3","startTransaction","id"],"sources":["delete-object.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport React from 'react';\nimport moment from 'moment';\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport Link from '../../../../components/Link/Link';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {checkIsTrash, getRawPath} from '../../../../store/selectors/navigation';\nimport {showErrorPopup} from '../../../../utils/utils';\nimport {navigateParent, updateView} from '../../../../store/actions/navigation';\nimport {decodeEscapedAbsPath, preparePath} from '../../../../utils/navigation';\nimport {\n CLOSE_DELETE_OBJECT_POPUP,\n DELETE_OBJECT,\n LOAD_REAL_PATH,\n OPEN_DELETE_OBJECT_POPUP,\n SUPPRESS_REDIRECT,\n TOGGLE_PERMANENTLY_DELETE,\n} from '../../../../constants/navigation/modals/delete-object';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\n\nconst toaster = new Toaster();\n\nfunction prepareRestorePath(path, type) {\n const lastChar = path.charAt(path.length - 1);\n\n if (type === 'link' && lastChar === SUPPRESS_REDIRECT) {\n return path.slice(0, path.length - 1);\n }\n\n return path;\n}\n\nexport function openDeleteModal(item, multipleMode = false) {\n return (dispatch, getState) => {\n const inTrash = checkIsTrash(getState());\n\n dispatch({\n type: OPEN_DELETE_OBJECT_POPUP,\n data: {item, inTrash, multipleMode},\n });\n };\n}\n\nexport function closeDeleteModal() {\n return {\n type: CLOSE_DELETE_OBJECT_POPUP,\n };\n}\n\nexport function togglePermanentlyDelete() {\n return {\n type: TOGGLE_PERMANENTLY_DELETE,\n };\n}\n\nconst getPath = (path, type) => {\n return type === 'link'\n ? Promise.resolve(path)\n : ytApiV3Id.get(YTApiId.navigationGetPath, {\n path: path + '/@path',\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n });\n};\n\nconst getInfo = (realPath) => {\n const parsedRealPath = ypath.YPath.create(realPath, 'absolute');\n const path = parsedRealPath.stringify();\n const name = parsedRealPath.getKey();\n\n return Promise.all([\n path,\n name,\n ytApiV3Id.get(YTApiId.navigationGetPathInfo, {\n path: path + '&/@',\n attributes: ['recursive_resource_usage', 'account'],\n }),\n ]);\n};\n\nexport function getRealPath({path, type}) {\n return (dispatch) => {\n dispatch({type: LOAD_REAL_PATH.REQUEST});\n\n return getPath(path, type)\n .then(getInfo)\n .then(([realPath, name, info]) => {\n const account = ypath.get(info, '/account');\n const resourceUsage = ypath.get(info, '/recursive_resource_usage');\n\n dispatch({\n type: LOAD_REAL_PATH.SUCCESS,\n data: {realPath, name, account, resourceUsage},\n });\n })\n .catch((error) => {\n console.error(error);\n toaster.add({\n type: 'error',\n name: 'real path',\n timeout: 10000,\n title: 'Could not open delete dialog.',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n dispatch({\n type: LOAD_REAL_PATH.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function getRealPaths(items) {\n return (dispatch) => {\n dispatch({type: LOAD_REAL_PATH.REQUEST});\n\n const requests = _.map(items, ({path}) => {\n return {\n command: 'get',\n parameters: {\n path: `${path}&/@`,\n attributes: ['recursive_resource_usage', 'account', 'path', 'type'],\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationDelete, requests)\n .then((responses) => {\n const error = _.find(responses, (res) => res.error);\n if (error) {\n return Promise.reject(error.error);\n }\n const multipleInfo = _.map(responses, (res) => {\n const path = ypath.get(res.output, '/path');\n const type = ypath.get(res.output, '/type');\n const account = ypath.get(res.output, '/account');\n const resourceUsage = ypath.get(res.output, '/recursive_resource_usage');\n const name = path.split('/').reverse()[0];\n\n return {path, account, type, name, resourceUsage};\n });\n\n return dispatch({\n type: LOAD_REAL_PATH.SUCCESS,\n data: {multipleInfo},\n });\n })\n .catch((error) => {\n console.error(error);\n toaster.add({\n type: 'error',\n name: 'real path',\n timeout: 10000,\n title: 'Could not open delete dialog.',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n return dispatch({\n type: LOAD_REAL_PATH.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nconst createDestinationPath = (account, name, login) =>\n `//tmp/trash/by-account/${account}/${login}/${name}_${moment().unix()}`;\n\nfunction deleteCurrentObject(path, restorePath) {\n return (dispatch, getState) => {\n const {global, navigation} = getState();\n const {permanently, name, account} = navigation.modals.deleteObject;\n const {login} = global;\n\n if (permanently) {\n return yt.v3.remove({path}).then(() => {\n toaster.add({\n type: 'success',\n name: 'delete object',\n timeout: 10000,\n title: 'Object has been permanently deleted.',\n });\n });\n } else {\n const destinationPath = createDestinationPath(account, name, login);\n\n return yt.v3\n .set(\n {\n path: preparePath(path) + '/@_restore_path',\n input_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n restorePath,\n )\n .then(() =>\n yt.v3.move({\n recursive: true,\n source_path: path,\n preserve_account: true,\n destination_path: destinationPath,\n }),\n )\n .then(() => {\n toaster.add({\n type: 'success',\n name: 'delete object',\n timeout: 10000,\n title: 'Object deleted',\n content: (\n <div>\n Object has been moved to{' '}\n <Link url={`navigation?path=${destinationPath}`}>trash</Link>\n </div>\n ),\n });\n });\n }\n };\n}\n\nexport function deleteObject() {\n return (dispatch, getState) => {\n const {navigation} = getState();\n const {realPath, item} = navigation.modals.deleteObject;\n const {transaction} = navigation.navigation;\n\n const path = preparePath(realPath, item.type);\n const restorePath = prepareRestorePath(realPath, item.type);\n\n dispatch({type: DELETE_OBJECT.REQUEST});\n\n if (transaction) {\n dispatch({type: CLOSE_DELETE_OBJECT_POPUP});\n\n toaster.add({\n type: 'error',\n name: 'delete object',\n timeout: 10000,\n title: 'Could not delete the object within transaction.',\n });\n }\n\n dispatch(deleteCurrentObject(path, restorePath))\n .then(() => {\n dispatch({type: DELETE_OBJECT.SUCCESS});\n dispatch({type: CLOSE_DELETE_OBJECT_POPUP});\n\n const currentPath = getRawPath(getState());\n const realPathDecoded = decodeEscapedAbsPath(realPath);\n\n if (currentPath === realPathDecoded) {\n dispatch(navigateParent());\n } else {\n dispatch(updateView());\n }\n })\n .catch((error) => {\n console.error(error);\n dispatch({\n type: DELETE_OBJECT.FAILURE,\n data: {error},\n });\n toaster.add({\n type: 'error',\n name: 'delete object',\n timeout: 10000,\n title: 'Could not delete the node.',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n });\n };\n}\n\nfunction permanentlyDeleteObjects(multipleInfo, transaction) {\n const requests = _.map(multipleInfo, (node) => {\n const path = preparePath(node.path, node.type);\n\n return {\n command: 'remove',\n parameters: {path: path, transaction_id: transaction},\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationDelete, requests)\n .then(checkError)\n .then(() => yt.v3.commitTransaction({transaction_id: transaction}))\n .then(() => {\n toaster.add({\n type: 'success',\n name: 'delete objects',\n timeout: 10000,\n title: 'Objects have been permanently deleted.',\n });\n });\n}\n\nfunction checkError(responses) {\n const error = _.find(responses, (res) => res.error);\n if (error) {\n return Promise.reject(error.error);\n }\n\n return Promise.resolve(responses);\n}\n\nfunction moveObjectsIntoTrash(multipleInfo, transaction, login) {\n const setAttributesRequests = _.map(multipleInfo, (node) => {\n const restorePath = prepareRestorePath(node.path, node.type);\n\n return {\n command: 'set',\n parameters: {\n transaction_id: transaction,\n path: preparePath(node.path) + '/@_restore_path',\n input_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n input: restorePath,\n };\n });\n\n const moveRequests = _.map(multipleInfo, (node) => {\n const path = preparePath(node.path, node.type);\n const destinationPath = createDestinationPath(node.account, node.name, login);\n\n return {\n command: 'move',\n parameters: {\n transaction_id: transaction,\n source_path: path,\n recursive: true,\n preserve_account: true,\n destination_path: destinationPath,\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationMoveToTrashRestorePath, setAttributesRequests)\n .then(checkError)\n .then(() => executeBatchWithRetries(YTApiId.navigationMoveToTrash, moveRequests))\n .then(checkError)\n .then(() => yt.v3.commitTransaction({transaction_id: transaction}))\n .then(() => {\n toaster.add({\n type: 'success',\n name: 'delete objects',\n timeout: 10000,\n title: 'Objects deleted',\n content: 'Objects have been moved to the trash',\n });\n });\n}\n\nexport function deleteObjects() {\n return (dispatch, getState) => {\n const {navigation, global} = getState();\n const {transaction} = navigation.navigation;\n const {permanently, multipleInfo} = navigation.modals.deleteObject;\n const {login} = global;\n\n if (transaction) {\n dispatch({type: CLOSE_DELETE_OBJECT_POPUP});\n\n toaster.add({\n type: 'error',\n name: 'delete object',\n timeout: 10000,\n title: 'Could not delete the object within transaction.',\n });\n }\n\n dispatch({type: DELETE_OBJECT.REQUEST});\n\n return yt.v3\n .startTransaction({})\n .then((id) => {\n if (permanently) {\n return permanentlyDeleteObjects(multipleInfo, id);\n }\n\n return moveObjectsIntoTrash(multipleInfo, id, login);\n })\n .then(() => {\n dispatch({type: DELETE_OBJECT.SUCCESS});\n dispatch({type: CLOSE_DELETE_OBJECT_POPUP});\n dispatch(updateView());\n })\n .catch((error) => {\n console.error(error);\n dispatch({\n type: DELETE_OBJECT.FAILURE,\n data: {error},\n });\n toaster.add({\n type: 'error',\n name: 'delete objects',\n timeout: 10000,\n title: 'Could not delete the nodes.',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n });\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["yt","React","moment","ypath","Link","Toaster","checkIsTrash","getRawPath","showErrorPopup","wrapBatchPromise","navigateParent","updateView","decodeEscapedAbsPath","preparePath","CLOSE_DELETE_OBJECT_POPUP","DELETE_OBJECT","LOAD_REAL_PATH","OPEN_DELETE_OBJECT_POPUP","SUPPRESS_REDIRECT","TOGGLE_PERMANENTLY_DELETE","executeBatchWithRetries","YTApiId","ytApiV3Id","jsx","_jsx","jsxs","_jsxs","toaster","prepareRestorePath","path","type","lastChar","charAt","length","slice","openDeleteModal","item","multipleMode","arguments","undefined","dispatch","getState","inTrash","data","closeDeleteModal","togglePermanentlyDelete","getPath","Promise","resolve","get","navigationGetPath","output_format","$value","$attributes","encode_utf8","getInfo","realPath","parsedRealPath","YPath","create","stringify","name","getKey","all","navigationGetPathInfo","attributes","getRealPath","_ref","REQUEST","then","_ref2","_ref3","_slicedToArray","info","account","resourceUsage","SUCCESS","error","console","add","timeout","title","content","message","actions","label","onClick","FAILURE","getRealPaths","items","requests","_map","_ref4","command","parameters","concat","navigationDelete","errorTitle","responses","_find","res","reject","multipleInfo","output","split","reverse","createDestinationPath","login","unix","deleteCurrentObject","restorePath","_getState","global","navigation","_navigation$modals$de","modals","deleteObject","permanently","v3","remove","destinationPath","set","input_format","move","recursive","source_path","preserve_account","destination_path","children","url","_getState2","_navigation$modals$de2","transaction","currentPath","realPathDecoded","permanentlyDeleteObjects","node","transaction_id","commitTransaction","moveObjectsIntoTrash","setAttributesRequests","input","moveRequests","navigationMoveToTrashRestorePath","navigationMoveToTrash","deleteObjects","_getState3","_navigation$modals$de3","startTransaction","id"],"sources":["delete-object.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport React from 'react';\nimport moment from 'moment';\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport Link from '../../../../components/Link/Link';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport {checkIsTrash, getRawPath} from '../../../../store/selectors/navigation';\nimport {showErrorPopup, wrapBatchPromise} from '../../../../utils/utils';\nimport {navigateParent, updateView} from '../../../../store/actions/navigation';\nimport {decodeEscapedAbsPath, preparePath} from '../../../../utils/navigation';\nimport {\n CLOSE_DELETE_OBJECT_POPUP,\n DELETE_OBJECT,\n LOAD_REAL_PATH,\n OPEN_DELETE_OBJECT_POPUP,\n SUPPRESS_REDIRECT,\n TOGGLE_PERMANENTLY_DELETE,\n} from '../../../../constants/navigation/modals/delete-object';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\n\nconst toaster = new Toaster();\n\nfunction prepareRestorePath(path, type) {\n const lastChar = path.charAt(path.length - 1);\n\n if (type === 'link' && lastChar === SUPPRESS_REDIRECT) {\n return path.slice(0, path.length - 1);\n }\n\n return path;\n}\n\nexport function openDeleteModal(item, multipleMode = false) {\n return (dispatch, getState) => {\n const inTrash = checkIsTrash(getState());\n\n dispatch({\n type: OPEN_DELETE_OBJECT_POPUP,\n data: {item, inTrash, multipleMode},\n });\n };\n}\n\nexport function closeDeleteModal() {\n return {\n type: CLOSE_DELETE_OBJECT_POPUP,\n };\n}\n\nexport function togglePermanentlyDelete() {\n return {\n type: TOGGLE_PERMANENTLY_DELETE,\n };\n}\n\nconst getPath = (path, type) => {\n return type === 'link'\n ? Promise.resolve(path)\n : ytApiV3Id.get(YTApiId.navigationGetPath, {\n path: path + '/@path',\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n });\n};\n\nconst getInfo = (realPath) => {\n const parsedRealPath = ypath.YPath.create(realPath, 'absolute');\n const path = parsedRealPath.stringify();\n const name = parsedRealPath.getKey();\n\n return Promise.all([\n path,\n name,\n ytApiV3Id.get(YTApiId.navigationGetPathInfo, {\n path: path + '&/@',\n attributes: ['recursive_resource_usage', 'account'],\n }),\n ]);\n};\n\nexport function getRealPath({path, type}) {\n return (dispatch) => {\n dispatch({type: LOAD_REAL_PATH.REQUEST});\n\n return getPath(path, type)\n .then(getInfo)\n .then(([realPath, name, info]) => {\n const account = ypath.get(info, '/account');\n const resourceUsage = ypath.get(info, '/recursive_resource_usage');\n\n dispatch({\n type: LOAD_REAL_PATH.SUCCESS,\n data: {realPath, name, account, resourceUsage},\n });\n })\n .catch((error) => {\n console.error(error);\n toaster.add({\n type: 'error',\n name: 'real path',\n timeout: 10000,\n title: 'Could not open delete dialog.',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n dispatch({\n type: LOAD_REAL_PATH.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function getRealPaths(items) {\n return (dispatch) => {\n dispatch({type: LOAD_REAL_PATH.REQUEST});\n\n const requests = _.map(items, ({path}) => {\n return {\n command: 'get',\n parameters: {\n path: `${path}&/@`,\n attributes: ['recursive_resource_usage', 'account', 'path', 'type'],\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationDelete, requests, {\n errorTitle: 'Failed to get real paths',\n })\n .then((responses) => {\n const error = _.find(responses, (res) => res.error);\n if (error) {\n return Promise.reject(error.error);\n }\n const multipleInfo = _.map(responses, (res) => {\n const path = ypath.get(res.output, '/path');\n const type = ypath.get(res.output, '/type');\n const account = ypath.get(res.output, '/account');\n const resourceUsage = ypath.get(res.output, '/recursive_resource_usage');\n const name = path.split('/').reverse()[0];\n\n return {path, account, type, name, resourceUsage};\n });\n\n return dispatch({\n type: LOAD_REAL_PATH.SUCCESS,\n data: {multipleInfo},\n });\n })\n .catch((error) => {\n console.error(error);\n toaster.add({\n type: 'error',\n name: 'real path',\n timeout: 10000,\n title: 'Could not open delete dialog.',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n return dispatch({\n type: LOAD_REAL_PATH.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nconst createDestinationPath = (account, name, login) =>\n `//tmp/trash/by-account/${account}/${login}/${name}_${moment().unix()}`;\n\nfunction deleteCurrentObject(path, restorePath) {\n return (dispatch, getState) => {\n const {global, navigation} = getState();\n const {permanently, name, account} = navigation.modals.deleteObject;\n const {login} = global;\n\n if (permanently) {\n return yt.v3.remove({path}).then(() => {\n toaster.add({\n type: 'success',\n name: 'delete object',\n timeout: 10000,\n title: 'Object has been permanently deleted.',\n });\n });\n } else {\n const destinationPath = createDestinationPath(account, name, login);\n\n return yt.v3\n .set(\n {\n path: preparePath(path) + '/@_restore_path',\n input_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n restorePath,\n )\n .then(() =>\n yt.v3.move({\n recursive: true,\n source_path: path,\n preserve_account: true,\n destination_path: destinationPath,\n }),\n )\n .then(() => {\n toaster.add({\n type: 'success',\n name: 'delete object',\n timeout: 10000,\n title: 'Object deleted',\n content: (\n <div>\n Object has been moved to{' '}\n <Link url={`navigation?path=${destinationPath}`}>trash</Link>\n </div>\n ),\n });\n });\n }\n };\n}\n\nexport function deleteObject() {\n return (dispatch, getState) => {\n const {navigation} = getState();\n const {realPath, item} = navigation.modals.deleteObject;\n const {transaction} = navigation.navigation;\n\n const path = preparePath(realPath, item.type);\n const restorePath = prepareRestorePath(realPath, item.type);\n\n dispatch({type: DELETE_OBJECT.REQUEST});\n\n if (transaction) {\n dispatch({type: CLOSE_DELETE_OBJECT_POPUP});\n\n toaster.add({\n type: 'error',\n name: 'delete object',\n timeout: 10000,\n title: 'Could not delete the object within transaction.',\n });\n }\n\n dispatch(deleteCurrentObject(path, restorePath))\n .then(() => {\n dispatch({type: DELETE_OBJECT.SUCCESS});\n dispatch({type: CLOSE_DELETE_OBJECT_POPUP});\n\n const currentPath = getRawPath(getState());\n const realPathDecoded = decodeEscapedAbsPath(realPath);\n\n if (currentPath === realPathDecoded) {\n dispatch(navigateParent());\n } else {\n dispatch(updateView());\n }\n })\n .catch((error) => {\n console.error(error);\n dispatch({\n type: DELETE_OBJECT.FAILURE,\n data: {error},\n });\n toaster.add({\n type: 'error',\n name: 'delete object',\n timeout: 10000,\n title: 'Could not delete the node.',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n });\n };\n}\n\nfunction permanentlyDeleteObjects(multipleInfo, transaction) {\n const requests = _.map(multipleInfo, (node) => {\n const path = preparePath(node.path, node.type);\n\n return {\n command: 'remove',\n parameters: {path: path, transaction_id: transaction},\n };\n });\n\n return wrapBatchPromise(\n executeBatchWithRetries(YTApiId.navigationDelete, requests, {\n errorTitle: 'Failed to delete object(s) permanently',\n }),\n 'Failed to delete object(s) permanently',\n )\n .then(() => yt.v3.commitTransaction({transaction_id: transaction}))\n .then(() => {\n toaster.add({\n type: 'success',\n name: 'delete objects',\n timeout: 10000,\n title: 'Objects have been permanently deleted.',\n });\n });\n}\n\nfunction moveObjectsIntoTrash(multipleInfo, transaction, login) {\n const setAttributesRequests = _.map(multipleInfo, (node) => {\n const restorePath = prepareRestorePath(node.path, node.type);\n\n return {\n command: 'set',\n parameters: {\n transaction_id: transaction,\n path: preparePath(node.path) + '/@_restore_path',\n input_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n },\n input: restorePath,\n };\n });\n\n const moveRequests = _.map(multipleInfo, (node) => {\n const path = preparePath(node.path, node.type);\n const destinationPath = createDestinationPath(node.account, node.name, login);\n\n return {\n command: 'move',\n parameters: {\n transaction_id: transaction,\n source_path: path,\n recursive: true,\n preserve_account: true,\n destination_path: destinationPath,\n },\n };\n });\n\n return wrapBatchPromise(\n executeBatchWithRetries(YTApiId.navigationMoveToTrashRestorePath, setAttributesRequests, {\n errorTitle: 'Failed to set restore path',\n }),\n 'Failed to set restore path',\n )\n .then(() =>\n wrapBatchPromise(\n executeBatchWithRetries(YTApiId.navigationMoveToTrash, moveRequests, {\n errorTitle: 'Failed to move the object(s) to trash',\n }),\n 'Failed to move the object(s) to trash',\n ),\n )\n .then(() => yt.v3.commitTransaction({transaction_id: transaction}))\n .then(() => {\n toaster.add({\n type: 'success',\n name: 'delete objects',\n timeout: 10000,\n title: 'Objects deleted',\n content: 'Objects have been moved to the trash',\n });\n });\n}\n\nexport function deleteObjects() {\n return (dispatch, getState) => {\n const {navigation, global} = getState();\n const {transaction} = navigation.navigation;\n const {permanently, multipleInfo} = navigation.modals.deleteObject;\n const {login} = global;\n\n if (transaction) {\n dispatch({type: CLOSE_DELETE_OBJECT_POPUP});\n\n toaster.add({\n type: 'error',\n name: 'delete object',\n timeout: 10000,\n title: 'Could not delete the object within transaction.',\n });\n }\n\n dispatch({type: DELETE_OBJECT.REQUEST});\n\n return yt.v3\n .startTransaction({})\n .then((id) => {\n if (permanently) {\n return permanentlyDeleteObjects(multipleInfo, id);\n }\n\n return moveObjectsIntoTrash(multipleInfo, id, login);\n })\n .then(() => {\n dispatch({type: DELETE_OBJECT.SUCCESS});\n dispatch({type: CLOSE_DELETE_OBJECT_POPUP});\n dispatch(updateView());\n })\n .catch((error) => {\n console.error(error);\n dispatch({\n type: DELETE_OBJECT.FAILURE,\n data: {error},\n });\n toaster.add({\n type: 'error',\n name: 'delete objects',\n timeout: 10000,\n title: 'Could not delete the nodes.',\n content: error.message,\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n });\n };\n}\n"],"mappings":"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"}
|
@@ -58,18 +58,20 @@ export function dynTablesChangeState(paths, action) {
|
|
58
58
|
}
|
59
59
|
};
|
60
60
|
});
|
61
|
-
return wrapApiPromiseByToaster(executeBatchWithRetries(YTApiId.navigationDynTableState, requests
|
61
|
+
return wrapApiPromiseByToaster(executeBatchWithRetries(YTApiId.navigationDynTableState, requests, {
|
62
|
+
errorTitle: 'Failed to change dynamic table(s) state'
|
63
|
+
}), {
|
62
64
|
toasterName: 'dyn_tables_change_state_to_' + action,
|
63
65
|
successContent: '',
|
64
66
|
isBatch: true,
|
65
67
|
skipSuccessToast: true,
|
66
|
-
|
68
|
+
errorTitle: "Cannot perform ".concat(action, " action")
|
67
69
|
}).then(function () {
|
68
70
|
return wrapApiPromiseByToaster(waitWhileThereIsTransient(paths, action), {
|
69
71
|
toasterName: 'dyn_tables_wait_while_transient_' + action,
|
70
72
|
successContent: "".concat(_capitalize(action), " completed"),
|
71
73
|
isBatch: true,
|
72
|
-
|
74
|
+
errorTitle: "Cannot perform ".concat(action, " action")
|
73
75
|
});
|
74
76
|
}).then(function () {
|
75
77
|
dispatch(updateView());
|
@@ -86,14 +88,16 @@ function waitWhileThereIsTransient(paths, action) {
|
|
86
88
|
};
|
87
89
|
});
|
88
90
|
var res = delayed(function () {
|
89
|
-
return executeBatchWithRetries(YTApiId.navigationGetTabletState, requests
|
91
|
+
return executeBatchWithRetries(YTApiId.navigationGetTabletState, requests, {
|
92
|
+
errorTitle: 'Failed to get tablet state'
|
93
|
+
});
|
90
94
|
}, 3000);
|
91
95
|
return wrapApiPromiseByToaster(res, {
|
92
96
|
toasterName: 'dyn_tables_wait_while_transient_' + action,
|
93
97
|
successContent: "".concat(_capitalize(action), " completed"),
|
94
98
|
skipSuccessToast: true,
|
95
99
|
isBatch: true,
|
96
|
-
|
100
|
+
errorTitle: "Cannot perform ".concat(action, " action")
|
97
101
|
}).then(function (results) {
|
98
102
|
var toRecheck = _reduce(results, function (acc, _ref2, index) {
|
99
103
|
var output = _ref2.output;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["DYN_TABLES_STATE_MODAL_PARTIAL","delayed","wrapApiPromiseByToaster","updateView","DYN_TABLES_ALLOWED_STATES_OF_ACTION","executeBatchWithRetries","YTApiId","showDynTablesStateModalByPaths","paths","action","type","data","showModal","showDynTablesStateModalByNodes","selectedNodes","dispatch","allowedFrom","_reduce","acc","_ref","path","tabletState","push","hideDynTablesStateModal","undefined","dynTablesChangeState","requests","_map","command","concat","parameters","navigationDynTableState","toasterName","successContent","isBatch","skipSuccessToast","
|
1
|
+
{"version":3,"names":["DYN_TABLES_STATE_MODAL_PARTIAL","delayed","wrapApiPromiseByToaster","updateView","DYN_TABLES_ALLOWED_STATES_OF_ACTION","executeBatchWithRetries","YTApiId","showDynTablesStateModalByPaths","paths","action","type","data","showModal","showDynTablesStateModalByNodes","selectedNodes","dispatch","allowedFrom","_reduce","acc","_ref","path","tabletState","push","hideDynTablesStateModal","undefined","dynTablesChangeState","requests","_map","command","concat","parameters","navigationDynTableState","errorTitle","toasterName","successContent","isBatch","skipSuccessToast","then","waitWhileThereIsTransient","_capitalize","res","navigationGetTabletState","results","toRecheck","_ref2","index","output","length","Promise","resolve"],"sources":["dyn-tables-state-modal.ts"],"sourcesContent":["import _ from 'lodash';\nimport {ThunkAction} from 'redux-thunk';\nimport {\n DynTablesStateModalAction,\n DynTablesStateModalState,\n TabletStateAction,\n TabletStateType,\n} from '../../../../store/reducers/navigation/modals/dyn-tables-state-modal';\nimport {RootState} from '../../../../store/reducers';\nimport {DYN_TABLES_STATE_MODAL_PARTIAL} from '../../../../constants/navigation/modals/dyn-tables-state-modal';\nimport {delayed, wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {updateView} from '../index';\nimport {DYN_TABLES_ALLOWED_STATES_OF_ACTION} from '../../../selectors/navigation/content/map-node-ts';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\n\ntype DynTablesStateThunkAction = ThunkAction<any, RootState, any, DynTablesStateModalAction>;\n\nexport function showDynTablesStateModalByPaths(\n paths: Array<string>,\n action: Required<DynTablesStateModalState>['action'],\n): DynTablesStateModalAction {\n return {\n type: DYN_TABLES_STATE_MODAL_PARTIAL,\n data: {paths, action, showModal: true},\n };\n}\n\nexport function showDynTablesStateModalByNodes(\n action: Required<DynTablesStateModalState>['action'],\n selectedNodes: Array<{path: string; tabletState: TabletStateType}>,\n): DynTablesStateThunkAction {\n return (dispatch) => {\n const allowedFrom = DYN_TABLES_ALLOWED_STATES_OF_ACTION[action];\n const paths = _.reduce(\n selectedNodes,\n (acc, {path, tabletState}) => {\n if (tabletState && allowedFrom[tabletState]) {\n acc.push(path);\n }\n return acc;\n },\n [] as Array<string>,\n );\n\n dispatch({\n type: DYN_TABLES_STATE_MODAL_PARTIAL,\n data: {paths, action, showModal: true},\n });\n };\n}\n\nexport function hideDynTablesStateModal() {\n return {\n type: DYN_TABLES_STATE_MODAL_PARTIAL,\n data: {paths: [], action: undefined, showModal: false},\n };\n}\n\nexport function dynTablesChangeState(\n paths: Array<string>,\n action: TabletStateAction,\n): DynTablesStateThunkAction {\n return (dispatch) => {\n const requests = _.map(paths, (path) => {\n return {\n command: `${action}_table` as const,\n parameters: {path},\n };\n });\n\n return wrapApiPromiseByToaster(\n executeBatchWithRetries(YTApiId.navigationDynTableState, requests, {\n errorTitle: 'Failed to change dynamic table(s) state',\n }),\n {\n toasterName: 'dyn_tables_change_state_to_' + action,\n successContent: '',\n isBatch: true,\n skipSuccessToast: true,\n errorTitle: `Cannot perform ${action} action`,\n },\n )\n .then(() => {\n return wrapApiPromiseByToaster(waitWhileThereIsTransient(paths, action), {\n toasterName: 'dyn_tables_wait_while_transient_' + action,\n successContent: `${_.capitalize(action)} completed`,\n isBatch: true,\n errorTitle: `Cannot perform ${action} action`,\n });\n })\n .then(() => {\n dispatch(updateView());\n });\n };\n}\n\nfunction waitWhileThereIsTransient(paths: Array<string>, action: TabletStateAction): Promise<void> {\n const requests = _.map(paths, (path) => {\n return {\n command: 'get' as const,\n parameters: {path: `${path}/@tablet_state`},\n };\n });\n\n const res = delayed(\n () =>\n executeBatchWithRetries(YTApiId.navigationGetTabletState, requests, {\n errorTitle: 'Failed to get tablet state',\n }),\n 3000,\n ) as any;\n\n return wrapApiPromiseByToaster<Array<{output: string}>>(res, {\n toasterName: 'dyn_tables_wait_while_transient_' + action,\n successContent: `${_.capitalize(action)} completed`,\n skipSuccessToast: true,\n isBatch: true,\n errorTitle: `Cannot perform ${action} action`,\n }).then((results) => {\n const toRecheck = _.reduce(\n results,\n (acc, {output}, index) => {\n if (output === 'transient') {\n acc.push(paths[index]);\n }\n return acc;\n },\n [] as typeof paths,\n );\n\n if (toRecheck.length) {\n return waitWhileThereIsTransient(toRecheck, action);\n }\n return Promise.resolve();\n });\n}\n"],"mappings":"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"}
|
@@ -13,18 +13,10 @@ import CancelHelper from '../../../../utils/cancel-helper';
|
|
13
13
|
import { executeBatchWithRetries } from '../../execute-batch';
|
14
14
|
import { YTApiId } from '../../../../rum/rum-wrap-api';
|
15
15
|
import { rumLogError } from '../../../../rum/rum-counter';
|
16
|
-
import {
|
16
|
+
import { wrapBatchPromise } from '../../../../utils/utils';
|
17
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
18
18
|
var requests = new CancelHelper();
|
19
19
|
var toaster = new Toaster();
|
20
|
-
function checkError(responses) {
|
21
|
-
var _splitBatchResults = splitBatchResults(responses),
|
22
|
-
error = _splitBatchResults.error;
|
23
|
-
if (error) {
|
24
|
-
return Promise.reject(error);
|
25
|
-
}
|
26
|
-
return Promise.resolve(responses);
|
27
|
-
}
|
28
20
|
function moveObjectIntoDirectory(from, to, _ref) {
|
29
21
|
var preserve_account = _ref.preserve_account;
|
30
22
|
var parts = from.split('/');
|
@@ -84,9 +76,10 @@ function moveObjects(items, to, _ref3) {
|
|
84
76
|
}
|
85
77
|
};
|
86
78
|
});
|
87
|
-
return executeBatchWithRetries(YTApiId.navigationMove, moveRequests, {
|
79
|
+
return wrapBatchPromise(executeBatchWithRetries(YTApiId.navigationMove, moveRequests, {
|
80
|
+
errorTitle: 'Failed to move the object(s)',
|
88
81
|
saveCancelSourceCb: requests.saveCancelToken
|
89
|
-
})
|
82
|
+
}), 'Failed to move the object(s)').then(function () {
|
90
83
|
return yt.v3.commitTransaction({
|
91
84
|
transaction_id: id
|
92
85
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","yt","Toaster","Link","MOVE_OBJECT","showErrorInModal","HIDE_ERROR","prepareDestinationPath","preparePath","CancelHelper","executeBatchWithRetries","YTApiId","rumLogError","splitBatchResults","jsx","_jsx","requests","toaster","checkError","responses","_splitBatchResults","error","Promise","reject","resolve","moveObjectIntoDirectory","from","to","_ref","preserve_account","parts","split","name","length","v3","move","parameters","source_path","destination_path","cancellation","saveCancelToken","moveObjectWithRename","_ref2","moveSingleObject","options","lastChar","charAt","exists","path","concat","then","exist","moveObjects","items","_ref3","_items","_slicedToArray","startTransaction","id","moveRequests","_map","node","command","transaction_id","titleUnquoted","navigationMove","saveCancelSourceCb","commitTransaction","err","abortTransaction","resolveEntityPath","entityId","get","output_format","$value","$attributes","encode_utf8","e","moveObject","objectPath","movedPath","onSuccess","multipleMode","_ref4","dispatch","type","REQUEST","value","JSON","parse","result","SUCCESS","add","autoHiding","title","content","url","children","code","codes","CANCELLED","FAILURE","action","abortRequests","removeAllRequests"],"sources":["move-object.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {MOVE_OBJECT} from '../../../../constants/navigation/modals/move-object';\nimport {showErrorInModal} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {HIDE_ERROR} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {prepareDestinationPath, preparePath} from '../../../../utils/navigation';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\nimport {rumLogError} from '../../../../rum/rum-counter';\nimport {BatchResultsItem} from '../../../../../shared/yt-types';\nimport {splitBatchResults} from '../../../../utils/utils';\nimport {Dispatch} from 'redux';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\nfunction checkError(responses: Array<BatchResultsItem>) {\n const {error} = splitBatchResults(responses);\n if (error) {\n return Promise.reject(error);\n }\n\n return Promise.resolve(responses);\n}\n\ninterface MoveOptions {\n preserve_account?: boolean;\n}\n\nfunction moveObjectIntoDirectory(from: string, to: string, {preserve_account}: MoveOptions) {\n const parts = from.split('/');\n const name = parts[parts.length - 1];\n return yt.v3.move({\n parameters: {\n source_path: preparePath(from),\n destination_path: prepareDestinationPath(to, name),\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction moveObjectWithRename(from: string, to: string, {preserve_account}: MoveOptions) {\n return yt.v3.move({\n parameters: {\n source_path: preparePath(from),\n destination_path: to,\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction moveSingleObject(from: string, to: string, options: MoveOptions): Promise<string> {\n const lastChar = to.charAt(to.length - 1);\n\n if (lastChar === '/') {\n return moveObjectIntoDirectory(from, to, options);\n }\n\n return yt.v3\n .exists({parameters: {path: `${to}&`}, cancellation: requests.saveCancelToken})\n .then((exist: boolean) => {\n return exist\n ? moveObjectIntoDirectory(from, to, options)\n : moveObjectWithRename(from, to, options);\n });\n}\n\nfunction moveObjects(\n items: Array<{path: string; titleUnquoted: string}>,\n to: string,\n {preserve_account}: MoveOptions,\n) {\n if (items.length === 1) {\n const [{path}] = items;\n return moveSingleObject(path, to, {preserve_account});\n }\n\n return yt.v3.startTransaction({}).then((id: string) => {\n const moveRequests = _.map(items, (node) => {\n return {\n command: 'move' as const,\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: prepareDestinationPath(to, node.titleUnquoted),\n preserve_account,\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationMove, moveRequests, {\n saveCancelSourceCb: requests.saveCancelToken,\n })\n .then(checkError)\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3.abortTransaction({transaction_id: id}).then(() => Promise.reject(err)),\n );\n });\n}\n\nfunction resolveEntityPath(entityId: string): Promise<string> {\n try {\n return yt.v3.get({\n path: `#${entityId}/@path`,\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n });\n } catch (e) {\n rumLogError(e as Error);\n }\n return Promise.resolve('');\n}\n\nexport function moveObject(\n objectPath: string,\n movedPath: string,\n onSuccess: (destFullPath: string) => void,\n multipleMode: boolean,\n items: Array<{path: string; titleUnquoted: string}>,\n {preserve_account}: MoveOptions,\n) {\n return (dispatch: Dispatch) => {\n dispatch({type: MOVE_OBJECT.REQUEST});\n\n return Promise.resolve()\n .then(() =>\n multipleMode\n ? moveObjects(items, movedPath, {preserve_account}).then(() => movedPath)\n : moveSingleObject(objectPath, movedPath, {preserve_account}).then((value) =>\n resolveEntityPath(JSON.parse(value)),\n ),\n )\n .then((result) => {\n dispatch({type: MOVE_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess(result);\n }\n\n toaster.add({\n name: 'move',\n autoHiding: 10000,\n type: 'success',\n title: `Object${multipleMode ? 's' : ''} was successfully moved`,\n content: <Link url={`navigation?path=${result}`}>{result}</Link>,\n });\n return result;\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: MOVE_OBJECT.CANCELLED,\n });\n } else {\n dispatch({type: MOVE_OBJECT.FAILURE});\n\n const action = showErrorInModal(error);\n\n dispatch(action);\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function abortRequests() {\n return (dispatch: Dispatch) => {\n requests.removeAllRequests();\n\n dispatch({type: HIDE_ERROR});\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","yt","Toaster","Link","MOVE_OBJECT","showErrorInModal","HIDE_ERROR","prepareDestinationPath","preparePath","CancelHelper","executeBatchWithRetries","YTApiId","rumLogError","wrapBatchPromise","jsx","_jsx","requests","toaster","moveObjectIntoDirectory","from","to","_ref","preserve_account","parts","split","name","length","v3","move","parameters","source_path","destination_path","cancellation","saveCancelToken","moveObjectWithRename","_ref2","moveSingleObject","options","lastChar","charAt","exists","path","concat","then","exist","moveObjects","items","_ref3","_items","_slicedToArray","startTransaction","id","moveRequests","_map","node","command","transaction_id","titleUnquoted","navigationMove","errorTitle","saveCancelSourceCb","commitTransaction","err","abortTransaction","Promise","reject","resolveEntityPath","entityId","get","output_format","$value","$attributes","encode_utf8","e","resolve","moveObject","objectPath","movedPath","onSuccess","multipleMode","_ref4","dispatch","type","REQUEST","value","JSON","parse","result","SUCCESS","add","autoHiding","title","content","url","children","error","code","codes","CANCELLED","FAILURE","action","abortRequests","removeAllRequests"],"sources":["move-object.tsx"],"sourcesContent":["import React from 'react';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {Toaster} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {MOVE_OBJECT} from '../../../../constants/navigation/modals/move-object';\nimport {showErrorInModal} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {HIDE_ERROR} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {prepareDestinationPath, preparePath} from '../../../../utils/navigation';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\nimport {rumLogError} from '../../../../rum/rum-counter';\nimport {wrapBatchPromise} from '../../../../utils/utils';\nimport {Dispatch} from 'redux';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\ninterface MoveOptions {\n preserve_account?: boolean;\n}\n\nfunction moveObjectIntoDirectory(from: string, to: string, {preserve_account}: MoveOptions) {\n const parts = from.split('/');\n const name = parts[parts.length - 1];\n return yt.v3.move({\n parameters: {\n source_path: preparePath(from),\n destination_path: prepareDestinationPath(to, name),\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction moveObjectWithRename(from: string, to: string, {preserve_account}: MoveOptions) {\n return yt.v3.move({\n parameters: {\n source_path: preparePath(from),\n destination_path: to,\n preserve_account,\n },\n cancellation: requests.saveCancelToken,\n });\n}\n\nfunction moveSingleObject(from: string, to: string, options: MoveOptions): Promise<string> {\n const lastChar = to.charAt(to.length - 1);\n\n if (lastChar === '/') {\n return moveObjectIntoDirectory(from, to, options);\n }\n\n return yt.v3\n .exists({parameters: {path: `${to}&`}, cancellation: requests.saveCancelToken})\n .then((exist: boolean) => {\n return exist\n ? moveObjectIntoDirectory(from, to, options)\n : moveObjectWithRename(from, to, options);\n });\n}\n\nfunction moveObjects(\n items: Array<{path: string; titleUnquoted: string}>,\n to: string,\n {preserve_account}: MoveOptions,\n) {\n if (items.length === 1) {\n const [{path}] = items;\n return moveSingleObject(path, to, {preserve_account});\n }\n\n return yt.v3.startTransaction({}).then((id: string) => {\n const moveRequests = _.map(items, (node) => {\n return {\n command: 'move' as const,\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: prepareDestinationPath(to, node.titleUnquoted),\n preserve_account,\n },\n };\n });\n\n return wrapBatchPromise(\n executeBatchWithRetries(YTApiId.navigationMove, moveRequests, {\n errorTitle: 'Failed to move the object(s)',\n saveCancelSourceCb: requests.saveCancelToken,\n }),\n 'Failed to move the object(s)',\n )\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3.abortTransaction({transaction_id: id}).then(() => Promise.reject(err)),\n );\n });\n}\n\nfunction resolveEntityPath(entityId: string): Promise<string> {\n try {\n return yt.v3.get({\n path: `#${entityId}/@path`,\n output_format: {\n $value: 'json',\n $attributes: {\n encode_utf8: 'false',\n },\n },\n });\n } catch (e) {\n rumLogError(e as Error);\n }\n return Promise.resolve('');\n}\n\nexport function moveObject(\n objectPath: string,\n movedPath: string,\n onSuccess: (destFullPath: string) => void,\n multipleMode: boolean,\n items: Array<{path: string; titleUnquoted: string}>,\n {preserve_account}: MoveOptions,\n) {\n return (dispatch: Dispatch) => {\n dispatch({type: MOVE_OBJECT.REQUEST});\n\n return Promise.resolve()\n .then(() =>\n multipleMode\n ? moveObjects(items, movedPath, {preserve_account}).then(() => movedPath)\n : moveSingleObject(objectPath, movedPath, {preserve_account}).then((value) =>\n resolveEntityPath(JSON.parse(value)),\n ),\n )\n .then((result) => {\n dispatch({type: MOVE_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess(result);\n }\n\n toaster.add({\n name: 'move',\n autoHiding: 10000,\n type: 'success',\n title: `Object${multipleMode ? 's' : ''} was successfully moved`,\n content: <Link url={`navigation?path=${result}`}>{result}</Link>,\n });\n return result;\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: MOVE_OBJECT.CANCELLED,\n });\n } else {\n dispatch({type: MOVE_OBJECT.FAILURE});\n\n const action = showErrorInModal(error);\n\n dispatch(action);\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function abortRequests() {\n return (dispatch: Dispatch) => {\n requests.removeAllRequests();\n\n dispatch({type: HIDE_ERROR});\n };\n}\n"],"mappings":"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"}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import _map from "lodash/map";
|
2
|
-
import _find from "lodash/find";
|
3
2
|
import { OPEN_RESTORE_POPUP, RESTORE_OBJECT } from '../../../../constants/navigation/modals/restore-object';
|
4
3
|
import { openEditingPopup, showErrorInModal } from '../../../../store/actions/navigation/modals/path-editing-popup';
|
5
4
|
import { findCorrectObjectName } from '../../../../utils/navigation/restore-object';
|
@@ -7,7 +6,7 @@ import { NetworkCode } from '../../../../constants/navigation/modals/path-editin
|
|
7
6
|
import { Toaster } from '@gravity-ui/uikit';
|
8
7
|
import { preparePath } from '../../../../utils/navigation';
|
9
8
|
import Link from '../../../../components/Link/Link';
|
10
|
-
import { showErrorPopup } from '../../../../utils/utils';
|
9
|
+
import { showErrorPopup, wrapBatchPromise } from '../../../../utils/utils';
|
11
10
|
import { updateView } from '../index';
|
12
11
|
import ypath from '../../../../common/thor/ypath';
|
13
12
|
import yt from '@ytsaurus/javascript-wrapper/lib/yt';
|
@@ -17,15 +16,6 @@ import { YTApiId } from '../../../../rum/rum-wrap-api';
|
|
17
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
18
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
19
18
|
var toaster = new Toaster();
|
20
|
-
function checkError(responses) {
|
21
|
-
var error = _find(responses, function (res) {
|
22
|
-
return res.error;
|
23
|
-
});
|
24
|
-
if (error) {
|
25
|
-
return Promise.reject(error.error);
|
26
|
-
}
|
27
|
-
return Promise.resolve(responses);
|
28
|
-
}
|
29
19
|
export function restoreObjects(items) {
|
30
20
|
return function (dispatch) {
|
31
21
|
dispatch({
|
@@ -43,7 +33,9 @@ export function restoreObjects(items) {
|
|
43
33
|
}
|
44
34
|
};
|
45
35
|
});
|
46
|
-
return executeBatchWithRetries(YTApiId.navigationRestorePath, requests
|
36
|
+
return wrapBatchPromise(executeBatchWithRetries(YTApiId.navigationRestorePath, requests, {
|
37
|
+
errorTitle: 'Failed to get restore path'
|
38
|
+
}), 'Failed to get restore path').then(function () {
|
47
39
|
return yt.v3.commitTransaction({
|
48
40
|
transaction_id: id
|
49
41
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["OPEN_RESTORE_POPUP","RESTORE_OBJECT","openEditingPopup","showErrorInModal","findCorrectObjectName","NetworkCode","Toaster","preparePath","Link","showErrorPopup","updateView","ypath","yt","React","executeBatchWithRetries","YTApiId","jsx","_jsx","jsxs","_jsxs","toaster","checkError","responses","error","_find","res","Promise","reject","resolve","restoreObjects","items","dispatch","type","REQUEST","v3","startTransaction","then","id","requests","_map","node","restorePath","getValue","command","parameters","transaction_id","source_path","path","destination_path","navigationRestorePath","commitTransaction","err","abortTransaction","SUCCESS","add","name","timeout","title","content","FAILURE","autoHiding","message","actions","label","onClick","restoreObject","objectPath","onSuccess","getState","move","children","url","concat","isModalOpen","navigation","modals","popupVisible","action","code","EXIST","correctRestorePath","INCORRECT_PATH","openAction","errorAction"],"sources":["restore-object.js"],"sourcesContent":["import {\n OPEN_RESTORE_POPUP,\n RESTORE_OBJECT,\n} from '../../../../constants/navigation/modals/restore-object';\nimport {\n openEditingPopup,\n showErrorInModal,\n} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {findCorrectObjectName} from '../../../../utils/navigation/restore-object';\nimport {NetworkCode} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {preparePath} from '../../../../utils/navigation';\nimport Link from '../../../../components/Link/Link';\nimport {showErrorPopup} from '../../../../utils/utils';\nimport {updateView} from '../index';\nimport ypath from '../../../../common/thor/ypath';\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport React from 'react';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\n\nconst toaster = new Toaster();\n\nfunction checkError(responses) {\n const error = _.find(responses, (res) => res.error);\n if (error) {\n return Promise.reject(error.error);\n }\n\n return Promise.resolve(responses);\n}\n\nexport function restoreObjects(items) {\n return (dispatch) => {\n dispatch({type: RESTORE_OBJECT.REQUEST});\n return yt.v3\n .startTransaction({})\n .then((id) => {\n const requests = _.map(items, (node) => {\n const restorePath = ypath.getValue(node, '/@_restore_path');\n return {\n command: 'move',\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: restorePath,\n },\n };\n });\n\n return executeBatchWithRetries(YTApiId.navigationRestorePath, requests)\n .then(checkError)\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3\n .abortTransaction({transaction_id: id})\n .then(() => Promise.reject(err)),\n );\n })\n .then(() => {\n dispatch({type: RESTORE_OBJECT.SUCCESS});\n dispatch(updateView());\n\n toaster.add({\n type: 'success',\n name: 'restore objects',\n timeout: 10000,\n title: 'Objects restored',\n content: 'Objects have been successfully restored',\n });\n })\n .catch((err) => {\n dispatch({type: RESTORE_OBJECT.FAILURE});\n\n toaster.add({\n name: 'restore objects',\n type: 'error',\n autoHiding: false,\n title: 'Could not restore objects.',\n content: err?.message || 'Oops, something went wrong',\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n });\n };\n}\n\nexport function restoreObject(objectPath, restorePath, onSuccess) {\n return (dispatch, getState) => {\n dispatch({type: RESTORE_OBJECT.REQUEST});\n\n return yt.v3\n .move({\n source_path: preparePath(objectPath),\n destination_path: restorePath,\n })\n .then(() => {\n dispatch({type: RESTORE_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess(objectPath, restorePath);\n }\n\n toaster.add({\n type: 'success',\n name: 'restore object',\n timeout: 10000,\n title: 'Object restored',\n content: (\n <div>\n Object has been successfully{' '}\n <Link url={`navigation?path=${restorePath}`}>restored</Link>\n </div>\n ),\n });\n })\n .catch((error) => {\n dispatch({type: RESTORE_OBJECT.FAILURE});\n\n const isModalOpen = getState().navigation.modals.restoreObject.popupVisible;\n\n if (isModalOpen) {\n const action = showErrorInModal(error);\n\n dispatch(action);\n } else {\n switch (error.code) {\n case NetworkCode.EXIST: {\n findCorrectObjectName(restorePath)\n .then((correctRestorePath) => {\n const action = openEditingPopup(\n objectPath,\n correctRestorePath,\n OPEN_RESTORE_POPUP,\n );\n\n dispatch(action);\n })\n .catch(showErrorPopup);\n break;\n }\n case NetworkCode.INCORRECT_PATH: {\n const openAction = openEditingPopup(\n objectPath,\n restorePath,\n OPEN_RESTORE_POPUP,\n );\n const errorAction = showErrorInModal(error);\n\n dispatch(errorAction);\n dispatch(openAction);\n break;\n }\n default:\n showErrorPopup(error);\n break;\n }\n }\n });\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["OPEN_RESTORE_POPUP","RESTORE_OBJECT","openEditingPopup","showErrorInModal","findCorrectObjectName","NetworkCode","Toaster","preparePath","Link","showErrorPopup","wrapBatchPromise","updateView","ypath","yt","React","executeBatchWithRetries","YTApiId","jsx","_jsx","jsxs","_jsxs","toaster","restoreObjects","items","dispatch","type","REQUEST","v3","startTransaction","then","id","requests","_map","node","restorePath","getValue","command","parameters","transaction_id","source_path","path","destination_path","navigationRestorePath","errorTitle","commitTransaction","err","abortTransaction","Promise","reject","SUCCESS","add","name","timeout","title","content","FAILURE","autoHiding","message","actions","label","onClick","restoreObject","objectPath","onSuccess","getState","move","children","url","concat","error","isModalOpen","navigation","modals","popupVisible","action","code","EXIST","correctRestorePath","INCORRECT_PATH","openAction","errorAction"],"sources":["restore-object.js"],"sourcesContent":["import {\n OPEN_RESTORE_POPUP,\n RESTORE_OBJECT,\n} from '../../../../constants/navigation/modals/restore-object';\nimport {\n openEditingPopup,\n showErrorInModal,\n} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {findCorrectObjectName} from '../../../../utils/navigation/restore-object';\nimport {NetworkCode} from '../../../../constants/navigation/modals/path-editing-popup';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {preparePath} from '../../../../utils/navigation';\nimport Link from '../../../../components/Link/Link';\nimport {showErrorPopup, wrapBatchPromise} from '../../../../utils/utils';\nimport {updateView} from '../index';\nimport ypath from '../../../../common/thor/ypath';\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport React from 'react';\nimport _ from 'lodash';\nimport {executeBatchWithRetries} from '../../execute-batch';\nimport {YTApiId} from '../../../../rum/rum-wrap-api';\n\nconst toaster = new Toaster();\n\nexport function restoreObjects(items) {\n return (dispatch) => {\n dispatch({type: RESTORE_OBJECT.REQUEST});\n return yt.v3\n .startTransaction({})\n .then((id) => {\n const requests = _.map(items, (node) => {\n const restorePath = ypath.getValue(node, '/@_restore_path');\n return {\n command: 'move',\n parameters: {\n transaction_id: id,\n source_path: preparePath(node.path),\n destination_path: restorePath,\n },\n };\n });\n\n return wrapBatchPromise(\n executeBatchWithRetries(YTApiId.navigationRestorePath, requests, {\n errorTitle: 'Failed to get restore path',\n }),\n 'Failed to get restore path',\n )\n .then(() => yt.v3.commitTransaction({transaction_id: id}))\n .catch((err) =>\n yt.v3\n .abortTransaction({transaction_id: id})\n .then(() => Promise.reject(err)),\n );\n })\n .then(() => {\n dispatch({type: RESTORE_OBJECT.SUCCESS});\n dispatch(updateView());\n\n toaster.add({\n type: 'success',\n name: 'restore objects',\n timeout: 10000,\n title: 'Objects restored',\n content: 'Objects have been successfully restored',\n });\n })\n .catch((err) => {\n dispatch({type: RESTORE_OBJECT.FAILURE});\n\n toaster.add({\n name: 'restore objects',\n type: 'error',\n autoHiding: false,\n title: 'Could not restore objects.',\n content: err?.message || 'Oops, something went wrong',\n actions: [{label: ' view', onClick: () => showErrorPopup(err)}],\n });\n });\n };\n}\n\nexport function restoreObject(objectPath, restorePath, onSuccess) {\n return (dispatch, getState) => {\n dispatch({type: RESTORE_OBJECT.REQUEST});\n\n return yt.v3\n .move({\n source_path: preparePath(objectPath),\n destination_path: restorePath,\n })\n .then(() => {\n dispatch({type: RESTORE_OBJECT.SUCCESS});\n\n if (typeof onSuccess === 'function') {\n onSuccess(objectPath, restorePath);\n }\n\n toaster.add({\n type: 'success',\n name: 'restore object',\n timeout: 10000,\n title: 'Object restored',\n content: (\n <div>\n Object has been successfully{' '}\n <Link url={`navigation?path=${restorePath}`}>restored</Link>\n </div>\n ),\n });\n })\n .catch((error) => {\n dispatch({type: RESTORE_OBJECT.FAILURE});\n\n const isModalOpen = getState().navigation.modals.restoreObject.popupVisible;\n\n if (isModalOpen) {\n const action = showErrorInModal(error);\n\n dispatch(action);\n } else {\n switch (error.code) {\n case NetworkCode.EXIST: {\n findCorrectObjectName(restorePath)\n .then((correctRestorePath) => {\n const action = openEditingPopup(\n objectPath,\n correctRestorePath,\n OPEN_RESTORE_POPUP,\n );\n\n dispatch(action);\n })\n .catch(showErrorPopup);\n break;\n }\n case NetworkCode.INCORRECT_PATH: {\n const openAction = openEditingPopup(\n objectPath,\n restorePath,\n OPEN_RESTORE_POPUP,\n );\n const errorAction = showErrorInModal(error);\n\n dispatch(errorAction);\n dispatch(openAction);\n break;\n }\n default:\n showErrorPopup(error);\n break;\n }\n }\n });\n };\n}\n"],"mappings":"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"}
|
@@ -33,7 +33,7 @@ function getTransactions(rowLocks) {
|
|
33
33
|
return ytApiV3Id.executeBatch(YTApiId.navigationTransactions, {
|
34
34
|
requests: requests
|
35
35
|
}).then(function (data) {
|
36
|
-
var _splitBatchResults = splitBatchResults(data),
|
36
|
+
var _splitBatchResults = splitBatchResults(data, 'Failed to get transactions'),
|
37
37
|
error = _splitBatchResults.error,
|
38
38
|
transactions = _splitBatchResults.results;
|
39
39
|
if (error) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["yt","CancelHelper","prepareRequest","getPath","getTransaction","GET_LOCKS","IS_PARTIAL","MAX_TRANSACTIONS_REQUESTS","YTApiId","ytApiV3Id","splitBatchResults","requests","prepareData","locks","transactions","arguments","length","undefined","_map","lock","index","item","_objectSpread","transaction","id","transaction_id","getTransactions","rowLocks","dispatch","_slice","command","parameters","path","attributes","executeBatch","navigationTransactions","then","data","_splitBatchResults","error","results","Promise","reject","isPartial","type","SUCCESS","FAILURE","getLocks","getState","state","REQUEST","removeAllRequests","get","navigationLocks","cancellation","saveCancelToken","code","codes","CANCELLED","abortAndReset","setLocksModeFilter","modeFilter","PARTITION"],"sources":["locks.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {prepareRequest} from '../../../../utils/navigation';\nimport {getPath, getTransaction} from '../../../../store/selectors/navigation';\nimport {\n GET_LOCKS,\n IS_PARTIAL,\n MAX_TRANSACTIONS_REQUESTS,\n} from '../../../../constants/navigation/tabs/locks';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../../utils/utils';\n\nconst requests = new CancelHelper();\n\nfunction prepareData(locks, transactions = []) {\n return _.map(locks, (lock, index) => {\n const item = {...lock};\n item.transaction = transactions[index] || {};\n item.transaction.id = item.transaction_id;\n item.index = index;\n\n return item;\n });\n}\n\nfunction getTransactions(rowLocks) {\n return (dispatch) => {\n const requests = _.map(_.slice(rowLocks, 0, MAX_TRANSACTIONS_REQUESTS), (lock) => {\n return {\n command: 'get',\n parameters: {\n path: '//sys/transactions/' + lock.transaction_id + '/@',\n attributes: ['title', 'start_time', 'operation_id'],\n },\n };\n });\n\n return ytApiV3Id\n .executeBatch(YTApiId.navigationTransactions, {requests})\n .then((data) => {\n const {error, results: transactions} = splitBatchResults(data);\n if (error) {\n return Promise.reject(error);\n }\n\n const locks = prepareData(rowLocks, transactions);\n const isPartial = locks.length > MAX_TRANSACTIONS_REQUESTS;\n\n dispatch({\n type: IS_PARTIAL,\n data: {isPartial},\n });\n\n dispatch({\n type: GET_LOCKS.SUCCESS,\n data: {locks},\n });\n })\n .catch((error) => {\n dispatch({\n type: GET_LOCKS.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function getLocks() {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n const transaction = getTransaction(state);\n\n dispatch({type: GET_LOCKS.REQUEST});\n requests.removeAllRequests();\n\n ytApiV3Id\n .get(YTApiId.navigationLocks, {\n parameters: prepareRequest('/@locks', {path, transaction}),\n cancellation: requests.saveCancelToken,\n })\n .then((locks) => dispatch(getTransactions(locks)))\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_LOCKS.CANCELLED});\n } else {\n dispatch({\n type: GET_LOCKS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: GET_LOCKS.CANCELLED});\n };\n}\n\nexport function setLocksModeFilter(modeFilter) {\n return {type: GET_LOCKS.PARTITION, data: {modeFilter}};\n}\n"],"mappings":";;;AAAA,OAAOA,EAAE,MAAM,qCAAqC;AAEpD,OAAOC,YAAY,MAAM,iCAAiC;AAC1D,SAAQC,cAAc,QAAO,8BAA8B;AAC3D,SAAQC,OAAO,EAAEC,cAAc,QAAO,wCAAwC;AAC9E,SACIC,SAAS,EACTC,UAAU,EACVC,yBAAyB,QACtB,6CAA6C;AACpD,SAAQC,OAAO,EAAEC,SAAS,QAAO,8BAA8B;AAC/D,SAAQC,iBAAiB,QAAO,yBAAyB;AAEzD,IAAMC,QAAQ,GAAG,IAAIV,YAAY,CAAC,CAAC;AAEnC,SAASW,WAAWA,CAACC,KAAK,EAAqB;EAAA,IAAnBC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EACzC,OAAOG,IAAA,CAAML,KAAK,EAAE,UAACM,IAAI,EAAEC,KAAK,EAAK;IACjC,IAAMC,IAAI,GAAAC,aAAA,KAAOH,IAAI,CAAC;IACtBE,IAAI,CAACE,WAAW,GAAGT,YAAY,CAACM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5CC,IAAI,CAACE,WAAW,CAACC,EAAE,GAAGH,IAAI,CAACI,cAAc;IACzCJ,IAAI,CAACD,KAAK,GAAGA,KAAK;IAElB,OAAOC,IAAI;EACf,CAAC,CAAC;AACN;AAEA,SAASK,eAAeA,CAACC,QAAQ,EAAE;EAC/B,OAAO,UAACC,QAAQ,EAAK;IACjB,IAAMjB,QAAQ,GAAGO,IAAA,CAAMW,MAAA,CAAQF,QAAQ,EAAE,CAAC,EAAEpB,yBAAyB,CAAC,EAAE,UAACY,IAAI,EAAK;MAC9E,OAAO;QACHW,OAAO,EAAE,KAAK;QACdC,UAAU,EAAE;UACRC,IAAI,EAAE,qBAAqB,GAAGb,IAAI,CAACM,cAAc,GAAG,IAAI;UACxDQ,UAAU,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc;QACtD;MACJ,CAAC;IACL,CAAC,CAAC;IAEF,OAAOxB,SAAS,CACXyB,YAAY,CAAC1B,OAAO,CAAC2B,sBAAsB,EAAE;MAACxB,QAAQ,EAARA;IAAQ,CAAC,CAAC,CACxDyB,IAAI,CAAC,UAACC,IAAI,EAAK;MACZ,IAAAC,kBAAA,GAAuC5B,iBAAiB,
|
1
|
+
{"version":3,"names":["yt","CancelHelper","prepareRequest","getPath","getTransaction","GET_LOCKS","IS_PARTIAL","MAX_TRANSACTIONS_REQUESTS","YTApiId","ytApiV3Id","splitBatchResults","requests","prepareData","locks","transactions","arguments","length","undefined","_map","lock","index","item","_objectSpread","transaction","id","transaction_id","getTransactions","rowLocks","dispatch","_slice","command","parameters","path","attributes","executeBatch","navigationTransactions","then","data","_splitBatchResults","error","results","Promise","reject","isPartial","type","SUCCESS","FAILURE","getLocks","getState","state","REQUEST","removeAllRequests","get","navigationLocks","cancellation","saveCancelToken","code","codes","CANCELLED","abortAndReset","setLocksModeFilter","modeFilter","PARTITION"],"sources":["locks.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport _ from 'lodash';\nimport CancelHelper from '../../../../utils/cancel-helper';\nimport {prepareRequest} from '../../../../utils/navigation';\nimport {getPath, getTransaction} from '../../../../store/selectors/navigation';\nimport {\n GET_LOCKS,\n IS_PARTIAL,\n MAX_TRANSACTIONS_REQUESTS,\n} from '../../../../constants/navigation/tabs/locks';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {splitBatchResults} from '../../../../utils/utils';\n\nconst requests = new CancelHelper();\n\nfunction prepareData(locks, transactions = []) {\n return _.map(locks, (lock, index) => {\n const item = {...lock};\n item.transaction = transactions[index] || {};\n item.transaction.id = item.transaction_id;\n item.index = index;\n\n return item;\n });\n}\n\nfunction getTransactions(rowLocks) {\n return (dispatch) => {\n const requests = _.map(_.slice(rowLocks, 0, MAX_TRANSACTIONS_REQUESTS), (lock) => {\n return {\n command: 'get',\n parameters: {\n path: '//sys/transactions/' + lock.transaction_id + '/@',\n attributes: ['title', 'start_time', 'operation_id'],\n },\n };\n });\n\n return ytApiV3Id\n .executeBatch(YTApiId.navigationTransactions, {requests})\n .then((data) => {\n const {error, results: transactions} = splitBatchResults(\n data,\n 'Failed to get transactions',\n );\n if (error) {\n return Promise.reject(error);\n }\n\n const locks = prepareData(rowLocks, transactions);\n const isPartial = locks.length > MAX_TRANSACTIONS_REQUESTS;\n\n dispatch({\n type: IS_PARTIAL,\n data: {isPartial},\n });\n\n dispatch({\n type: GET_LOCKS.SUCCESS,\n data: {locks},\n });\n })\n .catch((error) => {\n dispatch({\n type: GET_LOCKS.FAILURE,\n data: {error},\n });\n });\n };\n}\n\nexport function getLocks() {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n const transaction = getTransaction(state);\n\n dispatch({type: GET_LOCKS.REQUEST});\n requests.removeAllRequests();\n\n ytApiV3Id\n .get(YTApiId.navigationLocks, {\n parameters: prepareRequest('/@locks', {path, transaction}),\n cancellation: requests.saveCancelToken,\n })\n .then((locks) => dispatch(getTransactions(locks)))\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_LOCKS.CANCELLED});\n } else {\n dispatch({\n type: GET_LOCKS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function abortAndReset() {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: GET_LOCKS.CANCELLED});\n };\n}\n\nexport function setLocksModeFilter(modeFilter) {\n return {type: GET_LOCKS.PARTITION, data: {modeFilter}};\n}\n"],"mappings":"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"}
|
@@ -22,6 +22,7 @@ import { getSchedulingPoolsMapByName } from '../../selectors/scheduling/scheduli
|
|
22
22
|
import { isSupportedSchedulingChildrenByPool } from '../../../store/selectors/thor/support';
|
23
23
|
import CancelHelper, { isCancelled } from '../../../utils/cancel-helper';
|
24
24
|
import { flattenAttributes } from '../../../utils/scheduling/scheduling';
|
25
|
+
import { UIBatchError } from '../../../utils/errors/ui-error';
|
25
26
|
var cancelHelper = new CancelHelper();
|
26
27
|
var POOL_FIELDS_TO_LOAD = ['accumulated_resource_ratio_volume', 'accumulated_resource_volume', 'demand_ratio', 'detailed_fair_share', 'dominant_resource', 'estimated_burst_usage_duration_sec', 'fair_share_ratio', 'fifo_index', 'integral_guarantee_type', 'is_ephemeral', 'max_operation_count', 'max_running_operation_count', 'max_share_ratio', 'min_share_ratio', 'mode', 'operation_count', 'parent', 'pool_operation_count', 'child_pool_count', 'resource_demand', 'resource_limits', 'resource_usage', 'promised_fair_share_resources', 'running_operation_count', 'specified_burst_guarantee_resources', 'specified_resource_flow', 'starvation_status', 'starving', 'strong_guarantee_resources', 'usage_ratio', 'weight', 'abc'];
|
27
28
|
var POOL_TREE_GET_ATTRS = ['integral_guarantees', 'weight', 'max_operation_count', 'max_running_operation_count', 'strong_guarantee_resources', 'resource_limits', 'forbid_immediate_operations', 'create_ephemeral_subpools', 'fifo_sort_parameters', 'config', 'folder_id'];
|
@@ -172,9 +173,7 @@ function loadExpandedOperationsAndPools(tree) {
|
|
172
173
|
poolsResults = _ref6[1],
|
173
174
|
poolsChildrenResults = _ref6[2],
|
174
175
|
poolsCypressData = _ref6[3];
|
175
|
-
var error =
|
176
|
-
message: 'Failed to load expanded pools'
|
177
|
-
};
|
176
|
+
var error = new UIBatchError('Failed to load expanded pools');
|
178
177
|
var _splitBatchResults = splitBatchResults(operationsResults, error),
|
179
178
|
operations = _splitBatchResults.results;
|
180
179
|
var rawOperations = _reduce(operations, function (acc, data) {
|