{:uriI"µfile:///Users/joel/src/revelry_core/app/assets/javascripts/react_ujs.js?type=application/javascript&pipeline=self&id=4fa45cb4fe02d6998b3802aa21ed28acc3ca03918cf189cd13c27beef0b98984:ET:load_pathI"8/Users/joel/src/revelry_core/app/assets/javascripts;F: filenameI"E/Users/joel/src/revelry_core/app/assets/javascripts/react_ujs.js;T: nameI"react_ujs;T:logical_pathI"react_ujs.self.js;T:content_typeI"application/javascript;T: sourceI"R// Unobtrusive scripting adapter for React (function(document, window, React) { var CLASS_NAME_ATTR = 'data-react-class'; var PROPS_ATTR = 'data-react-props'; // jQuery is optional. Use it to support legacy browsers. var $ = (typeof jQuery !== 'undefined') && jQuery; var findReactDOMNodes = function() { var SELECTOR = '[' + CLASS_NAME_ATTR + ']'; if ($) { return $(SELECTOR); } else { return document.querySelectorAll(SELECTOR); } }; var mountReactComponents = function() { var nodes = findReactDOMNodes(); for (var i = 0; i < nodes.length; ++i) { var node = nodes[i]; var className = node.getAttribute(CLASS_NAME_ATTR); // Assume className is simple and can be found at top-level (window). // Fallback to eval to handle cases like 'My.React.ComponentName'. var constructor = window[className] || eval.call(window, className); var propsJson = node.getAttribute(PROPS_ATTR); var props = propsJson && JSON.parse(propsJson); React.render(React.createElement(constructor, props), node); } }; var unmountReactComponents = function() { var nodes = findReactDOMNodes(); for (var i = 0; i < nodes.length; ++i) { React.unmountComponentAtNode(nodes[i]); } }; var handleTurbolinksEvents = function() { var handleEvent; if ($) { handleEvent = function(eventName, callback) { $(document).on(eventName, callback); } } else { handleEvent = function(eventName, callback) { document.addEventListener(eventName, callback); } } handleEvent('page:change', mountReactComponents); handleEvent('page:receive', 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); ;T: metadata{ :dependencieso:Set: @hash{ I"environment-version;TTI"environment-paths;TTI"Zprocessors:type=application/javascript&file_type=application/javascript&pipeline=self;TTI"Sfile-digest:///Users/joel/src/revelry_core/app/assets/javascripts/react_ujs.js;TT: requiredo;;{: stubbedo;;{: linkso;;{: charsetI" utf-8;F: digest"%-o…ÏÅvL°jýš…¯¢zÊ<³›XiqmqT¯: lengthiR:integrityI"Xni:///sha-256;LW-Fz8V2TLBq_ZqFDq-BonrKPAIHs5tYgWkDcW1xVK8?ct=application/javascript;T:dependencies_digest"%²‰9~ð^Õæ¥Æè=Þ0(evð<çj;T=…R`Ûš:idI"E4fa45cb4fe02d6998b3802aa21ed28acc3ca03918cf189cd13c27beef0b98984;F: mtimel++Š1U