Просмотр исходного кода

HUE-4555 [core] Avoid opening file chooser on enter key

Enrico Berti 9 лет назад
Родитель
Сommit
aa2e9ad1ba

+ 7 - 3
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -2377,16 +2377,20 @@
         }
       }
 
-      self.after(getFileBrowseButton(self, true, valueAccessor, true, allBindingsAccessor, valueAccessor().isAddon, valueAccessor().isNestedModal));
+      self.after(getFileBrowseButton(self, true, valueAccessor, true, allBindingsAccessor, valueAccessor().isAddon, valueAccessor().isNestedModal, allBindingsAccessor && allBindingsAccessor().filechooserOptions && allBindingsAccessor().filechooserOptions.linkMarkup));
     }
   };
 
 
-  function getFileBrowseButton(inputElement, selectFolder, valueAccessor, stripHdfsPrefix, allBindingsAccessor, isAddon, isNestedModal) {
+  function getFileBrowseButton(inputElement, selectFolder, valueAccessor, stripHdfsPrefix, allBindingsAccessor, isAddon, isNestedModal, linkMarkup) {
     var _btn;
     if (isAddon) {
       _btn = $("<span>").addClass("add-on muted pointer").text("..");
-    } else {
+    }
+    else if (linkMarkup) {
+      _btn = $("<a>").addClass("btn").addClass("fileChooserBtn").text("..");
+    }
+    else {
       _btn = $("<button>").addClass("btn").addClass("fileChooserBtn").text("..");
     }
     _btn.click(function (e) {

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

@@ -83,7 +83,11 @@ ${ assist.assistPanel() }
   }
 
   .fileChooserBtn {
-    margin-top: -2px;
+    height: 29px;
+  }
+
+  .form-control.path {
+    vertical-align: top;
   }
 
   .form-actions {
@@ -258,7 +262,7 @@ ${ assist.assistPanel() }
 
             <div class="control-group" data-bind="visible: createWizard.fileFormat().inputFormat() == 'file'">
               <label for="path" class="control-label"><div>${ _('Path') }</div>
-                <input type="text" class="form-control path" data-bind="value: createWizard.fileFormat().path, filechooser: createWizard.fileFormat().path, filechooserOptions: { skipInitialPathIfEmpty: true }">
+                <input type="text" class="form-control path" data-bind="value: createWizard.fileFormat().path, filechooser: createWizard.fileFormat().path, filechooserOptions: { linkMarkup: true, skipInitialPathIfEmpty: true }">
               </label>
             </div>