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, |