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

[sentry] Clear last visible dot on hive privilege field blur

Enrico Berti пре 11 година
родитељ
комит
382f8d9

+ 7 - 4
apps/security/static/js/common.ko.js

@@ -102,15 +102,12 @@ ko.bindingHandlers.hivechooser = {
   init: function(element, valueAccessor, allBindingsAccessor, vm) {
     var self = $(element);
     self.val(valueAccessor()());
+
     function setPathFromAutocomplete(path){
       self.val(path);
       self.blur();
     }
 
-    self.on("blur", function(){
-      valueAccessor()(self.val());
-    });
-
     self.jHueHiveAutocomplete({
       skipColumns: true,
       showOnFocus: true,
@@ -120,6 +117,12 @@ ko.bindingHandlers.hivechooser = {
       },
       onEnter: function (el) {
         setPathFromAutocomplete(el.val());
+      },
+      onBlur: function () {
+        if (self.val().lastIndexOf(".") == self.val().length - 1){
+          self.val(self.val().substr(0, self.val().length - 1));
+        }
+        valueAccessor()(self.val());
       }
     });
   }

+ 2 - 0
desktop/core/static/js/jquery.hiveautocomplete.js

@@ -78,6 +78,7 @@
         e.preventDefault(); // prevents native menu on FF for Mac from being shown
       });
       setHueBreadcrumbCaretAtEnd(_this.element);
+      _pauseBlur = false;
     });
 
     _el.keydown(function (e) {
@@ -167,6 +168,7 @@
         showHiveAutocomplete();
       }
       if (e.keyCode == 13) {
+        _pauseBlur = true;
         if (_hiveAutocompleteSelectedIndex > -1) {
           $("#jHueHiveAutocomplete ul li:visible").eq(_hiveAutocompleteSelectedIndex).click();
         }