浏览代码

[frontend] Fix issue with item non-unique item naming in the sidebar

Johan Ahlen 4 年之前
父节点
当前提交
25e7f5bfc6
共有 1 个文件被更改,包括 11 次插入9 次删除
  1. 11 9
      desktop/core/src/desktop/js/components/sidebar/HueSidebar.vue

+ 11 - 9
desktop/core/src/desktop/js/components/sidebar/HueSidebar.vue

@@ -239,10 +239,13 @@
     currentAppChanged(appName: string): void {
     currentAppChanged(appName: string): void {
       let adaptedName;
       let adaptedName;
 
 
+      const params = new URLSearchParams(location.search);
       switch (appName) {
       switch (appName) {
+        case 'dashboard':
+          adaptedName = params.get('engine') ? `${appName}-${params.get('engine')}` : appName;
+          break;
         case 'editor':
         case 'editor':
-          const params = new URLSearchParams(location.search);
-          adaptedName = params.get('type') || appName;
+          adaptedName = params.get('type') ? `${appName}-${params.get('type')}` : appName;
           break;
           break;
         case 'filebrowser':
         case 'filebrowser':
           if (location.href.indexOf('=S3A') !== -1) {
           if (location.href.indexOf('=S3A') !== -1) {
@@ -265,13 +268,13 @@
           adaptedName = 'tables';
           adaptedName = 'tables';
           break;
           break;
         case 'oozie_bundle':
         case 'oozie_bundle':
-          adaptedName = 'oozie-bundle';
+          adaptedName = 'scheduler-oozie-bundle';
           break;
           break;
         case 'oozie_coordinator':
         case 'oozie_coordinator':
-          adaptedName = 'oozie-coordinator';
+          adaptedName = 'scheduler-oozie-coordinator';
           break;
           break;
         case 'oozie_workflow':
         case 'oozie_workflow':
-          adaptedName = 'oozie-workflow';
+          adaptedName = 'scheduler-oozie-workflow';
           break;
           break;
         case 'security_hive':
         case 'security_hive':
           adaptedName = 'security';
           adaptedName = 'security';
@@ -283,7 +286,6 @@
         case 'useradmin_users':
         case 'useradmin_users':
           adaptedName = 'user';
           adaptedName = 'user';
           break;
           break;
-        case 'dashboard':
         case 'hbase':
         case 'hbase':
         case 'importer':
         case 'importer':
         case 'indexes':
         case 'indexes':
@@ -355,7 +357,7 @@
             if (config.interpreters.length === 1) {
             if (config.interpreters.length === 1) {
               appsItems.push({
               appsItems.push({
                 type: 'navigation',
                 type: 'navigation',
-                name: config.name,
+                name: `${appName}-${config.name}`,
                 displayName: config.displayName,
                 displayName: config.displayName,
                 iconHtml: getIconHtml(config.name),
                 iconHtml: getIconHtml(config.name),
                 url: config.page,
                 url: config.page,
@@ -372,7 +374,7 @@
                 }
                 }
                 const interpreterItem: SidebarAccordionSubItem = {
                 const interpreterItem: SidebarAccordionSubItem = {
                   type: 'navigation',
                   type: 'navigation',
-                  name: interpreter.type,
+                  name: `${appName}-${interpreter.type}`,
                   displayName: interpreter.displayName,
                   displayName: interpreter.displayName,
                   url: interpreter.page,
                   url: interpreter.page,
                   handler: (event: Event) => onHueLinkClick(event, interpreter.page)
                   handler: (event: Event) => onHueLinkClick(event, interpreter.page)
@@ -393,7 +395,7 @@
                   : 'https://docs.gethue.com/administrator/configuration/connectors/';
                   : 'https://docs.gethue.com/administrator/configuration/connectors/';
                 subApps.push({
                 subApps.push({
                   type: 'navigation',
                   type: 'navigation',
-                  name: 'addMoreInterpreters',
+                  name: 'editor-AddMoreInterpreters',
                   displayName: I18n('Edit list...'),
                   displayName: I18n('Edit list...'),
                   url,
                   url,
                   handler: (event: Event) => onHueLinkClick(event, url)
                   handler: (event: Event) => onHueLinkClick(event, url)