Explorar el Código

HUE-9207 [frontend] Use the real connector in the context selector in editor v2

This takes care of an issue where the editor won't display databases when opening from query history.
Johan Ahlen hace 5 años
padre
commit
48e3c92632

+ 9 - 3
desktop/core/src/desktop/js/ko/components/ko.contextSelector.js

@@ -153,6 +153,7 @@ const TYPES = Object.keys(TYPES_INDEX).map(key => {
  * @param {ko.observable} [params.cluster]
  * @param {ko.observable} [params.compute]
  * @param {ko.observable} [params.namespace]
+ * @param {ko.observable} [params.connector]
  * @param {ko.observable} [params.database]
  * @param {ko.observableArray} [params.availableDatabases]
  * @param {boolean} [params.hideClusters] - Can be used to force hide cluster selection even if a cluster
@@ -172,6 +173,7 @@ const HueContextSelector = function(params) {
   const self = this;
 
   self.sourceType = params.sourceType;
+  self.connector = params.connector;
   self.disposals = [];
   self.hideLabels = params.hideLabels;
 
@@ -403,11 +405,13 @@ HueContextSelector.prototype.reloadDatabases = function() {
   const self = this;
   if (self.database && !self.hideDatabases) {
     self.loadingDatabases(true);
-    const connector = {}; // TODO: Add connectors to the context selector
     $.when(self[TYPES_INDEX.namespace.lastPromise], self[TYPES_INDEX.compute.lastPromise]).done(
       () => {
         window.clearTimeout(self.reloadDatabaseThrottle);
         self.reloadDatabaseThrottle = window.setTimeout(() => {
+          const connector = (self.connector && ko.unwrap(self.connector)) || {
+            type: ko.unwrap(self.sourceType)
+          };
           if (!self[TYPES_INDEX.namespace.name]()) {
             self.availableDatabases([]);
             self.loadingDatabases(false);
@@ -415,10 +419,12 @@ HueContextSelector.prototype.reloadDatabases = function() {
           }
           dataCatalog
             .getEntry({
-              sourceType: ko.unwrap(self.sourceType),
+              sourceType: connector.type, // TODO: Drop when dataCatalog only needs connector
               namespace: self[TYPES_INDEX.namespace.name](),
               compute: self[TYPES_INDEX.compute.name](),
-              connector: connector,
+              connector: (self.connector && ko.unwrap(self.connector)) || {
+                type: ko.unwrap(self.sourceType)
+              },
               path: [],
               definition: { type: 'source' }
             })

+ 1 - 0
desktop/libs/notebook/src/notebook/templates/editor_components2.mako

@@ -673,6 +673,7 @@
         sourceType: dialect,
         compute: compute,
         namespace: namespace,
+        connector: connector,
         availableDatabases: availableDatabases,
         database: database,
         hideDatabases: !isSqlDialect()