浏览代码

HUE-3712 [home] Fix js error when going back on home

Johan Ahlen 9 年之前
父节点
当前提交
8141cc2
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      desktop/core/src/desktop/templates/home2.mako

+ 8 - 2
desktop/core/src/desktop/templates/home2.mako

@@ -243,6 +243,12 @@ ${ fileBrowser.fileBrowser() }
           viewModel.openUuid(location.getParameter('uuid'));
         } else if (location.getParameter('path')) {
           viewModel.openPath(location.getParameter('path'));
+        } else if (viewModel.activeEntry() && viewModel.activeEntry().loaded()) {
+          var rootEntry = viewModel.activeEntry();
+          while (rootEntry && ! rootEntry.isRoot()) {
+            rootEntry = rootEntry.parent;
+          }
+          viewModel.activeEntry(rootEntry);
         } else {
           viewModel.activeEntry().load(function () {
             if (viewModel.activeEntry().entries().length === 1 && viewModel.activeEntry().definition().type === 'directory') {
@@ -256,9 +262,9 @@ ${ fileBrowser.fileBrowser() }
       loadUrlParam();
 
       viewModel.activeEntry.subscribe(function (newEntry) {
-        if (newEntry.definition().uuid && ! newEntry.isRoot()) {
+        if (typeof newEntry !== 'undefined' && newEntry.definition().uuid && ! newEntry.isRoot()) {
           hueUtils.changeURL('/home?uuid=' + newEntry.definition().uuid);
-        } else if (newEntry.isRoot()) {
+        } else if (typeof newEntry === 'undefined' || newEntry.isRoot()) {
           hueUtils.changeURL('/home');
         }
       });