From 5a65470f83a501cddcaee3d26c6b6486b32a5a75 Mon Sep 17 00:00:00 2001 From: William Meleyal Date: Mon, 28 Jul 2014 17:16:59 +0200 Subject: [PATCH 1/2] Bind to Turbolinks or native load/unload events, not both --- lib/assets/javascripts/react_ujs.js | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/lib/assets/javascripts/react_ujs.js b/lib/assets/javascripts/react_ujs.js index dbffafa7b..47b184b79 100644 --- a/lib/assets/javascripts/react_ujs.js +++ b/lib/assets/javascripts/react_ujs.js @@ -36,17 +36,7 @@ } }; - // Register page load & unload events - if ($) { - $(mountReactComponents); - $(window).unload(unmountReactComponents); - } else { - document.addEventListener('DOMContentLoaded', mountReactComponents); - window.addEventListener('unload', unmountReactComponents); - } - - // Turbolinks specified events - if (typeof Turbolinks !== 'undefined') { + var handleTurbolinksEvents = function() { var handleEvent; if ($) { handleEvent = function(eventName, callback) { @@ -59,5 +49,17 @@ } handleEvent('page:change', mountReactComponents); handleEvent('page:before-change', unmountReactComponents); - } + }; + + var handleNativeEvents = function() { + if ($) { + $(mountReactComponents); + $(window).unload(unmountReactComponents); + } else { + document.addEventListener('DOMContentLoaded', mountReactComponents); + window.addEventListener('unload', unmountReactComponents); + } + }; + + typeof Turbolinks !== 'undefined' ? handleTurbolinksEvents() : handleNativeEvents(); })(document, window, React); From 97394ceebc198af1d91326ef315268be90373feb Mon Sep 17 00:00:00 2001 From: William Meleyal Date: Tue, 29 Jul 2014 11:09:58 +0200 Subject: [PATCH 2/2] force travis rerun