This is an automated email from the ASF dual-hosted git repository.

rubys pushed a commit to branch master
in repository https://git-dual.apache.org/repos/asf/whimsy.git

The following commit(s) were added to refs/heads/master by this push:
       new  26b8ef6   attempt workaround for safari autocomplete bug
26b8ef6 is described below

commit 26b8ef6a7b18b2bf746e69932b73f546375089e4
Author: Sam Ruby <ru...@intertwingly.net>
AuthorDate: Tue Sep 20 16:42:01 2016 -0400

    attempt workaround for safari autocomplete bug
---
 www/secmail/views/forms/ccla.js.rb  | 13 +++++++++++++
 www/secmail/views/forms/grant.js.rb | 13 +++++++++++++
 www/secmail/views/forms/icla.js.rb  | 13 +++++++++++++
 3 files changed, 39 insertions(+)

diff --git a/www/secmail/views/forms/ccla.js.rb 
b/www/secmail/views/forms/ccla.js.rb
index 1fdc2cd..84c5bf4 100644
--- a/www/secmail/views/forms/ccla.js.rb
+++ b/www/secmail/views/forms/ccla.js.rb
@@ -115,6 +115,14 @@ class CCLA < React
     jQuery('form')[0].addEventListener('submit', self.file)
     jQuery('input[name=message]').val(window.parent.location.pathname)
     jQuery('input[name=selected]').val(@@selected)
+
+    # Safari autocomplete workaround: trigger change on leaving field
+    # https://github.com/facebook/react/issues/2125
+    if navigator.userAgent.include? "Safari"
+      Array(document.getElementsByTagName('input')).each do |input|
+        input.addEventListener('blur', self.onblur)
+      end
+    end
   end
 
   def changeCompany(event)
@@ -134,6 +142,11 @@ class CCLA < React
     return asciize(basename.strip()).downcase().gsub(/\W+/, '-')
   end
 
+  # when leaving an input field, trigger change event (for Safari)
+  def onblur(event)
+    jQuery(event.target).trigger(:change)
+  end
+
   # handle CCLA form submission
   def file(event)
     setTimeout 0 do
diff --git a/www/secmail/views/forms/grant.js.rb 
b/www/secmail/views/forms/grant.js.rb
index 05f119c..cfc4d12 100644
--- a/www/secmail/views/forms/grant.js.rb
+++ b/www/secmail/views/forms/grant.js.rb
@@ -107,6 +107,19 @@ class Grant < React
     jQuery('form')[0].addEventListener('submit', self.file)
     jQuery('input[name=message]').val(window.parent.location.pathname)
     jQuery('input[name=selected]').val(@@selected)
+
+    # Safari autocomplete workaround: trigger change on leaving field
+    # https://github.com/facebook/react/issues/2125
+    if navigator.userAgent.include? "Safari"
+      Array(document.getElementsByTagName('input')).each do |input|
+        input.addEventListener('blur', self.onblur)
+      end
+    end
+  end
+
+  # when leaving an input field, trigger change event (for Safari)
+  def onblur(event)
+    jQuery(event.target).trigger(:change)
   end
 
   # handle Grant form submission
diff --git a/www/secmail/views/forms/icla.js.rb 
b/www/secmail/views/forms/icla.js.rb
index 35ff6cb..e4b7b20 100644
--- a/www/secmail/views/forms/icla.js.rb
+++ b/www/secmail/views/forms/icla.js.rb
@@ -127,6 +127,14 @@ class ICLA < React
     jQuery('form')[0].addEventListener('submit', self.file)
     jQuery('input[name=message]').val(window.parent.location.pathname)
     jQuery('input[name=selected]').val(@@selected)
+
+    # Safari autocomplete workaround: trigger change on leaving field
+    # https://github.com/facebook/react/issues/2125
+    if navigator.userAgent.include? "Safari"
+      Array(document.getElementsByTagName('input')).each do |input|
+        input.addEventListener('blur', self.onblur)
+      end
+    end
   end
 
   def changeRealName(event)
@@ -139,6 +147,11 @@ class ICLA < React
     return asciize(realname.strip()).downcase().gsub(/\W+/, '-')
   end
 
+  # when leaving an input field, trigger change event (for Safari)
+  def onblur(event)
+    jQuery(event.target).trigger(:change)
+  end
+
   # handle ICLA form submission
   def file(event)
     setTimeout 0 do

-- 
To stop receiving notification emails like this one, please contact
['"commits@whimsical.apache.org" <commits@whimsical.apache.org>'].

Reply via email to