@ytsaurus/ui 1.20.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/build/cjs/@types/core.d.ts +1 -1
  2. package/build/cjs/server/ServerFactory.d.ts +3 -0
  3. package/build/cjs/server/ServerFactory.js +3 -0
  4. package/build/cjs/server/ServerFactory.js.map +1 -1
  5. package/build/cjs/server/controllers/availability.js +36 -18
  6. package/build/cjs/server/controllers/availability.js.map +1 -1
  7. package/build/cjs/server/controllers/odin-proxy-api.js +3 -4
  8. package/build/cjs/server/controllers/odin-proxy-api.js.map +1 -1
  9. package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/helpers/getComponentByContentType.js +2 -0
  10. package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/helpers/getComponentByContentType.js.map +1 -1
  11. package/build/cjs/ui/pages/odin/_actions/odin-overview.js +1 -1
  12. package/build/cjs/ui/pages/odin/_actions/odin-overview.js.map +1 -1
  13. package/build/cjs/ui/pages/odin/controls/OdinToolbar.js +2 -1
  14. package/build/cjs/ui/pages/odin/controls/OdinToolbar.js.map +1 -1
  15. package/build/cjs/ui/pages/odin/odin-utils.d.ts +1 -1
  16. package/build/cjs/ui/pages/odin/odin-utils.js +2 -2
  17. package/build/cjs/ui/pages/odin/odin-utils.js.map +1 -1
  18. package/build/cjs/ui/store/actions/operations/jobs-monitor.js +5 -3
  19. package/build/cjs/ui/store/actions/operations/jobs-monitor.js.map +1 -1
  20. package/build/cjs/ui/store/selectors/operations/operation.d.ts +8 -1676
  21. package/build/cjs/ui/store/selectors/operations/operation.js +9 -12
  22. package/build/cjs/ui/store/selectors/operations/operation.js.map +1 -1
  23. package/build/cjs/ui/utils/navigation/path-editor.js +1 -0
  24. package/build/cjs/ui/utils/navigation/path-editor.js.map +1 -1
  25. package/build/esm/@types/core.d.ts +1 -1
  26. package/build/esm/server/ServerFactory.d.ts +3 -0
  27. package/build/esm/server/ServerFactory.js +4 -0
  28. package/build/esm/server/ServerFactory.js.map +1 -1
  29. package/build/esm/server/controllers/availability.js +43 -23
  30. package/build/esm/server/controllers/availability.js.map +1 -1
  31. package/build/esm/server/controllers/odin-proxy-api.js +9 -10
  32. package/build/esm/server/controllers/odin-proxy-api.js.map +1 -1
  33. package/build/esm/ui/pages/navigation/Navigation/ContentViewer/helpers/getComponentByContentType.js +2 -0
  34. package/build/esm/ui/pages/navigation/Navigation/ContentViewer/helpers/getComponentByContentType.js.map +1 -1
  35. package/build/esm/ui/pages/odin/_actions/odin-overview.js +1 -1
  36. package/build/esm/ui/pages/odin/_actions/odin-overview.js.map +1 -1
  37. package/build/esm/ui/pages/odin/controls/OdinToolbar.js +3 -2
  38. package/build/esm/ui/pages/odin/controls/OdinToolbar.js.map +1 -1
  39. package/build/esm/ui/pages/odin/odin-utils.d.ts +1 -1
  40. package/build/esm/ui/pages/odin/odin-utils.js +2 -2
  41. package/build/esm/ui/pages/odin/odin-utils.js.map +1 -1
  42. package/build/esm/ui/store/actions/operations/jobs-monitor.js +6 -4
  43. package/build/esm/ui/store/actions/operations/jobs-monitor.js.map +1 -1
  44. package/build/esm/ui/store/selectors/operations/operation.d.ts +8 -1676
  45. package/build/esm/ui/store/selectors/operations/operation.js +8 -11
  46. package/build/esm/ui/store/selectors/operations/operation.js.map +1 -1
  47. package/build/esm/ui/utils/navigation/path-editor.js +1 -0
  48. package/build/esm/ui/utils/navigation/path-editor.js.map +1 -1
  49. package/dist/public/build/assets-manifest.json +8 -8
  50. package/dist/public/build/js/main.724df837.js +3 -0
  51. package/dist/public/build/js/{main.5ce7c259.js.map → main.724df837.js.map} +1 -1
  52. package/dist/public/build/js/vendors.e6a251eb.js +3 -0
  53. package/dist/public/build/js/vendors.e6a251eb.js.map +1 -0
  54. package/dist/public/build/manifest.json +4 -4
  55. package/dist/server/ServerFactory.d.ts +3 -0
  56. package/dist/server/ServerFactory.js +3 -0
  57. package/dist/server/controllers/availability.js +36 -18
  58. package/dist/server/controllers/odin-proxy-api.js +3 -4
  59. package/package.json +2 -2
  60. package/dist/public/build/js/main.5ce7c259.js +0 -3
  61. package/dist/public/build/js/vendors.3a95f920.js +0 -3
  62. package/dist/public/build/js/vendors.3a95f920.js.map +0 -1
  63. /package/dist/public/build/js/{main.5ce7c259.js.LICENSE.txt → main.724df837.js.LICENSE.txt} +0 -0
  64. /package/dist/public/build/js/{vendors.3a95f920.js.LICENSE.txt → vendors.e6a251eb.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_forEach","_map","Utils","ODIN_OVERVIEW_CANCELLED","ODIN_OVERVIEW_FAILED","ODIN_OVERVIEW_HIDDEN_METRICS","ODIN_OVERVIEW_PARTIAL","ODIN_OVERVIEW_SUCCESS","getOdinLastVisitedTab","getOdinOverviewClusterMetrics","getOdinOverviewData","getOdinOverviewDataCluster","getOdinOverviewDateFrom","getOdinOverviewDateTo","getOdinOverviewHiddenMetrics","getOdinOverviewVisiblePresets","reloadSetting","setSetting","Toaster","showErrorPopup","NAMESPACES","ODIN_LAST_VISITED_TAB","ODIN_VISIBLE_METRIC_PRESETS","YA_NAMESPACES","getCluterHelper","gs","COUNT_OF_MINUTES","fetchOdinOverview","cluster","dispatch","getState","data","_ref","cancel","type","clusterMetrics","dataCluster","listMetrics","then","to","Date","from","getTime","dateFrom","dateTo","hiddenMetrics","forEach","_ref2","name","fetchMetricData","error","isRequestCanceled","Promise","reject","_ref3","getMetric","c","d","_objectSpread","_defineProperty","metricData","prepareAvailabilityData","reloadOdinOverviewMetricData","metricName","state","toggleOdinOverviewMetricVisibility","odinOverviewSetAllMetricsVisible","value","oldHhiddenMetrics","toReload","metrics","_ref4","__","odinOverviewShowCreatePresetDialog","showCreatePresetDialog","odinOverviewAddPreset","isDefault","toHide","ODIN","presets","_toConsumableArray","push","hiddenMetricNames","_","odinOverviewToggleDefaultPreset","_error$response","response","message","add","autoHiding","content","title","actions","label","onClick","odinOverviewSetPresetToRemove","presetToRemove","odinOverviewRemovePreset","oldPresets","filter","item","_error$response2","i","length","_error$response3","odinOverviewSelectPreset","preset","find","oldHiddenMetrics","setOdinLastVisitedTab","tab","current","GLOBAL"],"sources":["odin-overview.ts"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport _forEach from 'lodash/forEach';\nimport _map from 'lodash/map';\n\nimport Utils from '../odin-utils';\nimport {RootState} from '../../../store/reducers';\nimport {OdinOverviewAction, OdinOverviewState} from '../_reducers/odin-overview';\nimport {\n ODIN_OVERVIEW_CANCELLED,\n ODIN_OVERVIEW_FAILED,\n ODIN_OVERVIEW_HIDDEN_METRICS,\n ODIN_OVERVIEW_PARTIAL,\n ODIN_OVERVIEW_SUCCESS,\n} from '../odin-constants';\nimport {\n getOdinLastVisitedTab,\n getOdinOverviewClusterMetrics,\n getOdinOverviewData,\n getOdinOverviewDataCluster,\n getOdinOverviewDateFrom,\n getOdinOverviewDateTo,\n getOdinOverviewHiddenMetrics,\n getOdinOverviewVisiblePresets,\n} from '../_selectors/odin-overview';\nimport {reloadSetting, setSetting} from '../../../store/actions/settings';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {showErrorPopup} from '../../../utils/utils';\nimport {NAMESPACES} from '../../../../shared/constants/settings';\nimport {ODIN_LAST_VISITED_TAB, ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES} from '../odin-settings';\nimport {OdinRootState} from '../_reducers';\n\ntype OdinOverviewThunkAction = ThunkAction<any, OdinRootState & RootState, any, OdinOverviewAction>;\n\nfunction getCluterHelper(gs: () => OdinRootState) {\n return getOdinOverviewDataCluster(gs());\n}\n\nconst COUNT_OF_MINUTES = 30;\n\nexport function fetchOdinOverview(cluster: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n if (getCluterHelper(getState) !== cluster) {\n const data = getOdinOverviewData(getState());\n _forEach(data, ({cancel}) => {\n if (cancel) {\n cancel();\n }\n });\n dispatch({\n type: ODIN_OVERVIEW_PARTIAL,\n data: {data: {}, clusterMetrics: [], dataCluster: cluster},\n });\n }\n\n return Utils.listMetrics()\n .then((clusterMetrics) => {\n if (getCluterHelper(getState) !== cluster) {\n return;\n }\n\n const to = new Date();\n const from = new Date(to.getTime() - COUNT_OF_MINUTES * 60 * 1000);\n dispatch({\n type: ODIN_OVERVIEW_SUCCESS,\n data: {clusterMetrics, dateFrom: from, dateTo: to},\n });\n\n const hiddenMetrics = getOdinOverviewHiddenMetrics(getState());\n clusterMetrics.forEach(({name}) => {\n if (!hiddenMetrics[name]) {\n dispatch(fetchMetricData(cluster, name, from, to));\n }\n });\n })\n .catch((error) => {\n if (Utils.isRequestCanceled(error)) {\n dispatch({type: ODIN_OVERVIEW_CANCELLED});\n } else {\n dispatch({type: ODIN_OVERVIEW_FAILED, data: error});\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function fetchMetricData(\n cluster: string,\n name: string,\n from: Date,\n to: Date,\n): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n let {cancel} = getOdinOverviewData(getState())[name] || {};\n if (cancel) {\n cancel();\n }\n\n return Utils.getMetric(cluster, name, from, to, (c) => {\n cancel = c.cancel;\n })\n .then((d) => {\n if (getCluterHelper(getState) !== cluster) {\n return;\n }\n\n const data = {\n ...getOdinOverviewData(getState()),\n [name]: {\n cancel,\n metricData: Utils.prepareAvailabilityData(d, COUNT_OF_MINUTES),\n },\n };\n dispatch({type: ODIN_OVERVIEW_PARTIAL, data: {data}});\n })\n .catch((error) => {\n if (!Utils.isRequestCanceled(error)) {\n const data = {\n ...getOdinOverviewData(getState()),\n [name]: {error},\n };\n dispatch({type: ODIN_OVERVIEW_PARTIAL, data: {data}});\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function reloadOdinOverviewMetricData(metricName: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const cluster = getOdinOverviewDataCluster(state);\n const from = getOdinOverviewDateFrom(state);\n const to = getOdinOverviewDateTo(state);\n if (from && to) {\n dispatch(fetchMetricData(cluster, metricName, from, to));\n }\n };\n}\n\nexport function toggleOdinOverviewMetricVisibility(metricName: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const hiddenMetrics = {...getOdinOverviewHiddenMetrics(getState())};\n if (hiddenMetrics[metricName]) {\n delete hiddenMetrics[metricName];\n } else {\n hiddenMetrics[metricName] = true;\n }\n dispatch({\n type: ODIN_OVERVIEW_HIDDEN_METRICS,\n data: {hiddenMetrics},\n });\n if (!hiddenMetrics[metricName]) {\n dispatch(reloadOdinOverviewMetricData(metricName));\n }\n };\n}\n\nexport function odinOverviewSetAllMetricsVisible(value: boolean): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldHhiddenMetrics = getOdinOverviewHiddenMetrics(state);\n let toReload: Array<string> = [];\n const hiddenMetrics: typeof oldHhiddenMetrics = {};\n if (!value) {\n const metrics = getOdinOverviewClusterMetrics(state);\n metrics.forEach(({name}) => {\n hiddenMetrics[name] = true;\n });\n } else {\n toReload = _map(oldHhiddenMetrics, (__: boolean, name: string) => name);\n }\n\n dispatch({\n type: ODIN_OVERVIEW_HIDDEN_METRICS,\n data: {hiddenMetrics},\n });\n\n toReload.forEach((name) => {\n dispatch(reloadOdinOverviewMetricData(name));\n });\n };\n}\n\nexport function odinOverviewShowCreatePresetDialog(\n showCreatePresetDialog: boolean,\n): OdinOverviewAction {\n return {type: ODIN_OVERVIEW_PARTIAL, data: {showCreatePresetDialog}};\n}\n\nexport function odinOverviewAddPreset(name: string, isDefault: boolean): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const toHide = getOdinOverviewHiddenMetrics(getState());\n return dispatch(reloadSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN)).then(() => {\n const presets = [...getOdinOverviewVisiblePresets(getState())];\n presets.push({\n name,\n hiddenMetricNames: _map(toHide, (_, name) => name),\n });\n return dispatch(setSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN, presets))\n .then(() => {\n if (isDefault) {\n return dispatch(odinOverviewToggleDefaultPreset(name));\n }\n })\n .catch((error: any) => {\n const data = error?.response?.data || error;\n const {message} = data;\n\n new Toaster().add({\n name: 'add-preset',\n autoHiding: false,\n type: 'error',\n content: message,\n title: 'Failed to crete preset',\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(data),\n },\n ],\n });\n });\n });\n };\n}\n\nexport function odinOverviewSetPresetToRemove(\n name: OdinOverviewState['presetToRemove'],\n): OdinOverviewThunkAction {\n return (dispatch) => {\n dispatch({\n type: ODIN_OVERVIEW_PARTIAL,\n data: {presetToRemove: name},\n });\n };\n}\n\nexport function odinOverviewRemovePreset(name: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n return dispatch(reloadSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN))\n .then(() => {\n const oldPresets = getOdinOverviewVisiblePresets(getState());\n const presets = oldPresets.filter((item) => item.name !== name);\n return dispatch(\n setSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN, presets),\n );\n })\n .catch((error: any) => {\n const data = error?.response?.data || error;\n const {message} = data;\n\n new Toaster().add({\n name: 'delete-preset',\n autoHiding: false,\n type: 'error',\n content: message,\n title: 'Failed to delete the preset',\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n });\n };\n}\n\nexport function odinOverviewToggleDefaultPreset(name: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n return dispatch(reloadSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN)).then(() => {\n const presets = [...getOdinOverviewVisiblePresets(getState())];\n for (let i = 0; i < presets.length; ++i) {\n const item = presets[i];\n if (item.name === name) {\n presets[i] = {...item, isDefault: !item.isDefault};\n } else if (item.isDefault) {\n presets[i] = {...item};\n delete presets[i]['isDefault'];\n }\n }\n return dispatch(\n setSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN, presets),\n ).catch((error: any) => {\n const data = error?.response?.data || error;\n const {message} = data;\n\n new Toaster().add({\n name: 'set-deault-preset',\n autoHiding: false,\n type: 'error',\n content: message,\n title: 'Failed to set the preset as default',\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n });\n });\n };\n}\n\nexport function odinOverviewSelectPreset(name: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const presets = getOdinOverviewVisiblePresets(state);\n const preset = presets.find((item) => item.name === name);\n if (preset) {\n const {hiddenMetricNames} = preset;\n const hiddenMetrics: OdinOverviewState['hiddenMetrics'] = {};\n hiddenMetricNames.forEach((name) => {\n hiddenMetrics[name] = true;\n });\n dispatch({\n type: ODIN_OVERVIEW_HIDDEN_METRICS,\n data: {hiddenMetrics},\n });\n\n const oldHiddenMetrics = getOdinOverviewHiddenMetrics(state);\n _forEach(oldHiddenMetrics, (_, name) => {\n if (!hiddenMetrics[name]) {\n dispatch(reloadOdinOverviewMetricData(name));\n }\n });\n }\n };\n}\n\nexport function setOdinLastVisitedTab(tab: string): ThunkAction<any, any, RootState, any> {\n return (dispatch, getState) => {\n const current = getOdinLastVisitedTab(getState());\n if (current !== tab) {\n dispatch(setSetting(ODIN_LAST_VISITED_TAB, NAMESPACES.GLOBAL, tab));\n }\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_forEach","_map","Utils","ODIN_OVERVIEW_CANCELLED","ODIN_OVERVIEW_FAILED","ODIN_OVERVIEW_HIDDEN_METRICS","ODIN_OVERVIEW_PARTIAL","ODIN_OVERVIEW_SUCCESS","getOdinLastVisitedTab","getOdinOverviewClusterMetrics","getOdinOverviewData","getOdinOverviewDataCluster","getOdinOverviewDateFrom","getOdinOverviewDateTo","getOdinOverviewHiddenMetrics","getOdinOverviewVisiblePresets","reloadSetting","setSetting","Toaster","showErrorPopup","NAMESPACES","ODIN_LAST_VISITED_TAB","ODIN_VISIBLE_METRIC_PRESETS","YA_NAMESPACES","getCluterHelper","gs","COUNT_OF_MINUTES","fetchOdinOverview","cluster","dispatch","getState","data","_ref","cancel","type","clusterMetrics","dataCluster","listMetrics","then","to","Date","from","getTime","dateFrom","dateTo","hiddenMetrics","forEach","_ref2","name","fetchMetricData","error","isRequestCanceled","Promise","reject","_ref3","getMetric","c","d","_objectSpread","_defineProperty","metricData","prepareAvailabilityData","reloadOdinOverviewMetricData","metricName","state","toggleOdinOverviewMetricVisibility","odinOverviewSetAllMetricsVisible","value","oldHhiddenMetrics","toReload","metrics","_ref4","__","odinOverviewShowCreatePresetDialog","showCreatePresetDialog","odinOverviewAddPreset","isDefault","toHide","ODIN","presets","_toConsumableArray","push","hiddenMetricNames","_","odinOverviewToggleDefaultPreset","_error$response","response","message","add","autoHiding","content","title","actions","label","onClick","odinOverviewSetPresetToRemove","presetToRemove","odinOverviewRemovePreset","oldPresets","filter","item","_error$response2","i","length","_error$response3","odinOverviewSelectPreset","preset","find","oldHiddenMetrics","setOdinLastVisitedTab","tab","current","GLOBAL"],"sources":["odin-overview.ts"],"sourcesContent":["import {ThunkAction} from 'redux-thunk';\nimport _forEach from 'lodash/forEach';\nimport _map from 'lodash/map';\n\nimport Utils from '../odin-utils';\nimport {RootState} from '../../../store/reducers';\nimport {OdinOverviewAction, OdinOverviewState} from '../_reducers/odin-overview';\nimport {\n ODIN_OVERVIEW_CANCELLED,\n ODIN_OVERVIEW_FAILED,\n ODIN_OVERVIEW_HIDDEN_METRICS,\n ODIN_OVERVIEW_PARTIAL,\n ODIN_OVERVIEW_SUCCESS,\n} from '../odin-constants';\nimport {\n getOdinLastVisitedTab,\n getOdinOverviewClusterMetrics,\n getOdinOverviewData,\n getOdinOverviewDataCluster,\n getOdinOverviewDateFrom,\n getOdinOverviewDateTo,\n getOdinOverviewHiddenMetrics,\n getOdinOverviewVisiblePresets,\n} from '../_selectors/odin-overview';\nimport {reloadSetting, setSetting} from '../../../store/actions/settings';\nimport {Toaster} from '@gravity-ui/uikit';\nimport {showErrorPopup} from '../../../utils/utils';\nimport {NAMESPACES} from '../../../../shared/constants/settings';\nimport {ODIN_LAST_VISITED_TAB, ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES} from '../odin-settings';\nimport {OdinRootState} from '../_reducers';\n\ntype OdinOverviewThunkAction = ThunkAction<any, OdinRootState & RootState, any, OdinOverviewAction>;\n\nfunction getCluterHelper(gs: () => OdinRootState) {\n return getOdinOverviewDataCluster(gs());\n}\n\nconst COUNT_OF_MINUTES = 30;\n\nexport function fetchOdinOverview(cluster: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n if (getCluterHelper(getState) !== cluster) {\n const data = getOdinOverviewData(getState());\n _forEach(data, ({cancel}) => {\n if (cancel) {\n cancel();\n }\n });\n dispatch({\n type: ODIN_OVERVIEW_PARTIAL,\n data: {data: {}, clusterMetrics: [], dataCluster: cluster},\n });\n }\n\n return Utils.listMetrics(cluster)\n .then((clusterMetrics) => {\n if (getCluterHelper(getState) !== cluster) {\n return;\n }\n\n const to = new Date();\n const from = new Date(to.getTime() - COUNT_OF_MINUTES * 60 * 1000);\n dispatch({\n type: ODIN_OVERVIEW_SUCCESS,\n data: {clusterMetrics, dateFrom: from, dateTo: to},\n });\n\n const hiddenMetrics = getOdinOverviewHiddenMetrics(getState());\n clusterMetrics.forEach(({name}) => {\n if (!hiddenMetrics[name]) {\n dispatch(fetchMetricData(cluster, name, from, to));\n }\n });\n })\n .catch((error) => {\n if (Utils.isRequestCanceled(error)) {\n dispatch({type: ODIN_OVERVIEW_CANCELLED});\n } else {\n dispatch({type: ODIN_OVERVIEW_FAILED, data: error});\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function fetchMetricData(\n cluster: string,\n name: string,\n from: Date,\n to: Date,\n): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n let {cancel} = getOdinOverviewData(getState())[name] || {};\n if (cancel) {\n cancel();\n }\n\n return Utils.getMetric(cluster, name, from, to, (c) => {\n cancel = c.cancel;\n })\n .then((d) => {\n if (getCluterHelper(getState) !== cluster) {\n return;\n }\n\n const data = {\n ...getOdinOverviewData(getState()),\n [name]: {\n cancel,\n metricData: Utils.prepareAvailabilityData(d, COUNT_OF_MINUTES),\n },\n };\n dispatch({type: ODIN_OVERVIEW_PARTIAL, data: {data}});\n })\n .catch((error) => {\n if (!Utils.isRequestCanceled(error)) {\n const data = {\n ...getOdinOverviewData(getState()),\n [name]: {error},\n };\n dispatch({type: ODIN_OVERVIEW_PARTIAL, data: {data}});\n }\n return Promise.reject(error);\n });\n };\n}\n\nexport function reloadOdinOverviewMetricData(metricName: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const cluster = getOdinOverviewDataCluster(state);\n const from = getOdinOverviewDateFrom(state);\n const to = getOdinOverviewDateTo(state);\n if (from && to) {\n dispatch(fetchMetricData(cluster, metricName, from, to));\n }\n };\n}\n\nexport function toggleOdinOverviewMetricVisibility(metricName: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const hiddenMetrics = {...getOdinOverviewHiddenMetrics(getState())};\n if (hiddenMetrics[metricName]) {\n delete hiddenMetrics[metricName];\n } else {\n hiddenMetrics[metricName] = true;\n }\n dispatch({\n type: ODIN_OVERVIEW_HIDDEN_METRICS,\n data: {hiddenMetrics},\n });\n if (!hiddenMetrics[metricName]) {\n dispatch(reloadOdinOverviewMetricData(metricName));\n }\n };\n}\n\nexport function odinOverviewSetAllMetricsVisible(value: boolean): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const oldHhiddenMetrics = getOdinOverviewHiddenMetrics(state);\n let toReload: Array<string> = [];\n const hiddenMetrics: typeof oldHhiddenMetrics = {};\n if (!value) {\n const metrics = getOdinOverviewClusterMetrics(state);\n metrics.forEach(({name}) => {\n hiddenMetrics[name] = true;\n });\n } else {\n toReload = _map(oldHhiddenMetrics, (__: boolean, name: string) => name);\n }\n\n dispatch({\n type: ODIN_OVERVIEW_HIDDEN_METRICS,\n data: {hiddenMetrics},\n });\n\n toReload.forEach((name) => {\n dispatch(reloadOdinOverviewMetricData(name));\n });\n };\n}\n\nexport function odinOverviewShowCreatePresetDialog(\n showCreatePresetDialog: boolean,\n): OdinOverviewAction {\n return {type: ODIN_OVERVIEW_PARTIAL, data: {showCreatePresetDialog}};\n}\n\nexport function odinOverviewAddPreset(name: string, isDefault: boolean): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const toHide = getOdinOverviewHiddenMetrics(getState());\n return dispatch(reloadSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN)).then(() => {\n const presets = [...getOdinOverviewVisiblePresets(getState())];\n presets.push({\n name,\n hiddenMetricNames: _map(toHide, (_, name) => name),\n });\n return dispatch(setSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN, presets))\n .then(() => {\n if (isDefault) {\n return dispatch(odinOverviewToggleDefaultPreset(name));\n }\n })\n .catch((error: any) => {\n const data = error?.response?.data || error;\n const {message} = data;\n\n new Toaster().add({\n name: 'add-preset',\n autoHiding: false,\n type: 'error',\n content: message,\n title: 'Failed to crete preset',\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(data),\n },\n ],\n });\n });\n });\n };\n}\n\nexport function odinOverviewSetPresetToRemove(\n name: OdinOverviewState['presetToRemove'],\n): OdinOverviewThunkAction {\n return (dispatch) => {\n dispatch({\n type: ODIN_OVERVIEW_PARTIAL,\n data: {presetToRemove: name},\n });\n };\n}\n\nexport function odinOverviewRemovePreset(name: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n return dispatch(reloadSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN))\n .then(() => {\n const oldPresets = getOdinOverviewVisiblePresets(getState());\n const presets = oldPresets.filter((item) => item.name !== name);\n return dispatch(\n setSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN, presets),\n );\n })\n .catch((error: any) => {\n const data = error?.response?.data || error;\n const {message} = data;\n\n new Toaster().add({\n name: 'delete-preset',\n autoHiding: false,\n type: 'error',\n content: message,\n title: 'Failed to delete the preset',\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n });\n };\n}\n\nexport function odinOverviewToggleDefaultPreset(name: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n return dispatch(reloadSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN)).then(() => {\n const presets = [...getOdinOverviewVisiblePresets(getState())];\n for (let i = 0; i < presets.length; ++i) {\n const item = presets[i];\n if (item.name === name) {\n presets[i] = {...item, isDefault: !item.isDefault};\n } else if (item.isDefault) {\n presets[i] = {...item};\n delete presets[i]['isDefault'];\n }\n }\n return dispatch(\n setSetting(ODIN_VISIBLE_METRIC_PRESETS, YA_NAMESPACES.ODIN, presets),\n ).catch((error: any) => {\n const data = error?.response?.data || error;\n const {message} = data;\n\n new Toaster().add({\n name: 'set-deault-preset',\n autoHiding: false,\n type: 'error',\n content: message,\n title: 'Failed to set the preset as default',\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n });\n });\n };\n}\n\nexport function odinOverviewSelectPreset(name: string): OdinOverviewThunkAction {\n return (dispatch, getState) => {\n const state = getState();\n const presets = getOdinOverviewVisiblePresets(state);\n const preset = presets.find((item) => item.name === name);\n if (preset) {\n const {hiddenMetricNames} = preset;\n const hiddenMetrics: OdinOverviewState['hiddenMetrics'] = {};\n hiddenMetricNames.forEach((name) => {\n hiddenMetrics[name] = true;\n });\n dispatch({\n type: ODIN_OVERVIEW_HIDDEN_METRICS,\n data: {hiddenMetrics},\n });\n\n const oldHiddenMetrics = getOdinOverviewHiddenMetrics(state);\n _forEach(oldHiddenMetrics, (_, name) => {\n if (!hiddenMetrics[name]) {\n dispatch(reloadOdinOverviewMetricData(name));\n }\n });\n }\n };\n}\n\nexport function setOdinLastVisitedTab(tab: string): ThunkAction<any, any, RootState, any> {\n return (dispatch, getState) => {\n const current = getOdinLastVisitedTab(getState());\n if (current !== tab) {\n dispatch(setSetting(ODIN_LAST_VISITED_TAB, NAMESPACES.GLOBAL, tab));\n }\n };\n}\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ import { Checkbox } from '@gravity-ui/uikit';
7
7
  import Select from '../../../components/Select/Select';
8
8
  import { Datepicker } from '../../../components/common/Datepicker';
9
9
  import block from 'bem-cn-lite';
10
- import { getDate, getMetric, getStat, getUseCurrentDate } from '../_selectors';
10
+ import { getDate, getMetric, getOdinCluster, getStat, getUseCurrentDate } from '../_selectors';
11
11
  import { setDate, setMetric, toggleUseCurrentDate } from '../_actions';
12
12
  import Utils from '../odin-utils';
13
13
  import hammer from '../../../common/hammer';
@@ -20,8 +20,9 @@ function useLoadMetricsList() {
20
20
  _useState2 = _slicedToArray(_useState, 2),
21
21
  metrics = _useState2[0],
22
22
  setMetrics = _useState2[1];
23
+ var cluster = useSelector(getOdinCluster);
23
24
  useEffect(function () {
24
- Utils.listMetrics().then(function (metrics) {
25
+ Utils.listMetrics(cluster).then(function (metrics) {
25
26
  setMetrics(_map(metrics, function (_ref) {
26
27
  var name = _ref.name,
27
28
  text = _ref.display_name;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useState","useDispatch","useSelector","Checkbox","Select","Datepicker","block","getDate","getMetric","getStat","getUseCurrentDate","setDate","setMetric","toggleUseCurrentDate","Utils","hammer","jsx","_jsx","jsxs","_jsxs","odinCN","tbBlock","useLoadMetricsList","_useState","_useState2","_slicedToArray","metrics","setMetrics","listMetrics","then","_map","_ref","name","text","display_name","value","MetricSelector","metric","dispatch","handleChange","length","_findIndex","_ref2","label","items","onUpdate","vals","showSearch","width","UseCurrentDate","useCurrentDate","size","content","checked","onChange","CustomDate","date","_ref3","from","range","to","scale","hasClear","controlWidth","Toolbar","_ref4","className","stat","children","format","Percent"],"sources":["OdinToolbar.js"],"sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport {Checkbox} from '@gravity-ui/uikit';\nimport Select from '../../../components/Select/Select';\nimport {Datepicker} from '../../../components/common/Datepicker';\n\nimport block from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {getDate, getMetric, getStat, getUseCurrentDate} from '../_selectors';\nimport {setDate, setMetric, toggleUseCurrentDate} from '../_actions';\nimport Utils from '../odin-utils';\nimport hammer from '../../../common/hammer';\n\nconst odinCN = block('odin');\n\nconst tbBlock = block('elements-toolbar');\n\nfunction useLoadMetricsList() {\n const [metrics, setMetrics] = useState([]);\n\n useEffect(() => {\n Utils.listMetrics().then((metrics) => {\n setMetrics(\n _.map(metrics, ({name, display_name: text}) => ({\n value: name,\n text,\n })),\n );\n });\n }, []);\n\n return metrics;\n}\n\nfunction MetricSelector() {\n const metric = useSelector(getMetric);\n const dispatch = useDispatch();\n const metrics = useLoadMetricsList();\n const handleChange = useCallback((value) => {\n dispatch(setMetric(value));\n }, []);\n\n if (metrics.length > 0 && _.findIndex(metrics, ({value}) => value === metric) === -1) {\n dispatch(setMetric(metrics[0].value));\n }\n\n return (\n <Select\n value={[metric]}\n label=\"Check:\"\n items={metrics}\n onUpdate={(vals) => handleChange(vals[0])}\n showSearch={true}\n width=\"max\"\n />\n );\n}\n\nfunction UseCurrentDate() {\n const useCurrentDate = useSelector(getUseCurrentDate);\n const dispatch = useDispatch();\n const handleChange = useCallback(() => {\n dispatch(toggleUseCurrentDate());\n }, []);\n\n return (\n <Checkbox\n size=\"l\"\n content=\"Current date\"\n checked={useCurrentDate}\n onChange={handleChange}\n />\n );\n}\n\nfunction CustomDate() {\n const date = useSelector(getDate);\n const dispatch = useDispatch();\n const handleChange = useCallback(({from}) => {\n dispatch(setDate(from));\n }, []);\n\n return (\n <Datepicker\n range={false}\n from={date}\n to={date}\n scale=\"day\"\n hasClear={false}\n controlWidth={180}\n onUpdate={handleChange}\n />\n );\n}\n\nfunction Toolbar({className}) {\n const stat = useSelector(getStat);\n return (\n <div className={className}>\n <div className={odinCN('toolbar-metric-filter', tbBlock('component'))}>\n <MetricSelector />\n </div>\n <div className={odinCN('toolbar-date-filter', tbBlock('component'))}>\n <CustomDate />\n </div>\n <div className={odinCN('toolbar-current-date', tbBlock('component'))}>\n <UseCurrentDate />\n </div>\n <div className={odinCN('toolbar-availability-message', tbBlock('component'))}>\n <div className=\"elements-message elements-message_theme_info\">\n <p className=\"elements-message__paragraph\">\n We were available from <em>{hammer.format.Percent(stat.from * 100)}</em> to{' '}\n <em>{hammer.format.Percent(stat.to * 100)}</em> of time.\n </p>\n </div>\n </div>\n </div>\n );\n}\n\nexport default Toolbar;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","useEffect","useState","useDispatch","useSelector","Checkbox","Select","Datepicker","block","getDate","getMetric","getOdinCluster","getStat","getUseCurrentDate","setDate","setMetric","toggleUseCurrentDate","Utils","hammer","jsx","_jsx","jsxs","_jsxs","odinCN","tbBlock","useLoadMetricsList","_useState","_useState2","_slicedToArray","metrics","setMetrics","cluster","listMetrics","then","_map","_ref","name","text","display_name","value","MetricSelector","metric","dispatch","handleChange","length","_findIndex","_ref2","label","items","onUpdate","vals","showSearch","width","UseCurrentDate","useCurrentDate","size","content","checked","onChange","CustomDate","date","_ref3","from","range","to","scale","hasClear","controlWidth","Toolbar","_ref4","className","stat","children","format","Percent"],"sources":["OdinToolbar.js"],"sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport {Checkbox} from '@gravity-ui/uikit';\nimport Select from '../../../components/Select/Select';\nimport {Datepicker} from '../../../components/common/Datepicker';\n\nimport block from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {getDate, getMetric, getOdinCluster, getStat, getUseCurrentDate} from '../_selectors';\nimport {setDate, setMetric, toggleUseCurrentDate} from '../_actions';\nimport Utils from '../odin-utils';\nimport hammer from '../../../common/hammer';\n\nconst odinCN = block('odin');\n\nconst tbBlock = block('elements-toolbar');\n\nfunction useLoadMetricsList() {\n const [metrics, setMetrics] = useState([]);\n const cluster = useSelector(getOdinCluster);\n\n useEffect(() => {\n Utils.listMetrics(cluster).then((metrics) => {\n setMetrics(\n _.map(metrics, ({name, display_name: text}) => ({\n value: name,\n text,\n })),\n );\n });\n }, []);\n\n return metrics;\n}\n\nfunction MetricSelector() {\n const metric = useSelector(getMetric);\n const dispatch = useDispatch();\n const metrics = useLoadMetricsList();\n const handleChange = useCallback((value) => {\n dispatch(setMetric(value));\n }, []);\n\n if (metrics.length > 0 && _.findIndex(metrics, ({value}) => value === metric) === -1) {\n dispatch(setMetric(metrics[0].value));\n }\n\n return (\n <Select\n value={[metric]}\n label=\"Check:\"\n items={metrics}\n onUpdate={(vals) => handleChange(vals[0])}\n showSearch={true}\n width=\"max\"\n />\n );\n}\n\nfunction UseCurrentDate() {\n const useCurrentDate = useSelector(getUseCurrentDate);\n const dispatch = useDispatch();\n const handleChange = useCallback(() => {\n dispatch(toggleUseCurrentDate());\n }, []);\n\n return (\n <Checkbox\n size=\"l\"\n content=\"Current date\"\n checked={useCurrentDate}\n onChange={handleChange}\n />\n );\n}\n\nfunction CustomDate() {\n const date = useSelector(getDate);\n const dispatch = useDispatch();\n const handleChange = useCallback(({from}) => {\n dispatch(setDate(from));\n }, []);\n\n return (\n <Datepicker\n range={false}\n from={date}\n to={date}\n scale=\"day\"\n hasClear={false}\n controlWidth={180}\n onUpdate={handleChange}\n />\n );\n}\n\nfunction Toolbar({className}) {\n const stat = useSelector(getStat);\n return (\n <div className={className}>\n <div className={odinCN('toolbar-metric-filter', tbBlock('component'))}>\n <MetricSelector />\n </div>\n <div className={odinCN('toolbar-date-filter', tbBlock('component'))}>\n <CustomDate />\n </div>\n <div className={odinCN('toolbar-current-date', tbBlock('component'))}>\n <UseCurrentDate />\n </div>\n <div className={odinCN('toolbar-availability-message', tbBlock('component'))}>\n <div className=\"elements-message elements-message_theme_info\">\n <p className=\"elements-message__paragraph\">\n We were available from <em>{hammer.format.Percent(stat.from * 100)}</em> to{' '}\n <em>{hammer.format.Percent(stat.to * 100)}</em> of time.\n </p>\n </div>\n </div>\n </div>\n );\n}\n\nexport default Toolbar;\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ export default class Utils {
19
19
  static request<T = unknown>(path: string, saveCancelToken?: SaveCancelToken): Promise<T>;
20
20
  static isRequestCanceled(error: any): boolean;
21
21
  static checkStatus(cluster: string): Promise<unknown>;
22
- static listMetrics(): Promise<MetricListItem[]>;
22
+ static listMetrics(cluster: string): Promise<MetricListItem[]>;
23
23
  static getMetric(cluster: string, metric: string, from: Date, to: Date, saveCT: SaveCancelToken): Promise<Availability>;
24
24
  static getMetricOfThisDay(cluster: string, metric: string, date: string | null, saveCancelToken: SaveCancelToken): Promise<Availability>;
25
25
  static prepareAvailabilityData(availability: Availability, size: number): Array<MetricData>;
@@ -46,8 +46,8 @@ var Utils = /*#__PURE__*/function () {
46
46
  }
47
47
  }, {
48
48
  key: "listMetrics",
49
- value: function listMetrics() {
50
- return Utils.request('/service_list');
49
+ value: function listMetrics(cluster) {
50
+ return Utils.request("/service_list/".concat(cluster));
51
51
  }
52
52
  }, {
53
53
  key: "getMetric",
@@ -1 +1 @@
1
- {"version":3,"names":["axios","moment","DATE_FORMAT","hasOdinPage","Utils","_classCallCheck","_createClass","key","value","request","path","saveCancelToken","url","ODIN_PATH","method","responseType","withCredentials","ODIN_AUTH","cancelToken","CancelToken","cancel","then","response","data","error","_error$response","isCancel","Promise","reject","isRequestCanceled","checkStatus","cluster","listMetrics","getMetric","metric","from","to","saveCT","toISOString","getMetricOfThisDay","date","startTime","startOf","endTime","add","toDate","prepareAvailabilityData","availability","size","asArray","property","getPropertyName","i","substr","length","Object","hasOwnProperty","call","state","push","computeStat","counts","_countBy","_ref","sum","default","currentDate","format","fetchClustersAvailability","resolve"],"sources":["odin-utils.ts"],"sourcesContent":["import axios, {Canceler} from 'axios';\nimport _ from 'lodash';\nimport moment from 'moment';\n\nimport {DATE_FORMAT} from './odin-constants';\nimport {hasOdinPage} from '../../config';\n\ntype SaveCancelToken = ({cancel}: {cancel: Canceler}) => void;\ntype Availability = {[key: string]: MetricData};\n\nexport interface MetricListItem {\n display_name: string;\n name: string;\n}\n\nexport interface MetricData {\n message?: string;\n state: 'available' | 'unavailable' | 'partially_available' | 'no_data';\n}\n\nexport default class Utils {\n static ODIN_PATH = '/api/odin/proxy';\n static ODIN_AUTH = 'none';\n\n static request<T = unknown>(path: string, saveCancelToken?: SaveCancelToken): Promise<T> {\n return axios\n .request({\n url: Utils.ODIN_PATH + path,\n method: 'GET',\n responseType: 'json',\n withCredentials: Utils.ODIN_AUTH === 'domain',\n cancelToken: new axios.CancelToken((cancel) => {\n if (typeof saveCancelToken === 'function') {\n saveCancelToken({cancel});\n }\n }),\n })\n .then((response) => {\n return response.data;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n return Promise.reject(error.response?.data || error);\n });\n }\n\n static isRequestCanceled(error: any) {\n return axios.isCancel(error);\n }\n\n static checkStatus(cluster: string) {\n return Utils.request('/exists/' + cluster);\n }\n\n static listMetrics() {\n return Utils.request<Array<MetricListItem>>('/service_list');\n }\n\n static getMetric(\n cluster: string,\n metric: string,\n from: Date,\n to: Date,\n saveCT: SaveCancelToken,\n ) {\n return Utils.request<Availability>(\n '/availability/' +\n cluster +\n '?metric=' +\n metric +\n '&start_time=' +\n moment(from).toISOString() +\n '&end_time=' +\n moment(to).toISOString() +\n '&return_state_without_message=0',\n saveCT,\n );\n }\n\n static getMetricOfThisDay(\n cluster: string,\n metric: string,\n date: string | null,\n saveCancelToken: SaveCancelToken,\n ) {\n const startTime = moment(date).startOf('day');\n const endTime = moment(startTime).add(1, 'day');\n return Utils.getMetric(\n cluster,\n metric,\n startTime.toDate(),\n endTime.toDate(),\n saveCancelToken,\n );\n }\n\n static prepareAvailabilityData(availability: Availability, size: number): Array<MetricData> {\n const asArray: Array<MetricData> = [];\n let property: string;\n let data: MetricData;\n\n function getPropertyName(i: number) {\n let property = '00000' + i;\n property = 'at_' + property.substr(property.length - 5);\n return property;\n }\n\n for (let i = 0; i < size; i++) {\n property = getPropertyName(i);\n\n if (availability && Object.hasOwnProperty.call(availability, property)) {\n data = availability[property];\n } else {\n data = {\n state: 'no_data',\n };\n }\n asArray.push(data);\n }\n\n return asArray;\n }\n\n static computeStat(availability: Array<MetricData>) {\n const counts = _.countBy(availability, ({state}) => {\n if (state === 'available') {\n return 'available';\n } else if (state === 'no_data') {\n return 'no_data';\n } else {\n return 'unavailable';\n }\n });\n\n const sum = availability.length;\n\n return {\n from: (counts['available'] || 0) / sum,\n to: (sum - (counts['unavailable'] || 0)) / sum,\n };\n }\n}\n\nexport function currentDate() {\n return moment().startOf('day').format(DATE_FORMAT);\n}\n\nexport const fetchClustersAvailability = hasOdinPage()\n ? () => {\n return axios.request({\n method: 'get',\n url: '/api/odin/clusters/availability',\n }) as Promise<\n {\n id: string;\n availability?: 1 | undefined;\n }[]\n >;\n }\n : () => Promise.resolve([]);\n"],"mappings":"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"}
1
+ {"version":3,"names":["axios","moment","DATE_FORMAT","hasOdinPage","Utils","_classCallCheck","_createClass","key","value","request","path","saveCancelToken","url","ODIN_PATH","method","responseType","withCredentials","ODIN_AUTH","cancelToken","CancelToken","cancel","then","response","data","error","_error$response","isCancel","Promise","reject","isRequestCanceled","checkStatus","cluster","listMetrics","concat","getMetric","metric","from","to","saveCT","toISOString","getMetricOfThisDay","date","startTime","startOf","endTime","add","toDate","prepareAvailabilityData","availability","size","asArray","property","getPropertyName","i","substr","length","Object","hasOwnProperty","call","state","push","computeStat","counts","_countBy","_ref","sum","default","currentDate","format","fetchClustersAvailability","resolve"],"sources":["odin-utils.ts"],"sourcesContent":["import axios, {Canceler} from 'axios';\nimport _ from 'lodash';\nimport moment from 'moment';\n\nimport {DATE_FORMAT} from './odin-constants';\nimport {hasOdinPage} from '../../config';\n\ntype SaveCancelToken = ({cancel}: {cancel: Canceler}) => void;\ntype Availability = {[key: string]: MetricData};\n\nexport interface MetricListItem {\n display_name: string;\n name: string;\n}\n\nexport interface MetricData {\n message?: string;\n state: 'available' | 'unavailable' | 'partially_available' | 'no_data';\n}\n\nexport default class Utils {\n static ODIN_PATH = '/api/odin/proxy';\n static ODIN_AUTH = 'none';\n\n static request<T = unknown>(path: string, saveCancelToken?: SaveCancelToken): Promise<T> {\n return axios\n .request({\n url: Utils.ODIN_PATH + path,\n method: 'GET',\n responseType: 'json',\n withCredentials: Utils.ODIN_AUTH === 'domain',\n cancelToken: new axios.CancelToken((cancel) => {\n if (typeof saveCancelToken === 'function') {\n saveCancelToken({cancel});\n }\n }),\n })\n .then((response) => {\n return response.data;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n return Promise.reject(error.response?.data || error);\n });\n }\n\n static isRequestCanceled(error: any) {\n return axios.isCancel(error);\n }\n\n static checkStatus(cluster: string) {\n return Utils.request('/exists/' + cluster);\n }\n\n static listMetrics(cluster: string) {\n return Utils.request<Array<MetricListItem>>(`/service_list/${cluster}`);\n }\n\n static getMetric(\n cluster: string,\n metric: string,\n from: Date,\n to: Date,\n saveCT: SaveCancelToken,\n ) {\n return Utils.request<Availability>(\n '/availability/' +\n cluster +\n '?metric=' +\n metric +\n '&start_time=' +\n moment(from).toISOString() +\n '&end_time=' +\n moment(to).toISOString() +\n '&return_state_without_message=0',\n saveCT,\n );\n }\n\n static getMetricOfThisDay(\n cluster: string,\n metric: string,\n date: string | null,\n saveCancelToken: SaveCancelToken,\n ) {\n const startTime = moment(date).startOf('day');\n const endTime = moment(startTime).add(1, 'day');\n return Utils.getMetric(\n cluster,\n metric,\n startTime.toDate(),\n endTime.toDate(),\n saveCancelToken,\n );\n }\n\n static prepareAvailabilityData(availability: Availability, size: number): Array<MetricData> {\n const asArray: Array<MetricData> = [];\n let property: string;\n let data: MetricData;\n\n function getPropertyName(i: number) {\n let property = '00000' + i;\n property = 'at_' + property.substr(property.length - 5);\n return property;\n }\n\n for (let i = 0; i < size; i++) {\n property = getPropertyName(i);\n\n if (availability && Object.hasOwnProperty.call(availability, property)) {\n data = availability[property];\n } else {\n data = {\n state: 'no_data',\n };\n }\n asArray.push(data);\n }\n\n return asArray;\n }\n\n static computeStat(availability: Array<MetricData>) {\n const counts = _.countBy(availability, ({state}) => {\n if (state === 'available') {\n return 'available';\n } else if (state === 'no_data') {\n return 'no_data';\n } else {\n return 'unavailable';\n }\n });\n\n const sum = availability.length;\n\n return {\n from: (counts['available'] || 0) / sum,\n to: (sum - (counts['unavailable'] || 0)) / sum,\n };\n }\n}\n\nexport function currentDate() {\n return moment().startOf('day').format(DATE_FORMAT);\n}\n\nexport const fetchClustersAvailability = hasOdinPage()\n ? () => {\n return axios.request({\n method: 'get',\n url: '/api/odin/clusters/availability',\n }) as Promise<\n {\n id: string;\n availability?: 1 | undefined;\n }[]\n >;\n }\n : () => Promise.resolve([]);\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAkB,OAAO;AAErC,OAAOC,MAAM,MAAM,QAAQ;AAE3B,SAAQC,WAAW,QAAO,kBAAkB;AAC5C,SAAQC,WAAW,QAAO,cAAc;AAAC,IAepBC,KAAK;EAAA,SAAAA,MAAA;IAAAC,eAAA,OAAAD,KAAA;EAAA;EAAAE,YAAA,CAAAF,KAAA;IAAAG,GAAA;IAAAC,KAAA,EAItB,SAAAC,QAA4BC,IAAY,EAAEC,eAAiC,EAAc;MACrF,OAAOX,KAAK,CACPS,OAAO,CAAC;QACLG,GAAG,EAAER,KAAK,CAACS,SAAS,GAAGH,IAAI;QAC3BI,MAAM,EAAE,KAAK;QACbC,YAAY,EAAE,MAAM;QACpBC,eAAe,EAAEZ,KAAK,CAACa,SAAS,KAAK,QAAQ;QAC7CC,WAAW,EAAE,IAAIlB,KAAK,CAACmB,WAAW,CAAC,UAACC,MAAM,EAAK;UAC3C,IAAI,OAAOT,eAAe,KAAK,UAAU,EAAE;YACvCA,eAAe,CAAC;cAACS,MAAM,EAANA;YAAM,CAAC,CAAC;UAC7B;QACJ,CAAC;MACL,CAAC,CAAC,CACDC,IAAI,CAAC,UAACC,QAAQ,EAAK;QAChB,OAAOA,QAAQ,CAACC,IAAI;MACxB,CAAC,CAAC,SACI,CAAC,UAACC,KAAK,EAAK;QAAA,IAAAC,eAAA;QACd,IAAIzB,KAAK,CAAC0B,QAAQ,CAACF,KAAK,CAAC,EAAE;UACvB,OAAOG,OAAO,CAACC,MAAM,CAACJ,KAAK,CAAC;QAChC;QACA,OAAOG,OAAO,CAACC,MAAM,CAAC,EAAAH,eAAA,GAAAD,KAAK,CAACF,QAAQ,cAAAG,eAAA,uBAAdA,eAAA,CAAgBF,IAAI,KAAIC,KAAK,CAAC;MACxD,CAAC,CAAC;IACV;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAED,SAAAqB,kBAAyBL,KAAU,EAAE;MACjC,OAAOxB,KAAK,CAAC0B,QAAQ,CAACF,KAAK,CAAC;IAChC;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAED,SAAAsB,YAAmBC,OAAe,EAAE;MAChC,OAAO3B,KAAK,CAACK,OAAO,CAAC,UAAU,GAAGsB,OAAO,CAAC;IAC9C;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAAwB,YAAmBD,OAAe,EAAE;MAChC,OAAO3B,KAAK,CAACK,OAAO,kBAAAwB,MAAA,CAAyCF,OAAO,CAAE,CAAC;IAC3E;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAA0B,UACIH,OAAe,EACfI,MAAc,EACdC,IAAU,EACVC,EAAQ,EACRC,MAAuB,EACzB;MACE,OAAOlC,KAAK,CAACK,OAAO,CAChB,gBAAgB,GACZsB,OAAO,GACP,UAAU,GACVI,MAAM,GACN,cAAc,GACdlC,MAAM,CAACmC,IAAI,CAAC,CAACG,WAAW,CAAC,CAAC,GAC1B,YAAY,GACZtC,MAAM,CAACoC,EAAE,CAAC,CAACE,WAAW,CAAC,CAAC,GACxB,iCAAiC,EACrCD,MACJ,CAAC;IACL;EAAC;IAAA/B,GAAA;IAAAC,KAAA,EAED,SAAAgC,mBACIT,OAAe,EACfI,MAAc,EACdM,IAAmB,EACnB9B,eAAgC,EAClC;MACE,IAAM+B,SAAS,GAAGzC,MAAM,CAACwC,IAAI,CAAC,CAACE,OAAO,CAAC,KAAK,CAAC;MAC7C,IAAMC,OAAO,GAAG3C,MAAM,CAACyC,SAAS,CAAC,CAACG,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;MAC/C,OAAOzC,KAAK,CAAC8B,SAAS,CAClBH,OAAO,EACPI,MAAM,EACNO,SAAS,CAACI,MAAM,CAAC,CAAC,EAClBF,OAAO,CAACE,MAAM,CAAC,CAAC,EAChBnC,eACJ,CAAC;IACL;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAuC,wBAA+BC,YAA0B,EAAEC,IAAY,EAAqB;MACxF,IAAMC,OAA0B,GAAG,EAAE;MACrC,IAAIC,QAAgB;MACpB,IAAI5B,IAAgB;MAEpB,SAAS6B,eAAeA,CAACC,CAAS,EAAE;QAChC,IAAIF,QAAQ,GAAG,OAAO,GAAGE,CAAC;QAC1BF,QAAQ,GAAG,KAAK,GAAGA,QAAQ,CAACG,MAAM,CAACH,QAAQ,CAACI,MAAM,GAAG,CAAC,CAAC;QACvD,OAAOJ,QAAQ;MACnB;MAEA,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,IAAI,EAAEI,CAAC,EAAE,EAAE;QAC3BF,QAAQ,GAAGC,eAAe,CAACC,CAAC,CAAC;QAE7B,IAAIL,YAAY,IAAIQ,MAAM,CAACC,cAAc,CAACC,IAAI,CAACV,YAAY,EAAEG,QAAQ,CAAC,EAAE;UACpE5B,IAAI,GAAGyB,YAAY,CAACG,QAAQ,CAAC;QACjC,CAAC,MAAM;UACH5B,IAAI,GAAG;YACHoC,KAAK,EAAE;UACX,CAAC;QACL;QACAT,OAAO,CAACU,IAAI,CAACrC,IAAI,CAAC;MACtB;MAEA,OAAO2B,OAAO;IAClB;EAAC;IAAA3C,GAAA;IAAAC,KAAA,EAED,SAAAqD,YAAmBb,YAA+B,EAAE;MAChD,IAAMc,MAAM,GAAGC,QAAA,CAAUf,YAAY,EAAE,UAAAgB,IAAA,EAAa;QAAA,IAAXL,KAAK,GAAAK,IAAA,CAALL,KAAK;QAC1C,IAAIA,KAAK,KAAK,WAAW,EAAE;UACvB,OAAO,WAAW;QACtB,CAAC,MAAM,IAAIA,KAAK,KAAK,SAAS,EAAE;UAC5B,OAAO,SAAS;QACpB,CAAC,MAAM;UACH,OAAO,aAAa;QACxB;MACJ,CAAC,CAAC;MAEF,IAAMM,GAAG,GAAGjB,YAAY,CAACO,MAAM;MAE/B,OAAO;QACHnB,IAAI,EAAE,CAAC0B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAIG,GAAG;QACtC5B,EAAE,EAAE,CAAC4B,GAAG,IAAIH,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAIG;MAC/C,CAAC;IACL;EAAC;EAAA,OAAA7D,KAAA;AAAA;AA1HgBA,KAAK,CACfS,SAAS,GAAG,iBAAiB;AADnBT,KAAK,CAEfa,SAAS,GAAG,MAAM;AAAA,SAFRb,KAAK,IAAA8D,OAAA;AA6H1B,OAAO,SAASC,WAAWA,CAAA,EAAG;EAC1B,OAAOlE,MAAM,CAAC,CAAC,CAAC0C,OAAO,CAAC,KAAK,CAAC,CAACyB,MAAM,CAAClE,WAAW,CAAC;AACtD;AAEA,OAAO,IAAMmE,yBAAyB,GAAGlE,WAAW,CAAC,CAAC,GAChD,YAAM;EACF,OAAOH,KAAK,CAACS,OAAO,CAAC;IACjBK,MAAM,EAAE,KAAK;IACbF,GAAG,EAAE;EACT,CAAC,CAAC;AAMN,CAAC,GACD;EAAA,OAAMe,OAAO,CAAC2C,OAAO,CAAC,EAAE,CAAC;AAAA"}
@@ -1,12 +1,14 @@
1
1
  import { JOBS_MONITOR } from '../../../constants/operations/detail';
2
2
  import { YTApiId, ytApiV3Id } from '../../../rum/rum-wrap-api';
3
- import { isOperationWithJobsMonitorTab } from '../../../store/selectors/operations/operation';
3
+ import { getOperationJobsMonitorTabSettings } from '../../../store/selectors/operations/operation';
4
4
  import CancelHelper, { isCancelled } from '../../../utils/cancel-helper';
5
5
  var cancelHerlper = new CancelHelper();
6
6
  export function getJobsMonitoringDescriptors(operation_id) {
7
7
  return function (dispatch, getState) {
8
- var tryJobsMonitoring = isOperationWithJobsMonitorTab(getState());
9
- if (!tryJobsMonitoring) {
8
+ var _getOperationJobsMoni = getOperationJobsMonitorTabSettings(getState()),
9
+ visible = _getOperationJobsMoni.visible,
10
+ maxJobCount = _getOperationJobsMoni.maxJobCount;
11
+ if (!visible) {
10
12
  return undefined;
11
13
  }
12
14
  dispatch({
@@ -15,7 +17,7 @@ export function getJobsMonitoringDescriptors(operation_id) {
15
17
  return ytApiV3Id.listJobs(YTApiId.listJobs100, {
16
18
  parameters: {
17
19
  operation_id: operation_id,
18
- limit: 100
20
+ limit: maxJobCount
19
21
  },
20
22
  cancellation: cancelHerlper.removeAllAndSave
21
23
  }).then(function (_ref) {
@@ -1 +1 @@
1
- {"version":3,"names":["JOBS_MONITOR","YTApiId","ytApiV3Id","isOperationWithJobsMonitorTab","CancelHelper","isCancelled","cancelHerlper","getJobsMonitoringDescriptors","operation_id","dispatch","getState","tryJobsMonitoring","undefined","type","REQUEST","listJobs","listJobs100","parameters","limit","cancellation","removeAllAndSave","then","_ref","jobs","SUCCESS","data","error","CANCELLED","FAILURE"],"sources":["jobs-monitor.ts"],"sourcesContent":["import {JOBS_MONITOR} from '../../../constants/operations/detail';\nimport {ThunkAction} from 'redux-thunk';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {RootState} from '../../../store/reducers';\nimport {JobsMonitorAction} from '../../../store/reducers/operations/jobs/jobs-monitor';\nimport {isOperationWithJobsMonitorTab} from '../../../store/selectors/operations/operation';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\n\ntype JobsMonitorThunkAction = ThunkAction<unknown, RootState, unknown, JobsMonitorAction>;\n\nconst cancelHerlper = new CancelHelper();\n\nexport function getJobsMonitoringDescriptors(operation_id: string): JobsMonitorThunkAction {\n return (dispatch, getState) => {\n const tryJobsMonitoring = isOperationWithJobsMonitorTab(getState());\n if (!tryJobsMonitoring) {\n return undefined;\n }\n\n dispatch({type: JOBS_MONITOR.REQUEST});\n\n return ytApiV3Id\n .listJobs(YTApiId.listJobs100, {\n parameters: {operation_id, limit: 100},\n cancellation: cancelHerlper.removeAllAndSave,\n })\n .then(({jobs}) => {\n dispatch({type: JOBS_MONITOR.SUCCESS, data: {jobs, operation_id}});\n })\n .catch((error) => {\n if (isCancelled(error)) {\n dispatch({type: JOBS_MONITOR.CANCELLED});\n return;\n }\n\n dispatch({type: JOBS_MONITOR.FAILURE, data: {error}});\n });\n };\n}\n"],"mappings":"AAAA,SAAQA,YAAY,QAAO,sCAAsC;AAEjE,SAAQC,OAAO,EAAEC,SAAS,QAAO,2BAA2B;AAG5D,SAAQC,6BAA6B,QAAO,+CAA+C;AAC3F,OAAOC,YAAY,IAAGC,WAAW,QAAO,8BAA8B;AAItE,IAAMC,aAAa,GAAG,IAAIF,YAAY,CAAC,CAAC;AAExC,OAAO,SAASG,4BAA4BA,CAACC,YAAoB,EAA0B;EACvF,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAMC,iBAAiB,GAAGR,6BAA6B,CAACO,QAAQ,CAAC,CAAC,CAAC;IACnE,IAAI,CAACC,iBAAiB,EAAE;MACpB,OAAOC,SAAS;IACpB;IAEAH,QAAQ,CAAC;MAACI,IAAI,EAAEb,YAAY,CAACc;IAAO,CAAC,CAAC;IAEtC,OAAOZ,SAAS,CACXa,QAAQ,CAACd,OAAO,CAACe,WAAW,EAAE;MAC3BC,UAAU,EAAE;QAACT,YAAY,EAAZA,YAAY;QAAEU,KAAK,EAAE;MAAG,CAAC;MACtCC,YAAY,EAAEb,aAAa,CAACc;IAChC,CAAC,CAAC,CACDC,IAAI,CAAC,UAAAC,IAAA,EAAY;MAAA,IAAVC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MACRd,QAAQ,CAAC;QAACI,IAAI,EAAEb,YAAY,CAACwB,OAAO;QAAEC,IAAI,EAAE;UAACF,IAAI,EAAJA,IAAI;UAAEf,YAAY,EAAZA;QAAY;MAAC,CAAC,CAAC;IACtE,CAAC,CAAC,SACI,CAAC,UAACkB,KAAK,EAAK;MACd,IAAIrB,WAAW,CAACqB,KAAK,CAAC,EAAE;QACpBjB,QAAQ,CAAC;UAACI,IAAI,EAAEb,YAAY,CAAC2B;QAAS,CAAC,CAAC;QACxC;MACJ;MAEAlB,QAAQ,CAAC;QAACI,IAAI,EAAEb,YAAY,CAAC4B,OAAO;QAAEH,IAAI,EAAE;UAACC,KAAK,EAALA;QAAK;MAAC,CAAC,CAAC;IACzD,CAAC,CAAC;EACV,CAAC;AACL"}
1
+ {"version":3,"names":["JOBS_MONITOR","YTApiId","ytApiV3Id","getOperationJobsMonitorTabSettings","CancelHelper","isCancelled","cancelHerlper","getJobsMonitoringDescriptors","operation_id","dispatch","getState","_getOperationJobsMoni","visible","maxJobCount","undefined","type","REQUEST","listJobs","listJobs100","parameters","limit","cancellation","removeAllAndSave","then","_ref","jobs","SUCCESS","data","error","CANCELLED","FAILURE"],"sources":["jobs-monitor.ts"],"sourcesContent":["import {JOBS_MONITOR} from '../../../constants/operations/detail';\nimport {ThunkAction} from 'redux-thunk';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {RootState} from '../../../store/reducers';\nimport {JobsMonitorAction} from '../../../store/reducers/operations/jobs/jobs-monitor';\nimport {getOperationJobsMonitorTabSettings} from '../../../store/selectors/operations/operation';\nimport CancelHelper, {isCancelled} from '../../../utils/cancel-helper';\n\ntype JobsMonitorThunkAction = ThunkAction<unknown, RootState, unknown, JobsMonitorAction>;\n\nconst cancelHerlper = new CancelHelper();\n\nexport function getJobsMonitoringDescriptors(operation_id: string): JobsMonitorThunkAction {\n return (dispatch, getState) => {\n const {visible, maxJobCount} = getOperationJobsMonitorTabSettings(getState());\n if (!visible) {\n return undefined;\n }\n\n dispatch({type: JOBS_MONITOR.REQUEST});\n\n return ytApiV3Id\n .listJobs(YTApiId.listJobs100, {\n parameters: {operation_id, limit: maxJobCount},\n cancellation: cancelHerlper.removeAllAndSave,\n })\n .then(({jobs}) => {\n dispatch({type: JOBS_MONITOR.SUCCESS, data: {jobs, operation_id}});\n })\n .catch((error) => {\n if (isCancelled(error)) {\n dispatch({type: JOBS_MONITOR.CANCELLED});\n return;\n }\n\n dispatch({type: JOBS_MONITOR.FAILURE, data: {error}});\n });\n };\n}\n"],"mappings":"AAAA,SAAQA,YAAY,QAAO,sCAAsC;AAEjE,SAAQC,OAAO,EAAEC,SAAS,QAAO,2BAA2B;AAG5D,SAAQC,kCAAkC,QAAO,+CAA+C;AAChG,OAAOC,YAAY,IAAGC,WAAW,QAAO,8BAA8B;AAItE,IAAMC,aAAa,GAAG,IAAIF,YAAY,CAAC,CAAC;AAExC,OAAO,SAASG,4BAA4BA,CAACC,YAAoB,EAA0B;EACvF,OAAO,UAACC,QAAQ,EAAEC,QAAQ,EAAK;IAC3B,IAAAC,qBAAA,GAA+BR,kCAAkC,CAACO,QAAQ,CAAC,CAAC,CAAC;MAAtEE,OAAO,GAAAD,qBAAA,CAAPC,OAAO;MAAEC,WAAW,GAAAF,qBAAA,CAAXE,WAAW;IAC3B,IAAI,CAACD,OAAO,EAAE;MACV,OAAOE,SAAS;IACpB;IAEAL,QAAQ,CAAC;MAACM,IAAI,EAAEf,YAAY,CAACgB;IAAO,CAAC,CAAC;IAEtC,OAAOd,SAAS,CACXe,QAAQ,CAAChB,OAAO,CAACiB,WAAW,EAAE;MAC3BC,UAAU,EAAE;QAACX,YAAY,EAAZA,YAAY;QAAEY,KAAK,EAAEP;MAAW,CAAC;MAC9CQ,YAAY,EAAEf,aAAa,CAACgB;IAChC,CAAC,CAAC,CACDC,IAAI,CAAC,UAAAC,IAAA,EAAY;MAAA,IAAVC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MACRhB,QAAQ,CAAC;QAACM,IAAI,EAAEf,YAAY,CAAC0B,OAAO;QAAEC,IAAI,EAAE;UAACF,IAAI,EAAJA,IAAI;UAAEjB,YAAY,EAAZA;QAAY;MAAC,CAAC,CAAC;IACtE,CAAC,CAAC,SACI,CAAC,UAACoB,KAAK,EAAK;MACd,IAAIvB,WAAW,CAACuB,KAAK,CAAC,EAAE;QACpBnB,QAAQ,CAAC;UAACM,IAAI,EAAEf,YAAY,CAAC6B;QAAS,CAAC,CAAC;QACxC;MACJ;MAEApB,QAAQ,CAAC;QAACM,IAAI,EAAEf,YAAY,CAAC8B,OAAO;QAAEH,IAAI,EAAE;UAACC,KAAK,EAALA;QAAK;MAAC,CAAC,CAAC;IACzD,CAAC,CAAC;EACV,CAAC;AACL"}