application.js 4.92 KB
Newer Older
1
$(function(){
2

3
4
5
  // NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
  // IT'S ALL JUST JUNK FOR OUR DOCS!
  // ++++++++++++++++++++++++++++++++++++++++++
Jacob Thornton's avatar
Jacob Thornton committed
6

7

8
9
10
  // Hide the Mobile Safari address bar once loaded
  // ==============================================

11
  // Set a timeout...
12
13
14
15
  // setTimeout(function(){
  //   // Hide the address bar!
  //   window.scrollTo(0, 1);
  // }, 0);
16

17

18
  // table sort example
Jacob Thornton's avatar
Jacob Thornton committed
19
20
  // ==================

21
  // make code pretty
22
  window.prettyPrint && prettyPrint()
23

24
  // table sort example
François Robichet's avatar
François Robichet committed
25
  if ($.fn.tablesorter) {
26
    $("#sortTableExample").tablesorter( { sortList: [[ 1, 0 ]] } )
Jacob Thornton's avatar
Jacob Thornton committed
27
    $(".tablesorter-example").tablesorter({ sortList: [[1,0]] })
28
  }
Jacob Thornton's avatar
Jacob Thornton committed
29
30

  // add on logic
31
32
33
34
  $('.add-on :checkbox').on('click', function () {
    var $this = $(this)
      , method = $this.attr('checked') ? 'addClass' : 'removeClass'
    $(this).parents('.add-on')[method]('active')
35
  })
Jacob Thornton's avatar
Jacob Thornton committed
36

37
  // Disable certain links in docs
38
39
40
  // 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!!
Jacob Thornton's avatar
Jacob Thornton committed
41

42
  $('section [href^=#]').click(function (e) {
43
44
    e.preventDefault()
  })
45

46
  // Copy code blocks in docs
47
48
49
  $(".copy-code").on('focus', function () {
    var el = this
    setTimeout(function () { $(el).select() }, 0)
50
  })
51

52
  if ($.fn.tooltip) {
53
54
55
56
57
58

    // position static twipsies for components page
    if ($(".twipsies a").length) {
      $(window).on('load resize', function () {
        $(".twipsies a").each(function () {
          $(this)
59
            .tooltip({
60
61
62
              placement: $(this).attr('title')
            , trigger: 'manual'
            })
63
            .tooltip('show')
64
65
66
67
68
69
70
          })
      })
    }

    // add tipsies to grid for scaffolding
    if ($('#grid-system').length) {

71
      $('#grid-system').tooltip({
72
73
74
75
76
77
78
          selector: '.show-grid > div'
        , title: function () { return $(this).width() + 'px' }
      })

    }
  }

79
 
Jacob Thornton's avatar
Jacob Thornton committed
80
81
  // fix sub nav playa
  var $win = $(window)
Mark Otto's avatar
Mark Otto committed
82
    , $nav = $('.subnav')
83
    , navTop = $('.subnav').length && $('.subnav').offset().top - 40
Jacob Thornton's avatar
Jacob Thornton committed
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
    , 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')
    }
  }

101
})
102

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// 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()
})

132
133
134
135

// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
// by the talented Ben Vinegar
!function($) {
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
  $.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', v)
            .appendTo(form)
        });

        form.appendTo('body').submit()
      }
    }
  })
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
}(jQuery);

 // javascript build logic

$(function () {

  var inputsComponent = $("#components.download input")
    , inputsPlugin = $("#plugins.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'))
  })

  // request built javascript
  $('.download-btn').on('click', function () {

Jacob Thornton's avatar
Jacob Thornton committed
188
    var css = $("#components.download input:checked")
189
190
          .map(function () { return this.value })
          .toArray()
Jacob Thornton's avatar
Jacob Thornton committed
191
      , js = $("#plugins.download input:checked")
192
193
          .map(function () { return this.value })
          .toArray()
Jacob Thornton's avatar
Jacob Thornton committed
194
      , vars = {}
195

Jacob Thornton's avatar
Jacob Thornton committed
196
197
198
199
    $("#variables.download input")
      .each(function () {
        return $(this).val() 
      })
200
201
202

    $.ajax({
      type: 'POST'
Jacob Thornton's avatar
Jacob Thornton committed
203
204
    , url: 'localhost:3000'
   // , url: "http://bootstrap.herokuapp.com"
205
206
207
    , dataType: 'jsonpi'
    , params: {
        branch: '2.0-wip'
Jacob Thornton's avatar
Jacob Thornton committed
208
209
210
211
      , js: js
      , css: css
      , vars: vars
    }
212
213
214
215
216
    })
  })

})