ydb-embedded-ui 8.21.0 → 8.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/components/TenantNameWrapper/TenantNameWrapper.js +6 -6
  2. package/dist/components/TenantNameWrapper/TenantNameWrapper.js.map +1 -1
  3. package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.js +8 -10
  4. package/dist/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.js.map +1 -1
  5. package/dist/containers/AsideNavigation/AsideNavigation.js +8 -32
  6. package/dist/containers/AsideNavigation/AsideNavigation.js.map +1 -1
  7. package/dist/containers/AsideNavigation/InformationPopup/InformationPopup.js +1 -1
  8. package/dist/containers/AsideNavigation/InformationPopup/InformationPopup.js.map +1 -1
  9. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.d.ts +33 -0
  10. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js +73 -0
  11. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js.map +1 -0
  12. package/dist/containers/AsideNavigation/i18n/en.json +9 -2
  13. package/dist/containers/AsideNavigation/i18n/index.d.ts +1 -1
  14. package/dist/store/reducers/tenants/tenants.js +2 -3
  15. package/dist/store/reducers/tenants/tenants.js.map +1 -1
  16. package/dist/store/reducers/tenants/types.d.ts +0 -1
  17. package/dist/store/reducers/tenants/utils.d.ts +1 -1
  18. package/dist/store/reducers/tenants/utils.js +1 -11
  19. package/dist/store/reducers/tenants/utils.js.map +1 -1
  20. package/dist/types/additionalProps.d.ts +1 -1
  21. package/dist/types/api/tenant.d.ts +1 -3
  22. package/dist/types/api/tenant.js.map +1 -1
  23. package/dist/utils/__test__/prepareBackend.test.js +6 -30
  24. package/dist/utils/__test__/prepareBackend.test.js.map +1 -1
  25. package/dist/utils/additionalProps.d.ts +1 -1
  26. package/dist/utils/additionalProps.js +3 -3
  27. package/dist/utils/additionalProps.js.map +1 -1
  28. package/dist/utils/hooks/useAdditionalNodesProps.js +1 -4
  29. package/dist/utils/hooks/useAdditionalNodesProps.js.map +1 -1
  30. package/dist/utils/hooks/useAutoRefreshInterval.js +28 -8
  31. package/dist/utils/hooks/useAutoRefreshInterval.js.map +1 -1
  32. package/dist/utils/prepareBackend.d.ts +1 -3
  33. package/dist/utils/prepareBackend.js +6 -26
  34. package/dist/utils/prepareBackend.js.map +1 -1
  35. package/package.json +2 -2
  36. package/dist/containers/AsideNavigation/constants.d.ts +0 -8
  37. package/dist/containers/AsideNavigation/constants.js +0 -34
  38. package/dist/containers/AsideNavigation/constants.js.map +0 -1
  39. package/dist/containers/AsideNavigation/utils.d.ts +0 -1
  40. package/dist/containers/AsideNavigation/utils.js +0 -2
  41. package/dist/containers/AsideNavigation/utils.js.map +0 -1
@@ -6,17 +6,17 @@ import { EntityStatus } from '../EntityStatus/EntityStatus';
6
6
  import { LinkWithIcon } from '../LinkWithIcon/LinkWithIcon';
7
7
  import i18n from './i18n';
8
8
  const getTenantBackend = (tenant, additionalTenantsProps) => {
9
- var _a, _b;
9
+ var _a;
10
10
  if (typeof (additionalTenantsProps === null || additionalTenantsProps === void 0 ? void 0 : additionalTenantsProps.prepareTenantBackend) !== 'function') {
11
11
  return undefined;
12
12
  }
13
- let backend = (_a = tenant.MonitoringEndpoint) !== null && _a !== void 0 ? _a : tenant.backend;
14
- const nodeIds = (_b = tenant.NodeIds) !== null && _b !== void 0 ? _b : tenant.sharedNodeIds;
15
- if (!backend && nodeIds && nodeIds.length > 0) {
13
+ let nodeId;
14
+ const nodeIds = (_a = tenant.NodeIds) !== null && _a !== void 0 ? _a : tenant.sharedNodeIds;
15
+ if (nodeIds && nodeIds.length > 0) {
16
16
  const index = Math.floor(Math.random() * nodeIds.length);
17
- backend = { NodeId: nodeIds[index] };
17
+ nodeId = nodeIds[index].toString();
18
18
  }
19
- return additionalTenantsProps.prepareTenantBackend(backend);
19
+ return additionalTenantsProps.prepareTenantBackend(nodeId);
20
20
  };
21
21
  export function TenantNameWrapper({ tenant, additionalTenantsProps }) {
22
22
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"TenantNameWrapper.js","sourceRoot":"","sources":["../../../src/components/TenantNameWrapper/TenantNameWrapper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TenantNameWrapper.js","sourceRoot":"","sources":["../../../src/components/TenantNameWrapper/TenantNameWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAC,aAAa,EAAC,MAAM,qCAAqC,CAAC;AAGlE,OAAO,EAAC,6BAA6B,EAAC,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAE1D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAO1B,MAAM,gBAAgB,GAAG,CACrB,MAAsB,EACtB,sBAA+C,EACjD,EAAE;;IACA,IAAI,OAAO,CAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,oBAAoB,CAAA,KAAK,UAAU,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,MAA0B,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,OAAO,mCAAI,MAAM,CAAC,aAAa,CAAC;IACvD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,sBAAsB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,EAAC,MAAM,EAAE,sBAAsB,EAAyB;;IACtF,MAAM,0BAA0B,GAAG,6BAA6B,EAAE,CAAC;IAEnE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,iBAAiB,uEAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,WAAW,uEAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEpE,MAAM,kBAAkB,GACpB,CAAC,cAAc,IAAI,QAAQ,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,CACzD,KAAC,cAAc,IAAC,UAAU,kBACtB,KAAC,cAAc,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAC1C,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,MAAM,aACpB,cAAc,IAAI,CACf,KAAC,YAAY,IACT,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,EACpC,GAAG,EAAE,cAAc,GACrB,CACL,EACA,QAAQ,IAAI,CACT,KAAC,YAAY,IAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAI,CAClE,IACE,GACW,GACT,CACpB,CAAC,CAAC,CAAC,IAAI,CAAC;IAEb,OAAO,CACH,KAAC,YAAY,IACT,YAAY,EAAE,cAAc,EAC5B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAC5C,YAAY,EAAE,IAAI,EAClB,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,QAClB,IAAI,EAAE,aAAa,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,OAAO;SACV,CAAC,GACJ,CACL,CAAC;AACN,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ClipboardButton } from '@gravity-ui/uikit';
3
+ import { isNil } from 'lodash';
3
4
  import { useClusterBaseInfo } from '../../../store/reducers/cluster/cluster';
4
5
  import { cn } from '../../../utils/cn';
5
6
  import { USE_CLUSTER_BALANCER_AS_BACKEND_KEY } from '../../../utils/constants';
6
7
  import { useSetting } from '../../../utils/hooks';
7
8
  import { useAdditionalNodesProps } from '../../../utils/hooks/useAdditionalNodesProps';
8
- import { getCleanBalancerValue, removeViewerPathname } from '../../../utils/parseBalancer';
9
- import { getBackendFromNodeHost, getBackendFromRawNodeData } from '../../../utils/prepareBackend';
9
+ import { getCleanBalancerValue, prepareBackendFromBalancer } from '../../../utils/parseBalancer';
10
+ import { getBackendFromBalancerAndNodeId } from '../../../utils/prepareBackend';
10
11
  import './ExtendedCluster.scss';
11
12
  const b = cn('extended-cluster');
12
13
  const getAdditionalBalancerInfo = (balancer) => {
@@ -31,22 +32,19 @@ const getAdditionalClusterProps = ({ clusterName, monitoring, balancer, getMonit
31
32
  };
32
33
  const getAdditionalTenantsProps = ({ clusterName, monitoring, balancer, logging, useClusterBalancerAsBackend, getMonitoringLink, getLogsLink, }) => {
33
34
  const additionalTenantsProps = {};
34
- additionalTenantsProps.prepareTenantBackend = (nodeHostOrAddress) => {
35
+ additionalTenantsProps.prepareTenantBackend = (nodeId) => {
35
36
  var _a;
36
- // Proxy received from balancer value, so it's necessary
37
+ // Balancer value is used to create path, so it's necessary
37
38
  if (!balancer) {
38
39
  return undefined;
39
40
  }
40
41
  if (useClusterBalancerAsBackend) {
41
- return removeViewerPathname(balancer);
42
+ return prepareBackendFromBalancer(balancer);
42
43
  }
43
- if (!nodeHostOrAddress) {
44
+ if (isNil(nodeId)) {
44
45
  return undefined;
45
46
  }
46
- if (typeof nodeHostOrAddress === 'string') {
47
- return getBackendFromNodeHost(nodeHostOrAddress, balancer);
48
- }
49
- return (_a = getBackendFromRawNodeData(nodeHostOrAddress, balancer, true)) !== null && _a !== void 0 ? _a : undefined;
47
+ return (_a = getBackendFromBalancerAndNodeId(nodeId, balancer)) !== null && _a !== void 0 ? _a : undefined;
50
48
  };
51
49
  if (monitoring && getMonitoringLink) {
52
50
  additionalTenantsProps.getMonitoringLink = (dbName, dbType) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ExtendedCluster.js","sourceRoot":"","sources":["../../../../src/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAO3E,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,mCAAmC,EAAC,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AAMrF,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAC,sBAAsB,EAAE,yBAAyB,EAAC,MAAM,+BAA+B,CAAC;AAGhG,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,yBAAyB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACnD,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAErD,OAAO;QACH,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,aACxB,YAAY,EACb,KAAC,eAAe,IAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAI,IAChF,CACT;KACJ,CAAC;AACN,CAAC,CAAC;AASF,MAAM,yBAAyB,GAAG,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,wBAAwB,GACA,EAAE,EAAE;IAC5B,MAAM,sBAAsB,GAA2B,EAAE,CAAC;IAE1D,IAAI,UAAU,IAAI,wBAAwB,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI,WAAW,EAAE,CAAC;YACd,sBAAsB,CAAC,KAAK,GAAG,CAAC,EAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAC,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,sBAAsB,CAAC,IAAI,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,sBAAsB,CAAC;AAClC,CAAC,CAAC;AAYF,MAAM,yBAAyB,GAAG,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,OAAO,EACP,2BAA2B,EAC3B,iBAAiB,EACjB,WAAW,GACa,EAAE,EAAE;IAC5B,MAAM,sBAAsB,GAA2B,EAAE,CAAC;IAE1D,sBAAsB,CAAC,oBAAoB,GAAG,CAC1C,iBAAmD,EACrD,EAAE;;QACA,wDAAwD;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,2BAA2B,EAAE,CAAC;YAC9B,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,MAAA,yBAAyB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,mCAAI,SAAS,CAAC;IACrF,CAAC,CAAC;IAEF,IAAI,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAClC,sBAAsB,CAAC,iBAAiB,GAAG,CAAC,MAAe,EAAE,MAAoB,EAAE,EAAE;YACjF,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,iBAAiB,CAAC,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAC,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;IAED,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;QACzB,sBAAsB,CAAC,WAAW,GAAG,CAAC,MAAe,EAAE,EAAE;YACrD,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,WAAW,CAAC;oBACf,MAAM;oBACN,OAAO;iBACV,CAAC,CAAC;YACP,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;IAED,OAAO,sBAAsB,CAAC;AAClC,CAAC,CAAC;AAQF,MAAM,UAAU,eAAe,CAAC,EAC5B,SAAS,EAAE,gBAAgB,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,GACQ;IACnB,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAC,GAAG,kBAAkB,EAAE,CAAC;IAEnE,MAAM,CAAC,2BAA2B,CAAC,GAAG,UAAU,CAAU,mCAAmC,CAAC,CAAC;IAE/F,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,gBAAgB,IACb,sBAAsB,EAAE,yBAAyB,CAAC;gBAC9C,WAAW,EAAE,IAAI;gBACjB,UAAU;gBACV,QAAQ;gBACR,wBAAwB;aAC3B,CAAC,EACF,sBAAsB,EAAE,yBAAyB,CAAC;gBAC9C,WAAW,EAAE,IAAI;gBACjB,UAAU;gBACV,QAAQ;gBACR,OAAO;gBACP,2BAA2B;gBAC3B,iBAAiB;gBACjB,WAAW;aACd,CAAC,EACF,oBAAoB,EAAE,oBAAoB,GAC5C,GACA,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"ExtendedCluster.js","sourceRoot":"","sources":["../../../../src/containers/AppWithClusters/ExtendedCluster/ExtendedCluster.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { CircleQuestion, Gear, Person } from '@gravity-ui/icons';
4
- import { AsideHeader, FooterItem, HotkeysPanel } from '@gravity-ui/navigation';
5
- import { Hotkey } from '@gravity-ui/uikit';
6
- import hotkeys from 'hotkeys-js';
4
+ import { AsideHeader, FooterItem } from '@gravity-ui/navigation';
7
5
  import { useHistory } from 'react-router-dom';
8
6
  import { cn } from '../../utils/cn';
9
7
  import { ASIDE_HEADER_COMPACT_KEY } from '../../utils/constants';
10
8
  import { useSetting } from '../../utils/hooks';
11
9
  import { InformationPopup } from './InformationPopup';
12
- import { HOTKEYS, SHORTCUTS_HOTKEY } from './constants';
10
+ import { useHotkeysPanel } from './hooks/useHotkeysPanel';
13
11
  import i18n from './i18n';
14
12
  import userSecret from '../../assets/icons/user-secret.svg';
15
13
  import ydbLogoIcon from '../../assets/icons/ydb.svg';
@@ -33,23 +31,6 @@ var Panel;
33
31
  Panel["Information"] = "Information";
34
32
  Panel["Hotkeys"] = "Hotkeys";
35
33
  })(Panel || (Panel = {}));
36
- /**
37
- * HotkeysPanelWrapper creates a render cycle separation between mounting and visibility change.
38
- * This is necessary for smooth animations as HotkeysPanel uses CSSTransition internally.
39
- *
40
- * When a component is both mounted and set to visible at once, CSSTransition can't
41
- * properly sequence its transition classes (panel → panel-active) because it's already active when mounted
42
- * and counts transition as it has already happened.
43
- * This wrapper ensures the component mounts first, then sets visible=true in a subsequent render cycle
44
- * to make transition actually happen.
45
- */
46
- function HotkeysPanelWrapper({ visiblePanel, closePanel, }) {
47
- const [visible, setVisible] = React.useState(false);
48
- React.useEffect(() => {
49
- setVisible(visiblePanel === Panel.Hotkeys);
50
- }, [visiblePanel]);
51
- return (_jsx(HotkeysPanel, { visible: visible, hotkeys: HOTKEYS, className: b('hotkeys-panel'), title: _jsxs("div", { className: b('hotkeys-panel-title'), children: [i18n('help-center.footer.shortcuts'), _jsx(Hotkey, { value: SHORTCUTS_HOTKEY })] }), onClose: closePanel }));
52
- }
53
34
  export function AsideNavigation(props) {
54
35
  const history = useHistory();
55
36
  const [visiblePanel, setVisiblePanel] = React.useState();
@@ -64,19 +45,14 @@ export function AsideNavigation(props) {
64
45
  const closePanel = React.useCallback(() => {
65
46
  setVisiblePanel(undefined);
66
47
  }, []);
48
+ const { renderPanel: renderHotkeysPanel } = useHotkeysPanel({
49
+ isPanelVisible: visiblePanel === Panel.Hotkeys,
50
+ closePanel,
51
+ openPanel: openHotkeysPanel,
52
+ });
67
53
  const renderInformationPopup = () => {
68
54
  return _jsx(InformationPopup, { onKeyboardShortcutsClick: openHotkeysPanel });
69
55
  };
70
- React.useEffect(() => {
71
- // Register hotkey for keyboard shortcuts
72
- hotkeys(SHORTCUTS_HOTKEY, openHotkeysPanel);
73
- // Add listener for custom event from Monaco editor
74
- window.addEventListener('openKeyboardShortcutsPanel', openHotkeysPanel);
75
- return () => {
76
- hotkeys.unbind(SHORTCUTS_HOTKEY);
77
- window.removeEventListener('openKeyboardShortcutsPanel', openHotkeysPanel);
78
- };
79
- }, [openHotkeysPanel]);
80
56
  return (_jsx(React.Fragment, { children: _jsx(AsideHeader, { logo: {
81
57
  text: 'YDB',
82
58
  icon: ydbLogoIcon,
@@ -111,7 +87,7 @@ export function AsideNavigation(props) {
111
87
  id: 'hotkeys',
112
88
  visible: visiblePanel === Panel.Hotkeys,
113
89
  keepMounted: true,
114
- content: (_jsx(HotkeysPanelWrapper, { visiblePanel: visiblePanel, closePanel: closePanel })),
90
+ content: renderHotkeysPanel(),
115
91
  },
116
92
  ], onClosePanel: closePanel }) }));
117
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AsideNavigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/AsideNavigation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsideNavigation.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/AsideNavigation.tsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Flex, Hotkey, Icon, Link, List, Text } from '@gravity-ui/uikit';
4
4
  import { settingsManager } from '../../../services/settings';
5
5
  import { cn } from '../../../utils/cn';
6
6
  import { LANGUAGE_KEY } from '../../../utils/constants';
7
- import { SHORTCUTS_HOTKEY } from '../constants';
7
+ import { SHORTCUTS_HOTKEY } from '../hooks/useHotkeysPanel';
8
8
  import i18n from '../i18n';
9
9
  import './InformationPopup.scss';
10
10
  const b = cn('information-popup');
@@ -1 +1 @@
1
- {"version":3,"file":"InformationPopup.js","sourceRoot":"","sources":["../../../../src/containers/AsideNavigation/InformationPopup/InformationPopup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,yBAAyB,CAAC;AAEjC,MAAM,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;AAMlC,MAAM,UAAU,gBAAgB,CAAC,EAAC,wBAAwB,EAAwB;IAC9E,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrF,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACrF,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAC5B,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,8BAE1D,EACP,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,YAC/B,KAAC,IAAI,IACD,KAAK,EAAE;gCACH;oCACI,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC;oCAC5C,GAAG,EAAE,oBAAoB,EAAE;iCAC9B;6BACJ,EACD,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CACzB,KAAC,IAAI,IACD,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,EACzB,GAAG,EAAC,UAAU,EACd,MAAM,EAAC,QAAQ,EACf,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,YAEjD,IAAI,GACF,CACV,EACD,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,GAC1B,GACA,IACJ,EAEN,cAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACvB,MAAC,IAAI,IACD,cAAc,EAAC,eAAe,EAC9B,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAC9B,OAAO,EAAE,wBAAwB,aAEjC,MAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,aACrB,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,YAC/B,KAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,GAAI,GACtB,EACL,IAAI,CAAC,8BAA8B,CAAC,IAClC,EACP,KAAC,MAAM,IAAC,KAAK,EAAE,gBAAgB,GAAI,IAChC,GACL,IACJ,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"InformationPopup.js","sourceRoot":"","sources":["../../../../src/containers/AsideNavigation/InformationPopup/InformationPopup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,yBAAyB,CAAC;AAEjC,MAAM,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;AAMlC,MAAM,UAAU,gBAAgB,CAAC,EAAC,wBAAwB,EAAwB;IAC9E,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrF,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACrF,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAC5B,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,8BAE1D,EACP,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,YAC/B,KAAC,IAAI,IACD,KAAK,EAAE;gCACH;oCACI,IAAI,EAAE,IAAI,CAAC,gCAAgC,CAAC;oCAC5C,GAAG,EAAE,oBAAoB,EAAE;iCAC9B;6BACJ,EACD,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CACzB,KAAC,IAAI,IACD,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,EACzB,GAAG,EAAC,UAAU,EACd,MAAM,EAAC,QAAQ,EACf,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,YAEjD,IAAI,GACF,CACV,EACD,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,GAC1B,GACA,IACJ,EAEN,cAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACvB,MAAC,IAAI,IACD,cAAc,EAAC,eAAe,EAC9B,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAC9B,OAAO,EAAE,wBAAwB,aAEjC,MAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,aACrB,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,YAC/B,KAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,GAAI,GACtB,EACL,IAAI,CAAC,8BAA8B,CAAC,IAClC,EACP,KAAC,MAAM,IAAC,KAAK,EAAE,gBAAgB,GAAI,IAChC,GACL,IACJ,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,33 @@
1
+ export declare const isMac: () => boolean;
2
+ export declare const SHORTCUTS_HOTKEY: string;
3
+ export declare const HOTKEYS: {
4
+ title: string;
5
+ items: {
6
+ title: string;
7
+ value: string;
8
+ }[];
9
+ }[];
10
+ export interface HotkeysPanelProps {
11
+ visible: boolean;
12
+ closePanel: () => void;
13
+ }
14
+ /**
15
+ * HotkeysPanelWrapper creates a render cycle separation between mounting and visibility change.
16
+ * This is necessary for smooth animations as HotkeysPanel uses CSSTransition internally.
17
+ *
18
+ * When a component is both mounted and set to visible at once, CSSTransition can't
19
+ * properly sequence its transition classes (panel → panel-active) because it's already active when mounted
20
+ * and counts transition as it has already happened.
21
+ * This wrapper ensures the component mounts first, then sets visible=true in a subsequent render cycle
22
+ * to make transition actually happen.
23
+ */
24
+ export declare const HotkeysPanelWrapper: ({ visible: propsVisible, closePanel }: HotkeysPanelProps) => import("react/jsx-runtime").JSX.Element;
25
+ interface UseHotkeysPanel {
26
+ isPanelVisible: boolean;
27
+ openPanel: () => void;
28
+ closePanel: () => void;
29
+ }
30
+ export declare const useHotkeysPanel: ({ isPanelVisible, openPanel, closePanel }: UseHotkeysPanel) => {
31
+ renderPanel: () => import("react/jsx-runtime").JSX.Element;
32
+ };
33
+ export {};
@@ -0,0 +1,73 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { HotkeysPanel as UIKitHotkeysPanel } from '@gravity-ui/navigation';
4
+ import { Hotkey } from '@gravity-ui/uikit';
5
+ import hotkeys from 'hotkeys-js';
6
+ import { cn } from '../../../utils/cn';
7
+ import i18n from '../i18n';
8
+ const b = cn('kv-navigation');
9
+ export const isMac = () => navigator.platform.toUpperCase().includes('MAC');
10
+ export const SHORTCUTS_HOTKEY = isMac() ? 'cmd+K' : 'ctrl+K';
11
+ export const HOTKEYS = [
12
+ {
13
+ title: 'Query Editor',
14
+ items: [
15
+ {
16
+ title: i18n('hotkeys.execute-query'),
17
+ value: isMac() ? 'cmd+enter' : 'ctrl+enter',
18
+ },
19
+ {
20
+ title: i18n('hotkeys.execute-selected-query'),
21
+ value: isMac() ? 'cmd+shift+enter' : 'ctrl+shift+enter',
22
+ },
23
+ {
24
+ title: i18n('hotkeys.previous-query'),
25
+ value: isMac() ? 'cmd+arrowUp' : 'ctrl+arrowUp',
26
+ },
27
+ {
28
+ title: i18n('hotkeys.next-query'),
29
+ value: isMac() ? 'cmd+arrowDown' : 'ctrl+arrowDown',
30
+ },
31
+ {
32
+ title: i18n('hotkeys.save-query'),
33
+ value: isMac() ? 'cmd+s' : 'ctrl+s',
34
+ },
35
+ {
36
+ title: i18n('hotkeys.save-selected-query'),
37
+ value: isMac() ? 'cmd+shift+s' : 'ctrl+shift+s',
38
+ },
39
+ ],
40
+ },
41
+ ];
42
+ /**
43
+ * HotkeysPanelWrapper creates a render cycle separation between mounting and visibility change.
44
+ * This is necessary for smooth animations as HotkeysPanel uses CSSTransition internally.
45
+ *
46
+ * When a component is both mounted and set to visible at once, CSSTransition can't
47
+ * properly sequence its transition classes (panel → panel-active) because it's already active when mounted
48
+ * and counts transition as it has already happened.
49
+ * This wrapper ensures the component mounts first, then sets visible=true in a subsequent render cycle
50
+ * to make transition actually happen.
51
+ */
52
+ export const HotkeysPanelWrapper = ({ visible: propsVisible, closePanel }) => {
53
+ const [visible, setVisible] = React.useState(false);
54
+ React.useEffect(() => {
55
+ setVisible(propsVisible);
56
+ }, [propsVisible]);
57
+ return (_jsx(UIKitHotkeysPanel, { visible: visible, hotkeys: HOTKEYS, className: b('hotkeys-panel'), title: _jsxs("div", { className: b('hotkeys-panel-title'), children: [i18n('hotkeys.title'), _jsx(Hotkey, { value: SHORTCUTS_HOTKEY })] }), onClose: closePanel }));
58
+ };
59
+ export const useHotkeysPanel = ({ isPanelVisible, openPanel, closePanel }) => {
60
+ React.useEffect(() => {
61
+ hotkeys(SHORTCUTS_HOTKEY, openPanel);
62
+ window.addEventListener('openKeyboardShortcutsPanel', openPanel);
63
+ return () => {
64
+ hotkeys.unbind(SHORTCUTS_HOTKEY);
65
+ window.removeEventListener('openKeyboardShortcutsPanel', openPanel);
66
+ };
67
+ }, [openPanel]);
68
+ const renderPanel = React.useCallback(() => _jsx(HotkeysPanelWrapper, { visible: isPanelVisible, closePanel: closePanel }), [isPanelVisible, closePanel]);
69
+ return {
70
+ renderPanel,
71
+ };
72
+ };
73
+ //# sourceMappingURL=useHotkeysPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHotkeysPanel.js","sourceRoot":"","sources":["../../../../src/containers/AsideNavigation/hooks/useHotkeysPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "navigation-item.information": "information",
2
+ "navigation-item.information": "Information",
3
3
  "navigation-item.settings": "Settings",
4
4
  "navigation-item.account": "Account",
5
5
  "help-center.header.title": "Documentation",
@@ -7,5 +7,12 @@
7
7
  "help-center.footer.shortcuts": "Keyboard shortcuts",
8
8
  "account.user": "YDB User",
9
9
  "account.login": "Login",
10
- "account.logout": "Logout"
10
+ "account.logout": "Logout",
11
+ "hotkeys.title": "Keyboard shortcuts",
12
+ "hotkeys.execute-query": "Execute query",
13
+ "hotkeys.execute-selected-query": "Execute selected query",
14
+ "hotkeys.previous-query": "Previous query",
15
+ "hotkeys.next-query": "Next query",
16
+ "hotkeys.save-query": "Save query",
17
+ "hotkeys.save-selected-query": "Save selected query"
11
18
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "navigation-item.information" | "navigation-item.settings" | "navigation-item.account" | "help-center.header.title" | "help-center.item.documentation" | "help-center.footer.shortcuts" | "account.user" | "account.login" | "account.logout", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "navigation-item.information" | "navigation-item.settings" | "navigation-item.account" | "help-center.header.title" | "help-center.item.documentation" | "help-center.footer.shortcuts" | "account.user" | "account.login" | "account.logout" | "hotkeys.title" | "hotkeys.execute-query" | "hotkeys.execute-selected-query" | "hotkeys.previous-query" | "hotkeys.next-query" | "hotkeys.save-query" | "hotkeys.save-selected-query", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -16,15 +16,14 @@ export default slice.reducer;
16
16
  export const tenantsApi = api.injectEndpoints({
17
17
  endpoints: (build) => ({
18
18
  getTenantsInfo: build.query({
19
- queryFn: async ({ clusterName }, { signal, getState }) => {
19
+ queryFn: async ({ clusterName }, { signal }) => {
20
20
  try {
21
21
  const response = window.api.meta
22
22
  ? await window.api.meta.getTenants(clusterName, { signal })
23
23
  : await window.api.viewer.getTenants(clusterName, { signal });
24
24
  let data;
25
25
  if (Array.isArray(response.TenantInfo)) {
26
- const { singleClusterMode } = getState();
27
- data = prepareTenants(response.TenantInfo, singleClusterMode);
26
+ data = prepareTenants(response.TenantInfo);
28
27
  }
29
28
  else {
30
29
  data = [];
@@ -1 +1 @@
1
- {"version":3,"file":"tenants.js","sourceRoot":"","sources":["../../../../src/store/reducers/tenants/tenants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAC,GAAG,EAAC,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,YAAY,GAAiB,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC;AAErD,MAAM,KAAK,GAAG,WAAW,CAAC;IACtB,IAAI,EAAE,SAAS;IACf,YAAY;IACZ,QAAQ,EAAE;QACN,cAAc,EAAE,CAAC,KAAK,EAAE,MAA6B,EAAE,EAAE;YACrD,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;QACvC,CAAC;KACJ;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAC,cAAc,EAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AAC9C,eAAe,KAAK,CAAC,OAAO,CAAC;AAE7B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC;IAC1C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,EAAC,WAAW,EAAyB,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,EAAE,EAAE;gBACzE,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI;wBAC5B,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAC,MAAM,EAAC,CAAC;wBACzD,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;oBAChE,IAAI,IAAsB,CAAC;oBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACrC,MAAM,EAAC,iBAAiB,EAAC,GAAG,QAAQ,EAAe,CAAC;wBACpD,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;oBAClE,CAAC;yBAAM,CAAC;wBACJ,IAAI,GAAG,EAAE,CAAC;oBACd,CAAC;oBACD,OAAO,EAAC,IAAI,EAAC,CAAC;gBAClB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,EAAC,KAAK,EAAC,CAAC;gBACnB,CAAC;YACL,CAAC;YACD,YAAY,EAAE,CAAC,KAAK,CAAC;SACxB,CAAC;KACL,CAAC;IACF,gBAAgB,EAAE,OAAO;CAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"tenants.js","sourceRoot":"","sources":["../../../../src/store/reducers/tenants/tenants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAC,GAAG,EAAC,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,YAAY,GAAiB,EAAC,WAAW,EAAE,EAAE,EAAC,CAAC;AAErD,MAAM,KAAK,GAAG,WAAW,CAAC;IACtB,IAAI,EAAE,SAAS;IACf,YAAY;IACZ,QAAQ,EAAE;QACN,cAAc,EAAE,CAAC,KAAK,EAAE,MAA6B,EAAE,EAAE;YACrD,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;QACvC,CAAC;KACJ;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAC,cAAc,EAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AAC9C,eAAe,KAAK,CAAC,OAAO,CAAC;AAE7B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,CAAC;IAC1C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,EAAC,WAAW,EAAyB,EAAE,EAAC,MAAM,EAAC,EAAE,EAAE;gBAC/D,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI;wBAC5B,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAC,MAAM,EAAC,CAAC;wBACzD,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;oBAChE,IAAI,IAAsB,CAAC;oBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACrC,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACJ,IAAI,GAAG,EAAE,CAAC;oBACd,CAAC;oBACD,OAAO,EAAC,IAAI,EAAC,CAAC;gBAClB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,EAAC,KAAK,EAAC,CAAC;gBACnB,CAAC;YACL,CAAC;YACD,YAAY,EAAE,CAAC,KAAK,CAAC;SACxB,CAAC;KACL,CAAC;IACF,gBAAgB,EAAE,OAAO;CAC5B,CAAC,CAAC"}
@@ -2,7 +2,6 @@ import type { TTenant } from '../../../types/api/tenant';
2
2
  import type { ValueOf } from '../../../types/common';
3
3
  import type { METRIC_STATUS } from './contants';
4
4
  export interface PreparedTenant extends TTenant {
5
- backend: string | undefined;
6
5
  sharedTenantName: string | undefined;
7
6
  sharedNodeIds: number[] | undefined;
8
7
  controlPlaneName: string;
@@ -23,6 +23,6 @@ export declare const calculateTenantMetrics: (tenant?: TTenant) => {
23
23
  blobStorageStats: TenantStorageStats[];
24
24
  tabletStorageStats: TenantStorageStats[] | undefined;
25
25
  };
26
- export declare const prepareTenants: (tenants: TTenant[], useNodeAsBackend: boolean) => PreparedTenant[];
26
+ export declare const prepareTenants: (tenants: TTenant[]) => PreparedTenant[];
27
27
  export declare function getMetricStatusFromUsage(usage?: number): "Unspecified" | "Good" | "Warning" | "Danger";
28
28
  export declare const normalizeProgress: (progress: number) => number;
@@ -9,14 +9,6 @@ const getControlPlaneValue = (tenant) => {
9
9
  const controlPlaneName = (_b = tenant.ControlPlane) === null || _b === void 0 ? void 0 : _b.name;
10
10
  return controlPlaneName !== null && controlPlaneName !== void 0 ? controlPlaneName : defaultValue;
11
11
  };
12
- const getTenantBackend = (tenant) => {
13
- var _a;
14
- const node = tenant.Nodes ? tenant.Nodes[0] : {};
15
- const address = node.Host && node.Endpoints
16
- ? (_a = node.Endpoints.find((endpoint) => endpoint.Name === 'http-mon')) === null || _a === void 0 ? void 0 : _a.Address
17
- : undefined;
18
- return node.Host ? `${node.Host}${address ? address : ''}` : undefined;
19
- };
20
12
  const calculatePoolsStats = (poolsStats) => {
21
13
  if (!poolsStats) {
22
14
  return undefined;
@@ -125,9 +117,8 @@ const calculateTenantEntities = (tenant) => {
125
117
  const groupsCount = isNumeric(StorageGroups) ? Number(StorageGroups) : 0;
126
118
  return { nodesCount, groupsCount };
127
119
  };
128
- export const prepareTenants = (tenants, useNodeAsBackend) => {
120
+ export const prepareTenants = (tenants) => {
129
121
  return tenants.map((tenant) => {
130
- const backend = useNodeAsBackend ? getTenantBackend(tenant) : undefined;
131
122
  const sharedDatabase = tenants.find((item) => item.Id === tenant.ResourceId);
132
123
  const sharedTenantName = sharedDatabase === null || sharedDatabase === void 0 ? void 0 : sharedDatabase.Name;
133
124
  const sharedNodeIds = sharedDatabase === null || sharedDatabase === void 0 ? void 0 : sharedDatabase.NodeIds;
@@ -136,7 +127,6 @@ export const prepareTenants = (tenants, useNodeAsBackend) => {
136
127
  const { nodesCount, groupsCount } = calculateTenantEntities(tenant);
137
128
  return {
138
129
  ...tenant,
139
- backend,
140
130
  sharedTenantName,
141
131
  sharedNodeIds,
142
132
  controlPlaneName,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/store/reducers/tenants/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/store/reducers/tenants/utils.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export interface AdditionalClusterProps {
10
10
  links?: ClusterLink[];
11
11
  }
12
12
  export interface AdditionalTenantsProps {
13
- prepareTenantBackend?: (backend: string | NodeAddress | undefined) => string | undefined;
13
+ prepareTenantBackend?: (nodeId?: string | number) => string | undefined;
14
14
  getMonitoringLink?: (name?: string, type?: ETenantType) => string | null;
15
15
  getLogsLink?: (name?: string) => string | null;
16
16
  }
@@ -1,5 +1,5 @@
1
1
  import type { EFlag } from './enums';
2
- import type { TMemoryStats, TPoolStats, TSystemStateInfo } from './nodes';
2
+ import type { TMemoryStats, TPoolStats } from './nodes';
3
3
  import type { TTabletStateInfo } from './tablet';
4
4
  /**
5
5
  * endpoint: /viewer/json/tenants
@@ -42,7 +42,6 @@ export interface TTenant {
42
42
  StorageAllocatedSize?: string;
43
43
  /** uint64 */
44
44
  StorageMinAvailableSize?: string;
45
- Nodes?: TSystemStateInfo[];
46
45
  /** uint64 */
47
46
  MemoryUsed?: string;
48
47
  /** uint64 */
@@ -52,7 +51,6 @@ export interface TTenant {
52
51
  CoresUsed?: number;
53
52
  /** uint64 */
54
53
  StorageGroups?: string;
55
- MonitoringEndpoint?: string;
56
54
  ControlPlane?: ControlPlane;
57
55
  StorageAllocatedLimit?: string;
58
56
  DatabaseQuotas?: DatabaseQuotas;
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/types/api/tenant.ts"],"names":[],"mappings":"AA6IA,MAAM,CAAN,IAAY,KAOX;AAPD,WAAY,KAAK;IACb,gDAAyC,CAAA;IACzC,8BAAuB,CAAA;IACvB,4BAAqB,CAAA;IACrB,8BAAuB,CAAA;IACvB,gDAAyC,CAAA;IACzC,oCAA6B,CAAA;AACjC,CAAC,EAPW,KAAK,KAAL,KAAK,QAOhB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,yFAAmE,CAAA;IACnE,uFAAiE,CAAA;AACrE,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAuBD,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IACb,sBAAa,CAAA;IACb,oBAAW,CAAA;IACX,oBAAW,CAAA;AACf,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB"}
1
+ {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../src/types/api/tenant.ts"],"names":[],"mappings":"AA2IA,MAAM,CAAN,IAAY,KAOX;AAPD,WAAY,KAAK;IACb,gDAAyC,CAAA;IACzC,8BAAuB,CAAA;IACvB,4BAAqB,CAAA;IACrB,8BAAuB,CAAA;IACvB,gDAAyC,CAAA;IACzC,oCAA6B,CAAA;AACjC,CAAC,EAPW,KAAK,KAAL,KAAK,QAOhB;AAED,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,uFAAiE,CAAA;IACjE,yFAAmE,CAAA;IACnE,uFAAiE,CAAA;AACrE,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAuBD,MAAM,CAAN,IAAY,KAIX;AAJD,WAAY,KAAK;IACb,sBAAa,CAAA;IACb,oBAAW,CAAA;IACX,oBAAW,CAAA;AACf,CAAC,EAJW,KAAK,KAAL,KAAK,QAIhB"}
@@ -1,4 +1,4 @@
1
- import { getBackendFromNodeHost, getBackendFromRawNodeData, prepareHost } from '../prepareBackend';
1
+ import { getBackendFromBalancerAndNodeId, prepareHost } from '../prepareBackend';
2
2
  describe('prepareHost', () => {
3
3
  test('should add u- prefix to cloud din nodes', () => {
4
4
  const cloudDinNodeInitialHost = 'vm-cc8mco0j0snqehgh7r2a-ru-central1-c-nlmw-aniq.cc8mco0j0snqehgh7r2a.ydb.mdb.cloud-preprod.net';
@@ -8,36 +8,12 @@ describe('prepareHost', () => {
8
8
  expect(prepareHost(commonNodeHost)).toBe(commonNodeHost);
9
9
  });
10
10
  });
11
- describe('getBackendFromNodeHost', () => {
12
- test('should prepare correct backend value from node host', () => {
11
+ describe('getBackendFromBalancerAndNodeId', () => {
12
+ test('should prepare correct backend from balancer and node id', () => {
13
13
  const balancer = 'https://viewer.ydb.ru:443/dev02.ydb.net:8765';
14
- const nodeHost = 'ydb-dev02-001.search.net:31012';
15
- const result = 'https://viewer.ydb.ru:443/ydb-dev02-001.search.net:31012';
16
- expect(getBackendFromNodeHost(nodeHost, balancer)).toBe(result);
17
- });
18
- });
19
- describe('getBackendFromRawNodeData', () => {
20
- test('should prepare correct backend value from raw node data', () => {
21
- const balancer = 'https://viewer.ydb.ru:443/dev02.ydb.net:8765';
22
- const node = {
23
- Host: 'ydb-dev02-000.search.net',
24
- Endpoints: [
25
- {
26
- Name: 'http-mon',
27
- Address: ':8765',
28
- },
29
- {
30
- Name: 'ic',
31
- Address: ':19001',
32
- },
33
- {
34
- Name: 'grpc',
35
- Address: ':2135',
36
- },
37
- ],
38
- };
39
- const result = 'https://viewer.ydb.ru:443/ydb-dev02-000.search.net:8765';
40
- expect(getBackendFromRawNodeData(node, balancer)).toBe(result);
14
+ const nodeId = '50016';
15
+ const result = 'https://viewer.ydb.ru:443/dev02.ydb.net:8765/node/50016';
16
+ expect(getBackendFromBalancerAndNodeId(nodeId, balancer)).toBe(result);
41
17
  });
42
18
  });
43
19
  //# sourceMappingURL=prepareBackend.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepareBackend.test.js","sourceRoot":"","sources":["../../../src/utils/__test__/prepareBackend.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAE,yBAAyB,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAEjG,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,uBAAuB,GACzB,gGAAgG,CAAC;QACrG,MAAM,sBAAsB,GACxB,kGAAkG,CAAC;QAEvG,MAAM,cAAc,GAAG,uBAAuB,CAAC;QAE/C,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1E,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACpC,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,QAAQ,GAAG,8CAA8C,CAAC;QAChE,MAAM,QAAQ,GAAG,gCAAgC,CAAC;QAClD,MAAM,MAAM,GAAG,0DAA0D,CAAC;QAE1E,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,QAAQ,GAAG,8CAA8C,CAAC;QAChE,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,0BAA0B;YAChC,SAAS,EAAE;gBACP;oBACI,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,OAAO;iBACnB;gBACD;oBACI,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,QAAQ;iBACpB;gBACD;oBACI,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO;iBACnB;aACJ;SACJ,CAAC;QACF,MAAM,MAAM,GAAG,yDAAyD,CAAC;QAEzE,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"prepareBackend.test.js","sourceRoot":"","sources":["../../../src/utils/__test__/prepareBackend.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE/E,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,uBAAuB,GACzB,gGAAgG,CAAC;QACrG,MAAM,sBAAsB,GACxB,kGAAkG,CAAC;QAEvG,MAAM,cAAc,GAAG,uBAAuB,CAAC;QAE/C,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1E,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC7C,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,QAAQ,GAAG,8CAA8C,CAAC;QAChE,MAAM,MAAM,GAAG,OAAO,CAAC;QACvB,MAAM,MAAM,GAAG,yDAAyD,CAAC;QAEzE,MAAM,CAAC,+BAA+B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { AdditionalNodesProps } from '../types/additionalProps';
2
- export declare const getAdditionalNodesProps: (balancer?: string | undefined, useClusterBalancerAsBackend?: boolean) => AdditionalNodesProps;
2
+ export declare const getAdditionalNodesProps: (balancer?: string | undefined) => AdditionalNodesProps;
@@ -1,8 +1,8 @@
1
1
  import { backend } from '../store';
2
- import { getBackendFromRawNodeData } from './prepareBackend';
3
- export const getAdditionalNodesProps = (balancer = backend, useClusterBalancerAsBackend) => {
2
+ import { getBackendFromBalancerAndNodeId } from './prepareBackend';
3
+ export const getAdditionalNodesProps = (balancer = backend) => {
4
4
  return {
5
- getNodeRef: (node = {}) => getBackendFromRawNodeData(node, balancer !== null && balancer !== void 0 ? balancer : '', useClusterBalancerAsBackend),
5
+ getNodeRef: (node) => getBackendFromBalancerAndNodeId(node === null || node === void 0 ? void 0 : node.NodeId, balancer !== null && balancer !== void 0 ? balancer : ''),
6
6
  };
7
7
  };
8
8
  //# sourceMappingURL=additionalProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"additionalProps.js","sourceRoot":"","sources":["../../src/utils/additionalProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAC,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAE3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACnC,QAAQ,GAAG,OAAO,EAClB,2BAAqC,EACjB,EAAE;IACtB,OAAO;QACH,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE,EAAE,CACnC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,EAAE,2BAA2B,CAAC;KACnF,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"additionalProps.js","sourceRoot":"","sources":["../../src/utils/additionalProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAC,+BAA+B,EAAC,MAAM,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAwB,EAAE;IAChF,OAAO;QACH,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;KACtF,CAAC;AACN,CAAC,CAAC"}
@@ -1,14 +1,11 @@
1
1
  import { useClusterBaseInfo } from '../../store/reducers/cluster/cluster';
2
2
  import { getAdditionalNodesProps } from '../additionalProps';
3
- import { USE_CLUSTER_BALANCER_AS_BACKEND_KEY } from '../constants';
4
- import { useSetting } from './useSetting';
5
3
  import { useTypedSelector } from './useTypedSelector';
6
4
  /** For multi-cluster version */
7
5
  export function useAdditionalNodesProps() {
8
6
  const { balancer } = useClusterBaseInfo();
9
- const [useClusterBalancerAsBackend] = useSetting(USE_CLUSTER_BALANCER_AS_BACKEND_KEY);
10
7
  const singleClusterMode = useTypedSelector((state) => state.singleClusterMode);
11
- const additionalNodesProps = getAdditionalNodesProps(balancer, useClusterBalancerAsBackend);
8
+ const additionalNodesProps = getAdditionalNodesProps(balancer);
12
9
  return singleClusterMode ? undefined : additionalNodesProps;
13
10
  }
14
11
  //# sourceMappingURL=useAdditionalNodesProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAdditionalNodesProps.js","sourceRoot":"","sources":["../../../src/utils/hooks/useAdditionalNodesProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,mCAAmC,EAAC,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,gCAAgC;AAChC,MAAM,UAAU,uBAAuB;IACnC,MAAM,EAAC,QAAQ,EAAC,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,CAAC,2BAA2B,CAAC,GAAG,UAAU,CAAU,mCAAmC,CAAC,CAAC;IAC/F,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE/E,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IAE5F,OAAO,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"useAdditionalNodesProps.js","sourceRoot":"","sources":["../../../src/utils/hooks/useAdditionalNodesProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAEpD,gCAAgC;AAChC,MAAM,UAAU,uBAAuB;IACnC,MAAM,EAAC,QAAQ,EAAC,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE/E,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAE/D,OAAO,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAChE,CAAC"}
@@ -1,20 +1,40 @@
1
1
  import React from 'react';
2
2
  import { AUTO_REFRESH_INTERVAL } from '../constants';
3
3
  import { useSetting } from './useSetting';
4
+ const IMMEDIATE_UPDATE_INTERVAL = 1;
5
+ const DISABLED_INTERVAL = 0;
4
6
  export function useAutoRefreshInterval() {
5
- const [settingValue, setSettingValue] = useSetting(AUTO_REFRESH_INTERVAL, 0);
6
- const [effectiveInterval, setEffectiveInterval] = React.useState(document.visibilityState === 'visible' ? settingValue : 0);
7
+ const [settingValue, setSettingValue] = useSetting(AUTO_REFRESH_INTERVAL, DISABLED_INTERVAL);
8
+ const [effectiveInterval, setEffectiveInterval] = React.useState(document.visibilityState === 'visible' ? settingValue : DISABLED_INTERVAL);
9
+ const lastHiddenTimeRef = React.useRef(null);
7
10
  React.useEffect(() => {
8
- // Update the effective interval when the setting changes
9
11
  setEffectiveInterval(document.visibilityState === 'visible' ? settingValue : 0);
10
- // Handle visibility change events
11
12
  const handleVisibilityChange = () => {
12
- setEffectiveInterval(document.visibilityState === 'visible' ? settingValue : 0);
13
+ const isVisible = document.visibilityState === 'visible';
14
+ if (isVisible) {
15
+ // If more than settingValue milliseconds have passed since the page was hidden,
16
+ // trigger an immediate update
17
+ const shouldTriggerImmediate = lastHiddenTimeRef.current &&
18
+ settingValue !== DISABLED_INTERVAL &&
19
+ Date.now() - lastHiddenTimeRef.current >= settingValue;
20
+ if (shouldTriggerImmediate) {
21
+ setEffectiveInterval(IMMEDIATE_UPDATE_INTERVAL);
22
+ setTimeout(() => {
23
+ setEffectiveInterval(settingValue);
24
+ }, 0);
25
+ }
26
+ else {
27
+ setEffectiveInterval(settingValue);
28
+ }
29
+ lastHiddenTimeRef.current = null;
30
+ }
31
+ else {
32
+ lastHiddenTimeRef.current = Date.now();
33
+ setEffectiveInterval(DISABLED_INTERVAL);
34
+ }
13
35
  };
14
36
  document.addEventListener('visibilitychange', handleVisibilityChange);
15
- return () => {
16
- document.removeEventListener('visibilitychange', handleVisibilityChange);
17
- };
37
+ return () => document.removeEventListener('visibilitychange', handleVisibilityChange);
18
38
  }, [settingValue]);
19
39
  return [effectiveInterval, setSettingValue];
20
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoRefreshInterval.js","sourceRoot":"","sources":["../../../src/utils/hooks/useAutoRefreshInterval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,UAAU,sBAAsB;IAClC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC5D,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,yDAAyD;QACzD,oBAAoB,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,kCAAkC;QAClC,MAAM,sBAAsB,GAAG,GAAG,EAAE;YAChC,oBAAoB,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAEtE,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAC7E,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"useAutoRefreshInterval.js","sourceRoot":"","sources":["../../../src/utils/hooks/useAutoRefreshInterval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,UAAU,sBAAsB;IAClC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,UAAU,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IAC7F,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC5D,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAC5E,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE5D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,oBAAoB,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,MAAM,sBAAsB,GAAG,GAAG,EAAE;YAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC;YACzD,IAAI,SAAS,EAAE,CAAC;gBACZ,gFAAgF;gBAChF,8BAA8B;gBAC9B,MAAM,sBAAsB,GACxB,iBAAiB,CAAC,OAAO;oBACzB,YAAY,KAAK,iBAAiB;oBAClC,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,CAAC,OAAO,IAAI,YAAY,CAAC;gBAE3D,IAAI,sBAAsB,EAAE,CAAC;oBACzB,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;oBAEhD,UAAU,CAAC,GAAG,EAAE;wBACZ,oBAAoB,CAAC,YAAY,CAAC,CAAC;oBACvC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACV,CAAC;qBAAM,CAAC;oBACJ,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBACvC,CAAC;gBAED,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACJ,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QACtE,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;IAC1F,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC"}
@@ -1,5 +1,3 @@
1
- import type { NodeAddress } from '../types/additionalProps';
2
1
  export declare const prepareHost: (host?: string) => string | undefined;
3
- export declare const getBackendFromNodeHost: (nodeHost: string, balancer: string) => string;
4
2
  /** For multi-cluster version */
5
- export declare const getBackendFromRawNodeData: (node: NodeAddress, balancer: string, useBalancerAsBackend?: boolean) => string | undefined;
3
+ export declare const getBackendFromBalancerAndNodeId: (nodeId?: string | number, balancer?: string) => string | undefined;
@@ -1,34 +1,14 @@
1
- import { parseBalancer, removeViewerPathname } from './parseBalancer';
2
- const https = 'https://';
1
+ import { prepareBackendFromBalancer } from './parseBalancer';
2
+ import { valueIsDefined } from '.';
3
3
  export const prepareHost = (host) => {
4
4
  // add "u-" prefix to cloud din nodes
5
5
  return (host === null || host === void 0 ? void 0 : host.startsWith('vm-')) ? `u-${host}` : host;
6
6
  };
7
- export const getBackendFromNodeHost = (nodeHost, balancer) => {
8
- const preparedHost = prepareHost(nodeHost);
9
- const proxy = parseBalancer(balancer).proxy;
10
- if (proxy) {
11
- return https + proxy + '/' + preparedHost;
12
- }
13
- return https + preparedHost;
14
- };
15
7
  /** For multi-cluster version */
16
- export const getBackendFromRawNodeData = (node, balancer, useBalancerAsBackend) => {
17
- var _a;
18
- const { Host, Endpoints, NodeId } = node;
19
- if (useBalancerAsBackend && NodeId) {
20
- const preparedBalancer = removeViewerPathname(balancer);
21
- return `${preparedBalancer}/node/${NodeId}`;
22
- }
23
- if (Host && Endpoints) {
24
- const nodePort = (_a = Endpoints.find((endpoint) => endpoint.Name === 'http-mon')) === null || _a === void 0 ? void 0 : _a.Address;
25
- if (!nodePort || !Host) {
26
- return undefined;
27
- }
28
- const hostWithPort = Host + nodePort;
29
- // Currently this func is used to get link to developerUI for specific node
30
- // It's expected with / at the end (code in embedded version)
31
- return getBackendFromNodeHost(hostWithPort, balancer);
8
+ export const getBackendFromBalancerAndNodeId = (nodeId, balancer) => {
9
+ if (valueIsDefined(nodeId) && valueIsDefined(balancer)) {
10
+ const preparedBalancer = prepareBackendFromBalancer(balancer);
11
+ return `${preparedBalancer}/node/${nodeId}`;
32
12
  }
33
13
  return undefined;
34
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prepareBackend.js","sourceRoot":"","sources":["../../src/utils/prepareBackend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAE,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAEpE,MAAM,KAAK,GAAG,UAAU,CAAC;AAEzB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,EAAE;IACzC,qCAAqC;IACrC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE;IACzE,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IAE5C,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,YAAY,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,GAAG,YAAY,CAAC;AAChC,CAAC,CAAC;AAEF,gCAAgC;AAChC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,IAAiB,EACjB,QAAgB,EAChB,oBAA8B,EAChC,EAAE;;IACA,MAAM,EAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;IAEvC,IAAI,oBAAoB,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,GAAG,gBAAgB,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,0CAAE,OAAO,CAAC;QAErF,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,QAAQ,CAAC;QAErC,2EAA2E;QAC3E,6DAA6D;QAC7D,OAAO,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"prepareBackend.js","sourceRoot":"","sources":["../../src/utils/prepareBackend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAC,cAAc,EAAC,MAAM,GAAG,CAAC;AAEjC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,EAAE;IACzC,qCAAqC;IACrC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC,CAAC;AAEF,gCAAgC;AAChC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,MAAwB,EAAE,QAAiB,EAAE,EAAE;IAC3F,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC9D,OAAO,GAAG,gBAAgB,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ydb-embedded-ui",
3
- "version": "8.21.0",
3
+ "version": "8.22.1",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -69,7 +69,7 @@
69
69
  "build": "rm -rf build && DISABLE_ESLINT_PLUGIN=true CI=true react-app-rewired build",
70
70
  "//build:embedded": "echo 'PUBLIC_URL is a setting for create-react-app. Embedded version is built and hosted as is on ydb servers, with no way of knowing the final URL pattern. PUBLIC_URL=. keeps paths to all static relative, allowing servers to handle them as needed'",
71
71
  "build:embedded": "GENERATE_SOURCEMAP=false PUBLIC_URL=. REACT_APP_BACKEND=http://localhost:8765 REACT_APP_META_BACKEND=undefined npm run build",
72
- "build:embedded:archive": "npm run build:embedded && mv build embedded-ui && zip -r embedded-ui.zip embedded-ui && rm -rf embedded-ui",
72
+ "build:embedded:archive": "npm run build:embedded && mv build embedded-ui && cp CHANGELOG.md embedded-ui/CHANGELOG.md && zip -r embedded-ui.zip embedded-ui && rm -rf embedded-ui",
73
73
  "lint": "run-p lint:*",
74
74
  "lint:js": "eslint --ext .js,.jsx,.ts,.tsx .",
75
75
  "lint:styles": "stylelint 'src/**/*.{css,scss}'",
@@ -1,8 +0,0 @@
1
- export declare const SHORTCUTS_HOTKEY: string;
2
- export declare const HOTKEYS: {
3
- title: string;
4
- items: {
5
- title: string;
6
- value: string;
7
- }[];
8
- }[];
@@ -1,34 +0,0 @@
1
- import { isMac } from './utils';
2
- export const SHORTCUTS_HOTKEY = isMac() ? 'cmd+K' : 'ctrl+K';
3
- export const HOTKEYS = [
4
- {
5
- title: 'Query Editor',
6
- items: [
7
- {
8
- title: 'Execute query',
9
- value: isMac() ? 'cmd+enter' : 'ctrl+enter',
10
- },
11
- {
12
- title: 'Execute selected query',
13
- value: isMac() ? 'cmd+shift+enter' : 'ctrl+shift+enter',
14
- },
15
- {
16
- title: 'Previous query',
17
- value: isMac() ? 'cmd+arrowUp' : 'ctrl+arrowUp',
18
- },
19
- {
20
- title: 'Next query',
21
- value: isMac() ? 'cmd+arrowDown' : 'ctrl+arrowDown',
22
- },
23
- {
24
- title: 'Save query',
25
- value: isMac() ? 'cmd+s' : 'ctrl+s',
26
- },
27
- {
28
- title: 'Save selected query',
29
- value: isMac() ? 'cmd+shift+s' : 'ctrl+shift+s',
30
- },
31
- ],
32
- },
33
- ];
34
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/constants.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AAE7D,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB;QACI,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE;YACH;gBACI,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;aAC9C;YACD;gBACI,KAAK,EAAE,wBAAwB;gBAC/B,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB;aAC1D;YACD;gBACI,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;aAClD;YACD;gBACI,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;aACtD;YACD;gBACI,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;aACtC;YACD;gBACI,KAAK,EAAE,qBAAqB;gBAC5B,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;aAClD;SACJ;KACJ;CACJ,CAAC"}
@@ -1 +0,0 @@
1
- export declare const isMac: () => boolean;
@@ -1,2 +0,0 @@
1
- export const isMac = () => navigator.platform.toUpperCase().includes('MAC');
2
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/containers/AsideNavigation/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC"}