Subversion Repositories oidplus

Rev

Rev 2 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 419
Line 1... Line 1...
1
/*!
1
/*!
2
 * Bootstrap v3.3.7 (http://getbootstrap.com)
2
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
3
 * Copyright 2011-2016 Twitter, Inc.
3
 * Copyright 2011-2019 Twitter, Inc.
4
 * Licensed under the MIT license
4
 * Licensed under the MIT license
5
 */
5
 */
6
 
6
 
7
if (typeof jQuery === 'undefined') {
7
if (typeof jQuery === 'undefined') {
8
  throw new Error('Bootstrap\'s JavaScript requires jQuery')
8
  throw new Error('Bootstrap\'s JavaScript requires jQuery')
Line 15... Line 15...
15
    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
15
    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')
16
  }
16
  }
17
}(jQuery);
17
}(jQuery);
18
 
18
 
19
/* ========================================================================
19
/* ========================================================================
20
 * Bootstrap: transition.js v3.3.7
20
 * Bootstrap: transition.js v3.4.1
21
 * http://getbootstrap.com/javascript/#transitions
21
 * https://getbootstrap.com/docs/3.4/javascript/#transitions
22
 * ========================================================================
22
 * ========================================================================
23
 * Copyright 2011-2016 Twitter, Inc.
23
 * Copyright 2011-2019 Twitter, Inc.
24
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
24
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
25
 * ======================================================================== */
25
 * ======================================================================== */
26
 
26
 
27
 
27
 
28
+function ($) {
28
+function ($) {
29
  'use strict';
29
  'use strict';
30
 
30
 
31
  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
31
  // CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/)
32
  // ============================================================
32
  // ============================================================
33
 
33
 
34
  function transitionEnd() {
34
  function transitionEnd() {
35
    var el = document.createElement('bootstrap')
35
    var el = document.createElement('bootstrap')
36
 
36
 
Line 48... Line 48...
48
    }
48
    }
49
 
49
 
50
    return false // explicit for ie8 (  ._.)
50
    return false // explicit for ie8 (  ._.)
51
  }
51
  }
52
 
52
 
53
  // http://blog.alexmaccaw.com/css-transitions
53
  // https://blog.alexmaccaw.com/css-transitions
54
  $.fn.emulateTransitionEnd = function (duration) {
54
  $.fn.emulateTransitionEnd = function (duration) {
55
    var called = false
55
    var called = false
56
    var $el = this
56
    var $el = this
57
    $(this).one('bsTransitionEnd', function () { called = true })
57
    $(this).one('bsTransitionEnd', function () { called = true })
58
    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
58
    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
Line 75... Line 75...
75
  })
75
  })
76
 
76
 
77
}(jQuery);
77
}(jQuery);
78
 
78
 
79
/* ========================================================================
79
/* ========================================================================
80
 * Bootstrap: alert.js v3.3.7
80
 * Bootstrap: alert.js v3.4.1
81
 * http://getbootstrap.com/javascript/#alerts
81
 * https://getbootstrap.com/docs/3.4/javascript/#alerts
82
 * ========================================================================
82
 * ========================================================================
83
 * Copyright 2011-2016 Twitter, Inc.
83
 * Copyright 2011-2019 Twitter, Inc.
84
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
84
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
85
 * ======================================================================== */
85
 * ======================================================================== */
86
 
86
 
87
 
87
 
88
+function ($) {
88
+function ($) {
Line 94... Line 94...
94
  var dismiss = '[data-dismiss="alert"]'
94
  var dismiss = '[data-dismiss="alert"]'
95
  var Alert   = function (el) {
95
  var Alert   = function (el) {
96
    $(el).on('click', dismiss, this.close)
96
    $(el).on('click', dismiss, this.close)
97
  }
97
  }
98
 
98
 
99
  Alert.VERSION = '3.3.7'
99
  Alert.VERSION = '3.4.1'
100
 
100
 
101
  Alert.TRANSITION_DURATION = 150
101
  Alert.TRANSITION_DURATION = 150
102
 
102
 
103
  Alert.prototype.close = function (e) {
103
  Alert.prototype.close = function (e) {
104
    var $this    = $(this)
104
    var $this    = $(this)
Line 107... Line 107...
107
    if (!selector) {
107
    if (!selector) {
108
      selector = $this.attr('href')
108
      selector = $this.attr('href')
109
      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
109
      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
110
    }
110
    }
111
 
111
 
112
    var $parent = $(selector === '#' ? [] : selector)
112
    selector    = selector === '#' ? [] : selector
-
 
113
    var $parent = $(document).find(selector)
113
 
114
 
114
    if (e) e.preventDefault()
115
    if (e) e.preventDefault()
115
 
116
 
116
    if (!$parent.length) {
117
    if (!$parent.length) {
117
      $parent = $this.closest('.alert')
118
      $parent = $this.closest('.alert')
Line 170... Line 171...
170
  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
171
  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
171
 
172
 
172
}(jQuery);
173
}(jQuery);
173
 
174
 
174
/* ========================================================================
175
/* ========================================================================
175
 * Bootstrap: button.js v3.3.7
176
 * Bootstrap: button.js v3.4.1
176
 * http://getbootstrap.com/javascript/#buttons
177
 * https://getbootstrap.com/docs/3.4/javascript/#buttons
177
 * ========================================================================
178
 * ========================================================================
178
 * Copyright 2011-2016 Twitter, Inc.
179
 * Copyright 2011-2019 Twitter, Inc.
179
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
180
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
180
 * ======================================================================== */
181
 * ======================================================================== */
181
 
182
 
182
 
183
 
183
+function ($) {
184
+function ($) {
Line 190... Line 191...
190
    this.$element  = $(element)
191
    this.$element  = $(element)
191
    this.options   = $.extend({}, Button.DEFAULTS, options)
192
    this.options   = $.extend({}, Button.DEFAULTS, options)
192
    this.isLoading = false
193
    this.isLoading = false
193
  }
194
  }
194
 
195
 
195
  Button.VERSION  = '3.3.7'
196
  Button.VERSION  = '3.4.1'
196
 
197
 
197
  Button.DEFAULTS = {
198
  Button.DEFAULTS = {
198
    loadingText: 'loading...'
199
    loadingText: 'loading...'
199
  }
200
  }
200
 
201
 
Line 296... Line 297...
296
    })
297
    })
297
 
298
 
298
}(jQuery);
299
}(jQuery);
299
 
300
 
300
/* ========================================================================
301
/* ========================================================================
301
 * Bootstrap: carousel.js v3.3.7
302
 * Bootstrap: carousel.js v3.4.1
302
 * http://getbootstrap.com/javascript/#carousel
303
 * https://getbootstrap.com/docs/3.4/javascript/#carousel
303
 * ========================================================================
304
 * ========================================================================
304
 * Copyright 2011-2016 Twitter, Inc.
305
 * Copyright 2011-2019 Twitter, Inc.
305
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
306
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
306
 * ======================================================================== */
307
 * ======================================================================== */
307
 
308
 
308
 
309
 
309
+function ($) {
310
+function ($) {
Line 327... Line 328...
327
    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
328
    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
328
      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
329
      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
329
      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
330
      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
330
  }
331
  }
331
 
332
 
332
  Carousel.VERSION  = '3.3.7'
333
  Carousel.VERSION  = '3.4.1'
333
 
334
 
334
  Carousel.TRANSITION_DURATION = 600
335
  Carousel.TRANSITION_DURATION = 600
335
 
336
 
336
  Carousel.DEFAULTS = {
337
  Carousel.DEFAULTS = {
337
    interval: 5000,
338
    interval: 5000,
Line 441... Line 442...
441
    }
442
    }
442
 
443
 
443
    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
444
    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
444
    if ($.support.transition && this.$element.hasClass('slide')) {
445
    if ($.support.transition && this.$element.hasClass('slide')) {
445
      $next.addClass(type)
446
      $next.addClass(type)
-
 
447
      if (typeof $next === 'object' && $next.length) {
446
      $next[0].offsetWidth // force reflow
448
        $next[0].offsetWidth // force reflow
-
 
449
      }
447
      $active.addClass(direction)
450
      $active.addClass(direction)
448
      $next.addClass(direction)
451
      $next.addClass(direction)
449
      $active
452
      $active
450
        .one('bsTransitionEnd', function () {
453
        .one('bsTransitionEnd', function () {
451
          $next.removeClass([type, direction].join(' ')).addClass('active')
454
          $next.removeClass([type, direction].join(' ')).addClass('active')
Line 503... Line 506...
503
 
506
 
504
  // CAROUSEL DATA-API
507
  // CAROUSEL DATA-API
505
  // =================
508
  // =================
506
 
509
 
507
  var clickHandler = function (e) {
510
  var clickHandler = function (e) {
508
    var href
-
 
509
    var $this   = $(this)
511
    var $this   = $(this)
-
 
512
    var href    = $this.attr('href')
-
 
513
    if (href) {
510
    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
514
      href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
-
 
515
    }
-
 
516
 
-
 
517
    var target  = $this.attr('data-target') || href
-
 
518
    var $target = $(document).find(target)
-
 
519
 
511
    if (!$target.hasClass('carousel')) return
520
    if (!$target.hasClass('carousel')) return
-
 
521
 
512
    var options = $.extend({}, $target.data(), $this.data())
522
    var options = $.extend({}, $target.data(), $this.data())
513
    var slideIndex = $this.attr('data-slide-to')
523
    var slideIndex = $this.attr('data-slide-to')
514
    if (slideIndex) options.interval = false
524
    if (slideIndex) options.interval = false
515
 
525
 
516
    Plugin.call($target, options)
526
    Plugin.call($target, options)
Line 534... Line 544...
534
  })
544
  })
535
 
545
 
536
}(jQuery);
546
}(jQuery);
537
 
547
 
538
/* ========================================================================
548
/* ========================================================================
539
 * Bootstrap: collapse.js v3.3.7
549
 * Bootstrap: collapse.js v3.4.1
540
 * http://getbootstrap.com/javascript/#collapse
550
 * https://getbootstrap.com/docs/3.4/javascript/#collapse
541
 * ========================================================================
551
 * ========================================================================
542
 * Copyright 2011-2016 Twitter, Inc.
552
 * Copyright 2011-2019 Twitter, Inc.
543
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
553
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
544
 * ======================================================================== */
554
 * ======================================================================== */
545
 
555
 
546
/* jshint latedef: false */
556
/* jshint latedef: false */
547
 
557
 
Line 565... Line 575...
565
    }
575
    }
566
 
576
 
567
    if (this.options.toggle) this.toggle()
577
    if (this.options.toggle) this.toggle()
568
  }
578
  }
569
 
579
 
570
  Collapse.VERSION  = '3.3.7'
580
  Collapse.VERSION  = '3.4.1'
571
 
581
 
572
  Collapse.TRANSITION_DURATION = 350
582
  Collapse.TRANSITION_DURATION = 350
573
 
583
 
574
  Collapse.DEFAULTS = {
584
  Collapse.DEFAULTS = {
575
    toggle: true
585
    toggle: true
Line 672... Line 682...
672
  Collapse.prototype.toggle = function () {
682
  Collapse.prototype.toggle = function () {
673
    this[this.$element.hasClass('in') ? 'hide' : 'show']()
683
    this[this.$element.hasClass('in') ? 'hide' : 'show']()
674
  }
684
  }
675
 
685
 
676
  Collapse.prototype.getParent = function () {
686
  Collapse.prototype.getParent = function () {
677
    return $(this.options.parent)
687
    return $(document).find(this.options.parent)
678
      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
688
      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
679
      .each($.proxy(function (i, element) {
689
      .each($.proxy(function (i, element) {
680
        var $element = $(element)
690
        var $element = $(element)
681
        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
691
        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
682
      }, this))
692
      }, this))
Line 695... Line 705...
695
  function getTargetFromTrigger($trigger) {
705
  function getTargetFromTrigger($trigger) {
696
    var href
706
    var href
697
    var target = $trigger.attr('data-target')
707
    var target = $trigger.attr('data-target')
698
      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
708
      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
699
 
709
 
700
    return $(target)
710
    return $(document).find(target)
701
  }
711
  }
702
 
712
 
703
 
713
 
704
  // COLLAPSE PLUGIN DEFINITION
714
  // COLLAPSE PLUGIN DEFINITION
705
  // ==========================
715
  // ==========================
Line 747... Line 757...
747
  })
757
  })
748
 
758
 
749
}(jQuery);
759
}(jQuery);
750
 
760
 
751
/* ========================================================================
761
/* ========================================================================
752
 * Bootstrap: dropdown.js v3.3.7
762
 * Bootstrap: dropdown.js v3.4.1
753
 * http://getbootstrap.com/javascript/#dropdowns
763
 * https://getbootstrap.com/docs/3.4/javascript/#dropdowns
754
 * ========================================================================
764
 * ========================================================================
755
 * Copyright 2011-2016 Twitter, Inc.
765
 * Copyright 2011-2019 Twitter, Inc.
756
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
766
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
757
 * ======================================================================== */
767
 * ======================================================================== */
758
 
768
 
759
 
769
 
760
+function ($) {
770
+function ($) {
Line 767... Line 777...
767
  var toggle   = '[data-toggle="dropdown"]'
777
  var toggle   = '[data-toggle="dropdown"]'
768
  var Dropdown = function (element) {
778
  var Dropdown = function (element) {
769
    $(element).on('click.bs.dropdown', this.toggle)
779
    $(element).on('click.bs.dropdown', this.toggle)
770
  }
780
  }
771
 
781
 
772
  Dropdown.VERSION = '3.3.7'
782
  Dropdown.VERSION = '3.4.1'
773
 
783
 
774
  function getParent($this) {
784
  function getParent($this) {
775
    var selector = $this.attr('data-target')
785
    var selector = $this.attr('data-target')
776
 
786
 
777
    if (!selector) {
787
    if (!selector) {
778
      selector = $this.attr('href')
788
      selector = $this.attr('href')
779
      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
789
      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
780
    }
790
    }
781
 
791
 
782
    var $parent = selector && $(selector)
792
    var $parent = selector !== '#' ? $(document).find(selector) : null
783
 
793
 
784
    return $parent && $parent.length ? $parent : $this.parent()
794
    return $parent && $parent.length ? $parent : $this.parent()
785
  }
795
  }
786
 
796
 
787
  function clearMenus(e) {
797
  function clearMenus(e) {
Line 913... Line 923...
913
    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
923
    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
914
 
924
 
915
}(jQuery);
925
}(jQuery);
916
 
926
 
917
/* ========================================================================
927
/* ========================================================================
918
 * Bootstrap: modal.js v3.3.7
928
 * Bootstrap: modal.js v3.4.1
919
 * http://getbootstrap.com/javascript/#modals
929
 * https://getbootstrap.com/docs/3.4/javascript/#modals
920
 * ========================================================================
930
 * ========================================================================
921
 * Copyright 2011-2016 Twitter, Inc.
931
 * Copyright 2011-2019 Twitter, Inc.
922
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
932
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
923
 * ======================================================================== */
933
 * ======================================================================== */
924
 
934
 
925
 
935
 
926
+function ($) {
936
+function ($) {
Line 937... Line 947...
937
    this.$backdrop           = null
947
    this.$backdrop = null
938
    this.isShown             = null
948
    this.isShown = null
939
    this.originalBodyPad     = null
949
    this.originalBodyPad = null
940
    this.scrollbarWidth      = 0
950
    this.scrollbarWidth = 0
941
    this.ignoreBackdropClick = false
951
    this.ignoreBackdropClick = false
-
 
952
    this.fixedContent = '.navbar-fixed-top, .navbar-fixed-bottom'
942
 
953
 
943
    if (this.options.remote) {
954
    if (this.options.remote) {
944
      this.$element
955
      this.$element
945
        .find('.modal-content')
956
        .find('.modal-content')
946
        .load(this.options.remote, $.proxy(function () {
957
        .load(this.options.remote, $.proxy(function () {
947
          this.$element.trigger('loaded.bs.modal')
958
          this.$element.trigger('loaded.bs.modal')
948
        }, this))
959
        }, this))
949
    }
960
    }
950
  }
961
  }
951
 
962
 
952
  Modal.VERSION  = '3.3.7'
963
  Modal.VERSION = '3.4.1'
953
 
964
 
954
  Modal.TRANSITION_DURATION = 300
965
  Modal.TRANSITION_DURATION = 300
955
  Modal.BACKDROP_TRANSITION_DURATION = 150
966
  Modal.BACKDROP_TRANSITION_DURATION = 150
956
 
967
 
957
  Modal.DEFAULTS = {
968
  Modal.DEFAULTS = {
Line 1183... Line 1194...
1183
  }
1194
  }
1184
 
1195
 
1185
  Modal.prototype.setScrollbar = function () {
1196
  Modal.prototype.setScrollbar = function () {
1186
    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
1197
    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
1187
    this.originalBodyPad = document.body.style.paddingRight || ''
1198
    this.originalBodyPad = document.body.style.paddingRight || ''
-
 
1199
    var scrollbarWidth = this.scrollbarWidth
-
 
1200
    if (this.bodyIsOverflowing) {
1188
    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
1201
      this.$body.css('padding-right', bodyPad + scrollbarWidth)
-
 
1202
      $(this.fixedContent).each(function (index, element) {
-
 
1203
        var actualPadding = element.style.paddingRight
-
 
1204
        var calculatedPadding = $(element).css('padding-right')
-
 
1205
        $(element)
-
 
1206
          .data('padding-right', actualPadding)
-
 
1207
          .css('padding-right', parseFloat(calculatedPadding) + scrollbarWidth + 'px')
-
 
1208
      })
-
 
1209
    }
1189
  }
1210
  }
1190
 
1211
 
1191
  Modal.prototype.resetScrollbar = function () {
1212
  Modal.prototype.resetScrollbar = function () {
1192
    this.$body.css('padding-right', this.originalBodyPad)
1213
    this.$body.css('padding-right', this.originalBodyPad)
-
 
1214
    $(this.fixedContent).each(function (index, element) {
-
 
1215
      var padding = $(element).data('padding-right')
-
 
1216
      $(element).removeData('padding-right')
-
 
1217
      element.style.paddingRight = padding ? padding : ''
-
 
1218
    })
1193
  }
1219
  }
1194
 
1220
 
1195
  Modal.prototype.measureScrollbar = function () { // thx walsh
1221
  Modal.prototype.measureScrollbar = function () { // thx walsh
1196
    var scrollDiv = document.createElement('div')
1222
    var scrollDiv = document.createElement('div')
1197
    scrollDiv.className = 'modal-scrollbar-measure'
1223
    scrollDiv.className = 'modal-scrollbar-measure'
Line 1236... Line 1262...
1236
  // ==============
1262
  // ==============
1237
 
1263
 
1238
  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
1264
  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
1239
    var $this   = $(this)
1265
    var $this = $(this)
1240
    var href    = $this.attr('href')
1266
    var href = $this.attr('href')
-
 
1267
    var target = $this.attr('data-target') ||
1241
    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
1268
      (href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
-
 
1269
 
-
 
1270
    var $target = $(document).find(target)
1242
    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
1271
    var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
1243
 
1272
 
1244
    if ($this.is('a')) e.preventDefault()
1273
    if ($this.is('a')) e.preventDefault()
1245
 
1274
 
1246
    $target.one('show.bs.modal', function (showEvent) {
1275
    $target.one('show.bs.modal', function (showEvent) {
Line 1253... Line 1282...
1253
  })
1282
  })
1254
 
1283
 
1255
}(jQuery);
1284
}(jQuery);
1256
 
1285
 
1257
/* ========================================================================
1286
/* ========================================================================
1258
 * Bootstrap: tooltip.js v3.3.7
1287
 * Bootstrap: tooltip.js v3.4.1
1259
 * http://getbootstrap.com/javascript/#tooltip
1288
 * https://getbootstrap.com/docs/3.4/javascript/#tooltip
1260
 * Inspired by the original jQuery.tipsy by Jason Frame
1289
 * Inspired by the original jQuery.tipsy by Jason Frame
1261
 * ========================================================================
1290
 * ========================================================================
1262
 * Copyright 2011-2016 Twitter, Inc.
1291
 * Copyright 2011-2019 Twitter, Inc.
1263
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1292
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1264
 * ======================================================================== */
1293
 * ======================================================================== */
1265
 
1294
 
1266
 
-
 
1267
+function ($) {
1295
+function ($) {
1268
  'use strict';
1296
  'use strict';
1269
 
1297
 
-
 
1298
  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']
-
 
1299
 
-
 
1300
  var uriAttrs = [
-
 
1301
    'background',
-
 
1302
    'cite',
-
 
1303
    'href',
-
 
1304
    'itemtype',
-
 
1305
    'longdesc',
-
 
1306
    'poster',
-
 
1307
    'src',
-
 
1308
    'xlink:href'
-
 
1309
  ]
-
 
1310
 
-
 
1311
  var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
-
 
1312
 
-
 
1313
  var DefaultWhitelist = {
-
 
1314
    // Global attributes allowed on any supplied element below.
-
 
1315
    '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
-
 
1316
    a: ['target', 'href', 'title', 'rel'],
-
 
1317
    area: [],
-
 
1318
    b: [],
-
 
1319
    br: [],
-
 
1320
    col: [],
-
 
1321
    code: [],
-
 
1322
    div: [],
-
 
1323
    em: [],
-
 
1324
    hr: [],
-
 
1325
    h1: [],
-
 
1326
    h2: [],
-
 
1327
    h3: [],
-
 
1328
    h4: [],
-
 
1329
    h5: [],
-
 
1330
    h6: [],
-
 
1331
    i: [],
-
 
1332
    img: ['src', 'alt', 'title', 'width', 'height'],
-
 
1333
    li: [],
-
 
1334
    ol: [],
-
 
1335
    p: [],
-
 
1336
    pre: [],
-
 
1337
    s: [],
-
 
1338
    small: [],
-
 
1339
    span: [],
-
 
1340
    sub: [],
-
 
1341
    sup: [],
-
 
1342
    strong: [],
-
 
1343
    u: [],
-
 
1344
    ul: []
-
 
1345
  }
-
 
1346
 
-
 
1347
  /**
-
 
1348
   * A pattern that recognizes a commonly useful subset of URLs that are safe.
-
 
1349
   *
-
 
1350
   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
-
 
1351
   */
-
 
1352
  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi
-
 
1353
 
-
 
1354
  /**
-
 
1355
   * A pattern that matches safe data URLs. Only matches image, video and audio types.
-
 
1356
   *
-
 
1357
   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
-
 
1358
   */
-
 
1359
  var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i
-
 
1360
 
-
 
1361
  function allowedAttribute(attr, allowedAttributeList) {
-
 
1362
    var attrName = attr.nodeName.toLowerCase()
-
 
1363
 
-
 
1364
    if ($.inArray(attrName, allowedAttributeList) !== -1) {
-
 
1365
      if ($.inArray(attrName, uriAttrs) !== -1) {
-
 
1366
        return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))
-
 
1367
      }
-
 
1368
 
-
 
1369
      return true
-
 
1370
    }
-
 
1371
 
-
 
1372
    var regExp = $(allowedAttributeList).filter(function (index, value) {
-
 
1373
      return value instanceof RegExp
-
 
1374
    })
-
 
1375
 
-
 
1376
    // Check if a regular expression validates the attribute.
-
 
1377
    for (var i = 0, l = regExp.length; i < l; i++) {
-
 
1378
      if (attrName.match(regExp[i])) {
-
 
1379
        return true
-
 
1380
      }
-
 
1381
    }
-
 
1382
 
-
 
1383
    return false
-
 
1384
  }
-
 
1385
 
-
 
1386
  function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
-
 
1387
    if (unsafeHtml.length === 0) {
-
 
1388
      return unsafeHtml
-
 
1389
    }
-
 
1390
 
-
 
1391
    if (sanitizeFn && typeof sanitizeFn === 'function') {
-
 
1392
      return sanitizeFn(unsafeHtml)
-
 
1393
    }
-
 
1394
 
-
 
1395
    // IE 8 and below don't support createHTMLDocument
-
 
1396
    if (!document.implementation || !document.implementation.createHTMLDocument) {
-
 
1397
      return unsafeHtml
-
 
1398
    }
-
 
1399
 
-
 
1400
    var createdDocument = document.implementation.createHTMLDocument('sanitization')
-
 
1401
    createdDocument.body.innerHTML = unsafeHtml
-
 
1402
 
-
 
1403
    var whitelistKeys = $.map(whiteList, function (el, i) { return i })
-
 
1404
    var elements = $(createdDocument.body).find('*')
-
 
1405
 
-
 
1406
    for (var i = 0, len = elements.length; i < len; i++) {
-
 
1407
      var el = elements[i]
-
 
1408
      var elName = el.nodeName.toLowerCase()
-
 
1409
 
-
 
1410
      if ($.inArray(elName, whitelistKeys) === -1) {
-
 
1411
        el.parentNode.removeChild(el)
-
 
1412
 
-
 
1413
        continue
-
 
1414
      }
-
 
1415
 
-
 
1416
      var attributeList = $.map(el.attributes, function (el) { return el })
-
 
1417
      var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])
-
 
1418
 
-
 
1419
      for (var j = 0, len2 = attributeList.length; j < len2; j++) {
-
 
1420
        if (!allowedAttribute(attributeList[j], whitelistedAttributes)) {
-
 
1421
          el.removeAttribute(attributeList[j].nodeName)
-
 
1422
        }
-
 
1423
      }
-
 
1424
    }
-
 
1425
 
-
 
1426
    return createdDocument.body.innerHTML
-
 
1427
  }
-
 
1428
 
1270
  // TOOLTIP PUBLIC CLASS DEFINITION
1429
  // TOOLTIP PUBLIC CLASS DEFINITION
1271
  // ===============================
1430
  // ===============================
1272
 
1431
 
1273
  var Tooltip = function (element, options) {
1432
  var Tooltip = function (element, options) {
1274
    this.type       = null
1433
    this.type       = null
Line 1280... Line 1439...
1280
    this.inState    = null
1439
    this.inState    = null
1281
 
1440
 
1282
    this.init('tooltip', element, options)
1441
    this.init('tooltip', element, options)
1283
  }
1442
  }
1284
 
1443
 
1285
  Tooltip.VERSION  = '3.3.7'
1444
  Tooltip.VERSION  = '3.4.1'
1286
 
1445
 
1287
  Tooltip.TRANSITION_DURATION = 150
1446
  Tooltip.TRANSITION_DURATION = 150
1288
 
1447
 
1289
  Tooltip.DEFAULTS = {
1448
  Tooltip.DEFAULTS = {
1290
    animation: true,
1449
    animation: true,
Line 1297... Line 1456...
1297
    html: false,
1456
    html: false,
1298
    container: false,
1457
    container: false,
1299
    viewport: {
1458
    viewport: {
1300
      selector: 'body',
1459
      selector: 'body',
1301
      padding: 0
1460
      padding: 0
1302
    }
1461
    },
-
 
1462
    sanitize : true,
-
 
1463
    sanitizeFn : null,
-
 
1464
    whiteList : DefaultWhitelist
1303
  }
1465
  }
1304
 
1466
 
1305
  Tooltip.prototype.init = function (type, element, options) {
1467
  Tooltip.prototype.init = function (type, element, options) {
1306
    this.enabled   = true
1468
    this.enabled   = true
1307
    this.type      = type
1469
    this.type      = type
1308
    this.$element  = $(element)
1470
    this.$element  = $(element)
1309
    this.options   = this.getOptions(options)
1471
    this.options   = this.getOptions(options)
1310
    this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
1472
    this.$viewport = this.options.viewport && $(document).find($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
1311
    this.inState   = { click: false, hover: false, focus: false }
1473
    this.inState   = { click: false, hover: false, focus: false }
1312
 
1474
 
1313
    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
1475
    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
1314
      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
1476
      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
1315
    }
1477
    }
Line 1338... Line 1500...
1338
  Tooltip.prototype.getDefaults = function () {
1500
  Tooltip.prototype.getDefaults = function () {
1339
    return Tooltip.DEFAULTS
1501
    return Tooltip.DEFAULTS
1340
  }
1502
  }
1341
 
1503
 
1342
  Tooltip.prototype.getOptions = function (options) {
1504
  Tooltip.prototype.getOptions = function (options) {
-
 
1505
    var dataAttributes = this.$element.data()
-
 
1506
 
-
 
1507
    for (var dataAttr in dataAttributes) {
-
 
1508
      if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) {
-
 
1509
        delete dataAttributes[dataAttr]
-
 
1510
      }
-
 
1511
    }
-
 
1512
 
1343
    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
1513
    options = $.extend({}, this.getDefaults(), dataAttributes, options)
1344
 
1514
 
1345
    if (options.delay && typeof options.delay == 'number') {
1515
    if (options.delay && typeof options.delay == 'number') {
1346
      options.delay = {
1516
      options.delay = {
1347
        show: options.delay,
1517
        show: options.delay,
1348
        hide: options.delay
1518
        hide: options.delay
1349
      }
1519
      }
1350
    }
1520
    }
1351
 
1521
 
-
 
1522
    if (options.sanitize) {
-
 
1523
      options.template = sanitizeHtml(options.template, options.whiteList, options.sanitizeFn)
-
 
1524
    }
-
 
1525
 
1352
    return options
1526
    return options
1353
  }
1527
  }
1354
 
1528
 
1355
  Tooltip.prototype.getDelegateOptions = function () {
1529
  Tooltip.prototype.getDelegateOptions = function () {
1356
    var options  = {}
1530
    var options  = {}
Line 1458... Line 1632...
1458
        .detach()
1632
        .detach()
1459
        .css({ top: 0, left: 0, display: 'block' })
1633
        .css({ top: 0, left: 0, display: 'block' })
1460
        .addClass(placement)
1634
        .addClass(placement)
1461
        .data('bs.' + this.type, this)
1635
        .data('bs.' + this.type, this)
1462
 
1636
 
1463
      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
1637
      this.options.container ? $tip.appendTo($(document).find(this.options.container)) : $tip.insertAfter(this.$element)
1464
      this.$element.trigger('inserted.bs.' + this.type)
1638
      this.$element.trigger('inserted.bs.' + this.type)
1465
 
1639
 
1466
      var pos          = this.getPosition()
1640
      var pos          = this.getPosition()
1467
      var actualWidth  = $tip[0].offsetWidth
1641
      var actualWidth  = $tip[0].offsetWidth
1468
      var actualHeight = $tip[0].offsetHeight
1642
      var actualHeight = $tip[0].offsetHeight
Line 1560... Line 1734...
1560
 
1734
 
1561
  Tooltip.prototype.setContent = function () {
1735
  Tooltip.prototype.setContent = function () {
1562
    var $tip  = this.tip()
1736
    var $tip  = this.tip()
1563
    var title = this.getTitle()
1737
    var title = this.getTitle()
1564
 
1738
 
-
 
1739
    if (this.options.html) {
-
 
1740
      if (this.options.sanitize) {
-
 
1741
        title = sanitizeHtml(title, this.options.whiteList, this.options.sanitizeFn)
-
 
1742
      }
-
 
1743
 
1565
    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
1744
      $tip.find('.tooltip-inner').html(title)
-
 
1745
    } else {
-
 
1746
      $tip.find('.tooltip-inner').text(title)
-
 
1747
    }
-
 
1748
 
1566
    $tip.removeClass('fade in top bottom left right')
1749
    $tip.removeClass('fade in top bottom left right')
1567
  }
1750
  }
1568
 
1751
 
1569
  Tooltip.prototype.hide = function (callback) {
1752
  Tooltip.prototype.hide = function (callback) {
1570
    var that = this
1753
    var that = this
Line 1741... Line 1924...
1741
      that.$viewport = null
1924
      that.$viewport = null
1742
      that.$element = null
1925
      that.$element = null
1743
    })
1926
    })
1744
  }
1927
  }
1745
 
1928
 
-
 
1929
  Tooltip.prototype.sanitizeHtml = function (unsafeHtml) {
-
 
1930
    return sanitizeHtml(unsafeHtml, this.options.whiteList, this.options.sanitizeFn)
-
 
1931
  }
1746
 
1932
 
1747
  // TOOLTIP PLUGIN DEFINITION
1933
  // TOOLTIP PLUGIN DEFINITION
1748
  // =========================
1934
  // =========================
1749
 
1935
 
1750
  function Plugin(option) {
1936
  function Plugin(option) {
Line 1774... Line 1960...
1774
  }
1960
  }
1775
 
1961
 
1776
}(jQuery);
1962
}(jQuery);
1777
 
1963
 
1778
/* ========================================================================
1964
/* ========================================================================
1779
 * Bootstrap: popover.js v3.3.7
1965
 * Bootstrap: popover.js v3.4.1
1780
 * http://getbootstrap.com/javascript/#popovers
1966
 * https://getbootstrap.com/docs/3.4/javascript/#popovers
1781
 * ========================================================================
1967
 * ========================================================================
1782
 * Copyright 2011-2016 Twitter, Inc.
1968
 * Copyright 2011-2019 Twitter, Inc.
1783
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1969
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1784
 * ======================================================================== */
1970
 * ======================================================================== */
1785
 
1971
 
1786
 
1972
 
1787
+function ($) {
1973
+function ($) {
Line 1794... Line 1980...
1794
    this.init('popover', element, options)
1980
    this.init('popover', element, options)
1795
  }
1981
  }
1796
 
1982
 
1797
  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
1983
  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
1798
 
1984
 
1799
  Popover.VERSION  = '3.3.7'
1985
  Popover.VERSION  = '3.4.1'
1800
 
1986
 
1801
  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
1987
  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
1802
    placement: 'right',
1988
    placement: 'right',
1803
    trigger: 'click',
1989
    trigger: 'click',
1804
    content: '',
1990
    content: '',
Line 1820... Line 2006...
1820
  Popover.prototype.setContent = function () {
2006
  Popover.prototype.setContent = function () {
1821
    var $tip    = this.tip()
2007
    var $tip    = this.tip()
1822
    var title   = this.getTitle()
2008
    var title   = this.getTitle()
1823
    var content = this.getContent()
2009
    var content = this.getContent()
1824
 
2010
 
-
 
2011
    if (this.options.html) {
-
 
2012
      var typeContent = typeof content
-
 
2013
 
-
 
2014
      if (this.options.sanitize) {
-
 
2015
        title = this.sanitizeHtml(title)
-
 
2016
 
-
 
2017
        if (typeContent === 'string') {
-
 
2018
          content = this.sanitizeHtml(content)
-
 
2019
        }
-
 
2020
      }
-
 
2021
 
1825
    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
2022
      $tip.find('.popover-title').html(title)
1826
    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
2023
      $tip.find('.popover-content').children().detach().end()[
1827
      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
2024
        typeContent === 'string' ? 'html' : 'append'
1828
    ](content)
2025
      ](content)
-
 
2026
    } else {
-
 
2027
      $tip.find('.popover-title').text(title)
-
 
2028
      $tip.find('.popover-content').children().detach().end().text(content)
-
 
2029
    }
1829
 
2030
 
1830
    $tip.removeClass('fade top bottom left right in')
2031
    $tip.removeClass('fade top bottom left right in')
1831
 
2032
 
1832
    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
2033
    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
1833
    // this manually by checking the contents.
2034
    // this manually by checking the contents.
Line 1883... Line 2084...
1883
  }
2084
  }
1884
 
2085
 
1885
}(jQuery);
2086
}(jQuery);
1886
 
2087
 
1887
/* ========================================================================
2088
/* ========================================================================
1888
 * Bootstrap: scrollspy.js v3.3.7
2089
 * Bootstrap: scrollspy.js v3.4.1
1889
 * http://getbootstrap.com/javascript/#scrollspy
2090
 * https://getbootstrap.com/docs/3.4/javascript/#scrollspy
1890
 * ========================================================================
2091
 * ========================================================================
1891
 * Copyright 2011-2016 Twitter, Inc.
2092
 * Copyright 2011-2019 Twitter, Inc.
1892
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2093
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1893
 * ======================================================================== */
2094
 * ======================================================================== */
1894
 
2095
 
1895
 
2096
 
1896
+function ($) {
2097
+function ($) {
Line 1912... Line 2113...
1912
    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
2113
    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
1913
    this.refresh()
2114
    this.refresh()
1914
    this.process()
2115
    this.process()
1915
  }
2116
  }
1916
 
2117
 
1917
  ScrollSpy.VERSION  = '3.3.7'
2118
  ScrollSpy.VERSION  = '3.4.1'
1918
 
2119
 
1919
  ScrollSpy.DEFAULTS = {
2120
  ScrollSpy.DEFAULTS = {
1920
    offset: 10
2121
    offset: 10
1921
  }
2122
  }
1922
 
2123
 
Line 2056... Line 2257...
2056
  })
2257
  })
2057
 
2258
 
2058
}(jQuery);
2259
}(jQuery);
2059
 
2260
 
2060
/* ========================================================================
2261
/* ========================================================================
2061
 * Bootstrap: tab.js v3.3.7
2262
 * Bootstrap: tab.js v3.4.1
2062
 * http://getbootstrap.com/javascript/#tabs
2263
 * https://getbootstrap.com/docs/3.4/javascript/#tabs
2063
 * ========================================================================
2264
 * ========================================================================
2064
 * Copyright 2011-2016 Twitter, Inc.
2265
 * Copyright 2011-2019 Twitter, Inc.
2065
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2266
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2066
 * ======================================================================== */
2267
 * ======================================================================== */
2067
 
2268
 
2068
 
2269
 
2069
+function ($) {
2270
+function ($) {
Line 2076... Line 2277...
2076
    // jscs:disable requireDollarBeforejQueryAssignment
2277
    // jscs:disable requireDollarBeforejQueryAssignment
2077
    this.element = $(element)
2278
    this.element = $(element)
2078
    // jscs:enable requireDollarBeforejQueryAssignment
2279
    // jscs:enable requireDollarBeforejQueryAssignment
2079
  }
2280
  }
2080
 
2281
 
2081
  Tab.VERSION = '3.3.7'
2282
  Tab.VERSION = '3.4.1'
2082
 
2283
 
2083
  Tab.TRANSITION_DURATION = 150
2284
  Tab.TRANSITION_DURATION = 150
2084
 
2285
 
2085
  Tab.prototype.show = function () {
2286
  Tab.prototype.show = function () {
2086
    var $this    = this.element
2287
    var $this    = this.element
Line 2105... Line 2306...
2105
    $previous.trigger(hideEvent)
2306
    $previous.trigger(hideEvent)
2106
    $this.trigger(showEvent)
2307
    $this.trigger(showEvent)
2107
 
2308
 
2108
    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
2309
    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
2109
 
2310
 
2110
    var $target = $(selector)
2311
    var $target = $(document).find(selector)
2111
 
2312
 
2112
    this.activate($this.closest('li'), $ul)
2313
    this.activate($this.closest('li'), $ul)
2113
    this.activate($target, $target.parent(), function () {
2314
    this.activate($target, $target.parent(), function () {
2114
      $previous.trigger({
2315
      $previous.trigger({
2115
        type: 'hidden.bs.tab',
2316
        type: 'hidden.bs.tab',
Line 2212... Line 2413...
2212
    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
2413
    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
2213
 
2414
 
2214
}(jQuery);
2415
}(jQuery);
2215
 
2416
 
2216
/* ========================================================================
2417
/* ========================================================================
2217
 * Bootstrap: affix.js v3.3.7
2418
 * Bootstrap: affix.js v3.4.1
2218
 * http://getbootstrap.com/javascript/#affix
2419
 * https://getbootstrap.com/docs/3.4/javascript/#affix
2219
 * ========================================================================
2420
 * ========================================================================
2220
 * Copyright 2011-2016 Twitter, Inc.
2421
 * Copyright 2011-2019 Twitter, Inc.
2221
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2422
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2222
 * ======================================================================== */
2423
 * ======================================================================== */
2223
 
2424
 
2224
 
2425
 
2225
+function ($) {
2426
+function ($) {
Line 2229... Line 2430...
2229
  // ======================
2430
  // ======================
2230
 
2431
 
2231
  var Affix = function (element, options) {
2432
  var Affix = function (element, options) {
2232
    this.options = $.extend({}, Affix.DEFAULTS, options)
2433
    this.options = $.extend({}, Affix.DEFAULTS, options)
2233
 
2434
 
-
 
2435
    var target = this.options.target === Affix.DEFAULTS.target ? $(this.options.target) : $(document).find(this.options.target)
-
 
2436
 
2234
    this.$target = $(this.options.target)
2437
    this.$target = target
2235
      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
2438
      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
2236
      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
2439
      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
2237
 
2440
 
2238
    this.$element     = $(element)
2441
    this.$element     = $(element)
2239
    this.affixed      = null
2442
    this.affixed      = null
Line 2241... Line 2444...
2241
    this.pinnedOffset = null
2444
    this.pinnedOffset = null
2242
 
2445
 
2243
    this.checkPosition()
2446
    this.checkPosition()
2244
  }
2447
  }
2245
 
2448
 
2246
  Affix.VERSION  = '3.3.7'
2449
  Affix.VERSION  = '3.4.1'
2247
 
2450
 
2248
  Affix.RESET    = 'affix affix-top affix-bottom'
2451
  Affix.RESET    = 'affix affix-top affix-bottom'
2249
 
2452
 
2250
  Affix.DEFAULTS = {
2453
  Affix.DEFAULTS = {
2251
    offset: 0,
2454
    offset: 0,