From 8b4f9a256159b2fdbf1fb559797520fe1186fabb Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Mon, 5 Feb 2024 12:42:30 +0530 Subject: [PATCH 01/14] PMM-12847 Fix product tour --- .../AppChrome/MegaMenu/NavBarMenuSection.tsx | 3 ++- .../PerconaBootstrapper/PerconaBootstrapper.tsx | 3 +++ .../app/percona/tour/components/NextButton.tsx | 12 +++++++++++- .../app/percona/tour/components/PrevButton.tsx | 15 +++++++++++++-- .../percona/tour/steps/product/product.steps.tsx | 16 ++++++++-------- .../percona/tour/steps/product/product.utils.tsx | 6 +++--- 6 files changed, 40 insertions(+), 15 deletions(-) diff --git a/public/app/core/components/AppChrome/MegaMenu/NavBarMenuSection.tsx b/public/app/core/components/AppChrome/MegaMenu/NavBarMenuSection.tsx index 978181f6b080..4b5d377a699e 100644 --- a/public/app/core/components/AppChrome/MegaMenu/NavBarMenuSection.tsx +++ b/public/app/core/components/AppChrome/MegaMenu/NavBarMenuSection.tsx @@ -32,7 +32,8 @@ export function NavBarMenuSection({ return ( <> -
+ {/* @Percona add aria-label for product tour to work*/} +
{ diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaBootstrapper.tsx b/public/app/percona/shared/components/PerconaBootstrapper/PerconaBootstrapper.tsx index be1a330158e9..78bf9ef7b43f 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaBootstrapper.tsx +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaBootstrapper.tsx @@ -2,6 +2,7 @@ import React, { useEffect, useState } from 'react'; import { config } from '@grafana/runtime'; import { Button, HorizontalGroup, Icon, Modal, useStyles2, useTheme2 } from '@grafana/ui'; +import { useGrafana } from 'app/core/context/GrafanaContext'; import { fetchServerInfoAction, fetchServerSaasHostAction, @@ -36,6 +37,7 @@ export const PerconaBootstrapper = ({ onReady }: PerconaBootstrapperProps) => { const { user } = config.bootData; const { isSignedIn } = user; const theme = useTheme2(); + const { chrome } = useGrafana(); const dismissModal = () => { setModalIsOpen(false); @@ -49,6 +51,7 @@ export const PerconaBootstrapper = ({ onReady }: PerconaBootstrapperProps) => { const startTour = () => { setModalIsOpen(false); + chrome.setMegaMenu('open'); startPerconaTour(TourType.Product); }; diff --git a/public/app/percona/tour/components/NextButton.tsx b/public/app/percona/tour/components/NextButton.tsx index 3fbb640d2ed4..24d01a220046 100644 --- a/public/app/percona/tour/components/NextButton.tsx +++ b/public/app/percona/tour/components/NextButton.tsx @@ -4,15 +4,25 @@ import { BtnFnProps } from '@reactour/tour/dist/types'; import React, { FC } from 'react'; import { Button, IconButton } from '@grafana/ui'; +import { useGrafana } from 'app/core/context/GrafanaContext'; import usePerconaTour from 'app/percona/shared/core/hooks/tour'; const NextButton: FC = () => { const { tour, endTour, nextStep, isLastStep } = usePerconaTour(); + const { chrome } = useGrafana(); + + const handleClick = () => { + if (tour === 'product') { + chrome.setMegaMenu('closed'); + chrome.setMegaMenu('open'); + } + nextStep(); + } return isLastStep ? ( ) : ( - + ); }; diff --git a/public/app/percona/tour/components/PrevButton.tsx b/public/app/percona/tour/components/PrevButton.tsx index c79b8c2ec9b9..54bc96d6fa34 100644 --- a/public/app/percona/tour/components/PrevButton.tsx +++ b/public/app/percona/tour/components/PrevButton.tsx @@ -4,13 +4,24 @@ import { BtnFnProps } from '@reactour/tour/dist/types'; import React, { FC } from 'react'; import { IconButton } from '@grafana/ui'; +import { useGrafana } from 'app/core/context/GrafanaContext'; import usePerconaTour from 'app/percona/shared/core/hooks/tour'; const PrevButton: FC = () => { - const { previousStep, isFirstStep } = usePerconaTour(); + const { tour, previousStep, isFirstStep } = usePerconaTour(); + + const { chrome } = useGrafana(); + + const handleClick = () => { + if (tour === 'product') { + chrome.setMegaMenu('closed'); + chrome.setMegaMenu('open'); + } + previousStep(); + } return ( - + ); }; diff --git a/public/app/percona/tour/steps/product/product.steps.tsx b/public/app/percona/tour/steps/product/product.steps.tsx index 5e158155a98d..f6a0ae455400 100644 --- a/public/app/percona/tour/steps/product/product.steps.tsx +++ b/public/app/percona/tour/steps/product/product.steps.tsx @@ -14,7 +14,7 @@ export const getProductTourSteps = ( activeServices?: ServiceType[] ): TourStep[] => [ { - selector: '.dropdown > [aria-label="Dashboards"]', + selector: '[aria-label="Dashboards"]', content: (

{Messages.dashboards.browse}

@@ -25,7 +25,7 @@ export const getProductTourSteps = ( }, getPMMDashboardsStep(activeServices || []), { - selector: '.dropdown > [aria-label="Query Analytics (QAN)"]', + selector: '[aria-label="Query Analytics (QAN)"]', content: (

{Messages.qan.queries}

@@ -36,7 +36,7 @@ export const getProductTourSteps = ( ...(isPmmAdmin ? [ { - selector: '.dropdown > [aria-label="Explore"]', + selector: '[aria-label="Explore"]', content: (

{Messages.explore.data}

@@ -48,7 +48,7 @@ export const getProductTourSteps = ( ] : []), { - selector: '.dropdown > [aria-label="Alerting"]', + selector: '[aria-label="Alerting"]', content: (

@@ -71,7 +71,7 @@ export const getProductTourSteps = ( ...(isPmmAdmin && !!settings?.sttEnabled ? [ { - selector: '.dropdown > [aria-label="Advisors"]', + selector: '[aria-label="Advisors"]', content: (

{Messages.advisors.pmmIncludes}

@@ -90,7 +90,7 @@ export const getProductTourSteps = ( ...(isPmmAdmin && !!settings?.backupEnabled ? [ { - selector: '.dropdown > [aria-label="Backup"]', + selector: '[aria-label="Backup"]', content: (

{Messages.backup.feature}

@@ -104,7 +104,7 @@ export const getProductTourSteps = ( ...(isPmmAdmin ? [ { - selector: '.dropdown > [aria-label="Configuration"]', + selector: '[aria-label="Configuration"]', content: (

{Messages.configPanel.services}

@@ -120,7 +120,7 @@ export const getProductTourSteps = ( ), }, { - selector: '.dropdown > [aria-label="Server admin"]', + selector: '[aria-label="Administration"]', content: (

{Messages.serverAdmin.userManagement}

diff --git a/public/app/percona/tour/steps/product/product.utils.tsx b/public/app/percona/tour/steps/product/product.utils.tsx index 8513431441fe..1b8bab45a93a 100644 --- a/public/app/percona/tour/steps/product/product.utils.tsx +++ b/public/app/percona/tour/steps/product/product.utils.tsx @@ -24,7 +24,7 @@ export const getPMMDashboardsStep = (services: ServiceType[]): TourStep => { }; const getStep = (ariaLabel: string, navMenuId: string): TourStep => ({ - selector: '#navbar-menu-portal-container [role="dialog"]', + selector: '.scrollbar-view [role="dialog"]', content: (

{Messages.pmmDashboards.grafanaTechnology}

@@ -33,7 +33,7 @@ const getStep = (ariaLabel: string, navMenuId: string): TourStep => ({
), navMenuId, - highlightedSelectors: [`.dropdown > [aria-label="${ariaLabel}"]`, '#navbar-menu-portal-container [role="dialog"]'], - resizeObservables: ['#navbar-menu-portal-container'], + highlightedSelectors: [`[aria-label="${ariaLabel}"]`, '.scrollbar-view [role="dialog"]'], + resizeObservables: ['.scrollbar-view'], position: 'right', }); From 4c6c05b856645dc64e7adb86a8773d310fca3556 Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Mon, 5 Feb 2024 13:32:25 +0530 Subject: [PATCH 02/14] PMM-12847 fix prettier issue --- public/app/percona/tour/components/NextButton.tsx | 2 +- public/app/percona/tour/components/PrevButton.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/app/percona/tour/components/NextButton.tsx b/public/app/percona/tour/components/NextButton.tsx index 24d01a220046..8b3a58fd0a9f 100644 --- a/public/app/percona/tour/components/NextButton.tsx +++ b/public/app/percona/tour/components/NextButton.tsx @@ -17,7 +17,7 @@ const NextButton: FC = () => { chrome.setMegaMenu('open'); } nextStep(); - } + }; return isLastStep ? ( diff --git a/public/app/percona/tour/components/PrevButton.tsx b/public/app/percona/tour/components/PrevButton.tsx index 54bc96d6fa34..6f3d388a1d55 100644 --- a/public/app/percona/tour/components/PrevButton.tsx +++ b/public/app/percona/tour/components/PrevButton.tsx @@ -18,7 +18,7 @@ const PrevButton: FC = () => { chrome.setMegaMenu('open'); } previousStep(); - } + }; return ( From 0fe4efe609390b5348f19c99c618eb12705d41cf Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Mon, 5 Feb 2024 20:02:41 +0530 Subject: [PATCH 03/14] PMM-12847 Fix menu control --- public/app/percona/tour/components/NextButton.tsx | 6 +++--- public/app/percona/tour/components/PrevButton.tsx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/public/app/percona/tour/components/NextButton.tsx b/public/app/percona/tour/components/NextButton.tsx index 8b3a58fd0a9f..f564ddea85d2 100644 --- a/public/app/percona/tour/components/NextButton.tsx +++ b/public/app/percona/tour/components/NextButton.tsx @@ -11,10 +11,10 @@ const NextButton: FC = () => { const { tour, endTour, nextStep, isLastStep } = usePerconaTour(); const { chrome } = useGrafana(); - const handleClick = () => { + const handleClick = async () => { if (tour === 'product') { - chrome.setMegaMenu('closed'); - chrome.setMegaMenu('open'); + await chrome.setMegaMenu('closed'); + await chrome.setMegaMenu('open'); } nextStep(); }; diff --git a/public/app/percona/tour/components/PrevButton.tsx b/public/app/percona/tour/components/PrevButton.tsx index 6f3d388a1d55..4f07b2c44d81 100644 --- a/public/app/percona/tour/components/PrevButton.tsx +++ b/public/app/percona/tour/components/PrevButton.tsx @@ -12,10 +12,10 @@ const PrevButton: FC = () => { const { chrome } = useGrafana(); - const handleClick = () => { + const handleClick = async () => { if (tour === 'product') { - chrome.setMegaMenu('closed'); - chrome.setMegaMenu('open'); + await chrome.setMegaMenu('closed'); + await chrome.setMegaMenu('open'); } previousStep(); }; From 663d1b253515e0fc3945cfdcc494e50e30cf2177 Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Wed, 14 Feb 2024 17:10:03 +0530 Subject: [PATCH 04/14] PMM-12742 Add pmm config menu item and icon --- packages/grafana-data/src/types/icon.ts | 1 + .../grafana-ui/src/components/Icon/utils.ts | 1 + public/app/core/icons/cached.json | 1 + public/app/core/icons/iconBundle.ts | 757 +++++++++--------- .../PerconaNavigation.utils.ts | 41 +- public/img/icons/mono/percona-nav-logo.svg | 4 + 6 files changed, 406 insertions(+), 399 deletions(-) create mode 100644 public/img/icons/mono/percona-nav-logo.svg diff --git a/packages/grafana-data/src/types/icon.ts b/packages/grafana-data/src/types/icon.ts index 63bad43cc6bb..db761684a7d4 100644 --- a/packages/grafana-data/src/types/icon.ts +++ b/packages/grafana-data/src/types/icon.ts @@ -260,6 +260,7 @@ export const availableIconsIndex = { 'percona-system': true, 'percona-nav-overview': true, 'percona-nav-summary': true, + 'percona-nav-logo': true, 'percona-database-mysql': true, 'percona-database-postgresql': true, 'percona-database-mongodb': true, diff --git a/packages/grafana-ui/src/components/Icon/utils.ts b/packages/grafana-ui/src/components/Icon/utils.ts index 968b46b5ac1f..488783b1c6b7 100644 --- a/packages/grafana-ui/src/components/Icon/utils.ts +++ b/packages/grafana-ui/src/components/Icon/utils.ts @@ -31,6 +31,7 @@ const alwaysMonoIcons: IconName[] = [ 'percona-system', 'percona-nav-overview', 'percona-nav-summary', + 'percona-nav-logo', 'percona-database-mysql', 'percona-database-postgresql', 'percona-database-mongodb', diff --git a/public/app/core/icons/cached.json b/public/app/core/icons/cached.json index afc42e594ab9..f60ea408744c 100644 --- a/public/app/core/icons/cached.json +++ b/public/app/core/icons/cached.json @@ -203,6 +203,7 @@ "mono/percona-system", "mono/percona-nav-overview", "mono/percona-nav-summary", + "mono/percona-nav-logo", "mono/percona-database-mysql", "mono/percona-database-postgresql", "mono/percona-database-mongodb", diff --git a/public/app/core/icons/iconBundle.ts b/public/app/core/icons/iconBundle.ts index 278e00926a3d..3ea8c2ec13b0 100644 --- a/public/app/core/icons/iconBundle.ts +++ b/public/app/core/icons/iconBundle.ts @@ -3,6 +3,7 @@ // This file is automatically generated (do not edit it here) // see @grafana/ui/scripts/generate-icon-bundle.js + import { cacheStore } from 'react-inlinesvg'; // do not edit this list directly @@ -35,194 +36,196 @@ import u1024 from '../../../img/icons/unicons/bolt.svg'; import u1025 from '../../../img/icons/unicons/book.svg'; import u1026 from '../../../img/icons/unicons/book-open.svg'; import u1027 from '../../../img/icons/unicons/brackets-curly.svg'; -import u1028 from '../../../img/icons/unicons/bug.svg'; -import u1029 from '../../../img/icons/unicons/building.svg'; -import u1030 from '../../../img/icons/unicons/calculator-alt.svg'; -import u1031 from '../../../img/icons/unicons/calendar-alt.svg'; -import u1032 from '../../../img/icons/unicons/calendar-slash.svg'; -import u1033 from '../../../img/icons/unicons/camera.svg'; -import u1034 from '../../../img/icons/unicons/channel-add.svg'; -import u1035 from '../../../img/icons/unicons/chart-line.svg'; -import u1036 from '../../../img/icons/unicons/check.svg'; -import u1037 from '../../../img/icons/unicons/check-circle.svg'; -import u1038 from '../../../img/icons/unicons/circle.svg'; -import u1039 from '../../../img/icons/unicons/clipboard-alt.svg'; -import u1040 from '../../../img/icons/unicons/clock-nine.svg'; -import u1041 from '../../../img/icons/unicons/cloud.svg'; -import u1042 from '../../../img/icons/unicons/cloud-download.svg'; -import u1043 from '../../../img/icons/unicons/code-branch.svg'; -import u1044 from '../../../img/icons/unicons/cog.svg'; -import u1045 from '../../../img/icons/unicons/columns.svg'; -import u1046 from '../../../img/icons/unicons/comment-alt.svg'; -import u1047 from '../../../img/icons/unicons/comment-alt-share.svg'; -import u1048 from '../../../img/icons/unicons/comments-alt.svg'; -import u1049 from '../../../img/icons/unicons/compass.svg'; -import u1050 from '../../../img/icons/unicons/copy.svg'; -import u1051 from '../../../img/icons/unicons/corner-down-right-alt.svg'; -import u1052 from '../../../img/icons/unicons/cube.svg'; -import u1053 from '../../../img/icons/unicons/dashboard.svg'; -import u1054 from '../../../img/icons/unicons/database.svg'; -import u1055 from '../../../img/icons/unicons/document-info.svg'; -import u1056 from '../../../img/icons/unicons/download-alt.svg'; -import u1057 from '../../../img/icons/unicons/draggabledots.svg'; -import u1058 from '../../../img/icons/unicons/edit.svg'; -import u1059 from '../../../img/icons/unicons/ellipsis-v.svg'; -import u1060 from '../../../img/icons/unicons/ellipsis-h.svg'; -import u1061 from '../../../img/icons/unicons/envelope.svg'; -import u1062 from '../../../img/icons/unicons/exchange-alt.svg'; -import u1063 from '../../../img/icons/unicons/exclamation-circle.svg'; -import u1064 from '../../../img/icons/unicons/exclamation-triangle.svg'; -import u1065 from '../../../img/icons/unicons/external-link-alt.svg'; -import u1066 from '../../../img/icons/unicons/eye.svg'; -import u1067 from '../../../img/icons/unicons/eye-slash.svg'; -import u1068 from '../../../img/icons/unicons/file-alt.svg'; -import u1069 from '../../../img/icons/unicons/file-blank.svg'; -import u1070 from '../../../img/icons/unicons/filter.svg'; -import u1071 from '../../../img/icons/unicons/folder.svg'; -import u1072 from '../../../img/icons/unicons/folder-open.svg'; -import u1073 from '../../../img/icons/unicons/folder-plus.svg'; -import u1074 from '../../../img/icons/unicons/folder-upload.svg'; -import u1075 from '../../../img/icons/unicons/forward.svg'; -import u1076 from '../../../img/icons/unicons/graph-bar.svg'; -import u1077 from '../../../img/icons/unicons/history.svg'; -import u1078 from '../../../img/icons/unicons/history-alt.svg'; -import u1079 from '../../../img/icons/unicons/home-alt.svg'; -import u1080 from '../../../img/icons/unicons/import.svg'; -import u1081 from '../../../img/icons/unicons/info.svg'; -import u1082 from '../../../img/icons/unicons/info-circle.svg'; -import u1083 from '../../../img/icons/unicons/k6.svg'; -import u1084 from '../../../img/icons/unicons/key-skeleton-alt.svg'; -import u1085 from '../../../img/icons/unicons/keyboard.svg'; -import u1086 from '../../../img/icons/unicons/link.svg'; -import u1087 from '../../../img/icons/unicons/list-ul.svg'; -import u1088 from '../../../img/icons/unicons/lock.svg'; -import u1089 from '../../../img/icons/unicons/minus.svg'; -import u1090 from '../../../img/icons/unicons/minus-circle.svg'; -import u1091 from '../../../img/icons/unicons/mobile-android.svg'; -import u1092 from '../../../img/icons/unicons/monitor.svg'; -import u1093 from '../../../img/icons/unicons/pause.svg'; -import u1094 from '../../../img/icons/unicons/pen.svg'; -import u1095 from '../../../img/icons/unicons/play.svg'; -import u1096 from '../../../img/icons/unicons/plug.svg'; -import u1097 from '../../../img/icons/unicons/plus.svg'; -import u1098 from '../../../img/icons/unicons/plus-circle.svg'; -import u1099 from '../../../img/icons/unicons/power.svg'; -import u1100 from '../../../img/icons/unicons/presentation-play.svg'; -import u1101 from '../../../img/icons/unicons/process.svg'; -import u1102 from '../../../img/icons/unicons/question-circle.svg'; -import u1103 from '../../../img/icons/unicons/repeat.svg'; -import u1104 from '../../../img/icons/unicons/rocket.svg'; -import u1105 from '../../../img/icons/unicons/rss.svg'; -import u1106 from '../../../img/icons/unicons/save.svg'; -import u1107 from '../../../img/icons/unicons/search.svg'; -import u1108 from '../../../img/icons/unicons/search-minus.svg'; -import u1109 from '../../../img/icons/unicons/search-plus.svg'; -import u1110 from '../../../img/icons/unicons/share-alt.svg'; -import u1111 from '../../../img/icons/unicons/shield.svg'; -import u1112 from '../../../img/icons/unicons/signal.svg'; -import u1113 from '../../../img/icons/unicons/signin.svg'; -import u1114 from '../../../img/icons/unicons/signout.svg'; -import u1115 from '../../../img/icons/unicons/sitemap.svg'; -import u1116 from '../../../img/icons/unicons/slack.svg'; -import u1117 from '../../../img/icons/unicons/sliders-v-alt.svg'; -import u1118 from '../../../img/icons/unicons/sort-amount-down.svg'; -import u1119 from '../../../img/icons/unicons/sort-amount-up.svg'; -import u1120 from '../../../img/icons/unicons/square-shape.svg'; -import u1121 from '../../../img/icons/unicons/star.svg'; -import u1122 from '../../../img/icons/unicons/step-backward.svg'; -import u1123 from '../../../img/icons/unicons/sync.svg'; -import u1124 from '../../../img/icons/unicons/stopwatch.svg'; -import u1125 from '../../../img/icons/unicons/table.svg'; -import u1126 from '../../../img/icons/unicons/tag-alt.svg'; -import u1127 from '../../../img/icons/unicons/times.svg'; -import u1128 from '../../../img/icons/unicons/trash-alt.svg'; -import u1129 from '../../../img/icons/unicons/unlock.svg'; -import u1130 from '../../../img/icons/unicons/upload.svg'; -import u1131 from '../../../img/icons/unicons/user.svg'; -import u1132 from '../../../img/icons/unicons/users-alt.svg'; -import u1133 from '../../../img/icons/unicons/wrap-text.svg'; -import u1134 from '../../../img/icons/unicons/cloud-upload.svg'; -import u1135 from '../../../img/icons/unicons/credit-card.svg'; -import u1136 from '../../../img/icons/unicons/file-copy-alt.svg'; -import u1137 from '../../../img/icons/unicons/fire.svg'; -import u1138 from '../../../img/icons/unicons/hourglass.svg'; -import u1139 from '../../../img/icons/unicons/layer-group.svg'; -import u1140 from '../../../img/icons/unicons/layers-alt.svg'; -import u1141 from '../../../img/icons/unicons/line-alt.svg'; -import u1142 from '../../../img/icons/unicons/list-ui-alt.svg'; -import u1143 from '../../../img/icons/unicons/message.svg'; -import u1144 from '../../../img/icons/unicons/palette.svg'; -import u1145 from '../../../img/icons/unicons/percentage.svg'; -import u1146 from '../../../img/icons/unicons/shield-exclamation.svg'; -import u1147 from '../../../img/icons/unicons/plus-square.svg'; -import u1148 from '../../../img/icons/unicons/x.svg'; -import u1149 from '../../../img/icons/unicons/capture.svg'; -import u1150 from '../../../img/icons/custom/gf-grid.svg'; -import u1151 from '../../../img/icons/custom/gf-landscape.svg'; -import u1152 from '../../../img/icons/custom/gf-layout-simple.svg'; -import u1153 from '../../../img/icons/custom/gf-portrait.svg'; -import u1154 from '../../../img/icons/custom/gf-show-context.svg'; -import u1155 from '../../../img/icons/custom/gf-bar-alignment-after.svg'; -import u1156 from '../../../img/icons/custom/gf-bar-alignment-before.svg'; -import u1157 from '../../../img/icons/custom/gf-bar-alignment-center.svg'; -import u1158 from '../../../img/icons/custom/gf-interpolation-linear.svg'; -import u1159 from '../../../img/icons/custom/gf-interpolation-smooth.svg'; -import u1160 from '../../../img/icons/custom/gf-interpolation-step-after.svg'; -import u1161 from '../../../img/icons/custom/gf-interpolation-step-before.svg'; -import u1162 from '../../../img/icons/custom/gf-logs.svg'; -import u1163 from '../../../img/icons/custom/gf-movepane-left.svg'; -import u1164 from '../../../img/icons/custom/gf-movepane-right.svg'; -import u1165 from '../../../img/icons/mono/favorite.svg'; -import u1166 from '../../../img/icons/mono/grafana.svg'; -import u1167 from '../../../img/icons/mono/heart.svg'; -import u1168 from '../../../img/icons/mono/heart-break.svg'; -import u1169 from '../../../img/icons/mono/panel-add.svg'; -import u1170 from '../../../img/icons/mono/library-panel.svg'; -import u1171 from '../../../img/icons/unicons/record-audio.svg'; -import u1172 from '../../../img/icons/unicons/horizontal-align-left.svg'; -import u1173 from '../../../img/icons/unicons/horizontal-align-right.svg'; -import u1174 from '../../../img/icons/unicons/horizontal-align-center.svg'; -import u1175 from '../../../img/icons/unicons/vertical-align-top.svg'; -import u1176 from '../../../img/icons/unicons/vertical-align-bottom.svg'; -import u1177 from '../../../img/icons/unicons/vertical-align-center.svg'; -import u1178 from '../../../img/icons/mono/percona-add.svg'; -import u1179 from '../../../img/icons/mono/percona-alert.svg'; -import u1180 from '../../../img/icons/mono/percona-analytics.svg'; -import u1181 from '../../../img/icons/mono/percona-cluster-computing.svg'; -import u1182 from '../../../img/icons/mono/percona-cluster-network.svg'; -import u1183 from '../../../img/icons/mono/percona-cluster.svg'; -import u1184 from '../../../img/icons/mono/percona-cpu.svg'; -import u1185 from '../../../img/icons/mono/percona-dashboard.svg'; -import u1186 from '../../../img/icons/mono/percona-database-checks.svg'; -import u1187 from '../../../img/icons/mono/percona-database.svg'; -import u1188 from '../../../img/icons/mono/percona-disk.svg'; -import u1189 from '../../../img/icons/mono/percona-kubernetes.svg'; -import u1190 from '../../../img/icons/mono/percona-memory.svg'; -import u1191 from '../../../img/icons/mono/percona-network.svg'; -import u1192 from '../../../img/icons/mono/percona-process.svg'; -import u1193 from '../../../img/icons/mono/percona-setting.svg'; -import u1194 from '../../../img/icons/mono/percona-summary.svg'; -import u1195 from '../../../img/icons/mono/percona-surface.svg'; -import u1196 from '../../../img/icons/mono/percona-temperature.svg'; -import u1197 from '../../../img/icons/mono/pmm-logo.svg'; -import u1198 from '../../../img/icons/mono/pmm-logo-light.svg'; -import u1199 from '../../../img/icons/mono/qan-logo.svg'; -import u1200 from '../../../img/icons/mono/percona-system.svg'; -import u1201 from '../../../img/icons/mono/percona-nav-overview.svg'; -import u1202 from '../../../img/icons/mono/percona-nav-summary.svg'; -import u1203 from '../../../img/icons/mono/percona-database-mysql.svg'; -import u1204 from '../../../img/icons/mono/percona-database-postgresql.svg'; -import u1205 from '../../../img/icons/mono/percona-database-mongodb.svg'; -import u1206 from '../../../img/icons/mono/percona-database-proxysql.svg'; -import u1207 from '../../../img/icons/mono/percona-database-haproxy.svg'; -import u1208 from '../../../img/icons/mono/percona-bell.svg'; -import u1209 from '../../../img/icons/mono/percona-bell-slash.svg'; -import u1210 from '../../../img/icons/unicons/ticket.svg'; -import u1211 from '../../../img/icons/unicons/angle-double-left.svg'; -import u1212 from '../../../img/icons/unicons/times-circle.svg'; -import u1213 from '../../../img/icons/mono/percona-asterisk.svg'; -import u1214 from '../../../img/icons/unicons/user-check.svg'; -import u1215 from '../../../img/icons/unicons/user-square.svg'; +import u1028 from '../../../img/icons/unicons/brain.svg'; +import u1029 from '../../../img/icons/unicons/bug.svg'; +import u1030 from '../../../img/icons/unicons/building.svg'; +import u1031 from '../../../img/icons/unicons/calculator-alt.svg'; +import u1032 from '../../../img/icons/unicons/calendar-alt.svg'; +import u1033 from '../../../img/icons/unicons/calendar-slash.svg'; +import u1034 from '../../../img/icons/unicons/camera.svg'; +import u1035 from '../../../img/icons/unicons/channel-add.svg'; +import u1036 from '../../../img/icons/unicons/chart-line.svg'; +import u1037 from '../../../img/icons/unicons/check.svg'; +import u1038 from '../../../img/icons/unicons/check-circle.svg'; +import u1039 from '../../../img/icons/unicons/circle.svg'; +import u1040 from '../../../img/icons/unicons/clipboard-alt.svg'; +import u1041 from '../../../img/icons/unicons/clock-nine.svg'; +import u1042 from '../../../img/icons/unicons/cloud.svg'; +import u1043 from '../../../img/icons/unicons/cloud-download.svg'; +import u1044 from '../../../img/icons/unicons/code-branch.svg'; +import u1045 from '../../../img/icons/unicons/cog.svg'; +import u1046 from '../../../img/icons/unicons/columns.svg'; +import u1047 from '../../../img/icons/unicons/comment-alt.svg'; +import u1048 from '../../../img/icons/unicons/comment-alt-share.svg'; +import u1049 from '../../../img/icons/unicons/comments-alt.svg'; +import u1050 from '../../../img/icons/unicons/compass.svg'; +import u1051 from '../../../img/icons/unicons/copy.svg'; +import u1052 from '../../../img/icons/unicons/corner-down-right-alt.svg'; +import u1053 from '../../../img/icons/unicons/cube.svg'; +import u1054 from '../../../img/icons/unicons/dashboard.svg'; +import u1055 from '../../../img/icons/unicons/database.svg'; +import u1056 from '../../../img/icons/unicons/document-info.svg'; +import u1057 from '../../../img/icons/unicons/download-alt.svg'; +import u1058 from '../../../img/icons/unicons/draggabledots.svg'; +import u1059 from '../../../img/icons/unicons/edit.svg'; +import u1060 from '../../../img/icons/unicons/ellipsis-v.svg'; +import u1061 from '../../../img/icons/unicons/ellipsis-h.svg'; +import u1062 from '../../../img/icons/unicons/envelope.svg'; +import u1063 from '../../../img/icons/unicons/exchange-alt.svg'; +import u1064 from '../../../img/icons/unicons/exclamation-circle.svg'; +import u1065 from '../../../img/icons/unicons/exclamation-triangle.svg'; +import u1066 from '../../../img/icons/unicons/external-link-alt.svg'; +import u1067 from '../../../img/icons/unicons/eye.svg'; +import u1068 from '../../../img/icons/unicons/eye-slash.svg'; +import u1069 from '../../../img/icons/unicons/file-alt.svg'; +import u1070 from '../../../img/icons/unicons/file-blank.svg'; +import u1071 from '../../../img/icons/unicons/filter.svg'; +import u1072 from '../../../img/icons/unicons/folder.svg'; +import u1073 from '../../../img/icons/unicons/folder-open.svg'; +import u1074 from '../../../img/icons/unicons/folder-plus.svg'; +import u1075 from '../../../img/icons/unicons/folder-upload.svg'; +import u1076 from '../../../img/icons/unicons/forward.svg'; +import u1077 from '../../../img/icons/unicons/graph-bar.svg'; +import u1078 from '../../../img/icons/unicons/history.svg'; +import u1079 from '../../../img/icons/unicons/history-alt.svg'; +import u1080 from '../../../img/icons/unicons/home-alt.svg'; +import u1081 from '../../../img/icons/unicons/import.svg'; +import u1082 from '../../../img/icons/unicons/info.svg'; +import u1083 from '../../../img/icons/unicons/info-circle.svg'; +import u1084 from '../../../img/icons/unicons/k6.svg'; +import u1085 from '../../../img/icons/unicons/key-skeleton-alt.svg'; +import u1086 from '../../../img/icons/unicons/keyboard.svg'; +import u1087 from '../../../img/icons/unicons/link.svg'; +import u1088 from '../../../img/icons/unicons/list-ul.svg'; +import u1089 from '../../../img/icons/unicons/lock.svg'; +import u1090 from '../../../img/icons/unicons/minus.svg'; +import u1091 from '../../../img/icons/unicons/minus-circle.svg'; +import u1092 from '../../../img/icons/unicons/mobile-android.svg'; +import u1093 from '../../../img/icons/unicons/monitor.svg'; +import u1094 from '../../../img/icons/unicons/pause.svg'; +import u1095 from '../../../img/icons/unicons/pen.svg'; +import u1096 from '../../../img/icons/unicons/play.svg'; +import u1097 from '../../../img/icons/unicons/plug.svg'; +import u1098 from '../../../img/icons/unicons/plus.svg'; +import u1099 from '../../../img/icons/unicons/plus-circle.svg'; +import u1100 from '../../../img/icons/unicons/power.svg'; +import u1101 from '../../../img/icons/unicons/presentation-play.svg'; +import u1102 from '../../../img/icons/unicons/process.svg'; +import u1103 from '../../../img/icons/unicons/question-circle.svg'; +import u1104 from '../../../img/icons/unicons/repeat.svg'; +import u1105 from '../../../img/icons/unicons/rocket.svg'; +import u1106 from '../../../img/icons/unicons/rss.svg'; +import u1107 from '../../../img/icons/unicons/save.svg'; +import u1108 from '../../../img/icons/unicons/search.svg'; +import u1109 from '../../../img/icons/unicons/search-minus.svg'; +import u1110 from '../../../img/icons/unicons/search-plus.svg'; +import u1111 from '../../../img/icons/unicons/share-alt.svg'; +import u1112 from '../../../img/icons/unicons/shield.svg'; +import u1113 from '../../../img/icons/unicons/signal.svg'; +import u1114 from '../../../img/icons/unicons/signin.svg'; +import u1115 from '../../../img/icons/unicons/signout.svg'; +import u1116 from '../../../img/icons/unicons/sitemap.svg'; +import u1117 from '../../../img/icons/unicons/slack.svg'; +import u1118 from '../../../img/icons/unicons/sliders-v-alt.svg'; +import u1119 from '../../../img/icons/unicons/sort-amount-down.svg'; +import u1120 from '../../../img/icons/unicons/sort-amount-up.svg'; +import u1121 from '../../../img/icons/unicons/square-shape.svg'; +import u1122 from '../../../img/icons/unicons/star.svg'; +import u1123 from '../../../img/icons/unicons/step-backward.svg'; +import u1124 from '../../../img/icons/unicons/sync.svg'; +import u1125 from '../../../img/icons/unicons/stopwatch.svg'; +import u1126 from '../../../img/icons/unicons/table.svg'; +import u1127 from '../../../img/icons/unicons/tag-alt.svg'; +import u1128 from '../../../img/icons/unicons/times.svg'; +import u1129 from '../../../img/icons/unicons/trash-alt.svg'; +import u1130 from '../../../img/icons/unicons/unlock.svg'; +import u1131 from '../../../img/icons/unicons/upload.svg'; +import u1132 from '../../../img/icons/unicons/user.svg'; +import u1133 from '../../../img/icons/unicons/users-alt.svg'; +import u1134 from '../../../img/icons/unicons/wrap-text.svg'; +import u1135 from '../../../img/icons/unicons/cloud-upload.svg'; +import u1136 from '../../../img/icons/unicons/credit-card.svg'; +import u1137 from '../../../img/icons/unicons/file-copy-alt.svg'; +import u1138 from '../../../img/icons/unicons/fire.svg'; +import u1139 from '../../../img/icons/unicons/hourglass.svg'; +import u1140 from '../../../img/icons/unicons/layer-group.svg'; +import u1141 from '../../../img/icons/unicons/layers-alt.svg'; +import u1142 from '../../../img/icons/unicons/line-alt.svg'; +import u1143 from '../../../img/icons/unicons/list-ui-alt.svg'; +import u1144 from '../../../img/icons/unicons/message.svg'; +import u1145 from '../../../img/icons/unicons/palette.svg'; +import u1146 from '../../../img/icons/unicons/percentage.svg'; +import u1147 from '../../../img/icons/unicons/shield-exclamation.svg'; +import u1148 from '../../../img/icons/unicons/plus-square.svg'; +import u1149 from '../../../img/icons/unicons/x.svg'; +import u1150 from '../../../img/icons/unicons/capture.svg'; +import u1151 from '../../../img/icons/custom/gf-grid.svg'; +import u1152 from '../../../img/icons/custom/gf-landscape.svg'; +import u1153 from '../../../img/icons/custom/gf-layout-simple.svg'; +import u1154 from '../../../img/icons/custom/gf-portrait.svg'; +import u1155 from '../../../img/icons/custom/gf-show-context.svg'; +import u1156 from '../../../img/icons/custom/gf-bar-alignment-after.svg'; +import u1157 from '../../../img/icons/custom/gf-bar-alignment-before.svg'; +import u1158 from '../../../img/icons/custom/gf-bar-alignment-center.svg'; +import u1159 from '../../../img/icons/custom/gf-interpolation-linear.svg'; +import u1160 from '../../../img/icons/custom/gf-interpolation-smooth.svg'; +import u1161 from '../../../img/icons/custom/gf-interpolation-step-after.svg'; +import u1162 from '../../../img/icons/custom/gf-interpolation-step-before.svg'; +import u1163 from '../../../img/icons/custom/gf-logs.svg'; +import u1164 from '../../../img/icons/custom/gf-movepane-left.svg'; +import u1165 from '../../../img/icons/custom/gf-movepane-right.svg'; +import u1166 from '../../../img/icons/mono/favorite.svg'; +import u1167 from '../../../img/icons/mono/grafana.svg'; +import u1168 from '../../../img/icons/mono/heart.svg'; +import u1169 from '../../../img/icons/mono/heart-break.svg'; +import u1170 from '../../../img/icons/mono/panel-add.svg'; +import u1171 from '../../../img/icons/mono/library-panel.svg'; +import u1172 from '../../../img/icons/unicons/record-audio.svg'; +import u1173 from '../../../img/icons/unicons/horizontal-align-left.svg'; +import u1174 from '../../../img/icons/unicons/horizontal-align-right.svg'; +import u1175 from '../../../img/icons/unicons/horizontal-align-center.svg'; +import u1176 from '../../../img/icons/unicons/vertical-align-top.svg'; +import u1177 from '../../../img/icons/unicons/vertical-align-bottom.svg'; +import u1178 from '../../../img/icons/unicons/vertical-align-center.svg'; +import u1179 from '../../../img/icons/mono/percona-add.svg'; +import u1180 from '../../../img/icons/mono/percona-alert.svg'; +import u1181 from '../../../img/icons/mono/percona-analytics.svg'; +import u1182 from '../../../img/icons/mono/percona-cluster-computing.svg'; +import u1183 from '../../../img/icons/mono/percona-cluster-network.svg'; +import u1184 from '../../../img/icons/mono/percona-cluster.svg'; +import u1185 from '../../../img/icons/mono/percona-cpu.svg'; +import u1186 from '../../../img/icons/mono/percona-dashboard.svg'; +import u1187 from '../../../img/icons/mono/percona-database-checks.svg'; +import u1188 from '../../../img/icons/mono/percona-database.svg'; +import u1189 from '../../../img/icons/mono/percona-disk.svg'; +import u1190 from '../../../img/icons/mono/percona-kubernetes.svg'; +import u1191 from '../../../img/icons/mono/percona-memory.svg'; +import u1192 from '../../../img/icons/mono/percona-network.svg'; +import u1193 from '../../../img/icons/mono/percona-process.svg'; +import u1194 from '../../../img/icons/mono/percona-setting.svg'; +import u1195 from '../../../img/icons/mono/percona-summary.svg'; +import u1196 from '../../../img/icons/mono/percona-surface.svg'; +import u1197 from '../../../img/icons/mono/percona-temperature.svg'; +import u1198 from '../../../img/icons/mono/pmm-logo.svg'; +import u1199 from '../../../img/icons/mono/pmm-logo-light.svg'; +import u1200 from '../../../img/icons/mono/qan-logo.svg'; +import u1201 from '../../../img/icons/mono/percona-system.svg'; +import u1202 from '../../../img/icons/mono/percona-nav-overview.svg'; +import u1203 from '../../../img/icons/mono/percona-nav-summary.svg'; +import u1204 from '../../../img/icons/mono/percona-nav-logo.svg'; +import u1205 from '../../../img/icons/mono/percona-database-mysql.svg'; +import u1206 from '../../../img/icons/mono/percona-database-postgresql.svg'; +import u1207 from '../../../img/icons/mono/percona-database-mongodb.svg'; +import u1208 from '../../../img/icons/mono/percona-database-proxysql.svg'; +import u1209 from '../../../img/icons/mono/percona-database-haproxy.svg'; +import u1210 from '../../../img/icons/mono/percona-bell.svg'; +import u1211 from '../../../img/icons/mono/percona-bell-slash.svg'; +import u1212 from '../../../img/icons/unicons/ticket.svg'; +import u1213 from '../../../img/icons/unicons/angle-double-left.svg'; +import u1214 from '../../../img/icons/unicons/times-circle.svg'; +import u1215 from '../../../img/icons/mono/percona-asterisk.svg'; +import u1216 from '../../../img/icons/unicons/user-check.svg'; +import u1217 from '../../../img/icons/unicons/user-square.svg'; // do not edit this list directly // the list of icons live here: @grafana/ui/components/Icon/cached.json @@ -284,194 +287,196 @@ export function initIconCache() { cacheItem(u1025, resolvePath('unicons/book.svg')); cacheItem(u1026, resolvePath('unicons/book-open.svg')); cacheItem(u1027, resolvePath('unicons/brackets-curly.svg')); - cacheItem(u1028, resolvePath('unicons/bug.svg')); - cacheItem(u1029, resolvePath('unicons/building.svg')); - cacheItem(u1030, resolvePath('unicons/calculator-alt.svg')); - cacheItem(u1031, resolvePath('unicons/calendar-alt.svg')); - cacheItem(u1032, resolvePath('unicons/calendar-slash.svg')); - cacheItem(u1033, resolvePath('unicons/camera.svg')); - cacheItem(u1034, resolvePath('unicons/channel-add.svg')); - cacheItem(u1035, resolvePath('unicons/chart-line.svg')); - cacheItem(u1036, resolvePath('unicons/check.svg')); - cacheItem(u1037, resolvePath('unicons/check-circle.svg')); - cacheItem(u1038, resolvePath('unicons/circle.svg')); - cacheItem(u1039, resolvePath('unicons/clipboard-alt.svg')); - cacheItem(u1040, resolvePath('unicons/clock-nine.svg')); - cacheItem(u1041, resolvePath('unicons/cloud.svg')); - cacheItem(u1042, resolvePath('unicons/cloud-download.svg')); - cacheItem(u1043, resolvePath('unicons/code-branch.svg')); - cacheItem(u1044, resolvePath('unicons/cog.svg')); - cacheItem(u1045, resolvePath('unicons/columns.svg')); - cacheItem(u1046, resolvePath('unicons/comment-alt.svg')); - cacheItem(u1047, resolvePath('unicons/comment-alt-share.svg')); - cacheItem(u1048, resolvePath('unicons/comments-alt.svg')); - cacheItem(u1049, resolvePath('unicons/compass.svg')); - cacheItem(u1050, resolvePath('unicons/copy.svg')); - cacheItem(u1051, resolvePath('unicons/corner-down-right-alt.svg')); - cacheItem(u1052, resolvePath('unicons/cube.svg')); - cacheItem(u1053, resolvePath('unicons/dashboard.svg')); - cacheItem(u1054, resolvePath('unicons/database.svg')); - cacheItem(u1055, resolvePath('unicons/document-info.svg')); - cacheItem(u1056, resolvePath('unicons/download-alt.svg')); - cacheItem(u1057, resolvePath('unicons/draggabledots.svg')); - cacheItem(u1058, resolvePath('unicons/edit.svg')); - cacheItem(u1059, resolvePath('unicons/ellipsis-v.svg')); - cacheItem(u1060, resolvePath('unicons/ellipsis-h.svg')); - cacheItem(u1061, resolvePath('unicons/envelope.svg')); - cacheItem(u1062, resolvePath('unicons/exchange-alt.svg')); - cacheItem(u1063, resolvePath('unicons/exclamation-circle.svg')); - cacheItem(u1064, resolvePath('unicons/exclamation-triangle.svg')); - cacheItem(u1065, resolvePath('unicons/external-link-alt.svg')); - cacheItem(u1066, resolvePath('unicons/eye.svg')); - cacheItem(u1067, resolvePath('unicons/eye-slash.svg')); - cacheItem(u1068, resolvePath('unicons/file-alt.svg')); - cacheItem(u1069, resolvePath('unicons/file-blank.svg')); - cacheItem(u1070, resolvePath('unicons/filter.svg')); - cacheItem(u1071, resolvePath('unicons/folder.svg')); - cacheItem(u1072, resolvePath('unicons/folder-open.svg')); - cacheItem(u1073, resolvePath('unicons/folder-plus.svg')); - cacheItem(u1074, resolvePath('unicons/folder-upload.svg')); - cacheItem(u1075, resolvePath('unicons/forward.svg')); - cacheItem(u1076, resolvePath('unicons/graph-bar.svg')); - cacheItem(u1077, resolvePath('unicons/history.svg')); - cacheItem(u1078, resolvePath('unicons/history-alt.svg')); - cacheItem(u1079, resolvePath('unicons/home-alt.svg')); - cacheItem(u1080, resolvePath('unicons/import.svg')); - cacheItem(u1081, resolvePath('unicons/info.svg')); - cacheItem(u1082, resolvePath('unicons/info-circle.svg')); - cacheItem(u1083, resolvePath('unicons/k6.svg')); - cacheItem(u1084, resolvePath('unicons/key-skeleton-alt.svg')); - cacheItem(u1085, resolvePath('unicons/keyboard.svg')); - cacheItem(u1086, resolvePath('unicons/link.svg')); - cacheItem(u1087, resolvePath('unicons/list-ul.svg')); - cacheItem(u1088, resolvePath('unicons/lock.svg')); - cacheItem(u1089, resolvePath('unicons/minus.svg')); - cacheItem(u1090, resolvePath('unicons/minus-circle.svg')); - cacheItem(u1091, resolvePath('unicons/mobile-android.svg')); - cacheItem(u1092, resolvePath('unicons/monitor.svg')); - cacheItem(u1093, resolvePath('unicons/pause.svg')); - cacheItem(u1094, resolvePath('unicons/pen.svg')); - cacheItem(u1095, resolvePath('unicons/play.svg')); - cacheItem(u1096, resolvePath('unicons/plug.svg')); - cacheItem(u1097, resolvePath('unicons/plus.svg')); - cacheItem(u1098, resolvePath('unicons/plus-circle.svg')); - cacheItem(u1099, resolvePath('unicons/power.svg')); - cacheItem(u1100, resolvePath('unicons/presentation-play.svg')); - cacheItem(u1101, resolvePath('unicons/process.svg')); - cacheItem(u1102, resolvePath('unicons/question-circle.svg')); - cacheItem(u1103, resolvePath('unicons/repeat.svg')); - cacheItem(u1104, resolvePath('unicons/rocket.svg')); - cacheItem(u1105, resolvePath('unicons/rss.svg')); - cacheItem(u1106, resolvePath('unicons/save.svg')); - cacheItem(u1107, resolvePath('unicons/search.svg')); - cacheItem(u1108, resolvePath('unicons/search-minus.svg')); - cacheItem(u1109, resolvePath('unicons/search-plus.svg')); - cacheItem(u1110, resolvePath('unicons/share-alt.svg')); - cacheItem(u1111, resolvePath('unicons/shield.svg')); - cacheItem(u1112, resolvePath('unicons/signal.svg')); - cacheItem(u1113, resolvePath('unicons/signin.svg')); - cacheItem(u1114, resolvePath('unicons/signout.svg')); - cacheItem(u1115, resolvePath('unicons/sitemap.svg')); - cacheItem(u1116, resolvePath('unicons/slack.svg')); - cacheItem(u1117, resolvePath('unicons/sliders-v-alt.svg')); - cacheItem(u1118, resolvePath('unicons/sort-amount-down.svg')); - cacheItem(u1119, resolvePath('unicons/sort-amount-up.svg')); - cacheItem(u1120, resolvePath('unicons/square-shape.svg')); - cacheItem(u1121, resolvePath('unicons/star.svg')); - cacheItem(u1122, resolvePath('unicons/step-backward.svg')); - cacheItem(u1123, resolvePath('unicons/sync.svg')); - cacheItem(u1124, resolvePath('unicons/stopwatch.svg')); - cacheItem(u1125, resolvePath('unicons/table.svg')); - cacheItem(u1126, resolvePath('unicons/tag-alt.svg')); - cacheItem(u1127, resolvePath('unicons/times.svg')); - cacheItem(u1128, resolvePath('unicons/trash-alt.svg')); - cacheItem(u1129, resolvePath('unicons/unlock.svg')); - cacheItem(u1130, resolvePath('unicons/upload.svg')); - cacheItem(u1131, resolvePath('unicons/user.svg')); - cacheItem(u1132, resolvePath('unicons/users-alt.svg')); - cacheItem(u1133, resolvePath('unicons/wrap-text.svg')); - cacheItem(u1134, resolvePath('unicons/cloud-upload.svg')); - cacheItem(u1135, resolvePath('unicons/credit-card.svg')); - cacheItem(u1136, resolvePath('unicons/file-copy-alt.svg')); - cacheItem(u1137, resolvePath('unicons/fire.svg')); - cacheItem(u1138, resolvePath('unicons/hourglass.svg')); - cacheItem(u1139, resolvePath('unicons/layer-group.svg')); - cacheItem(u1140, resolvePath('unicons/layers-alt.svg')); - cacheItem(u1141, resolvePath('unicons/line-alt.svg')); - cacheItem(u1142, resolvePath('unicons/list-ui-alt.svg')); - cacheItem(u1143, resolvePath('unicons/message.svg')); - cacheItem(u1144, resolvePath('unicons/palette.svg')); - cacheItem(u1145, resolvePath('unicons/percentage.svg')); - cacheItem(u1146, resolvePath('unicons/shield-exclamation.svg')); - cacheItem(u1147, resolvePath('unicons/plus-square.svg')); - cacheItem(u1148, resolvePath('unicons/x.svg')); - cacheItem(u1149, resolvePath('unicons/capture.svg')); - cacheItem(u1150, resolvePath('custom/gf-grid.svg')); - cacheItem(u1151, resolvePath('custom/gf-landscape.svg')); - cacheItem(u1152, resolvePath('custom/gf-layout-simple.svg')); - cacheItem(u1153, resolvePath('custom/gf-portrait.svg')); - cacheItem(u1154, resolvePath('custom/gf-show-context.svg')); - cacheItem(u1155, resolvePath('custom/gf-bar-alignment-after.svg')); - cacheItem(u1156, resolvePath('custom/gf-bar-alignment-before.svg')); - cacheItem(u1157, resolvePath('custom/gf-bar-alignment-center.svg')); - cacheItem(u1158, resolvePath('custom/gf-interpolation-linear.svg')); - cacheItem(u1159, resolvePath('custom/gf-interpolation-smooth.svg')); - cacheItem(u1160, resolvePath('custom/gf-interpolation-step-after.svg')); - cacheItem(u1161, resolvePath('custom/gf-interpolation-step-before.svg')); - cacheItem(u1162, resolvePath('custom/gf-logs.svg')); - cacheItem(u1163, resolvePath('custom/gf-movepane-left.svg')); - cacheItem(u1164, resolvePath('custom/gf-movepane-right.svg')); - cacheItem(u1165, resolvePath('mono/favorite.svg')); - cacheItem(u1166, resolvePath('mono/grafana.svg')); - cacheItem(u1167, resolvePath('mono/heart.svg')); - cacheItem(u1168, resolvePath('mono/heart-break.svg')); - cacheItem(u1169, resolvePath('mono/panel-add.svg')); - cacheItem(u1170, resolvePath('mono/library-panel.svg')); - cacheItem(u1171, resolvePath('unicons/record-audio.svg')); - cacheItem(u1172, resolvePath('unicons/horizontal-align-left.svg')); - cacheItem(u1173, resolvePath('unicons/horizontal-align-right.svg')); - cacheItem(u1174, resolvePath('unicons/horizontal-align-center.svg')); - cacheItem(u1175, resolvePath('unicons/vertical-align-top.svg')); - cacheItem(u1176, resolvePath('unicons/vertical-align-bottom.svg')); - cacheItem(u1177, resolvePath('unicons/vertical-align-center.svg')); - cacheItem(u1178, resolvePath('mono/percona-add.svg')); - cacheItem(u1179, resolvePath('mono/percona-alert.svg')); - cacheItem(u1180, resolvePath('mono/percona-analytics.svg')); - cacheItem(u1181, resolvePath('mono/percona-cluster-computing.svg')); - cacheItem(u1182, resolvePath('mono/percona-cluster-network.svg')); - cacheItem(u1183, resolvePath('mono/percona-cluster.svg')); - cacheItem(u1184, resolvePath('mono/percona-cpu.svg')); - cacheItem(u1185, resolvePath('mono/percona-dashboard.svg')); - cacheItem(u1186, resolvePath('mono/percona-database-checks.svg')); - cacheItem(u1187, resolvePath('mono/percona-database.svg')); - cacheItem(u1188, resolvePath('mono/percona-disk.svg')); - cacheItem(u1189, resolvePath('mono/percona-kubernetes.svg')); - cacheItem(u1190, resolvePath('mono/percona-memory.svg')); - cacheItem(u1191, resolvePath('mono/percona-network.svg')); - cacheItem(u1192, resolvePath('mono/percona-process.svg')); - cacheItem(u1193, resolvePath('mono/percona-setting.svg')); - cacheItem(u1194, resolvePath('mono/percona-summary.svg')); - cacheItem(u1195, resolvePath('mono/percona-surface.svg')); - cacheItem(u1196, resolvePath('mono/percona-temperature.svg')); - cacheItem(u1197, resolvePath('mono/pmm-logo.svg')); - cacheItem(u1198, resolvePath('mono/pmm-logo-light.svg')); - cacheItem(u1199, resolvePath('mono/qan-logo.svg')); - cacheItem(u1200, resolvePath('mono/percona-system.svg')); - cacheItem(u1201, resolvePath('mono/percona-nav-overview.svg')); - cacheItem(u1202, resolvePath('mono/percona-nav-summary.svg')); - cacheItem(u1203, resolvePath('mono/percona-database-mysql.svg')); - cacheItem(u1204, resolvePath('mono/percona-database-postgresql.svg')); - cacheItem(u1205, resolvePath('mono/percona-database-mongodb.svg')); - cacheItem(u1206, resolvePath('mono/percona-database-proxysql.svg')); - cacheItem(u1207, resolvePath('mono/percona-database-haproxy.svg')); - cacheItem(u1208, resolvePath('mono/percona-bell.svg')); - cacheItem(u1209, resolvePath('mono/percona-bell-slash.svg')); - cacheItem(u1210, resolvePath('unicons/ticket.svg')); - cacheItem(u1211, resolvePath('unicons/angle-double-left.svg')); - cacheItem(u1212, resolvePath('unicons/times-circle.svg')); - cacheItem(u1213, resolvePath('mono/percona-asterisk.svg')); - cacheItem(u1214, resolvePath('unicons/user-check.svg')); - cacheItem(u1215, resolvePath('unicons/user-square.svg')); + cacheItem(u1028, resolvePath('unicons/brain.svg')); + cacheItem(u1029, resolvePath('unicons/bug.svg')); + cacheItem(u1030, resolvePath('unicons/building.svg')); + cacheItem(u1031, resolvePath('unicons/calculator-alt.svg')); + cacheItem(u1032, resolvePath('unicons/calendar-alt.svg')); + cacheItem(u1033, resolvePath('unicons/calendar-slash.svg')); + cacheItem(u1034, resolvePath('unicons/camera.svg')); + cacheItem(u1035, resolvePath('unicons/channel-add.svg')); + cacheItem(u1036, resolvePath('unicons/chart-line.svg')); + cacheItem(u1037, resolvePath('unicons/check.svg')); + cacheItem(u1038, resolvePath('unicons/check-circle.svg')); + cacheItem(u1039, resolvePath('unicons/circle.svg')); + cacheItem(u1040, resolvePath('unicons/clipboard-alt.svg')); + cacheItem(u1041, resolvePath('unicons/clock-nine.svg')); + cacheItem(u1042, resolvePath('unicons/cloud.svg')); + cacheItem(u1043, resolvePath('unicons/cloud-download.svg')); + cacheItem(u1044, resolvePath('unicons/code-branch.svg')); + cacheItem(u1045, resolvePath('unicons/cog.svg')); + cacheItem(u1046, resolvePath('unicons/columns.svg')); + cacheItem(u1047, resolvePath('unicons/comment-alt.svg')); + cacheItem(u1048, resolvePath('unicons/comment-alt-share.svg')); + cacheItem(u1049, resolvePath('unicons/comments-alt.svg')); + cacheItem(u1050, resolvePath('unicons/compass.svg')); + cacheItem(u1051, resolvePath('unicons/copy.svg')); + cacheItem(u1052, resolvePath('unicons/corner-down-right-alt.svg')); + cacheItem(u1053, resolvePath('unicons/cube.svg')); + cacheItem(u1054, resolvePath('unicons/dashboard.svg')); + cacheItem(u1055, resolvePath('unicons/database.svg')); + cacheItem(u1056, resolvePath('unicons/document-info.svg')); + cacheItem(u1057, resolvePath('unicons/download-alt.svg')); + cacheItem(u1058, resolvePath('unicons/draggabledots.svg')); + cacheItem(u1059, resolvePath('unicons/edit.svg')); + cacheItem(u1060, resolvePath('unicons/ellipsis-v.svg')); + cacheItem(u1061, resolvePath('unicons/ellipsis-h.svg')); + cacheItem(u1062, resolvePath('unicons/envelope.svg')); + cacheItem(u1063, resolvePath('unicons/exchange-alt.svg')); + cacheItem(u1064, resolvePath('unicons/exclamation-circle.svg')); + cacheItem(u1065, resolvePath('unicons/exclamation-triangle.svg')); + cacheItem(u1066, resolvePath('unicons/external-link-alt.svg')); + cacheItem(u1067, resolvePath('unicons/eye.svg')); + cacheItem(u1068, resolvePath('unicons/eye-slash.svg')); + cacheItem(u1069, resolvePath('unicons/file-alt.svg')); + cacheItem(u1070, resolvePath('unicons/file-blank.svg')); + cacheItem(u1071, resolvePath('unicons/filter.svg')); + cacheItem(u1072, resolvePath('unicons/folder.svg')); + cacheItem(u1073, resolvePath('unicons/folder-open.svg')); + cacheItem(u1074, resolvePath('unicons/folder-plus.svg')); + cacheItem(u1075, resolvePath('unicons/folder-upload.svg')); + cacheItem(u1076, resolvePath('unicons/forward.svg')); + cacheItem(u1077, resolvePath('unicons/graph-bar.svg')); + cacheItem(u1078, resolvePath('unicons/history.svg')); + cacheItem(u1079, resolvePath('unicons/history-alt.svg')); + cacheItem(u1080, resolvePath('unicons/home-alt.svg')); + cacheItem(u1081, resolvePath('unicons/import.svg')); + cacheItem(u1082, resolvePath('unicons/info.svg')); + cacheItem(u1083, resolvePath('unicons/info-circle.svg')); + cacheItem(u1084, resolvePath('unicons/k6.svg')); + cacheItem(u1085, resolvePath('unicons/key-skeleton-alt.svg')); + cacheItem(u1086, resolvePath('unicons/keyboard.svg')); + cacheItem(u1087, resolvePath('unicons/link.svg')); + cacheItem(u1088, resolvePath('unicons/list-ul.svg')); + cacheItem(u1089, resolvePath('unicons/lock.svg')); + cacheItem(u1090, resolvePath('unicons/minus.svg')); + cacheItem(u1091, resolvePath('unicons/minus-circle.svg')); + cacheItem(u1092, resolvePath('unicons/mobile-android.svg')); + cacheItem(u1093, resolvePath('unicons/monitor.svg')); + cacheItem(u1094, resolvePath('unicons/pause.svg')); + cacheItem(u1095, resolvePath('unicons/pen.svg')); + cacheItem(u1096, resolvePath('unicons/play.svg')); + cacheItem(u1097, resolvePath('unicons/plug.svg')); + cacheItem(u1098, resolvePath('unicons/plus.svg')); + cacheItem(u1099, resolvePath('unicons/plus-circle.svg')); + cacheItem(u1100, resolvePath('unicons/power.svg')); + cacheItem(u1101, resolvePath('unicons/presentation-play.svg')); + cacheItem(u1102, resolvePath('unicons/process.svg')); + cacheItem(u1103, resolvePath('unicons/question-circle.svg')); + cacheItem(u1104, resolvePath('unicons/repeat.svg')); + cacheItem(u1105, resolvePath('unicons/rocket.svg')); + cacheItem(u1106, resolvePath('unicons/rss.svg')); + cacheItem(u1107, resolvePath('unicons/save.svg')); + cacheItem(u1108, resolvePath('unicons/search.svg')); + cacheItem(u1109, resolvePath('unicons/search-minus.svg')); + cacheItem(u1110, resolvePath('unicons/search-plus.svg')); + cacheItem(u1111, resolvePath('unicons/share-alt.svg')); + cacheItem(u1112, resolvePath('unicons/shield.svg')); + cacheItem(u1113, resolvePath('unicons/signal.svg')); + cacheItem(u1114, resolvePath('unicons/signin.svg')); + cacheItem(u1115, resolvePath('unicons/signout.svg')); + cacheItem(u1116, resolvePath('unicons/sitemap.svg')); + cacheItem(u1117, resolvePath('unicons/slack.svg')); + cacheItem(u1118, resolvePath('unicons/sliders-v-alt.svg')); + cacheItem(u1119, resolvePath('unicons/sort-amount-down.svg')); + cacheItem(u1120, resolvePath('unicons/sort-amount-up.svg')); + cacheItem(u1121, resolvePath('unicons/square-shape.svg')); + cacheItem(u1122, resolvePath('unicons/star.svg')); + cacheItem(u1123, resolvePath('unicons/step-backward.svg')); + cacheItem(u1124, resolvePath('unicons/sync.svg')); + cacheItem(u1125, resolvePath('unicons/stopwatch.svg')); + cacheItem(u1126, resolvePath('unicons/table.svg')); + cacheItem(u1127, resolvePath('unicons/tag-alt.svg')); + cacheItem(u1128, resolvePath('unicons/times.svg')); + cacheItem(u1129, resolvePath('unicons/trash-alt.svg')); + cacheItem(u1130, resolvePath('unicons/unlock.svg')); + cacheItem(u1131, resolvePath('unicons/upload.svg')); + cacheItem(u1132, resolvePath('unicons/user.svg')); + cacheItem(u1133, resolvePath('unicons/users-alt.svg')); + cacheItem(u1134, resolvePath('unicons/wrap-text.svg')); + cacheItem(u1135, resolvePath('unicons/cloud-upload.svg')); + cacheItem(u1136, resolvePath('unicons/credit-card.svg')); + cacheItem(u1137, resolvePath('unicons/file-copy-alt.svg')); + cacheItem(u1138, resolvePath('unicons/fire.svg')); + cacheItem(u1139, resolvePath('unicons/hourglass.svg')); + cacheItem(u1140, resolvePath('unicons/layer-group.svg')); + cacheItem(u1141, resolvePath('unicons/layers-alt.svg')); + cacheItem(u1142, resolvePath('unicons/line-alt.svg')); + cacheItem(u1143, resolvePath('unicons/list-ui-alt.svg')); + cacheItem(u1144, resolvePath('unicons/message.svg')); + cacheItem(u1145, resolvePath('unicons/palette.svg')); + cacheItem(u1146, resolvePath('unicons/percentage.svg')); + cacheItem(u1147, resolvePath('unicons/shield-exclamation.svg')); + cacheItem(u1148, resolvePath('unicons/plus-square.svg')); + cacheItem(u1149, resolvePath('unicons/x.svg')); + cacheItem(u1150, resolvePath('unicons/capture.svg')); + cacheItem(u1151, resolvePath('custom/gf-grid.svg')); + cacheItem(u1152, resolvePath('custom/gf-landscape.svg')); + cacheItem(u1153, resolvePath('custom/gf-layout-simple.svg')); + cacheItem(u1154, resolvePath('custom/gf-portrait.svg')); + cacheItem(u1155, resolvePath('custom/gf-show-context.svg')); + cacheItem(u1156, resolvePath('custom/gf-bar-alignment-after.svg')); + cacheItem(u1157, resolvePath('custom/gf-bar-alignment-before.svg')); + cacheItem(u1158, resolvePath('custom/gf-bar-alignment-center.svg')); + cacheItem(u1159, resolvePath('custom/gf-interpolation-linear.svg')); + cacheItem(u1160, resolvePath('custom/gf-interpolation-smooth.svg')); + cacheItem(u1161, resolvePath('custom/gf-interpolation-step-after.svg')); + cacheItem(u1162, resolvePath('custom/gf-interpolation-step-before.svg')); + cacheItem(u1163, resolvePath('custom/gf-logs.svg')); + cacheItem(u1164, resolvePath('custom/gf-movepane-left.svg')); + cacheItem(u1165, resolvePath('custom/gf-movepane-right.svg')); + cacheItem(u1166, resolvePath('mono/favorite.svg')); + cacheItem(u1167, resolvePath('mono/grafana.svg')); + cacheItem(u1168, resolvePath('mono/heart.svg')); + cacheItem(u1169, resolvePath('mono/heart-break.svg')); + cacheItem(u1170, resolvePath('mono/panel-add.svg')); + cacheItem(u1171, resolvePath('mono/library-panel.svg')); + cacheItem(u1172, resolvePath('unicons/record-audio.svg')); + cacheItem(u1173, resolvePath('unicons/horizontal-align-left.svg')); + cacheItem(u1174, resolvePath('unicons/horizontal-align-right.svg')); + cacheItem(u1175, resolvePath('unicons/horizontal-align-center.svg')); + cacheItem(u1176, resolvePath('unicons/vertical-align-top.svg')); + cacheItem(u1177, resolvePath('unicons/vertical-align-bottom.svg')); + cacheItem(u1178, resolvePath('unicons/vertical-align-center.svg')); + cacheItem(u1179, resolvePath('mono/percona-add.svg')); + cacheItem(u1180, resolvePath('mono/percona-alert.svg')); + cacheItem(u1181, resolvePath('mono/percona-analytics.svg')); + cacheItem(u1182, resolvePath('mono/percona-cluster-computing.svg')); + cacheItem(u1183, resolvePath('mono/percona-cluster-network.svg')); + cacheItem(u1184, resolvePath('mono/percona-cluster.svg')); + cacheItem(u1185, resolvePath('mono/percona-cpu.svg')); + cacheItem(u1186, resolvePath('mono/percona-dashboard.svg')); + cacheItem(u1187, resolvePath('mono/percona-database-checks.svg')); + cacheItem(u1188, resolvePath('mono/percona-database.svg')); + cacheItem(u1189, resolvePath('mono/percona-disk.svg')); + cacheItem(u1190, resolvePath('mono/percona-kubernetes.svg')); + cacheItem(u1191, resolvePath('mono/percona-memory.svg')); + cacheItem(u1192, resolvePath('mono/percona-network.svg')); + cacheItem(u1193, resolvePath('mono/percona-process.svg')); + cacheItem(u1194, resolvePath('mono/percona-setting.svg')); + cacheItem(u1195, resolvePath('mono/percona-summary.svg')); + cacheItem(u1196, resolvePath('mono/percona-surface.svg')); + cacheItem(u1197, resolvePath('mono/percona-temperature.svg')); + cacheItem(u1198, resolvePath('mono/pmm-logo.svg')); + cacheItem(u1199, resolvePath('mono/pmm-logo-light.svg')); + cacheItem(u1200, resolvePath('mono/qan-logo.svg')); + cacheItem(u1201, resolvePath('mono/percona-system.svg')); + cacheItem(u1202, resolvePath('mono/percona-nav-overview.svg')); + cacheItem(u1203, resolvePath('mono/percona-nav-summary.svg')); + cacheItem(u1204, resolvePath('mono/percona-nav-logo.svg')); + cacheItem(u1205, resolvePath('mono/percona-database-mysql.svg')); + cacheItem(u1206, resolvePath('mono/percona-database-postgresql.svg')); + cacheItem(u1207, resolvePath('mono/percona-database-mongodb.svg')); + cacheItem(u1208, resolvePath('mono/percona-database-proxysql.svg')); + cacheItem(u1209, resolvePath('mono/percona-database-haproxy.svg')); + cacheItem(u1210, resolvePath('mono/percona-bell.svg')); + cacheItem(u1211, resolvePath('mono/percona-bell-slash.svg')); + cacheItem(u1212, resolvePath('unicons/ticket.svg')); + cacheItem(u1213, resolvePath('unicons/angle-double-left.svg')); + cacheItem(u1214, resolvePath('unicons/times-circle.svg')); + cacheItem(u1215, resolvePath('mono/percona-asterisk.svg')); + cacheItem(u1216, resolvePath('unicons/user-check.svg')); + cacheItem(u1217, resolvePath('unicons/user-square.svg')); // do not edit this list directly // the list of icons live here: @grafana/ui/components/Icon/cached.json } diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts index 87625fce8218..37f4023c040a 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts @@ -22,13 +22,6 @@ import { PMM_ADD_INSTANCE_CREATE_PAGE, } from './PerconaNavigation.constants'; -const DIVIDER: NavModelItem = { - id: 'divider', - text: 'Divider', - hideFromTabs: true, - isDivider: true, -}; - export const buildIntegratedAlertingMenuItem = (mainLinks: NavModelItem[]): NavModelItem | undefined => { const alertingItem = mainLinks.find(({ id }) => id === 'alerting'); @@ -71,11 +64,6 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: text: 'Organization', isSection: true, }; - const pmmLink: NavModelItem = { - id: 'settings-pmm', - text: 'PMM', - isSection: true, - }; const settingsLink: NavModelItem = { id: 'settings', icon: 'percona-setting', @@ -83,21 +71,36 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: url: `${config.appSubUrl}/settings`, }; const configNode = mainLinks.find((link) => link.id === 'cfg'); + const pmmConfigNode = mainLinks.find((link) => link.id === 'pmmcfg') + + if (!pmmConfigNode) { + const pmmcfgNode: NavModelItem = { + id: 'pmmcfg', + text: 'PMM Configuration', + icon: 'percona-nav-logo', + url: `${config.appSubUrl}/inventory`, + subTitle: 'Configuration', + children: [PMM_ADD_INSTANCE_PAGE, PMM_ADD_INSTANCE_CREATE_PAGE, inventoryLink, settingsLink], + sortWeight: -800 + }; + mainLinks.push(pmmcfgNode); + } if (!configNode) { const cfgNode: NavModelItem = { id: 'cfg', text: 'Configuration', icon: 'cog', - url: `${config.appSubUrl}/inventory`, + url: `${config.appSubUrl}/admin`, subTitle: 'Configuration', - children: [inventoryLink, settingsLink, DIVIDER, PMM_ADD_INSTANCE_PAGE], + children: [], }; if (settings?.enableAccessControl) { addAccessRolesLink(cfgNode); } mainLinks.push(cfgNode); } else { + configNode.text = 'Configuration'; if (!configNode.children) { configNode.children = []; } @@ -105,15 +108,8 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: orgLink.text = configNode.subTitle || ''; configNode.subTitle = ''; } - configNode.url = `${config.appSubUrl}/inventory`; + configNode.url = `${config.appSubUrl}/admin`; configNode.children = [ - pmmLink, - PMM_ADD_INSTANCE_PAGE, - PMM_ADD_INSTANCE_CREATE_PAGE, - inventoryLink, - settingsLink, - DIVIDER, - orgLink, ...configNode.children, ]; if (settings?.enableAccessControl) { @@ -127,7 +123,6 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: export const addAccessRolesLink = (configNode: NavModelItem) => { if (configNode.children) { const accessNode = configNode.children.find((item) => item.id === 'cfg/access'); - if (accessNode && accessNode.children) { const usersIdx = accessNode.children.findIndex((item) => item.id === 'global-users'); PMM_ACCESS_ROLES_PAGE.parentItem = accessNode; diff --git a/public/img/icons/mono/percona-nav-logo.svg b/public/img/icons/mono/percona-nav-logo.svg new file mode 100644 index 000000000000..c7ee8b1e2e97 --- /dev/null +++ b/public/img/icons/mono/percona-nav-logo.svg @@ -0,0 +1,4 @@ + + + + From c348157ee575b49a0c995cdf992a1356897fb44c Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Thu, 15 Feb 2024 12:40:33 +0530 Subject: [PATCH 05/14] PMM-12742 fix navmenu for access roles --- .../PerconaNavigation/PerconaNavigation.utils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts index 37f4023c040a..97434d093e85 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts @@ -124,6 +124,7 @@ export const addAccessRolesLink = (configNode: NavModelItem) => { if (configNode.children) { const accessNode = configNode.children.find((item) => item.id === 'cfg/access'); if (accessNode && accessNode.children) { + accessNode.parentItem = configNode; const usersIdx = accessNode.children.findIndex((item) => item.id === 'global-users'); PMM_ACCESS_ROLES_PAGE.parentItem = accessNode; accessNode.children = [ From 8ac464ab16faf7b19c6553e32167ab08ac68582b Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Thu, 15 Feb 2024 18:00:44 +0530 Subject: [PATCH 06/14] PMM-12742 fix access roles menu item --- .../PerconaNavigation/PerconaNavigation.utils.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts index 97434d093e85..54f6f05b3828 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts @@ -127,6 +127,7 @@ export const addAccessRolesLink = (configNode: NavModelItem) => { accessNode.parentItem = configNode; const usersIdx = accessNode.children.findIndex((item) => item.id === 'global-users'); PMM_ACCESS_ROLES_PAGE.parentItem = accessNode; + PMM_ACCESS_ROLE_CREATE_PAGE.parentItem = accessNode; accessNode.children = [ ...accessNode.children.slice(0, usersIdx + 1), PMM_ACCESS_ROLES_PAGE, From dc62b27d18e24e2ff6b6a089334173cf97c6a2ab Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Fri, 16 Feb 2024 16:37:04 +0530 Subject: [PATCH 07/14] PMM-12742 Fix navIndex of deep child --- public/app/core/reducers/navModel.ts | 10 +++++++++- .../PerconaNavigation/PerconaNavigation.utils.ts | 14 ++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/public/app/core/reducers/navModel.ts b/public/app/core/reducers/navModel.ts index d4968f546845..289c46499069 100644 --- a/public/app/core/reducers/navModel.ts +++ b/public/app/core/reducers/navModel.ts @@ -91,10 +91,18 @@ export const navIndexReducer = (state: NavIndex = initialState, action: AnyActio if (updateNavIndex.match(action)) { const newPages: NavIndex = {}; const payload = action.payload; - function addNewPages(node: NavModelItem) { if (node.children) { for (const child of node.children) { + // @PERCONA update the navIndex of deep child + if(child.children){ + for (const child1 of child.children) { + newPages[child1.id!] = { + ...child1, + parentItem: child, + }; + } + } newPages[child.id!] = { ...child, parentItem: node, diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts index 54f6f05b3828..140174bb9135 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts @@ -109,9 +109,6 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: configNode.subTitle = ''; } configNode.url = `${config.appSubUrl}/admin`; - configNode.children = [ - ...configNode.children, - ]; if (settings?.enableAccessControl) { addAccessRolesLink(configNode); } @@ -123,11 +120,14 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: export const addAccessRolesLink = (configNode: NavModelItem) => { if (configNode.children) { const accessNode = configNode.children.find((item) => item.id === 'cfg/access'); + const general = configNode.children.find((item) => item.id === 'cfg/general'); + const plugins = configNode.children.find((item) => item.id === 'cfg/plugins'); + + if (accessNode && accessNode.children) { accessNode.parentItem = configNode; const usersIdx = accessNode.children.findIndex((item) => item.id === 'global-users'); PMM_ACCESS_ROLES_PAGE.parentItem = accessNode; - PMM_ACCESS_ROLE_CREATE_PAGE.parentItem = accessNode; accessNode.children = [ ...accessNode.children.slice(0, usersIdx + 1), PMM_ACCESS_ROLES_PAGE, @@ -136,6 +136,12 @@ export const addAccessRolesLink = (configNode: NavModelItem) => { ...accessNode.children.slice(usersIdx + 1), ]; } + if (general && general.children) { + general.parentItem = configNode; + } + if (plugins && plugins.children) { + plugins.parentItem = configNode; + } } }; From 5627057adcadf4961e29bf59eae9f56f4abc909e Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Fri, 16 Feb 2024 16:52:29 +0530 Subject: [PATCH 08/14] PMM-12742 Change menu item nav --- .../PerconaNavigation/PerconaNavigation.utils.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts index 140174bb9135..73af59b336f3 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts @@ -100,7 +100,6 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: } mainLinks.push(cfgNode); } else { - configNode.text = 'Configuration'; if (!configNode.children) { configNode.children = []; } From 48507007002882616f88dda9927a5d45f1d1ba19 Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Mon, 19 Feb 2024 13:40:01 +0530 Subject: [PATCH 09/14] PMM-12742 Run prettier --- public/app/core/icons/iconBundle.ts | 1 - public/app/core/reducers/navModel.ts | 2 +- .../PerconaNavigation/PerconaNavigation.utils.ts | 5 ++--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/public/app/core/icons/iconBundle.ts b/public/app/core/icons/iconBundle.ts index 3ea8c2ec13b0..3ea1ff7f7e5f 100644 --- a/public/app/core/icons/iconBundle.ts +++ b/public/app/core/icons/iconBundle.ts @@ -3,7 +3,6 @@ // This file is automatically generated (do not edit it here) // see @grafana/ui/scripts/generate-icon-bundle.js - import { cacheStore } from 'react-inlinesvg'; // do not edit this list directly diff --git a/public/app/core/reducers/navModel.ts b/public/app/core/reducers/navModel.ts index 289c46499069..5852cfdd519c 100644 --- a/public/app/core/reducers/navModel.ts +++ b/public/app/core/reducers/navModel.ts @@ -95,7 +95,7 @@ export const navIndexReducer = (state: NavIndex = initialState, action: AnyActio if (node.children) { for (const child of node.children) { // @PERCONA update the navIndex of deep child - if(child.children){ + if (child.children) { for (const child1 of child.children) { newPages[child1.id!] = { ...child1, diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts index 73af59b336f3..8fa3995def09 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.utils.ts @@ -71,7 +71,7 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: url: `${config.appSubUrl}/settings`, }; const configNode = mainLinks.find((link) => link.id === 'cfg'); - const pmmConfigNode = mainLinks.find((link) => link.id === 'pmmcfg') + const pmmConfigNode = mainLinks.find((link) => link.id === 'pmmcfg'); if (!pmmConfigNode) { const pmmcfgNode: NavModelItem = { @@ -81,7 +81,7 @@ export const buildInventoryAndSettings = (mainLinks: NavModelItem[], settings?: url: `${config.appSubUrl}/inventory`, subTitle: 'Configuration', children: [PMM_ADD_INSTANCE_PAGE, PMM_ADD_INSTANCE_CREATE_PAGE, inventoryLink, settingsLink], - sortWeight: -800 + sortWeight: -800, }; mainLinks.push(pmmcfgNode); } @@ -122,7 +122,6 @@ export const addAccessRolesLink = (configNode: NavModelItem) => { const general = configNode.children.find((item) => item.id === 'cfg/general'); const plugins = configNode.children.find((item) => item.id === 'cfg/plugins'); - if (accessNode && accessNode.children) { accessNode.parentItem = configNode; const usersIdx = accessNode.children.findIndex((item) => item.id === 'global-users'); From 3f40514cef72d8a6c8c02c996b5a697a25e55918 Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Mon, 19 Feb 2024 14:23:46 +0530 Subject: [PATCH 10/14] PMM-12847 Change for new pmm menu item --- public/app/percona/tour/steps/product/product.messages.ts | 6 +++--- public/app/percona/tour/steps/product/product.steps.tsx | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/public/app/percona/tour/steps/product/product.messages.ts b/public/app/percona/tour/steps/product/product.messages.ts index c4a46e0325d5..f28d17142279 100644 --- a/public/app/percona/tour/steps/product/product.messages.ts +++ b/public/app/percona/tour/steps/product/product.messages.ts @@ -39,7 +39,7 @@ export const Messages = { docs: 'Integrated Alerting documentation', }, configPanel: { - title: 'Configuration Panel', + title: 'PMM Configuration Panel', services: "Here you can check Services, Agents and Nodes in your PMM's Inventory, and add new instances for monitoring: PostgreSQL, MySQL, MongoDB, HAProxy, etc.", settings: @@ -48,8 +48,8 @@ export const Messages = { settingsDocsLink: 'here', }, serverAdmin: { - title: 'Server Admin', - userManagement: 'In the Server Admin panel you can assign and control user management for PMM:', + title: 'Administration', + userManagement: 'In the Administration panel you can assign and control user management for PMM:', addEditRemove: 'Add, edit, and remove users.', grant: 'Grant or Revoke admin privileges for a user.', manageOrg: 'Manage organizations to which the user belongs and their assigned role.', diff --git a/public/app/percona/tour/steps/product/product.steps.tsx b/public/app/percona/tour/steps/product/product.steps.tsx index f6a0ae455400..a56c5dbeae6f 100644 --- a/public/app/percona/tour/steps/product/product.steps.tsx +++ b/public/app/percona/tour/steps/product/product.steps.tsx @@ -104,7 +104,7 @@ export const getProductTourSteps = ( ...(isPmmAdmin ? [ { - selector: '[aria-label="Configuration"]', + selector: '[aria-label="PMM Configuration"]', content: (

{Messages.configPanel.services}

From 4d6b6de4da695f77f154cb88e6a149f4a2ce0ceb Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Tue, 20 Feb 2024 15:16:16 +0530 Subject: [PATCH 11/14] PMM-12742 Fix PMM dump header --- .../PerconaNavigation/PerconaNavigation.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.tsx b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.tsx index b391dfcf6d8d..bb5f1e17dc3b 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.tsx +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaNavigation/PerconaNavigation.tsx @@ -94,6 +94,13 @@ const PerconaNavigation: FC = () => { updatedNavTree.push(PMM_ENVIRONMENT_OVERVIEW_PAGE); } + // PMM Dump + const help = updatedNavTree.find((i) => i.id === 'help'); + if (help) { + help.children?.push(PMM_DUMP_PAGE); + dispatch(updateNavIndex(help)); + } + if (isAuthorized) { if (result?.enableAccessControl) { const cfg = cloneDeep(initialState).find((i) => i.id === 'cfg'); From 9792566240cf3a2a47f5fe14caf2052ddd70046a Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Thu, 22 Feb 2024 14:12:24 +0530 Subject: [PATCH 12/14] PMM-12847 Update main menu toggle logic --- public/app/percona/shared/core/hooks/tour.ts | 18 ++++++++++++++---- .../app/percona/tour/components/NextButton.tsx | 12 +----------- .../app/percona/tour/components/PrevButton.tsx | 15 ++------------- 3 files changed, 17 insertions(+), 28 deletions(-) diff --git a/public/app/percona/shared/core/hooks/tour.ts b/public/app/percona/shared/core/hooks/tour.ts index 4ebe487a14f3..92a74a0335cb 100644 --- a/public/app/percona/shared/core/hooks/tour.ts +++ b/public/app/percona/shared/core/hooks/tour.ts @@ -1,6 +1,7 @@ import { useTour } from '@reactour/tour'; import { useCallback, useEffect, useMemo } from 'react'; +import { useGrafana } from 'app/core/context/GrafanaContext'; import * as TourActions from 'app/percona/shared/core/reducers/tour'; import { TourStep, TourType } from 'app/percona/shared/core/reducers/tour'; import { useAppDispatch } from 'app/store/store'; @@ -14,6 +15,7 @@ const usePerconaTour = () => { const { steps, tour } = useSelector(getTour); const reactTour = useTour(); const tourSteps = useMemo(() => (tour ? steps[tour] : []), [tour, steps]); + const { chrome } = useGrafana(); useEffect(() => { if (reactTour.setSteps) { @@ -55,13 +57,21 @@ const usePerconaTour = () => { [dispatch] ); - const nextStep = useCallback(() => { + const nextStep = useCallback(async () => { + if (tour === 'product') { + await chrome.setMegaMenu('closed'); + await chrome.setMegaMenu('open'); + } reactTour.setCurrentStep((step: number) => (step === reactTour.steps.length - 1 ? step : step + 1)); - }, [reactTour]); + }, [reactTour, chrome, tour]); - const previousStep = useCallback(() => { + const previousStep = useCallback(async () => { + if (tour === 'product') { + await chrome.setMegaMenu('closed'); + await chrome.setMegaMenu('open'); + } reactTour.setCurrentStep((step: number) => (step === 0 ? 0 : step - 1)); - }, [reactTour]); + }, [reactTour, chrome, tour]); return { tour, diff --git a/public/app/percona/tour/components/NextButton.tsx b/public/app/percona/tour/components/NextButton.tsx index f564ddea85d2..3fbb640d2ed4 100644 --- a/public/app/percona/tour/components/NextButton.tsx +++ b/public/app/percona/tour/components/NextButton.tsx @@ -4,25 +4,15 @@ import { BtnFnProps } from '@reactour/tour/dist/types'; import React, { FC } from 'react'; import { Button, IconButton } from '@grafana/ui'; -import { useGrafana } from 'app/core/context/GrafanaContext'; import usePerconaTour from 'app/percona/shared/core/hooks/tour'; const NextButton: FC = () => { const { tour, endTour, nextStep, isLastStep } = usePerconaTour(); - const { chrome } = useGrafana(); - - const handleClick = async () => { - if (tour === 'product') { - await chrome.setMegaMenu('closed'); - await chrome.setMegaMenu('open'); - } - nextStep(); - }; return isLastStep ? ( ) : ( - + ); }; diff --git a/public/app/percona/tour/components/PrevButton.tsx b/public/app/percona/tour/components/PrevButton.tsx index 4f07b2c44d81..c79b8c2ec9b9 100644 --- a/public/app/percona/tour/components/PrevButton.tsx +++ b/public/app/percona/tour/components/PrevButton.tsx @@ -4,24 +4,13 @@ import { BtnFnProps } from '@reactour/tour/dist/types'; import React, { FC } from 'react'; import { IconButton } from '@grafana/ui'; -import { useGrafana } from 'app/core/context/GrafanaContext'; import usePerconaTour from 'app/percona/shared/core/hooks/tour'; const PrevButton: FC = () => { - const { tour, previousStep, isFirstStep } = usePerconaTour(); - - const { chrome } = useGrafana(); - - const handleClick = async () => { - if (tour === 'product') { - await chrome.setMegaMenu('closed'); - await chrome.setMegaMenu('open'); - } - previousStep(); - }; + const { previousStep, isFirstStep } = usePerconaTour(); return ( - + ); }; From a5db8fc98359a231e74b91de55a170b6de655344 Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Wed, 3 Apr 2024 16:21:37 +0530 Subject: [PATCH 13/14] PMM-12847 fix according to g10.4 --- .../AppChrome/MegaMenu/MegaMenuItem.tsx | 2 +- .../PerconaBootstrapper/PerconaBootstrapper.tsx | 3 --- public/app/percona/shared/core/hooks/tour.ts | 14 ++------------ .../tour/steps/alerting/alerting.steps.tsx | 16 ++++++++-------- 4 files changed, 11 insertions(+), 24 deletions(-) diff --git a/public/app/core/components/AppChrome/MegaMenu/MegaMenuItem.tsx b/public/app/core/components/AppChrome/MegaMenu/MegaMenuItem.tsx index a0cd8c310cc0..f4a58771cd74 100644 --- a/public/app/core/components/AppChrome/MegaMenu/MegaMenuItem.tsx +++ b/public/app/core/components/AppChrome/MegaMenu/MegaMenuItem.tsx @@ -80,7 +80,7 @@ export function MegaMenuItem({ link, activeItem, level = 0, onClick }: Props) { /> )}
-
+
{ diff --git a/public/app/percona/shared/components/PerconaBootstrapper/PerconaBootstrapper.tsx b/public/app/percona/shared/components/PerconaBootstrapper/PerconaBootstrapper.tsx index 78bf9ef7b43f..be1a330158e9 100644 --- a/public/app/percona/shared/components/PerconaBootstrapper/PerconaBootstrapper.tsx +++ b/public/app/percona/shared/components/PerconaBootstrapper/PerconaBootstrapper.tsx @@ -2,7 +2,6 @@ import React, { useEffect, useState } from 'react'; import { config } from '@grafana/runtime'; import { Button, HorizontalGroup, Icon, Modal, useStyles2, useTheme2 } from '@grafana/ui'; -import { useGrafana } from 'app/core/context/GrafanaContext'; import { fetchServerInfoAction, fetchServerSaasHostAction, @@ -37,7 +36,6 @@ export const PerconaBootstrapper = ({ onReady }: PerconaBootstrapperProps) => { const { user } = config.bootData; const { isSignedIn } = user; const theme = useTheme2(); - const { chrome } = useGrafana(); const dismissModal = () => { setModalIsOpen(false); @@ -51,7 +49,6 @@ export const PerconaBootstrapper = ({ onReady }: PerconaBootstrapperProps) => { const startTour = () => { setModalIsOpen(false); - chrome.setMegaMenu('open'); startPerconaTour(TourType.Product); }; diff --git a/public/app/percona/shared/core/hooks/tour.ts b/public/app/percona/shared/core/hooks/tour.ts index 92a74a0335cb..0aad6cc443e0 100644 --- a/public/app/percona/shared/core/hooks/tour.ts +++ b/public/app/percona/shared/core/hooks/tour.ts @@ -1,7 +1,6 @@ import { useTour } from '@reactour/tour'; import { useCallback, useEffect, useMemo } from 'react'; -import { useGrafana } from 'app/core/context/GrafanaContext'; import * as TourActions from 'app/percona/shared/core/reducers/tour'; import { TourStep, TourType } from 'app/percona/shared/core/reducers/tour'; import { useAppDispatch } from 'app/store/store'; @@ -15,7 +14,6 @@ const usePerconaTour = () => { const { steps, tour } = useSelector(getTour); const reactTour = useTour(); const tourSteps = useMemo(() => (tour ? steps[tour] : []), [tour, steps]); - const { chrome } = useGrafana(); useEffect(() => { if (reactTour.setSteps) { @@ -58,20 +56,12 @@ const usePerconaTour = () => { ); const nextStep = useCallback(async () => { - if (tour === 'product') { - await chrome.setMegaMenu('closed'); - await chrome.setMegaMenu('open'); - } reactTour.setCurrentStep((step: number) => (step === reactTour.steps.length - 1 ? step : step + 1)); - }, [reactTour, chrome, tour]); + }, [reactTour]); const previousStep = useCallback(async () => { - if (tour === 'product') { - await chrome.setMegaMenu('closed'); - await chrome.setMegaMenu('open'); - } reactTour.setCurrentStep((step: number) => (step === 0 ? 0 : step - 1)); - }, [reactTour, chrome, tour]); + }, [reactTour]); return { tour, diff --git a/public/app/percona/tour/steps/alerting/alerting.steps.tsx b/public/app/percona/tour/steps/alerting/alerting.steps.tsx index ab2f6eaff25d..af1560eb39d5 100644 --- a/public/app/percona/tour/steps/alerting/alerting.steps.tsx +++ b/public/app/percona/tour/steps/alerting/alerting.steps.tsx @@ -9,7 +9,7 @@ export const getAlertingTourSteps = (isAdmin = false): TourStep[] => [ ...(isAdmin ? [ { - selector: '[aria-label="Tab Fired alerts"]', + selector: '[aria-label="Fired alerts"]', mutationObservables: ['.page-body'], resizeObservables: ['.page-body'], content: ( @@ -20,7 +20,7 @@ export const getAlertingTourSteps = (isAdmin = false): TourStep[] => [ ), }, { - selector: '[aria-label="Tab Alert rule templates"]', + selector: '[aria-label="Alert rule templates"]', content: (

{Messages.alertRuleTemplates.effortlessly}

@@ -31,7 +31,7 @@ export const getAlertingTourSteps = (isAdmin = false): TourStep[] => [ ] : []), { - selector: '[aria-label="Tab Alert rules"]', + selector: '[aria-label="Alert rules"]', content: (

{Messages.alertRules.rules}

@@ -41,7 +41,7 @@ export const getAlertingTourSteps = (isAdmin = false): TourStep[] => [ ), }, { - selector: '[aria-label="Tab Contact points"]', + selector: '[aria-label="Contact points"]', content: (

{Messages.contactPoints.define}

@@ -50,7 +50,7 @@ export const getAlertingTourSteps = (isAdmin = false): TourStep[] => [ ), }, { - selector: '[aria-label="Tab Notification policies"]', + selector: '[aria-label="Notification policies"]', content: (

{Messages.notificationPolicies.routed}

@@ -59,7 +59,7 @@ export const getAlertingTourSteps = (isAdmin = false): TourStep[] => [ ), }, { - selector: '[aria-label="Tab Silences"]', + selector: '[aria-label="Silences"]', content: (

{Messages.silences.create}

@@ -68,7 +68,7 @@ export const getAlertingTourSteps = (isAdmin = false): TourStep[] => [ ), }, { - selector: '[aria-label="Tab Alert groups"]', + selector: '[aria-label="Alert groups"]', content: (

{Messages.alertGroups.alert}

@@ -79,7 +79,7 @@ export const getAlertingTourSteps = (isAdmin = false): TourStep[] => [ ...(isAdmin ? [ { - selector: '[aria-label="Tab Admin"]', + selector: '[aria-label="Admin"]', content: (

{Messages.admin.configure}

From d84e744622bbaad88dc636e8d21ef4a145a03c5b Mon Sep 17 00:00:00 2001 From: Yash Sartanpara Date: Wed, 3 Apr 2024 16:58:31 +0530 Subject: [PATCH 14/14] PMM-12847 remove async --- public/app/percona/shared/core/hooks/tour.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/app/percona/shared/core/hooks/tour.ts b/public/app/percona/shared/core/hooks/tour.ts index 0aad6cc443e0..4ebe487a14f3 100644 --- a/public/app/percona/shared/core/hooks/tour.ts +++ b/public/app/percona/shared/core/hooks/tour.ts @@ -55,11 +55,11 @@ const usePerconaTour = () => { [dispatch] ); - const nextStep = useCallback(async () => { + const nextStep = useCallback(() => { reactTour.setCurrentStep((step: number) => (step === reactTour.steps.length - 1 ? step : step + 1)); }, [reactTour]); - const previousStep = useCallback(async () => { + const previousStep = useCallback(() => { reactTour.setCurrentStep((step: number) => (step === 0 ? 0 : step - 1)); }, [reactTour]);