JezK
Edit File: helpers.js
// Generated by CoffeeScript 2.7.0 (function() { var closest, match, preventDefaultSupported; Turbolinks.copyObject = function(object) { var key, result, value; result = {}; for (key in object) { value = object[key]; result[key] = value; } return result; }; Turbolinks.closest = function(element, selector) { return closest.call(element, selector); }; closest = (function() { var html, ref; html = document.documentElement; return (ref = html.closest) != null ? ref : function(selector) { var node; node = this; while (node) { if (node.nodeType === Node.ELEMENT_NODE && match.call(node, selector)) { return node; } node = node.parentNode; } }; })(); Turbolinks.defer = function(callback) { return setTimeout(callback, 1); }; Turbolinks.throttle = function(fn) { var request; request = null; return function(...args) { return request != null ? request : request = requestAnimationFrame(() => { request = null; return fn.apply(this, args); }); }; }; Turbolinks.dispatch = function(eventName, {target, cancelable, data} = {}) { var event, preventDefault; event = document.createEvent("Events"); event.initEvent(eventName, true, cancelable === true); event.data = data != null ? data : {}; // Fix setting `defaultPrevented` when `preventDefault()` is called // http://stackoverflow.com/questions/23349191/event-preventdefault-is-not-working-in-ie-11-for-custom-events if (event.cancelable && !preventDefaultSupported) { ({preventDefault} = event); event.preventDefault = function() { if (!this.defaultPrevented) { Object.defineProperty(this, "defaultPrevented", { get: function() { return true; } }); } return preventDefault.call(this); }; } (target != null ? target : document).dispatchEvent(event); return event; }; preventDefaultSupported = (function() { var event; event = document.createEvent("Events"); event.initEvent("test", true, true); event.preventDefault(); return event.defaultPrevented; })(); Turbolinks.match = function(element, selector) { return match.call(element, selector); }; match = (function() { var html, ref, ref1, ref2; html = document.documentElement; return (ref = (ref1 = (ref2 = html.matchesSelector) != null ? ref2 : html.webkitMatchesSelector) != null ? ref1 : html.msMatchesSelector) != null ? ref : html.mozMatchesSelector; })(); Turbolinks.uuid = function() { var i, j, result; result = ""; for (i = j = 1; j <= 36; i = ++j) { if (i === 9 || i === 14 || i === 19 || i === 24) { result += "-"; } else if (i === 15) { result += "4"; } else if (i === 20) { result += (Math.floor(Math.random() * 4) + 8).toString(16); } else { result += Math.floor(Math.random() * 15).toString(16); } } return result; }; }).call(this);