Преглед изворни кода

HUE-5894 [importer] Page scroll should update the hive chooser dropdown position

Enrico Berti пре 8 година
родитељ
комит
65d1cc5

+ 2 - 1
desktop/core/src/desktop/static/desktop/js/jquery.hiveautocomplete.js

@@ -39,6 +39,7 @@
       searchEverywhere: false,
       apiHelperUser: '',
       apiHelperType: '',
+      mainScrollable: $(window)
     };
 
   function Plugin(element, options) {
@@ -134,7 +135,7 @@
       }
     }
 
-    $(window).on("scroll", function () {
+    self.options.mainScrollable.on("scroll", function () {
       $("#jHueGenericAutocomplete").css("top", $el.offset().top + $el.outerHeight() - 1).css("left", $el.offset().left).width($el.outerWidth() - 4);
     });
 

+ 2 - 0
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -2775,6 +2775,7 @@
           searchEverywhere : ko.unwrap(options.searchEverywhere) || false,
           apiHelperUser: ko.unwrap(options.apiHelperUser) || '',
           apiHelperType: ko.unwrap(options.apiHelperType) || '',
+          mainScrollable: ko.unwrap(options.mainScrollable) || $(window)
         });
       }
       else {
@@ -2799,6 +2800,7 @@
           skipTables: ko.unwrap(options.skipTables) || false,
           apiHelperUser: ko.unwrap(options.apiHelperUser) || '',
           apiHelperType: ko.unwrap(options.apiHelperType) || '',
+          mainScrollable: ko.unwrap(options.mainScrollable) || $(window),
           onPathChange: function (path) {
             setPathFromAutocomplete(path);
           },

+ 2 - 2
desktop/libs/indexer/src/indexer/templates/importer.mako

@@ -409,7 +409,7 @@ ${ assist.assistPanel() }
 
           <div class="control-group" data-bind="visible: createWizard.source.inputFormat() == 'table'">
             <label for="path" class="control-label"><div>${ _('Table') }</div>
-              <input type="text" class="input-xlarge" data-bind="value: createWizard.source.table, hivechooser: createWizard.source.table, skipColumns: true, apiHelperUser: '${ user }', apiHelperType: createWizard.source.apiHelperType" placeholder="${ _('Table name or <database>.<table>') }">
+              <input type="text" class="input-xlarge" data-bind="value: createWizard.source.table, hivechooser: createWizard.source.table, skipColumns: true, apiHelperUser: '${ user }', apiHelperType: createWizard.source.apiHelperType, mainScrollable: $('.content-panel')" placeholder="${ _('Table name or <database>.<table>') }">
             </label>
           </div>
 
@@ -499,7 +499,7 @@ ${ assist.assistPanel() }
             <!-- /ko -->
 
             <!-- ko if: outputFormat() == 'table' || outputFormat() == 'database' -->
-              <input type="text" data-bind="value: name, hivechooser: name, skipColumns: true, skipTables: outputFormat() == 'database', valueUpdate: 'afterkeydown', apiHelperUser: '${ user }', apiHelperType: apiHelperType" pattern="^([a-zA-Z0-9_]+\.)?[a-zA-Z0-9_]*$" title="${ _('Only alphanumeric and underscore characters') }" placeholder="${ _('Table name or <database>.<table>') }">
+              <input type="text" data-bind="value: name, hivechooser: name, skipColumns: true, skipTables: outputFormat() == 'database', valueUpdate: 'afterkeydown', apiHelperUser: '${ user }', apiHelperType: apiHelperType, mainScrollable: $('.content-panel')" pattern="^([a-zA-Z0-9_]+\.)?[a-zA-Z0-9_]*$" title="${ _('Only alphanumeric and underscore characters') }" placeholder="${ _('Table name or <database>.<table>') }">
             <!-- /ko -->
 
             <span class="help-inline muted" data-bind="visible: ! isTargetExisting()">