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>'].