mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-10 22:24:19 +01:00
b46f05a948
This commit includes all the needed workarounds and most changes from the main branch for everything to work, like: * removing empty lines in raw HTML that break output * read .browserslistrc, CSS variables from disk instead of duplicating it * using Hugo mounts * using Hugo for the docs CSS/JS * move ToC Sass code to a separate file while adapting it for Hugo Thus, this patch makes our npm scripts faster since lint runs on one step and there's no separate docs assets processing.
113 lines
3.6 KiB
JavaScript
113 lines
3.6 KiB
JavaScript
// 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-2020 The Bootstrap Authors
|
|
* Copyright 2011-2020 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, bsCustomFileInput: false */
|
|
|
|
(function ($) {
|
|
'use strict'
|
|
|
|
$(function () {
|
|
// Tooltip and popover demos
|
|
$('.tooltip-demo').tooltip({
|
|
selector: '[data-toggle="tooltip"]',
|
|
container: 'body'
|
|
})
|
|
|
|
$('[data-toggle="popover"]').popover()
|
|
|
|
$('.toast')
|
|
.toast({
|
|
autohide: false
|
|
})
|
|
.toast('show')
|
|
|
|
// Demos within modals
|
|
$('.tooltip-test').tooltip()
|
|
$('.popover-test').popover()
|
|
|
|
// Indeterminate checkbox example
|
|
$('.bd-example-indeterminate [type="checkbox"]').prop('indeterminate', true)
|
|
|
|
// Disable empty links in docs examples
|
|
$('.bd-content [href="#"]').click(function (e) {
|
|
e.preventDefault()
|
|
})
|
|
|
|
// Modal relatedTarget demo
|
|
$('#exampleModal').on('show.bs.modal', function (event) {
|
|
var $button = $(event.relatedTarget) // Button that triggered the modal
|
|
var recipient = $button.data('whatever') // Extract info from data-* attributes
|
|
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
|
|
// Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
|
|
var $modal = $(this)
|
|
$modal.find('.modal-title').text('New message to ' + recipient)
|
|
$modal.find('.modal-body input').val(recipient)
|
|
})
|
|
|
|
// Activate animated progress bar
|
|
$('.bd-toggle-animated-progress').on('click', function () {
|
|
$(this).siblings('.progress').find('.progress-bar-striped').toggleClass('progress-bar-animated')
|
|
})
|
|
|
|
// Insert copy to clipboard button before .highlight
|
|
$('div.highlight').each(function () {
|
|
var btnHtml = '<div class="bd-clipboard"><button type="button" class="btn-clipboard" title="Copy to clipboard">Copy</button></div>'
|
|
$(this).before(btnHtml)
|
|
$('.btn-clipboard')
|
|
.tooltip()
|
|
.on('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
|
|
$(this).tooltip('hide')
|
|
})
|
|
})
|
|
|
|
var clipboard = new ClipboardJS('.btn-clipboard', {
|
|
target: function (trigger) {
|
|
return trigger.parentNode.nextElementSibling
|
|
}
|
|
})
|
|
|
|
clipboard.on('success', function (e) {
|
|
$(e.trigger)
|
|
.attr('title', 'Copied!')
|
|
.tooltip('_fixTitle')
|
|
.tooltip('show')
|
|
.attr('title', 'Copy to clipboard')
|
|
.tooltip('_fixTitle')
|
|
|
|
e.clearSelection()
|
|
})
|
|
|
|
clipboard.on('error', function (e) {
|
|
var modifierKey = /mac/i.test(navigator.userAgent) ? '\u2318' : 'Ctrl-'
|
|
var fallbackMsg = 'Press ' + modifierKey + 'C to copy'
|
|
|
|
$(e.trigger)
|
|
.attr('title', fallbackMsg)
|
|
.tooltip('_fixTitle')
|
|
.tooltip('show')
|
|
.attr('title', 'Copy to clipboard')
|
|
.tooltip('_fixTitle')
|
|
})
|
|
|
|
anchors.options = {
|
|
icon: '#'
|
|
}
|
|
anchors.add('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5')
|
|
$('.bd-content').children('h2, h3, h4, h5').wrapInner('<span class="bd-content-title"></span>')
|
|
|
|
bsCustomFileInput.init()
|
|
})
|
|
})(jQuery)
|