PageSourceSearch

https://clarke.edu/wp-content/themes/clarke-timber/js/tab-fixer.js?ver=2

js clarke.edu collected 2026-10-02 02:31:22 UTC 2,634 bytes, 66 lines download raw bytes

1function clarkeFixTabs (tabsID) {
2  const $tabsObject = jQuery(tabsID);
3  const tabRoot = new Foundation.Tabs( $tabsObject );
4
5
6  let params = new URLSearchParams(document.location.search);
7
8  const $tabGroup = document.querySelectorAll('[data-tabs] > li');
9
10  let originalPageTitle = document.querySelector('meta[property="og:title"]').getAttribute('content');
11  let siteName = document.querySelector('meta[property="og:site_name"]').getAttribute('content');
12  //let urlBase = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname;
13  // Removed unnecessary forward slash
14  let urlBase = window.location.protocol + "//" + window.location.host + window.location.pathname;
15
16  const tabIsActive = ($tab) => {
17    return false;
18  }
19
20  // $activeTab = $tabGroup.find('.is-active');
21
22  $tabGroup.forEach(
23    function(value, key) {
24      const linkElement = value.getElementsByTagName('a')[0];
25
26
27      if (! params.has('tab')) {
28        if (value.classList.contains('is-active')) {
29          params.set('tab', value.dataset.tabName);
30        }
31      }
32
33      if (value.classList.contains('is-active') && params.get('tab') === value.dataset.tabName) {
34        console.log(value.dataset.tabName + ' is already active');
35        if (originalPageTitle && siteName) {
36          params.set('tab', value.dataset.tabName);
37          let newUrl = urlBase + '?' + params.toString();
38          let newTitle = originalPageTitle + ': ' + value.dataset.tabTitle + ' – ' + siteName;
39          let newState = { additionalInformation: 'Added tab `' + value.dataset.tabName + '` to URL' };
40          document.title = newTitle;
41          history.replaceState(newState, newTitle, newUrl);
42        }
43      } else if ( params.get('tab') === value.dataset.tabName ) {
44        $tabsObject.foundation('_handleTabChange', jQuery(value));
45      }
46
47      linkElement.addEventListener('click', function (e) {
48        console.log('Clicked ' + value.dataset.tabName);
49
50        if (value.dataset.tabName === params.get('tab')) {
51          console.log(value.dataset.tabName + ' is already active');
52        } else {
53          console.log("Switching " + value.dataset.tabName + ' to active');
54
55          params.set('tab', value.dataset.tabName);
56          let newUrl = urlBase + '?' + params.toString();
57          let newTitle = originalPageTitle + ': ' + value.dataset.tabTitle + ' – ' + siteName;
58          let newState = { additionalInformation: 'Switched to tab `' + value.dataset.tabName + '`' };
59          document.title = newTitle;
60          history.pushState(newState, newTitle, newUrl);
61        }
62      }, false);
63
64    }
65  )
66}

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.