From 5ad21218192ddab3d798203065ac947cce03d76d Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Sun, 24 Feb 2019 15:42:18 +0200 Subject: [PATCH] Remove DOMContentLoaded. (#28337) There's no reason for us to wait here. --- js/tests/visual/carousel.html | 23 +- js/tests/visual/modal.html | 131 ++++++----- js/tests/visual/popover.html | 10 +- js/tests/visual/tooltip.html | 56 +++-- site/docs/4.3/assets/js/src/application.js | 254 ++++++++++----------- 5 files changed, 232 insertions(+), 242 deletions(-) diff --git a/js/tests/visual/carousel.html b/js/tests/visual/carousel.html index fba62866d1..7dfc05ec58 100644 --- a/js/tests/visual/carousel.html +++ b/js/tests/visual/carousel.html @@ -54,19 +54,18 @@ diff --git a/js/tests/visual/modal.html b/js/tests/visual/modal.html index d9e69f9d5c..b5897c9329 100644 --- a/js/tests/visual/modal.html +++ b/js/tests/visual/modal.html @@ -217,86 +217,83 @@ diff --git a/js/tests/visual/popover.html b/js/tests/visual/popover.html index 86916c3d42..72d9dd32d9 100644 --- a/js/tests/visual/popover.html +++ b/js/tests/visual/popover.html @@ -41,12 +41,10 @@ diff --git a/js/tests/visual/tooltip.html b/js/tests/visual/tooltip.html index 643597a401..1b25c3b637 100644 --- a/js/tests/visual/tooltip.html +++ b/js/tests/visual/tooltip.html @@ -80,40 +80,38 @@ diff --git a/site/docs/4.3/assets/js/src/application.js b/site/docs/4.3/assets/js/src/application.js index 858e5d0e55..24b633bec1 100644 --- a/site/docs/4.3/assets/js/src/application.js +++ b/site/docs/4.3/assets/js/src/application.js @@ -15,143 +15,141 @@ (function () { 'use strict' - document.addEventListener('DOMContentLoaded', function () { - // Tooltip and popover demos - bootstrap.Util.makeArray(document.querySelectorAll('.tooltip-demo')) - .forEach(function (tooltip) { - new bootstrap.Tooltip(tooltip, { - selector: '[data-toggle="tooltip"]' - }) + // Tooltip and popover demos + bootstrap.Util.makeArray(document.querySelectorAll('.tooltip-demo')) + .forEach(function (tooltip) { + new bootstrap.Tooltip(tooltip, { + selector: '[data-toggle="tooltip"]' + }) + }) + + bootstrap.Util.makeArray(document.querySelectorAll('[data-toggle="popover"]')) + .forEach(function (popover) { + new bootstrap.Popover(popover) + }) + + bootstrap.Util.makeArray(document.querySelectorAll('.toast')) + .forEach(function (toastNode) { + var toast = new bootstrap.Toast(toastNode, { + autohide: false }) - bootstrap.Util.makeArray(document.querySelectorAll('[data-toggle="popover"]')) - .forEach(function (popover) { - new bootstrap.Popover(popover) + toast.show() + }) + + // Demos within modals + bootstrap.Util.makeArray(document.querySelectorAll('.tooltip-test')) + .forEach(function (tooltip) { + new bootstrap.Tooltip(tooltip) + }) + + bootstrap.Util.makeArray(document.querySelectorAll('.popover-test')) + .forEach(function (popover) { + new bootstrap.Popover(popover) + }) + + // Indeterminate checkbox example + bootstrap.Util.makeArray(document.querySelectorAll('.bd-example-indeterminate [type="checkbox"]')) + .forEach(function (checkbox) { + checkbox.indeterminate = true + }) + + // Disable empty links in docs examples + bootstrap.Util.makeArray(document.querySelectorAll('.bd-content [href="#"]')) + .forEach(function (link) { + link.addEventListener('click', function (e) { + e.preventDefault() }) + }) - bootstrap.Util.makeArray(document.querySelectorAll('.toast')) - .forEach(function (toastNode) { - var toast = new bootstrap.Toast(toastNode, { - autohide: false - }) + // Modal relatedTarget demo + var exampleModal = document.getElementById('exampleModal') + if (exampleModal) { + exampleModal.addEventListener('show.bs.modal', function (event) { + var button = event.relatedTarget // Button that triggered the modal + var recipient = button.getAttribute('data-whatever') // Extract info from data-* attributes - toast.show() + // Update the modal's content. + var modalTitle = exampleModal.querySelector('.modal-title') + var modalBodyInput = exampleModal.querySelector('.modal-body input') + + modalTitle.innerHTML = 'New message to ' + recipient + modalBodyInput.value = recipient + }) + } + + // Activate animated progress bar + bootstrap.Util.makeArray(document.querySelectorAll('.bd-toggle-animated-progress > .progress-bar-striped')) + .forEach(function (progressBar) { + progressBar.addEventListener('click', function () { + if (progressBar.classList.contains('progress-bar-animated')) { + progressBar.classList.remove('progress-bar-animated') + } else { + progressBar.classList.add('progress-bar-animated') + } }) + }) - // Demos within modals - bootstrap.Util.makeArray(document.querySelectorAll('.tooltip-test')) - .forEach(function (tooltip) { - new bootstrap.Tooltip(tooltip) + // Insert copy to clipboard button before .highlight + var btnHtml = '
' + bootstrap.Util.makeArray(document.querySelectorAll('figure.highlight, div.highlight')) + .forEach(function (element) { + element.insertAdjacentHTML('beforebegin', btnHtml) + }) + + bootstrap.Util.makeArray(document.querySelectorAll('.btn-clipboard')) + .forEach(function (btn) { + var tooltipBtn = new bootstrap.Tooltip(btn) + + btn.addEventListener('mouseleave', function () { + // Explicitly hide tooltip, since after clicking it remains + // focused (as it's a button), so tooltip would otherwise + // remain visible until focus is moved away + tooltipBtn.hide() }) + }) - bootstrap.Util.makeArray(document.querySelectorAll('.popover-test')) - .forEach(function (popover) { - new bootstrap.Popover(popover) - }) - - // Indeterminate checkbox example - bootstrap.Util.makeArray(document.querySelectorAll('.bd-example-indeterminate [type="checkbox"]')) - .forEach(function (checkbox) { - checkbox.indeterminate = true - }) - - // Disable empty links in docs examples - bootstrap.Util.makeArray(document.querySelectorAll('.bd-content [href="#"]')) - .forEach(function (link) { - link.addEventListener('click', function (e) { - e.preventDefault() - }) - }) - - // Modal relatedTarget demo - var exampleModal = document.getElementById('exampleModal') - if (exampleModal) { - exampleModal.addEventListener('show.bs.modal', function (event) { - var button = event.relatedTarget // Button that triggered the modal - var recipient = button.getAttribute('data-whatever') // Extract info from data-* attributes - - // Update the modal's content. - var modalTitle = exampleModal.querySelector('.modal-title') - var modalBodyInput = exampleModal.querySelector('.modal-body input') - - modalTitle.innerHTML = 'New message to ' + recipient - modalBodyInput.value = recipient - }) + var clipboard = new ClipboardJS('.btn-clipboard', { + target: function (trigger) { + return trigger.parentNode.nextElementSibling } - - // Activate animated progress bar - bootstrap.Util.makeArray(document.querySelectorAll('.bd-toggle-animated-progress > .progress-bar-striped')) - .forEach(function (progressBar) { - progressBar.addEventListener('click', function () { - if (progressBar.classList.contains('progress-bar-animated')) { - progressBar.classList.remove('progress-bar-animated') - } else { - progressBar.classList.add('progress-bar-animated') - } - }) - }) - - // Insert copy to clipboard button before .highlight - var btnHtml = '
' - bootstrap.Util.makeArray(document.querySelectorAll('figure.highlight, div.highlight')) - .forEach(function (element) { - element.insertAdjacentHTML('beforebegin', btnHtml) - }) - - bootstrap.Util.makeArray(document.querySelectorAll('.btn-clipboard')) - .forEach(function (btn) { - var tooltipBtn = new bootstrap.Tooltip(btn) - - btn.addEventListener('mouseleave', function () { - // Explicitly hide tooltip, since after clicking it remains - // focused (as it's a button), so tooltip would otherwise - // remain visible until focus is moved away - tooltipBtn.hide() - }) - }) - - var clipboard = new ClipboardJS('.btn-clipboard', { - target: function (trigger) { - return trigger.parentNode.nextElementSibling - } - }) - - clipboard.on('success', function (e) { - var tooltipBtn = bootstrap.Tooltip._getInstance(e.trigger) - - e.trigger.setAttribute('title', 'Copied!') - tooltipBtn._fixTitle() - tooltipBtn.show() - - e.trigger.setAttribute('title', 'Copy to clipboard') - tooltipBtn._fixTitle() - e.clearSelection() - }) - - clipboard.on('error', function (e) { - var modifierKey = /Mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-' - var fallbackMsg = 'Press ' + modifierKey + 'C to copy' - var tooltipBtn = bootstrap.Tooltip._getInstance(e.trigger) - - e.trigger.setAttribute('title', fallbackMsg) - tooltipBtn._fixTitle() - tooltipBtn.show() - - e.trigger.setAttribute('title', 'Copy to clipboard') - tooltipBtn._fixTitle() - }) - - anchors.options = { - icon: '#' - } - anchors.add('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5') - - // Wrap inner - bootstrap.Util.makeArray(document.querySelectorAll('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5')) - .forEach(function (hEl) { - hEl.innerHTML = '' + hEl.innerHTML + '' - }) - - bsCustomFileInput.init() }) + + clipboard.on('success', function (e) { + var tooltipBtn = bootstrap.Tooltip._getInstance(e.trigger) + + e.trigger.setAttribute('title', 'Copied!') + tooltipBtn._fixTitle() + tooltipBtn.show() + + e.trigger.setAttribute('title', 'Copy to clipboard') + tooltipBtn._fixTitle() + e.clearSelection() + }) + + clipboard.on('error', function (e) { + var modifierKey = /Mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-' + var fallbackMsg = 'Press ' + modifierKey + 'C to copy' + var tooltipBtn = bootstrap.Tooltip._getInstance(e.trigger) + + e.trigger.setAttribute('title', fallbackMsg) + tooltipBtn._fixTitle() + tooltipBtn.show() + + e.trigger.setAttribute('title', 'Copy to clipboard') + tooltipBtn._fixTitle() + }) + + anchors.options = { + icon: '#' + } + anchors.add('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5') + + // Wrap inner + bootstrap.Util.makeArray(document.querySelectorAll('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5')) + .forEach(function (hEl) { + hEl.innerHTML = '' + hEl.innerHTML + '' + }) + + bsCustomFileInput.init() }())