Browse Source

HDFS-15277. Parent directory in the explorer does not support all path formats. Contributed by Jianfei Jiang.

Ayush Saxena 5 years ago
parent
commit
cc5c1da7c1

+ 9 - 5
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/webapps/router/explorer.js

@@ -300,6 +300,11 @@
   }
 
   function browse_directory(dir) {
+    if (dir.match('^/+$')) {
+      $('#parentDir').prop('disabled', true);
+    } else {
+      $('#parentDir').prop('disabled', false);
+    }
     var HELPERS = {
       'helper_date_tostring' : function (chunk, ctx, bodies, params) {
         var value = dust.helpers.tap(params.value, chunk, ctx);
@@ -378,11 +383,10 @@
 
 
   $('#parentDir').click(function () {
-     var current = current_directory;
-     var lastIndex = current.lastIndexOf('/');
-     var parent = current.substr(0, lastIndex);
-     browse_directory(parent);
-  })
+    var current = current_directory;
+    var parent = current.replace(/\/+[^/]+\/*$/,"") || '/';
+    browse_directory(parent);
+  });
 
   function init() {
     dust.loadSource(dust.compile($('#tmpl-explorer').html(), 'explorer'));

+ 7 - 3
hadoop-hdfs-project/hadoop-hdfs/src/main/webapps/hdfs/explorer.js

@@ -300,6 +300,11 @@
   }
 
   function browse_directory(dir) {
+    if (dir.match('^/+$')) {
+      $('#parentDir').prop('disabled', true);
+    } else {
+      $('#parentDir').prop('disabled', false);
+    }
     var HELPERS = {
       'helper_date_tostring' : function (chunk, ctx, bodies, params) {
         var value = dust.helpers.tap(params.value, chunk, ctx);
@@ -378,10 +383,9 @@
 
   $('#parentDir').click(function () {
     var current = current_directory;
-    var lastIndex = current.lastIndexOf('/');
-    var parent = current.substr(0, lastIndex);
+    var parent = current.replace(/\/+[^/]+\/*$/,"") || '/';
     browse_directory(parent);
-  })
+  });
 
 
   function init() {