123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- // NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
- // IT'S ALL JUST JUNK FOR OUR DOCS!
- // ++++++++++++++++++++++++++++++++++++++++++
- !function ($) {
- $(function(){
- // Disable certain links in docs
- $('section [href^=#]').click(function (e) {
- e.preventDefault()
- })
- // make code pretty
- window.prettyPrint && prettyPrint()
- // add-ons
- $('.add-on :checkbox').on('click', function () {
- var $this = $(this)
- , method = $this.attr('checked') ? 'addClass' : 'removeClass'
- $(this).parents('.add-on')[method]('active')
- })
- // 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' }
- })
- }
- // fix sub nav on scroll
- var $win = $(window)
- , $nav = $('.subnav')
- , navTop = $('.subnav').length && $('.subnav').offset().top - 40
- , 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')
- }
- }
- // tooltip demo
- $('.tooltip-demo.well').tooltip({
- selector: "a[rel=tooltip]"
- })
- $('.tooltip-test').tooltip()
- $('.popover-test').popover()
- // 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()
- // javascript build logic
- 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 () {
- var css = $("#components.download input:checked")
- .map(function () { return this.value })
- .toArray()
- , js = $("#plugins.download input:checked")
- .map(function () { return this.value })
- .toArray()
- , vars = {}
- , img = ['glyphicons-halflings.png', 'glyphicons-halflings-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: {
- js: js
- , css: css
- , vars: vars
- , img: img
- }
- })
- })
- })
- // Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
- $.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) {
- $('<input>')
- .attr('type', 'hidden')
- .attr('name', k)
- .attr('value', typeof v == 'string' ? v : JSON.stringify(v))
- .appendTo(form)
- })
- form.appendTo('body').submit()
- }
- }
- })
- }(window.jQuery)
|