@ytsaurus/ui 1.18.0 → 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.
- package/build/cjs/@types/types.d.ts +14 -0
- package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js +3 -0
- package/build/cjs/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
- package/build/cjs/ui/hocs/components/Modal/withScope.d.ts +4 -55
- package/build/cjs/ui/hocs/components/Modal/withScope.js +8 -55
- package/build/cjs/ui/hocs/components/Modal/withScope.js.map +1 -1
- package/build/cjs/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
- package/build/cjs/ui/hooks/use-hotkeysjs-scope.js +22 -0
- package/build/cjs/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
- package/build/cjs/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
- package/build/cjs/ui/pages/system/Masters/Masters.css +3 -0
- package/build/cjs/ui/pages/system/Masters/Masters.css.map +1 -1
- package/build/cjs/ui/pages/system/Masters/Masters.d.ts +4 -1
- package/build/cjs/ui/pages/system/Masters/Masters.js +22 -3
- package/build/cjs/ui/pages/system/Masters/Masters.js.map +1 -1
- package/build/cjs/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
- package/build/cjs/ui/pages/system/Masters/SystemAlert.js +26 -0
- package/build/cjs/ui/pages/system/Masters/SystemAlert.js.map +1 -0
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js +27 -0
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js +8 -4
- package/build/cjs/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
- package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
- package/build/cjs/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/cjs/ui/store/actions/operations/detail.js +2 -2
- package/build/cjs/ui/store/actions/operations/detail.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js +1 -1
- package/build/cjs/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +2 -2
- package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +1 -1
- package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/cjs/ui/store/actions/system/masters.d.ts +2 -1
- package/build/cjs/ui/store/actions/system/masters.js +54 -42
- package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
- package/build/cjs/ui/store/reducers/system/masters.d.ts +12 -3
- package/build/cjs/ui/store/reducers/system/masters.js +9 -4
- package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
- package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
- package/build/cjs/ui/store/selectors/system/index.d.ts +2 -1
- package/build/cjs/ui/store/selectors/system/index.js.map +1 -1
- package/build/cjs/ui/store/selectors/system/masters.d.ts +3 -0
- package/build/cjs/ui/store/selectors/system/masters.js +4 -1
- package/build/cjs/ui/store/selectors/system/masters.js.map +1 -1
- package/build/cjs/ui/utils/scheduling/detailsTable.d.ts +387 -326
- package/build/cjs/ui/utils/scheduling/detailsTable.js +12 -6
- package/build/cjs/ui/utils/scheduling/detailsTable.js.map +1 -1
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
- package/build/cjs/ui/utils/utils.js +2 -1
- package/build/cjs/ui/utils/utils.js.map +1 -1
- package/build/esm/@types/types.d.ts +14 -0
- package/build/esm/ui/components/QuotaEditor/QuotaEditor.js +3 -0
- package/build/esm/ui/components/QuotaEditor/QuotaEditor.js.map +1 -1
- package/build/esm/ui/hocs/components/Modal/withScope.d.ts +4 -55
- package/build/esm/ui/hocs/components/Modal/withScope.js +8 -55
- package/build/esm/ui/hocs/components/Modal/withScope.js.map +1 -1
- package/build/esm/ui/hooks/use-hotkeysjs-scope.d.ts +1 -0
- package/build/esm/ui/hooks/use-hotkeysjs-scope.js +15 -0
- package/build/esm/ui/hooks/use-hotkeysjs-scope.js.map +1 -0
- package/build/esm/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.d.ts +1 -55
- package/build/esm/ui/pages/system/Masters/Masters.css +3 -0
- package/build/esm/ui/pages/system/Masters/Masters.css.map +1 -1
- package/build/esm/ui/pages/system/Masters/Masters.d.ts +4 -1
- package/build/esm/ui/pages/system/Masters/Masters.js +22 -3
- package/build/esm/ui/pages/system/Masters/Masters.js.map +1 -1
- package/build/esm/ui/pages/system/Masters/Masters.scss +4 -0
- package/build/esm/ui/pages/system/Masters/SystemAlert.d.ts +4 -0
- package/build/esm/ui/pages/system/Masters/SystemAlert.js +19 -0
- package/build/esm/ui/pages/system/Masters/SystemAlert.js.map +1 -0
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.d.ts +9 -0
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js +20 -0
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateLabels.js.map +1 -0
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.d.ts +2 -1
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js +7 -3
- package/build/esm/ui/pages/system/SystemStateOverview/SystemStateOverview.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css +5 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.css.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js +13 -6
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.scss +6 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css +0 -3
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.d.ts +0 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +42 -47
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +0 -4
- package/build/esm/ui/store/actions/operations/detail.js +2 -2
- package/build/esm/ui/store/actions/operations/detail.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js +1 -1
- package/build/esm/ui/store/actions/scheduling/create-pool-dialog.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js +2 -2
- package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +1 -1
- package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
- package/build/esm/ui/store/actions/system/masters.d.ts +2 -1
- package/build/esm/ui/store/actions/system/masters.js +47 -35
- package/build/esm/ui/store/actions/system/masters.js.map +1 -1
- package/build/esm/ui/store/reducers/system/masters.d.ts +12 -3
- package/build/esm/ui/store/reducers/system/masters.js +9 -4
- package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +27 -0
- package/build/esm/ui/store/selectors/scheduling/scheduling-pools.js.map +1 -1
- package/build/esm/ui/store/selectors/system/index.d.ts +2 -1
- package/build/esm/ui/store/selectors/system/index.js.map +1 -1
- package/build/esm/ui/store/selectors/system/masters.d.ts +3 -0
- package/build/esm/ui/store/selectors/system/masters.js +3 -0
- package/build/esm/ui/store/selectors/system/masters.js.map +1 -1
- package/build/esm/ui/utils/scheduling/detailsTable.d.ts +387 -326
- package/build/esm/ui/utils/scheduling/detailsTable.js +12 -6
- package/build/esm/ui/utils/scheduling/detailsTable.js.map +1 -1
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +0 -3
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
- package/build/esm/ui/utils/utils.js +2 -1
- package/build/esm/ui/utils/utils.js.map +1 -1
- package/dist/public/build/assets-manifest.json +7 -7
- package/dist/public/build/css/{main.f7818774.css → main.4c657a42.css} +2 -2
- package/dist/public/build/css/main.4c657a42.css.map +1 -0
- package/dist/public/build/js/main.38e77012.js +3 -0
- package/dist/public/build/js/{main.1b374ad6.js.map → main.38e77012.js.map} +1 -1
- package/dist/public/build/manifest.json +4 -4
- package/package.json +8 -6
- package/scripts/sync-peer-dependencies.js +54 -0
- package/dist/public/build/css/main.f7818774.css.map +0 -1
- package/dist/public/build/js/main.1b374ad6.js +0 -3
- /package/dist/public/build/js/{main.1b374ad6.js.LICENSE.txt → main.38e77012.js.LICENSE.txt} +0 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.SystemAlert = void 0;
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
8
|
+
var _reactRedux = require("react-redux");
|
9
|
+
var _masters = require("../../../store/selectors/system/masters");
|
10
|
+
var _Alert = _interopRequireDefault(require("../../../components/Alert/Alert"));
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13
|
+
var SystemAlert = exports.SystemAlert = function SystemAlert(_ref) {
|
14
|
+
var className = _ref.className;
|
15
|
+
var alerts = (0, _reactRedux.useSelector)(_masters.selectMasterAlerts);
|
16
|
+
if (!alerts.length) return;
|
17
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
18
|
+
className: className,
|
19
|
+
children: alerts.map(function (alert, id) {
|
20
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
|
21
|
+
error: alert
|
22
|
+
}, alert.message + id);
|
23
|
+
})
|
24
|
+
});
|
25
|
+
};
|
26
|
+
// #sourceMappingURL=SystemAlert.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_masters","_Alert","_jsxRuntime","obj","__esModule","default","SystemAlert","exports","_ref","className","alerts","useSelector","selectMasterAlerts","length","_jsx","children","map","alert","id","Alert","error","message"],"sources":["SystemAlert.tsx"],"sourcesContent":["import React, {FC} from 'react';\nimport {useSelector} from 'react-redux';\nimport {selectMasterAlerts} from '../../../store/selectors/system/masters';\nimport Alert from '../../../components/Alert/Alert';\n\nexport const SystemAlert: FC<{className?: string}> = ({className}) => {\n const alerts = useSelector(selectMasterAlerts);\n\n if (!alerts.length) return;\n\n return (\n <div className={className}>\n {alerts.map((alert, id) => (\n <Alert key={alert.message + id} error={alert} />\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAoD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7C,IAAMG,WAAqC,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAAxCA,WAAqCA,CAAAE,IAAA,EAAoB;EAAA,IAAfC,SAAS,GAAAD,IAAA,CAATC,SAAS;EAC5D,IAAMC,MAAM,GAAG,IAAAC,uBAAW,EAACC,2BAAkB,CAAC;EAE9C,IAAI,CAACF,MAAM,CAACG,MAAM,EAAE;EAEpB,oBACI,IAAAC,eAAA;IAAKL,SAAS,EAAEA,SAAU;IAAAM,QAAA,EACrBL,MAAM,CAACM,GAAG,CAAC,UAACC,KAAK,EAAEC,EAAE;MAAA,oBAClB,IAAAJ,eAAA,EAACK,cAAK;QAA0BC,KAAK,EAAEH;MAAM,GAAjCA,KAAK,CAACI,OAAO,GAAGH,EAAmB,CAAC;IAAA,CACnD;EAAC,CACD,CAAC;AAEd,CAAC"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.SystemStateLabels = void 0;
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
8
|
+
var _uikit = require("@gravity-ui/uikit");
|
9
|
+
var _Label = _interopRequireDefault(require("../../../components/Label/Label"));
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
|
+
var SystemStateLabels = exports.SystemStateLabels = function SystemStateLabels(_ref) {
|
13
|
+
var labels = _ref.labels;
|
14
|
+
if (!labels.length) return undefined;
|
15
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Flex, {
|
16
|
+
gap: 1,
|
17
|
+
children: labels.map(function (_ref2, index) {
|
18
|
+
var text = _ref2.text,
|
19
|
+
theme = _ref2.theme;
|
20
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Label.default, {
|
21
|
+
theme: theme,
|
22
|
+
text: text
|
23
|
+
}, "".concat(text, "_").concat(index));
|
24
|
+
})
|
25
|
+
});
|
26
|
+
};
|
27
|
+
// #sourceMappingURL=SystemStateLabels.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_Label","_jsxRuntime","obj","__esModule","default","SystemStateLabels","exports","_ref","labels","length","undefined","_jsx","Flex","gap","children","map","_ref2","index","text","theme","Label","concat"],"sources":["SystemStateLabels.tsx"],"sourcesContent":["import React, {FC} from 'react';\nimport {Flex} from '@gravity-ui/uikit';\nimport Label, {LabelTheme} from '../../../components/Label/Label';\n\nexport type Props = {\n labels: {text: string; theme: LabelTheme}[];\n};\n\nexport const SystemStateLabels: FC<Props> = ({labels}) => {\n if (!labels.length) return undefined;\n\n return (\n <Flex gap={1}>\n {labels.map(({text, theme}, index) => (\n <Label key={`${text}_${index}`} theme={theme} text={text} />\n ))}\n </Flex>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAkE,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAM3D,IAAMG,iBAA4B,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAA/BA,iBAA4BA,CAAAE,IAAA,EAAiB;EAAA,IAAZC,MAAM,GAAAD,IAAA,CAANC,MAAM;EAChD,IAAI,CAACA,MAAM,CAACC,MAAM,EAAE,OAAOC,SAAS;EAEpC,oBACI,IAAAC,eAAA,EAACC,WAAI;IAACC,GAAG,EAAE,CAAE;IAAAC,QAAA,EACRN,MAAM,CAACO,GAAG,CAAC,UAAAC,KAAA,EAAgBC,KAAK;MAAA,IAAnBC,IAAI,GAAAF,KAAA,CAAJE,IAAI;QAAEC,KAAK,GAAAH,KAAA,CAALG,KAAK;MAAA,oBACrB,IAAAR,eAAA,EAACS,cAAK;QAA0BD,KAAK,EAAEA,KAAM;QAACD,IAAI,EAAEA;MAAK,MAAAG,MAAA,CAA1CH,IAAI,OAAAG,MAAA,CAAIJ,KAAK,CAA+B,CAAC;IAAA,CAC/D;EAAC,CACA,CAAC;AAEf,CAAC"}
|
@@ -2,7 +2,8 @@ import React from 'react';
|
|
2
2
|
import { SystemCountersProps } from '../SystemCounters/SystemCounters';
|
3
3
|
import { ProgressProps } from '@gravity-ui/uikit';
|
4
4
|
import './SystemStateOverview.scss';
|
5
|
-
|
5
|
+
import { Props as SystemStateLabelsProps } from './SystemStateLabels';
|
6
|
+
export type SystemStateOverviewProps<Flags extends string> = Partial<SystemStateLabelsProps> & SystemCountersProps<Flags> & {
|
6
7
|
stateOverview?: ProgressProps;
|
7
8
|
};
|
8
9
|
export default class SystemStateOverview<Flags extends string> extends React.Component<SystemStateOverviewProps<Flags>> {
|
@@ -14,11 +14,12 @@ var _react = _interopRequireDefault(require("react"));
|
|
14
14
|
var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
|
15
15
|
var _SystemCounters = _interopRequireDefault(require("../SystemCounters/SystemCounters"));
|
16
16
|
var _uikit = require("@gravity-ui/uikit");
|
17
|
-
var
|
17
|
+
var _utils = require("../../../utils");
|
18
18
|
require("./SystemStateOverview.css");
|
19
|
+
var _SystemStateLabels = require("./SystemStateLabels");
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
20
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
21
|
-
var _excluded = ["stateOverview"];
|
22
|
+
var _excluded = ["stateOverview", "labels"];
|
22
23
|
var b = (0, _bemCnLite.default)('system');
|
23
24
|
var SystemStateOverview = exports.default = /*#__PURE__*/function (_React$Component) {
|
24
25
|
(0, _inherits2.default)(SystemStateOverview, _React$Component);
|
@@ -32,6 +33,7 @@ var SystemStateOverview = exports.default = /*#__PURE__*/function (_React$Compon
|
|
32
33
|
value: function render() {
|
33
34
|
var _this$props = this.props,
|
34
35
|
_x = _this$props.stateOverview,
|
36
|
+
labels = _this$props.labels,
|
35
37
|
rest = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
|
36
38
|
if (!this.props.counters) {
|
37
39
|
return null;
|
@@ -40,11 +42,13 @@ var SystemStateOverview = exports.default = /*#__PURE__*/function (_React$Compon
|
|
40
42
|
stateOverview = _this$props$stateOver === void 0 ? {
|
41
43
|
value: 100,
|
42
44
|
view: 'thin',
|
43
|
-
stack: (0,
|
45
|
+
stack: (0, _utils.computeEffectiveStateProgress)(this.props.counters)
|
44
46
|
} : _this$props$stateOver;
|
45
47
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
46
48
|
className: b('heading-overview'),
|
47
|
-
children: [
|
49
|
+
children: [labels && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemStateLabels.SystemStateLabels, {
|
50
|
+
labels: labels
|
51
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemCounters.default, (0, _objectSpread2.default)({}, rest)), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
48
52
|
className: b('heading-overview-states'),
|
49
53
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Progress, (0, _objectSpread2.default)({}, stateOverview))
|
50
54
|
})]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_SystemCounters","_uikit","
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_SystemCounters","_uikit","_utils","_SystemStateLabels","_jsxRuntime","obj","__esModule","default","b","block","SystemStateOverview","exports","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","render","_this$props","props","_x","stateOverview","labels","rest","_objectWithoutProperties","_excluded","counters","_this$props$stateOver","view","stack","computeEffectiveStateProgress","_jsxs","className","children","_jsx","SystemStateLabels","SystemCounters","_objectSpread","Progress","React","Component"],"sources":["SystemStateOverview.tsx"],"sourcesContent":["import React from 'react';\nimport block from 'bem-cn-lite';\n\nimport SystemCounters, {SystemCountersProps} from '../SystemCounters/SystemCounters';\nimport {Progress, ProgressProps} from '@gravity-ui/uikit';\n\nimport {computeEffectiveStateProgress} from '../../../utils';\n\nimport './SystemStateOverview.scss';\nimport {SystemStateLabels, Props as SystemStateLabelsProps} from './SystemStateLabels';\n\nconst b = block('system');\n\nexport type SystemStateOverviewProps<Flags extends string> = Partial<SystemStateLabelsProps> &\n SystemCountersProps<Flags> & {\n stateOverview?: ProgressProps;\n };\n\nexport default class SystemStateOverview<Flags extends string> extends React.Component<\n SystemStateOverviewProps<Flags>\n> {\n render() {\n const {stateOverview: _x, labels, ...rest} = this.props;\n if (!this.props.counters) {\n return null;\n }\n\n const {\n stateOverview = {\n value: 100,\n view: 'thin',\n stack: computeEffectiveStateProgress(this.props.counters),\n },\n } = this.props;\n\n return (\n <div className={b('heading-overview')}>\n {labels && <SystemStateLabels labels={labels} />}\n <SystemCounters {...rest} />\n <div className={b('heading-overview-states')}>\n <Progress {...stateOverview} />\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AAEAA,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAAuF,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;;AAEvF,IAAMG,CAAC,GAAG,IAAAC,kBAAK,EAAC,QAAQ,CAAC;AAAC,IAOLC,mBAAmB,GAAAC,OAAA,CAAAJ,OAAA,0BAAAK,gBAAA;EAAA,IAAAC,kBAAA,EAAAH,mBAAA,EAAAE,gBAAA;EAAA,IAAAE,MAAA,OAAAC,qBAAA,EAAAL,mBAAA;EAAA,SAAAA,oBAAA;IAAA,IAAAM,wBAAA,QAAAN,mBAAA;IAAA,OAAAI,MAAA,CAAAG,KAAA,OAAAC,SAAA;EAAA;EAAA,IAAAC,qBAAA,EAAAT,mBAAA;IAAAU,GAAA;IAAAC,KAAA,EAGpC,SAAAC,OAAA,EAAS;MACL,IAAAC,WAAA,GAA6C,IAAI,CAACC,KAAK;QAAjCC,EAAE,GAAAF,WAAA,CAAjBG,aAAa;QAAMC,MAAM,GAAAJ,WAAA,CAANI,MAAM;QAAKC,IAAI,OAAAC,iCAAA,EAAAN,WAAA,EAAAO,SAAA;MACzC,IAAI,CAAC,IAAI,CAACN,KAAK,CAACO,QAAQ,EAAE;QACtB,OAAO,IAAI;MACf;MAEA,IAAAC,qBAAA,GAMI,IAAI,CAACR,KAAK,CALVE,aAAa;QAAbA,aAAa,GAAAM,qBAAA,cAAG;UACZX,KAAK,EAAE,GAAG;UACVY,IAAI,EAAE,MAAM;UACZC,KAAK,EAAE,IAAAC,oCAA6B,EAAC,IAAI,CAACX,KAAK,CAACO,QAAQ;QAC5D,CAAC,GAAAC,qBAAA;MAGL,oBACI,IAAAI,gBAAA;QAAKC,SAAS,EAAE7B,CAAC,CAAC,kBAAkB,CAAE;QAAA8B,QAAA,GACjCX,MAAM,iBAAI,IAAAY,eAAA,EAACC,oCAAiB;UAACb,MAAM,EAAEA;QAAO,CAAE,CAAC,eAChD,IAAAY,eAAA,EAACE,uBAAc,MAAAC,sBAAA,MAAKd,IAAI,CAAG,CAAC,eAC5B,IAAAW,eAAA;UAAKF,SAAS,EAAE7B,CAAC,CAAC,yBAAyB,CAAE;UAAA8B,QAAA,eACzC,IAAAC,eAAA,EAACI,eAAQ,MAAAD,sBAAA,MAAKhB,aAAa,CAAG;QAAC,CAC9B,CAAC;MAAA,CACL,CAAC;IAEd;EAAC;EAAA,OAAAhB,mBAAA;AAAA,EA1BkEkC,cAAK,CAACC,SAAS"}
|
@@ -21,4 +21,9 @@
|
|
21
21
|
.bundle-configuration-meta__tooltip-list_alerts {
|
22
22
|
padding-left: var(--yc-popover-padding);
|
23
23
|
}
|
24
|
+
.bundle-configuration-meta__state-with-icon {
|
25
|
+
display: flex;
|
26
|
+
align-items: center;
|
27
|
+
color: var(--g-color-text-secondary);
|
28
|
+
}
|
24
29
|
/*# sourceMappingURL=BundleConfigurationMeta.css.map */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["BundleConfigurationMeta.scss"],"names":[],"mappings":"AAAA;EACI,cAAA;AACJ;AACI;EACI,kBAAA;AACR;AAEI;EACI,gBAAA;EAEA,oCAAA;AADR;AAMY;EACI,wBAAA;AAJhB;AASI;EACI,SAAA;EACA,UAAA;AAPR;AASQ;EACI,gBAAA;AAPZ;AAUQ;EACI,uCAAA;AARZ","file":"BundleConfigurationMeta.css","sourcesContent":[".bundle-configuration-meta {\n flex-shrink: 0;\n\n .meta-table__group {\n grid-gap: 6px 27px;\n }\n\n &__percentage {\n margin-left: 6px;\n\n color: var(--g-color-text-secondary);\n }\n\n &__health {\n &_value {\n &_changing {\n color: var(--info-color);\n }\n }\n }\n\n &__tooltip-list {\n margin: 0;\n padding: 0;\n\n &:not(&_alerts) {\n list-style: none;\n }\n\n &_alerts {\n padding-left: var(--yc-popover-padding);\n }\n }\n}\n"],"sourceRoot":""}
|
1
|
+
{"version":3,"sources":["BundleConfigurationMeta.scss"],"names":[],"mappings":"AAAA;EACI,cAAA;AACJ;AACI;EACI,kBAAA;AACR;AAEI;EACI,gBAAA;EAEA,oCAAA;AADR;AAMY;EACI,wBAAA;AAJhB;AASI;EACI,SAAA;EACA,UAAA;AAPR;AASQ;EACI,gBAAA;AAPZ;AAUQ;EACI,uCAAA;AARZ;AAYI;EACI,aAAA;EACA,mBAAA;EACA,oCAAA;AAVR","file":"BundleConfigurationMeta.css","sourcesContent":[".bundle-configuration-meta {\n flex-shrink: 0;\n\n .meta-table__group {\n grid-gap: 6px 27px;\n }\n\n &__percentage {\n margin-left: 6px;\n\n color: var(--g-color-text-secondary);\n }\n\n &__health {\n &_value {\n &_changing {\n color: var(--info-color);\n }\n }\n }\n\n &__tooltip-list {\n margin: 0;\n padding: 0;\n\n &:not(&_alerts) {\n list-style: none;\n }\n\n &_alerts {\n padding-left: var(--yc-popover-padding);\n }\n }\n\n &__state-with-icon {\n display: flex;\n align-items: center;\n color: var(--g-color-text-secondary);\n }\n}\n"],"sourceRoot":""}
|
@@ -21,6 +21,7 @@ var _reactRedux = require("react-redux");
|
|
21
21
|
var _hammer = _interopRequireDefault(require("../../../common/hammer"));
|
22
22
|
var _tablet_cell_bundles = require("../../../store/selectors/tablet_cell_bundles");
|
23
23
|
var _tabletCellBundleEditor = require("../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor");
|
24
|
+
var _Icon = _interopRequireDefault(require("../../../components/Icon/Icon"));
|
24
25
|
var _MetaTable = _interopRequireDefault(require("../../../components/MetaTable/MetaTable"));
|
25
26
|
var _BundleMetaResourceProgress = require("../../../components/BundleMetaResourceProgress/BundleMetaResourceProgress");
|
26
27
|
var _BundleGeneralMeta = require("./BundleGeneralMeta");
|
@@ -234,29 +235,35 @@ function getBundleStateField(orchidData) {
|
|
234
235
|
if (value === 'changing') {
|
235
236
|
return {
|
236
237
|
key: 'State',
|
237
|
-
value: /*#__PURE__*/(0, _jsxRuntime.
|
238
|
+
value: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Tooltip.Tooltip, {
|
238
239
|
content: renderDetails(detailsEntries),
|
239
240
|
placement: 'bottom',
|
240
|
-
|
241
|
+
className: block('state-with-icon'),
|
242
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BundleGeneralMeta.Health, {
|
241
243
|
className: block('health', {
|
242
244
|
value: value
|
243
245
|
}),
|
244
246
|
value: value
|
245
|
-
})
|
247
|
+
}), "\xA0", /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
|
248
|
+
awesome: "question-circle"
|
249
|
+
})]
|
246
250
|
})
|
247
251
|
};
|
248
252
|
}
|
249
253
|
return {
|
250
254
|
key: 'State',
|
251
|
-
value: /*#__PURE__*/(0, _jsxRuntime.
|
255
|
+
value: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Tooltip.Tooltip, {
|
252
256
|
content: renderErrors(alerts),
|
253
257
|
placement: 'bottom',
|
254
|
-
|
258
|
+
className: block('state-with-icon'),
|
259
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BundleGeneralMeta.Health, {
|
255
260
|
className: block('health', {
|
256
261
|
value: value
|
257
262
|
}),
|
258
263
|
value: value
|
259
|
-
})
|
264
|
+
}), "\xA0", /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
|
265
|
+
awesome: "exclamation-triangle"
|
266
|
+
})]
|
260
267
|
})
|
261
268
|
};
|
262
269
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_reactRedux","_hammer","_tablet_cell_bundles","_tabletCellBundleEditor","_MetaTable","_BundleMetaResourceProgress","_BundleGeneralMeta","_Tooltip","_utils","_useUpdater","_rumWrapApi","_utils2","_jsxRuntime","obj","__esModule","default","block","cn","DETAILS_KEYS","ActiveAccountBundleControllerUpdater","dispatch","useDispatch","_ref","useSelector","getTabletsActiveBundleData","activeBundle","bundle","enable_bundle_controller","fetchFn","React","useCallback","fetchTabletCellBundleEditor","useUpdater","prevBundleControllerState","useRef","checkBundleControllerState","_asyncToGenerator","_regeneratorRuntime","mark","_callee","requests","_yield$wrapApiPromise","_yield$wrapApiPromise2","_yield$wrapApiPromise3","_yield$wrapApiPromise4","alerts","rest","inProgressCount","state","wrap","_callee$","_context","prev","next","abrupt","command","parameters","path","concat","_toConsumableArray","_map","attr","wrapApiPromiseByToaster","ytApiV3Id","executeBatch","YTApiId","tabletBundleControllerState","toasterName","skipSuccessToast","errorContent","sent","_toArray","output","slice","_reduce","acc","_ref3","getState","current","stop","timeout","BundleConfigurationMeta","_ref4","bundleControllerConfig","bundle_controller_target_config","orchidData","getActiveBundleControllerData","bundleGroup","resource_quota","resource_allocated","allMemory","memory","allVCPU","vcpu","allocMemory","allocVCPU","push","getBundleStateField","getLimitAllocatedField","rpc_proxy_count","count","_bundleControllerConf","rpc_proxy_resource_guarantee","getRpcNodeField","tablet_node_count","_count","_bundleControllerConf2","tablet_node_resource_guarantee","_memory","_vcpu","memory_limits","_ref5","_memory2","BundleMetaResourceProgress","data","resourceType","limit","cpu_limits","postfix","_jsx","MetaTable","className","subTitles","items","title","allocated","all","type","allStr","hammer","format","allocatedStr","percentage","key","value","_jsxs","children","printUsageLimit","printMemory","printVCPU","totalCounts","arguments","length","undefined","getBundleStateData","detailsEntries","_entries","_pick","_ref6","_ref7","_slicedToArray","_k","v","_getBundleStateData","Health","Tooltip","content","renderDetails","placement","renderErrors","details","list","map","_ref8","_ref9","k","text","i","alert","id","description"],"sources":["BundleConfigurationMeta.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {useDispatch, useSelector} from 'react-redux';\nimport _ from 'lodash';\n\nimport hammer from '../../../common/hammer';\n\nimport {\n getActiveBundleControllerData,\n getTabletsActiveBundleData,\n} from '../../../store/selectors/tablet_cell_bundles';\nimport {fetchTabletCellBundleEditor} from '../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {OrchidBundlesData} from '../../../store/reducers/tablet_cell_bundles';\nimport MetaTable, {MetaTableItem} from '../../../components/MetaTable/MetaTable';\nimport {BundleMetaResourceProgress} from '../../../components/BundleMetaResourceProgress/BundleMetaResourceProgress';\nimport {Health} from './BundleGeneralMeta';\nimport {Tooltip} from '../../../components/Tooltip/Tooltip';\nimport {printUsageLimit} from '../../../utils';\nimport {useUpdater} from '../../../hooks/use-updater';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\n\nimport './BundleConfigurationMeta.scss';\n\nconst block = cn('bundle-configuration-meta');\n\nconst DETAILS_KEYS = [\n 'allocating_rpc_proxy_count',\n 'allocating_tablet_node_count',\n 'deallocating_rpc_proxy_count',\n 'deallocating_tablet_node_count',\n 'removing_cell_count',\n] as const;\n\nexport function ActiveAccountBundleControllerUpdater() {\n const dispatch = useDispatch();\n const {bundle: activeBundle, enable_bundle_controller} =\n useSelector(getTabletsActiveBundleData) || {};\n const fetchFn = React.useCallback(() => {\n if (activeBundle) {\n dispatch(fetchTabletCellBundleEditor(activeBundle));\n }\n }, [dispatch, activeBundle]);\n useUpdater(fetchFn);\n\n const prevBundleControllerState = React.useRef<null | 'failed' | 'changing' | 'good'>(null);\n const checkBundleControllerState = React.useCallback(async () => {\n if (!activeBundle || !enable_bundle_controller) {\n return;\n }\n\n const requests: Array<BatchSubRequest> = [\n {\n command: 'get',\n parameters: {\n path: `//sys/bundle_controller/orchid/bundle_controller/state/bundles/${activeBundle}/alerts`,\n },\n },\n ..._.map(DETAILS_KEYS, (attr) => {\n return {\n command: 'get' as const,\n parameters: {\n path: `//sys/bundle_controller/orchid/bundle_controller/state/bundles/${activeBundle}/${attr}`,\n },\n };\n }),\n ];\n\n const [{output: alerts} = {output: []}, ...rest] = await wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.tabletBundleControllerState, {requests}),\n {\n toasterName: 'active-bundle-controller-status',\n skipSuccessToast: true,\n errorContent: `Cannot load bundle controller details for \"${activeBundle}\".`,\n },\n ).catch(() => []);\n\n const inProgressCount = _.reduce(\n rest,\n (acc, {output}) => {\n return acc + (output ?? 0);\n },\n 0,\n );\n\n const state = getState(alerts, inProgressCount);\n if (prevBundleControllerState.current === null) {\n prevBundleControllerState.current = state;\n return;\n }\n\n if (prevBundleControllerState.current !== state) {\n prevBundleControllerState.current = state;\n fetchFn();\n }\n }, [fetchFn, activeBundle, enable_bundle_controller]);\n useUpdater(checkBundleControllerState, {timeout: 3000});\n\n return null;\n}\n\nexport default function BundleConfigurationMeta() {\n const {bundle_controller_target_config: bundleControllerConfig} =\n useSelector(getTabletsActiveBundleData) || {};\n const orchidData = useSelector(getActiveBundleControllerData);\n\n if (!bundleControllerConfig || !orchidData) {\n return null;\n }\n\n const bundleGroup: Array<MetaTableItem> = [];\n\n if (orchidData) {\n const {resource_quota, resource_allocated} = orchidData;\n const {memory: allMemory, vcpu: allVCPU} = resource_quota;\n const {memory: allocMemory, vcpu: allocVCPU} = resource_allocated;\n\n bundleGroup.push(\n getBundleStateField(orchidData),\n getLimitAllocatedField('Memory allocated/limit', allocMemory, allMemory, 'Bytes'),\n getLimitAllocatedField('vCPU allocated/limit', allocVCPU, allVCPU, 'vCores'),\n );\n }\n\n if (typeof bundleControllerConfig.rpc_proxy_count !== 'undefined') {\n const {\n rpc_proxy_count: count,\n rpc_proxy_resource_guarantee: {memory, vcpu},\n } = bundleControllerConfig;\n\n bundleGroup.push(getRpcNodeField('RPC proxies', count, memory, vcpu));\n }\n\n if (typeof bundleControllerConfig.tablet_node_count !== 'undefined') {\n const {\n tablet_node_count: count,\n tablet_node_resource_guarantee: {memory, vcpu},\n } = bundleControllerConfig;\n bundleGroup.push(getRpcNodeField('Tablet nodes', count, memory, vcpu));\n }\n\n if (bundleControllerConfig.memory_limits) {\n const {memory} = bundleControllerConfig?.tablet_node_resource_guarantee || {};\n bundleGroup.push(\n BundleMetaResourceProgress('Memory allocation', {\n data: bundleControllerConfig.memory_limits,\n resourceType: 'Bytes',\n limit: memory,\n }),\n );\n }\n\n if (bundleControllerConfig.cpu_limits) {\n bundleGroup.push(\n BundleMetaResourceProgress('vCPU allocation', {\n data: bundleControllerConfig.cpu_limits,\n resourceType: 'Number',\n postfix: 'threads',\n }),\n );\n }\n\n return (\n <MetaTable className={block()} subTitles={['Bundle configuration']} items={[bundleGroup]} />\n );\n}\n\nfunction getLimitAllocatedField(\n title: string,\n allocated: number,\n all: number,\n type: 'Bytes' | 'vCores',\n) {\n const allStr = hammer.format[type](all);\n const allocatedStr = hammer.format[type](allocated);\n const percentage = hammer.format['Number']((allocated / all) * 100 || 0);\n\n return {\n key: title,\n value: (\n <span>\n {printUsageLimit(allocatedStr, allStr)}\n <span className={block('percentage')}>{percentage}%</span>\n </span>\n ),\n };\n}\n\nfunction getRpcNodeField(title: string, count: number, memory: number, vcpu: number) {\n const printMemory = hammer.format['Bytes'](memory);\n const printVCPU = hammer.format['vCores'](vcpu);\n return {\n key: title,\n value: count ? `${count} x (${printMemory}, ${printVCPU})` : 0,\n };\n}\n\nfunction getState(alerts?: OrchidBundlesData['alerts'], totalCounts = 0) {\n if (!alerts?.length && totalCounts === 0) {\n return 'good' as const;\n } else if (!alerts?.length && totalCounts > 0) {\n return 'changing' as const;\n }\n return 'failed' as const;\n}\n\nexport function getBundleStateData(orchidData: OrchidBundlesData) {\n const alerts = orchidData.alerts;\n const detailsEntries = _.entries(_.pick(orchidData, DETAILS_KEYS));\n const totalCounts = _.reduce(detailsEntries, (acc, [_k, v]) => acc + v, 0);\n const state = getState(alerts, totalCounts);\n return {state, detailsEntries};\n}\n\nfunction getBundleStateField(orchidData: OrchidBundlesData) {\n const {alerts} = orchidData;\n\n const {state: value, detailsEntries} = getBundleStateData(orchidData);\n if (value === 'good') {\n return {\n key: 'State',\n value: <Health className={block('health', {value})} value={value} />,\n };\n }\n\n if (value === 'changing') {\n return {\n key: 'State',\n value: (\n <Tooltip content={renderDetails(detailsEntries)} placement={'bottom'}>\n <Health className={block('health', {value})} value={value} />\n </Tooltip>\n ),\n };\n }\n\n return {\n key: 'State',\n value: (\n <Tooltip content={renderErrors(alerts)} placement={'bottom'}>\n <Health className={block('health', {value})} value={value} />\n </Tooltip>\n ),\n };\n}\n\nfunction renderDetails(details: Array<[string, number]>) {\n const list = details.map(([k, v]) => `${k} - ${v}`);\n return (\n <ul className={block('tooltip-list')}>\n {list.map((text, i) => {\n return (\n <li key={i} className={block('tooltip-item')}>\n {text}\n </li>\n );\n })}\n </ul>\n );\n}\n\nfunction renderErrors(alerts: OrchidBundlesData['alerts']) {\n return (\n <ol className={block('tooltip-list', {alerts: true})}>\n {alerts.map((alert) => {\n return (\n <li key={alert.id} className={block('tooltip-item')}>\n {alert.id} - {alert.description}\n </li>\n );\n })}\n </ol>\n );\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_reactRedux","_hammer","_tablet_cell_bundles","_tabletCellBundleEditor","_Icon","_MetaTable","_BundleMetaResourceProgress","_BundleGeneralMeta","_Tooltip","_utils","_useUpdater","_rumWrapApi","_utils2","_jsxRuntime","obj","__esModule","default","block","cn","DETAILS_KEYS","ActiveAccountBundleControllerUpdater","dispatch","useDispatch","_ref","useSelector","getTabletsActiveBundleData","activeBundle","bundle","enable_bundle_controller","fetchFn","React","useCallback","fetchTabletCellBundleEditor","useUpdater","prevBundleControllerState","useRef","checkBundleControllerState","_asyncToGenerator","_regeneratorRuntime","mark","_callee","requests","_yield$wrapApiPromise","_yield$wrapApiPromise2","_yield$wrapApiPromise3","_yield$wrapApiPromise4","alerts","rest","inProgressCount","state","wrap","_callee$","_context","prev","next","abrupt","command","parameters","path","concat","_toConsumableArray","_map","attr","wrapApiPromiseByToaster","ytApiV3Id","executeBatch","YTApiId","tabletBundleControllerState","toasterName","skipSuccessToast","errorContent","sent","_toArray","output","slice","_reduce","acc","_ref3","getState","current","stop","timeout","BundleConfigurationMeta","_ref4","bundleControllerConfig","bundle_controller_target_config","orchidData","getActiveBundleControllerData","bundleGroup","resource_quota","resource_allocated","allMemory","memory","allVCPU","vcpu","allocMemory","allocVCPU","push","getBundleStateField","getLimitAllocatedField","rpc_proxy_count","count","_bundleControllerConf","rpc_proxy_resource_guarantee","getRpcNodeField","tablet_node_count","_count","_bundleControllerConf2","tablet_node_resource_guarantee","_memory","_vcpu","memory_limits","_ref5","_memory2","BundleMetaResourceProgress","data","resourceType","limit","cpu_limits","postfix","_jsx","MetaTable","className","subTitles","items","title","allocated","all","type","allStr","hammer","format","allocatedStr","percentage","key","value","_jsxs","children","printUsageLimit","printMemory","printVCPU","totalCounts","arguments","length","undefined","getBundleStateData","detailsEntries","_entries","_pick","_ref6","_ref7","_slicedToArray","_k","v","_getBundleStateData","Health","Tooltip","content","renderDetails","placement","Icon","awesome","renderErrors","details","list","map","_ref8","_ref9","k","text","i","alert","id","description"],"sources":["BundleConfigurationMeta.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {useDispatch, useSelector} from 'react-redux';\nimport _ from 'lodash';\n\nimport hammer from '../../../common/hammer';\n\nimport {\n getActiveBundleControllerData,\n getTabletsActiveBundleData,\n} from '../../../store/selectors/tablet_cell_bundles';\nimport {fetchTabletCellBundleEditor} from '../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {OrchidBundlesData} from '../../../store/reducers/tablet_cell_bundles';\nimport Icon from '../../../components/Icon/Icon';\nimport MetaTable, {MetaTableItem} from '../../../components/MetaTable/MetaTable';\nimport {BundleMetaResourceProgress} from '../../../components/BundleMetaResourceProgress/BundleMetaResourceProgress';\nimport {Health} from './BundleGeneralMeta';\nimport {Tooltip} from '../../../components/Tooltip/Tooltip';\nimport {printUsageLimit} from '../../../utils';\nimport {useUpdater} from '../../../hooks/use-updater';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {wrapApiPromiseByToaster} from '../../../utils/utils';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\n\nimport './BundleConfigurationMeta.scss';\n\nconst block = cn('bundle-configuration-meta');\n\nconst DETAILS_KEYS = [\n 'allocating_rpc_proxy_count',\n 'allocating_tablet_node_count',\n 'deallocating_rpc_proxy_count',\n 'deallocating_tablet_node_count',\n 'removing_cell_count',\n] as const;\n\nexport function ActiveAccountBundleControllerUpdater() {\n const dispatch = useDispatch();\n const {bundle: activeBundle, enable_bundle_controller} =\n useSelector(getTabletsActiveBundleData) || {};\n const fetchFn = React.useCallback(() => {\n if (activeBundle) {\n dispatch(fetchTabletCellBundleEditor(activeBundle));\n }\n }, [dispatch, activeBundle]);\n useUpdater(fetchFn);\n\n const prevBundleControllerState = React.useRef<null | 'failed' | 'changing' | 'good'>(null);\n const checkBundleControllerState = React.useCallback(async () => {\n if (!activeBundle || !enable_bundle_controller) {\n return;\n }\n\n const requests: Array<BatchSubRequest> = [\n {\n command: 'get',\n parameters: {\n path: `//sys/bundle_controller/orchid/bundle_controller/state/bundles/${activeBundle}/alerts`,\n },\n },\n ..._.map(DETAILS_KEYS, (attr) => {\n return {\n command: 'get' as const,\n parameters: {\n path: `//sys/bundle_controller/orchid/bundle_controller/state/bundles/${activeBundle}/${attr}`,\n },\n };\n }),\n ];\n\n const [{output: alerts} = {output: []}, ...rest] = await wrapApiPromiseByToaster(\n ytApiV3Id.executeBatch(YTApiId.tabletBundleControllerState, {requests}),\n {\n toasterName: 'active-bundle-controller-status',\n skipSuccessToast: true,\n errorContent: `Cannot load bundle controller details for \"${activeBundle}\".`,\n },\n ).catch(() => []);\n\n const inProgressCount = _.reduce(\n rest,\n (acc, {output}) => {\n return acc + (output ?? 0);\n },\n 0,\n );\n\n const state = getState(alerts, inProgressCount);\n if (prevBundleControllerState.current === null) {\n prevBundleControllerState.current = state;\n return;\n }\n\n if (prevBundleControllerState.current !== state) {\n prevBundleControllerState.current = state;\n fetchFn();\n }\n }, [fetchFn, activeBundle, enable_bundle_controller]);\n useUpdater(checkBundleControllerState, {timeout: 3000});\n\n return null;\n}\n\nexport default function BundleConfigurationMeta() {\n const {bundle_controller_target_config: bundleControllerConfig} =\n useSelector(getTabletsActiveBundleData) || {};\n const orchidData = useSelector(getActiveBundleControllerData);\n\n if (!bundleControllerConfig || !orchidData) {\n return null;\n }\n\n const bundleGroup: Array<MetaTableItem> = [];\n\n if (orchidData) {\n const {resource_quota, resource_allocated} = orchidData;\n const {memory: allMemory, vcpu: allVCPU} = resource_quota;\n const {memory: allocMemory, vcpu: allocVCPU} = resource_allocated;\n\n bundleGroup.push(\n getBundleStateField(orchidData),\n getLimitAllocatedField('Memory allocated/limit', allocMemory, allMemory, 'Bytes'),\n getLimitAllocatedField('vCPU allocated/limit', allocVCPU, allVCPU, 'vCores'),\n );\n }\n\n if (typeof bundleControllerConfig.rpc_proxy_count !== 'undefined') {\n const {\n rpc_proxy_count: count,\n rpc_proxy_resource_guarantee: {memory, vcpu},\n } = bundleControllerConfig;\n\n bundleGroup.push(getRpcNodeField('RPC proxies', count, memory, vcpu));\n }\n\n if (typeof bundleControllerConfig.tablet_node_count !== 'undefined') {\n const {\n tablet_node_count: count,\n tablet_node_resource_guarantee: {memory, vcpu},\n } = bundleControllerConfig;\n bundleGroup.push(getRpcNodeField('Tablet nodes', count, memory, vcpu));\n }\n\n if (bundleControllerConfig.memory_limits) {\n const {memory} = bundleControllerConfig?.tablet_node_resource_guarantee || {};\n bundleGroup.push(\n BundleMetaResourceProgress('Memory allocation', {\n data: bundleControllerConfig.memory_limits,\n resourceType: 'Bytes',\n limit: memory,\n }),\n );\n }\n\n if (bundleControllerConfig.cpu_limits) {\n bundleGroup.push(\n BundleMetaResourceProgress('vCPU allocation', {\n data: bundleControllerConfig.cpu_limits,\n resourceType: 'Number',\n postfix: 'threads',\n }),\n );\n }\n\n return (\n <MetaTable className={block()} subTitles={['Bundle configuration']} items={[bundleGroup]} />\n );\n}\n\nfunction getLimitAllocatedField(\n title: string,\n allocated: number,\n all: number,\n type: 'Bytes' | 'vCores',\n) {\n const allStr = hammer.format[type](all);\n const allocatedStr = hammer.format[type](allocated);\n const percentage = hammer.format['Number']((allocated / all) * 100 || 0);\n\n return {\n key: title,\n value: (\n <span>\n {printUsageLimit(allocatedStr, allStr)}\n <span className={block('percentage')}>{percentage}%</span>\n </span>\n ),\n };\n}\n\nfunction getRpcNodeField(title: string, count: number, memory: number, vcpu: number) {\n const printMemory = hammer.format['Bytes'](memory);\n const printVCPU = hammer.format['vCores'](vcpu);\n return {\n key: title,\n value: count ? `${count} x (${printMemory}, ${printVCPU})` : 0,\n };\n}\n\nfunction getState(alerts?: OrchidBundlesData['alerts'], totalCounts = 0) {\n if (!alerts?.length && totalCounts === 0) {\n return 'good' as const;\n } else if (!alerts?.length && totalCounts > 0) {\n return 'changing' as const;\n }\n return 'failed' as const;\n}\n\nexport function getBundleStateData(orchidData: OrchidBundlesData) {\n const alerts = orchidData.alerts;\n const detailsEntries = _.entries(_.pick(orchidData, DETAILS_KEYS));\n const totalCounts = _.reduce(detailsEntries, (acc, [_k, v]) => acc + v, 0);\n const state = getState(alerts, totalCounts);\n return {state, detailsEntries};\n}\n\nfunction getBundleStateField(orchidData: OrchidBundlesData) {\n const {alerts} = orchidData;\n\n const {state: value, detailsEntries} = getBundleStateData(orchidData);\n if (value === 'good') {\n return {\n key: 'State',\n value: <Health className={block('health', {value})} value={value} />,\n };\n }\n\n if (value === 'changing') {\n return {\n key: 'State',\n value: (\n <Tooltip\n content={renderDetails(detailsEntries)}\n placement={'bottom'}\n className={block('state-with-icon')}\n >\n <Health className={block('health', {value})} value={value} />\n \n <Icon awesome=\"question-circle\" />\n </Tooltip>\n ),\n };\n }\n\n return {\n key: 'State',\n value: (\n <Tooltip\n content={renderErrors(alerts)}\n placement={'bottom'}\n className={block('state-with-icon')}\n >\n <Health className={block('health', {value})} value={value} />\n \n <Icon awesome=\"exclamation-triangle\" />\n </Tooltip>\n ),\n };\n}\n\nfunction renderDetails(details: Array<[string, number]>) {\n const list = details.map(([k, v]) => `${k} - ${v}`);\n return (\n <ul className={block('tooltip-list')}>\n {list.map((text, i) => {\n return (\n <li key={i} className={block('tooltip-item')}>\n {text}\n </li>\n );\n })}\n </ul>\n );\n}\n\nfunction renderErrors(alerts: OrchidBundlesData['alerts']) {\n return (\n <ol className={block('tooltip-list', {alerts: true})}>\n {alerts.map((alert) => {\n return (\n <li key={alert.id} className={block('tooltip-item')}>\n {alert.id} - {alert.description}\n </li>\n );\n })}\n </ol>\n );\n}\n"],"mappings":"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"}
|
package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.css.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["BundleEditorDialog.scss"],"names":[],"mappings":"AAEQ;EACI,YAAA;AADZ;AAIQ;EACI,gBAAA;AAFZ;AAKQ;EACI,gBAAA;EACA,kBAAA;AAHZ;AAMQ;EACI,SAAA;AAJZ;AAOQ;EACI,gBAAA;AALZ;AASY;EACI,gBAAA;AAPhB
|
1
|
+
{"version":3,"sources":["BundleEditorDialog.scss"],"names":[],"mappings":"AAEQ;EACI,YAAA;AADZ;AAIQ;EACI,gBAAA;AAFZ;AAKQ;EACI,gBAAA;EACA,kBAAA;AAHZ;AAMQ;EACI,SAAA;AAJZ;AAOQ;EACI,gBAAA;AALZ;AASY;EACI,gBAAA;AAPhB","file":"BundleEditorDialog.css","sourcesContent":[".bundle-editor {\n &__dialog {\n .df-dialog_with_vertical_tabs {\n height: 60vh;\n }\n\n .yc-list__item_selected {\n background: none;\n }\n\n .df-dialog__tabs-content {\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .yc-dialog-divider {\n margin: 0;\n }\n\n .df-dialog__error-message {\n white-space: pre;\n }\n\n .df-dialog__field-group_type_bundle-title {\n .df-dialog__label-text {\n font-weight: 700;\n }\n }\n }\n}\n"],"sourceRoot":""}
|
package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js
CHANGED
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.BundleEditorDialog = BundleEditorDialog;
|
7
|
-
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
|
8
7
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
9
8
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
10
|
-
var _get2 = _interopRequireDefault(require("lodash/get"));
|
11
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
12
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
13
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
@@ -15,6 +13,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
15
13
|
var _react = _interopRequireDefault(require("react"));
|
16
14
|
var _reactRedux = require("react-redux");
|
17
15
|
var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
|
16
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
18
17
|
var _Info = require("../../../../components/Info/Info");
|
19
18
|
var _BundleParamsList = require("./components/BundleParamsList/BundleParamsList");
|
20
19
|
var _Dialog = require("../../../../components/Dialog/Dialog");
|
@@ -115,6 +114,7 @@ function BundleEditorDialog() {
|
|
115
114
|
name: 'info',
|
116
115
|
type: 'block',
|
117
116
|
fullWidth: true,
|
117
|
+
touched: true,
|
118
118
|
extras: {
|
119
119
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Info.Info, {
|
120
120
|
className: block('info'),
|
@@ -253,6 +253,7 @@ function BundleEditorDialog() {
|
|
253
253
|
name: 'memory_reset',
|
254
254
|
type: 'bundle-title',
|
255
255
|
caption: 'Memory',
|
256
|
+
touched: true,
|
256
257
|
extras: function extras(allValues, _ref4) {
|
257
258
|
var _allValues$resources;
|
258
259
|
var form = _ref4.form;
|
@@ -355,31 +356,6 @@ function BundleEditorDialog() {
|
|
355
356
|
hasClear: true
|
356
357
|
},
|
357
358
|
validator: _bundleEditorDialog.simpleBundleValidate
|
358
|
-
}, {
|
359
|
-
type: 'block',
|
360
|
-
name: 'error',
|
361
|
-
validator: function validator(v) {
|
362
|
-
return v ? v : undefined;
|
363
|
-
},
|
364
|
-
fullWidth: true,
|
365
|
-
extras: function extras(allValues, _ref5) {
|
366
|
-
var form = _ref5.form;
|
367
|
-
var hasError = (0, _get2.default)(allValues, 'memory_limits.error');
|
368
|
-
var errorText = validateMemoryLimits(allValues);
|
369
|
-
if (errorText && !hasError) {
|
370
|
-
form.change('memory_limits.error', true);
|
371
|
-
} else if (!errorText && hasError) {
|
372
|
-
form.change('memory_limits.error', false);
|
373
|
-
}
|
374
|
-
return {
|
375
|
-
children: !errorText ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.DialogError, {
|
376
|
-
header: 'Error',
|
377
|
-
message: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
378
|
-
children: errorText
|
379
|
-
})
|
380
|
-
})
|
381
|
-
};
|
382
|
-
}
|
383
359
|
}]
|
384
360
|
};
|
385
361
|
var renderThreadPoolTab = {
|
@@ -397,9 +373,9 @@ function BundleEditorDialog() {
|
|
397
373
|
name: 'threadPool_reset',
|
398
374
|
type: 'bundle-title',
|
399
375
|
caption: 'vCPU',
|
400
|
-
extras: function extras(allValues,
|
376
|
+
extras: function extras(allValues, _ref5) {
|
401
377
|
var _allValues$resources2;
|
402
|
-
var form =
|
378
|
+
var form = _ref5.form;
|
403
379
|
var tablet_node_resource_guarantee = (_allValues$resources2 = allValues.resources) === null || _allValues$resources2 === void 0 ? void 0 : _allValues$resources2.tablet_node_resource_guarantee;
|
404
380
|
if (!tablet_node_resource_guarantee || !tablet_node_resource_guarantee.type || !bundleDefaultConfig) {
|
405
381
|
return {
|
@@ -465,7 +441,7 @@ function BundleEditorDialog() {
|
|
465
441
|
dispatch((0, _tabletCellBundleEditor.hideTabletCellBundleEditor)());
|
466
442
|
};
|
467
443
|
var onSubmit = /*#__PURE__*/function () {
|
468
|
-
var
|
444
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(form) {
|
469
445
|
var preparedData;
|
470
446
|
return _regenerator.default.wrap(function _callee$(_context) {
|
471
447
|
while (1) switch (_context.prev = _context.next) {
|
@@ -500,10 +476,10 @@ function BundleEditorDialog() {
|
|
500
476
|
}, _callee, null, [[3, 9]]);
|
501
477
|
}));
|
502
478
|
return function onSubmit(_x) {
|
503
|
-
return
|
479
|
+
return _ref6.apply(this, arguments);
|
504
480
|
};
|
505
481
|
}();
|
506
|
-
if ((0,
|
482
|
+
if ((0, _isEmpty.default)(data)) {
|
507
483
|
return null;
|
508
484
|
}
|
509
485
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dialog.YTDFDialog, {
|
@@ -516,24 +492,43 @@ function BundleEditorDialog() {
|
|
516
492
|
visible: visibleEditor,
|
517
493
|
onAdd: onSubmit,
|
518
494
|
onClose: onClose,
|
519
|
-
fields: fields
|
495
|
+
fields: fields,
|
496
|
+
validate: validateFormValues.bind(null, orchidData === null || orchidData === void 0 ? void 0 : orchidData.resource_quota)
|
520
497
|
});
|
521
498
|
}
|
522
|
-
function
|
523
|
-
var
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
499
|
+
function validateFormValues(quota, values) {
|
500
|
+
var _tabletNode$memory, _tabletNode$vcpu, _resources$rpc_proxy_2, _resources$rpc_proxy_3, _tabletNode$memory2, _resources$rpc_proxy_4, _resources$rpc_proxy_5;
|
501
|
+
var res = {
|
502
|
+
resources: {
|
503
|
+
info: ''
|
504
|
+
},
|
505
|
+
memory_limits: {
|
506
|
+
memory_reset: ''
|
507
|
+
}
|
508
|
+
};
|
509
|
+
var resources = values.resources;
|
510
|
+
var currentAccLimit = Object.values(values.memory_limits || {}).reduce(function (acc, v) {
|
511
|
+
if (typeof v !== 'number') {
|
512
|
+
return acc;
|
535
513
|
}
|
514
|
+
return acc + v;
|
515
|
+
}, 0);
|
516
|
+
var tabletNode = resources.tablet_node_resource_guarantee;
|
517
|
+
res.memory_limits.memory_reset = currentAccLimit > ((_tabletNode$memory = tabletNode === null || tabletNode === void 0 ? void 0 : tabletNode.memory) !== null && _tabletNode$memory !== void 0 ? _tabletNode$memory : 0) ? 'The sum of the memory limits exceeds the allowed values' : '';
|
518
|
+
var _resources$rpc_proxy_ = resources.rpc_proxy_count,
|
519
|
+
rpc_proxy_count = _resources$rpc_proxy_ === void 0 ? 0 : _resources$rpc_proxy_,
|
520
|
+
_resources$tablet_nod = resources.tablet_node_count,
|
521
|
+
tablet_node_count = _resources$tablet_nod === void 0 ? 0 : _resources$tablet_nod;
|
522
|
+
var requiredCpu = ((_tabletNode$vcpu = tabletNode === null || tabletNode === void 0 ? void 0 : tabletNode.vcpu) !== null && _tabletNode$vcpu !== void 0 ? _tabletNode$vcpu : 0) * tablet_node_count + ((_resources$rpc_proxy_2 = (_resources$rpc_proxy_3 = resources.rpc_proxy_resource_guarantee) === null || _resources$rpc_proxy_3 === void 0 ? void 0 : _resources$rpc_proxy_3.vcpu) !== null && _resources$rpc_proxy_2 !== void 0 ? _resources$rpc_proxy_2 : 0) * rpc_proxy_count;
|
523
|
+
var violatedResources = [];
|
524
|
+
if (requiredCpu > (quota === null || quota === void 0 ? void 0 : quota.vcpu)) {
|
525
|
+
violatedResources.push("".concat(_hammer.default.format.Number(requiredCpu / 1000), " cpu required"));
|
526
|
+
}
|
527
|
+
var requiredMemory = ((_tabletNode$memory2 = tabletNode === null || tabletNode === void 0 ? void 0 : tabletNode.memory) !== null && _tabletNode$memory2 !== void 0 ? _tabletNode$memory2 : 0) * tablet_node_count + ((_resources$rpc_proxy_4 = (_resources$rpc_proxy_5 = resources.rpc_proxy_resource_guarantee) === null || _resources$rpc_proxy_5 === void 0 ? void 0 : _resources$rpc_proxy_5.memory) !== null && _resources$rpc_proxy_4 !== void 0 ? _resources$rpc_proxy_4 : 0) * rpc_proxy_count;
|
528
|
+
if (requiredMemory > (quota === null || quota === void 0 ? void 0 : quota.memory)) {
|
529
|
+
violatedResources.push("".concat(_hammer.default.format.Bytes(requiredMemory), " memory requried"));
|
536
530
|
}
|
537
|
-
|
531
|
+
res.resources.info = violatedResources.length ? violatedResources.join(', ') : '';
|
532
|
+
return res;
|
538
533
|
}
|
539
534
|
// #sourceMappingURL=BundleEditorDialog.js.map
|