ready(function () { var $highlights = getAll('.highlight'); var itemsProcessed = 0; if ($highlights.length > 0) { $highlights.forEach(function ($el) { var copyEl = ''; var expandEl = ''; $el.insertAdjacentHTML('beforeend', copyEl); var $parent = $el.parentNode; if ($parent && $parent.classList.contains('bd-is-more')) { var showEl = ''; $el.insertAdjacentHTML('beforeend', showEl); } else if ($el.firstElementChild.scrollHeight > 480 && $el.firstElementChild.clientHeight <= 480) { $el.insertAdjacentHTML('beforeend', expandEl); } itemsProcessed++; if (itemsProcessed === $highlights.length) { addHighlightControls(); } }); } function addHighlightControls() { var $highlightButtons = getAll('.highlight .bd-copy, .highlight .bd-expand'); $highlightButtons.forEach(function ($el) { $el.addEventListener('mouseenter', function () { $el.parentNode.classList.add('bd-is-hovering'); }); $el.addEventListener('mouseleave', function () { $el.parentNode.classList.remove('bd-is-hovering'); }); }); var $highlightExpands = getAll('.highlight .bd-expand'); $highlightExpands.forEach(function ($el) { $el.addEventListener('click', function () { $el.parentNode.firstElementChild.style.maxHeight = 'none'; }); }); var $highlightShows = getAll('.highlight .bd-show'); $highlightShows.forEach(function ($el) { $el.addEventListener('click', function () { $el.parentNode.parentNode.classList.remove('bd-is-more-clipped'); }); }); } new Clipboard('.bd-copy', { target: function target(trigger) { return trigger.previousSibling; } }); // Functions function getAll(selector) { return Array.prototype.slice.call(document.querySelectorAll(selector), 0); } });