bootstrap.js 67.3 KB
Newer Older
1
/*!
Chris Rebert's avatar
Chris Rebert committed
2
 * Bootstrap v3.3.4 (http://getbootstrap.com)
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
3
 * Copyright 2011-2015 Twitter, Inc.
Mark Otto's avatar
Mark Otto committed
4
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
Chris Rebert's avatar
Chris Rebert committed
5
 */
6

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
7
8
9
10
11
if (typeof jQuery === 'undefined') {
  throw new Error('Bootstrap\'s JavaScript requires jQuery')
}

+function ($) {
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
12
  'use strict';
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
13
14
15
16
17
  var version = $.fn.jquery.split(' ')[0].split('.')
  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
  }
}(jQuery);
18

19
/* ========================================================================
Chris Rebert's avatar
Chris Rebert committed
20
 * Bootstrap: transition.js v3.3.4
Mark Otto's avatar
Mark Otto committed
21
 * http://getbootstrap.com/javascript/#transitions
22
 * ========================================================================
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
23
 * Copyright 2011-2015 Twitter, Inc.
24
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
25
 * ======================================================================== */
26
27


XhmikosR's avatar
XhmikosR committed
28
29
+function ($) {
  'use strict';
Mark Otto's avatar
grunt    
Mark Otto committed
30

XhmikosR's avatar
XhmikosR committed
31
32
  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
  // ============================================================
33

XhmikosR's avatar
XhmikosR committed
34
35
  function transitionEnd() {
    var el = document.createElement('bootstrap')
36

XhmikosR's avatar
XhmikosR committed
37
38
39
40
41
42
    var transEndEventNames = {
      WebkitTransition : 'webkitTransitionEnd',
      MozTransition    : 'transitionend',
      OTransition      : 'oTransitionEnd otransitionend',
      transition       : 'transitionend'
    }
43

XhmikosR's avatar
XhmikosR committed
44
45
46
    for (var name in transEndEventNames) {
      if (el.style[name] !== undefined) {
        return { end: transEndEventNames[name] }
47
      }
Chris Rebert's avatar
Chris Rebert committed
48
49
    }

XhmikosR's avatar
XhmikosR committed
50
51
    return false // explicit for ie8 (  ._.)
  }
52

XhmikosR's avatar
XhmikosR committed
53
54
55
56
57
58
59
60
61
  // http://blog.alexmaccaw.com/css-transitions
  $.fn.emulateTransitionEnd = function (duration) {
    var called = false
    var $el = this
    $(this).one('bsTransitionEnd', function () { called = true })
    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
    setTimeout(callback, duration)
    return this
  }
62

XhmikosR's avatar
XhmikosR committed
63
64
  $(function () {
    $.support.transition = transitionEnd()
Chris Rebert's avatar
Chris Rebert committed
65

XhmikosR's avatar
XhmikosR committed
66
    if (!$.support.transition) return
67

XhmikosR's avatar
XhmikosR committed
68
69
70
71
72
73
74
    $.event.special.bsTransitionEnd = {
      bindType: $.support.transition.end,
      delegateType: $.support.transition.end,
      handle: function (e) {
        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
      }
    }
fat's avatar
fat committed
75
  })
76

XhmikosR's avatar
XhmikosR committed
77
}(jQuery);
78

79
/* ========================================================================
Chris Rebert's avatar
Chris Rebert committed
80
 * Bootstrap: alert.js v3.3.4
Mark Otto's avatar
Mark Otto committed
81
 * http://getbootstrap.com/javascript/#alerts
82
 * ========================================================================
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
83
 * Copyright 2011-2015 Twitter, Inc.
84
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
85
 * ======================================================================== */
86
87


XhmikosR's avatar
XhmikosR committed
88
89
+function ($) {
  'use strict';
90

XhmikosR's avatar
XhmikosR committed
91
92
  // ALERT CLASS DEFINITION
  // ======================
93

XhmikosR's avatar
XhmikosR committed
94
95
96
97
  var dismiss = '[data-dismiss="alert"]'
  var Alert   = function (el) {
    $(el).on('click', dismiss, this.close)
  }
Mark Otto's avatar
grunt    
Mark Otto committed
98

Chris Rebert's avatar
Chris Rebert committed
99
  Alert.VERSION = '3.3.4'
100

101
102
  Alert.TRANSITION_DURATION = 150

XhmikosR's avatar
XhmikosR committed
103
104
105
  Alert.prototype.close = function (e) {
    var $this    = $(this)
    var selector = $this.attr('data-target')
106

XhmikosR's avatar
XhmikosR committed
107
108
109
110
    if (!selector) {
      selector = $this.attr('href')
      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
    }
111

XhmikosR's avatar
XhmikosR committed
112
    var $parent = $(selector)
113

XhmikosR's avatar
XhmikosR committed
114
    if (e) e.preventDefault()
115

XhmikosR's avatar
XhmikosR committed
116
    if (!$parent.length) {
Chris Rebert's avatar
grunt    
Chris Rebert committed
117
      $parent = $this.closest('.alert')
XhmikosR's avatar
XhmikosR committed
118
    }
119

XhmikosR's avatar
XhmikosR committed
120
    $parent.trigger(e = $.Event('close.bs.alert'))
Chris Rebert's avatar
Chris Rebert committed
121

XhmikosR's avatar
XhmikosR committed
122
    if (e.isDefaultPrevented()) return
123

XhmikosR's avatar
XhmikosR committed
124
    $parent.removeClass('in')
125

XhmikosR's avatar
XhmikosR committed
126
127
128
    function removeElement() {
      // detach from parent, fire event then clean up data
      $parent.detach().trigger('closed.bs.alert').remove()
129
130
    }

XhmikosR's avatar
XhmikosR committed
131
132
133
    $.support.transition && $parent.hasClass('fade') ?
      $parent
        .one('bsTransitionEnd', removeElement)
134
        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
XhmikosR's avatar
XhmikosR committed
135
136
      removeElement()
  }
137
138


XhmikosR's avatar
XhmikosR committed
139
140
  // ALERT PLUGIN DEFINITION
  // =======================
141

XhmikosR's avatar
XhmikosR committed
142
143
144
145
  function Plugin(option) {
    return this.each(function () {
      var $this = $(this)
      var data  = $this.data('bs.alert')
fat's avatar
fat committed
146

XhmikosR's avatar
XhmikosR committed
147
148
149
150
      if (!data) $this.data('bs.alert', (data = new Alert(this)))
      if (typeof option == 'string') data[option].call($this)
    })
  }
151

XhmikosR's avatar
XhmikosR committed
152
  var old = $.fn.alert
Mark Otto's avatar
Mark Otto committed
153

XhmikosR's avatar
XhmikosR committed
154
155
  $.fn.alert             = Plugin
  $.fn.alert.Constructor = Alert
156
157


XhmikosR's avatar
XhmikosR committed
158
159
  // ALERT NO CONFLICT
  // =================
160

XhmikosR's avatar
XhmikosR committed
161
162
163
164
  $.fn.alert.noConflict = function () {
    $.fn.alert = old
    return this
  }
165
166


XhmikosR's avatar
XhmikosR committed
167
168
  // ALERT DATA-API
  // ==============
169

XhmikosR's avatar
XhmikosR committed
170
  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
171

XhmikosR's avatar
XhmikosR committed
172
}(jQuery);
173

174
/* ========================================================================
Chris Rebert's avatar
Chris Rebert committed
175
 * Bootstrap: button.js v3.3.4
Mark Otto's avatar
Mark Otto committed
176
 * http://getbootstrap.com/javascript/#buttons
177
 * ========================================================================
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
178
 * Copyright 2011-2015 Twitter, Inc.
179
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
180
 * ======================================================================== */
181
182


XhmikosR's avatar
XhmikosR committed
183
184
+function ($) {
  'use strict';
fat's avatar
fat committed
185

XhmikosR's avatar
XhmikosR committed
186
187
  // BUTTON PUBLIC CLASS DEFINITION
  // ==============================
Mark Otto's avatar
grunt    
Mark Otto committed
188

XhmikosR's avatar
XhmikosR committed
189
190
191
192
193
  var Button = function (element, options) {
    this.$element  = $(element)
    this.options   = $.extend({}, Button.DEFAULTS, options)
    this.isLoading = false
  }
194

Chris Rebert's avatar
Chris Rebert committed
195
  Button.VERSION  = '3.3.4'
196

XhmikosR's avatar
XhmikosR committed
197
198
199
  Button.DEFAULTS = {
    loadingText: 'loading...'
  }
fat's avatar
fat committed
200

XhmikosR's avatar
XhmikosR committed
201
202
203
204
205
  Button.prototype.setState = function (state) {
    var d    = 'disabled'
    var $el  = this.$element
    var val  = $el.is('input') ? 'val' : 'html'
    var data = $el.data()
206

207
    state += 'Text'
208

XhmikosR's avatar
XhmikosR committed
209
    if (data.resetText == null) $el.data('resetText', $el[val]())
Chris Rebert's avatar
Chris Rebert committed
210

XhmikosR's avatar
XhmikosR committed
211
212
    // push to event loop to allow forms to submit
    setTimeout($.proxy(function () {
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
213
214
      $el[val](data[state] == null ? this.options[state] : data[state])

XhmikosR's avatar
XhmikosR committed
215
216
217
218
219
220
      if (state == 'loadingText') {
        this.isLoading = true
        $el.addClass(d).attr(d, d)
      } else if (this.isLoading) {
        this.isLoading = false
        $el.removeClass(d).removeAttr(d)
221
      }
XhmikosR's avatar
XhmikosR committed
222
223
224
225
226
227
228
229
230
231
    }, this), 0)
  }

  Button.prototype.toggle = function () {
    var changed = true
    var $parent = this.$element.closest('[data-toggle="buttons"]')

    if ($parent.length) {
      var $input = this.$element.find('input')
      if ($input.prop('type') == 'radio') {
232
        if ($input.prop('checked')) changed = false
XhmikosR's avatar
XhmikosR committed
233
234
235
236
237
        $parent.find('.active').removeClass('active')
        this.$element.addClass('active')
      } else if ($input.prop('type') == 'checkbox') {
        if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
        this.$element.toggleClass('active')
XhmikosR's avatar
XhmikosR committed
238
      }
XhmikosR's avatar
XhmikosR committed
239
240
      $input.prop('checked', this.$element.hasClass('active'))
      if (changed) $input.trigger('change')
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
241
242
    } else {
      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
XhmikosR's avatar
XhmikosR committed
243
      this.$element.toggleClass('active')
fat's avatar
fat committed
244
    }
XhmikosR's avatar
XhmikosR committed
245
  }
246
247


XhmikosR's avatar
XhmikosR committed
248
249
  // BUTTON PLUGIN DEFINITION
  // ========================
250

XhmikosR's avatar
XhmikosR committed
251
252
253
254
255
  function Plugin(option) {
    return this.each(function () {
      var $this   = $(this)
      var data    = $this.data('bs.button')
      var options = typeof option == 'object' && option
fat's avatar
fat committed
256

XhmikosR's avatar
XhmikosR committed
257
      if (!data) $this.data('bs.button', (data = new Button(this, options)))
fat's avatar
fat committed
258

XhmikosR's avatar
XhmikosR committed
259
260
261
262
      if (option == 'toggle') data.toggle()
      else if (option) data.setState(option)
    })
  }
263

XhmikosR's avatar
XhmikosR committed
264
  var old = $.fn.button
Mark Otto's avatar
Mark Otto committed
265

XhmikosR's avatar
XhmikosR committed
266
267
  $.fn.button             = Plugin
  $.fn.button.Constructor = Button
268
269


XhmikosR's avatar
XhmikosR committed
270
271
  // BUTTON NO CONFLICT
  // ==================
272

XhmikosR's avatar
XhmikosR committed
273
274
275
276
  $.fn.button.noConflict = function () {
    $.fn.button = old
    return this
  }
277
278


XhmikosR's avatar
XhmikosR committed
279
280
  // BUTTON DATA-API
  // ===============
281

Mark Otto's avatar
grunt    
Mark Otto committed
282
283
284
285
286
  $(document)
    .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
      var $btn = $(e.target)
      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
      Plugin.call($btn, 'toggle')
XhmikosR's avatar
XhmikosR committed
287
      if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
Mark Otto's avatar
grunt    
Mark Otto committed
288
    })
Chris Rebert's avatar
Chris Rebert committed
289
    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
290
      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
Mark Otto's avatar
grunt    
Mark Otto committed
291
    })
292

XhmikosR's avatar
XhmikosR committed
293
}(jQuery);
294

295
/* ========================================================================
Chris Rebert's avatar
Chris Rebert committed
296
 * Bootstrap: carousel.js v3.3.4
Mark Otto's avatar
Mark Otto committed
297
 * http://getbootstrap.com/javascript/#carousel
298
 * ========================================================================
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
299
 * Copyright 2011-2015 Twitter, Inc.
300
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
301
 * ======================================================================== */
302
303


XhmikosR's avatar
XhmikosR committed
304
305
+function ($) {
  'use strict';
306

XhmikosR's avatar
XhmikosR committed
307
308
  // CAROUSEL CLASS DEFINITION
  // =========================
309

XhmikosR's avatar
XhmikosR committed
310
  var Carousel = function (element, options) {
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
311
    this.$element    = $(element)
XhmikosR's avatar
XhmikosR committed
312
313
    this.$indicators = this.$element.find('.carousel-indicators')
    this.options     = options
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
314
315
316
317
    this.paused      = null
    this.sliding     = null
    this.interval    = null
    this.$active     = null
XhmikosR's avatar
XhmikosR committed
318
    this.$items      = null
fat's avatar
fat committed
319

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
320
321
    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))

322
    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
XhmikosR's avatar
XhmikosR committed
323
324
325
      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
  }
326

Chris Rebert's avatar
Chris Rebert committed
327
  Carousel.VERSION  = '3.3.4'
Mark Otto's avatar
grunt    
Mark Otto committed
328

329
330
  Carousel.TRANSITION_DURATION = 600

XhmikosR's avatar
XhmikosR committed
331
332
333
  Carousel.DEFAULTS = {
    interval: 5000,
    pause: 'hover',
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
334
335
    wrap: true,
    keyboard: true
XhmikosR's avatar
XhmikosR committed
336
  }
337

XhmikosR's avatar
XhmikosR committed
338
  Carousel.prototype.keydown = function (e) {
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
339
    if (/input|textarea/i.test(e.target.tagName)) return
XhmikosR's avatar
XhmikosR committed
340
341
342
343
    switch (e.which) {
      case 37: this.prev(); break
      case 39: this.next(); break
      default: return
Mark Otto's avatar
Mark Otto committed
344
345
    }

XhmikosR's avatar
XhmikosR committed
346
347
    e.preventDefault()
  }
348

XhmikosR's avatar
XhmikosR committed
349
350
  Carousel.prototype.cycle = function (e) {
    e || (this.paused = false)
fat's avatar
fat committed
351

XhmikosR's avatar
XhmikosR committed
352
    this.interval && clearInterval(this.interval)
353

XhmikosR's avatar
XhmikosR committed
354
355
356
    this.options.interval
      && !this.paused
      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
357

XhmikosR's avatar
XhmikosR committed
358
359
    return this
  }
360

XhmikosR's avatar
XhmikosR committed
361
362
363
364
  Carousel.prototype.getItemIndex = function (item) {
    this.$items = item.parent().children('.item')
    return this.$items.index(item || this.$active)
  }
365

XhmikosR's avatar
XhmikosR committed
366
367
  Carousel.prototype.getItemForDirection = function (direction, active) {
    var activeIndex = this.getItemIndex(active)
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
368
369
370
371
    var willWrap = (direction == 'prev' && activeIndex === 0)
                || (direction == 'next' && activeIndex == (this.$items.length - 1))
    if (willWrap && !this.options.wrap) return active
    var delta = direction == 'prev' ? -1 : 1
XhmikosR's avatar
XhmikosR committed
372
373
374
375
    var itemIndex = (activeIndex + delta) % this.$items.length
    return this.$items.eq(itemIndex)
  }

XhmikosR's avatar
XhmikosR committed
376
377
378
  Carousel.prototype.to = function (pos) {
    var that        = this
    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
379

XhmikosR's avatar
XhmikosR committed
380
    if (pos > (this.$items.length - 1) || pos < 0) return
fat's avatar
fat committed
381

XhmikosR's avatar
XhmikosR committed
382
383
    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
    if (activeIndex == pos) return this.pause().cycle()
384

XhmikosR's avatar
XhmikosR committed
385
    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
XhmikosR's avatar
XhmikosR committed
386
  }
fat's avatar
fat committed
387

XhmikosR's avatar
XhmikosR committed
388
389
390
391
392
393
  Carousel.prototype.pause = function (e) {
    e || (this.paused = true)

    if (this.$element.find('.next, .prev').length && $.support.transition) {
      this.$element.trigger($.support.transition.end)
      this.cycle(true)
394
395
    }

XhmikosR's avatar
XhmikosR committed
396
    this.interval = clearInterval(this.interval)
397

XhmikosR's avatar
XhmikosR committed
398
399
    return this
  }
400

XhmikosR's avatar
XhmikosR committed
401
402
403
404
  Carousel.prototype.next = function () {
    if (this.sliding) return
    return this.slide('next')
  }
405

XhmikosR's avatar
XhmikosR committed
406
407
408
409
  Carousel.prototype.prev = function () {
    if (this.sliding) return
    return this.slide('prev')
  }
410

XhmikosR's avatar
XhmikosR committed
411
412
  Carousel.prototype.slide = function (type, next) {
    var $active   = this.$element.find('.item.active')
XhmikosR's avatar
XhmikosR committed
413
    var $next     = next || this.getItemForDirection(type, $active)
XhmikosR's avatar
XhmikosR committed
414
415
416
    var isCycling = this.interval
    var direction = type == 'next' ? 'left' : 'right'
    var that      = this
Jacob Thornton's avatar
Jacob Thornton committed
417

XhmikosR's avatar
XhmikosR committed
418
    if ($next.hasClass('active')) return (this.sliding = false)
419

XhmikosR's avatar
XhmikosR committed
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
    var relatedTarget = $next[0]
    var slideEvent = $.Event('slide.bs.carousel', {
      relatedTarget: relatedTarget,
      direction: direction
    })
    this.$element.trigger(slideEvent)
    if (slideEvent.isDefaultPrevented()) return

    this.sliding = true

    isCycling && this.pause()

    if (this.$indicators.length) {
      this.$indicators.find('.active').removeClass('active')
      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
      $nextIndicator && $nextIndicator.addClass('active')
    }

    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
    if ($.support.transition && this.$element.hasClass('slide')) {
      $next.addClass(type)
      $next[0].offsetWidth // force reflow
      $active.addClass(direction)
      $next.addClass(direction)
      $active
        .one('bsTransitionEnd', function () {
          $next.removeClass([type, direction].join(' ')).addClass('active')
          $active.removeClass(['active', direction].join(' '))
          that.sliding = false
          setTimeout(function () {
            that.$element.trigger(slidEvent)
          }, 0)
        })
453
        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
XhmikosR's avatar
XhmikosR committed
454
455
456
457
458
459
    } else {
      $active.removeClass('active')
      $next.addClass('active')
      this.sliding = false
      this.$element.trigger(slidEvent)
    }
fat's avatar
fat committed
460

XhmikosR's avatar
XhmikosR committed
461
    isCycling && this.cycle()
462

XhmikosR's avatar
XhmikosR committed
463
464
    return this
  }
465
466


XhmikosR's avatar
XhmikosR committed
467
468
  // CAROUSEL PLUGIN DEFINITION
  // ==========================
Chris Rebert's avatar
Chris Rebert committed
469

XhmikosR's avatar
XhmikosR committed
470
471
472
473
474
475
476
477
478
479
480
481
482
  function Plugin(option) {
    return this.each(function () {
      var $this   = $(this)
      var data    = $this.data('bs.carousel')
      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
      var action  = typeof option == 'string' ? option : options.slide

      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
      if (typeof option == 'number') data.to(option)
      else if (action) data[action]()
      else if (options.interval) data.pause().cycle()
    })
  }
483

XhmikosR's avatar
XhmikosR committed
484
  var old = $.fn.carousel
Mark Otto's avatar
Mark Otto committed
485

XhmikosR's avatar
XhmikosR committed
486
487
  $.fn.carousel             = Plugin
  $.fn.carousel.Constructor = Carousel
488
489


XhmikosR's avatar
XhmikosR committed
490
491
  // CAROUSEL NO CONFLICT
  // ====================
492

XhmikosR's avatar
XhmikosR committed
493
494
495
496
  $.fn.carousel.noConflict = function () {
    $.fn.carousel = old
    return this
  }
497

fat's avatar
fat committed
498

XhmikosR's avatar
XhmikosR committed
499
500
  // CAROUSEL DATA-API
  // =================
501

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
502
  var clickHandler = function (e) {
XhmikosR's avatar
XhmikosR committed
503
504
505
506
507
508
509
    var href
    var $this   = $(this)
    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
    if (!$target.hasClass('carousel')) return
    var options = $.extend({}, $target.data(), $this.data())
    var slideIndex = $this.attr('data-slide-to')
    if (slideIndex) options.interval = false
510

XhmikosR's avatar
XhmikosR committed
511
    Plugin.call($target, options)
512

XhmikosR's avatar
XhmikosR committed
513
514
    if (slideIndex) {
      $target.data('bs.carousel').to(slideIndex)
515
516
    }

XhmikosR's avatar
XhmikosR committed
517
    e.preventDefault()
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
518
519
520
521
522
  }

  $(document)
    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
523

XhmikosR's avatar
XhmikosR committed
524
525
526
527
  $(window).on('load', function () {
    $('[data-ride="carousel"]').each(function () {
      var $carousel = $(this)
      Plugin.call($carousel, $carousel.data())
fat's avatar
fat committed
528
529
530
    })
  })

XhmikosR's avatar
XhmikosR committed
531
}(jQuery);
532

533
/* ========================================================================
Chris Rebert's avatar
Chris Rebert committed
534
 * Bootstrap: collapse.js v3.3.4
Mark Otto's avatar
Mark Otto committed
535
 * http://getbootstrap.com/javascript/#collapse
536
 * ========================================================================
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
537
 * Copyright 2011-2015 Twitter, Inc.
538
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
539
 * ======================================================================== */
540
541


XhmikosR's avatar
XhmikosR committed
542
543
+function ($) {
  'use strict';
544

XhmikosR's avatar
XhmikosR committed
545
546
  // COLLAPSE PUBLIC CLASS DEFINITION
  // ================================
Mark Otto's avatar
grunt    
Mark Otto committed
547

XhmikosR's avatar
XhmikosR committed
548
549
550
  var Collapse = function (element, options) {
    this.$element      = $(element)
    this.options       = $.extend({}, Collapse.DEFAULTS, options)
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
551
552
    this.$trigger      = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
                           '[data-toggle="collapse"][data-target="#' + element.id + '"]')
XhmikosR's avatar
XhmikosR committed
553
    this.transitioning = null
554

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
555
556
557
558
559
560
    if (this.options.parent) {
      this.$parent = this.getParent()
    } else {
      this.addAriaAndCollapsedClass(this.$element, this.$trigger)
    }

XhmikosR's avatar
XhmikosR committed
561
562
    if (this.options.toggle) this.toggle()
  }
563

Chris Rebert's avatar
Chris Rebert committed
564
  Collapse.VERSION  = '3.3.4'
565

566
567
  Collapse.TRANSITION_DURATION = 350

XhmikosR's avatar
XhmikosR committed
568
  Collapse.DEFAULTS = {
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
569
    toggle: true
XhmikosR's avatar
XhmikosR committed
570
  }
fat's avatar
fat committed
571

XhmikosR's avatar
XhmikosR committed
572
573
574
575
  Collapse.prototype.dimension = function () {
    var hasWidth = this.$element.hasClass('width')
    return hasWidth ? 'width' : 'height'
  }
576

XhmikosR's avatar
XhmikosR committed
577
578
  Collapse.prototype.show = function () {
    if (this.transitioning || this.$element.hasClass('in')) return
579

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
580
    var activesData
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
581
    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
582
583
584
585
586
587

    if (actives && actives.length) {
      activesData = actives.data('bs.collapse')
      if (activesData && activesData.transitioning) return
    }

XhmikosR's avatar
XhmikosR committed
588
589
590
    var startEvent = $.Event('show.bs.collapse')
    this.$element.trigger(startEvent)
    if (startEvent.isDefaultPrevented()) return
591

XhmikosR's avatar
XhmikosR committed
592
593
    if (actives && actives.length) {
      Plugin.call(actives, 'hide')
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
594
      activesData || actives.data('bs.collapse', null)
XhmikosR's avatar
XhmikosR committed
595
    }
596

XhmikosR's avatar
XhmikosR committed
597
    var dimension = this.dimension()
598

XhmikosR's avatar
XhmikosR committed
599
600
601
    this.$element
      .removeClass('collapse')
      .addClass('collapsing')[dimension](0)
Heinrich Fenkart's avatar
Heinrich Fenkart committed
602
      .attr('aria-expanded', true)
603

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
604
605
606
607
    this.$trigger
      .removeClass('collapsed')
      .attr('aria-expanded', true)

XhmikosR's avatar
XhmikosR committed
608
    this.transitioning = 1
609

XhmikosR's avatar
XhmikosR committed
610
611
612
613
614
    var complete = function () {
      this.$element
        .removeClass('collapsing')
        .addClass('collapse in')[dimension]('')
      this.transitioning = 0
Chris Rebert's avatar
Chris Rebert committed
615
      this.$element
XhmikosR's avatar
XhmikosR committed
616
        .trigger('shown.bs.collapse')
Chris Rebert's avatar
Chris Rebert committed
617
    }
618

XhmikosR's avatar
XhmikosR committed
619
    if (!$.support.transition) return complete.call(this)
fat's avatar
fat committed
620

XhmikosR's avatar
XhmikosR committed
621
    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
fat's avatar
fat committed
622

XhmikosR's avatar
XhmikosR committed
623
624
    this.$element
      .one('bsTransitionEnd', $.proxy(complete, this))
625
      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
XhmikosR's avatar
XhmikosR committed
626
  }
627

XhmikosR's avatar
XhmikosR committed
628
629
  Collapse.prototype.hide = function () {
    if (this.transitioning || !this.$element.hasClass('in')) return
630

XhmikosR's avatar
XhmikosR committed
631
632
633
    var startEvent = $.Event('hide.bs.collapse')
    this.$element.trigger(startEvent)
    if (startEvent.isDefaultPrevented()) return
634

XhmikosR's avatar
XhmikosR committed
635
    var dimension = this.dimension()
636

XhmikosR's avatar
XhmikosR committed
637
638
639
640
    this.$element[dimension](this.$element[dimension]())[0].offsetHeight

    this.$element
      .addClass('collapsing')
Mark Otto's avatar
grunt    
Mark Otto committed
641
      .removeClass('collapse in')
Heinrich Fenkart's avatar
Heinrich Fenkart committed
642
      .attr('aria-expanded', false)
643

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
644
645
646
647
    this.$trigger
      .addClass('collapsed')
      .attr('aria-expanded', false)

XhmikosR's avatar
XhmikosR committed
648
    this.transitioning = 1
649

XhmikosR's avatar
XhmikosR committed
650
651
    var complete = function () {
      this.transitioning = 0
Chris Rebert's avatar
Chris Rebert committed
652
      this.$element
XhmikosR's avatar
XhmikosR committed
653
654
        .removeClass('collapsing')
        .addClass('collapse')
Heinrich Fenkart's avatar
Heinrich Fenkart committed
655
        .trigger('hidden.bs.collapse')
Chris Rebert's avatar
Chris Rebert committed
656
    }
657

XhmikosR's avatar
XhmikosR committed
658
    if (!$.support.transition) return complete.call(this)
659

XhmikosR's avatar
XhmikosR committed
660
661
662
    this.$element
      [dimension](0)
      .one('bsTransitionEnd', $.proxy(complete, this))
663
      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
XhmikosR's avatar
XhmikosR committed
664
  }
665

XhmikosR's avatar
XhmikosR committed
666
667
668
  Collapse.prototype.toggle = function () {
    this[this.$element.hasClass('in') ? 'hide' : 'show']()
  }
669

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
  Collapse.prototype.getParent = function () {
    return $(this.options.parent)
      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
      .each($.proxy(function (i, element) {
        var $element = $(element)
        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
      }, this))
      .end()
  }

  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
    var isOpen = $element.hasClass('in')

    $element.attr('aria-expanded', isOpen)
    $trigger
      .toggleClass('collapsed', !isOpen)
      .attr('aria-expanded', isOpen)
  }

  function getTargetFromTrigger($trigger) {
    var href
    var target = $trigger.attr('data-target')
      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7

    return $(target)
  }

697

XhmikosR's avatar
XhmikosR committed
698
699
  // COLLAPSE PLUGIN DEFINITION
  // ==========================
700

XhmikosR's avatar
XhmikosR committed
701
702
703
704
705
  function Plugin(option) {
    return this.each(function () {
      var $this   = $(this)
      var data    = $this.data('bs.collapse')
      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
Mark Otto's avatar
Mark Otto committed
706

Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
707
      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
XhmikosR's avatar
XhmikosR committed
708
709
710
711
      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
      if (typeof option == 'string') data[option]()
    })
  }
712

XhmikosR's avatar
XhmikosR committed
713
  var old = $.fn.collapse
714

XhmikosR's avatar
XhmikosR committed
715
716
  $.fn.collapse             = Plugin
  $.fn.collapse.Constructor = Collapse
717

718

XhmikosR's avatar
XhmikosR committed
719
720
  // COLLAPSE NO CONFLICT
  // ====================
721

XhmikosR's avatar
XhmikosR committed
722
723
724
725
  $.fn.collapse.noConflict = function () {
    $.fn.collapse = old
    return this
  }
726

727

XhmikosR's avatar
XhmikosR committed
728
729
730
731
732
  // COLLAPSE DATA-API
  // =================

  $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
    var $this   = $(this)
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
733
734
735
736

    if (!$this.attr('data-target')) e.preventDefault()

    var $target = getTargetFromTrigger($this)
XhmikosR's avatar
XhmikosR committed
737
    var data    = $target.data('bs.collapse')
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
738
    var option  = data ? 'toggle' : $this.data()
fat's avatar
fat committed
739

XhmikosR's avatar
XhmikosR committed
740
    Plugin.call($target, option)
741
742
  })

XhmikosR's avatar
XhmikosR committed
743
}(jQuery);
744

745
/* ========================================================================
Chris Rebert's avatar
Chris Rebert committed
746
 * Bootstrap: dropdown.js v3.3.4
Mark Otto's avatar
Mark Otto committed
747
 * http://getbootstrap.com/javascript/#dropdowns
748
 * ========================================================================
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
749
 * Copyright 2011-2015 Twitter, Inc.
750
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
751
 * ======================================================================== */
752
753


XhmikosR's avatar
XhmikosR committed
754
755
+function ($) {
  'use strict';
Chris Rebert's avatar
Chris Rebert committed
756

XhmikosR's avatar
XhmikosR committed
757
758
  // DROPDOWN CLASS DEFINITION
  // =========================
Mark Otto's avatar
grunt    
Mark Otto committed
759

XhmikosR's avatar
XhmikosR committed
760
761
762
763
764
  var backdrop = '.dropdown-backdrop'
  var toggle   = '[data-toggle="dropdown"]'
  var Dropdown = function (element) {
    $(element).on('click.bs.dropdown', this.toggle)
  }
765

Chris Rebert's avatar
Chris Rebert committed
766
  Dropdown.VERSION = '3.3.4'
Mark Otto's avatar
grunt    
Mark Otto committed
767

768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
  function getParent($this) {
    var selector = $this.attr('data-target')

    if (!selector) {
      selector = $this.attr('href')
      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
    }

    var $parent = selector && $(selector)

    return $parent && $parent.length ? $parent : $this.parent()
  }

  function clearMenus(e) {
    if (e && e.which === 3) return
    $(backdrop).remove()
    $(toggle).each(function () {
      var $this         = $(this)
      var $parent       = getParent($this)
      var relatedTarget = { relatedTarget: this }

      if (!$parent.hasClass('open')) return

      if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return

      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))

      if (e.isDefaultPrevented()) return

      $this.attr('aria-expanded', 'false')
      $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
    })
  }

XhmikosR's avatar
XhmikosR committed
802
803
  Dropdown.prototype.toggle = function (e) {
    var $this = $(this)
804

XhmikosR's avatar
XhmikosR committed
805
    if ($this.is('.disabled, :disabled')) return
806

XhmikosR's avatar
XhmikosR committed
807
808
    var $parent  = getParent($this)
    var isActive = $parent.hasClass('open')
809

XhmikosR's avatar
XhmikosR committed
810
    clearMenus()
fat's avatar
fat committed
811

XhmikosR's avatar
XhmikosR committed
812
813
814
    if (!isActive) {
      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
        // if mobile we use a backdrop because click events don't delegate
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
815
816
817
818
        $(document.createElement('div'))
          .addClass('dropdown-backdrop')
          .insertAfter($(this))
          .on('click', clearMenus)
XhmikosR's avatar
XhmikosR committed
819
      }
820

XhmikosR's avatar
XhmikosR committed
821
822
      var relatedTarget = { relatedTarget: this }
      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
823

XhmikosR's avatar
XhmikosR committed
824
      if (e.isDefaultPrevented()) return
825

826
827
828
      $this
        .trigger('focus')
        .attr('aria-expanded', 'true')
Mark Otto's avatar
Mark Otto committed
829

XhmikosR's avatar
XhmikosR committed
830
831
832
      $parent
        .toggleClass('open')
        .trigger('shown.bs.dropdown', relatedTarget)
fat's avatar
rebuild    
fat committed
833
    }
834

XhmikosR's avatar
XhmikosR committed
835
836
    return false
  }
837

XhmikosR's avatar
XhmikosR committed
838
  Dropdown.prototype.keydown = function (e) {
Mark Otto's avatar
grunt    
Mark Otto committed
839
    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
840

XhmikosR's avatar
XhmikosR committed
841
    var $this = $(this)
842

XhmikosR's avatar
XhmikosR committed
843
844
    e.preventDefault()
    e.stopPropagation()
845

XhmikosR's avatar
XhmikosR committed
846
    if ($this.is('.disabled, :disabled')) return
847

XhmikosR's avatar
XhmikosR committed
848
849
    var $parent  = getParent($this)
    var isActive = $parent.hasClass('open')
850

851
    if (!isActive && e.which != 27 || isActive && e.which == 27) {
XhmikosR's avatar
XhmikosR committed
852
853
854
      if (e.which == 27) $parent.find(toggle).trigger('focus')
      return $this.trigger('click')
    }
855

Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
856
    var desc = ' li:not(.disabled):visible a'
XhmikosR's avatar
XhmikosR committed
857
    var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
858

XhmikosR's avatar
XhmikosR committed
859
    if (!$items.length) return
860

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
861
    var index = $items.index(e.target)
862

863
864
865
    if (e.which == 38 && index > 0)                 index--         // up
    if (e.which == 40 && index < $items.length - 1) index++         // down
    if (!~index)                                    index = 0
866

XhmikosR's avatar
XhmikosR committed
867
868
    $items.eq(index).trigger('focus')
  }
Chris Rebert's avatar
Chris Rebert committed
869

870

XhmikosR's avatar
XhmikosR committed
871
872
  // DROPDOWN PLUGIN DEFINITION
  // ==========================
873

XhmikosR's avatar
XhmikosR committed
874
875
876
877
  function Plugin(option) {
    return this.each(function () {
      var $this = $(this)
      var data  = $this.data('bs.dropdown')
878

XhmikosR's avatar
XhmikosR committed
879
880
881
882
      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
      if (typeof option == 'string') data[option].call($this)
    })
  }
Mark Otto's avatar
Mark Otto committed
883

XhmikosR's avatar
XhmikosR committed
884
  var old = $.fn.dropdown
885

XhmikosR's avatar
XhmikosR committed
886
887
  $.fn.dropdown             = Plugin
  $.fn.dropdown.Constructor = Dropdown
888

889

XhmikosR's avatar
XhmikosR committed
890
891
  // DROPDOWN NO CONFLICT
  // ====================
892

XhmikosR's avatar
XhmikosR committed
893
894
895
896
  $.fn.dropdown.noConflict = function () {
    $.fn.dropdown = old
    return this
  }
897

898

XhmikosR's avatar
XhmikosR committed
899
900
901
902
903
904
905
  // APPLY TO STANDARD DROPDOWN ELEMENTS
  // ===================================

  $(document)
    .on('click.bs.dropdown.data-api', clearMenus)
    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
906
    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
907
    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
908

XhmikosR's avatar
XhmikosR committed
909
}(jQuery);
910

911
/* ========================================================================
Chris Rebert's avatar
Chris Rebert committed
912
 * Bootstrap: modal.js v3.3.4
Mark Otto's avatar
Mark Otto committed
913
 * http://getbootstrap.com/javascript/#modals
914
 * ========================================================================
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
915
 * Copyright 2011-2015 Twitter, Inc.
916
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
917
 * ======================================================================== */
918
919


XhmikosR's avatar
XhmikosR committed
920
921
+function ($) {
  'use strict';
922

XhmikosR's avatar
XhmikosR committed
923
924
  // MODAL CLASS DEFINITION
  // ======================
925

XhmikosR's avatar
XhmikosR committed
926
  var Modal = function (element, options) {
Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
927
928
929
930
931
932
933
934
935
    this.options             = options
    this.$body               = $(document.body)
    this.$element            = $(element)
    this.$dialog             = this.$element.find('.modal-dialog')
    this.$backdrop           = null
    this.isShown             = null
    this.originalBodyPad     = null
    this.scrollbarWidth      = 0
    this.ignoreBackdropClick = false
936

XhmikosR's avatar
XhmikosR committed
937
938
939
940
941
942
    if (this.options.remote) {
      this.$element
        .find('.modal-content')
        .load(this.options.remote, $.proxy(function () {
          this.$element.trigger('loaded.bs.modal')
        }, this))
943
    }
XhmikosR's avatar
XhmikosR committed
944
  }
945

Chris Rebert's avatar
Chris Rebert committed
946
  Modal.VERSION  = '3.3.4'
Mark Otto's avatar
grunt    
Mark Otto committed
947

948
949
950
  Modal.TRANSITION_DURATION = 300
  Modal.BACKDROP_TRANSITION_DURATION = 150

XhmikosR's avatar
XhmikosR committed
951
952
953
954
955
  Modal.DEFAULTS = {
    backdrop: true,
    keyboard: true,
    show: true
  }
956

XhmikosR's avatar
XhmikosR committed
957
958
959
  Modal.prototype.toggle = function (_relatedTarget) {
    return this.isShown ? this.hide() : this.show(_relatedTarget)
  }
960

XhmikosR's avatar
XhmikosR committed
961
962
963
  Modal.prototype.show = function (_relatedTarget) {
    var that = this
    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
964

XhmikosR's avatar
XhmikosR committed
965
    this.$element.trigger(e)
966

XhmikosR's avatar
XhmikosR committed
967
    if (this.isShown || e.isDefaultPrevented()) return
968

XhmikosR's avatar
XhmikosR committed
969
    this.isShown = true
fat's avatar
build    
fat committed
970

XhmikosR's avatar
XhmikosR committed
971
    this.checkScrollbar()
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
972
    this.setScrollbar()
XhmikosR's avatar
XhmikosR committed
973
    this.$body.addClass('modal-open')
974

XhmikosR's avatar
XhmikosR committed
975
    this.escape()
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
976
    this.resize()
fat's avatar
rebuild    
fat committed
977

XhmikosR's avatar
XhmikosR committed
978
    this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
979

Bootstrap's Grunt bot's avatar
Bootstrap's Grunt bot committed
980
981
982
983
984
985
    this.$dialog.on('mousedown.dismiss.bs.modal', function () {
      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
      })
    })

XhmikosR's avatar
XhmikosR committed
986
987
    this.backdrop(function () {
      var transition = $.support.transition && that.$element.hasClass('fade')
988

XhmikosR's avatar
XhmikosR committed
989
990
991
      if (!that.$element.parent().length) {
        that.$element.appendTo(that.$body) // don't move modals dom position
      }
992

XhmikosR's avatar
XhmikosR committed
993
994
995
      that.$element
        .show()
        .scrollTop(0)
Jacob Thornton's avatar
Jacob Thornton committed
996

Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
997
      that.adjustDialog()
Heinrich Fenkart's avatar
grunt    
Heinrich Fenkart committed
998

XhmikosR's avatar
XhmikosR committed
999
1000
      if (transition) {
        that.$element[0].offsetWidth // force reflow
For faster browsing, not all history is shown. View entire blame