Sha256: a52b13e9b550e5ac2c4dd138053254b6cb338f0f4fe65719744afc7f8b1cd7d7
Contents?: true
Size: 1.45 KB
Versions: 2
Compression:
Stored size: 1.45 KB
Contents
(function($, ns) { var initializePresenters = function(target) { var $target = $(target); var $els = $target.find('[data-presents]').add($target.filter('[data-presents]')); $els.each(function() { var $el = $(this); var presenters = $el.data('presents').split(' '); $.each(presenters, function() { var presenter = this; $el.trigger(presenter + ':present'); }); }); }; var observerStrategies = { mutationObserver: function() { var observer = new MutationObserver(function(mutations) { mutations.map(function(mutation) { var nodes = $.makeArray(mutation.addedNodes); return nodes; }).forEach(function(node) { initializePresenters(node); }); }); var body = document.querySelector('body'); observer.observe(body, { childList: true, subtree: true }); }, mutationEvent: function() { $('body').on('DOMNodeInserted', function(event) { initializePresenters(event.target); }); } }; var observeNewNodes = function() { var observerStrategy; if (typeof MutationObserver !== 'undefined') { observerStrategy = observerStrategies.mutationObserver; } else { observerStrategy = observerStrategies.mutationEvent; } observerStrategy(); }; var present = function(){ observeNewNodes(); initializePresenters($('body')); }; ns.present = present; })(jQuery, undercase);
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
undercase-0.2.57 | app/assets/javascripts/undercase/presenter.js |
undercase-0.2.29 | app/assets/javascripts/undercase/presenter.js |