瀏覽代碼

HUE-7 [importer] Prefill assist database into hivechooser

Enrico Berti 8 年之前
父節點
當前提交
fa7e730c68

+ 4 - 0
desktop/core/src/desktop/static/desktop/js/assist/assistDbSource.js

@@ -146,6 +146,10 @@ var AssistDbSource = (function () {
       }
     });
 
+    huePubSub.subscribe('assist.database.get', function (callback) {
+      callback(self.selectedDatabase());
+    });
+
     self.reloading = ko.observable(false);
 
     self.loadingTables = ko.pureComputed(function() {

+ 19 - 7
desktop/libs/indexer/src/indexer/templates/importer.mako

@@ -1054,6 +1054,12 @@ ${ assist.assistPanel() }
       self.inputFormat = ko.observable('file');
       self.inputFormat.subscribe(function(val) {
         wizard.destination.columns.removeAll();
+        if (val === 'table'){
+          huePubSub.publish('assist.database.get', function (activeDBEntry) {
+            self.table(activeDBEntry.databaseName + '.');
+          });
+        }
+        resizeElements();
       });
       self.inputFormats = ko.observableArray([
           {'value': 'file', 'name': 'File'},
@@ -1082,6 +1088,7 @@ ${ assist.assistPanel() }
           vm.createWizard.guessFormat();
           vm.createWizard.destination.nonDefaultLocation(val);
         }
+        resizeElements();
       });
 
       // Table
@@ -1092,6 +1099,9 @@ ${ assist.assistPanel() }
       self.databaseName = ko.computed(function() {
         return self.table().indexOf('.') > 0 ? self.table().split('.', 2)[0] : 'default';
       });
+      self.table.subscribe(function(val) {
+        resizeElements();
+      });
 
       // Queries
       self.query = ko.observable('');
@@ -1168,12 +1178,14 @@ ${ assist.assistPanel() }
             self.isTargetExisting(data.status == 0);
           }).fail(function (xhr, textStatus, errorThrown) { self.isTargetExisting(false); });
         }
+        resizeElements();
       });
 
       self.description = ko.observable('');
       self.outputFormat = ko.observable('table');
       self.outputFormat.subscribe(function () {
         wizard.guessFieldTypes();
+        resizeElements();
       });
       self.outputFormatsList = ko.observableArray([
           {'name': 'Table', 'value': 'table'},
@@ -1626,6 +1638,13 @@ ${ assist.assistPanel() }
 
     var viewModel;
 
+    function resizeElements () {
+      var $contentPanel = $('#importerComponents').find('.content-panel');
+      $('.form-actions').width($contentPanel.width() - 50);
+      $('.step-indicator-fixed').width($contentPanel.width());
+      document.styleSheets[0].addRule('.step-indicator li::before','max-width: ' + ($contentPanel.width()/2) + 'px');
+    }
+
     $(document).ready(function () {
       var options = {
         user: '${ user.username }',
@@ -1643,13 +1662,6 @@ ${ assist.assistPanel() }
         draggableMeta = meta;
       });
 
-      var $contentPanel = $('#importerComponents').find('.content-panel');
-
-      function resizeElements () {
-        $('.form-actions').width($contentPanel.width() - 50);
-        $('.step-indicator-fixed').width($contentPanel.width());
-        document.styleSheets[0].addRule('.step-indicator li::before','max-width: ' + ($contentPanel.width()/2) + 'px');
-      }
 
       huePubSub.subscribe('split.panel.resized', resizeElements);
       resizeElements();