PageSourceSearch

https://www.railbookers.com/themes/custom/ylg/assets/js/dropdown.js?tm8nc7

js railbookers.com collected 2026-10-02 05:31:00 UTC 1,859 bytes, 64 lines download raw bytes

1"use strict";
2
3var opened = null;
4var active = null;
5var toggleVisibility = function toggleVisibility(e) {
6  return e.classList.toggle('show');
7};
8var toggleActive = function toggleActive(e) {
9  return e.classList.toggle('active');
10};
11var handleDropdown = function handleDropdown(e) {
12  var clickedItem = e.parentElement.lastChild.previousSibling;
13  toggleVisibility(clickedItem);
14  if (e.classList.contains('active')) {
15    toggleActive(e);
16    var elements = document.querySelectorAll('a.toggle');
17    Array.prototype.forEach.call(elements, function (el, index, array) {
18      el.classList.remove("active");
19    });
20  } else {
21    var elements = document.querySelectorAll('a.toggle');
22    Array.prototype.forEach.call(elements, function (el, index, array) {
23      el.classList.remove("active");
24    });
25    toggleActive(e);
26  }
27  if (!opened) {
28    opened = clickedItem;
29    active = e;
30  } else if (opened == clickedItem) {
31    opened = null;
32    active = null;
33  } else {
34    toggleVisibility(opened);
35    opened = clickedItem;
36    active = e;
37  }
38};
39function handleClick(e) {
40  if (e.target.className.includes('toggle')) {
41    e.preventDefault();
42    handleDropdown(e.target);
43  }
44}
45document.onreadystatechange = function () {
46  if (document.readyState === "interactive") {
47    // Toggle dropdown
48    var dropdownLink = document.querySelectorAll('a.toggle');
49    if (dropdownLink.length) {
50      dropdownLink.forEach(function (link) {
51        link.addEventListener('click', handleClick);
52      });
53    }
54    // Close dropdowns
55    document.addEventListener('click', function (e) {
56      if (!e.target.className.includes('toggle') && opened && !e.target.closest('.show') || e.target.className.includes('close-language')) {
57        toggleVisibility(opened);
58        toggleActive(active);
59        opened = null;
60        active = null;
61      }
62    });
63  }
64};

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.