浏览代码

[security] Show open folder or selected database also for nodes without children

Enrico Berti 11 年之前
父节点
当前提交
48a055f

+ 2 - 2
apps/security/src/security/templates/hdfs.mako

@@ -267,8 +267,8 @@ ${ layout.menubar(section='hdfs') }
 
 
 <%def name="treeIcons()">
-  'fa-folder-open-o': isDir() && nodes().length > 0 && !aclBit(),
-  'fa-folder-open': isDir() && nodes().length > 0 && aclBit(),
+  'fa-folder-open-o': isDir() && (nodes().length > 0 || isLoaded()) && !aclBit(),
+  'fa-folder-open': isDir() && (nodes().length > 0 || isLoaded()) && aclBit(),
   'fa-folder-o': isDir() && nodes().length == 0 && !aclBit(),
   'fa-folder': isDir() && nodes().length == 0 && aclBit(),
   'fa-file-o': !isDir() && !aclBit(),

+ 1 - 1
apps/security/src/security/templates/hive.mako

@@ -432,7 +432,7 @@ ${ layout.menubar(section='hive') }
 
 <%def name="treeIcons()">
   'fa-hdd-o': isServer(),
-  'fa-database-open': isDb() && nodes().length > 0,
+  'fa-database-open': isDb() && (nodes().length > 0 || isLoaded()),
   'fa-database': isDb() && nodes().length == 0,
   'fa-table': isTable(),
   'fa-columns': isColumn()

+ 3 - 0
apps/security/static/js/hdfs.ko.js

@@ -92,6 +92,7 @@ var Assist = function (vm, assist) {
         path: "/",
         isDir: true,
         isExpanded: false,
+        isLoaded: false,
         isChecked: false,
         aclBit: false,
         striked: false,
@@ -208,6 +209,7 @@ var Assist = function (vm, assist) {
         aclBit: item.rwx.indexOf('+') != -1,
         striked: item.striked != null,
         isExpanded: false,
+        isLoaded: false,
         isChecked: false,
         rwx: item.rwx,
         isDir: item.type == "dir" || item.isDir == true,
@@ -414,6 +416,7 @@ var Assist = function (vm, assist) {
               self.convertItemToObject(data);
             }
             self.getTreeAdditionalDataForPath(_path).loaded = true;
+            self.updatePathProperty(self.growingTree(), _path, "isLoaded", true);
             if (data.page != null && data.page.number != null) {
               self.updatePathProperty(self.growingTree(), _path, "page", data.page);
             }

+ 5 - 0
apps/security/static/js/hive.ko.js

@@ -358,6 +358,7 @@ var Assist = function (vm, initial) {
         isTable: false,
         isColumn: false,
         isExpanded: true,
+        isLoaded: true,
         isChecked: false,
         nodes: []
     }]
@@ -386,6 +387,7 @@ var Assist = function (vm, initial) {
           isTable: false,
           isColumn: false,
           isExpanded: false,
+          isLoaded: false,
           isChecked: false,
           nodes: []
         };
@@ -423,6 +425,7 @@ var Assist = function (vm, initial) {
           isTable: true,
           isColumn: false,
           isExpanded: false,
+          isLoaded: false,
           isChecked: false,
           nodes: []
         };
@@ -466,6 +469,7 @@ var Assist = function (vm, initial) {
           isTable: false,
           isColumn: true,
           isExpanded: false,
+          isLoaded: false,
           isChecked: false,
           nodes: []
         };
@@ -682,6 +686,7 @@ var Assist = function (vm, initial) {
           var _hasCallback = typeof loadCallback != "undefined";
 
           self.getTreeAdditionalDataForPath(_originalPath).loaded = true;
+          self.updatePathProperty(self.growingTree(), _originalPath, "isLoaded", true);
 
           if (data.databases) {
             self.addDatabases(_originalPath, data.databases, _hasCallback);