@ytsaurus/ui 1.14.0 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/build/cjs/server/controllers/home.js +1 -1
  2. package/build/cjs/server/controllers/home.js.map +1 -1
  3. package/build/cjs/ui/store/actions/components/node/node.js +0 -1
  4. package/build/cjs/ui/store/actions/components/node/node.js.map +1 -1
  5. package/build/cjs/ui/store/actions/execute-batch.js +5 -2
  6. package/build/cjs/ui/store/actions/execute-batch.js.map +1 -1
  7. package/build/cjs/ui/store/actions/job/competitors.js +6 -3
  8. package/build/cjs/ui/store/actions/job/competitors.js.map +1 -1
  9. package/build/cjs/ui/store/actions/job/general.js +6 -3
  10. package/build/cjs/ui/store/actions/job/general.js.map +1 -1
  11. package/build/cjs/ui/store/actions/job/specification.js +8 -5
  12. package/build/cjs/ui/store/actions/job/specification.js.map +1 -1
  13. package/build/cjs/ui/store/actions/navigation/content/file.js +8 -5
  14. package/build/cjs/ui/store/actions/navigation/content/file.js.map +1 -1
  15. package/build/cjs/ui/store/actions/navigation/content/table/table.js +17 -11
  16. package/build/cjs/ui/store/actions/navigation/content/table/table.js.map +1 -1
  17. package/build/cjs/ui/store/actions/navigation/content/transaction.js +5 -2
  18. package/build/cjs/ui/store/actions/navigation/content/transaction.js.map +1 -1
  19. package/build/cjs/ui/store/actions/navigation/modals/copy-object.js +19 -10
  20. package/build/cjs/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
  21. package/build/cjs/ui/store/actions/navigation/modals/create-directory.js +7 -4
  22. package/build/cjs/ui/store/actions/navigation/modals/create-directory.js.map +1 -1
  23. package/build/cjs/ui/store/actions/navigation/modals/move-object.js +19 -10
  24. package/build/cjs/ui/store/actions/navigation/modals/move-object.js.map +1 -1
  25. package/build/cjs/ui/store/actions/navigation/tabs/tablet-errors.js +15 -12
  26. package/build/cjs/ui/store/actions/navigation/tabs/tablet-errors.js.map +1 -1
  27. package/build/cjs/ui/store/actions/operations/jobs.js +8 -2
  28. package/build/cjs/ui/store/actions/operations/jobs.js.map +1 -1
  29. package/build/cjs/ui/store/actions/operations/list.js +4 -2
  30. package/build/cjs/ui/store/actions/operations/list.js.map +1 -1
  31. package/build/esm/server/controllers/home.js +1 -1
  32. package/build/esm/server/controllers/home.js.map +1 -1
  33. package/build/esm/ui/store/actions/components/node/node.js +0 -1
  34. package/build/esm/ui/store/actions/components/node/node.js.map +1 -1
  35. package/build/esm/ui/store/actions/execute-batch.js +5 -2
  36. package/build/esm/ui/store/actions/execute-batch.js.map +1 -1
  37. package/build/esm/ui/store/actions/job/competitors.js +6 -3
  38. package/build/esm/ui/store/actions/job/competitors.js.map +1 -1
  39. package/build/esm/ui/store/actions/job/general.js +6 -3
  40. package/build/esm/ui/store/actions/job/general.js.map +1 -1
  41. package/build/esm/ui/store/actions/job/specification.js +8 -5
  42. package/build/esm/ui/store/actions/job/specification.js.map +1 -1
  43. package/build/esm/ui/store/actions/navigation/content/file.js +8 -5
  44. package/build/esm/ui/store/actions/navigation/content/file.js.map +1 -1
  45. package/build/esm/ui/store/actions/navigation/content/table/table.js +17 -11
  46. package/build/esm/ui/store/actions/navigation/content/table/table.js.map +1 -1
  47. package/build/esm/ui/store/actions/navigation/content/transaction.js +5 -2
  48. package/build/esm/ui/store/actions/navigation/content/transaction.js.map +1 -1
  49. package/build/esm/ui/store/actions/navigation/modals/copy-object.js +19 -10
  50. package/build/esm/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
  51. package/build/esm/ui/store/actions/navigation/modals/create-directory.js +7 -4
  52. package/build/esm/ui/store/actions/navigation/modals/create-directory.js.map +1 -1
  53. package/build/esm/ui/store/actions/navigation/modals/move-object.js +19 -10
  54. package/build/esm/ui/store/actions/navigation/modals/move-object.js.map +1 -1
  55. package/build/esm/ui/store/actions/navigation/tabs/tablet-errors.js +15 -12
  56. package/build/esm/ui/store/actions/navigation/tabs/tablet-errors.js.map +1 -1
  57. package/build/esm/ui/store/actions/operations/jobs.js +8 -2
  58. package/build/esm/ui/store/actions/operations/jobs.js.map +1 -1
  59. package/build/esm/ui/store/actions/operations/list.js +4 -2
  60. package/build/esm/ui/store/actions/operations/list.js.map +1 -1
  61. package/dist/public/build/assets-manifest.json +4 -4
  62. package/dist/public/build/js/main.652b0208.js +3 -0
  63. package/dist/public/build/js/{main.64fccb27.js.map → main.652b0208.js.map} +1 -1
  64. package/dist/public/build/manifest.json +2 -2
  65. package/dist/server/controllers/home.js +1 -1
  66. package/package.json +3 -4
  67. package/dist/public/build/js/main.64fccb27.js +0 -3
  68. /package/dist/public/build/js/{main.64fccb27.js.LICENSE.txt → main.652b0208.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_cancelHelper","_interopRequireWildcard","require","_navigation","_tabletErrors","_rumWrapApi","_utils","_replicatedTable","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_interopRequireDefault","obj","requests","CancelHelper","getTabletErrors","dispatch","getState","state","path","getPath","type","GET_TABLET_ERRORS","REQUEST","loadReplicas","ytApiV4Id","YTApiId","navigationTabletErrors","parameters","cancellation","removeAllAndSave","then","tabletErrors","SUCCESS","data","tabletErrorsPath","error","isCancelled","CANCELLED","FAILURE","loadTabletErrorsCount","options","wrapApiPromiseByToaster","ytApiV3Id","executeBatch","navigationTypeDynamic","command","concat","saveCancelTokenSource","toasterName","skipSuccessToast","_ref","_ref2","_slicedToArray","output","dynamic","loadTabletErrorsCountOfDynamicTable","loadTabletErrorsCountOfReplicatedTable","undefined","_ref3","navigationTabletErrorsCountDynTable","errorsCount","updateTabletErrrosCount","_ref4","navigationTabletErrorsCountReplicatedTable","attributes","count","_reduce","acc","item","_item$error_count","error_count","errorsCountPath","GET_TABLET_ERRORS_COUNT"],"sources":["tablet-errors.ts"],"sourcesContent":["import _ from 'lodash';\nimport CancelHelper, {isCancelled} from '../../../../utils/cancel-helper';\nimport {getPath} from '../../../../store/selectors/navigation';\nimport {\n GET_TABLET_ERRORS,\n GET_TABLET_ERRORS_COUNT,\n} from '../../../../constants/navigation/tabs/tablet-errors';\nimport {YTApiId, ytApiV3Id, ytApiV4Id} from '../../../../rum/rum-wrap-api';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../../store/reducers';\nimport {TabletErrorsAction} from '../../../../store/reducers/navigation/tabs/tablet-errors';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {loadReplicas} from '../content/replicated-table';\nimport {CancelTokenSource} from 'axios';\n\nconst requests = new CancelHelper();\n\ntype TabletErrorsThunkAction<T = unknown> = ThunkAction<T, RootState, unknown, TabletErrorsAction>;\n\nexport function getTabletErrors(): TabletErrorsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n\n dispatch({type: GET_TABLET_ERRORS.REQUEST});\n\n dispatch(loadReplicas());\n\n ytApiV4Id\n .getTabletErrors(YTApiId.navigationTabletErrors, {\n parameters: {path},\n cancellation: requests.removeAllAndSave,\n })\n .then((tabletErrors) => {\n dispatch({\n type: GET_TABLET_ERRORS.SUCCESS,\n data: {tabletErrors, tabletErrorsPath: path},\n });\n })\n .catch((error) => {\n if (isCancelled(error)) {\n dispatch({type: GET_TABLET_ERRORS.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLET_ERRORS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\ninterface LoadTabletErrorOptions {\n path: string;\n saveCancelTokenSource: (tokenSource: CancelTokenSource) => void;\n}\n\nexport function loadTabletErrorsCount(options: LoadTabletErrorOptions): TabletErrorsThunkAction {\n const {path} = options;\n return (dispatch) => {\n return wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(\n YTApiId.navigationTypeDynamic,\n {\n requests: [\n {\n command: 'get',\n parameters: {path: `${path}/@type`},\n },\n {\n command: 'get',\n parameters: {path: `${path}/@dynamic`},\n },\n ],\n },\n options.saveCancelTokenSource,\n ),\n {\n toasterName: 'get_type_dynamic',\n skipSuccessToast: true,\n },\n ).then(([{output: type}, {output: dynamic}]) => {\n if (dynamic && type === 'table') {\n return dispatch(loadTabletErrorsCountOfDynamicTable(options));\n }\n\n if (type === 'replicated_table') {\n return dispatch(loadTabletErrorsCountOfReplicatedTable(options));\n }\n\n return undefined;\n });\n };\n}\n\nfunction loadTabletErrorsCountOfDynamicTable({\n path,\n saveCancelTokenSource,\n}: LoadTabletErrorOptions): TabletErrorsThunkAction {\n return (dispatch) => {\n return wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.navigationTabletErrorsCountDynTable, {\n parameters: {\n path: `${path}/@tablet_error_count`,\n },\n cancellation: saveCancelTokenSource,\n }),\n {\n toasterName: 'tablet_erros_count',\n skipSuccessToast: true,\n },\n ).then((errorsCount: number) => {\n dispatch(updateTabletErrrosCount(errorsCount, path));\n });\n };\n}\n\nfunction loadTabletErrorsCountOfReplicatedTable({\n path,\n saveCancelTokenSource,\n}: LoadTabletErrorOptions): TabletErrorsThunkAction {\n return (dispatch) => {\n return wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.navigationTabletErrorsCountReplicatedTable, {\n parameters: {\n path: `${path}/@replicas`,\n attributes: ['error_count'],\n },\n cancellation: saveCancelTokenSource,\n }),\n {\n toasterName: 'tablet_errors_count',\n skipSuccessToast: true,\n },\n ).then((data: Record<string, {error_count?: number}>) => {\n const count = _.reduce(data, (acc, item) => acc + (item.error_count ?? 0), 0);\n dispatch(updateTabletErrrosCount(count, path));\n });\n };\n}\n\nexport function updateTabletErrrosCount(\n errorsCount: number,\n errorsCountPath: string,\n): TabletErrorsAction {\n return {type: GET_TABLET_ERRORS_COUNT, data: {errorsCountPath, errorsCount}};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_cancelHelper","_interopRequireWildcard","require","_navigation","_tabletErrors","_rumWrapApi","_utils","_replicatedTable","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_interopRequireDefault","obj","requests","CancelHelper","getTabletErrors","dispatch","getState","state","path","getPath","type","GET_TABLET_ERRORS","REQUEST","loadReplicas","ytApiV4Id","YTApiId","navigationTabletErrors","parameters","cancellation","removeAllAndSave","then","tabletErrors","SUCCESS","data","tabletErrorsPath","error","isCancelled","CANCELLED","FAILURE","loadTabletErrorsCount","options","wrapApiPromiseByToaster","ytApiV3Id","executeBatch","navigationTypeDynamic","command","concat","saveCancelTokenSource","toasterName","skipSuccessToast","_ref","_ref2","_slicedToArray","output","dynamic","loadTabletErrorsCountOfDynamicTable","loadTabletErrorsCountOfReplicatedTable","undefined","_ref3","navigationTabletErrorsCountDynTable","errorsCount","updateTabletErrrosCount","_ref4","navigationTabletErrorsCountReplicatedTable","attributes","count","_reduce","acc","item","_item$error_count","error_count","errorsCountPath","GET_TABLET_ERRORS_COUNT"],"sources":["tablet-errors.ts"],"sourcesContent":["import _ from 'lodash';\nimport CancelHelper, {isCancelled} from '../../../../utils/cancel-helper';\nimport {getPath} from '../../../../store/selectors/navigation';\nimport {\n GET_TABLET_ERRORS,\n GET_TABLET_ERRORS_COUNT,\n} from '../../../../constants/navigation/tabs/tablet-errors';\nimport {YTApiId, ytApiV3Id, ytApiV4Id} from '../../../../rum/rum-wrap-api';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../../store/reducers';\nimport {TabletErrorsAction} from '../../../../store/reducers/navigation/tabs/tablet-errors';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {loadReplicas} from '../content/replicated-table';\nimport {CancelTokenSource} from 'axios';\n\nconst requests = new CancelHelper();\n\ntype TabletErrorsThunkAction<T = unknown> = ThunkAction<T, RootState, unknown, TabletErrorsAction>;\n\nexport function getTabletErrors(): TabletErrorsThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const path = getPath(state);\n\n dispatch({type: GET_TABLET_ERRORS.REQUEST});\n\n dispatch(loadReplicas());\n\n ytApiV4Id\n .getTabletErrors(YTApiId.navigationTabletErrors, {\n parameters: {path},\n cancellation: requests.removeAllAndSave,\n })\n .then((tabletErrors) => {\n dispatch({\n type: GET_TABLET_ERRORS.SUCCESS,\n data: {tabletErrors, tabletErrorsPath: path},\n });\n })\n .catch((error) => {\n if (isCancelled(error)) {\n dispatch({type: GET_TABLET_ERRORS.CANCELLED});\n } else {\n dispatch({\n type: GET_TABLET_ERRORS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\ninterface LoadTabletErrorOptions {\n path: string;\n saveCancelTokenSource: (tokenSource: CancelTokenSource) => void;\n}\n\nexport function loadTabletErrorsCount(options: LoadTabletErrorOptions): TabletErrorsThunkAction {\n const {path} = options;\n return (dispatch) => {\n return wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.navigationTypeDynamic, {\n parameters: {\n requests: [\n {\n command: 'get',\n parameters: {path: `${path}/@type`},\n },\n {\n command: 'get',\n parameters: {path: `${path}/@dynamic`},\n },\n ],\n },\n cancellation: options.saveCancelTokenSource,\n }),\n {\n toasterName: 'get_type_dynamic',\n skipSuccessToast: true,\n },\n ).then(([{output: type}, {output: dynamic}]) => {\n if (dynamic && type === 'table') {\n return dispatch(loadTabletErrorsCountOfDynamicTable(options));\n }\n\n if (type === 'replicated_table') {\n return dispatch(loadTabletErrorsCountOfReplicatedTable(options));\n }\n\n return undefined;\n });\n };\n}\n\nfunction loadTabletErrorsCountOfDynamicTable({\n path,\n saveCancelTokenSource,\n}: LoadTabletErrorOptions): TabletErrorsThunkAction {\n return (dispatch) => {\n return wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.navigationTabletErrorsCountDynTable, {\n parameters: {\n path: `${path}/@tablet_error_count`,\n },\n cancellation: saveCancelTokenSource,\n }),\n {\n toasterName: 'tablet_erros_count',\n skipSuccessToast: true,\n },\n ).then((errorsCount: number) => {\n dispatch(updateTabletErrrosCount(errorsCount, path));\n });\n };\n}\n\nfunction loadTabletErrorsCountOfReplicatedTable({\n path,\n saveCancelTokenSource,\n}: LoadTabletErrorOptions): TabletErrorsThunkAction {\n return (dispatch) => {\n return wrapApiPromiseByToaster(\n ytApiV3Id.get(YTApiId.navigationTabletErrorsCountReplicatedTable, {\n parameters: {\n path: `${path}/@replicas`,\n attributes: ['error_count'],\n },\n cancellation: saveCancelTokenSource,\n }),\n {\n toasterName: 'tablet_errors_count',\n skipSuccessToast: true,\n },\n ).then((data: Record<string, {error_count?: number}>) => {\n const count = _.reduce(data, (acc, item) => acc + (item.error_count ?? 0), 0);\n dispatch(updateTabletErrrosCount(count, path));\n });\n };\n}\n\nexport function updateTabletErrrosCount(\n errorsCount: number,\n errorsCountPath: string,\n): TabletErrorsAction {\n return {type: GET_TABLET_ERRORS_COUNT, data: {errorsCountPath, errorsCount}};\n}\n"],"mappings":"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"}
@@ -39,7 +39,10 @@ function getJob() {
39
39
  var state = getState();
40
40
  var clusterConfig = (0, _global.getCurrentClusterConfig)(state);
41
41
  requests.removeAllRequests();
42
- return _rumWrapApi.ytApiV3.getJob((0, _utils.getJobRequestParameters)(state), requests.saveCancelToken).then(function (job) {
42
+ return _rumWrapApi.ytApiV3.getJob({
43
+ parameters: (0, _utils.getJobRequestParameters)(state),
44
+ cancellation: requests.saveCancelToken
45
+ }).then(function (job) {
43
46
  dispatch({
44
47
  type: _jobs.GET_JOB.SUCCESS,
45
48
  data: {
@@ -70,7 +73,10 @@ function getCompetitiveJobs() {
70
73
  var state = getState();
71
74
  var clusterConfig = (0, _global.getCurrentClusterConfig)(state);
72
75
  requests.removeAllRequests();
73
- return _rumWrapApi.ytApiV3.listJobs((0, _utils.getCompetitiveJobsRequestParameters)(state), requests.saveCancelToken).then(function (_ref) {
76
+ return _rumWrapApi.ytApiV3.listJobs({
77
+ parameters: (0, _utils.getCompetitiveJobsRequestParameters)(state),
78
+ cancellation: requests.saveCancelToken
79
+ }).then(function (_ref) {
74
80
  var jobs = _ref.jobs;
75
81
  dispatch({
76
82
  type: _jobs.GET_COMPETITIVE_JOBS.SUCCESS,
@@ -1 +1 @@
1
- {"version":3,"names":["_yt","_interopRequireDefault","require","_ypath","_jobs","_tables","_utils","_list","_global","_index","_ytApi","_selectors","_cancelHelper","_interopRequireWildcard","_rumWrapApi","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","requests","CancelHelper","getOperation","state","operations","detail","operation","getJob","dispatch","getState","clusterConfig","getCurrentClusterConfig","removeAllRequests","ytApiV3","getJobRequestParameters","saveCancelToken","then","job","type","GET_JOB","SUCCESS","data","operationId","$value","getCompetitiveJobs","error","code","yt","codes","CANCELLED","FAILURE","listJobs","getCompetitiveJobsRequestParameters","_ref","jobs","GET_COMPETITIVE_JOBS","getJobsCanceler","getJobs","showCompetitiveJobs","getShowCompetitiveJobs","GET_JOBS","REQUEST","command","parameters","getJobsRequestParameters","_objectSpread","path","USE_CACHE","USE_MAX_SIZE","ytApiV3Id","executeBatch","YTApiId","operationGetJobs","cancellation","removeAllAndSave","_ref2","_ref3","_slicedToArray","addresses","Promise","reject","_jobs$output","output","items","errors","state_counts","type_counts","jobsErrors","ypath","getValue","UPDATE_FILTER_COUNTERS","stateCounters","typeCounters","isCancelled","setFilter","name","value","UPDATE_FILTER","resetCompetitiveJobs","RESET_COMPETITIVE_JOBS","updateFilteredAttributes","attributeNames","filtered","forEach","isFiltered","indexOf","gotoJobsPage","OPERATIONS_PAGE","FIRST","updateFilter","isStateFilter","useFinishTime","useStartTime","changeColumnSortOrder","tableId","OPERATION_JOBS_TABLE_ID","columnName","asc","showInputPaths","jobId","id","SHOW_INPUT_PATHS","getJobInputPaths","job_id","output_format","TYPED_OUTPUT_FORMAT","inputPaths","hideInputPaths","HIDE_INPUT_PATHS","where","_getState$operations$","pagination","limit","offset","NEXT","PREV","Math","max","UPDATE_OFFSET"],"sources":["jobs.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport ypath from '../../../common/thor/ypath';\nimport {\n GET_COMPETITIVE_JOBS,\n GET_JOB,\n GET_JOBS,\n HIDE_INPUT_PATHS,\n OPERATION_JOBS_TABLE_ID,\n RESET_COMPETITIVE_JOBS,\n SHOW_INPUT_PATHS,\n UPDATE_FILTER,\n UPDATE_FILTER_COUNTERS,\n UPDATE_OFFSET,\n} from '../../../constants/operations/jobs';\nimport {changeColumnSortOrder} from '../../../store/actions/tables';\nimport {\n getCompetitiveJobsRequestParameters,\n getJobRequestParameters,\n getJobsRequestParameters,\n} from '../../../store/actions/operations/utils';\nimport {OPERATIONS_PAGE} from '../../../constants/operations/list';\nimport {getCurrentClusterConfig} from '../../../store/selectors/global';\nimport {TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {USE_CACHE, USE_MAX_SIZE} from '../../../../shared/constants/yt-api';\n\nimport {getShowCompetitiveJobs} from '../../../pages/operations/selectors';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\n\nconst requests = new CancelHelper();\n\nconst getOperation = (state) => state.operations.detail.operation;\n\nexport function getJob() {\n return (dispatch, getState) => {\n const state = getState();\n const clusterConfig = getCurrentClusterConfig(state);\n\n requests.removeAllRequests();\n return ytApiV3\n .getJob(getJobRequestParameters(state), requests.saveCancelToken)\n .then((job) => {\n dispatch({\n type: GET_JOB.SUCCESS,\n data: {\n job,\n clusterConfig,\n operationId: getOperation(state).$value,\n },\n });\n dispatch(getCompetitiveJobs());\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_JOB.CANCELLED});\n } else {\n dispatch({\n type: GET_JOB.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function getCompetitiveJobs() {\n return (dispatch, getState) => {\n const state = getState();\n const clusterConfig = getCurrentClusterConfig(state);\n\n requests.removeAllRequests();\n return ytApiV3\n .listJobs(getCompetitiveJobsRequestParameters(state), requests.saveCancelToken)\n .then(({jobs}) => {\n dispatch({\n type: GET_COMPETITIVE_JOBS.SUCCESS,\n data: {\n jobs,\n clusterConfig,\n operationId: getOperation(state).$value,\n },\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_COMPETITIVE_JOBS.CANCELLED});\n } else {\n dispatch({\n type: GET_COMPETITIVE_JOBS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nconst getJobsCanceler = new CancelHelper();\n\nexport function getJobs() {\n return (dispatch, getState) => {\n const state = getState();\n const showCompetitiveJobs = getShowCompetitiveJobs(state);\n\n if (showCompetitiveJobs) {\n return dispatch(getJob());\n }\n\n dispatch({\n type: GET_JOBS.REQUEST,\n });\n\n const requests = [\n {\n command: 'list_jobs',\n parameters: getJobsRequestParameters(state),\n },\n {\n command: 'list',\n parameters: {\n path: '//sys/cluster_nodes',\n ...USE_CACHE,\n ...USE_MAX_SIZE,\n },\n },\n ];\n\n const clusterConfig = getCurrentClusterConfig(state);\n\n return ytApiV3Id\n .executeBatch(YTApiId.operationGetJobs, {\n parameters: {requests},\n cancellation: getJobsCanceler.removeAllAndSave,\n })\n .then(([jobs, addresses]) => {\n if (jobs.error) {\n return Promise.reject(jobs.error);\n }\n\n const {jobs: items, errors, state_counts, type_counts} = jobs.output;\n\n dispatch({\n type: GET_JOBS.SUCCESS,\n data: {\n jobs: items,\n jobsErrors: errors,\n addresses: ypath.getValue(addresses.output),\n operationId: getOperation(state).$value,\n clusterConfig,\n },\n });\n\n dispatch({\n type: UPDATE_FILTER_COUNTERS,\n data: {\n stateCounters: state_counts,\n typeCounters: type_counts,\n },\n });\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: GET_JOBS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setFilter(name, value) {\n return {\n type: UPDATE_FILTER,\n data: {name, value},\n };\n}\n\nexport function resetCompetitiveJobs() {\n return {\n type: RESET_COMPETITIVE_JOBS,\n };\n}\n\nexport function updateFilteredAttributes(attributeNames, filtered) {\n return (dispatch) => {\n attributeNames.forEach((name) => {\n const isFiltered = filtered.indexOf(name) !== -1;\n dispatch(setFilter(name, isFiltered));\n });\n dispatch(gotoJobsPage(OPERATIONS_PAGE.FIRST));\n };\n}\n\nexport function updateFilter(name, value) {\n return (dispatch) => {\n const isStateFilter = name === 'state';\n const useFinishTime = value === 'completed' || value === 'failed' || value === 'aborted';\n const useStartTime = value === 'all' || value === 'running';\n\n if (isStateFilter && useFinishTime) {\n dispatch(\n changeColumnSortOrder({\n tableId: OPERATION_JOBS_TABLE_ID,\n columnName: 'finish_time',\n asc: false,\n }),\n );\n } else if (isStateFilter && useStartTime) {\n dispatch(\n changeColumnSortOrder({\n tableId: OPERATION_JOBS_TABLE_ID,\n columnName: 'start_time',\n asc: true,\n }),\n );\n }\n\n if (name === 'jobId' && !value) {\n dispatch(resetCompetitiveJobs());\n }\n\n dispatch(setFilter(name, value));\n dispatch(gotoJobsPage(OPERATIONS_PAGE.FIRST));\n };\n}\n\nexport function showInputPaths(job) {\n return (dispatch) => {\n const {id: jobId} = job;\n\n dispatch({\n type: SHOW_INPUT_PATHS.REQUEST,\n });\n\n ytApiV3\n .getJobInputPaths({\n job_id: jobId,\n output_format: TYPED_OUTPUT_FORMAT,\n })\n .then((inputPaths) => {\n dispatch({\n type: SHOW_INPUT_PATHS.SUCCESS,\n data: inputPaths,\n });\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SHOW_INPUT_PATHS.FAILURE,\n data: error,\n });\n }\n });\n };\n}\n\nexport function hideInputPaths() {\n return {\n type: HIDE_INPUT_PATHS,\n };\n}\n\nexport function gotoJobsPage(where) {\n return (dispatch, getState) => {\n const {limit, offset} = getState().operations.jobs.pagination;\n\n let data = null;\n switch (where) {\n case OPERATIONS_PAGE.FIRST:\n data = 0;\n break;\n case OPERATIONS_PAGE.NEXT:\n data = offset + limit;\n break;\n case OPERATIONS_PAGE.PREV:\n data = Math.max(0, offset - limit);\n if (data === offset) {\n return;\n }\n break;\n default:\n return;\n }\n\n dispatch({\n type: UPDATE_OFFSET,\n data,\n });\n dispatch(getJobs());\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_yt","_interopRequireDefault","require","_ypath","_jobs","_tables","_utils","_list","_global","_index","_ytApi","_selectors","_cancelHelper","_interopRequireWildcard","_rumWrapApi","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","requests","CancelHelper","getOperation","state","operations","detail","operation","getJob","dispatch","getState","clusterConfig","getCurrentClusterConfig","removeAllRequests","ytApiV3","parameters","getJobRequestParameters","cancellation","saveCancelToken","then","job","type","GET_JOB","SUCCESS","data","operationId","$value","getCompetitiveJobs","error","code","yt","codes","CANCELLED","FAILURE","listJobs","getCompetitiveJobsRequestParameters","_ref","jobs","GET_COMPETITIVE_JOBS","getJobsCanceler","getJobs","showCompetitiveJobs","getShowCompetitiveJobs","GET_JOBS","REQUEST","command","getJobsRequestParameters","_objectSpread","path","USE_CACHE","USE_MAX_SIZE","ytApiV3Id","executeBatch","YTApiId","operationGetJobs","removeAllAndSave","_ref2","_ref3","_slicedToArray","addresses","Promise","reject","_jobs$output","output","items","errors","state_counts","type_counts","jobsErrors","ypath","getValue","UPDATE_FILTER_COUNTERS","stateCounters","typeCounters","isCancelled","setFilter","name","value","UPDATE_FILTER","resetCompetitiveJobs","RESET_COMPETITIVE_JOBS","updateFilteredAttributes","attributeNames","filtered","forEach","isFiltered","indexOf","gotoJobsPage","OPERATIONS_PAGE","FIRST","updateFilter","isStateFilter","useFinishTime","useStartTime","changeColumnSortOrder","tableId","OPERATION_JOBS_TABLE_ID","columnName","asc","showInputPaths","jobId","id","SHOW_INPUT_PATHS","getJobInputPaths","job_id","output_format","TYPED_OUTPUT_FORMAT","inputPaths","hideInputPaths","HIDE_INPUT_PATHS","where","_getState$operations$","pagination","limit","offset","NEXT","PREV","Math","max","UPDATE_OFFSET"],"sources":["jobs.js"],"sourcesContent":["import yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport ypath from '../../../common/thor/ypath';\nimport {\n GET_COMPETITIVE_JOBS,\n GET_JOB,\n GET_JOBS,\n HIDE_INPUT_PATHS,\n OPERATION_JOBS_TABLE_ID,\n RESET_COMPETITIVE_JOBS,\n SHOW_INPUT_PATHS,\n UPDATE_FILTER,\n UPDATE_FILTER_COUNTERS,\n UPDATE_OFFSET,\n} from '../../../constants/operations/jobs';\nimport {changeColumnSortOrder} from '../../../store/actions/tables';\nimport {\n getCompetitiveJobsRequestParameters,\n getJobRequestParameters,\n getJobsRequestParameters,\n} from '../../../store/actions/operations/utils';\nimport {OPERATIONS_PAGE} from '../../../constants/operations/list';\nimport {getCurrentClusterConfig} from '../../../store/selectors/global';\nimport {TYPED_OUTPUT_FORMAT} from '../../../constants/index';\nimport {USE_CACHE, USE_MAX_SIZE} from '../../../../shared/constants/yt-api';\n\nimport {getShowCompetitiveJobs} from '../../../pages/operations/selectors';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\nimport {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\n\nconst requests = new CancelHelper();\n\nconst getOperation = (state) => state.operations.detail.operation;\n\nexport function getJob() {\n return (dispatch, getState) => {\n const state = getState();\n const clusterConfig = getCurrentClusterConfig(state);\n\n requests.removeAllRequests();\n return ytApiV3\n .getJob({\n parameters: getJobRequestParameters(state),\n cancellation: requests.saveCancelToken,\n })\n .then((job) => {\n dispatch({\n type: GET_JOB.SUCCESS,\n data: {\n job,\n clusterConfig,\n operationId: getOperation(state).$value,\n },\n });\n dispatch(getCompetitiveJobs());\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_JOB.CANCELLED});\n } else {\n dispatch({\n type: GET_JOB.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function getCompetitiveJobs() {\n return (dispatch, getState) => {\n const state = getState();\n const clusterConfig = getCurrentClusterConfig(state);\n\n requests.removeAllRequests();\n return ytApiV3\n .listJobs({\n parameters: getCompetitiveJobsRequestParameters(state),\n cancellation: requests.saveCancelToken,\n })\n .then(({jobs}) => {\n dispatch({\n type: GET_COMPETITIVE_JOBS.SUCCESS,\n data: {\n jobs,\n clusterConfig,\n operationId: getOperation(state).$value,\n },\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: GET_COMPETITIVE_JOBS.CANCELLED});\n } else {\n dispatch({\n type: GET_COMPETITIVE_JOBS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nconst getJobsCanceler = new CancelHelper();\n\nexport function getJobs() {\n return (dispatch, getState) => {\n const state = getState();\n const showCompetitiveJobs = getShowCompetitiveJobs(state);\n\n if (showCompetitiveJobs) {\n return dispatch(getJob());\n }\n\n dispatch({\n type: GET_JOBS.REQUEST,\n });\n\n const requests = [\n {\n command: 'list_jobs',\n parameters: getJobsRequestParameters(state),\n },\n {\n command: 'list',\n parameters: {\n path: '//sys/cluster_nodes',\n ...USE_CACHE,\n ...USE_MAX_SIZE,\n },\n },\n ];\n\n const clusterConfig = getCurrentClusterConfig(state);\n\n return ytApiV3Id\n .executeBatch(YTApiId.operationGetJobs, {\n parameters: {requests},\n cancellation: getJobsCanceler.removeAllAndSave,\n })\n .then(([jobs, addresses]) => {\n if (jobs.error) {\n return Promise.reject(jobs.error);\n }\n\n const {jobs: items, errors, state_counts, type_counts} = jobs.output;\n\n dispatch({\n type: GET_JOBS.SUCCESS,\n data: {\n jobs: items,\n jobsErrors: errors,\n addresses: ypath.getValue(addresses.output),\n operationId: getOperation(state).$value,\n clusterConfig,\n },\n });\n\n dispatch({\n type: UPDATE_FILTER_COUNTERS,\n data: {\n stateCounters: state_counts,\n typeCounters: type_counts,\n },\n });\n })\n .catch((error) => {\n if (!isCancelled(error)) {\n dispatch({\n type: GET_JOBS.FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\nexport function setFilter(name, value) {\n return {\n type: UPDATE_FILTER,\n data: {name, value},\n };\n}\n\nexport function resetCompetitiveJobs() {\n return {\n type: RESET_COMPETITIVE_JOBS,\n };\n}\n\nexport function updateFilteredAttributes(attributeNames, filtered) {\n return (dispatch) => {\n attributeNames.forEach((name) => {\n const isFiltered = filtered.indexOf(name) !== -1;\n dispatch(setFilter(name, isFiltered));\n });\n dispatch(gotoJobsPage(OPERATIONS_PAGE.FIRST));\n };\n}\n\nexport function updateFilter(name, value) {\n return (dispatch) => {\n const isStateFilter = name === 'state';\n const useFinishTime = value === 'completed' || value === 'failed' || value === 'aborted';\n const useStartTime = value === 'all' || value === 'running';\n\n if (isStateFilter && useFinishTime) {\n dispatch(\n changeColumnSortOrder({\n tableId: OPERATION_JOBS_TABLE_ID,\n columnName: 'finish_time',\n asc: false,\n }),\n );\n } else if (isStateFilter && useStartTime) {\n dispatch(\n changeColumnSortOrder({\n tableId: OPERATION_JOBS_TABLE_ID,\n columnName: 'start_time',\n asc: true,\n }),\n );\n }\n\n if (name === 'jobId' && !value) {\n dispatch(resetCompetitiveJobs());\n }\n\n dispatch(setFilter(name, value));\n dispatch(gotoJobsPage(OPERATIONS_PAGE.FIRST));\n };\n}\n\nexport function showInputPaths(job) {\n return (dispatch) => {\n const {id: jobId} = job;\n\n dispatch({\n type: SHOW_INPUT_PATHS.REQUEST,\n });\n\n ytApiV3\n .getJobInputPaths({\n job_id: jobId,\n output_format: TYPED_OUTPUT_FORMAT,\n })\n .then((inputPaths) => {\n dispatch({\n type: SHOW_INPUT_PATHS.SUCCESS,\n data: inputPaths,\n });\n })\n .catch((error) => {\n if (error.code !== yt.codes.CANCELLED) {\n dispatch({\n type: SHOW_INPUT_PATHS.FAILURE,\n data: error,\n });\n }\n });\n };\n}\n\nexport function hideInputPaths() {\n return {\n type: HIDE_INPUT_PATHS,\n };\n}\n\nexport function gotoJobsPage(where) {\n return (dispatch, getState) => {\n const {limit, offset} = getState().operations.jobs.pagination;\n\n let data = null;\n switch (where) {\n case OPERATIONS_PAGE.FIRST:\n data = 0;\n break;\n case OPERATIONS_PAGE.NEXT:\n data = offset + limit;\n break;\n case OPERATIONS_PAGE.PREV:\n data = Math.max(0, offset - limit);\n if (data === offset) {\n return;\n }\n break;\n default:\n return;\n }\n\n dispatch({\n type: UPDATE_OFFSET,\n data,\n });\n dispatch(getJobs());\n };\n}\n"],"mappings":"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"}
@@ -72,12 +72,14 @@ function updatePager(incomplete) {
72
72
  }
73
73
  function updateOperations(cluster, parameters) {
74
74
  return function (dispatch) {
75
- cancellableRequests.removeAllRequests();
76
75
  dispatch({
77
76
  type: _operations.UPDATE_OPERATIONS_REQUEST
78
77
  });
79
78
  var rumId = new _rumWrapApi.RumWrapper(cluster, _rumMeasureTypes.RumMeasureTypes.OPERATIONS_LIST);
80
- return rumId.fetch(_rumWrapApi.YTApiId.listOperations, _rumWrapApi.ytApiV3Id.listOperations(_rumWrapApi.YTApiId.listOperations, parameters, cancellableRequests.saveCancelToken)).then(function (response) {
79
+ return rumId.fetch(_rumWrapApi.YTApiId.listOperations, _rumWrapApi.ytApiV3Id.listOperations(_rumWrapApi.YTApiId.listOperations, {
80
+ parameters: parameters,
81
+ cancellation: cancellableRequests.removeAllAndSave
82
+ })).then(function (response) {
81
83
  var operations = response.operations,
82
84
  incomplete = response.incomplete,
83
85
  counters = (0, _objectWithoutProperties2.default)(response, _excluded);
@@ -1 +1 @@
1
- {"version":3,"names":["_moment","_interopRequireDefault","require","_yt","_ypath","_hammer","_operations","_selectors","_settings","_utils","_cancelHelper","_settings2","_rumWrapApi","_rumMeasureTypes","obj","__esModule","default","cancellableRequests","CancelHelper","updateCursor","_ref","timestamp","direction","firstPageReached","lastPageReached","_ref$resetLoadingStat","resetLoadingStatus","type","UPDATE_CURSOR","data","updatePager","incomplete","dispatch","getState","operations","list","cursor","OPERATIONS_CURSOR_DIRECTION","PAST","FUTURE","updateOperations","cluster","parameters","removeAllRequests","UPDATE_OPERATIONS_REQUEST","rumId","RumWrapper","RumMeasureTypes","OPERATIONS_LIST","fetch","YTApiId","listOperations","ytApiV3Id","saveCancelToken","then","response","counters","_objectWithoutProperties","_excluded","UPDATE_OPERATIONS_SUCCESS","wrap","_map","ListOperationSelector","UPDATE_FILTER_COUNTERS","error","code","yt","codes","CANCELLED","UPDATE_OPERATIONS_CANCELLED","UPDATE_OPERATIONS_FAILURE","message","details","resetCursor","updateFilter","name","value","UPDATE_FILTER","resetTimeRange","dataMode","currentTime","moment","RESET_TIME_RANGE","from","getDefaultFromTime","to","getDefaultToTime","showArchiveOperations","SET_OPERATIONS_DATA_MODE","OPERATIONS_DATA_MODE","ARCHIVE","showCurrentOperations","CURRENT","gotoOperationsPage","where","_getState$operations$","timeRange","OPERATIONS_PAGE","FIRST","LAST","NEXT","ypath","getValue","length","PREV","applyFilterPreset","preset","reload","arguments","undefined","APPLY_FILTER_PRESET","removeFilterPreset","presetId","removeSetting","NAMESPACES","OPERATION_PRESETS","toggleSaveFilterPresetDialog","TOGGLE_SAVE_FILTER_PRESET_DIALOG","updateSaveFilterPresetDialog","_ref2","UPDATE_SAVE_FILTER_PRESET_DIALOG","fieldName","fieldValue","selectActualFilters","state","currentFilters","filters","_reduce","_ref3","key","_objectSpread","_defineProperty","saveFilterPreset","isDefault","promise","Promise","resolve","hammer","guid","setSetting","DEFAULT_PRESET_SETTING","OPERATION"],"sources":["list.js"],"sourcesContent":["import _ from 'lodash';\nimport moment from 'moment';\n\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport ypath from '../../../common/thor/ypath';\nimport hammer from '../../../common/hammer';\nimport {\n APPLY_FILTER_PRESET,\n DEFAULT_PRESET_SETTING,\n OPERATIONS_CURSOR_DIRECTION,\n OPERATIONS_DATA_MODE,\n OPERATIONS_PAGE,\n RESET_TIME_RANGE,\n SET_OPERATIONS_DATA_MODE,\n TOGGLE_SAVE_FILTER_PRESET_DIALOG,\n UPDATE_CURSOR,\n UPDATE_FILTER,\n UPDATE_FILTER_COUNTERS,\n UPDATE_OPERATIONS_CANCELLED,\n UPDATE_OPERATIONS_FAILURE,\n UPDATE_OPERATIONS_REQUEST,\n UPDATE_OPERATIONS_SUCCESS,\n UPDATE_SAVE_FILTER_PRESET_DIALOG,\n} from '../../../constants/operations';\nimport {ListOperationSelector} from '../../../pages/operations/selectors';\nimport {removeSetting, setSetting} from '../../../store/actions/settings';\nimport {getDefaultFromTime, getDefaultToTime} from '../../../store/actions/operations/utils';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {NAMESPACES} from '../../../../shared/constants/settings';\nimport {RumWrapper, YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\n\nconst cancellableRequests = new CancelHelper();\n\n// selectors\nfunction updateCursor({\n timestamp,\n direction,\n firstPageReached,\n lastPageReached,\n resetLoadingStatus = true,\n}) {\n return {\n type: UPDATE_CURSOR,\n data: {\n timestamp,\n direction,\n firstPageReached,\n lastPageReached,\n resetLoadingStatus,\n },\n };\n}\n\nexport function updatePager(incomplete) {\n return (dispatch, getState) => {\n const direction = getState().operations.list.cursor.direction;\n\n if (direction === OPERATIONS_CURSOR_DIRECTION.PAST) {\n dispatch(\n updateCursor({\n lastPageReached: !incomplete,\n resetLoadingStatus: false,\n }),\n );\n } else if (direction === OPERATIONS_CURSOR_DIRECTION.FUTURE) {\n dispatch(\n updateCursor({\n firstPageReached: !incomplete,\n resetLoadingStatus: false,\n }),\n );\n }\n };\n}\n\nexport function updateOperations(cluster, parameters) {\n return (dispatch) => {\n cancellableRequests.removeAllRequests();\n\n dispatch({\n type: UPDATE_OPERATIONS_REQUEST,\n });\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.OPERATIONS_LIST);\n return rumId\n .fetch(\n YTApiId.listOperations,\n ytApiV3Id.listOperations(\n YTApiId.listOperations,\n parameters,\n cancellableRequests.saveCancelToken,\n ),\n )\n .then((response) => {\n const {operations, incomplete, ...counters} = response;\n\n dispatch(updatePager(incomplete));\n dispatch({\n type: UPDATE_OPERATIONS_SUCCESS,\n data: rumId.wrap('parse', () => {\n return _.map(operations, (data) => new ListOperationSelector(data));\n }),\n });\n dispatch({\n type: UPDATE_FILTER_COUNTERS,\n data: counters,\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: UPDATE_OPERATIONS_CANCELLED,\n });\n } else {\n dispatch({\n type: UPDATE_OPERATIONS_FAILURE,\n data: {\n message: 'Could not load operations.',\n details: error,\n },\n });\n }\n });\n };\n}\n\nfunction resetCursor() {\n return updateCursor({\n timestamp: null,\n direction: OPERATIONS_CURSOR_DIRECTION.PAST,\n firstPageReached: true,\n lastPageReached: false,\n });\n}\n\nexport function updateFilter(name, value) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_FILTER,\n data: {name, value},\n });\n dispatch(resetCursor());\n };\n}\n\nfunction resetTimeRange() {\n return (dispatch, getState) => {\n const dataMode = getState().operations.list.dataMode;\n const currentTime = moment();\n\n dispatch({\n type: RESET_TIME_RANGE,\n data: {\n from: getDefaultFromTime(currentTime, dataMode),\n to: getDefaultToTime(currentTime, dataMode),\n },\n });\n };\n}\n\nexport function showArchiveOperations(from, to) {\n return (dispatch) => {\n dispatch({\n type: SET_OPERATIONS_DATA_MODE,\n data: {dataMode: OPERATIONS_DATA_MODE.ARCHIVE, from, to},\n });\n dispatch(resetCursor());\n };\n}\n\nexport function showCurrentOperations() {\n return (dispatch) => {\n dispatch({\n type: SET_OPERATIONS_DATA_MODE,\n data: {dataMode: OPERATIONS_DATA_MODE.CURRENT},\n });\n dispatch(resetCursor());\n };\n}\n\nexport function gotoOperationsPage(where) {\n return (dispatch, getState) => {\n const {dataMode, timeRange, cursor, operations} = getState().operations.list;\n\n switch (where) {\n case OPERATIONS_PAGE.FIRST:\n dispatch(resetCursor());\n if (dataMode === OPERATIONS_DATA_MODE.CURRENT) {\n dispatch(resetTimeRange());\n }\n break;\n\n case OPERATIONS_PAGE.LAST:\n if (dataMode === OPERATIONS_DATA_MODE.CURRENT) {\n dispatch(resetTimeRange());\n }\n // WARNING fromTime is changed in reset timeRange\n dispatch(\n updateCursor({\n timestamp: timeRange.from,\n direction: OPERATIONS_CURSOR_DIRECTION.FUTURE,\n firstPageReached: false,\n lastPageReached: true,\n }),\n );\n break;\n\n case OPERATIONS_PAGE.NEXT:\n if (!cursor.lastPageReached) {\n if (dataMode === OPERATIONS_DATA_MODE.CURRENT) {\n dispatch(resetTimeRange());\n }\n\n dispatch(\n updateCursor({\n timestamp: ypath.getValue(\n operations[operations.length - 1],\n '/@start_time',\n ),\n direction: OPERATIONS_CURSOR_DIRECTION.PAST,\n firstPageReached: false,\n }),\n );\n }\n break;\n\n case OPERATIONS_PAGE.PREV:\n if (!cursor.firstPageReached) {\n if (dataMode === OPERATIONS_DATA_MODE.CURRENT) {\n dispatch(resetTimeRange());\n }\n\n dispatch(\n updateCursor({\n timestamp: ypath.getValue(operations[0], '/@start_time'),\n direction: OPERATIONS_CURSOR_DIRECTION.FUTURE,\n lastPageReached: false,\n }),\n );\n }\n break;\n }\n };\n}\n\nexport function applyFilterPreset(preset, reload = true) {\n return (dispatch) => {\n dispatch({\n type: APPLY_FILTER_PRESET,\n data: {preset},\n });\n\n if (reload) {\n dispatch(resetCursor());\n }\n };\n}\n\nexport function removeFilterPreset(presetId) {\n return (dispatch) => {\n dispatch(removeSetting(presetId, NAMESPACES.OPERATION_PRESETS));\n };\n}\n\nexport function toggleSaveFilterPresetDialog() {\n return {\n type: TOGGLE_SAVE_FILTER_PRESET_DIALOG,\n };\n}\n\nexport function updateSaveFilterPresetDialog({name, value}) {\n return {\n type: UPDATE_SAVE_FILTER_PRESET_DIALOG,\n data: {fieldName: name, fieldValue: value},\n };\n}\n\nfunction selectActualFilters(state) {\n const currentFilters = state.operations.list.filters;\n return _.reduce(\n currentFilters,\n (filters, {value}, key) => {\n return {...filters, [key]: value};\n },\n {},\n );\n}\n\nexport function saveFilterPreset(name, isDefault) {\n return (dispatch, getState) => {\n let promise = Promise.resolve();\n const presetId = hammer.guid();\n\n if (isDefault) {\n promise = dispatch(setSetting(DEFAULT_PRESET_SETTING, NAMESPACES.OPERATION, presetId));\n }\n return promise.then(() => {\n dispatch(\n setSetting(presetId, NAMESPACES.OPERATION_PRESETS, {\n name,\n filters: selectActualFilters(getState()),\n }),\n );\n });\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_moment","_interopRequireDefault","require","_yt","_ypath","_hammer","_operations","_selectors","_settings","_utils","_cancelHelper","_settings2","_rumWrapApi","_rumMeasureTypes","obj","__esModule","default","cancellableRequests","CancelHelper","updateCursor","_ref","timestamp","direction","firstPageReached","lastPageReached","_ref$resetLoadingStat","resetLoadingStatus","type","UPDATE_CURSOR","data","updatePager","incomplete","dispatch","getState","operations","list","cursor","OPERATIONS_CURSOR_DIRECTION","PAST","FUTURE","updateOperations","cluster","parameters","UPDATE_OPERATIONS_REQUEST","rumId","RumWrapper","RumMeasureTypes","OPERATIONS_LIST","fetch","YTApiId","listOperations","ytApiV3Id","cancellation","removeAllAndSave","then","response","counters","_objectWithoutProperties","_excluded","UPDATE_OPERATIONS_SUCCESS","wrap","_map","ListOperationSelector","UPDATE_FILTER_COUNTERS","error","code","yt","codes","CANCELLED","UPDATE_OPERATIONS_CANCELLED","UPDATE_OPERATIONS_FAILURE","message","details","resetCursor","updateFilter","name","value","UPDATE_FILTER","resetTimeRange","dataMode","currentTime","moment","RESET_TIME_RANGE","from","getDefaultFromTime","to","getDefaultToTime","showArchiveOperations","SET_OPERATIONS_DATA_MODE","OPERATIONS_DATA_MODE","ARCHIVE","showCurrentOperations","CURRENT","gotoOperationsPage","where","_getState$operations$","timeRange","OPERATIONS_PAGE","FIRST","LAST","NEXT","ypath","getValue","length","PREV","applyFilterPreset","preset","reload","arguments","undefined","APPLY_FILTER_PRESET","removeFilterPreset","presetId","removeSetting","NAMESPACES","OPERATION_PRESETS","toggleSaveFilterPresetDialog","TOGGLE_SAVE_FILTER_PRESET_DIALOG","updateSaveFilterPresetDialog","_ref2","UPDATE_SAVE_FILTER_PRESET_DIALOG","fieldName","fieldValue","selectActualFilters","state","currentFilters","filters","_reduce","_ref3","key","_objectSpread","_defineProperty","saveFilterPreset","isDefault","promise","Promise","resolve","hammer","guid","setSetting","DEFAULT_PRESET_SETTING","OPERATION"],"sources":["list.js"],"sourcesContent":["import _ from 'lodash';\nimport moment from 'moment';\n\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport ypath from '../../../common/thor/ypath';\nimport hammer from '../../../common/hammer';\nimport {\n APPLY_FILTER_PRESET,\n DEFAULT_PRESET_SETTING,\n OPERATIONS_CURSOR_DIRECTION,\n OPERATIONS_DATA_MODE,\n OPERATIONS_PAGE,\n RESET_TIME_RANGE,\n SET_OPERATIONS_DATA_MODE,\n TOGGLE_SAVE_FILTER_PRESET_DIALOG,\n UPDATE_CURSOR,\n UPDATE_FILTER,\n UPDATE_FILTER_COUNTERS,\n UPDATE_OPERATIONS_CANCELLED,\n UPDATE_OPERATIONS_FAILURE,\n UPDATE_OPERATIONS_REQUEST,\n UPDATE_OPERATIONS_SUCCESS,\n UPDATE_SAVE_FILTER_PRESET_DIALOG,\n} from '../../../constants/operations';\nimport {ListOperationSelector} from '../../../pages/operations/selectors';\nimport {removeSetting, setSetting} from '../../../store/actions/settings';\nimport {getDefaultFromTime, getDefaultToTime} from '../../../store/actions/operations/utils';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport {NAMESPACES} from '../../../../shared/constants/settings';\nimport {RumWrapper, YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {RumMeasureTypes} from '../../../rum/rum-measure-types';\n\nconst cancellableRequests = new CancelHelper();\n\n// selectors\nfunction updateCursor({\n timestamp,\n direction,\n firstPageReached,\n lastPageReached,\n resetLoadingStatus = true,\n}) {\n return {\n type: UPDATE_CURSOR,\n data: {\n timestamp,\n direction,\n firstPageReached,\n lastPageReached,\n resetLoadingStatus,\n },\n };\n}\n\nexport function updatePager(incomplete) {\n return (dispatch, getState) => {\n const direction = getState().operations.list.cursor.direction;\n\n if (direction === OPERATIONS_CURSOR_DIRECTION.PAST) {\n dispatch(\n updateCursor({\n lastPageReached: !incomplete,\n resetLoadingStatus: false,\n }),\n );\n } else if (direction === OPERATIONS_CURSOR_DIRECTION.FUTURE) {\n dispatch(\n updateCursor({\n firstPageReached: !incomplete,\n resetLoadingStatus: false,\n }),\n );\n }\n };\n}\n\nexport function updateOperations(cluster, parameters) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_OPERATIONS_REQUEST,\n });\n\n const rumId = new RumWrapper(cluster, RumMeasureTypes.OPERATIONS_LIST);\n return rumId\n .fetch(\n YTApiId.listOperations,\n ytApiV3Id.listOperations(YTApiId.listOperations, {\n parameters,\n cancellation: cancellableRequests.removeAllAndSave,\n }),\n )\n .then((response) => {\n const {operations, incomplete, ...counters} = response;\n\n dispatch(updatePager(incomplete));\n dispatch({\n type: UPDATE_OPERATIONS_SUCCESS,\n data: rumId.wrap('parse', () => {\n return _.map(operations, (data) => new ListOperationSelector(data));\n }),\n });\n dispatch({\n type: UPDATE_FILTER_COUNTERS,\n data: counters,\n });\n })\n .catch((error) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({\n type: UPDATE_OPERATIONS_CANCELLED,\n });\n } else {\n dispatch({\n type: UPDATE_OPERATIONS_FAILURE,\n data: {\n message: 'Could not load operations.',\n details: error,\n },\n });\n }\n });\n };\n}\n\nfunction resetCursor() {\n return updateCursor({\n timestamp: null,\n direction: OPERATIONS_CURSOR_DIRECTION.PAST,\n firstPageReached: true,\n lastPageReached: false,\n });\n}\n\nexport function updateFilter(name, value) {\n return (dispatch) => {\n dispatch({\n type: UPDATE_FILTER,\n data: {name, value},\n });\n dispatch(resetCursor());\n };\n}\n\nfunction resetTimeRange() {\n return (dispatch, getState) => {\n const dataMode = getState().operations.list.dataMode;\n const currentTime = moment();\n\n dispatch({\n type: RESET_TIME_RANGE,\n data: {\n from: getDefaultFromTime(currentTime, dataMode),\n to: getDefaultToTime(currentTime, dataMode),\n },\n });\n };\n}\n\nexport function showArchiveOperations(from, to) {\n return (dispatch) => {\n dispatch({\n type: SET_OPERATIONS_DATA_MODE,\n data: {dataMode: OPERATIONS_DATA_MODE.ARCHIVE, from, to},\n });\n dispatch(resetCursor());\n };\n}\n\nexport function showCurrentOperations() {\n return (dispatch) => {\n dispatch({\n type: SET_OPERATIONS_DATA_MODE,\n data: {dataMode: OPERATIONS_DATA_MODE.CURRENT},\n });\n dispatch(resetCursor());\n };\n}\n\nexport function gotoOperationsPage(where) {\n return (dispatch, getState) => {\n const {dataMode, timeRange, cursor, operations} = getState().operations.list;\n\n switch (where) {\n case OPERATIONS_PAGE.FIRST:\n dispatch(resetCursor());\n if (dataMode === OPERATIONS_DATA_MODE.CURRENT) {\n dispatch(resetTimeRange());\n }\n break;\n\n case OPERATIONS_PAGE.LAST:\n if (dataMode === OPERATIONS_DATA_MODE.CURRENT) {\n dispatch(resetTimeRange());\n }\n // WARNING fromTime is changed in reset timeRange\n dispatch(\n updateCursor({\n timestamp: timeRange.from,\n direction: OPERATIONS_CURSOR_DIRECTION.FUTURE,\n firstPageReached: false,\n lastPageReached: true,\n }),\n );\n break;\n\n case OPERATIONS_PAGE.NEXT:\n if (!cursor.lastPageReached) {\n if (dataMode === OPERATIONS_DATA_MODE.CURRENT) {\n dispatch(resetTimeRange());\n }\n\n dispatch(\n updateCursor({\n timestamp: ypath.getValue(\n operations[operations.length - 1],\n '/@start_time',\n ),\n direction: OPERATIONS_CURSOR_DIRECTION.PAST,\n firstPageReached: false,\n }),\n );\n }\n break;\n\n case OPERATIONS_PAGE.PREV:\n if (!cursor.firstPageReached) {\n if (dataMode === OPERATIONS_DATA_MODE.CURRENT) {\n dispatch(resetTimeRange());\n }\n\n dispatch(\n updateCursor({\n timestamp: ypath.getValue(operations[0], '/@start_time'),\n direction: OPERATIONS_CURSOR_DIRECTION.FUTURE,\n lastPageReached: false,\n }),\n );\n }\n break;\n }\n };\n}\n\nexport function applyFilterPreset(preset, reload = true) {\n return (dispatch) => {\n dispatch({\n type: APPLY_FILTER_PRESET,\n data: {preset},\n });\n\n if (reload) {\n dispatch(resetCursor());\n }\n };\n}\n\nexport function removeFilterPreset(presetId) {\n return (dispatch) => {\n dispatch(removeSetting(presetId, NAMESPACES.OPERATION_PRESETS));\n };\n}\n\nexport function toggleSaveFilterPresetDialog() {\n return {\n type: TOGGLE_SAVE_FILTER_PRESET_DIALOG,\n };\n}\n\nexport function updateSaveFilterPresetDialog({name, value}) {\n return {\n type: UPDATE_SAVE_FILTER_PRESET_DIALOG,\n data: {fieldName: name, fieldValue: value},\n };\n}\n\nfunction selectActualFilters(state) {\n const currentFilters = state.operations.list.filters;\n return _.reduce(\n currentFilters,\n (filters, {value}, key) => {\n return {...filters, [key]: value};\n },\n {},\n );\n}\n\nexport function saveFilterPreset(name, isDefault) {\n return (dispatch, getState) => {\n let promise = Promise.resolve();\n const presetId = hammer.guid();\n\n if (isDefault) {\n promise = dispatch(setSetting(DEFAULT_PRESET_SETTING, NAMESPACES.OPERATION, presetId));\n }\n return promise.then(() => {\n dispatch(\n setSetting(presetId, NAMESPACES.OPERATION_PRESETS, {\n name,\n filters: selectActualFilters(getState()),\n }),\n );\n });\n };\n}\n"],"mappings":"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"}
@@ -66,7 +66,7 @@ function _homeIndex() {
66
66
  res.redirect('/');
67
67
  return _context.abrupt("return");
68
68
  case 20:
69
- res.status(404).send("No config for cluster '".concat(cluster, "' exists.") + '<div>If you are trying to connect to your local cluster please make sure:</div>' + '<ol><li>FQDN of the cluster is correct</li>' + '<li>The port is greater than or equal to 1000.</li></ol>');
69
+ res.status(404).send("No config for cluster <b>".concat(encodeURIComponent(cluster), "</b> exists.") + '<div>If you are trying to connect to your local cluster please make sure:</div>' + '<ol><li>FQDN of the cluster is correct</li>' + '<li>The port is greater than or equal to 1000.</li></ol>');
70
70
  return _context.abrupt("return");
71
71
  case 22:
72
72
  useRemoteSettings = isRemoteSettingsConfigured();
@@ -1 +1 @@
1
- {"version":3,"names":["getLayoutConfig","create","get","isRemoteSettingsConfigured","getClusterConfig","ServerFactory","getApp","isLocalModeByEnvironment","getDafaultUserSettings","ODIN_PAGE_ID","isRootPage","page","_getApp$config","rootPages","concat","_toConsumableArray","config","odinBaseUrl","getExtraRootPages","indexOf","homeRedirect","req","res","cluster","params","referrer","query","url","redirect","homeIndex","_x","_x2","_homeIndex","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$yt","_req$yt2","isRoot","ctx","_getClusterConfig","clusterConfig","ytConfig","login","useRemoteSettings","settings","userSettings","message","errorMessage","layoutConfig","html","wrap","_callee$","_context","prev","next","undefined","getHomeRedirectedUrl","sent","abrupt","t0","logError","isLocalCluster","yt","_isEmpty","ytAllowRemoteLocalProxy","status","send","data","meta","username","t1","_objectSpread","t2","uid","renderLayout","stop"],"sources":["home.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport _ from 'lodash';\n\nimport {getLayoutConfig} from '../components/layout-config';\nimport {create, get, isRemoteSettingsConfigured} from '../components/settings';\nimport {getClusterConfig} from '../components/utils';\nimport ServerFactory, {getApp} from '../ServerFactory';\nimport {isLocalModeByEnvironment} from '../utils';\nimport {getDafaultUserSettings} from '../utils/default-settings';\nimport {ODIN_PAGE_ID} from '../../shared/constants';\n\nfunction isRootPage(page: string) {\n const rootPages = [\n ...(getApp().config?.odinBaseUrl ? [ODIN_PAGE_ID] : []),\n ...ServerFactory.getExtraRootPages(),\n ];\n return -1 !== rootPages.indexOf(page);\n}\n\nexport function homeRedirect(req: Request, res: Response) {\n const cluster = req.params.cluster;\n const {referrer} = req.query;\n const url = referrer ? (referrer as string) : `/${cluster}`;\n\n res.redirect(url);\n}\n\nexport async function homeIndex(req: Request, res: Response) {\n const isRoot = isRootPage(req.params.cluster);\n const cluster = isRoot ? undefined : req.params.cluster;\n\n try {\n const url = await ServerFactory.getHomeRedirectedUrl(cluster, req);\n if (url) {\n return res.redirect(url);\n }\n } catch (e) {\n req.ctx.logError('Failed to calculate redirects', e);\n }\n\n const {ctx} = req;\n\n const {clusterConfig, ytConfig} = getClusterConfig(cluster);\n const login = ytConfig.isLocalCluster ? 'root' : req.yt?.login;\n // Refuse to serve localRemoteProxy requests erroneously delegated from main interface to another\n // interface running in a container (instead of YT container)\n if (_.isEmpty(clusterConfig) && cluster) {\n if (!req.ctx.config.ytAllowRemoteLocalProxy && !isLocalModeByEnvironment()) {\n res.redirect('/');\n return;\n }\n res.status(404).send(\n `No config for cluster '${cluster}' exists.` +\n '<div>If you are trying to connect to your local cluster please make sure:</div>' +\n '<ol><li>FQDN of the cluster is correct</li>' +\n '<li>The port is greater than or equal to 1000.</li></ol>',\n );\n return;\n }\n\n const useRemoteSettings = isRemoteSettingsConfigured();\n\n const settings = {\n data: getDafaultUserSettings(req.ctx.config),\n meta: {\n useRemoteSettings,\n errorMessage: undefined as string | undefined,\n },\n };\n\n if (login && useRemoteSettings) {\n try {\n await create({ctx, username: login});\n const userSettings = login ? await get({ctx, username: login}) : {};\n settings.data = {...settings.data, ...userSettings};\n } catch (e) {\n const message = `Error in getting user settings for ${login}`;\n req.ctx.logError(message, e);\n\n const errorMessage =\n `Oh, no. ${message}. You are using default settings. ` +\n 'All settings changes will be saved in browser only.\\n' +\n 'Try to reload page. If problem persists please report it via Bug Reporter.';\n\n settings.meta = {\n ...settings.meta,\n useRemoteSettings: false,\n errorMessage,\n };\n }\n }\n\n const layoutConfig = await getLayoutConfig(req, {\n login,\n uid: req.yt?.uid,\n cluster,\n ytConfig,\n settings,\n });\n const html = await ServerFactory.renderLayout(layoutConfig, req, res);\n res.send(html);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["getLayoutConfig","create","get","isRemoteSettingsConfigured","getClusterConfig","ServerFactory","getApp","isLocalModeByEnvironment","getDafaultUserSettings","ODIN_PAGE_ID","isRootPage","page","_getApp$config","rootPages","concat","_toConsumableArray","config","odinBaseUrl","getExtraRootPages","indexOf","homeRedirect","req","res","cluster","params","referrer","query","url","redirect","homeIndex","_x","_x2","_homeIndex","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$yt","_req$yt2","isRoot","ctx","_getClusterConfig","clusterConfig","ytConfig","login","useRemoteSettings","settings","userSettings","message","errorMessage","layoutConfig","html","wrap","_callee$","_context","prev","next","undefined","getHomeRedirectedUrl","sent","abrupt","t0","logError","isLocalCluster","yt","_isEmpty","ytAllowRemoteLocalProxy","status","send","encodeURIComponent","data","meta","username","t1","_objectSpread","t2","uid","renderLayout","stop"],"sources":["home.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport _ from 'lodash';\n\nimport {getLayoutConfig} from '../components/layout-config';\nimport {create, get, isRemoteSettingsConfigured} from '../components/settings';\nimport {getClusterConfig} from '../components/utils';\nimport ServerFactory, {getApp} from '../ServerFactory';\nimport {isLocalModeByEnvironment} from '../utils';\nimport {getDafaultUserSettings} from '../utils/default-settings';\nimport {ODIN_PAGE_ID} from '../../shared/constants';\n\nfunction isRootPage(page: string) {\n const rootPages = [\n ...(getApp().config?.odinBaseUrl ? [ODIN_PAGE_ID] : []),\n ...ServerFactory.getExtraRootPages(),\n ];\n return -1 !== rootPages.indexOf(page);\n}\n\nexport function homeRedirect(req: Request, res: Response) {\n const cluster = req.params.cluster;\n const {referrer} = req.query;\n const url = referrer ? (referrer as string) : `/${cluster}`;\n\n res.redirect(url);\n}\n\nexport async function homeIndex(req: Request, res: Response) {\n const isRoot = isRootPage(req.params.cluster);\n const cluster = isRoot ? undefined : req.params.cluster;\n\n try {\n const url = await ServerFactory.getHomeRedirectedUrl(cluster, req);\n if (url) {\n return res.redirect(url);\n }\n } catch (e) {\n req.ctx.logError('Failed to calculate redirects', e);\n }\n\n const {ctx} = req;\n\n const {clusterConfig, ytConfig} = getClusterConfig(cluster);\n const login = ytConfig.isLocalCluster ? 'root' : req.yt?.login;\n // Refuse to serve localRemoteProxy requests erroneously delegated from main interface to another\n // interface running in a container (instead of YT container)\n if (_.isEmpty(clusterConfig) && cluster) {\n if (!req.ctx.config.ytAllowRemoteLocalProxy && !isLocalModeByEnvironment()) {\n res.redirect('/');\n return;\n }\n res.status(404).send(\n `No config for cluster <b>${encodeURIComponent(cluster)}</b> exists.` +\n '<div>If you are trying to connect to your local cluster please make sure:</div>' +\n '<ol><li>FQDN of the cluster is correct</li>' +\n '<li>The port is greater than or equal to 1000.</li></ol>',\n );\n return;\n }\n\n const useRemoteSettings = isRemoteSettingsConfigured();\n\n const settings = {\n data: getDafaultUserSettings(req.ctx.config),\n meta: {\n useRemoteSettings,\n errorMessage: undefined as string | undefined,\n },\n };\n\n if (login && useRemoteSettings) {\n try {\n await create({ctx, username: login});\n const userSettings = login ? await get({ctx, username: login}) : {};\n settings.data = {...settings.data, ...userSettings};\n } catch (e) {\n const message = `Error in getting user settings for ${login}`;\n req.ctx.logError(message, e);\n\n const errorMessage =\n `Oh, no. ${message}. You are using default settings. ` +\n 'All settings changes will be saved in browser only.\\n' +\n 'Try to reload page. If problem persists please report it via Bug Reporter.';\n\n settings.meta = {\n ...settings.meta,\n useRemoteSettings: false,\n errorMessage,\n };\n }\n }\n\n const layoutConfig = await getLayoutConfig(req, {\n login,\n uid: req.yt?.uid,\n cluster,\n ytConfig,\n settings,\n });\n const html = await ServerFactory.renderLayout(layoutConfig, req, res);\n res.send(html);\n}\n"],"mappings":"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"}
@@ -12,7 +12,6 @@ export function loadNodeAttributes(host) {
12
12
  path: "//sys/cluster_nodes/".concat(host),
13
13
  attributes: prepareAttributes(Node.ATTRIBUTES)
14
14
  }).then(function (node) {
15
- if (Date.now() > 10) throw new Error('undexpected error');
16
15
  dispatch({
17
16
  type: NODE_LOAD_SUCCESS,
18
17
  data: {
@@ -1 +1 @@
1
- {"version":3,"names":["NODE_LOAD_FAILURE","NODE_LOAD_REQUEST","NODE_LOAD_SUCCESS","Node","YTApiId","ytApiV3Id","prepareAttributes","loadNodeAttributes","host","dispatch","type","get","nodeAttributes","path","concat","attributes","ATTRIBUTES","then","node","Date","now","Error","data","error"],"sources":["node.ts"],"sourcesContent":["import type {ThunkAction} from 'redux-thunk';\n\n// import ypath from '../../../../common/thor/ypath';\nimport {\n NODE_LOAD_FAILURE,\n NODE_LOAD_REQUEST,\n NODE_LOAD_SUCCESS,\n} from '../../../../constants/components/nodes/node';\nimport {Node} from '../../../../store/reducers/components/nodes/nodes/node';\nimport type {RootState} from '../../../../store/reducers';\nimport type {NodeLoadAction} from '../../../../store/reducers/components/node/node';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {prepareAttributes} from '../../../../utils/cypress-attributes';\n\ntype NodeLoadThunkAction = ThunkAction<any, RootState, any, NodeLoadAction>;\n\nexport function loadNodeAttributes(host: string): NodeLoadThunkAction {\n return (dispatch) => {\n dispatch({type: NODE_LOAD_REQUEST});\n return ytApiV3Id\n .get<Node>(YTApiId.nodeAttributes, {\n path: `//sys/cluster_nodes/${host}`,\n attributes: prepareAttributes(Node.ATTRIBUTES),\n })\n .then((node) => {\n if (Date.now() > 10) throw new Error('undexpected error');\n dispatch({\n type: NODE_LOAD_SUCCESS,\n data: {host, node},\n });\n })\n .catch((error: Error) => {\n dispatch({\n type: NODE_LOAD_FAILURE,\n data: error,\n });\n });\n };\n}\n"],"mappings":"AAEA;AACA,SACIA,iBAAiB,EACjBC,iBAAiB,EACjBC,iBAAiB,QACd,6CAA6C;AACpD,SAAQC,IAAI,QAAO,wDAAwD;AAG3E,SAAQC,OAAO,EAAEC,SAAS,QAAO,8BAA8B;AAC/D,SAAQC,iBAAiB,QAAO,sCAAsC;AAItE,OAAO,SAASC,kBAAkBA,CAACC,IAAY,EAAuB;EAClE,OAAO,UAACC,QAAQ,EAAK;IACjBA,QAAQ,CAAC;MAACC,IAAI,EAAET;IAAiB,CAAC,CAAC;IACnC,OAAOI,SAAS,CACXM,GAAG,CAAOP,OAAO,CAACQ,cAAc,EAAE;MAC/BC,IAAI,yBAAAC,MAAA,CAAyBN,IAAI,CAAE;MACnCO,UAAU,EAAET,iBAAiB,CAACH,IAAI,CAACa,UAAU;IACjD,CAAC,CAAC,CACDC,IAAI,CAAC,UAACC,IAAI,EAAK;MACZ,IAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,IAAIC,KAAK,CAAC,mBAAmB,CAAC;MACzDZ,QAAQ,CAAC;QACLC,IAAI,EAAER,iBAAiB;QACvBoB,IAAI,EAAE;UAACd,IAAI,EAAJA,IAAI;UAAEU,IAAI,EAAJA;QAAI;MACrB,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACK,KAAY,EAAK;MACrBd,QAAQ,CAAC;QACLC,IAAI,EAAEV,iBAAiB;QACvBsB,IAAI,EAAEC;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACV,CAAC;AACL"}
1
+ {"version":3,"names":["NODE_LOAD_FAILURE","NODE_LOAD_REQUEST","NODE_LOAD_SUCCESS","Node","YTApiId","ytApiV3Id","prepareAttributes","loadNodeAttributes","host","dispatch","type","get","nodeAttributes","path","concat","attributes","ATTRIBUTES","then","node","data","error"],"sources":["node.ts"],"sourcesContent":["import type {ThunkAction} from 'redux-thunk';\n\n// import ypath from '../../../../common/thor/ypath';\nimport {\n NODE_LOAD_FAILURE,\n NODE_LOAD_REQUEST,\n NODE_LOAD_SUCCESS,\n} from '../../../../constants/components/nodes/node';\nimport {Node} from '../../../../store/reducers/components/nodes/nodes/node';\nimport type {RootState} from '../../../../store/reducers';\nimport type {NodeLoadAction} from '../../../../store/reducers/components/node/node';\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {prepareAttributes} from '../../../../utils/cypress-attributes';\n\ntype NodeLoadThunkAction = ThunkAction<any, RootState, any, NodeLoadAction>;\n\nexport function loadNodeAttributes(host: string): NodeLoadThunkAction {\n return (dispatch) => {\n dispatch({type: NODE_LOAD_REQUEST});\n return ytApiV3Id\n .get<Node>(YTApiId.nodeAttributes, {\n path: `//sys/cluster_nodes/${host}`,\n attributes: prepareAttributes(Node.ATTRIBUTES),\n })\n .then((node) => {\n dispatch({\n type: NODE_LOAD_SUCCESS,\n data: {host, node},\n });\n })\n .catch((error: Error) => {\n dispatch({\n type: NODE_LOAD_FAILURE,\n data: error,\n });\n });\n };\n}\n"],"mappings":"AAEA;AACA,SACIA,iBAAiB,EACjBC,iBAAiB,EACjBC,iBAAiB,QACd,6CAA6C;AACpD,SAAQC,IAAI,QAAO,wDAAwD;AAG3E,SAAQC,OAAO,EAAEC,SAAS,QAAO,8BAA8B;AAC/D,SAAQC,iBAAiB,QAAO,sCAAsC;AAItE,OAAO,SAASC,kBAAkBA,CAACC,IAAY,EAAuB;EAClE,OAAO,UAACC,QAAQ,EAAK;IACjBA,QAAQ,CAAC;MAACC,IAAI,EAAET;IAAiB,CAAC,CAAC;IACnC,OAAOI,SAAS,CACXM,GAAG,CAAOP,OAAO,CAACQ,cAAc,EAAE;MAC/BC,IAAI,yBAAAC,MAAA,CAAyBN,IAAI,CAAE;MACnCO,UAAU,EAAET,iBAAiB,CAACH,IAAI,CAACa,UAAU;IACjD,CAAC,CAAC,CACDC,IAAI,CAAC,UAACC,IAAI,EAAK;MACZT,QAAQ,CAAC;QACLC,IAAI,EAAER,iBAAiB;QACvBiB,IAAI,EAAE;UAACX,IAAI,EAAJA,IAAI;UAAEU,IAAI,EAAJA;QAAI;MACrB,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACE,KAAY,EAAK;MACrBX,QAAQ,CAAC;QACLC,IAAI,EAAEV,iBAAiB;QACvBmB,IAAI,EAAEC;MACV,CAAC,CAAC;IACN,CAAC,CAAC;EACV,CAAC;AACL"}
@@ -118,8 +118,11 @@ function _handleBatchSlice() {
118
118
  _context2.prev = 0;
119
119
  _context2.next = 3;
120
120
  return ytApiV3Id.executeBatch(id, {
121
- requests: requests
122
- }, options === null || options === void 0 ? void 0 : options.saveCancelSourceCb);
121
+ parameters: {
122
+ requests: requests
123
+ },
124
+ cancellation: options === null || options === void 0 ? void 0 : options.saveCancelSourceCb
125
+ });
123
126
  case 3:
124
127
  results = _context2.sent;
125
128
  error = getBatchError(results);
@@ -1 +1 @@
1
- {"version":3,"names":["getBatchError","getBatchErrorIndices","EXECUTE_BATCH_RETRY_HIDE_MODAL","EXECUTE_BATCH_RETRY_SHOW_MODAL","rumLogError","getExecuteBatchState","ytApiV3Id","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","message","Error","handleFailedRequests","abrupt","stop","BATCH_ERROR_TYPE","type","_x4","_x5","_x6","_handleBatchSlice","_callee2","errorIndices","_callee2$","_context2","executeBatch","saveCancelSourceCb","Set","_filter","_item","index","has","_x7","_handleFailedRequests","_callee3","_args3","_callee3$","_context3","undefined","Promise","res","rej","window","store","dispatch","showExecuteBatchRetryModal","resolveCb","rejectCb","batchCounter","makeId","ytApiId","params","data","_objectSpread","hideExecuteBatchRetryModal","abortExecuteBatch","getState","_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(\n id,\n {requests},\n 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":["getBatchError","getBatchErrorIndices","EXECUTE_BATCH_RETRY_HIDE_MODAL","EXECUTE_BATCH_RETRY_SHOW_MODAL","rumLogError","getExecuteBatchState","ytApiV3Id","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","message","Error","handleFailedRequests","abrupt","stop","BATCH_ERROR_TYPE","type","_x4","_x5","_x6","_handleBatchSlice","_callee2","errorIndices","_callee2$","_context2","executeBatch","parameters","cancellation","saveCancelSourceCb","Set","_filter","_item","index","has","_x7","_handleFailedRequests","_callee3","_args3","_callee3$","_context3","undefined","Promise","res","rej","window","store","dispatch","showExecuteBatchRetryModal","resolveCb","rejectCb","batchCounter","makeId","ytApiId","params","data","_objectSpread","hideExecuteBatchRetryModal","abortExecuteBatch","getState","_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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"}
@@ -11,9 +11,12 @@ export function loadCompetitors(operationID, jobCompetitionID) {
11
11
  type: JOB.LOAD_JOB_COMPETITORS_REQUEST
12
12
  });
13
13
  return yt.v3.listJobs({
14
- operation_id: operationID,
15
- job_competition_id: jobCompetitionID
16
- }, requests.saveCancelToken).then(function (competitors) {
14
+ parameters: {
15
+ operation_id: operationID,
16
+ job_competition_id: jobCompetitionID
17
+ },
18
+ cancellation: requests.saveCancelToken
19
+ }).then(function (competitors) {
17
20
  dispatch({
18
21
  type: JOB.LOAD_JOB_COMPETITORS_SUCCESS,
19
22
  data: {
@@ -1 +1 @@
1
- {"version":3,"names":["Toaster","yt","CancelHelper","JOB","requests","toaster","loadCompetitors","operationID","jobCompetitionID","dispatch","type","LOAD_JOB_COMPETITORS_REQUEST","v3","listJobs","operation_id","job_competition_id","saveCancelToken","then","competitors","LOAD_JOB_COMPETITORS_SUCCESS","data","jobs","error","code","codes","CANCELLED","LOAD_JOB_COMPETITORS_CANCELLED","add","name","autoHiding","content","message","title","LOAD_JOB_COMPETITORS_FAILURE","abortAndReset","removeAllRequests"],"sources":["competitors.ts"],"sourcesContent":["import {Toaster} from '@gravity-ui/uikit';\nimport {ThunkAction} from 'redux-thunk';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {CompetitiveJobs, RawJob} from '../../../types/job';\nimport {RootState} from '../../../store/reducers';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport * as JOB from '../../../constants/job';\nimport {YTError} from '../../../types';\nimport {Action} from 'redux';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\ninterface LoadJobCompetitionRequestAction {\n type: typeof JOB.LOAD_JOB_COMPETITORS_REQUEST;\n}\n\ninterface LoadJobCompetitionSuccessAction {\n type: typeof JOB.LOAD_JOB_COMPETITORS_SUCCESS;\n data: {\n competitors: RawJob[];\n };\n}\n\ninterface LoadJobCompetitionFailureAction {\n type: typeof JOB.LOAD_JOB_COMPETITORS_FAILURE;\n data: {\n error?: YTError;\n };\n}\n\nexport type LoadCompetitorsAction =\n | LoadJobCompetitionRequestAction\n | LoadJobCompetitionSuccessAction\n | LoadJobCompetitionFailureAction;\n\nexport function loadCompetitors(\n operationID: string,\n jobCompetitionID: string,\n): ThunkAction<Promise<void>, RootState, unknown, Action<string>> {\n return (dispatch) => {\n dispatch({type: JOB.LOAD_JOB_COMPETITORS_REQUEST});\n\n return yt.v3\n .listJobs(\n {\n operation_id: operationID,\n job_competition_id: jobCompetitionID,\n },\n requests.saveCancelToken,\n )\n .then((competitors: CompetitiveJobs) => {\n dispatch({\n type: JOB.LOAD_JOB_COMPETITORS_SUCCESS,\n data: {competitors: competitors.jobs},\n });\n })\n .catch((error: YTError) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: JOB.LOAD_JOB_COMPETITORS_CANCELLED});\n } else {\n toaster.add({\n type: 'error',\n name: 'job competitors',\n autoHiding: 10000,\n content: error?.message || 'Oops, something went wrong',\n title: \"Failed to load job's competitors\",\n });\n\n dispatch({\n type: JOB.LOAD_JOB_COMPETITORS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\ninterface AbortAndResetAction {\n type: typeof JOB.LOAD_JOB_COMPETITORS_CANCELLED;\n}\n\nexport function abortAndReset(): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.LOAD_JOB_COMPETITORS_CANCELLED});\n };\n}\n\nexport type CompetitorsActionType = LoadCompetitorsAction | AbortAndResetAction;\n"],"mappings":"AAAA,SAAQA,OAAO,QAAO,mBAAmB;AAEzC;AACA,OAAOC,EAAE,MAAM,qCAAqC;AAIpD,OAAOC,YAAY,MAAM,8BAA8B;AACvD,OAAO,KAAKC,GAAG,MAAM,wBAAwB;AAI7C,IAAMC,QAAQ,GAAG,IAAIF,YAAY,CAAC,CAAC;AACnC,IAAMG,OAAO,GAAG,IAAIL,OAAO,CAAC,CAAC;AAyB7B,OAAO,SAASM,eAAeA,CAC3BC,WAAmB,EACnBC,gBAAwB,EACsC;EAC9D,OAAO,UAACC,QAAQ,EAAK;IACjBA,QAAQ,CAAC;MAACC,IAAI,EAAEP,GAAG,CAACQ;IAA4B,CAAC,CAAC;IAElD,OAAOV,EAAE,CAACW,EAAE,CACPC,QAAQ,CACL;MACIC,YAAY,EAAEP,WAAW;MACzBQ,kBAAkB,EAAEP;IACxB,CAAC,EACDJ,QAAQ,CAACY,eACb,CAAC,CACAC,IAAI,CAAC,UAACC,WAA4B,EAAK;MACpCT,QAAQ,CAAC;QACLC,IAAI,EAAEP,GAAG,CAACgB,4BAA4B;QACtCC,IAAI,EAAE;UAACF,WAAW,EAAEA,WAAW,CAACG;QAAI;MACxC,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACC,KAAc,EAAK;MACvB,IAAIA,KAAK,CAACC,IAAI,KAAKtB,EAAE,CAACuB,KAAK,CAACC,SAAS,EAAE;QACnChB,QAAQ,CAAC;UAACC,IAAI,EAAEP,GAAG,CAACuB;QAA8B,CAAC,CAAC;MACxD,CAAC,MAAM;QACHrB,OAAO,CAACsB,GAAG,CAAC;UACRjB,IAAI,EAAE,OAAO;UACbkB,IAAI,EAAE,iBAAiB;UACvBC,UAAU,EAAE,KAAK;UACjBC,OAAO,EAAE,CAAAR,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,OAAO,KAAI,4BAA4B;UACvDC,KAAK,EAAE;QACX,CAAC,CAAC;QAEFvB,QAAQ,CAAC;UACLC,IAAI,EAAEP,GAAG,CAAC8B,4BAA4B;UACtCb,IAAI,EAAE;YAACE,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAMA,OAAO,SAASY,aAAaA,CAAA,EAA0D;EACnF,OAAO,UAACzB,QAAQ,EAAK;IACjBL,QAAQ,CAAC+B,iBAAiB,CAAC,CAAC;IAC5B1B,QAAQ,CAAC;MAACC,IAAI,EAAEP,GAAG,CAACuB;IAA8B,CAAC,CAAC;EACxD,CAAC;AACL"}
1
+ {"version":3,"names":["Toaster","yt","CancelHelper","JOB","requests","toaster","loadCompetitors","operationID","jobCompetitionID","dispatch","type","LOAD_JOB_COMPETITORS_REQUEST","v3","listJobs","parameters","operation_id","job_competition_id","cancellation","saveCancelToken","then","competitors","LOAD_JOB_COMPETITORS_SUCCESS","data","jobs","error","code","codes","CANCELLED","LOAD_JOB_COMPETITORS_CANCELLED","add","name","autoHiding","content","message","title","LOAD_JOB_COMPETITORS_FAILURE","abortAndReset","removeAllRequests"],"sources":["competitors.ts"],"sourcesContent":["import {Toaster} from '@gravity-ui/uikit';\nimport {ThunkAction} from 'redux-thunk';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {CompetitiveJobs, RawJob} from '../../../types/job';\nimport {RootState} from '../../../store/reducers';\nimport CancelHelper from '../../../utils/cancel-helper';\nimport * as JOB from '../../../constants/job';\nimport {YTError} from '../../../types';\nimport {Action} from 'redux';\n\nconst requests = new CancelHelper();\nconst toaster = new Toaster();\n\ninterface LoadJobCompetitionRequestAction {\n type: typeof JOB.LOAD_JOB_COMPETITORS_REQUEST;\n}\n\ninterface LoadJobCompetitionSuccessAction {\n type: typeof JOB.LOAD_JOB_COMPETITORS_SUCCESS;\n data: {\n competitors: RawJob[];\n };\n}\n\ninterface LoadJobCompetitionFailureAction {\n type: typeof JOB.LOAD_JOB_COMPETITORS_FAILURE;\n data: {\n error?: YTError;\n };\n}\n\nexport type LoadCompetitorsAction =\n | LoadJobCompetitionRequestAction\n | LoadJobCompetitionSuccessAction\n | LoadJobCompetitionFailureAction;\n\nexport function loadCompetitors(\n operationID: string,\n jobCompetitionID: string,\n): ThunkAction<Promise<void>, RootState, unknown, Action<string>> {\n return (dispatch) => {\n dispatch({type: JOB.LOAD_JOB_COMPETITORS_REQUEST});\n\n return yt.v3\n .listJobs({\n parameters: {\n operation_id: operationID,\n job_competition_id: jobCompetitionID,\n },\n cancellation: requests.saveCancelToken,\n })\n .then((competitors: CompetitiveJobs) => {\n dispatch({\n type: JOB.LOAD_JOB_COMPETITORS_SUCCESS,\n data: {competitors: competitors.jobs},\n });\n })\n .catch((error: YTError) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: JOB.LOAD_JOB_COMPETITORS_CANCELLED});\n } else {\n toaster.add({\n type: 'error',\n name: 'job competitors',\n autoHiding: 10000,\n content: error?.message || 'Oops, something went wrong',\n title: \"Failed to load job's competitors\",\n });\n\n dispatch({\n type: JOB.LOAD_JOB_COMPETITORS_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\ninterface AbortAndResetAction {\n type: typeof JOB.LOAD_JOB_COMPETITORS_CANCELLED;\n}\n\nexport function abortAndReset(): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.LOAD_JOB_COMPETITORS_CANCELLED});\n };\n}\n\nexport type CompetitorsActionType = LoadCompetitorsAction | AbortAndResetAction;\n"],"mappings":"AAAA,SAAQA,OAAO,QAAO,mBAAmB;AAEzC;AACA,OAAOC,EAAE,MAAM,qCAAqC;AAIpD,OAAOC,YAAY,MAAM,8BAA8B;AACvD,OAAO,KAAKC,GAAG,MAAM,wBAAwB;AAI7C,IAAMC,QAAQ,GAAG,IAAIF,YAAY,CAAC,CAAC;AACnC,IAAMG,OAAO,GAAG,IAAIL,OAAO,CAAC,CAAC;AAyB7B,OAAO,SAASM,eAAeA,CAC3BC,WAAmB,EACnBC,gBAAwB,EACsC;EAC9D,OAAO,UAACC,QAAQ,EAAK;IACjBA,QAAQ,CAAC;MAACC,IAAI,EAAEP,GAAG,CAACQ;IAA4B,CAAC,CAAC;IAElD,OAAOV,EAAE,CAACW,EAAE,CACPC,QAAQ,CAAC;MACNC,UAAU,EAAE;QACRC,YAAY,EAAER,WAAW;QACzBS,kBAAkB,EAAER;MACxB,CAAC;MACDS,YAAY,EAAEb,QAAQ,CAACc;IAC3B,CAAC,CAAC,CACDC,IAAI,CAAC,UAACC,WAA4B,EAAK;MACpCX,QAAQ,CAAC;QACLC,IAAI,EAAEP,GAAG,CAACkB,4BAA4B;QACtCC,IAAI,EAAE;UAACF,WAAW,EAAEA,WAAW,CAACG;QAAI;MACxC,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACC,KAAc,EAAK;MACvB,IAAIA,KAAK,CAACC,IAAI,KAAKxB,EAAE,CAACyB,KAAK,CAACC,SAAS,EAAE;QACnClB,QAAQ,CAAC;UAACC,IAAI,EAAEP,GAAG,CAACyB;QAA8B,CAAC,CAAC;MACxD,CAAC,MAAM;QACHvB,OAAO,CAACwB,GAAG,CAAC;UACRnB,IAAI,EAAE,OAAO;UACboB,IAAI,EAAE,iBAAiB;UACvBC,UAAU,EAAE,KAAK;UACjBC,OAAO,EAAE,CAAAR,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,OAAO,KAAI,4BAA4B;UACvDC,KAAK,EAAE;QACX,CAAC,CAAC;QAEFzB,QAAQ,CAAC;UACLC,IAAI,EAAEP,GAAG,CAACgC,4BAA4B;UACtCb,IAAI,EAAE;YAACE,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAMA,OAAO,SAASY,aAAaA,CAAA,EAA0D;EACnF,OAAO,UAAC3B,QAAQ,EAAK;IACjBL,QAAQ,CAACiC,iBAAiB,CAAC,CAAC;IAC5B5B,QAAQ,CAAC;MAACC,IAAI,EAAEP,GAAG,CAACyB;IAA8B,CAAC,CAAC;EACxD,CAAC;AACL"}
@@ -11,9 +11,12 @@ export function loadJobData(operationID, jobID) {
11
11
  });
12
12
  var clusterConfig = getCurrentClusterConfig(getState());
13
13
  return yt.v3.getJob({
14
- operation_id: operationID,
15
- job_id: jobID
16
- }, requests.saveCancelToken).then(function (job) {
14
+ parameters: {
15
+ operation_id: operationID,
16
+ job_id: jobID
17
+ },
18
+ cancellation: requests.saveCancelToken
19
+ }).then(function (job) {
17
20
  dispatch({
18
21
  type: JOB.LOAD_JOB_DATA_SUCCESS,
19
22
  data: {
@@ -1 +1 @@
1
- {"version":3,"names":["JOB","CancelHelper","yt","getCurrentClusterConfig","requests","loadJobData","operationID","jobID","dispatch","getState","type","LOAD_JOB_DATA_REQUEST","clusterConfig","v3","getJob","operation_id","job_id","saveCancelToken","then","job","LOAD_JOB_DATA_SUCCESS","data","error","code","codes","CANCELLED","LOAD_JOB_DATA_CANCELLED","LOAD_JOB_DATA_FAILURE","abortAndReset","removeAllRequests"],"sources":["general.ts"],"sourcesContent":["import * as JOB from '../../../constants/job';\nimport CancelHelper from '../../../utils/cancel-helper';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {getCurrentClusterConfig} from '../../../store/selectors/global';\nimport {RawJob} from '../../../types/job';\nimport {RootState} from '../../../store/reducers';\nimport {ThunkAction} from 'redux-thunk';\nimport {YTError} from '../../../types';\nimport {Action} from 'redux';\n\nconst requests = new CancelHelper();\n\ninterface LoadJobDataRequestAction {\n type: typeof JOB.LOAD_JOB_DATA_REQUEST;\n}\n\ninterface LoadJobDataSuccessAction {\n type: typeof JOB.LOAD_JOB_DATA_SUCCESS;\n data: {\n job: RawJob;\n clusterConfig: {id: string; proxy: string; externalProxy?: string};\n };\n}\n\ninterface LoadJobDataFailureAction {\n type: typeof JOB.LOAD_JOB_DATA_FAILURE;\n data: {\n error: YTError;\n };\n}\n\ntype LoadJobDataAction =\n | LoadJobDataRequestAction\n | LoadJobDataSuccessAction\n | LoadJobDataFailureAction;\n\nexport function loadJobData(\n operationID: string,\n jobID: string,\n): ThunkAction<Promise<void>, RootState, unknown, GeneralActionType> {\n return (dispatch, getState) => {\n dispatch({type: JOB.LOAD_JOB_DATA_REQUEST});\n\n const clusterConfig = getCurrentClusterConfig(getState());\n\n return yt.v3\n .getJob(\n {\n operation_id: operationID,\n job_id: jobID,\n },\n requests.saveCancelToken,\n )\n .then((job: RawJob) => {\n dispatch({\n type: JOB.LOAD_JOB_DATA_SUCCESS,\n data: {job, clusterConfig},\n });\n })\n .catch((error: YTError) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: JOB.LOAD_JOB_DATA_CANCELLED});\n } else {\n dispatch({\n type: JOB.LOAD_JOB_DATA_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\ninterface AbortAndResetAction {\n type: typeof JOB.LOAD_JOB_DATA_CANCELLED;\n}\n\nexport function abortAndReset(): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.LOAD_JOB_DATA_CANCELLED});\n };\n}\n\nexport type GeneralActionType = LoadJobDataAction | AbortAndResetAction;\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,wBAAwB;AAC7C,OAAOC,YAAY,MAAM,8BAA8B;AACvD;AACA,OAAOC,EAAE,MAAM,qCAAqC;AAEpD,SAAQC,uBAAuB,QAAO,iCAAiC;AAOvE,IAAMC,QAAQ,GAAG,IAAIH,YAAY,CAAC,CAAC;AA0BnC,OAAO,SAASI,WAAWA,CACvBC,WAAmB,EACnBC,KAAa,EACoD;EACjE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3BD,QAAQ,CAAC;MAACE,IAAI,EAAEV,GAAG,CAACW;IAAqB,CAAC,CAAC;IAE3C,IAAMC,aAAa,GAAGT,uBAAuB,CAACM,QAAQ,CAAC,CAAC,CAAC;IAEzD,OAAOP,EAAE,CAACW,EAAE,CACPC,MAAM,CACH;MACIC,YAAY,EAAET,WAAW;MACzBU,MAAM,EAAET;IACZ,CAAC,EACDH,QAAQ,CAACa,eACb,CAAC,CACAC,IAAI,CAAC,UAACC,GAAW,EAAK;MACnBX,QAAQ,CAAC;QACLE,IAAI,EAAEV,GAAG,CAACoB,qBAAqB;QAC/BC,IAAI,EAAE;UAACF,GAAG,EAAHA,GAAG;UAAEP,aAAa,EAAbA;QAAa;MAC7B,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACU,KAAc,EAAK;MACvB,IAAIA,KAAK,CAACC,IAAI,KAAKrB,EAAE,CAACsB,KAAK,CAACC,SAAS,EAAE;QACnCjB,QAAQ,CAAC;UAACE,IAAI,EAAEV,GAAG,CAAC0B;QAAuB,CAAC,CAAC;MACjD,CAAC,MAAM;QACHlB,QAAQ,CAAC;UACLE,IAAI,EAAEV,GAAG,CAAC2B,qBAAqB;UAC/BN,IAAI,EAAE;YAACC,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAMA,OAAO,SAASM,aAAaA,CAAA,EAA0D;EACnF,OAAO,UAACpB,QAAQ,EAAK;IACjBJ,QAAQ,CAACyB,iBAAiB,CAAC,CAAC;IAC5BrB,QAAQ,CAAC;MAACE,IAAI,EAAEV,GAAG,CAAC0B;IAAuB,CAAC,CAAC;EACjD,CAAC;AACL"}
1
+ {"version":3,"names":["JOB","CancelHelper","yt","getCurrentClusterConfig","requests","loadJobData","operationID","jobID","dispatch","getState","type","LOAD_JOB_DATA_REQUEST","clusterConfig","v3","getJob","parameters","operation_id","job_id","cancellation","saveCancelToken","then","job","LOAD_JOB_DATA_SUCCESS","data","error","code","codes","CANCELLED","LOAD_JOB_DATA_CANCELLED","LOAD_JOB_DATA_FAILURE","abortAndReset","removeAllRequests"],"sources":["general.ts"],"sourcesContent":["import * as JOB from '../../../constants/job';\nimport CancelHelper from '../../../utils/cancel-helper';\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {getCurrentClusterConfig} from '../../../store/selectors/global';\nimport {RawJob} from '../../../types/job';\nimport {RootState} from '../../../store/reducers';\nimport {ThunkAction} from 'redux-thunk';\nimport {YTError} from '../../../types';\nimport {Action} from 'redux';\n\nconst requests = new CancelHelper();\n\ninterface LoadJobDataRequestAction {\n type: typeof JOB.LOAD_JOB_DATA_REQUEST;\n}\n\ninterface LoadJobDataSuccessAction {\n type: typeof JOB.LOAD_JOB_DATA_SUCCESS;\n data: {\n job: RawJob;\n clusterConfig: {id: string; proxy: string; externalProxy?: string};\n };\n}\n\ninterface LoadJobDataFailureAction {\n type: typeof JOB.LOAD_JOB_DATA_FAILURE;\n data: {\n error: YTError;\n };\n}\n\ntype LoadJobDataAction =\n | LoadJobDataRequestAction\n | LoadJobDataSuccessAction\n | LoadJobDataFailureAction;\n\nexport function loadJobData(\n operationID: string,\n jobID: string,\n): ThunkAction<Promise<void>, RootState, unknown, GeneralActionType> {\n return (dispatch, getState) => {\n dispatch({type: JOB.LOAD_JOB_DATA_REQUEST});\n\n const clusterConfig = getCurrentClusterConfig(getState());\n\n return yt.v3\n .getJob({\n parameters: {\n operation_id: operationID,\n job_id: jobID,\n },\n cancellation: requests.saveCancelToken,\n })\n .then((job: RawJob) => {\n dispatch({\n type: JOB.LOAD_JOB_DATA_SUCCESS,\n data: {job, clusterConfig},\n });\n })\n .catch((error: YTError) => {\n if (error.code === yt.codes.CANCELLED) {\n dispatch({type: JOB.LOAD_JOB_DATA_CANCELLED});\n } else {\n dispatch({\n type: JOB.LOAD_JOB_DATA_FAILURE,\n data: {error},\n });\n }\n });\n };\n}\n\ninterface AbortAndResetAction {\n type: typeof JOB.LOAD_JOB_DATA_CANCELLED;\n}\n\nexport function abortAndReset(): ThunkAction<void, RootState, unknown, Action<string>> {\n return (dispatch) => {\n requests.removeAllRequests();\n dispatch({type: JOB.LOAD_JOB_DATA_CANCELLED});\n };\n}\n\nexport type GeneralActionType = LoadJobDataAction | AbortAndResetAction;\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,wBAAwB;AAC7C,OAAOC,YAAY,MAAM,8BAA8B;AACvD;AACA,OAAOC,EAAE,MAAM,qCAAqC;AAEpD,SAAQC,uBAAuB,QAAO,iCAAiC;AAOvE,IAAMC,QAAQ,GAAG,IAAIH,YAAY,CAAC,CAAC;AA0BnC,OAAO,SAASI,WAAWA,CACvBC,WAAmB,EACnBC,KAAa,EACoD;EACjE,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3BD,QAAQ,CAAC;MAACE,IAAI,EAAEV,GAAG,CAACW;IAAqB,CAAC,CAAC;IAE3C,IAAMC,aAAa,GAAGT,uBAAuB,CAACM,QAAQ,CAAC,CAAC,CAAC;IAEzD,OAAOP,EAAE,CAACW,EAAE,CACPC,MAAM,CAAC;MACJC,UAAU,EAAE;QACRC,YAAY,EAAEV,WAAW;QACzBW,MAAM,EAAEV;MACZ,CAAC;MACDW,YAAY,EAAEd,QAAQ,CAACe;IAC3B,CAAC,CAAC,CACDC,IAAI,CAAC,UAACC,GAAW,EAAK;MACnBb,QAAQ,CAAC;QACLE,IAAI,EAAEV,GAAG,CAACsB,qBAAqB;QAC/BC,IAAI,EAAE;UAACF,GAAG,EAAHA,GAAG;UAAET,aAAa,EAAbA;QAAa;MAC7B,CAAC,CAAC;IACN,CAAC,CAAC,SACI,CAAC,UAACY,KAAc,EAAK;MACvB,IAAIA,KAAK,CAACC,IAAI,KAAKvB,EAAE,CAACwB,KAAK,CAACC,SAAS,EAAE;QACnCnB,QAAQ,CAAC;UAACE,IAAI,EAAEV,GAAG,CAAC4B;QAAuB,CAAC,CAAC;MACjD,CAAC,MAAM;QACHpB,QAAQ,CAAC;UACLE,IAAI,EAAEV,GAAG,CAAC6B,qBAAqB;UAC/BN,IAAI,EAAE;YAACC,KAAK,EAALA;UAAK;QAChB,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;EACV,CAAC;AACL;AAMA,OAAO,SAASM,aAAaA,CAAA,EAA0D;EACnF,OAAO,UAACtB,QAAQ,EAAK;IACjBJ,QAAQ,CAAC2B,iBAAiB,CAAC,CAAC;IAC5BvB,QAAQ,CAAC;MAACE,IAAI,EAAEV,GAAG,CAAC4B;IAAuB,CAAC,CAAC;EACjD,CAAC;AACL"}