application.js 4.27 KiB
// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
// IT'S ALL JUST JUNK FOR OUR DOCS!
// ++++++++++++++++++++++++++++++++++++++++++
!function ($) {
  $(function(){
    var $window = $(window)
    var navHeight = $('.navbar').outerHeight(true) + 10
    $(document.body).scrollspy({
      target: '.bs-sidebar',
      offset: navHeight
    // Disable certain links in docs
    $('.bs-docs-container [href=#]').click(function (e) {
      e.preventDefault()
    $(document.body).on('click', '[href^=#]', function (e) {
      var $target = $(this.getAttribute('href'))
      e.preventDefault() // prevent browser scroll
      document.body.scrollTop =
        $target.offset().top -
        navHeight + 5 // offset scroll by nav
    // back to top
    setTimeout(function () {
      var $sideBar = $('.bs-sidebar')
      $sideBar.affix({
        offset: {
          top: function () {
            var offsetTop      = $sideBar.offset().top
            var sideBarMargin  = parseInt($sideBar.children(0).css('margin-top'), 10)
            var navOuterHeight = $('.bs-docs-nav').height()
            return (this.top = offsetTop - navOuterHeight - sideBarMargin)
        , bottom: function () {
            return (this.bottom = $('.bs-footer').outerHeight(true))
    }, 100)
    setTimeout(function () {
      $('.bs-top').affix()
    }, 100)
    // tooltip demo
    $('.tooltip-demo').tooltip({
      selector: "[data-toggle=tooltip]"
    $('.tooltip-test').tooltip()
    $('.popover-test').popover()
    $('.bs-docs-navbar').tooltip({
      selector: "a[data-toggle=tooltip]",
      container: ".bs-docs-navbar .nav"
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
// popover demo $("a[data-toggle=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 $('.bs-docs-carousel-example').carousel() // javascript build logic var inputsComponent = $("#less input") , inputsPlugin = $("#plugins input") , inputsVariables = $("#less-variables input") // toggle all plugin checkboxes $('#less .toggle').on('click', function (e) { e.preventDefault() inputsComponent.prop('checked', !inputsComponent.is(':checked')) }) $('#plugins .toggle').on('click', function (e) { e.preventDefault() inputsPlugin.prop('checked', !inputsPlugin.is(':checked')) }) $('#less-variables .toggle').on('click', function (e) { e.preventDefault() inputsVariables.val('') }) // request built javascript $('.bs-customize-download .btn').on('click', function (e) { e.preventDefault() var css = $("#less input:checked") .map(function () { return this.value }) .toArray() , js = $("#plugins input:checked") .map(function () { return this.value }) .toArray() , vars = {} $("#less-variables input") .each(function () { $(this).val() && (vars[ $(this).prev().text() ] = $(this).val()) }) $.ajax({ type: 'POST' , url: /localhost/.test(window.location) ? 'http://localhost:9001' : 'http://bootstrap.herokuapp.com' , dataType: 'jsonpi' , params: { js: js , css: css , vars: vars } }) }) })
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
// 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)