PageSourceSearch

https://www.cortsvalencianes.es/themes/custom/lcv/assets/bootstrap/javascripts/bootstrap/tab.js?tkmms5

js cortsvalencianes.es collected 2026-10-02 04:16:43 UTC 3,940 bytes, 155 lines download raw bytes

vendor: 3,940 bytes, lines 1-155
1/* ========================================================================
2 * Bootstrap: tab.js v3.3.7
3 * http://getbootstrap.com/javascript/#tabs
4 * ========================================================================
5 * Copyright 2011-2016 Twitter, Inc.
6 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7 * ======================================================================== */
8
9
10+function ($) {
11  'use strict';
12
13  // TAB CLASS DEFINITION
14  // ====================
15
16  var Tab = function (element) {
17    // jscs:disable requireDollarBeforejQueryAssignment
18    this.element = $(element)
19    // jscs:enable requireDollarBeforejQueryAssignment
20  };
21
22  Tab.VERSION = '3.3.7';
23
24  Tab.TRANSITION_DURATION = 150;
25
26  Tab.prototype.show = function () {
27    var $this    = this.element;
28    var $ul      = $this.closest('ul:not(.dropdown-menu)');
29    var selector = $this.data('target');
30
31    if (!selector) {
32      selector = $this.attr('href');
33      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
34    }
35
36    if ($this.parent('li').hasClass('active')) return;
37
38    var $previous = $ul.find('.active:last a');
39    var hideEvent = $.Event('hide.bs.tab', {
40      relatedTarget: $this[0]
41    });
42    var showEvent = $.Event('show.bs.tab', {
43      relatedTarget: $previous[0]
44    });
45
46    $previous.trigger(hideEvent);
47    $this.trigger(showEvent);
48
49    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return;
50
51    var $target = $(selector);
52
53    this.activate($this.closest('li'), $ul);
54    this.activate($target, $target.parent(), function () {
55      $previous.trigger({
56        type: 'hidden.bs.tab',
57        relatedTarget: $this[0]
58      });
59      $this.trigger({
60        type: 'shown.bs.tab',
61        relatedTarget: $previous[0]
62      })
63    })
64  };
65
66  Tab.prototype.activate = function (element, container, callback) {
67    var $active    = container.find('> .active');
68    var transition = callback
69      && $.support.transition
70      && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length);
71
72    function next() {
73      $active
74        .removeClass('active')
75        .find('> .dropdown-menu > .active')
76          .removeClass('active')
77        .end()
78        .find('[data-toggle="tab"]')
79          .attr('aria-expanded', false);
80
81      element
82        .addClass('active')
83        .find('[data-toggle="tab"]')
84          .attr('aria-expanded', true);
85
86      if (transition) {
87        element[0].offsetWidth; // reflow for transition
88        element.addClass('in')
89      } else {
90        element.removeClass('fade')
91      }
92
93      if (element.parent('.dropdown-menu').length) {
94        element
95          .closest('li.dropdown')
96            .addClass('active')
97          .end()
98          .find('[data-toggle="tab"]')
99            .attr('aria-expanded', true)
100      }
101
102      callback && callback()
103    }
104
105    $active.length && transition ?
106      $active
107        .one('bsTransitionEnd', next)
108        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
109      next();
110
111    $active.removeClass('in')
112  };
113
114
115  // TAB PLUGIN DEFINITION
116  // =====================
117
118  function Plugin(option) {
119    return this.each(function () {
120      var $this = $(this);
121      var data  = $this.data('bs.tab');
122
123      if (!data) $this.data('bs.tab', (data = new Tab(this)));
124      if (typeof option == 'string') data[option]()
125    })
126  }
127
128  var old = $.fn.tab;
129
130  $.fn.tab             = Plugin;
131  $.fn.tab.Constructor = Tab;
132
133
134  // TAB NO CONFLICT
135  // ===============
136
137  $.fn.tab.noConflict = function () {
138    $.fn.tab = old;
139    return this
140  };
141
142
143  // TAB DATA-API
144  // ============
145
146  var clickHandler = function (e) {
147    e.preventDefault();
148    Plugin.call($(this), 'show')
149  };
150
151  $(document)
152    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
153    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
154
155}(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.