@ytsaurus/ui 1.18.1 → 1.19.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 (120) hide show
  1. package/build/cjs/@types/types.d.ts +14 -0
  2. package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js +3 -0
  3. package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
  4. package/build/cjs/ui/hocs/components/Modal/withScope.d.ts +4 -55
  5. package/build/cjs/ui/hocs/components/Modal/withScope.js +8 -55
  6. package/build/cjs/ui/hocs/components/Modal/withScope.js.map +1 -1
  7. package/build/cjs/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
  8. package/build/cjs/ui/hooks/use-hotkeysjs-scope.js +22 -0
  9. package/build/cjs/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
  10. package/build/cjs/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
  11. package/build/cjs/ui/pages/system/Masters/Masters.css +3 -0
  12. package/build/cjs/ui/pages/system/Masters/Masters.css.map +1 -1
  13. package/build/cjs/ui/pages/system/Masters/Masters.d.ts +4 -1
  14. package/build/cjs/ui/pages/system/Masters/Masters.js +22 -3
  15. package/build/cjs/ui/pages/system/Masters/Masters.js.map +1 -1
  16. package/build/cjs/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
  17. package/build/cjs/ui/pages/system/Masters/SystemAlert.js +26 -0
  18. package/build/cjs/ui/pages/system/Masters/SystemAlert.js.map +1 -0
  19. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
  20. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js +27 -0
  21. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
  22. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
  23. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js +8 -4
  24. package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
  25. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
  26. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
  27. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
  28. package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
  29. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
  30. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  31. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
  32. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
  33. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  34. package/build/cjs/ui/store/actions/system/masters.d.ts +2 -1
  35. package/build/cjs/ui/store/actions/system/masters.js +54 -42
  36. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  37. package/build/cjs/ui/store/reducers/system/masters.d.ts +12 -3
  38. package/build/cjs/ui/store/reducers/system/masters.js +9 -4
  39. package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
  40. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
  41. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
  42. package/build/cjs/ui/store/selectors/system/index.d.ts +2 -1
  43. package/build/cjs/ui/store/selectors/system/index.js.map +1 -1
  44. package/build/cjs/ui/store/selectors/system/masters.d.ts +3 -0
  45. package/build/cjs/ui/store/selectors/system/masters.js +4 -1
  46. package/build/cjs/ui/store/selectors/system/masters.js.map +1 -1
  47. package/build/cjs/ui/utils/scheduling/detailsTable.d.ts +387 -326
  48. package/build/cjs/ui/utils/scheduling/detailsTable.js +12 -6
  49. package/build/cjs/ui/utils/scheduling/detailsTable.js.map +1 -1
  50. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
  51. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  52. package/build/cjs/ui/utils/utils.js +2 -1
  53. package/build/cjs/ui/utils/utils.js.map +1 -1
  54. package/build/esm/@types/types.d.ts +14 -0
  55. package/build/esm/ui/components/QuotaEditor/QuotaEditor.js +3 -0
  56. package/build/esm/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
  57. package/build/esm/ui/hocs/components/Modal/withScope.d.ts +4 -55
  58. package/build/esm/ui/hocs/components/Modal/withScope.js +8 -55
  59. package/build/esm/ui/hocs/components/Modal/withScope.js.map +1 -1
  60. package/build/esm/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
  61. package/build/esm/ui/hooks/use-hotkeysjs-scope.js +15 -0
  62. package/build/esm/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
  63. package/build/esm/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
  64. package/build/esm/ui/pages/system/Masters/Masters.css +3 -0
  65. package/build/esm/ui/pages/system/Masters/Masters.css.map +1 -1
  66. package/build/esm/ui/pages/system/Masters/Masters.d.ts +4 -1
  67. package/build/esm/ui/pages/system/Masters/Masters.js +22 -3
  68. package/build/esm/ui/pages/system/Masters/Masters.js.map +1 -1
  69. package/build/esm/ui/pages/system/Masters/Masters.scss +4 -0
  70. package/build/esm/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
  71. package/build/esm/ui/pages/system/Masters/SystemAlert.js +19 -0
  72. package/build/esm/ui/pages/system/Masters/SystemAlert.js.map +1 -0
  73. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
  74. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js +20 -0
  75. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
  76. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
  77. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js +7 -3
  78. package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
  79. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
  80. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
  81. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
  82. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
  83. package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.scss +6 -0
  84. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
  85. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
  86. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
  87. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
  88. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  89. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +0 -4
  90. package/build/esm/ui/store/actions/system/masters.d.ts +2 -1
  91. package/build/esm/ui/store/actions/system/masters.js +47 -35
  92. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  93. package/build/esm/ui/store/reducers/system/masters.d.ts +12 -3
  94. package/build/esm/ui/store/reducers/system/masters.js +9 -4
  95. package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
  96. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
  97. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
  98. package/build/esm/ui/store/selectors/system/index.d.ts +2 -1
  99. package/build/esm/ui/store/selectors/system/index.js.map +1 -1
  100. package/build/esm/ui/store/selectors/system/masters.d.ts +3 -0
  101. package/build/esm/ui/store/selectors/system/masters.js +3 -0
  102. package/build/esm/ui/store/selectors/system/masters.js.map +1 -1
  103. package/build/esm/ui/utils/scheduling/detailsTable.d.ts +387 -326
  104. package/build/esm/ui/utils/scheduling/detailsTable.js +12 -6
  105. package/build/esm/ui/utils/scheduling/detailsTable.js.map +1 -1
  106. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
  107. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  108. package/build/esm/ui/utils/utils.js +2 -1
  109. package/build/esm/ui/utils/utils.js.map +1 -1
  110. package/dist/public/build/assets-manifest.json +7 -7
  111. package/dist/public/build/css/{main.f7818774.css → main.4c657a42.css} +2 -2
  112. package/dist/public/build/css/main.4c657a42.css.map +1 -0
  113. package/dist/public/build/js/main.38e77012.js +3 -0
  114. package/dist/public/build/js/{main.052ff0c9.js.map → main.38e77012.js.map} +1 -1
  115. package/dist/public/build/manifest.json +4 -4
  116. package/package.json +8 -6
  117. package/scripts/sync-peer-dependencies.js +54 -0
  118. package/dist/public/build/css/main.f7818774.css.map +0 -1
  119. package/dist/public/build/js/main.052ff0c9.js +0 -3
  120. /package/dist/public/build/js/{main.052ff0c9.js.LICENSE.txt → main.38e77012.js.LICENSE.txt} +0 -0
@@ -12,7 +12,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  function prepareDetailedColumn(resource) {
13
13
  return {
14
14
  get: function get(item) {
15
- return item.resources[resource].detailed;
15
+ var _item$resources;
16
+ return (_item$resources = item.resources) === null || _item$resources === void 0 || (_item$resources = _item$resources[resource]) === null || _item$resources === void 0 ? void 0 : _item$resources.detailed;
16
17
  },
17
18
  sort: true,
18
19
  caption: 'Abs fair share',
@@ -22,7 +23,8 @@ function prepareDetailedColumn(resource) {
22
23
  function prepareLimitColumn(resource) {
23
24
  return {
24
25
  get: function get(item) {
25
- return item.resources[resource].limit;
26
+ var _item$resources2;
27
+ return (_item$resources2 = item.resources) === null || _item$resources2 === void 0 || (_item$resources2 = _item$resources2[resource]) === null || _item$resources2 === void 0 ? void 0 : _item$resources2.limit;
26
28
  },
27
29
  sort: true,
28
30
  sortWithUndefined: true,
@@ -33,7 +35,8 @@ function prepareLimitColumn(resource) {
33
35
  function prepareMinResourcesColumn(resource) {
34
36
  return {
35
37
  get: function get(item) {
36
- return item.resources[resource].min;
38
+ var _item$resources3;
39
+ return (_item$resources3 = item.resources) === null || _item$resources3 === void 0 || (_item$resources3 = _item$resources3[resource]) === null || _item$resources3 === void 0 ? void 0 : _item$resources3.min;
37
40
  },
38
41
  sort: true,
39
42
  caption: 'Strong guar.',
@@ -44,7 +47,8 @@ function prepareMinResourcesColumn(resource) {
44
47
  function prepareAbsGuaranteedColumn(resource) {
45
48
  return {
46
49
  get: function get(item) {
47
- return item.resources[resource].guaranteed;
50
+ var _item$resources4;
51
+ return (_item$resources4 = item.resources) === null || _item$resources4 === void 0 || (_item$resources4 = _item$resources4[resource]) === null || _item$resources4 === void 0 ? void 0 : _item$resources4.guaranteed;
48
52
  },
49
53
  sort: true,
50
54
  caption: 'Estimated guar.',
@@ -65,7 +69,8 @@ function prepareRelGuaranteedColumn(resource) {
65
69
  function prepareAbsDemandColumn(resource) {
66
70
  return {
67
71
  get: function get(item) {
68
- return item.resources[resource].demand;
72
+ var _item$resources5;
73
+ return (_item$resources5 = item.resources) === null || _item$resources5 === void 0 || (_item$resources5 = _item$resources5[resource]) === null || _item$resources5 === void 0 ? void 0 : _item$resources5.demand;
69
74
  },
70
75
  sort: true,
71
76
  caption: 'Abs demand',
@@ -75,7 +80,8 @@ function prepareAbsDemandColumn(resource) {
75
80
  function prepareAbsUsageColumn(resource) {
76
81
  return {
77
82
  get: function get(item) {
78
- return item.resources[resource].usage;
83
+ var _item$resources6;
84
+ return (_item$resources6 = item.resources) === null || _item$resources6 === void 0 || (_item$resources6 = _item$resources6[resource]) === null || _item$resources6 === void 0 ? void 0 : _item$resources6.usage;
79
85
  },
80
86
  sort: true,
81
87
  caption: 'Abs usage',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_format","_SchedulingOperationsLoader","_jsxRuntime","obj","__esModule","default","prepareDetailedColumn","resource","get","item","resources","detailed","sort","caption","align","prepareLimitColumn","limit","sortWithUndefined","prepareMinResourcesColumn","min","title","prepareAbsGuaranteedColumn","guaranteed","prepareRelGuaranteedColumn","currentPool","prepareAbsDemandColumn","demand","prepareAbsUsageColumn","usage","prepareRelUsageColumn","prepareGuaranteedUsageColumn","childTableItems","exports","name","captionTail","_jsx","SchedulingOperationsLoader","mode","FI","fifoIndex","weight","min_share","minShareRatio","max_share","maxShareRatio","fair_share","fairShareRatio","usageRatio","demandRatio","fair_share_usage","dominant_resource","dominantResource","resource_detailed_cpu","resource_detailed_memory","resource_detailed_gpu","resource_detailed_user_slots","resource_limit_cpu","resource_limit_memory","resource_limit_gpu","resource_limit_user_slots","min_resources_cpu","min_resources_memory","min_resources_gpu","min_resources_user_slots","abs_guaranteed_cpu","abs_guaranteed_memory","abs_guaranteed_gpu","abs_guaranteed_user_slots","rel_guaranteed_cpu","rel_guaranteed_memory","rel_guaranteed_gpu","rel_guaranteed_user_slots","abs_usage_cpu","abs_usage_memory","abs_usage_gpu","abs_usage_user_slots","abs_demand_cpu","abs_demand_memory","abs_demand_gpu","abs_demand_user_slots","rel_usage_cpu","rel_usage_memory","rel_usage_gpu","rel_usage_user_slots","guaranteed_usage_cpu","guaranteed_usage_memory","guaranteed_usage_gpu","guaranteed_usage_user_slots","operation_overview","operationCount","runningOperationCount","operation_count","max_operation_count","maxOperationCount","operation_progress","text","concat","format","Number","running_operation_count","max_running_operation_count","maxRunningOperationCount","running_operation_progress","integral_type","res","integralType","undefined","burst_cpu","burstCPU","isNaN","flow_cpu","flowCPU","children_burst_cpu","childrenBurstCPU","children_flow_cpu","childrenFlowCPU","accumulated","accumulated_cpu","accumulatedCpu","burst_duration","burstDuration","actions"],"sources":["detailsTable.js"],"sourcesContent":["import React from 'react';\nimport format from '../../common/hammer/format';\nimport SchedulingOperationsLoader from '../../pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader';\n\nfunction prepareDetailedColumn(resource) {\n return {\n get(item) {\n return item.resources[resource].detailed;\n },\n sort: true,\n caption: 'Abs fair share',\n align: 'right',\n };\n}\n\nfunction prepareLimitColumn(resource) {\n return {\n get(item) {\n return item.resources[resource].limit;\n },\n sort: true,\n sortWithUndefined: true,\n caption: 'Limit',\n align: 'right',\n };\n}\n\nfunction prepareMinResourcesColumn(resource) {\n return {\n get(item) {\n return item.resources[resource].min;\n },\n sort: true,\n caption: 'Strong guar.',\n title: 'Strong guarantee',\n align: 'right',\n };\n}\n\nfunction prepareAbsGuaranteedColumn(resource) {\n return {\n get(item) {\n return item.resources[resource].guaranteed;\n },\n sort: true,\n caption: 'Estimated guar.',\n title: 'Estimated guarantee',\n align: 'right',\n };\n}\n\nfunction prepareRelGuaranteedColumn(resource) {\n return {\n get(item, currentPool) {\n return (\n prepareAbsGuaranteedColumn(resource).get(item) /\n prepareAbsGuaranteedColumn(resource).get(currentPool)\n );\n },\n sort: true,\n caption: 'Rel guaranteed',\n align: 'right',\n };\n}\n\nfunction prepareAbsDemandColumn(resource) {\n return {\n get(item) {\n return item.resources[resource].demand;\n },\n sort: true,\n caption: 'Abs demand',\n align: 'right',\n };\n}\n\nfunction prepareAbsUsageColumn(resource) {\n return {\n get(item) {\n return item.resources[resource].usage;\n },\n sort: true,\n caption: 'Abs usage',\n align: 'right',\n };\n}\n\nfunction prepareRelUsageColumn(resource) {\n return {\n get(item, currentPool) {\n return (\n prepareAbsUsageColumn(resource).get(item) /\n prepareAbsUsageColumn(resource).get(currentPool)\n );\n },\n sort: true,\n caption: 'Rel usage',\n align: 'right',\n };\n}\n\nfunction prepareGuaranteedUsageColumn(resource) {\n return {\n get(item, currentPool) {\n return {\n guaranteed: prepareRelGuaranteedColumn(resource).get(item, currentPool),\n usage: prepareRelUsageColumn(resource).get(item, currentPool),\n };\n },\n caption: 'Usage / Guaranteed',\n align: 'center',\n };\n}\n\nexport const childTableItems = {\n name: {\n sort(item) {\n return item.name;\n },\n caption: 'Pool / Operation',\n captionTail: <SchedulingOperationsLoader />,\n align: 'left',\n },\n mode: {\n sort(item) {\n return item.mode;\n },\n align: 'center',\n },\n FI: {\n sort(item) {\n return item.fifoIndex;\n },\n align: 'center',\n },\n weight: {\n sort(item) {\n return item.weight;\n },\n align: 'right',\n },\n min_share: {\n sort(item) {\n return item.minShareRatio;\n },\n align: 'right',\n },\n max_share: {\n sort(item) {\n return item.maxShareRatio;\n },\n align: 'right',\n },\n fair_share: {\n get(item) {\n return item.fairShareRatio;\n },\n sort: true,\n align: 'right',\n },\n usage: {\n get(item) {\n return item.usageRatio;\n },\n sort: true,\n align: 'right',\n },\n demand: {\n get(item) {\n return item.demandRatio;\n },\n sort: true,\n align: 'right',\n },\n fair_share_usage: {\n caption: 'Usage / Fair share',\n align: 'left',\n },\n dominant_resource: {\n sort(item) {\n return item.dominantResource;\n },\n caption: 'Dom. res.',\n title: 'Dominant Resource',\n align: 'left',\n },\n\n resource_detailed_cpu: prepareDetailedColumn('cpu'),\n resource_detailed_memory: prepareDetailedColumn('user_memory'),\n resource_detailed_gpu: prepareDetailedColumn('gpu'),\n resource_detailed_user_slots: prepareDetailedColumn('user_slots'),\n\n resource_limit_cpu: prepareLimitColumn('cpu'),\n resource_limit_memory: prepareLimitColumn('user_memory'),\n resource_limit_gpu: prepareLimitColumn('gpu'),\n resource_limit_user_slots: prepareLimitColumn('user_slots'),\n\n min_resources_cpu: prepareMinResourcesColumn('cpu'),\n min_resources_memory: prepareMinResourcesColumn('user_memory'),\n min_resources_gpu: prepareMinResourcesColumn('gpu'),\n min_resources_user_slots: prepareMinResourcesColumn('user_slots'),\n\n abs_guaranteed_cpu: prepareAbsGuaranteedColumn('cpu'),\n abs_guaranteed_memory: prepareAbsGuaranteedColumn('user_memory'),\n abs_guaranteed_gpu: prepareAbsGuaranteedColumn('gpu'),\n abs_guaranteed_user_slots: prepareAbsGuaranteedColumn('user_slots'),\n\n rel_guaranteed_cpu: prepareRelGuaranteedColumn('cpu'),\n rel_guaranteed_memory: prepareRelGuaranteedColumn('user_memory'),\n rel_guaranteed_gpu: prepareRelGuaranteedColumn('gpu'),\n rel_guaranteed_user_slots: prepareRelGuaranteedColumn('user_slots'),\n\n abs_usage_cpu: prepareAbsUsageColumn('cpu'),\n abs_usage_memory: prepareAbsUsageColumn('user_memory'),\n abs_usage_gpu: prepareAbsUsageColumn('gpu'),\n abs_usage_user_slots: prepareAbsUsageColumn('user_slots'),\n\n abs_demand_cpu: prepareAbsDemandColumn('cpu'),\n abs_demand_memory: prepareAbsDemandColumn('user_memory'),\n abs_demand_gpu: prepareAbsDemandColumn('gpu'),\n abs_demand_user_slots: prepareAbsDemandColumn('user_slots'),\n\n rel_usage_cpu: prepareRelUsageColumn('cpu'),\n rel_usage_memory: prepareRelUsageColumn('user_memory'),\n rel_usage_gpu: prepareRelUsageColumn('gpu'),\n rel_usage_user_slots: prepareRelUsageColumn('user_slots'),\n\n guaranteed_usage_cpu: prepareGuaranteedUsageColumn('cpu'),\n guaranteed_usage_memory: prepareGuaranteedUsageColumn('user_memory'),\n guaranteed_usage_gpu: prepareGuaranteedUsageColumn('gpu'),\n guaranteed_usage_user_slots: prepareGuaranteedUsageColumn('user_slots'),\n\n operation_overview: {\n get(item) {\n return [item.operationCount, item.runningOperationCount];\n },\n caption: 'Operations',\n sort: true,\n align: 'right',\n },\n operation_count: {\n get(item) {\n return item.operationCount;\n },\n sort: true,\n align: 'right',\n },\n max_operation_count: {\n get(item) {\n return item.maxOperationCount;\n },\n sort: true,\n align: 'right',\n },\n operation_progress: {\n get(item) {\n return item.operationCount / item.maxOperationCount;\n },\n text(item) {\n return `${format.Number(item.operationCount)} / ${format.Number(\n item.maxOperationCount,\n )}`;\n },\n caption: 'Total operations (usage/limit)',\n sort: true,\n align: 'center',\n },\n running_operation_count: {\n get(item) {\n return item.runningOperationCount;\n },\n sort: true,\n align: 'right',\n },\n max_running_operation_count: {\n get(item) {\n return item.maxRunningOperationCount;\n },\n sort: true,\n align: 'right',\n },\n running_operation_progress: {\n get(item) {\n return item.runningOperationCount / item.maxRunningOperationCount;\n },\n text(item) {\n return `${format.Number(item.runningOperationCount)} / ${format.Number(\n item.maxRunningOperationCount,\n )}`;\n },\n caption: 'Running operations (usage/limit)',\n sort: true,\n align: 'center',\n },\n\n integral_type: {\n get(item) {\n const res = item.integralType;\n return res === 'none' ? undefined : res;\n },\n caption: 'Guarantee type',\n sort: true,\n align: 'right',\n sortWithUndefined: true,\n },\n burst_cpu: {\n get(item) {\n return item.burstCPU;\n },\n sort(item) {\n const res = item.burstCPU;\n return isNaN(res) ? undefined : res;\n },\n caption: 'Burst CPU',\n sortWithUndefined: true,\n align: 'right',\n },\n flow_cpu: {\n get(item) {\n return item.flowCPU;\n },\n sort(item) {\n const res = item.flowCPU;\n return isNaN(res) ? undefined : res;\n },\n caption: 'Flow CPU',\n sortWithUndefined: true,\n align: 'right',\n },\n children_burst_cpu: {\n get(item) {\n const res = item.childrenBurstCPU;\n return !res ? undefined : res;\n },\n caption: \"Children's burst CPU\",\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n children_flow_cpu: {\n get(item) {\n const res = item.childrenFlowCPU;\n return !res ? undefined : res;\n },\n caption: \"Children's flow CPU\",\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n accumulated: {\n get(item) {\n return item.accumulated;\n },\n caption: 'Acc ratio volume',\n sortWithUndefined: true,\n sort: true,\n align: 'right',\n },\n accumulated_cpu: {\n get(item) {\n return item.accumulatedCpu;\n },\n caption: 'Acc CPU volume',\n sort: true,\n align: 'right',\n },\n burst_duration: {\n get(item) {\n return item.burstDuration;\n },\n caption: 'Est burst usage duration ',\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n\n actions: {\n caption: '',\n align: 'left',\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_format","_SchedulingOperationsLoader","_jsxRuntime","obj","__esModule","default","prepareDetailedColumn","resource","get","item","_item$resources","resources","detailed","sort","caption","align","prepareLimitColumn","_item$resources2","limit","sortWithUndefined","prepareMinResourcesColumn","_item$resources3","min","title","prepareAbsGuaranteedColumn","_item$resources4","guaranteed","prepareRelGuaranteedColumn","currentPool","prepareAbsDemandColumn","_item$resources5","demand","prepareAbsUsageColumn","_item$resources6","usage","prepareRelUsageColumn","prepareGuaranteedUsageColumn","childTableItems","exports","name","captionTail","_jsx","SchedulingOperationsLoader","mode","FI","fifoIndex","weight","min_share","minShareRatio","max_share","maxShareRatio","fair_share","fairShareRatio","usageRatio","demandRatio","fair_share_usage","dominant_resource","dominantResource","resource_detailed_cpu","resource_detailed_memory","resource_detailed_gpu","resource_detailed_user_slots","resource_limit_cpu","resource_limit_memory","resource_limit_gpu","resource_limit_user_slots","min_resources_cpu","min_resources_memory","min_resources_gpu","min_resources_user_slots","abs_guaranteed_cpu","abs_guaranteed_memory","abs_guaranteed_gpu","abs_guaranteed_user_slots","rel_guaranteed_cpu","rel_guaranteed_memory","rel_guaranteed_gpu","rel_guaranteed_user_slots","abs_usage_cpu","abs_usage_memory","abs_usage_gpu","abs_usage_user_slots","abs_demand_cpu","abs_demand_memory","abs_demand_gpu","abs_demand_user_slots","rel_usage_cpu","rel_usage_memory","rel_usage_gpu","rel_usage_user_slots","guaranteed_usage_cpu","guaranteed_usage_memory","guaranteed_usage_gpu","guaranteed_usage_user_slots","operation_overview","operationCount","runningOperationCount","operation_count","max_operation_count","maxOperationCount","operation_progress","text","concat","format","Number","running_operation_count","max_running_operation_count","maxRunningOperationCount","running_operation_progress","integral_type","res","integralType","undefined","burst_cpu","burstCPU","isNaN","flow_cpu","flowCPU","children_burst_cpu","childrenBurstCPU","children_flow_cpu","childrenFlowCPU","accumulated","accumulated_cpu","accumulatedCpu","burst_duration","burstDuration","actions"],"sources":["detailsTable.tsx"],"sourcesContent":["import React from 'react';\n\nimport format from '../../common/hammer/format';\nimport SchedulingOperationsLoader from '../../pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader';\nimport {PoolInfo, PoolResourceType} from '../../store/selectors/scheduling/scheduling-pools';\n\nfunction prepareDetailedColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.detailed;\n },\n sort: true,\n caption: 'Abs fair share',\n align: 'right',\n };\n}\n\nfunction prepareLimitColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.limit;\n },\n sort: true,\n sortWithUndefined: true,\n caption: 'Limit',\n align: 'right',\n };\n}\n\nfunction prepareMinResourcesColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.min;\n },\n sort: true,\n caption: 'Strong guar.',\n title: 'Strong guarantee',\n align: 'right',\n };\n}\n\nfunction prepareAbsGuaranteedColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.guaranteed;\n },\n sort: true,\n caption: 'Estimated guar.',\n title: 'Estimated guarantee',\n align: 'right',\n };\n}\n\nfunction prepareRelGuaranteedColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo, currentPool: PoolInfo) {\n return (\n prepareAbsGuaranteedColumn(resource).get(item)! /\n prepareAbsGuaranteedColumn(resource).get(currentPool)!\n );\n },\n sort: true,\n caption: 'Rel guaranteed',\n align: 'right',\n };\n}\n\nfunction prepareAbsDemandColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.demand;\n },\n sort: true,\n caption: 'Abs demand',\n align: 'right',\n };\n}\n\nfunction prepareAbsUsageColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo) {\n return item.resources?.[resource]?.usage;\n },\n sort: true,\n caption: 'Abs usage',\n align: 'right',\n };\n}\n\nfunction prepareRelUsageColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo, currentPool: PoolInfo) {\n return (\n prepareAbsUsageColumn(resource).get(item)! /\n prepareAbsUsageColumn(resource).get(currentPool)!\n );\n },\n sort: true,\n caption: 'Rel usage',\n align: 'right',\n };\n}\n\nfunction prepareGuaranteedUsageColumn(resource: PoolResourceType) {\n return {\n get(item: PoolInfo, currentPool: PoolInfo) {\n return {\n guaranteed: prepareRelGuaranteedColumn(resource).get(item, currentPool),\n usage: prepareRelUsageColumn(resource).get(item, currentPool),\n };\n },\n caption: 'Usage / Guaranteed',\n align: 'center',\n };\n}\n\nexport const childTableItems = {\n name: {\n sort(item: PoolInfo) {\n return item.name;\n },\n caption: 'Pool / Operation',\n captionTail: <SchedulingOperationsLoader />,\n align: 'left',\n },\n mode: {\n sort(item: PoolInfo) {\n return item.mode;\n },\n align: 'center',\n },\n FI: {\n sort(item: PoolInfo) {\n return item.fifoIndex;\n },\n align: 'center',\n },\n weight: {\n sort(item: PoolInfo) {\n return item.weight;\n },\n align: 'right',\n },\n min_share: {\n sort(item: PoolInfo) {\n return item.minShareRatio;\n },\n align: 'right',\n },\n max_share: {\n sort(item: PoolInfo) {\n return item.maxShareRatio;\n },\n align: 'right',\n },\n fair_share: {\n get(item: PoolInfo) {\n return item.fairShareRatio;\n },\n sort: true,\n align: 'right',\n },\n usage: {\n get(item: PoolInfo) {\n return item.usageRatio;\n },\n sort: true,\n align: 'right',\n },\n demand: {\n get(item: PoolInfo) {\n return item.demandRatio;\n },\n sort: true,\n align: 'right',\n },\n fair_share_usage: {\n caption: 'Usage / Fair share',\n align: 'left',\n },\n dominant_resource: {\n sort(item: PoolInfo) {\n return item.dominantResource;\n },\n caption: 'Dom. res.',\n title: 'Dominant Resource',\n align: 'left',\n },\n\n resource_detailed_cpu: prepareDetailedColumn('cpu'),\n resource_detailed_memory: prepareDetailedColumn('user_memory'),\n resource_detailed_gpu: prepareDetailedColumn('gpu'),\n resource_detailed_user_slots: prepareDetailedColumn('user_slots'),\n\n resource_limit_cpu: prepareLimitColumn('cpu'),\n resource_limit_memory: prepareLimitColumn('user_memory'),\n resource_limit_gpu: prepareLimitColumn('gpu'),\n resource_limit_user_slots: prepareLimitColumn('user_slots'),\n\n min_resources_cpu: prepareMinResourcesColumn('cpu'),\n min_resources_memory: prepareMinResourcesColumn('user_memory'),\n min_resources_gpu: prepareMinResourcesColumn('gpu'),\n min_resources_user_slots: prepareMinResourcesColumn('user_slots'),\n\n abs_guaranteed_cpu: prepareAbsGuaranteedColumn('cpu'),\n abs_guaranteed_memory: prepareAbsGuaranteedColumn('user_memory'),\n abs_guaranteed_gpu: prepareAbsGuaranteedColumn('gpu'),\n abs_guaranteed_user_slots: prepareAbsGuaranteedColumn('user_slots'),\n\n rel_guaranteed_cpu: prepareRelGuaranteedColumn('cpu'),\n rel_guaranteed_memory: prepareRelGuaranteedColumn('user_memory'),\n rel_guaranteed_gpu: prepareRelGuaranteedColumn('gpu'),\n rel_guaranteed_user_slots: prepareRelGuaranteedColumn('user_slots'),\n\n abs_usage_cpu: prepareAbsUsageColumn('cpu'),\n abs_usage_memory: prepareAbsUsageColumn('user_memory'),\n abs_usage_gpu: prepareAbsUsageColumn('gpu'),\n abs_usage_user_slots: prepareAbsUsageColumn('user_slots'),\n\n abs_demand_cpu: prepareAbsDemandColumn('cpu'),\n abs_demand_memory: prepareAbsDemandColumn('user_memory'),\n abs_demand_gpu: prepareAbsDemandColumn('gpu'),\n abs_demand_user_slots: prepareAbsDemandColumn('user_slots'),\n\n rel_usage_cpu: prepareRelUsageColumn('cpu'),\n rel_usage_memory: prepareRelUsageColumn('user_memory'),\n rel_usage_gpu: prepareRelUsageColumn('gpu'),\n rel_usage_user_slots: prepareRelUsageColumn('user_slots'),\n\n guaranteed_usage_cpu: prepareGuaranteedUsageColumn('cpu'),\n guaranteed_usage_memory: prepareGuaranteedUsageColumn('user_memory'),\n guaranteed_usage_gpu: prepareGuaranteedUsageColumn('gpu'),\n guaranteed_usage_user_slots: prepareGuaranteedUsageColumn('user_slots'),\n\n operation_overview: {\n get(item: PoolInfo) {\n return [item.operationCount, item.runningOperationCount];\n },\n caption: 'Operations',\n sort: true,\n align: 'right',\n },\n operation_count: {\n get(item: PoolInfo) {\n return item.operationCount;\n },\n sort: true,\n align: 'right',\n },\n max_operation_count: {\n get(item: PoolInfo) {\n return item.maxOperationCount;\n },\n sort: true,\n align: 'right',\n },\n operation_progress: {\n get(item: PoolInfo) {\n return item.operationCount! / item.maxOperationCount!;\n },\n text(item: PoolInfo) {\n return `${format.Number(item.operationCount)} / ${format.Number(\n item.maxOperationCount,\n )}`;\n },\n caption: 'Total operations (usage/limit)',\n sort: true,\n align: 'center',\n },\n running_operation_count: {\n get(item: PoolInfo) {\n return item.runningOperationCount;\n },\n sort: true,\n align: 'right',\n },\n max_running_operation_count: {\n get(item: PoolInfo) {\n return item.maxRunningOperationCount;\n },\n sort: true,\n align: 'right',\n },\n running_operation_progress: {\n get(item: PoolInfo) {\n return item.runningOperationCount! / item.maxRunningOperationCount!;\n },\n text(item: PoolInfo) {\n return `${format.Number(item.runningOperationCount)} / ${format.Number(\n item.maxRunningOperationCount,\n )}`;\n },\n caption: 'Running operations (usage/limit)',\n sort: true,\n align: 'center',\n },\n\n integral_type: {\n get(item: PoolInfo) {\n const res = item.integralType;\n return res === 'none' ? undefined : res;\n },\n caption: 'Guarantee type',\n sort: true,\n align: 'right',\n sortWithUndefined: true,\n },\n burst_cpu: {\n get(item: PoolInfo) {\n return item.burstCPU;\n },\n sort(item: PoolInfo) {\n const res = item.burstCPU;\n return isNaN(res) ? undefined : res;\n },\n caption: 'Burst CPU',\n sortWithUndefined: true,\n align: 'right',\n },\n flow_cpu: {\n get(item: PoolInfo) {\n return item.flowCPU;\n },\n sort(item: PoolInfo) {\n const res = item.flowCPU;\n return isNaN(res) ? undefined : res;\n },\n caption: 'Flow CPU',\n sortWithUndefined: true,\n align: 'right',\n },\n children_burst_cpu: {\n get(item: PoolInfo) {\n const res = item.childrenBurstCPU;\n return !res ? undefined : res;\n },\n caption: \"Children's burst CPU\",\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n children_flow_cpu: {\n get(item: PoolInfo) {\n const res = item.childrenFlowCPU;\n return !res ? undefined : res;\n },\n caption: \"Children's flow CPU\",\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n accumulated: {\n get(item: PoolInfo) {\n return item.accumulated;\n },\n caption: 'Acc ratio volume',\n sortWithUndefined: true,\n sort: true,\n align: 'right',\n },\n accumulated_cpu: {\n get(item: PoolInfo) {\n return item.accumulatedCpu;\n },\n caption: 'Acc CPU volume',\n sort: true,\n align: 'right',\n },\n burst_duration: {\n get(item: PoolInfo) {\n return item.burstDuration;\n },\n caption: 'Est burst usage duration ',\n sort: true,\n sortWithUndefined: true,\n align: 'right',\n },\n\n actions: {\n caption: '',\n align: 'left',\n },\n};\n"],"mappings":"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"}
@@ -23,7 +23,6 @@ var bundleEditorDict = exports.bundleEditorDict = {
23
23
  },
24
24
  defaults: {
25
25
  memory_limits: {
26
- error: false,
27
26
  memory_reset: false,
28
27
  tablet_static: 0,
29
28
  tablet_dynamic: 0,
@@ -97,8 +96,6 @@ var getInitialFormValues = exports.getInitialFormValues = function getInitialFor
97
96
  tablet_node_resource_guarantee: tablet_node_resource_guarantee || undefined
98
97
  },
99
98
  memory_limits: {
100
- error: false,
101
- // system
102
99
  memory_reset: false,
103
100
  // system
104
101
  reserved: (memory_limits === null || memory_limits === void 0 ? void 0 : memory_limits.reserved) || 0,
@@ -1 +1 @@
1
- {"version":3,"names":["_ypath","_interopRequireDefault","require","_hammer","obj","__esModule","default","bundleEditorDict","exports","keys","resources","memory_limits","cpu_limits","defaults","error","memory_reset","tablet_static","tablet_dynamic","compressed_block_cache","uncompressed_block_cache","versioned_chunk_meta","lookup_row_cache","key_filter_block_cache","threadPool_reset","lookup_thread_pool_size","query_thread_pool_size","write_thread_pool_size","getResourceData","source","resourceType","usage","ypath","getValue","concat","limit","getInitialFormValues","data","bundleControllerConfig","slug","changelogAccount","snapshotAccount","_getResourceData","tablet_count","_getResourceData2","tablet_static_memory","general","abc","changelog_account","snapshot_account","rpc_proxy_count","tablet_node_count","rpc_proxy_resource_guarantee","tablet_node_resource_guarantee","info","undefined","reserved","formatNetwork","value","formatted","toPrecision","createConfigurationList","Object","entries","map","_ref","_ref2","_slicedToArray","type","itemData","_itemData$resource_gu","resource_guarantee","net","vcpu","memory","id","hammer","format","initialData","_objectSpread","createParams","formatType","total","used","_hammer$format$format","split","_hammer$format$format2","totalVal","totalPref","params","title","postfix","difference","_hammer$format$format3","_hammer$format$format4","usedVal","usedPref","push","NO_VALUE","prepareAbc","prepareSubmitBundle","form","prepare","_form$getState","getState","dirtyFields","values","addToChange","attr","field","prepareValue","_get","simpleBundleValidate","v","toNumber","Number","isFinite","instanceCountValidate","_ref3","length","input","number","getBundleControllerResource","current","defaultValues","resourceName","result","_iterator","_createForOfIteratorHelper","_step","s","n","done","_current$key","key","err","e","f"],"sources":["index.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../../common/thor/ypath';\nimport hammer from '../../../../common/hammer';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport {\n BundleControllerConfig,\n BundleDataCenter,\n BundleDefaultConfigData,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {BundleParam} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList';\nimport {BundleEditorDialogFormValues} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog';\nimport {FormApi} from '../../../../components/Dialog/Dialog';\n\ntype InnerKeys<T> = {[K in keyof T]: Array<keyof T[K]>};\ntype FormKeys = InnerKeys<Required<BundleEditorDialogFormValues>>;\n\nexport const bundleEditorDict: {\n keys: Pick<FormKeys, 'memory_limits' | 'resources' | 'cpu_limits'>;\n defaults: Pick<Required<BundleEditorDialogFormValues>, 'memory_limits' | 'cpu_limits'>;\n} = {\n keys: {\n resources: [\n 'rpc_proxy_count',\n 'rpc_proxy_resource_guarantee',\n 'tablet_node_count',\n 'tablet_node_resource_guarantee',\n ],\n memory_limits: [\n 'reserved',\n 'tablet_static',\n 'tablet_dynamic',\n 'compressed_block_cache',\n 'uncompressed_block_cache',\n 'versioned_chunk_meta',\n 'lookup_row_cache',\n 'key_filter_block_cache',\n ],\n cpu_limits: ['lookup_thread_pool_size', 'query_thread_pool_size', 'write_thread_pool_size'],\n },\n defaults: {\n memory_limits: {\n error: false,\n memory_reset: false,\n tablet_static: 0,\n tablet_dynamic: 0,\n compressed_block_cache: 0,\n uncompressed_block_cache: 0,\n versioned_chunk_meta: 0,\n lookup_row_cache: 0,\n key_filter_block_cache: 0,\n },\n cpu_limits: {\n threadPool_reset: false,\n lookup_thread_pool_size: 0,\n query_thread_pool_size: 0,\n write_thread_pool_size: 0,\n },\n },\n};\n\nexport const getResourceData = (source: object, resourceType: string) => {\n const usage = ypath.getValue(source, `/@resource_usage/${resourceType}`);\n const limit = ypath.getValue(source, `/@resource_limits/${resourceType}`);\n return {\n usage,\n limit,\n };\n};\n\nexport const getInitialFormValues = (\n data: object,\n bundleControllerConfig?: BundleControllerConfig,\n): Partial<BundleEditorDialogFormValues> => {\n const slug = ypath.getValue(data, '/@abc/slug');\n const changelogAccount = ypath.getValue(data, `/@options/changelog_account`);\n const snapshotAccount = ypath.getValue(data, `/@options/snapshot_account`);\n const {limit: tablet_count} = getResourceData(data, 'tablet_count');\n const {limit: tablet_static_memory} = getResourceData(data, 'tablet_static_memory');\n\n if (!bundleControllerConfig) {\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n tablet_count: tablet_count || 0,\n tablet_static_memory: tablet_static_memory || 0,\n },\n };\n }\n\n const {\n rpc_proxy_count,\n tablet_node_count,\n cpu_limits,\n memory_limits,\n rpc_proxy_resource_guarantee,\n tablet_node_resource_guarantee,\n } = bundleControllerConfig;\n\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n info: '', // system\n tablet_count: tablet_count || 0,\n rpc_proxy_count: rpc_proxy_count, // todo\n rpc_proxy_resource_guarantee: rpc_proxy_resource_guarantee || undefined,\n tablet_node_count: tablet_node_count,\n tablet_node_resource_guarantee: tablet_node_resource_guarantee || undefined,\n },\n memory_limits: {\n error: false, // system\n memory_reset: false, // system\n reserved: memory_limits?.reserved || 0,\n tablet_static: memory_limits?.tablet_static || 0,\n tablet_dynamic: memory_limits?.tablet_dynamic || 0,\n compressed_block_cache: memory_limits?.compressed_block_cache || 0,\n uncompressed_block_cache: memory_limits?.uncompressed_block_cache || 0,\n versioned_chunk_meta: memory_limits?.versioned_chunk_meta || 0,\n lookup_row_cache: memory_limits?.lookup_row_cache || 0,\n key_filter_block_cache: memory_limits?.key_filter_block_cache || 0,\n },\n cpu_limits: {\n threadPool_reset: false, //system\n lookup_thread_pool_size: cpu_limits?.lookup_thread_pool_size || 0,\n query_thread_pool_size: cpu_limits?.query_thread_pool_size || 0,\n write_thread_pool_size: cpu_limits?.write_thread_pool_size || 0,\n },\n };\n};\n\nfunction formatNetwork(value?: number) {\n const formatted = typeof value !== 'undefined' ? (value / 1000e6).toPrecision(2) : 0;\n return `${formatted} Gbit RX/TX`;\n}\n\nexport const createConfigurationList = (\n data: BundleDefaultConfigData['rpc_proxy_sizes'] | BundleDefaultConfigData['tablet_node_sizes'],\n) => {\n return Object.entries(data).map(([type, itemData]) => {\n const {net, vcpu, memory} = itemData.resource_guarantee;\n return {\n id: type,\n type,\n memory: hammer.format['Bytes'](memory),\n net: formatNetwork(net),\n vcpu: hammer.format['vCores'](vcpu),\n initialData: {...itemData.resource_guarantee, type},\n };\n });\n};\n\nexport const createParams = (formatType: 'Bytes' | 'vCores', total: number, used?: number) => {\n const [totalVal, totalPref] = hammer.format[formatType](total).split(' ');\n const params: BundleParam[] = [{title: 'Total', value: totalVal, postfix: totalPref}];\n\n if (typeof used !== 'undefined') {\n const difference = total - used;\n const [usedVal, usedPref] = hammer.format[formatType](difference).split(' ');\n params.push({\n title: 'Free',\n value: usedVal === hammer.format.NO_VALUE ? '0' : usedVal,\n postfix: usedPref,\n type: difference >= 0 ? 'positive' : 'negative',\n });\n }\n return params;\n};\n\nfunction prepareAbc(value: {id: number; slug: string}) {\n const {id, slug} = value;\n return id && slug ? {id, slug} : undefined;\n}\n\nexport const prepareSubmitBundle = (form: FormApi<BundleEditorDialogFormValues>) => {\n const prepare: {[path: string]: any} = {};\n const {dirtyFields, values} = form.getState();\n\n function addToChange(attr: string, field: string, prepareValue?: Function) {\n if (!dirtyFields[field]) {\n return;\n }\n const value = _.get(values, field);\n prepare[attr] = typeof prepareValue === 'function' ? prepareValue(value) : value;\n }\n\n // Generel\n addToChange('@abc', 'general.abc', prepareAbc);\n addToChange('@options/changelog_account', 'general.changelog_account');\n addToChange('@options/snapshot_account', 'general.snapshot_account');\n // Resources\n addToChange('@resource_limits/tablet_count', 'resources.tablet_count');\n addToChange('@resource_limits/tablet_static_memory', 'resources.tablet_static_memory');\n addToChange('@bundle_controller_target_config/rpc_proxy_count', 'resources.rpc_proxy_count');\n addToChange(\n '@bundle_controller_target_config/tablet_node_count',\n 'resources.tablet_node_count',\n );\n addToChange(\n '@bundle_controller_target_config/rpc_proxy_resource_guarantee',\n 'resources.rpc_proxy_resource_guarantee',\n );\n addToChange(\n '@bundle_controller_target_config/tablet_node_resource_guarantee',\n 'resources.tablet_node_resource_guarantee',\n );\n // Memory_limits\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_static',\n 'memory_limits.tablet_static',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_dynamic',\n 'memory_limits.tablet_dynamic',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/compressed_block_cache',\n 'memory_limits.compressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/uncompressed_block_cache',\n 'memory_limits.uncompressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/versioned_chunk_meta',\n 'memory_limits.versioned_chunk_meta',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/lookup_row_cache',\n 'memory_limits.lookup_row_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/key_filter_block_cache',\n 'memory_limits.key_filter_block_cache',\n );\n // Cpu_limits\n addToChange(\n '@bundle_controller_target_config/cpu_limits/lookup_thread_pool_size',\n 'cpu_limits.lookup_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/query_thread_pool_size',\n 'cpu_limits.query_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/write_thread_pool_size',\n 'cpu_limits.write_thread_pool_size',\n );\n\n return prepare;\n};\n\nexport const simpleBundleValidate = (v?: number | string) => {\n const toNumber = Number(v);\n let error;\n if (!Number.isFinite(toNumber)) {\n error = 'Incorrect value';\n }\n\n if (toNumber < 0) {\n error = 'Must be greater than or equal to zero';\n }\n\n return error;\n};\n\nexport const instanceCountValidate = ({\n length,\n}: BundleDataCenter[]): ((input?: number | string) => string | undefined) => {\n return (input?: number | string): string | undefined => {\n const number = Number(input);\n let error: string | undefined;\n\n if (!Number.isFinite(number)) {\n error = 'Incorrect value';\n } else if (number < 0) {\n error = 'Must be greater than or equal to zero';\n } else if (length > 0 && number % length !== 0) {\n error = `Must be divisible by ${length}`;\n }\n\n return error;\n };\n};\n\nexport function getBundleControllerResource<K extends 'cpu_limits' | 'memory_limits'>(\n current: Partial<Required<BundleEditorDialogFormValues>[K]>,\n defaultValues: Partial<Required<BundleEditorDialogFormValues>[K]>,\n resourceName: K,\n) {\n const result: Partial<BundleEditorDialogFormValues[K]> = {};\n\n for (const key of bundleEditorDict.keys[resourceName]) {\n result[key] = current[key] ?? defaultValues[key];\n }\n\n return result;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_ypath","_interopRequireDefault","require","_hammer","obj","__esModule","default","bundleEditorDict","exports","keys","resources","memory_limits","cpu_limits","defaults","memory_reset","tablet_static","tablet_dynamic","compressed_block_cache","uncompressed_block_cache","versioned_chunk_meta","lookup_row_cache","key_filter_block_cache","threadPool_reset","lookup_thread_pool_size","query_thread_pool_size","write_thread_pool_size","getResourceData","source","resourceType","usage","ypath","getValue","concat","limit","getInitialFormValues","data","bundleControllerConfig","slug","changelogAccount","snapshotAccount","_getResourceData","tablet_count","_getResourceData2","tablet_static_memory","general","abc","changelog_account","snapshot_account","rpc_proxy_count","tablet_node_count","rpc_proxy_resource_guarantee","tablet_node_resource_guarantee","info","undefined","reserved","formatNetwork","value","formatted","toPrecision","createConfigurationList","Object","entries","map","_ref","_ref2","_slicedToArray","type","itemData","_itemData$resource_gu","resource_guarantee","net","vcpu","memory","id","hammer","format","initialData","_objectSpread","createParams","formatType","total","used","_hammer$format$format","split","_hammer$format$format2","totalVal","totalPref","params","title","postfix","difference","_hammer$format$format3","_hammer$format$format4","usedVal","usedPref","push","NO_VALUE","prepareAbc","prepareSubmitBundle","form","prepare","_form$getState","getState","dirtyFields","values","addToChange","attr","field","prepareValue","_get","simpleBundleValidate","v","toNumber","Number","error","isFinite","instanceCountValidate","_ref3","length","input","number","getBundleControllerResource","current","defaultValues","resourceName","result","_iterator","_createForOfIteratorHelper","_step","s","n","done","_current$key","key","err","e","f"],"sources":["index.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../../common/thor/ypath';\nimport hammer from '../../../../common/hammer';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport {\n BundleControllerConfig,\n BundleDataCenter,\n BundleDefaultConfigData,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {BundleParam} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList';\nimport {BundleEditorDialogFormValues} from '../../../../pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog';\nimport {FormApi} from '../../../../components/Dialog/Dialog';\n\ntype InnerKeys<T> = {[K in keyof T]: Array<keyof T[K]>};\ntype FormKeys = InnerKeys<Required<BundleEditorDialogFormValues>>;\n\nexport const bundleEditorDict: {\n keys: Pick<FormKeys, 'memory_limits' | 'resources' | 'cpu_limits'>;\n defaults: Pick<Required<BundleEditorDialogFormValues>, 'memory_limits' | 'cpu_limits'>;\n} = {\n keys: {\n resources: [\n 'rpc_proxy_count',\n 'rpc_proxy_resource_guarantee',\n 'tablet_node_count',\n 'tablet_node_resource_guarantee',\n ],\n memory_limits: [\n 'reserved',\n 'tablet_static',\n 'tablet_dynamic',\n 'compressed_block_cache',\n 'uncompressed_block_cache',\n 'versioned_chunk_meta',\n 'lookup_row_cache',\n 'key_filter_block_cache',\n ],\n cpu_limits: ['lookup_thread_pool_size', 'query_thread_pool_size', 'write_thread_pool_size'],\n },\n defaults: {\n memory_limits: {\n memory_reset: false,\n tablet_static: 0,\n tablet_dynamic: 0,\n compressed_block_cache: 0,\n uncompressed_block_cache: 0,\n versioned_chunk_meta: 0,\n lookup_row_cache: 0,\n key_filter_block_cache: 0,\n },\n cpu_limits: {\n threadPool_reset: false,\n lookup_thread_pool_size: 0,\n query_thread_pool_size: 0,\n write_thread_pool_size: 0,\n },\n },\n};\n\nexport const getResourceData = (source: object, resourceType: string) => {\n const usage = ypath.getValue(source, `/@resource_usage/${resourceType}`);\n const limit = ypath.getValue(source, `/@resource_limits/${resourceType}`);\n return {\n usage,\n limit,\n };\n};\n\nexport const getInitialFormValues = (\n data: object,\n bundleControllerConfig?: BundleControllerConfig,\n): Partial<BundleEditorDialogFormValues> => {\n const slug = ypath.getValue(data, '/@abc/slug');\n const changelogAccount = ypath.getValue(data, `/@options/changelog_account`);\n const snapshotAccount = ypath.getValue(data, `/@options/snapshot_account`);\n const {limit: tablet_count} = getResourceData(data, 'tablet_count');\n const {limit: tablet_static_memory} = getResourceData(data, 'tablet_static_memory');\n\n if (!bundleControllerConfig) {\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n tablet_count: tablet_count || 0,\n tablet_static_memory: tablet_static_memory || 0,\n },\n };\n }\n\n const {\n rpc_proxy_count,\n tablet_node_count,\n cpu_limits,\n memory_limits,\n rpc_proxy_resource_guarantee,\n tablet_node_resource_guarantee,\n } = bundleControllerConfig;\n\n return {\n general: {\n abc: {slug},\n changelog_account: changelogAccount,\n snapshot_account: snapshotAccount,\n },\n resources: {\n info: '', // system\n tablet_count: tablet_count || 0,\n rpc_proxy_count: rpc_proxy_count, // todo\n rpc_proxy_resource_guarantee: rpc_proxy_resource_guarantee || undefined,\n tablet_node_count: tablet_node_count,\n tablet_node_resource_guarantee: tablet_node_resource_guarantee || undefined,\n },\n memory_limits: {\n memory_reset: false, // system\n reserved: memory_limits?.reserved || 0,\n tablet_static: memory_limits?.tablet_static || 0,\n tablet_dynamic: memory_limits?.tablet_dynamic || 0,\n compressed_block_cache: memory_limits?.compressed_block_cache || 0,\n uncompressed_block_cache: memory_limits?.uncompressed_block_cache || 0,\n versioned_chunk_meta: memory_limits?.versioned_chunk_meta || 0,\n lookup_row_cache: memory_limits?.lookup_row_cache || 0,\n key_filter_block_cache: memory_limits?.key_filter_block_cache || 0,\n },\n cpu_limits: {\n threadPool_reset: false, //system\n lookup_thread_pool_size: cpu_limits?.lookup_thread_pool_size || 0,\n query_thread_pool_size: cpu_limits?.query_thread_pool_size || 0,\n write_thread_pool_size: cpu_limits?.write_thread_pool_size || 0,\n },\n };\n};\n\nfunction formatNetwork(value?: number) {\n const formatted = typeof value !== 'undefined' ? (value / 1000e6).toPrecision(2) : 0;\n return `${formatted} Gbit RX/TX`;\n}\n\nexport const createConfigurationList = (\n data: BundleDefaultConfigData['rpc_proxy_sizes'] | BundleDefaultConfigData['tablet_node_sizes'],\n) => {\n return Object.entries(data).map(([type, itemData]) => {\n const {net, vcpu, memory} = itemData.resource_guarantee;\n return {\n id: type,\n type,\n memory: hammer.format['Bytes'](memory),\n net: formatNetwork(net),\n vcpu: hammer.format['vCores'](vcpu),\n initialData: {...itemData.resource_guarantee, type},\n };\n });\n};\n\nexport const createParams = (formatType: 'Bytes' | 'vCores', total: number, used?: number) => {\n const [totalVal, totalPref] = hammer.format[formatType](total).split(' ');\n const params: BundleParam[] = [{title: 'Total', value: totalVal, postfix: totalPref}];\n\n if (typeof used !== 'undefined') {\n const difference = total - used;\n const [usedVal, usedPref] = hammer.format[formatType](difference).split(' ');\n params.push({\n title: 'Free',\n value: usedVal === hammer.format.NO_VALUE ? '0' : usedVal,\n postfix: usedPref,\n type: difference >= 0 ? 'positive' : 'negative',\n });\n }\n return params;\n};\n\nfunction prepareAbc(value: {id: number; slug: string}) {\n const {id, slug} = value;\n return id && slug ? {id, slug} : undefined;\n}\n\nexport const prepareSubmitBundle = (form: FormApi<BundleEditorDialogFormValues>) => {\n const prepare: {[path: string]: any} = {};\n const {dirtyFields, values} = form.getState();\n\n function addToChange(attr: string, field: string, prepareValue?: Function) {\n if (!dirtyFields[field]) {\n return;\n }\n const value = _.get(values, field);\n prepare[attr] = typeof prepareValue === 'function' ? prepareValue(value) : value;\n }\n\n // Generel\n addToChange('@abc', 'general.abc', prepareAbc);\n addToChange('@options/changelog_account', 'general.changelog_account');\n addToChange('@options/snapshot_account', 'general.snapshot_account');\n // Resources\n addToChange('@resource_limits/tablet_count', 'resources.tablet_count');\n addToChange('@resource_limits/tablet_static_memory', 'resources.tablet_static_memory');\n addToChange('@bundle_controller_target_config/rpc_proxy_count', 'resources.rpc_proxy_count');\n addToChange(\n '@bundle_controller_target_config/tablet_node_count',\n 'resources.tablet_node_count',\n );\n addToChange(\n '@bundle_controller_target_config/rpc_proxy_resource_guarantee',\n 'resources.rpc_proxy_resource_guarantee',\n );\n addToChange(\n '@bundle_controller_target_config/tablet_node_resource_guarantee',\n 'resources.tablet_node_resource_guarantee',\n );\n // Memory_limits\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_static',\n 'memory_limits.tablet_static',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/tablet_dynamic',\n 'memory_limits.tablet_dynamic',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/compressed_block_cache',\n 'memory_limits.compressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/uncompressed_block_cache',\n 'memory_limits.uncompressed_block_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/versioned_chunk_meta',\n 'memory_limits.versioned_chunk_meta',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/lookup_row_cache',\n 'memory_limits.lookup_row_cache',\n );\n addToChange(\n '@bundle_controller_target_config/memory_limits/key_filter_block_cache',\n 'memory_limits.key_filter_block_cache',\n );\n // Cpu_limits\n addToChange(\n '@bundle_controller_target_config/cpu_limits/lookup_thread_pool_size',\n 'cpu_limits.lookup_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/query_thread_pool_size',\n 'cpu_limits.query_thread_pool_size',\n );\n addToChange(\n '@bundle_controller_target_config/cpu_limits/write_thread_pool_size',\n 'cpu_limits.write_thread_pool_size',\n );\n\n return prepare;\n};\n\nexport const simpleBundleValidate = (v?: number | string) => {\n const toNumber = Number(v);\n let error;\n if (!Number.isFinite(toNumber)) {\n error = 'Incorrect value';\n }\n\n if (toNumber < 0) {\n error = 'Must be greater than or equal to zero';\n }\n\n return error;\n};\n\nexport const instanceCountValidate = ({\n length,\n}: BundleDataCenter[]): ((input?: number | string) => string | undefined) => {\n return (input?: number | string): string | undefined => {\n const number = Number(input);\n let error: string | undefined;\n\n if (!Number.isFinite(number)) {\n error = 'Incorrect value';\n } else if (number < 0) {\n error = 'Must be greater than or equal to zero';\n } else if (length > 0 && number % length !== 0) {\n error = `Must be divisible by ${length}`;\n }\n\n return error;\n };\n};\n\nexport function getBundleControllerResource<K extends 'cpu_limits' | 'memory_limits'>(\n current: Partial<Required<BundleEditorDialogFormValues>[K]>,\n defaultValues: Partial<Required<BundleEditorDialogFormValues>[K]>,\n resourceName: K,\n) {\n const result: Partial<BundleEditorDialogFormValues[K]> = {};\n\n for (const key of bundleEditorDict.keys[resourceName]) {\n result[key] = current[key] ?? defaultValues[key];\n }\n\n return result;\n}\n"],"mappings":"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"}
@@ -41,6 +41,7 @@ var _hammer = _interopRequireDefault(require("../common/hammer"));
41
41
  var _constants = require("../constants");
42
42
  var _errors = require("../store/actions/modals/errors");
43
43
  var _uiError = require("./errors/ui-error");
44
+ var _cancelHelper = require("./cancel-helper");
44
45
  var _jsxRuntime = require("react/jsx-runtime");
45
46
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
46
47
  var _excluded = ["results"],
@@ -155,7 +156,7 @@ function wrapApiPromiseByToaster(p, options) {
155
156
  var data = (error === null || error === void 0 || (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) || error;
156
157
  var code = data.code,
157
158
  message = data.message;
158
- if (!options.skipErrorToast) {
159
+ if (!options.skipErrorToast && !(0, _cancelHelper.isCancelled)(error)) {
159
160
  toaster.add({
160
161
  name: options.toasterName,
161
162
  type: 'error',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_axios","_uikit","_progress","_hammer","_constants","_errors","_uiError","_jsxRuntime","obj","__esModule","default","getBatchError","batchResults","message","splitBatchResults","UIBatchError","error","COMMANDS_V4_WITH_VALUE","get","list","exists","extractBatchV4Values","data","requests","results","rest","_objectWithoutProperties","_excluded","res","_map","itemData","index","_requests$index","hasValue","command","output","itemRest","_excluded2","_objectSpread","value","inputError","dstError","innerErrors","outputs","errorIndices","resultIndices","_forEach","push","length","_dstError$inner_error","_dstError$inner_error2","inner_errors","apply","undefined","getBatchErrorIndices","_reduce","acc","_ref","toaster","Toaster","wrapBatchPromise","p","errorTitle","then","wrapApiPromiseByToaster","options","errorContent","successContent","isBatch","skipSuccessToast","_options$timeout","add","name","toasterName","type","title","successTitle","content","autoHiding","autoHide","timeout","_error$response","axios","isCancel","Promise","reject","response","code","skipErrorToast","_jsxs","children","actions","label","onClick","showErrorPopup","calcProgressProps","usage","limit","format","arguments","themeThresholds","defaultThemeThresholds","computeProgress","theme","getProgressTheme","text","concat","formatNumber","hammer","showToasterError","_error$response2","unescapeSlashX","path","decoded","i","len","currentChar","charAt","nextChar","hexEscapeSequence","String","fromCharCode","parseInt","calculateLoadingStatus","loading","loaded","LOADING_STATUS","LOADING","ERROR","LOADED","UNINITIALIZED","isFinalLoadingStatus","status","delayed","callBack","rej","setTimeout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","t1","sent","t2","stop","makeLink","url","_jsx","Link","href","target","window","store","dispatch","showErrorModal","toggleBooleanInPlace","key","tmp","moveArrayElement","arr","oldIndex","newIndex","_arr$splice","splice","_arr$splice2","_slicedToArray","item","nanToUndefined","isNaN","visitTreeItems","treeItem","visitorFn","opts","handledSet","Set","visitTreeItemsImpl","isNeedToSkipChildren","has","child","openInNewTab","Object","assign","document","createElement","click","previousProps","showChangedProps","props","verbose","prevProps","console","log","Date","now","keys","changed","v","k","updateIfChanged","isEqual"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport axios, {AxiosError} from 'axios';\nimport _ from 'lodash';\n\nimport {TypedKeys, YTError} from '../types';\nimport {Link, ProgressProps, Toaster} from '@gravity-ui/uikit';\nimport {\n ThemeThreshold,\n computeProgress,\n defaultThemeThresholds,\n getProgressTheme,\n} from '../utils/progress';\nimport hammer from '../common/hammer';\nimport {LOADING_STATUS} from '../constants';\nimport {ErrorInfo} from '../store/reducers/modals/errors';\nimport {showErrorModal} from '../store/actions/modals/errors';\nimport {BatchResultsItem} from '../../shared/yt-types';\n\nimport {UIBatchError} from './errors/ui-error';\n\nexport function getBatchError<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string,\n): YTError | undefined {\n return splitBatchResults(batchResults, new UIBatchError(message)).error;\n}\n\nconst COMMANDS_V4_WITH_VALUE: Record<string, boolean> = {\n get: true,\n list: true,\n exists: true,\n};\n\nexport function extractBatchV4Values<V, T extends {value?: V}>(\n data: {\n results?: Array<BatchResultsItem<T | V>>;\n },\n requests: Array<{command: string}>,\n) {\n const {results, ...rest} = data;\n const res = !results\n ? []\n : _.map(results, (itemData, index) => {\n const hasValue = COMMANDS_V4_WITH_VALUE[requests[index]?.command];\n if (!hasValue) {\n return itemData;\n }\n\n const {output, ...itemRest} = itemData;\n return {\n ...itemRest,\n ...(hasValue ? {output: (output as any).value} : {output}),\n };\n });\n\n return {...rest, results: res};\n}\n\nexport interface SplitedBatchResults<T> {\n error: YTError | undefined;\n results: Array<T>;\n outputs: Array<T | undefined>;\n errorIndices: Array<number>;\n resultIndices: Array<number>;\n}\n\nexport function splitBatchResults<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n inputError: string | UIBatchError,\n): SplitedBatchResults<T> {\n const dstError: UIBatchError =\n typeof inputError === 'string' ? new UIBatchError(inputError) : inputError;\n\n const innerErrors: Array<YTError> = [];\n const results: Array<T> = [];\n const outputs: Array<T | undefined> = [];\n const errorIndices: Array<number> = [];\n const resultIndices: Array<number> = [];\n _.forEach(batchResults, (res, index) => {\n const {error, output} = res;\n outputs.push(output);\n if (error) {\n innerErrors.push(error);\n errorIndices.push(index);\n } else {\n results.push(output!);\n resultIndices.push(index);\n }\n });\n\n if (innerErrors.length) {\n dstError.inner_errors = dstError.inner_errors ?? [];\n dstError.inner_errors.push(...innerErrors);\n }\n\n const error = !innerErrors.length ? undefined : dstError;\n return {error: error as UIBatchError, results, outputs, errorIndices, resultIndices};\n}\n\nexport function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>) {\n return _.reduce(\n results,\n (acc, {error}, index) => {\n if (error) {\n acc.push(index);\n }\n return acc;\n },\n [] as Array<number>,\n );\n}\n\ninterface CommonWrapApiOptions<T> {\n toasterName: string;\n successContent?: React.ReactNode | ((res: T) => React.ReactNode);\n skipSuccessToast?: boolean;\n errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);\n skipErrorToast?: boolean;\n successTitle?: string;\n timeout?: number;\n autoHide?: boolean;\n}\n\ntype BatchWrapApiOption =\n | {isBatch?: false; errorTitle?: string}\n | {isBatch: true; errorTitle: string};\n\ntype WrapApiOptions<T> = CommonWrapApiOptions<T> & BatchWrapApiOption;\n\nconst toaster = new Toaster();\n\nexport function wrapBatchPromise<T>(p: Promise<T>, errorTitle: string): Promise<T> {\n return p.then((res) => {\n const error = getBatchError(res as any, errorTitle);\n if (error) {\n throw error;\n }\n\n return res;\n });\n}\n\nexport function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T> {\n const {errorContent, successContent} = options;\n return p\n .then((res) => {\n if (options.isBatch) {\n const error = getBatchError(\n res as any,\n options.errorTitle || 'Missing batch error title',\n );\n if (error) {\n throw error;\n }\n }\n\n if (!options.skipSuccessToast) {\n toaster.add({\n name: options.toasterName,\n type: 'success',\n title: options.successTitle || 'Success',\n content:\n 'function' === typeof successContent ? successContent(res) : successContent,\n autoHiding: options.autoHide === false ? false : options.timeout ?? 10000,\n });\n }\n return res;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n if (!options.skipErrorToast) {\n toaster.add({\n name: options.toasterName,\n type: 'error',\n title: options.errorTitle || 'Failure',\n content:\n 'function' === typeof errorContent\n ? errorContent(error)\n : errorContent || (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' Details', onClick: () => showErrorPopup(data)}],\n autoHiding: false,\n });\n }\n return Promise.reject(error);\n });\n}\n\nexport function calcProgressProps(\n usage?: number,\n limit?: number,\n format: 'Number' | 'Bytes' = 'Number',\n themeThresholds: ThemeThreshold[] = defaultThemeThresholds,\n): ProgressProps {\n const value = computeProgress(usage, limit);\n return {\n value,\n theme: getProgressTheme(value, themeThresholds),\n text: `${formatNumber(usage, format)} / ${formatNumber(limit, format)}`,\n };\n}\n\nexport function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string {\n return format === 'Bytes' ? hammer.format['Bytes'](value) : hammer.format['Number'](value);\n}\n\nexport function showToasterError(name: string, error: any) {\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name,\n type: 'error',\n title: `${name} failure`,\n content: (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n return Promise.reject(error);\n}\n\nexport function unescapeSlashX(path: string) {\n let decoded = '';\n\n for (let i = 0, len = path.length; i < len; i++) {\n const currentChar = path.charAt(i);\n\n if (currentChar === '\\\\') {\n const nextChar = path.charAt((i += 1));\n\n if (nextChar === 'x') {\n // TODO check that next two characters are hexademical and end of string is not reached\n const hexEscapeSequence = path.charAt((i += 1)) + path.charAt((i += 1));\n\n decoded += String.fromCharCode(parseInt(hexEscapeSequence, 16));\n } else {\n decoded += nextChar;\n }\n } else {\n decoded += currentChar;\n }\n }\n\n return decoded;\n}\n\nexport function calculateLoadingStatus(loading: boolean, loaded: boolean, error: any) {\n if (loading) {\n return LOADING_STATUS.LOADING;\n }\n\n if (error) {\n return LOADING_STATUS.ERROR;\n }\n\n if (loaded) {\n return LOADING_STATUS.LOADED;\n }\n\n return LOADING_STATUS.UNINITIALIZED;\n}\n\nexport function isFinalLoadingStatus(status: string) {\n return status === LOADING_STATUS.LOADED || status === LOADING_STATUS.ERROR;\n}\n\nexport function delayed<T>(callBack: () => Promise<T>, timeout: number): Promise<T> {\n return new Promise((res, rej) => {\n setTimeout(async () => {\n try {\n res(await callBack());\n } catch (e) {\n rej(e);\n }\n }, timeout);\n });\n}\n\nexport function makeLink(url: string, text: string) {\n return !url ? undefined : (\n <Link href={url} target={'_blank'}>\n {text}\n </Link>\n );\n}\n\nexport function showErrorPopup(\n error: YTError | AxiosError,\n options: Omit<ErrorInfo, 'error'> = {},\n) {\n (window as any).store.dispatch(showErrorModal(error, options));\n}\n\nexport function toggleBooleanInPlace<T, K extends TypedKeys<T, boolean>>(key: K, obj: T) {\n const tmp: any = obj;\n if (tmp[key]) {\n delete tmp[key];\n } else {\n tmp[key] = true;\n }\n return obj;\n}\n\nexport function moveArrayElement<T>(arr: Array<T>, oldIndex: number, newIndex: number): [] | [T] {\n if (oldIndex < 0 || oldIndex >= arr.length || newIndex < 0 || newIndex >= arr.length) {\n return [];\n }\n\n const [item] = arr.splice(oldIndex, 1);\n arr.splice(newIndex, 0, item);\n\n return [item];\n}\n\nexport function nanToUndefined(value: any) {\n return isNaN(value) ? undefined : value;\n}\n\ntype Tree<T> = T & {\n children?: Array<Tree<T>>;\n};\n\ninterface VisitTreeItemsOptions<T> {\n handledSet: Set<unknown>;\n isNeedToSkipChildren?: (item: T) => boolean;\n}\n\nexport function visitTreeItems<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options?: Partial<VisitTreeItemsOptions<T>>,\n) {\n const opts = {\n ...options,\n handledSet: options?.handledSet || new Set(),\n };\n\n return visitTreeItemsImpl(treeItem, visitorFn, opts);\n}\n\nfunction visitTreeItemsImpl<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options: VisitTreeItemsOptions<T>,\n) {\n const {handledSet, isNeedToSkipChildren} = options;\n\n if (!treeItem || handledSet.has(treeItem)) {\n return;\n }\n\n handledSet.add(treeItem);\n visitorFn(treeItem);\n\n if (isNeedToSkipChildren && isNeedToSkipChildren(treeItem)) {\n return;\n }\n\n _.forEach(treeItem.children, (child) => visitTreeItemsImpl(child, visitorFn, options));\n}\n\nexport function openInNewTab(href: string) {\n // Safari specific hack to open new tab (not window)\n Object.assign(document.createElement('a'), {\n target: '_blank',\n href,\n }).click();\n}\n\nconst previousProps: Record<string, any> = {};\n\nexport function showChangedProps(key: string, props: object, verbose?: boolean) {\n const prevProps = previousProps[key];\n if (prevProps === undefined) {\n console.log(key, Date.now(), Object.keys(props));\n } else {\n const changed: Array<string> = [];\n _.forEach(props, (v, k) => {\n if (v !== prevProps[k]) {\n changed.push(k);\n if (verbose) {\n console.log(key, k, {prev: prevProps[k], v});\n }\n }\n });\n console.log(key, Date.now(), changed);\n }\n previousProps[key] = props;\n}\n\nexport function updateIfChanged<T, K extends keyof T>(\n obj: T,\n key: K,\n value: T[K],\n isEqual?: (l: T[K], r: T[K]) => boolean,\n) {\n if (isEqual ? !isEqual(obj[key], value) : obj[key] !== value) {\n obj[key] = value;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_axios","_uikit","_progress","_hammer","_constants","_errors","_uiError","_cancelHelper","_jsxRuntime","obj","__esModule","default","getBatchError","batchResults","message","splitBatchResults","UIBatchError","error","COMMANDS_V4_WITH_VALUE","get","list","exists","extractBatchV4Values","data","requests","results","rest","_objectWithoutProperties","_excluded","res","_map","itemData","index","_requests$index","hasValue","command","output","itemRest","_excluded2","_objectSpread","value","inputError","dstError","innerErrors","outputs","errorIndices","resultIndices","_forEach","push","length","_dstError$inner_error","_dstError$inner_error2","inner_errors","apply","undefined","getBatchErrorIndices","_reduce","acc","_ref","toaster","Toaster","wrapBatchPromise","p","errorTitle","then","wrapApiPromiseByToaster","options","errorContent","successContent","isBatch","skipSuccessToast","_options$timeout","add","name","toasterName","type","title","successTitle","content","autoHiding","autoHide","timeout","_error$response","axios","isCancel","Promise","reject","response","code","skipErrorToast","isCancelled","_jsxs","children","actions","label","onClick","showErrorPopup","calcProgressProps","usage","limit","format","arguments","themeThresholds","defaultThemeThresholds","computeProgress","theme","getProgressTheme","text","concat","formatNumber","hammer","showToasterError","_error$response2","unescapeSlashX","path","decoded","i","len","currentChar","charAt","nextChar","hexEscapeSequence","String","fromCharCode","parseInt","calculateLoadingStatus","loading","loaded","LOADING_STATUS","LOADING","ERROR","LOADED","UNINITIALIZED","isFinalLoadingStatus","status","delayed","callBack","rej","setTimeout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","t1","sent","t2","stop","makeLink","url","_jsx","Link","href","target","window","store","dispatch","showErrorModal","toggleBooleanInPlace","key","tmp","moveArrayElement","arr","oldIndex","newIndex","_arr$splice","splice","_arr$splice2","_slicedToArray","item","nanToUndefined","isNaN","visitTreeItems","treeItem","visitorFn","opts","handledSet","Set","visitTreeItemsImpl","isNeedToSkipChildren","has","child","openInNewTab","Object","assign","document","createElement","click","previousProps","showChangedProps","props","verbose","prevProps","console","log","Date","now","keys","changed","v","k","updateIfChanged","isEqual"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport axios, {AxiosError} from 'axios';\nimport _ from 'lodash';\n\nimport {TypedKeys, YTError} from '../types';\nimport {Link, ProgressProps, Toaster} from '@gravity-ui/uikit';\nimport {\n ThemeThreshold,\n computeProgress,\n defaultThemeThresholds,\n getProgressTheme,\n} from '../utils/progress';\nimport hammer from '../common/hammer';\nimport {LOADING_STATUS} from '../constants';\nimport {ErrorInfo} from '../store/reducers/modals/errors';\nimport {showErrorModal} from '../store/actions/modals/errors';\nimport {BatchResultsItem} from '../../shared/yt-types';\n\nimport {UIBatchError} from './errors/ui-error';\nimport {isCancelled} from './cancel-helper';\n\nexport function getBatchError<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string,\n): YTError | undefined {\n return splitBatchResults(batchResults, new UIBatchError(message)).error;\n}\n\nconst COMMANDS_V4_WITH_VALUE: Record<string, boolean> = {\n get: true,\n list: true,\n exists: true,\n};\n\nexport function extractBatchV4Values<V, T extends {value?: V}>(\n data: {\n results?: Array<BatchResultsItem<T | V>>;\n },\n requests: Array<{command: string}>,\n) {\n const {results, ...rest} = data;\n const res = !results\n ? []\n : _.map(results, (itemData, index) => {\n const hasValue = COMMANDS_V4_WITH_VALUE[requests[index]?.command];\n if (!hasValue) {\n return itemData;\n }\n\n const {output, ...itemRest} = itemData;\n return {\n ...itemRest,\n ...(hasValue ? {output: (output as any).value} : {output}),\n };\n });\n\n return {...rest, results: res};\n}\n\nexport interface SplitedBatchResults<T> {\n error: YTError | undefined;\n results: Array<T>;\n outputs: Array<T | undefined>;\n errorIndices: Array<number>;\n resultIndices: Array<number>;\n}\n\nexport function splitBatchResults<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n inputError: string | UIBatchError,\n): SplitedBatchResults<T> {\n const dstError: UIBatchError =\n typeof inputError === 'string' ? new UIBatchError(inputError) : inputError;\n\n const innerErrors: Array<YTError> = [];\n const results: Array<T> = [];\n const outputs: Array<T | undefined> = [];\n const errorIndices: Array<number> = [];\n const resultIndices: Array<number> = [];\n _.forEach(batchResults, (res, index) => {\n const {error, output} = res;\n outputs.push(output);\n if (error) {\n innerErrors.push(error);\n errorIndices.push(index);\n } else {\n results.push(output!);\n resultIndices.push(index);\n }\n });\n\n if (innerErrors.length) {\n dstError.inner_errors = dstError.inner_errors ?? [];\n dstError.inner_errors.push(...innerErrors);\n }\n\n const error = !innerErrors.length ? undefined : dstError;\n return {error: error as UIBatchError, results, outputs, errorIndices, resultIndices};\n}\n\nexport function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>) {\n return _.reduce(\n results,\n (acc, {error}, index) => {\n if (error) {\n acc.push(index);\n }\n return acc;\n },\n [] as Array<number>,\n );\n}\n\ninterface CommonWrapApiOptions<T> {\n toasterName: string;\n successContent?: React.ReactNode | ((res: T) => React.ReactNode);\n skipSuccessToast?: boolean;\n errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);\n skipErrorToast?: boolean;\n successTitle?: string;\n timeout?: number;\n autoHide?: boolean;\n}\n\ntype BatchWrapApiOption =\n | {isBatch?: false; errorTitle?: string}\n | {isBatch: true; errorTitle: string};\n\ntype WrapApiOptions<T> = CommonWrapApiOptions<T> & BatchWrapApiOption;\n\nconst toaster = new Toaster();\n\nexport function wrapBatchPromise<T>(p: Promise<T>, errorTitle: string): Promise<T> {\n return p.then((res) => {\n const error = getBatchError(res as any, errorTitle);\n if (error) {\n throw error;\n }\n\n return res;\n });\n}\n\nexport function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T> {\n const {errorContent, successContent} = options;\n return p\n .then((res) => {\n if (options.isBatch) {\n const error = getBatchError(\n res as any,\n options.errorTitle || 'Missing batch error title',\n );\n if (error) {\n throw error;\n }\n }\n\n if (!options.skipSuccessToast) {\n toaster.add({\n name: options.toasterName,\n type: 'success',\n title: options.successTitle || 'Success',\n content:\n 'function' === typeof successContent ? successContent(res) : successContent,\n autoHiding: options.autoHide === false ? false : options.timeout ?? 10000,\n });\n }\n return res;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n if (!options.skipErrorToast && !isCancelled(error)) {\n toaster.add({\n name: options.toasterName,\n type: 'error',\n title: options.errorTitle || 'Failure',\n content:\n 'function' === typeof errorContent\n ? errorContent(error)\n : errorContent || (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' Details', onClick: () => showErrorPopup(data)}],\n autoHiding: false,\n });\n }\n return Promise.reject(error);\n });\n}\n\nexport function calcProgressProps(\n usage?: number,\n limit?: number,\n format: 'Number' | 'Bytes' = 'Number',\n themeThresholds: ThemeThreshold[] = defaultThemeThresholds,\n): ProgressProps {\n const value = computeProgress(usage, limit);\n return {\n value,\n theme: getProgressTheme(value, themeThresholds),\n text: `${formatNumber(usage, format)} / ${formatNumber(limit, format)}`,\n };\n}\n\nexport function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string {\n return format === 'Bytes' ? hammer.format['Bytes'](value) : hammer.format['Number'](value);\n}\n\nexport function showToasterError(name: string, error: any) {\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name,\n type: 'error',\n title: `${name} failure`,\n content: (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n return Promise.reject(error);\n}\n\nexport function unescapeSlashX(path: string) {\n let decoded = '';\n\n for (let i = 0, len = path.length; i < len; i++) {\n const currentChar = path.charAt(i);\n\n if (currentChar === '\\\\') {\n const nextChar = path.charAt((i += 1));\n\n if (nextChar === 'x') {\n // TODO check that next two characters are hexademical and end of string is not reached\n const hexEscapeSequence = path.charAt((i += 1)) + path.charAt((i += 1));\n\n decoded += String.fromCharCode(parseInt(hexEscapeSequence, 16));\n } else {\n decoded += nextChar;\n }\n } else {\n decoded += currentChar;\n }\n }\n\n return decoded;\n}\n\nexport function calculateLoadingStatus(loading: boolean, loaded: boolean, error: any) {\n if (loading) {\n return LOADING_STATUS.LOADING;\n }\n\n if (error) {\n return LOADING_STATUS.ERROR;\n }\n\n if (loaded) {\n return LOADING_STATUS.LOADED;\n }\n\n return LOADING_STATUS.UNINITIALIZED;\n}\n\nexport function isFinalLoadingStatus(status: string) {\n return status === LOADING_STATUS.LOADED || status === LOADING_STATUS.ERROR;\n}\n\nexport function delayed<T>(callBack: () => Promise<T>, timeout: number): Promise<T> {\n return new Promise((res, rej) => {\n setTimeout(async () => {\n try {\n res(await callBack());\n } catch (e) {\n rej(e);\n }\n }, timeout);\n });\n}\n\nexport function makeLink(url: string, text: string) {\n return !url ? undefined : (\n <Link href={url} target={'_blank'}>\n {text}\n </Link>\n );\n}\n\nexport function showErrorPopup(\n error: YTError | AxiosError,\n options: Omit<ErrorInfo, 'error'> = {},\n) {\n (window as any).store.dispatch(showErrorModal(error, options));\n}\n\nexport function toggleBooleanInPlace<T, K extends TypedKeys<T, boolean>>(key: K, obj: T) {\n const tmp: any = obj;\n if (tmp[key]) {\n delete tmp[key];\n } else {\n tmp[key] = true;\n }\n return obj;\n}\n\nexport function moveArrayElement<T>(arr: Array<T>, oldIndex: number, newIndex: number): [] | [T] {\n if (oldIndex < 0 || oldIndex >= arr.length || newIndex < 0 || newIndex >= arr.length) {\n return [];\n }\n\n const [item] = arr.splice(oldIndex, 1);\n arr.splice(newIndex, 0, item);\n\n return [item];\n}\n\nexport function nanToUndefined(value: any) {\n return isNaN(value) ? undefined : value;\n}\n\ntype Tree<T> = T & {\n children?: Array<Tree<T>>;\n};\n\ninterface VisitTreeItemsOptions<T> {\n handledSet: Set<unknown>;\n isNeedToSkipChildren?: (item: T) => boolean;\n}\n\nexport function visitTreeItems<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options?: Partial<VisitTreeItemsOptions<T>>,\n) {\n const opts = {\n ...options,\n handledSet: options?.handledSet || new Set(),\n };\n\n return visitTreeItemsImpl(treeItem, visitorFn, opts);\n}\n\nfunction visitTreeItemsImpl<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options: VisitTreeItemsOptions<T>,\n) {\n const {handledSet, isNeedToSkipChildren} = options;\n\n if (!treeItem || handledSet.has(treeItem)) {\n return;\n }\n\n handledSet.add(treeItem);\n visitorFn(treeItem);\n\n if (isNeedToSkipChildren && isNeedToSkipChildren(treeItem)) {\n return;\n }\n\n _.forEach(treeItem.children, (child) => visitTreeItemsImpl(child, visitorFn, options));\n}\n\nexport function openInNewTab(href: string) {\n // Safari specific hack to open new tab (not window)\n Object.assign(document.createElement('a'), {\n target: '_blank',\n href,\n }).click();\n}\n\nconst previousProps: Record<string, any> = {};\n\nexport function showChangedProps(key: string, props: object, verbose?: boolean) {\n const prevProps = previousProps[key];\n if (prevProps === undefined) {\n console.log(key, Date.now(), Object.keys(props));\n } else {\n const changed: Array<string> = [];\n _.forEach(props, (v, k) => {\n if (v !== prevProps[k]) {\n changed.push(k);\n if (verbose) {\n console.log(key, k, {prev: prevProps[k], v});\n }\n }\n });\n console.log(key, Date.now(), changed);\n }\n previousProps[key] = props;\n}\n\nexport function updateIfChanged<T, K extends keyof T>(\n obj: T,\n key: K,\n value: T[K],\n isEqual?: (l: T[K], r: T[K]) => boolean,\n) {\n if (isEqual ? !isEqual(obj[key], value) : obj[key] !== value) {\n obj[key] = value;\n }\n}\n"],"mappings":"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"}
@@ -23,3 +23,17 @@ export interface RemoteCopyParams {
23
23
  pool: string;
24
24
  override?: boolean;
25
25
  }
26
+
27
+ export type Pick2<
28
+ T extends object,
29
+ K1 extends keyof T,
30
+ K2 extends keyof T[K1],
31
+ /** R new type for T[K1][K2], do not provide it to infer corresponding types from T */
32
+ R = never,
33
+ > = {
34
+ [L1 in K1]: T[L1] extends object
35
+ ? {[L2 in K2]: R extends never ? T[L1][L2] : R}
36
+ : R extends never
37
+ ? T[L1]
38
+ : R;
39
+ };
@@ -201,6 +201,9 @@ var QuotaEditor = /*#__PURE__*/function (_React$Component) {
201
201
  if (currentAccount === srcAccount) {
202
202
  return 'The same source account';
203
203
  }
204
+ if (newLimit <= this.props.prevLimit) {
205
+ return undefined;
206
+ }
204
207
  var maxLimit = this.getMaxLimit();
205
208
  if (srcAccount && (maxLimit === undefined || newLimit > maxLimit)) {
206
209
  return 'New value is too big';
@@ -1 +1 @@
1
- {"version":3,"names":["React","cn","hammer","NumberInput","NumberInputWithError","jsx","_jsx","jsxs","_jsxs","block","QuotaEditor","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","onEnterKeyDown","_this$props$onEnterKe","props","onBytesChange","value","_this$props","onChange","sourceAccount","limit","source","error","checkForError","onAccountChange","_this$props2","_createClass","key","render","_this$props3","className","format","sourceSuggestTitle","renderSourceSuggest","limitInputTitle","showHint","decimalPlaces","sourceSuggestDisabled","children","disabled","Fragment","getFreeFormatted","getLimit","min","getMinLimit","max","getMaxLimit","qa","_this$props4","prevLimit","undefined","getFreeImpl","info","calcLimitTotal","total","allowChildrenOverCommit","_info$totalChildrenLi","totalChildrenLimit","free","Math","maxValue","_this$props$prevLimit","itemLimit","_this$props$limit","itemNewLimit","getFree","account","getInfoByName","_this$props5","currentAccount","_getInfoByName","res","NO_VALUE","Number","newLimit","srcAccount","isNaN","maxLimit","Component","default"],"sources":["QuotaEditor.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport hammer from '../../common/hammer';\nimport NumberInput, {\n NumberInputProps,\n NumberInputWithError,\n NumberInputWithErrorProps,\n} from '../../components/NumberInput/NumberInput';\n\nimport './QuotaEditor.scss';\n\nconst block = cn('yt-quota-editor');\n\nexport interface QuotaEditorProps {\n className?: string;\n limit: number | undefined;\n\n min?: number;\n max?: number;\n\n error?: string;\n prevLimit?: number;\n format: NumberInputProps['format'];\n decimalPlaces?: number;\n currentAccount: string;\n sourceAccount?: string;\n\n showHint?: boolean;\n\n onChange: (value: {limit?: number; source?: string; error?: string}) => void;\n onEnterKeyDown?: () => void;\n\n getInfoByName: (account: string) => {\n limit?: number;\n total?: number;\n totalChildrenLimit?: number;\n allowChildrenOverCommit?: number;\n };\n\n limitInputTitle?: React.ReactNode;\n sourceSuggestTitle?: React.ReactNode;\n renderSourceSuggest?: (props: SuggestProps) => React.ReactNode;\n sourceSuggestDisabled?: boolean;\n}\n\ninterface SuggestProps {\n value: string;\n onChange: (value?: string) => void;\n disabled?: boolean;\n}\n\nexport default class QuotaEditor extends React.Component<QuotaEditorProps> {\n render() {\n const {\n className,\n format,\n sourceSuggestTitle,\n renderSourceSuggest,\n sourceAccount,\n limitInputTitle,\n showHint,\n error,\n decimalPlaces,\n sourceSuggestDisabled,\n } = this.props;\n\n return (\n <div className={block(null, className)}>\n {renderSourceSuggest && (\n <div className={block('item')}>\n <div className={block('item-title')}>\n {sourceSuggestTitle || 'Account to distribution'}\n </div>\n {renderSourceSuggest({\n value: sourceAccount || '',\n onChange: this.onAccountChange,\n disabled: sourceSuggestDisabled,\n })}\n <div className={block('free')}>\n <React.Fragment>\n Free to distribute\n <span className={block('free-value')}>\n {' '}\n {this.getFreeFormatted()}\n </span>\n </React.Fragment>\n </div>\n </div>\n )}\n <div className={block('item')}>\n <div className={block('item-title')}>\n {limitInputTitle || 'New quota limit'}\n </div>\n <NumberInputWithError\n onChange={this.onBytesChange}\n value={{value: this.getLimit(), error}}\n format={format}\n showHint={showHint}\n min={this.getMinLimit()}\n max={this.getMaxLimit()}\n onEnterKeyDown={this.onEnterKeyDown}\n decimalPlaces={decimalPlaces}\n qa=\"quota-editor-new-limit\"\n />\n </div>\n </div>\n );\n }\n\n private onEnterKeyDown = () => {\n const {onEnterKeyDown = () => {}} = this.props;\n onEnterKeyDown();\n };\n\n private onBytesChange: NumberInputWithErrorProps['onChange'] = (value) => {\n const {onChange, sourceAccount} = this.props;\n onChange({\n limit: value?.value,\n source: sourceAccount,\n error: value?.error || this.checkForError(value?.value, sourceAccount),\n });\n };\n\n private onAccountChange = (source?: string) => {\n const {onChange, limit, error} = this.props;\n onChange({\n limit,\n source,\n error: error || this.checkForError(limit, source),\n });\n };\n\n private getLimit() {\n const {limit, prevLimit} = this.props;\n return limit !== undefined ? limit : prevLimit;\n }\n\n private getFreeImpl() {\n const {sourceAccount} = this.props;\n const info = this.calcLimitTotal(sourceAccount);\n const {limit, total, allowChildrenOverCommit, totalChildrenLimit = 0} = info;\n if (limit === undefined || total === undefined) {\n return {};\n }\n\n if (allowChildrenOverCommit) {\n const free = Math.max(0, limit);\n return {\n free,\n maxValue: free,\n };\n } else {\n const {prevLimit: itemLimit = 0} = this.props;\n const {limit: itemNewLimit = itemLimit} = this.props;\n const free = Math.max(0, limit - totalChildrenLimit);\n return {\n free: free + itemLimit - itemNewLimit,\n maxValue: free + itemLimit,\n };\n }\n }\n\n private getFree() {\n return this.getFreeImpl().free!;\n }\n\n private calcLimitTotal(account = '') {\n return this.props.getInfoByName(account);\n }\n\n private getMinLimit() {\n const {min} = this.props;\n if (min !== undefined) {\n return min;\n }\n\n const {currentAccount, getInfoByName} = this.props;\n const {totalChildrenLimit, total} = getInfoByName(currentAccount);\n const res = (total || 0) + (totalChildrenLimit || 0);\n\n return res;\n }\n\n private getMaxLimit() {\n const {max} = this.props;\n if (max !== undefined) {\n return max;\n }\n return this.getFreeImpl().maxValue!;\n }\n\n private getFreeFormatted() {\n const {sourceAccount} = this.props;\n if (!sourceAccount) {\n return hammer.format.NO_VALUE;\n }\n return NumberInput.format(Number(this.getFree()), this.props.format);\n }\n\n private checkForError(newLimit?: number, srcAccount?: string) {\n if (newLimit === undefined) {\n return undefined;\n }\n\n if (isNaN(newLimit!)) {\n return 'wrong format!';\n }\n\n const {currentAccount} = this.props;\n if (currentAccount === srcAccount) {\n return 'The same source account';\n }\n\n const maxLimit = this.getMaxLimit();\n\n if (srcAccount && (maxLimit === undefined || newLimit > maxLimit)) {\n return 'New value is too big';\n }\n\n return undefined;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","cn","hammer","NumberInput","NumberInputWithError","jsx","_jsx","jsxs","_jsxs","block","QuotaEditor","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","onEnterKeyDown","_this$props$onEnterKe","props","onBytesChange","value","_this$props","onChange","sourceAccount","limit","source","error","checkForError","onAccountChange","_this$props2","_createClass","key","render","_this$props3","className","format","sourceSuggestTitle","renderSourceSuggest","limitInputTitle","showHint","decimalPlaces","sourceSuggestDisabled","children","disabled","Fragment","getFreeFormatted","getLimit","min","getMinLimit","max","getMaxLimit","qa","_this$props4","prevLimit","undefined","getFreeImpl","info","calcLimitTotal","total","allowChildrenOverCommit","_info$totalChildrenLi","totalChildrenLimit","free","Math","maxValue","_this$props$prevLimit","itemLimit","_this$props$limit","itemNewLimit","getFree","account","getInfoByName","_this$props5","currentAccount","_getInfoByName","res","NO_VALUE","Number","newLimit","srcAccount","isNaN","maxLimit","Component","default"],"sources":["QuotaEditor.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport hammer from '../../common/hammer';\nimport NumberInput, {\n NumberInputProps,\n NumberInputWithError,\n NumberInputWithErrorProps,\n} from '../../components/NumberInput/NumberInput';\n\nimport './QuotaEditor.scss';\n\nconst block = cn('yt-quota-editor');\n\nexport interface QuotaEditorProps {\n className?: string;\n limit: number | undefined;\n\n min?: number;\n max?: number;\n\n error?: string;\n prevLimit?: number;\n format: NumberInputProps['format'];\n decimalPlaces?: number;\n currentAccount: string;\n sourceAccount?: string;\n\n showHint?: boolean;\n\n onChange: (value: {limit?: number; source?: string; error?: string}) => void;\n onEnterKeyDown?: () => void;\n\n getInfoByName: (account: string) => {\n limit?: number;\n total?: number;\n totalChildrenLimit?: number;\n allowChildrenOverCommit?: number;\n };\n\n limitInputTitle?: React.ReactNode;\n sourceSuggestTitle?: React.ReactNode;\n renderSourceSuggest?: (props: SuggestProps) => React.ReactNode;\n sourceSuggestDisabled?: boolean;\n}\n\ninterface SuggestProps {\n value: string;\n onChange: (value?: string) => void;\n disabled?: boolean;\n}\n\nexport default class QuotaEditor extends React.Component<QuotaEditorProps> {\n render() {\n const {\n className,\n format,\n sourceSuggestTitle,\n renderSourceSuggest,\n sourceAccount,\n limitInputTitle,\n showHint,\n error,\n decimalPlaces,\n sourceSuggestDisabled,\n } = this.props;\n\n return (\n <div className={block(null, className)}>\n {renderSourceSuggest && (\n <div className={block('item')}>\n <div className={block('item-title')}>\n {sourceSuggestTitle || 'Account to distribution'}\n </div>\n {renderSourceSuggest({\n value: sourceAccount || '',\n onChange: this.onAccountChange,\n disabled: sourceSuggestDisabled,\n })}\n <div className={block('free')}>\n <React.Fragment>\n Free to distribute\n <span className={block('free-value')}>\n {' '}\n {this.getFreeFormatted()}\n </span>\n </React.Fragment>\n </div>\n </div>\n )}\n <div className={block('item')}>\n <div className={block('item-title')}>\n {limitInputTitle || 'New quota limit'}\n </div>\n <NumberInputWithError\n onChange={this.onBytesChange}\n value={{value: this.getLimit(), error}}\n format={format}\n showHint={showHint}\n min={this.getMinLimit()}\n max={this.getMaxLimit()}\n onEnterKeyDown={this.onEnterKeyDown}\n decimalPlaces={decimalPlaces}\n qa=\"quota-editor-new-limit\"\n />\n </div>\n </div>\n );\n }\n\n private onEnterKeyDown = () => {\n const {onEnterKeyDown = () => {}} = this.props;\n onEnterKeyDown();\n };\n\n private onBytesChange: NumberInputWithErrorProps['onChange'] = (value) => {\n const {onChange, sourceAccount} = this.props;\n onChange({\n limit: value?.value,\n source: sourceAccount,\n error: value?.error || this.checkForError(value?.value, sourceAccount),\n });\n };\n\n private onAccountChange = (source?: string) => {\n const {onChange, limit, error} = this.props;\n onChange({\n limit,\n source,\n error: error || this.checkForError(limit, source),\n });\n };\n\n private getLimit() {\n const {limit, prevLimit} = this.props;\n return limit !== undefined ? limit : prevLimit;\n }\n\n private getFreeImpl() {\n const {sourceAccount} = this.props;\n const info = this.calcLimitTotal(sourceAccount);\n const {limit, total, allowChildrenOverCommit, totalChildrenLimit = 0} = info;\n if (limit === undefined || total === undefined) {\n return {};\n }\n\n if (allowChildrenOverCommit) {\n const free = Math.max(0, limit);\n return {\n free,\n maxValue: free,\n };\n } else {\n const {prevLimit: itemLimit = 0} = this.props;\n const {limit: itemNewLimit = itemLimit} = this.props;\n const free = Math.max(0, limit - totalChildrenLimit);\n return {\n free: free + itemLimit - itemNewLimit,\n maxValue: free + itemLimit,\n };\n }\n }\n\n private getFree() {\n return this.getFreeImpl().free!;\n }\n\n private calcLimitTotal(account = '') {\n return this.props.getInfoByName(account);\n }\n\n private getMinLimit() {\n const {min} = this.props;\n if (min !== undefined) {\n return min;\n }\n\n const {currentAccount, getInfoByName} = this.props;\n const {totalChildrenLimit, total} = getInfoByName(currentAccount);\n const res = (total || 0) + (totalChildrenLimit || 0);\n\n return res;\n }\n\n private getMaxLimit() {\n const {max} = this.props;\n if (max !== undefined) {\n return max;\n }\n return this.getFreeImpl().maxValue!;\n }\n\n private getFreeFormatted() {\n const {sourceAccount} = this.props;\n if (!sourceAccount) {\n return hammer.format.NO_VALUE;\n }\n return NumberInput.format(Number(this.getFree()), this.props.format);\n }\n\n private checkForError(newLimit?: number, srcAccount?: string) {\n if (newLimit === undefined) {\n return undefined;\n }\n\n if (isNaN(newLimit!)) {\n return 'wrong format!';\n }\n\n const {currentAccount} = this.props;\n if (currentAccount === srcAccount) {\n return 'The same source account';\n }\n\n if (newLimit <= this.props.prevLimit!) {\n return undefined;\n }\n\n const maxLimit = this.getMaxLimit();\n\n if (srcAccount && (maxLimit === undefined || newLimit > maxLimit)) {\n return 'New value is too big';\n }\n\n return undefined;\n }\n}\n"],"mappings":"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"}