Explorar o código

[core] Only expand entries for types that are expandable in the assist panel

Johan Ahlen %!s(int64=10) %!d(string=hai) anos
pai
achega
b8345e4ec3
Modificáronse 1 ficheiros con 11 adicións e 5 borrados
  1. 11 5
      desktop/core/src/desktop/templates/ko_components.mako

+ 11 - 5
desktop/core/src/desktop/templates/ko_components.mako

@@ -268,6 +268,8 @@ from desktop.views import _ko
         self.parent = parent;
         self.filter = filter;
 
+        self.expandable = typeof definition.type === "undefined" || definition.type === "struct" || definition.type === "array" || definition.type === "map";
+
         self.loaded = false;
         self.loading = ko.observable(false);
         self.open = ko.observable(false);
@@ -300,7 +302,7 @@ from desktop.views import _ko
 
       AssistEntry.prototype.loadEntries = function() {
         var self = this;
-        if (self.loading()) {
+        if (!self.expandable || self.loading()) {
           return;
         }
         self.loading(true);
@@ -355,13 +357,15 @@ from desktop.views import _ko
                   self.createEntry({
                     name: "key",
                     displayName: "key (" + data.key.type + ")",
-                    title: "key (" + data.key.type + ")"
+                    title: "key (" + data.key.type + ")",
+                    type: data.key.type
                   }),
                   self.createEntry({
                     name: "value",
                     displayName: "value (" + data.value.type + ")",
                     title: "value (" + data.value.type + ")",
-                    isMapValue: true
+                    isMapValue: true,
+                    type: data.value.type
                   })
                 ]);
               } else if (data.type == "struct") {
@@ -369,7 +373,8 @@ from desktop.views import _ko
                   return self.createEntry({
                     name: field.name,
                     displayName: field.name + " (" + field.type + ")",
-                    title: field.name + " (" + field.type + ")"
+                    title: field.name + " (" + field.type + ")",
+                    type: field.type
                   });
                 }));
               } else if (data.type == "array") {
@@ -378,7 +383,8 @@ from desktop.views import _ko
                     name: "item",
                     displayName: "item (" + data.item.type + ")",
                     title: "item (" + data.item.type + ")",
-                    isArray: true
+                    isArray: true,
+                    type: data.item.type
                   })
                 ]);
               }