ydb-embedded-ui 20.3.0 → 20.4.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/dist/components/Drawer/Drawer.d.ts +2 -1
- package/dist/components/Drawer/Drawer.js +4 -4
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/EntityStatus/EntityStatus.d.ts +4 -1
- package/dist/components/EntityStatus/EntityStatus.js +2 -2
- package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/TenantNameWrapper/utils.d.ts +1 -1
- package/dist/components/TenantNameWrapper/utils.js.map +1 -1
- package/dist/containers/Cluster/Cluster.js +1 -1
- package/dist/containers/Cluster/Cluster.js.map +1 -1
- package/dist/containers/Cluster/ClusterDrawerHealthcheck.d.ts +8 -0
- package/dist/containers/Cluster/ClusterDrawerHealthcheck.js +71 -9
- package/dist/containers/Cluster/ClusterDrawerHealthcheck.js.map +1 -1
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.d.ts +2 -1
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +2 -2
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/ClusterOverview.d.ts +1 -0
- package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.d.ts +2 -0
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js +54 -103
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +24 -89
- package/dist/containers/Cluster/ClusterOverview/components/bridgePileHealthcheck.d.ts +13 -0
- package/dist/containers/Cluster/ClusterOverview/components/bridgePileHealthcheck.js +94 -0
- package/dist/containers/Cluster/ClusterOverview/components/bridgePileHealthcheck.js.map +1 -0
- package/dist/containers/Cluster/i18n/en.json +8 -5
- package/dist/containers/Cluster/i18n/index.d.ts +1 -1
- package/dist/containers/Clusters/constants.d.ts +1 -1
- package/dist/containers/Header/DatabaseRightControls.d.ts +4 -2
- package/dist/containers/Header/DatabaseRightControls.js +2 -2
- package/dist/containers/Header/DatabaseRightControls.js.map +1 -1
- package/dist/containers/Header/Header.js +2 -2
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/HeaderActionsMenu.d.ts +4 -2
- package/dist/containers/Header/HeaderActionsMenu.js +19 -2
- package/dist/containers/Header/HeaderActionsMenu.js.map +1 -1
- package/dist/containers/Header/HeaderRightControls.d.ts +4 -2
- package/dist/containers/Header/HeaderRightControls.js +2 -2
- package/dist/containers/Header/HeaderRightControls.js.map +1 -1
- package/dist/containers/Header/hooks/useClusterData.d.ts +1 -0
- package/dist/containers/Header/hooks/useHeaderData.d.ts +1 -0
- package/dist/containers/Header/hooks/useHeaderData.js +1 -0
- package/dist/containers/Header/hooks/useHeaderData.js.map +1 -1
- package/dist/containers/Header/hooks/useSharedDatabasePath.d.ts +10 -0
- package/dist/containers/Header/hooks/useSharedDatabasePath.js +102 -0
- package/dist/containers/Header/hooks/useSharedDatabasePath.js.map +1 -0
- package/dist/containers/Header/i18n/en.json +1 -0
- package/dist/containers/Header/i18n/index.d.ts +1 -1
- package/dist/containers/Operations/constants.d.ts +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
- package/dist/containers/Tablets/Tablets.js +3 -3
- package/dist/containers/Tablets/Tablets.js.map +1 -1
- package/dist/containers/Tablets/TabletsTable.js +17 -27
- package/dist/containers/Tablets/TabletsTable.js.map +1 -1
- package/dist/containers/Tablets/i18n/en.json +3 -0
- package/dist/containers/Tablets/i18n/index.d.ts +1 -1
- package/dist/containers/Tablets/useTabletQueryParams.d.ts +8 -0
- package/dist/containers/Tablets/useTabletQueryParams.js +40 -0
- package/dist/containers/Tablets/useTabletQueryParams.js.map +1 -0
- package/dist/containers/Tablets/utils.d.ts +11 -0
- package/dist/containers/Tablets/utils.js +23 -0
- package/dist/containers/Tablets/utils.js.map +1 -0
- package/dist/containers/Tenant/Healthcheck/Healthcheck.d.ts +6 -1
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js +5 -5
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.d.ts +2 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js +2 -2
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.d.ts +5 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js +5 -3
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.d.ts +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js +11 -2
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js +2 -0
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +4 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.d.ts +5 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +2 -2
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/i18n/en.json +2 -1
- package/dist/containers/Tenant/Healthcheck/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.scss +2 -0
- package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
- package/dist/routes.d.ts +4 -1
- package/dist/routes.js +3 -2
- package/dist/routes.js.map +1 -1
- package/dist/services/api/viewer.d.ts +3 -1
- package/dist/services/api/viewer.js +3 -2
- package/dist/services/api/viewer.js.map +1 -1
- package/dist/store/reducers/cluster/cluster.d.ts +2 -1
- package/dist/store/reducers/cluster/cluster.js +1 -0
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/healthcheckInfo/types.d.ts +1 -0
- package/dist/store/reducers/healthcheckInfo/utils.d.ts +1 -0
- package/dist/store/reducers/healthcheckInfo/utils.js +43 -9
- package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
- package/dist/store/reducers/tenants/tenants.d.ts +10 -1
- package/dist/store/reducers/tenants/tenants.js +33 -0
- package/dist/store/reducers/tenants/tenants.js.map +1 -1
- package/dist/store/reducers/tenants/types.d.ts +4 -0
- package/dist/types/api/healthcheck.d.ts +7 -0
- package/package.json +1 -1
- package/src/components/Drawer/Drawer.tsx +6 -0
- package/src/components/EntityStatus/EntityStatus.tsx +9 -1
- package/src/components/TenantNameWrapper/utils.ts +1 -1
- package/src/containers/Cluster/Cluster.tsx +1 -0
- package/src/containers/Cluster/ClusterDrawerHealthcheck.tsx +112 -13
- package/src/containers/Cluster/ClusterInfo/ClusterInfo.tsx +7 -1
- package/src/containers/Cluster/ClusterOverview/ClusterOverview.tsx +1 -0
- package/src/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +24 -89
- package/src/containers/Cluster/ClusterOverview/components/BridgeInfoTable.tsx +156 -200
- package/src/containers/Cluster/ClusterOverview/components/bridgePileHealthcheck.ts +142 -0
- package/src/containers/Cluster/i18n/en.json +8 -5
- package/src/containers/Header/DatabaseRightControls.tsx +7 -1
- package/src/containers/Header/Header.tsx +3 -0
- package/src/containers/Header/HeaderActionsMenu.tsx +24 -2
- package/src/containers/Header/HeaderRightControls.tsx +7 -1
- package/src/containers/Header/hooks/useHeaderData.ts +1 -0
- package/src/containers/Header/hooks/useSharedDatabasePath.ts +195 -0
- package/src/containers/Header/i18n/en.json +1 -0
- package/src/containers/Tablets/Tablets.tsx +3 -3
- package/src/containers/Tablets/TabletsTable.tsx +37 -31
- package/src/containers/Tablets/i18n/en.json +3 -0
- package/src/containers/Tablets/useTabletQueryParams.ts +54 -0
- package/src/containers/Tablets/utils.ts +43 -0
- package/src/containers/Tenant/Healthcheck/Healthcheck.tsx +37 -4
- package/src/containers/Tenant/Healthcheck/components/HealthcheckDrawer.tsx +3 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssue.tsx +17 -4
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.tsx +13 -3
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.tsx +1 -0
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.tsx +3 -1
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssues.tsx +15 -2
- package/src/containers/Tenant/Healthcheck/i18n/en.json +2 -1
- package/src/containers/Tenant/Query/SavedQueries/SavedQueries.scss +2 -0
- package/src/routes.ts +8 -2
- package/src/services/api/viewer.ts +10 -2
- package/src/store/reducers/cluster/cluster.ts +2 -1
- package/src/store/reducers/healthcheckInfo/types.ts +1 -0
- package/src/store/reducers/healthcheckInfo/utils.ts +50 -10
- package/src/store/reducers/tenants/tenants.ts +55 -1
- package/src/store/reducers/tenants/types.ts +5 -0
- package/src/types/api/healthcheck.ts +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseRightControls.js","sourceRoot":"","sources":["../../../src/containers/Header/DatabaseRightControls.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gDAAgD,CAAC;AAGpF,OAAO,EAAC,oBAAoB,EAAC,MAAM,+CAA+C,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"DatabaseRightControls.js","sourceRoot":"","sources":["../../../src/containers/Header/DatabaseRightControls.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gDAAgD,CAAC;AAGpF,OAAO,EAAC,oBAAoB,EAAC,MAAM,+CAA+C,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAcpC,MAAM,UAAU,qBAAqB,CAAC,EAClC,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,aAAa,GACY;IACzB,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CACxC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,oBAAoB,CAAC,UAAU,CAAC,EACpF,CAAC,aAAa,CAAC,CAClB,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CACrC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,oBAAoB,CAAC,UAAU,CAAC,EACtF,CAAC,aAAa,CAAC,CAClB,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,CAAC;IACjD,OAAO,CACH,MAAC,KAAK,CAAC,QAAQ,eACV,sBAAsB,CAAC,CAAC,CAAC,KAAC,iBAAiB,IAAC,IAAI,EAAE,sBAAsB,GAAI,CAAC,CAAC,CAAC,IAAI,EAEnF,iBAAiB,CAAC,CAAC,CAAC,CACjB,KAAC,aAAa,IAAC,KAAK,EAAE,YAAY,CAAC,2BAA2B,CAAC,YAC3D,MAAC,MAAM,IAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAC,QAAQ,EAAC,CAAC,aAC/D,KAAC,IAAI,IAAC,IAAI,EAAE,cAAc,GAAI,EAC7B,YAAY,CAAC,eAAe,CAAC,IACzB,GACG,CACnB,CAAC,CAAC,CAAC,IAAI,EACP,eAAe,CAAC,CAAC,CAAC,KAAC,kBAAkB,KAAG,CAAC,CAAC,CAAC,IAAI,EAChD,KAAC,mBAAmB,IAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,mBAAmB,GACpC,IACW,CACpB,CAAC;AACN,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { useHeaderPageContext } from './hooks/useHeaderPageContext';
|
|
|
9
9
|
import './Header.scss';
|
|
10
10
|
export function Header() {
|
|
11
11
|
const { metaCapabilitiesLoaded, page, pageBreadcrumbsOptions, singleClusterMode, isViewerUser, databasesPageAvailable, isV2NavigationEnabled, savedHomePageTab, savedDatabasesEnvironment, homePageTabFromPath, database, clusterName, isDatabasePage, isClusterPage, isHomePage, isDatabasesHomePage, isClustersHomePage, } = useHeaderPageContext();
|
|
12
|
-
const { clusterTitle, isAddClusterAvailable, handleEditCluster, handleDeleteCluster, databaseData, isDatabaseDataLoading, clusterLinks, databaseLinks, } = useHeaderData({
|
|
12
|
+
const { clusterTitle, isAddClusterAvailable, handleEditCluster, handleDeleteCluster, databaseData, isDatabaseDataLoading, clusterLinks, databaseLinks, prepareTenantBackend, } = useHeaderData({
|
|
13
13
|
metaCapabilitiesLoaded,
|
|
14
14
|
database,
|
|
15
15
|
clusterName,
|
|
@@ -34,6 +34,6 @@ export function Header() {
|
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
36
|
const leftControls = database && isDatabasePage && isV2NavigationEnabled ? (_jsx(HeaderLeftControls, { database: database, databaseData: databaseData, isDatabaseDataLoading: isDatabaseDataLoading })) : null;
|
|
37
|
-
return (_jsxs("header", { className: b(), children: [_jsx(HeaderBreadcrumbs, { breadcrumbItems: breadcrumbItems, endContent: leftControls }), _jsx(HeaderRightControls, { clusterName: clusterName, database: database, databaseData: databaseData, isDatabasePage: isDatabasePage, isClusterPage: isClusterPage, isHomePage: isHomePage, isClustersHomePage: isClustersHomePage, isDatabaseDataLoading: isDatabaseDataLoading, isAddClusterAvailable: isAddClusterAvailable, isV2NavigationEnabled: isV2NavigationEnabled, clusterLinks: clusterLinks, databaseLinks: databaseLinks, handleEditCluster: handleEditCluster, handleDeleteCluster: handleDeleteCluster })] }));
|
|
37
|
+
return (_jsxs("header", { className: b(), children: [_jsx(HeaderBreadcrumbs, { breadcrumbItems: breadcrumbItems, endContent: leftControls }), _jsx(HeaderRightControls, { clusterName: clusterName, database: database, databaseData: databaseData, isDatabasePage: isDatabasePage, isClusterPage: isClusterPage, isHomePage: isHomePage, isClustersHomePage: isClustersHomePage, isDatabaseDataLoading: isDatabaseDataLoading, isAddClusterAvailable: isAddClusterAvailable, isV2NavigationEnabled: isV2NavigationEnabled, isViewerUser: isViewerUser, prepareTenantBackend: prepareTenantBackend, clusterLinks: clusterLinks, databaseLinks: databaseLinks, handleEditCluster: handleEditCluster, handleDeleteCluster: handleDeleteCluster })] }));
|
|
38
38
|
}
|
|
39
39
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/containers/Header/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,CAAC,EAAC,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAElE,OAAO,eAAe,CAAC;AAEvB,MAAM,UAAU,MAAM;IAClB,MAAM,EACF,sBAAsB,EACtB,IAAI,EACJ,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,kBAAkB,GACrB,GAAG,oBAAoB,EAAE,CAAC;IAE3B,MAAM,EACF,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/containers/Header/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,CAAC,EAAC,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAElE,OAAO,eAAe,CAAC;AAEvB,MAAM,UAAU,MAAM;IAClB,MAAM,EACF,sBAAsB,EACtB,IAAI,EACJ,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,kBAAkB,GACrB,GAAG,oBAAoB,EAAE,CAAC;IAE3B,MAAM,EACF,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,oBAAoB,GACvB,GAAG,aAAa,CAAC;QACd,sBAAsB;QACtB,QAAQ;QACR,WAAW;QACX,cAAc;QACd,kBAAkB;KACrB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,oBAAoB,CAAC;QACzC,IAAI;QACJ,sBAAsB;QACtB,iBAAiB;QACjB,YAAY;QACZ,qBAAqB;QACrB,mBAAmB;QACnB,gBAAgB;QAChB,yBAAyB;QACzB,sBAAsB;QACtB,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GACd,QAAQ,IAAI,cAAc,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAClD,KAAC,kBAAkB,IACf,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,GAC9C,CACL,CAAC,CAAC,CAAC,IAAI,CAAC;IAEb,OAAO,CACH,kBAAQ,SAAS,EAAE,CAAC,EAAE,aAClB,KAAC,iBAAiB,IAAC,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,GAAI,EAEjF,KAAC,mBAAmB,IAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,GAC1C,IACG,CACZ,CAAC;AACN,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { PreparedTenant } from '../../store/reducers/tenants/types';
|
|
2
|
-
import type { ClusterLinkWithTitle } from '../../types/additionalProps';
|
|
2
|
+
import type { AdditionalTenantsProps, ClusterLinkWithTitle } from '../../types/additionalProps';
|
|
3
3
|
export interface HeaderActionsMenuProps {
|
|
4
4
|
database?: string;
|
|
5
5
|
clusterName?: string;
|
|
6
6
|
databaseData?: PreparedTenant;
|
|
7
7
|
isDatabaseDataLoading: boolean;
|
|
8
8
|
isV2NavigationEnabled: boolean;
|
|
9
|
+
isViewerUser?: boolean;
|
|
10
|
+
prepareTenantBackend?: AdditionalTenantsProps['prepareTenantBackend'];
|
|
9
11
|
databaseLinks: ClusterLinkWithTitle[];
|
|
10
12
|
}
|
|
11
|
-
export declare function DBHeaderActionsMenu({ database, clusterName, databaseData, isDatabaseDataLoading, isV2NavigationEnabled, databaseLinks, }: HeaderActionsMenuProps): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
+
export declare function DBHeaderActionsMenu({ database, clusterName, databaseData, isDatabaseDataLoading, isV2NavigationEnabled, isViewerUser, prepareTenantBackend, databaseLinks, }: HeaderActionsMenuProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { Pencil, PlugConnection, TrashBin } from '@gravity-ui/icons';
|
|
3
|
+
import { DatabaseArrowRight, Pencil, PlugConnection, TrashBin } from '@gravity-ui/icons';
|
|
4
4
|
import { useHistory } from 'react-router-dom';
|
|
5
5
|
import { getConnectToDBDialog } from '../../components/ConnectToDB/ConnectToDBDialog';
|
|
6
6
|
import { DropdownMenu } from '../../components/DropdownMenu';
|
|
@@ -9,10 +9,17 @@ import { useEmMetaAvailable } from '../../store/reducers/capabilities/hooks';
|
|
|
9
9
|
import { uiFactory } from '../../uiFactory/uiFactory';
|
|
10
10
|
import { clusterTabsIds } from '../Cluster/utils';
|
|
11
11
|
import { b } from './constants';
|
|
12
|
+
import { useSharedDatabasePath } from './hooks/useSharedDatabasePath';
|
|
12
13
|
import { headerKeyset } from './i18n';
|
|
13
|
-
export function DBHeaderActionsMenu({ database, clusterName, databaseData, isDatabaseDataLoading, isV2NavigationEnabled, databaseLinks, }) {
|
|
14
|
+
export function DBHeaderActionsMenu({ database, clusterName, databaseData, isDatabaseDataLoading, isV2NavigationEnabled, isViewerUser, prepareTenantBackend, databaseLinks, }) {
|
|
14
15
|
const history = useHistory();
|
|
15
16
|
const emMetaAvailable = useEmMetaAvailable();
|
|
17
|
+
const sharedDatabasePath = useSharedDatabasePath({
|
|
18
|
+
clusterName,
|
|
19
|
+
databaseData,
|
|
20
|
+
isViewerUser,
|
|
21
|
+
prepareTenantBackend,
|
|
22
|
+
});
|
|
16
23
|
const isEditDBAvailable = emMetaAvailable && uiFactory.onEditDB !== undefined;
|
|
17
24
|
const isDeleteDBAvailable = emMetaAvailable && uiFactory.onDeleteDB !== undefined;
|
|
18
25
|
const menuItems = React.useMemo(() => {
|
|
@@ -40,6 +47,15 @@ export function DBHeaderActionsMenu({ database, clusterName, databaseData, isDat
|
|
|
40
47
|
},
|
|
41
48
|
]);
|
|
42
49
|
}
|
|
50
|
+
if (sharedDatabasePath) {
|
|
51
|
+
menuItems.push([
|
|
52
|
+
{
|
|
53
|
+
title: headerKeyset('action_go-to-shared-db'),
|
|
54
|
+
iconStart: DatabaseArrowRight,
|
|
55
|
+
href: sharedDatabasePath,
|
|
56
|
+
},
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
43
59
|
const { onEditDB, onDeleteDB } = uiFactory;
|
|
44
60
|
const isEnoughData = clusterName && databaseData;
|
|
45
61
|
const manageDBGroup = [];
|
|
@@ -80,6 +96,7 @@ export function DBHeaderActionsMenu({ database, clusterName, databaseData, isDat
|
|
|
80
96
|
history,
|
|
81
97
|
isEditDBAvailable,
|
|
82
98
|
isDeleteDBAvailable,
|
|
99
|
+
sharedDatabasePath,
|
|
83
100
|
]);
|
|
84
101
|
if (!menuItems.length) {
|
|
85
102
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderActionsMenu.js","sourceRoot":"","sources":["../../../src/containers/Header/HeaderActionsMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderActionsMenu.js","sourceRoot":"","sources":["../../../src/containers/Header/HeaderActionsMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PreparedTenant } from '../../store/reducers/tenants/types';
|
|
2
|
-
import type { ClusterLinkWithTitle } from '../../types/additionalProps';
|
|
2
|
+
import type { AdditionalTenantsProps, ClusterLinkWithTitle } from '../../types/additionalProps';
|
|
3
3
|
interface HeaderRightControlsProps {
|
|
4
4
|
clusterName?: string;
|
|
5
5
|
database?: string;
|
|
@@ -11,10 +11,12 @@ interface HeaderRightControlsProps {
|
|
|
11
11
|
isDatabaseDataLoading: boolean;
|
|
12
12
|
isAddClusterAvailable: boolean;
|
|
13
13
|
isV2NavigationEnabled: boolean;
|
|
14
|
+
isViewerUser?: boolean;
|
|
15
|
+
prepareTenantBackend?: AdditionalTenantsProps['prepareTenantBackend'];
|
|
14
16
|
clusterLinks: ClusterLinkWithTitle[];
|
|
15
17
|
databaseLinks: ClusterLinkWithTitle[];
|
|
16
18
|
handleEditCluster?: () => Promise<boolean>;
|
|
17
19
|
handleDeleteCluster?: () => Promise<boolean>;
|
|
18
20
|
}
|
|
19
|
-
export declare function HeaderRightControls({ clusterName, database, databaseData, isDatabasePage, isClusterPage, isHomePage, isClustersHomePage, isDatabaseDataLoading, isAddClusterAvailable, isV2NavigationEnabled, clusterLinks, databaseLinks, handleEditCluster, handleDeleteCluster, }: HeaderRightControlsProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function HeaderRightControls({ clusterName, database, databaseData, isDatabasePage, isClusterPage, isHomePage, isClustersHomePage, isDatabaseDataLoading, isAddClusterAvailable, isV2NavigationEnabled, isViewerUser, prepareTenantBackend, clusterLinks, databaseLinks, handleEditCluster, handleDeleteCluster, }: HeaderRightControlsProps): import("react/jsx-runtime").JSX.Element;
|
|
20
22
|
export {};
|
|
@@ -5,10 +5,10 @@ import { ClusterRightControls } from './ClusterRightControls';
|
|
|
5
5
|
import { ClustersHomeControls } from './ClustersHomeControls';
|
|
6
6
|
import { DatabaseRightControls } from './DatabaseRightControls';
|
|
7
7
|
import { DeveloperUIControl } from './GlobalRightControls';
|
|
8
|
-
export function HeaderRightControls({ clusterName, database, databaseData, isDatabasePage, isClusterPage, isHomePage, isClustersHomePage, isDatabaseDataLoading, isAddClusterAvailable, isV2NavigationEnabled, clusterLinks, databaseLinks, handleEditCluster, handleDeleteCluster, }) {
|
|
8
|
+
export function HeaderRightControls({ clusterName, database, databaseData, isDatabasePage, isClusterPage, isHomePage, isClustersHomePage, isDatabaseDataLoading, isAddClusterAvailable, isV2NavigationEnabled, isViewerUser, prepareTenantBackend, clusterLinks, databaseLinks, handleEditCluster, handleDeleteCluster, }) {
|
|
9
9
|
const hasDeveloperUi = useHasDeveloperUi();
|
|
10
10
|
const showAddCluster = isClustersHomePage && isAddClusterAvailable;
|
|
11
11
|
const showDeveloperUI = !isHomePage && hasDeveloperUi;
|
|
12
|
-
return (_jsxs(Flex, { direction: "row", gap: 2, children: [showAddCluster ? _jsx(ClustersHomeControls, {}) : null, isDatabasePage && database ? (_jsx(DatabaseRightControls, { database: database, clusterName: clusterName, databaseData: databaseData, isDatabaseDataLoading: isDatabaseDataLoading, isV2NavigationEnabled: isV2NavigationEnabled, showDeveloperUI: showDeveloperUI, databaseLinks: databaseLinks })) : null, isClusterPage ? (_jsx(ClusterRightControls, { clusterLinks: clusterLinks, showDeveloperUI: showDeveloperUI, handleEditCluster: handleEditCluster, handleDeleteCluster: handleDeleteCluster })) : null, !isDatabasePage && !isClusterPage && showDeveloperUI ? _jsx(DeveloperUIControl, {}) : null] }));
|
|
12
|
+
return (_jsxs(Flex, { direction: "row", gap: 2, children: [showAddCluster ? _jsx(ClustersHomeControls, {}) : null, isDatabasePage && database ? (_jsx(DatabaseRightControls, { database: database, clusterName: clusterName, databaseData: databaseData, isDatabaseDataLoading: isDatabaseDataLoading, isV2NavigationEnabled: isV2NavigationEnabled, isViewerUser: isViewerUser, prepareTenantBackend: prepareTenantBackend, showDeveloperUI: showDeveloperUI, databaseLinks: databaseLinks })) : null, isClusterPage ? (_jsx(ClusterRightControls, { clusterLinks: clusterLinks, showDeveloperUI: showDeveloperUI, handleEditCluster: handleEditCluster, handleDeleteCluster: handleDeleteCluster })) : null, !isDatabasePage && !isClusterPage && showDeveloperUI ? _jsx(DeveloperUIControl, {}) : null] }));
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=HeaderRightControls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderRightControls.js","sourceRoot":"","sources":["../../../src/containers/Header/HeaderRightControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAIvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderRightControls.js","sourceRoot":"","sources":["../../../src/containers/Header/HeaderRightControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAIvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAqBzD,MAAM,UAAU,mBAAmB,CAAC,EAChC,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACI;IACvB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,MAAM,cAAc,GAAG,kBAAkB,IAAI,qBAAqB,CAAC;IACnE,MAAM,eAAe,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC;IAEtD,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,aACvB,cAAc,CAAC,CAAC,CAAC,KAAC,oBAAoB,KAAG,CAAC,CAAC,CAAC,IAAI,EAEhD,cAAc,IAAI,QAAQ,CAAC,CAAC,CAAC,CAC1B,KAAC,qBAAqB,IAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC,CAAC,CAAC,IAAI,EAEP,aAAa,CAAC,CAAC,CAAC,CACb,KAAC,oBAAoB,IACjB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,GAC1C,CACL,CAAC,CAAC,CAAC,IAAI,EAEP,CAAC,cAAc,IAAI,CAAC,aAAa,IAAI,eAAe,CAAC,CAAC,CAAC,KAAC,kBAAkB,KAAG,CAAC,CAAC,CAAC,IAAI,IAClF,CACV,CAAC;AACN,CAAC"}
|
|
@@ -12,6 +12,7 @@ export declare function useClusterData({ metaCapabilitiesLoaded, isClustersHomeP
|
|
|
12
12
|
logging: import("../../../types/api/meta").MetaClusterLogsUrls | undefined;
|
|
13
13
|
settings: import("../../../types/api/meta").MetaClusterSettings | undefined;
|
|
14
14
|
links: import("../../../types/api/meta").MetaClusterLinks | undefined;
|
|
15
|
+
isError: boolean;
|
|
15
16
|
isResolved: boolean;
|
|
16
17
|
owner?: string;
|
|
17
18
|
location?: string;
|
|
@@ -14,5 +14,6 @@ export declare function useHeaderData({ metaCapabilitiesLoaded, database, cluste
|
|
|
14
14
|
isDatabaseDataLoading: boolean;
|
|
15
15
|
clusterLinks: import("../../../types/additionalProps").ClusterLinkWithTitle[];
|
|
16
16
|
databaseLinks: import("../../../types/additionalProps").ClusterLinkWithTitle[];
|
|
17
|
+
prepareTenantBackend: ((nodeId?: string | number) => string | undefined) | undefined;
|
|
17
18
|
};
|
|
18
19
|
export {};
|
|
@@ -47,6 +47,7 @@ export function useHeaderData({ metaCapabilitiesLoaded, database, clusterName, i
|
|
|
47
47
|
isDatabaseDataLoading,
|
|
48
48
|
clusterLinks,
|
|
49
49
|
databaseLinks,
|
|
50
|
+
prepareTenantBackend: additionalTenantProps.prepareTenantBackend,
|
|
50
51
|
};
|
|
51
52
|
}
|
|
52
53
|
//# sourceMappingURL=useHeaderData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeaderData.js","sourceRoot":"","sources":["../../../../src/containers/Header/hooks/useHeaderData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,oBAAoB,EAAC,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,yBAAyB,EAAC,MAAM,uDAAuD,CAAC;AAEhG,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAU9D,MAAM,UAAU,aAAa,CAAC,EAC1B,sBAAsB,EACtB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,kBAAkB,GACA;IAClB,MAAM,EACF,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,GACtB,GAAG,cAAc,CAAC;QACf,sBAAsB;QACtB,kBAAkB;KACrB,CAAC,CAAC;IAEH,MAAM,EAAC,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAC,GAAG,eAAe,CAAC;QAC7E,sBAAsB;QACtB,QAAQ;QACR,WAAW;QACX,cAAc;QACd,UAAU;KACb,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;IAE7C,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;QACpD,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;KAC/C,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3C,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,IAAI,iBAAiB,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,GAAG,EAAE,iBAAiB;gBACtB,OAAO,EAAE,oBAAoB,CAAC,UAAU;aAC3C,CAAC,CAAC;QACP,CAAC;QAED,KAAK,CAAC,IAAI,CACN,GAAG,eAAe,CAAC,qBAAqB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,CACpF,CAAC;QAEF,OAAO,KAAK,CAAC;IACjB,CAAC,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,CAAC,CAAC;IAEvF,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAE1E,OAAO;QACH,YAAY;QACZ,qBAAqB;QACrB,iBAAiB;QACjB,mBAAmB;QACnB,YAAY;QACZ,qBAAqB;QACrB,YAAY;QACZ,aAAa;
|
|
1
|
+
{"version":3,"file":"useHeaderData.js","sourceRoot":"","sources":["../../../../src/containers/Header/hooks/useHeaderData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,oBAAoB,EAAC,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,yBAAyB,EAAC,MAAM,uDAAuD,CAAC;AAEhG,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAU9D,MAAM,UAAU,aAAa,CAAC,EAC1B,sBAAsB,EACtB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,kBAAkB,GACA;IAClB,MAAM,EACF,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,GACtB,GAAG,cAAc,CAAC;QACf,sBAAsB;QACtB,kBAAkB;KACrB,CAAC,CAAC;IAEH,MAAM,EAAC,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAC,GAAG,eAAe,CAAC;QAC7E,sBAAsB;QACtB,QAAQ;QACR,WAAW;QACX,cAAc;QACd,UAAU;KACb,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;IAE7C,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;QACpD,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;KAC/C,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3C,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,IAAI,iBAAiB,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC;gBACP,KAAK,EAAE,mBAAmB;gBAC1B,GAAG,EAAE,iBAAiB;gBACtB,OAAO,EAAE,oBAAoB,CAAC,UAAU;aAC3C,CAAC,CAAC;QACP,CAAC;QAED,KAAK,CAAC,IAAI,CACN,GAAG,eAAe,CAAC,qBAAqB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,CACpF,CAAC;QAEF,OAAO,KAAK,CAAC;IACjB,CAAC,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,CAAC,CAAC;IAEvF,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAE1E,OAAO;QACH,YAAY;QACZ,qBAAqB;QACrB,iBAAiB;QACjB,mBAAmB;QACnB,YAAY;QACZ,qBAAqB;QACrB,YAAY;QACZ,aAAa;QACb,oBAAoB,EAAE,qBAAqB,CAAC,oBAAoB;KACnE,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PreparedTenant } from '../../../store/reducers/tenants/types';
|
|
2
|
+
import type { AdditionalTenantsProps } from '../../../types/additionalProps';
|
|
3
|
+
interface UseSharedDatabasePathParams {
|
|
4
|
+
clusterName?: string;
|
|
5
|
+
databaseData?: PreparedTenant;
|
|
6
|
+
isViewerUser?: boolean;
|
|
7
|
+
prepareTenantBackend?: AdditionalTenantsProps['prepareTenantBackend'];
|
|
8
|
+
}
|
|
9
|
+
export declare function useSharedDatabasePath({ clusterName, databaseData, isViewerUser, prepareTenantBackend, }: UseSharedDatabasePathParams): string | undefined;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { skipToken } from '@reduxjs/toolkit/query';
|
|
3
|
+
import { getTenantBackend } from '../../../components/TenantNameWrapper/utils';
|
|
4
|
+
import { getTenantPath } from '../../../routes';
|
|
5
|
+
import { backend as activeBackend, environment } from '../../../store';
|
|
6
|
+
import { useClusterBaseInfo } from '../../../store/reducers/cluster/cluster';
|
|
7
|
+
import { tenantsApi } from '../../../store/reducers/tenants/tenants';
|
|
8
|
+
import { uiFactory } from '../../../uiFactory/uiFactory';
|
|
9
|
+
import { useDatabasesV2 } from '../../../utils/hooks/useDatabasesV2';
|
|
10
|
+
import { useIsUserAllowedToMakeChanges } from '../../../utils/hooks/useIsUserAllowedToMakeChanges';
|
|
11
|
+
function canResolveSharedDatabaseName({ databaseData, isClusterBaseInfoResolved, isViewerUser, useDatabaseId, }) {
|
|
12
|
+
return Boolean(isViewerUser &&
|
|
13
|
+
isClusterBaseInfoResolved &&
|
|
14
|
+
(databaseData === null || databaseData === void 0 ? void 0 : databaseData.Type) === 'Serverless' &&
|
|
15
|
+
databaseData.ResourceId &&
|
|
16
|
+
!useDatabaseId &&
|
|
17
|
+
!databaseData.sharedTenantName);
|
|
18
|
+
}
|
|
19
|
+
function getSharedDatabaseBackend(sharedDatabase, prepareTenantBackend) {
|
|
20
|
+
var _a;
|
|
21
|
+
if (!sharedDatabase) {
|
|
22
|
+
return activeBackend;
|
|
23
|
+
}
|
|
24
|
+
return ((_a = getTenantBackend({ NodeIds: sharedDatabase.nodeIds }, { prepareTenantBackend })) !== null && _a !== void 0 ? _a : activeBackend);
|
|
25
|
+
}
|
|
26
|
+
function shouldResolveSharedDatabaseNodeIds(balancer, settings, prepareTenantBackend) {
|
|
27
|
+
const useMetaProxy = Boolean(window.api.meta && uiFactory.useMetaProxy && (settings === null || settings === void 0 ? void 0 : settings.use_meta_proxy) !== false);
|
|
28
|
+
return Boolean(balancer && !useMetaProxy && prepareTenantBackend && !prepareTenantBackend(undefined));
|
|
29
|
+
}
|
|
30
|
+
function getResolvedSharedDatabasePath({ backend, clusterName, databaseData, isClusterBaseInfoResolved, isViewerUser, sharedDatabase, }) {
|
|
31
|
+
if (!isViewerUser ||
|
|
32
|
+
!isClusterBaseInfoResolved ||
|
|
33
|
+
(databaseData === null || databaseData === void 0 ? void 0 : databaseData.Type) !== 'Serverless' ||
|
|
34
|
+
!sharedDatabase) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
return getTenantPath({ clusterName, database: sharedDatabase, backend }, { withBasename: true, environment });
|
|
38
|
+
}
|
|
39
|
+
export function useSharedDatabasePath({ clusterName, databaseData, isViewerUser, prepareTenantBackend, }) {
|
|
40
|
+
const isMetaDatabasesAvailable = useDatabasesV2();
|
|
41
|
+
const { balancer, settings, isError: isClusterBaseInfoError, isResolved: isClusterBaseInfoResolved, } = useClusterBaseInfo();
|
|
42
|
+
const isMonitoringAllowed = useIsUserAllowedToMakeChanges();
|
|
43
|
+
const isClusterBaseInfoAvailable = isClusterBaseInfoResolved && !isClusterBaseInfoError;
|
|
44
|
+
const useDatabaseId = uiFactory.useDatabaseId && (settings === null || settings === void 0 ? void 0 : settings.use_meta_proxy) !== false;
|
|
45
|
+
const needSharedDatabaseNodeIds = shouldResolveSharedDatabaseNodeIds(balancer, settings, prepareTenantBackend);
|
|
46
|
+
const shouldResolveSharedDatabaseName = canResolveSharedDatabaseName({
|
|
47
|
+
databaseData,
|
|
48
|
+
isClusterBaseInfoResolved: isClusterBaseInfoAvailable,
|
|
49
|
+
isViewerUser,
|
|
50
|
+
useDatabaseId,
|
|
51
|
+
});
|
|
52
|
+
const shouldResolveSharedDatabaseFromViewer = shouldResolveSharedDatabaseName && !window.api.meta;
|
|
53
|
+
const { currentData: sharedDatabaseFromViewer } = tenantsApi.useGetSharedDatabaseQuery(shouldResolveSharedDatabaseFromViewer && (databaseData === null || databaseData === void 0 ? void 0 : databaseData.ResourceId)
|
|
54
|
+
? {
|
|
55
|
+
clusterName,
|
|
56
|
+
database: databaseData.Name,
|
|
57
|
+
backend: activeBackend,
|
|
58
|
+
environmentName: environment,
|
|
59
|
+
isMonitoringAllowed: isMonitoringAllowed === true,
|
|
60
|
+
needNodeIds: needSharedDatabaseNodeIds,
|
|
61
|
+
resourceId: databaseData.ResourceId,
|
|
62
|
+
}
|
|
63
|
+
: skipToken);
|
|
64
|
+
const shouldResolveSharedDatabaseFromMetaList = shouldResolveSharedDatabaseName && Boolean(window.api.meta);
|
|
65
|
+
const { currentData: databases } = tenantsApi.useGetTenantsInfoQuery(shouldResolveSharedDatabaseFromMetaList
|
|
66
|
+
? { clusterName, environmentName: environment, isMetaDatabasesAvailable }
|
|
67
|
+
: skipToken);
|
|
68
|
+
const sharedDatabaseTarget = React.useMemo(() => {
|
|
69
|
+
var _a;
|
|
70
|
+
if (databaseData === null || databaseData === void 0 ? void 0 : databaseData.sharedTenantName) {
|
|
71
|
+
return {
|
|
72
|
+
name: databaseData.sharedTenantName,
|
|
73
|
+
nodeIds: databaseData.sharedNodeIds,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (sharedDatabaseFromViewer) {
|
|
77
|
+
return sharedDatabaseFromViewer;
|
|
78
|
+
}
|
|
79
|
+
const sharedDatabase = databases === null || databases === void 0 ? void 0 : databases.find(({ Id }) => Id === (databaseData === null || databaseData === void 0 ? void 0 : databaseData.ResourceId));
|
|
80
|
+
const sharedDatabaseName = (_a = sharedDatabase === null || sharedDatabase === void 0 ? void 0 : sharedDatabase.Name) === null || _a === void 0 ? void 0 : _a.trim();
|
|
81
|
+
return sharedDatabaseName
|
|
82
|
+
? { name: sharedDatabaseName, nodeIds: sharedDatabase === null || sharedDatabase === void 0 ? void 0 : sharedDatabase.NodeIds }
|
|
83
|
+
: undefined;
|
|
84
|
+
}, [
|
|
85
|
+
databaseData === null || databaseData === void 0 ? void 0 : databaseData.ResourceId,
|
|
86
|
+
databaseData === null || databaseData === void 0 ? void 0 : databaseData.sharedNodeIds,
|
|
87
|
+
databaseData === null || databaseData === void 0 ? void 0 : databaseData.sharedTenantName,
|
|
88
|
+
databases,
|
|
89
|
+
sharedDatabaseFromViewer,
|
|
90
|
+
]);
|
|
91
|
+
const sharedDatabase = useDatabaseId ? databaseData === null || databaseData === void 0 ? void 0 : databaseData.ResourceId : sharedDatabaseTarget === null || sharedDatabaseTarget === void 0 ? void 0 : sharedDatabaseTarget.name;
|
|
92
|
+
const backend = getSharedDatabaseBackend(sharedDatabaseTarget, prepareTenantBackend);
|
|
93
|
+
return getResolvedSharedDatabasePath({
|
|
94
|
+
backend,
|
|
95
|
+
clusterName,
|
|
96
|
+
databaseData,
|
|
97
|
+
isClusterBaseInfoResolved: isClusterBaseInfoAvailable,
|
|
98
|
+
isViewerUser,
|
|
99
|
+
sharedDatabase,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=useSharedDatabasePath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSharedDatabasePath.js","sourceRoot":"","sources":["../../../../src/containers/Header/hooks/useSharedDatabasePath.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"action_edit-cluster": "Edit Cluster",
|
|
16
16
|
"action_delete-cluster": "Delete Cluster",
|
|
17
17
|
"action_connect-to-db": "Connect to database",
|
|
18
|
+
"action_go-to-shared-db": "Go to shared database",
|
|
18
19
|
"action_manage": "Manage",
|
|
19
20
|
"title_developer-ui": "Developer UI",
|
|
20
21
|
"description_developer-ui": "Developer interface with a full set\nof administrative functions",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const headerKeyset: (key: "title_monitoring" | "breadcrumbs.clusters" | "breadcrumbs.databases" | "breadcrumbs.tenant" | "breadcrumbs.node" | "breadcrumbs.pDisk" | "breadcrumbs.vDisk" | "breadcrumbs.tablet" | "breadcrumbs.tablets" | "breadcrumbs.storageGroup" | "title_connect" | "title_add-cluster" | "action_edit-db" | "action_delete-db" | "action_edit-cluster" | "action_delete-cluster" | "action_connect-to-db" | "action_manage" | "title_developer-ui" | "description_developer-ui" | "description_connect-to-db" | "action_copy-path", params?: import("@gravity-ui/i18n").Params) => string;
|
|
1
|
+
export declare const headerKeyset: (key: "title_monitoring" | "breadcrumbs.clusters" | "breadcrumbs.databases" | "breadcrumbs.tenant" | "breadcrumbs.node" | "breadcrumbs.pDisk" | "breadcrumbs.vDisk" | "breadcrumbs.tablet" | "breadcrumbs.tablets" | "breadcrumbs.storageGroup" | "title_connect" | "title_add-cluster" | "action_edit-db" | "action_delete-db" | "action_edit-cluster" | "action_delete-cluster" | "action_connect-to-db" | "action_go-to-shared-db" | "action_manage" | "title_developer-ui" | "description_developer-ui" | "description_connect-to-db" | "action_copy-path", params?: import("@gravity-ui/i18n").Params) => string;
|
|
@@ -18,7 +18,7 @@ export declare const COLUMNS_TITLES: {
|
|
|
18
18
|
readonly duration: string;
|
|
19
19
|
readonly state: string;
|
|
20
20
|
};
|
|
21
|
-
export declare const BASE_COLUMNS: ("
|
|
21
|
+
export declare const BASE_COLUMNS: ("id" | "status" | "created_by" | "create_time" | "end_time" | "duration")[];
|
|
22
22
|
export declare const OPERATION_KINDS: {
|
|
23
23
|
value: OperationKind;
|
|
24
24
|
content: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "
|
|
1
|
+
declare const _default: (key: "type" | "space" | "limit" | "used" | "state" | "disk-usage" | "pdisks" | "group-size-in-units" | "vdisks" | "pool-name" | "pile-name" | "encryption" | "erasure" | "degraded" | "missing-disks" | "usage" | "group-id" | "read" | "write" | "latency" | "allocation-units" | "vdisks-pdisks", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -2,13 +2,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { skipToken } from '@reduxjs/toolkit/query';
|
|
4
4
|
import { isNil } from 'lodash';
|
|
5
|
-
import { StringParam, useQueryParams } from 'use-query-params';
|
|
6
5
|
import { useClusterWithProxy } from '../../store/reducers/cluster/cluster';
|
|
7
6
|
import { selectTabletsWithFqdn, tabletsApi } from '../../store/reducers/tablets';
|
|
8
7
|
import { ETabletState } from '../../types/api/tablet';
|
|
9
8
|
import { valueIsDefined } from '../../utils';
|
|
10
9
|
import { useAutoRefreshInterval, useTypedSelector } from '../../utils/hooks';
|
|
11
10
|
import { TabletsTable } from './TabletsTable';
|
|
11
|
+
import { useTabletQueryParams } from './useTabletQueryParams';
|
|
12
12
|
const TABLET_ID_SEARCH_DEBOUNCE = 1000;
|
|
13
13
|
const TABLET_ID_PATTERN = /^\d+$/;
|
|
14
14
|
const activeStatuses = [
|
|
@@ -32,8 +32,8 @@ export function Tablets({ nodeId, path, database, databaseFullPath, onlyActive,
|
|
|
32
32
|
// tablet of the database via the backend. On other schema objects the
|
|
33
33
|
// search remains client-side over the already loaded tablets list.
|
|
34
34
|
const isDatabasePage = !isNil(path) && !isNil(databaseFullPath) && path === databaseFullPath;
|
|
35
|
-
const
|
|
36
|
-
const currentSearch = tabletsSearch
|
|
35
|
+
const { tabletsSearch } = useTabletQueryParams();
|
|
36
|
+
const currentSearch = tabletsSearch;
|
|
37
37
|
// Debounce the search value before sending it to the backend, since the
|
|
38
38
|
// request can be heavy.
|
|
39
39
|
const [debouncedSearch, setDebouncedSearch] = React.useState(currentSearch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tablets.js","sourceRoot":"","sources":["../../../src/containers/Tablets/Tablets.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Tablets.js","sourceRoot":"","sources":["../../../src/containers/Tablets/Tablets.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ArrowRotateLeft } from '@gravity-ui/icons';
|
|
4
|
-
import { Icon, Text } from '@gravity-ui/uikit';
|
|
4
|
+
import { Icon, Select, Text } from '@gravity-ui/uikit';
|
|
5
5
|
import { isNil } from 'lodash';
|
|
6
|
-
import { StringParam, useQueryParams } from 'use-query-params';
|
|
7
6
|
import { ButtonWithConfirmDialog } from '../../components/ButtonWithConfirmDialog/ButtonWithConfirmDialog';
|
|
8
7
|
import { EntitiesCount } from '../../components/EntitiesCount';
|
|
9
8
|
import { EntityName } from '../../components/EntityName/EntityName';
|
|
@@ -20,6 +19,8 @@ import { ETabletState } from '../../types/api/tablet';
|
|
|
20
19
|
import { DEFAULT_TABLE_SETTINGS, EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
|
|
21
20
|
import { useIsUserAllowedToMakeChanges } from '../../utils/hooks/useIsUserAllowedToMakeChanges';
|
|
22
21
|
import i18n from './i18n';
|
|
22
|
+
import { useTabletQueryParams } from './useTabletQueryParams';
|
|
23
|
+
import { filterTablets, getAvailableTabletTypes } from './utils';
|
|
23
24
|
function isFollowerTablet(state) {
|
|
24
25
|
return state.Leader === false;
|
|
25
26
|
}
|
|
@@ -154,37 +155,26 @@ function TabletActions(tablet) {
|
|
|
154
155
|
}, buttonDisabled: isDisabledRestart || !isUserAllowedToMakeChanges, withPopover: true, popoverContent: popoverContent, popoverPlacement: ['right', 'bottom'], popoverDisabled: false, children: _jsx(Icon, { data: ArrowRotateLeft }) }));
|
|
155
156
|
}
|
|
156
157
|
export function TabletsTable({ tablets, loading, error, scrollContainerRef, nodeId, backendSearchActive, }) {
|
|
157
|
-
const
|
|
158
|
-
tabletsSearch: StringParam,
|
|
159
|
-
});
|
|
158
|
+
const { tabletsSearch, tabletTypes, handleTabletsSearchChange, handleTabletTypesChange } = useTabletQueryParams();
|
|
160
159
|
// Track sort state for scroll dependencies
|
|
161
160
|
const [sortParams, setSortParams] = React.useState();
|
|
162
161
|
const { filteredTablets, showEndOfRange } = React.useMemo(() => {
|
|
163
|
-
var _a;
|
|
164
|
-
let showEnd = false;
|
|
165
|
-
if (backendSearchActive) {
|
|
166
|
-
// Backend already filtered the list; just scan once for showEndOfRange.
|
|
167
|
-
for (const tablet of tablets) {
|
|
168
|
-
if (tablet.EndOfRangeKeyPrefix) {
|
|
169
|
-
showEnd = true;
|
|
170
|
-
break;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return { filteredTablets: tablets, showEndOfRange: showEnd };
|
|
174
|
-
}
|
|
175
|
-
const preparedTabletsSearch = (_a = tabletsSearch === null || tabletsSearch === void 0 ? void 0 : tabletsSearch.trim()) !== null && _a !== void 0 ? _a : '';
|
|
176
162
|
return {
|
|
177
|
-
filteredTablets: tablets
|
|
178
|
-
|
|
179
|
-
|
|
163
|
+
filteredTablets: filterTablets(tablets, {
|
|
164
|
+
tabletIdSearch: backendSearchActive ? undefined : tabletsSearch,
|
|
165
|
+
tabletTypes,
|
|
180
166
|
}),
|
|
181
|
-
showEndOfRange:
|
|
167
|
+
showEndOfRange: tablets.some((tablet) => Boolean(tablet.EndOfRangeKeyPrefix)),
|
|
182
168
|
};
|
|
183
|
-
}, [tablets, tabletsSearch, backendSearchActive]);
|
|
169
|
+
}, [tablets, tabletsSearch, tabletTypes, backendSearchActive]);
|
|
170
|
+
const tabletTypeOptions = React.useMemo(() => {
|
|
171
|
+
return getAvailableTabletTypes(tablets, tabletTypes).map((tabletType) => ({
|
|
172
|
+
value: tabletType,
|
|
173
|
+
content: tabletType,
|
|
174
|
+
}));
|
|
175
|
+
}, [tablets, tabletTypes]);
|
|
184
176
|
const columns = React.useMemo(() => getColumns({ nodeId, showEndOfRange }), [nodeId, showEndOfRange]);
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
};
|
|
188
|
-
return (_jsxs(TableWithControlsLayout, { fullHeight: true, children: [_jsxs(TableWithControlsLayout.Controls, { children: [_jsx(Search, { placeholder: i18n('controls.search-placeholder'), onChange: handleSearchQueryChange, value: tabletsSearch !== null && tabletsSearch !== void 0 ? tabletsSearch : '', width: 238 }), _jsx(EntitiesCount, { label: i18n('controls.entities-count-label'), loading: loading, total: tablets.length, current: filteredTablets.length })] }), error ? _jsx(ResponseError, { error: error }) : null, _jsx(TableWithControlsLayout.Table, { scrollContainerRef: scrollContainerRef, scrollDependencies: [tabletsSearch, sortParams], loading: loading, children: _jsx(ResizeableDataTable, { columns: columns, data: filteredTablets, settings: DEFAULT_TABLE_SETTINGS, emptyDataMessage: i18n('noTabletsData'), onSortChange: setSortParams }) })] }));
|
|
177
|
+
const filtersActive = Boolean(tabletsSearch.trim()) || tabletTypes.length > 0;
|
|
178
|
+
return (_jsxs(TableWithControlsLayout, { fullHeight: true, children: [_jsxs(TableWithControlsLayout.Controls, { children: [_jsx(Search, { placeholder: i18n('controls.search-placeholder'), onChange: handleTabletsSearchChange, value: tabletsSearch, width: 238 }), _jsx(Select, { multiple: true, filterable: true, hasClear: true, qa: "tablets-type-filter", "aria-label": i18n('controls.type-filter-label'), label: i18n('controls.type-filter-label'), placeholder: i18n('controls.type-filter-placeholder'), value: tabletTypes, options: tabletTypeOptions, onUpdate: handleTabletTypesChange, width: 220 }), _jsx(EntitiesCount, { label: i18n('controls.entities-count-label'), loading: loading, total: tablets.length, current: filteredTablets.length })] }), error ? _jsx(ResponseError, { error: error }) : null, _jsx(TableWithControlsLayout.Table, { scrollContainerRef: scrollContainerRef, scrollDependencies: [tabletsSearch, tabletTypes, sortParams], loading: loading, children: _jsx(ResizeableDataTable, { columns: columns, data: filteredTablets, settings: DEFAULT_TABLE_SETTINGS, emptyDataMessage: filtersActive ? i18n('noTabletsMatchFilters') : i18n('noTabletsData'), onSortChange: setSortParams }) })] }));
|
|
189
179
|
}
|
|
190
180
|
//# sourceMappingURL=TabletsTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabletsTable.js","sourceRoot":"","sources":["../../../src/containers/Tablets/TabletsTable.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TabletsTable.js","sourceRoot":"","sources":["../../../src/containers/Tablets/TabletsTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"noTabletsData": "No tablets data",
|
|
3
|
+
"noTabletsMatchFilters": "No tablets match the selected filters",
|
|
3
4
|
"Type": "Type",
|
|
4
5
|
"Tablet": "Tablet",
|
|
5
6
|
"State": "State",
|
|
@@ -13,5 +14,7 @@
|
|
|
13
14
|
"controls.kill-not-allowed": "You don't have enough rights to restart tablet",
|
|
14
15
|
"controls.kill-impossible-follower": "It's impossible to restart a follower",
|
|
15
16
|
"controls.search-placeholder": "Tablet ID",
|
|
17
|
+
"controls.type-filter-label": "Type",
|
|
18
|
+
"controls.type-filter-placeholder": "All types",
|
|
16
19
|
"controls.entities-count-label": "Tablets"
|
|
17
20
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "Node ID" | "State" | "Type" | "Uptime" | "Tablet" | "Generation" | "Node FQDN" | "End Range" | "noTabletsData" | "dialog.kill-header" | "dialog.kill-text" | "controls.kill-not-allowed" | "controls.kill-impossible-follower" | "controls.search-placeholder" | "controls.entities-count-label", params?: import("@gravity-ui/i18n").Params) => string;
|
|
1
|
+
declare const _default: (key: "Node ID" | "State" | "Type" | "Uptime" | "Tablet" | "Generation" | "Node FQDN" | "End Range" | "noTabletsData" | "noTabletsMatchFilters" | "dialog.kill-header" | "dialog.kill-text" | "controls.kill-not-allowed" | "controls.kill-impossible-follower" | "controls.search-placeholder" | "controls.type-filter-label" | "controls.type-filter-placeholder" | "controls.entities-count-label", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { QueryParamConfig } from 'use-query-params';
|
|
2
|
+
export declare const TabletTypesParam: QueryParamConfig<string[] | undefined, string[]>;
|
|
3
|
+
export declare function useTabletQueryParams(): {
|
|
4
|
+
tabletsSearch: string;
|
|
5
|
+
tabletTypes: string[];
|
|
6
|
+
handleTabletsSearchChange: (value: string) => void;
|
|
7
|
+
handleTabletTypesChange: (value: string[]) => void;
|
|
8
|
+
};
|