PageSourceSearch

https://www.infoflora.ch/assets/js/species.js?v2025-11-25

js infoflora.ch collected 2026-09-24 08:59:08 UTC 4,586 bytes, 171 lines download raw bytes

1$('#atlasLayer').on('show.bs.collapse', function () {
2  $('#atlasSymbolization').removeClass('show');
3  $('#atlasSymbolization').removeClass('in');
4})
5
6$('#atlasSymbolization').on('show.bs.collapse', function () {
7  $('#atlasLayer').removeClass('show');
8  $('#atlasLayer').removeClass('in');
9})
10
11function observation () {
12  document.species_submit.submit();
13}
14
15/* Set taxonyms graph */
16if ('staticTaxonId' in window && window.staticTaxonId) {
17  const elt = document.getElementById('taxonyms');
18  createDagForTaxon(elt, window.staticTaxonId, {
19    upperRank: 'genus',
20    highlightedReferences: [ 3, 5 ],
21    w: '100%',
22    h: 250,
23    scale: 1.5,
24    padding: 0.05,
25    highlightNodeColor: 'var(--secondary-light-color)'
26  }).then(dag => {
27    elt.appendChild(dag);
28  });
29
30  const dagCaptionElt = document.getElementById('taxonyms-caption');
31  createDagCaptionForTaxon(dagCaptionElt, window.staticTaxonId, {
32    upperRank: 'genus',
33    highlightedReferences: [ 3, 5 ],
34    w: '100%',
35    h: 150,
36    scale: 0.9
37  }).then(dag => {
38    dagCaptionElt.appendChild(dag);
39  });
40}
41
42/* Set swipers */
43const swiperPhotos = new Swiper('.swiper-species-photos', {
44  direction: 'horizontal',
45  effect: 'slide',
46  slidesPerView: 'auto',
47  spaceBetween: 10,
48});
49
50const swiperAnatomy = new Swiper('.swiper-species-anatomy', {
51  direction: 'horizontal',
52  effect: 'slide',
53
54  slidesPerView: 1.2,
55  spaceBetween: 30,
56  slidesPerGroup: 1,
57  centeredSlides: false,
58  noSwiping: false,
59
60  navigation: {
61    nextEl: ".swiper-button-next",
62    prevEl: ".swiper-button-prev",
63  },
64  pagination: {
65    el: ".swiper-pagination",
66    clickable: true,
67  },
68
69  keyboard: true,
70  mousewheel: false,
71
72  breakpoints: {
73    768: {
74      slidesPerView: 2.3,
75      centeredSlides: false,
76      slidesPerGroup: 2,
77    },
78    1400: {
79      slidesPerView: 4,
80      centeredSlides: false,
81      slidesPerGroup: 4,
82    },
83  }
84});
85
86const swiperEcology = new Swiper('.swiper-species-ecology', {
87  direction: 'horizontal',
88  effect: 'slide',
89
90  slidesPerView: 1.2,
91  spaceBetween: 30,
92  slidesPerGroup: 1,
93  centeredSlides: false,
94  noSwiping: false,
95
96  navigation: {
97    nextEl: ".swiper-button-next",
98    prevEl: ".swiper-button-prev",
99  },
100  pagination: {
101    el: ".swiper-pagination",
102    clickable: true,
103  },
104
105  keyboard: true,
106  mousewheel: false,
107
108  breakpoints: {
109    768: {
110      slidesPerView: 2.3,
111      centeredSlides: false,
112      slidesPerGroup: 2,
113    }
114  }
115});
116
117
118document.addEventListener('DOMContentLoaded', () => {
119  /* Set slider info */
120  if ('yearslider' in window && 'countslider' in window) {
121    const parent = window.yearslider.parentNode;
122    const sliderInfo = document.createElement("span");
123    sliderInfo.className = "slider-info";
124    parent.insertBefore(sliderInfo, parent.firstChild);
125
126    window.countslider.noUiSlider.on('update', function () {
127      const tooltip = window.countslider.querySelector('.noUi-tooltip');
128      if (tooltip) {
129        sliderInfo.textContent = tooltip.textContent;
130      }
131    });
132    // Setup last because nouislider triggers callback on init
133    window.yearslider.noUiSlider.on('update', function () {
134      const tooltip = window.yearslider.querySelector('.noUi-tooltip');
135      if (tooltip) {
136        sliderInfo.textContent = tooltip.textContent;
137      }
138    });
139    var observer = new MutationObserver(function (mutations) {
140      mutations.forEach(function (mutationRecord) {
141        if (mutationRecord.target.style.display !== 'none') {
142          sliderInfo.innerHTML = mutationRecord.target.querySelector('.noUi-tooltip').innerHTML;
143        }
144      });
145    });
146    observer.observe(window.yearslider, { attributes: true, attributeFilter: [ 'style' ] });
147    observer.observe(window.countslider, { attributes: true, attributeFilter: [ 'style' ] });
148
149  }
150
151  /* Set legend effects */
152  $('ul.legend').delegate('li', 'click', function (event) {
153    $(this).children('table').toggle();
154    $(this).children('img.toggle').toggle();
155    event.stopPropagation();
156  }).find('table').hide();
157  $('.legend li:has(table) > span').after('<img src="/assets/images/toggle_plus.gif" alt="toggle1" class="toggle" /><img src="/assets/images/toggle_minus.gif" style="display:none;" alt="toggle2" class="toggle"/>');
158
159  /* set popovers */
160  $('[data-toggle="popover"]').popover();
161
162  /* Zoom maps to extent */
163  document.querySelectorAll('.ol-zoom-extent.ol-unselectable.ol-control button').forEach(el => el.click());
164
165  if (window.location.hash === '#pictures') {
166    var image = document.querySelector("#info-gallery a");
167    if (image) {
168      image.click();
169    }
170  }
171});

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.