diff options
Diffstat (limited to 'site/static/docs/4.3/assets/js/src/application.js')
-rw-r--r-- | site/static/docs/4.3/assets/js/src/application.js | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/site/static/docs/4.3/assets/js/src/application.js b/site/static/docs/4.3/assets/js/src/application.js new file mode 100644 index 0000000000..66b1d09eb0 --- /dev/null +++ b/site/static/docs/4.3/assets/js/src/application.js @@ -0,0 +1,159 @@ +// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT +// IT'S ALL JUST JUNK FOR OUR DOCS! +// ++++++++++++++++++++++++++++++++++++++++++ + +/*! + * JavaScript for Bootstrap's docs (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under the Creative Commons Attribution 3.0 Unported License. + * For details, see https://creativecommons.org/licenses/by/3.0/. + */ + +/* global ClipboardJS: false, anchors: false, bootstrap: false, bsCustomFileInput: false */ + +(function () { + 'use strict' + + function makeArray(list) { + return [].slice.call(list) + } + + // Tooltip and popover demos + makeArray(document.querySelectorAll('.tooltip-demo')) + .forEach(function (tooltip) { + new bootstrap.Tooltip(tooltip, { + selector: '[data-toggle="tooltip"]' + }) + }) + + makeArray(document.querySelectorAll('[data-toggle="popover"]')) + .forEach(function (popover) { + new bootstrap.Popover(popover) + }) + + makeArray(document.querySelectorAll('.toast')) + .forEach(function (toastNode) { + var toast = new bootstrap.Toast(toastNode, { + autohide: false + }) + + toast.show() + }) + + // Demos within modals + makeArray(document.querySelectorAll('.tooltip-test')) + .forEach(function (tooltip) { + new bootstrap.Tooltip(tooltip) + }) + + makeArray(document.querySelectorAll('.popover-test')) + .forEach(function (popover) { + new bootstrap.Popover(popover) + }) + + // Indeterminate checkbox example + makeArray(document.querySelectorAll('.bd-example-indeterminate [type="checkbox"]')) + .forEach(function (checkbox) { + checkbox.indeterminate = true + }) + + // Disable empty links in docs examples + 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 + }) + } + + // Activate animated progress bar + 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 = '<div class="bd-clipboard"><button type="button" class="btn-clipboard" title="Copy to clipboard">Copy</button></div>' + makeArray(document.querySelectorAll('figure.highlight, div.highlight')) + .forEach(function (element) { + element.insertAdjacentHTML('beforebegin', btnHtml) + }) + + 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 + makeArray(document.querySelectorAll('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5')) + .forEach(function (hEl) { + hEl.innerHTML = '<span class="bd-content-title">' + hEl.innerHTML + '</span>' + }) + + bsCustomFileInput.init() +})() |