0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-10 22:24:19 +01:00
Bootstrap/docs/assets/js/application.js

225 lines
5.2 KiB
JavaScript
Raw Normal View History

$(function(){
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
// IT'S ALL JUST JUNK FOR OUR DOCS!
// ++++++++++++++++++++++++++++++++++++++++++
2011-07-02 06:37:12 +02:00
// Hide the Mobile Safari address bar once loaded
// ==============================================
// Set a timeout...
// setTimeout(function(){
// // Hide the address bar!
// window.scrollTo(0, 1);
// }, 0);
// table sort example
2011-07-02 06:37:12 +02:00
// ==================
// make code pretty
2011-12-23 04:17:41 +01:00
window.prettyPrint && prettyPrint()
// table sort example
2012-01-24 22:11:09 +01:00
if ($.fn.tablesorter) {
$("#sortTableExample").tablesorter( { sortList: [[ 1, 0 ]] } )
2012-01-24 00:17:32 +01:00
$(".tablesorter-example").tablesorter({ sortList: [[1,0]] })
}
2011-07-02 06:37:12 +02:00
// add on logic
$('.add-on :checkbox').on('click', function () {
var $this = $(this)
, method = $this.attr('checked') ? 'addClass' : 'removeClass'
$(this).parents('.add-on')[method]('active')
})
2011-07-02 06:30:12 +02:00
// Disable certain links in docs
// Please do not carry these styles over to your projects
// it's merely here to prevent button clicks form taking you
// away from your spot on page!!
2011-07-02 06:37:12 +02:00
$('section [href^=#]').click(function (e) {
e.preventDefault()
})
// Copy code blocks in docs
$(".copy-code").on('focus', function () {
var el = this
setTimeout(function () { $(el).select() }, 0)
})
if ($.fn.tooltip) {
// position static twipsies for components page
if ($(".twipsies a").length) {
$(window).on('load resize', function () {
$(".twipsies a").each(function () {
$(this)
.tooltip({
placement: $(this).attr('title')
, trigger: 'manual'
})
.tooltip('show')
})
})
}
// add tipsies to grid for scaffolding
if ($('#grid-system').length) {
$('#grid-system').tooltip({
selector: '.show-grid > div'
, title: function () { return $(this).width() + 'px' }
})
}
}
2012-01-25 02:13:02 +01:00
// fix sub nav playa
var $win = $(window)
2012-01-25 04:19:50 +01:00
, $nav = $('.subnav')
2012-01-25 07:33:33 +01:00
, navTop = $('.subnav').length && $('.subnav').offset().top - 40
2012-01-25 02:13:02 +01:00
, isFixed = 0
processScroll()
$win.on('scroll', processScroll)
function processScroll() {
var i, scrollTop = $win.scrollTop()
if (scrollTop >= navTop && !isFixed) {
isFixed = 1
$nav.addClass('subnav-fixed')
} else if (scrollTop <= navTop && isFixed) {
isFixed = 0
$nav.removeClass('subnav-fixed')
}
}
})
2012-01-23 23:14:16 +01:00
// JS for javascript demos
$(function () {
// tooltip demo
$('.tooltip-demo.well').tooltip({
selector: "a[rel=tooltip]"
})
$('.tooltip-test').tooltip()
// popover demo
$("a[rel=popover]")
.popover()
.click(function(e) {
e.preventDefault()
})
// button state demo
$('#fat-btn')
.click(function () {
var btn = $(this)
btn.button('loading')
setTimeout(function () {
btn.button('reset')
}, 3000)
})
// carousel demo
$('#myCarousel').carousel()
})
// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
// by the talented Ben Vinegar
!function($) {
2012-01-23 23:14:16 +01:00
$.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
var url = opts.url;
return {
send: function(_, completeCallback) {
var name = 'jQuery_iframe_' + jQuery.now()
, iframe, form
iframe = $('<iframe>')
.attr('name', name)
.appendTo('head')
form = $('<form>')
.attr('method', opts.type) // GET or POST
.attr('action', url)
.attr('target', name)
$.each(opts.params, function(k, v) {
2012-01-27 05:23:15 +01:00
2012-01-23 23:14:16 +01:00
$('<input>')
.attr('type', 'hidden')
.attr('name', k)
2012-01-27 05:23:15 +01:00
.attr('value', typeof v == 'string' ? v : JSON.stringify(v))
2012-01-23 23:14:16 +01:00
.appendTo(form)
2012-01-27 05:23:15 +01:00
})
2012-01-23 23:14:16 +01:00
form.appendTo('body').submit()
}
}
})
}(jQuery);
// javascript build logic
$(function () {
var inputsComponent = $("#components.download input")
, inputsPlugin = $("#plugins.download input")
, inputsVariables = $("#variables.download input")
// toggle all plugin checkboxes
$('#components.download .toggle-all').on('click', function (e) {
e.preventDefault()
inputsComponent.attr('checked', !inputsComponent.is(':checked'))
})
$('#plugins.download .toggle-all').on('click', function (e) {
e.preventDefault()
inputsPlugin.attr('checked', !inputsPlugin.is(':checked'))
})
$('#variables.download .toggle-all').on('click', function (e) {
e.preventDefault()
inputsVariables.val('')
})
// request built javascript
$('.download-btn').on('click', function () {
2012-01-27 01:41:28 +01:00
var css = $("#components.download input:checked")
.map(function () { return this.value })
.toArray()
2012-01-27 01:41:28 +01:00
, js = $("#plugins.download input:checked")
.map(function () { return this.value })
.toArray()
2012-01-27 01:41:28 +01:00
, vars = {}
, img = ['glyphicons-halflings-sprite.png', 'glyphicons-halflings-sprite-white.png']
$("#variables.download input")
.each(function () {
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
})
$.ajax({
type: 'POST'
, url: 'http://bootstrap.herokuapp.com'
, dataType: 'jsonpi'
, params: {
branch: '2.0-wip'
2012-01-27 01:41:28 +01:00
, js: js
, css: css
, vars: vars
, img: img
2012-01-27 01:41:28 +01:00
}
})
})
})