فهرست منبع

AMBARI-12297. When in the Tez view, you cannot switch to the Hive view. (Erik via Jaimin)

Jaimin Jetly 10 سال پیش
والد
کامیت
63164d9b82
1فایلهای تغییر یافته به همراه21 افزوده شده و 1 حذف شده
  1. 21 1
      ambari-web/app/routes/views.js

+ 21 - 1
ambari-web/app/routes/views.js

@@ -39,7 +39,11 @@ module.exports = Em.Route.extend({
       var href = ['/views', params.viewName, params.version, params.instanceName + "/"].join('/');
       var viewPath = this.parseViewPath(window.location.href.slice(window.location.href.indexOf('?')));
       if (viewPath) {
-        href = ['/views', params.viewName, params.version, params.instanceName.slice(0, params.instanceName.lastIndexOf('?')) + "/"].join('/');
+        var slicedInstanceName = this._getSlicedInstanceName(params.instanceName);
+        if (slicedInstanceName === params.instanceName) {
+          viewPath = '';
+        }
+        href = ['/views', params.viewName, params.version, slicedInstanceName + "/"].join('/');
         //remove slash from viewPath since href already contains it at the end
         if (viewPath.charAt(0) === '/') viewPath = viewPath.slice(1);
       }
@@ -50,6 +54,22 @@ module.exports = Em.Route.extend({
         router.get('mainController').connectOutlet('mainViewsDetails', content);
       });
     },
+
+    /**
+     * parse the instance name and slice if needed
+     *
+     * @param {string}
+     * @returns {string}
+     * @private
+     */
+    _getSlicedInstanceName: function (instanceName) {
+      if (instanceName.lastIndexOf('?') > -1) {
+        return instanceName.slice(0, instanceName.lastIndexOf('?'));
+      }
+
+      return instanceName;
+    },
+
     /**
      * parse internal view path
      * "viewPath" - used as a key of additional path