1document.addEventListener('click', function (event) { 2 3 const tab = event.target.closest('[data-rvm-tab]'); 4 5 if (!tab) { 6 return; 7 } 8 9 const section = tab.closest('.rvm-home-selected'); 10 11 if (!section) { 12 return; 13 } 14 15 const target = tab.dataset.rvmTab; 16 17 const tabs = 18 section.querySelectorAll('[data-rvm-tab]'); 19 20 const panels = 21 section.querySelectorAll('[data-rvm-panel]'); 22 23 24 tabs.forEach(function (button) { 25 26 const active = 27 button.dataset.rvmTab === target; 28 29 button.classList.toggle( 30 'is-active', 31 active 32 ); 33 34 button.setAttribute( 35 'aria-selected', 36 active ? 'true' : 'false' 37 ); 38 39 }); 40 41 42 panels.forEach(function (panel) { 43 44 panel.hidden = 45 panel.dataset.rvmPanel !== target; 46 47 }); 48 49}); 50 51document.addEventListener('click', function (event) { 52 53 const tab = event.target.closest('[data-rvm-chart-tab]'); 54 55 if (!tab) { 56 return; 57 } 58 59 const section = tab.closest('.rvm-home-charts'); 60 61 if (!section) { 62 return; 63 } 64 65 const target = tab.dataset.rvmChartTab; 66 67 const tabs = 68 section.querySelectorAll('[data-rvm-chart-tab]'); 69 70 const panels = 71 section.querySelectorAll('[data-rvm-chart-panel]'); 72 73
74 tabs.forEach(function (button) { 75 76 const active = 77 button.dataset.rvmChartTab === target; 78 79 button.classList.toggle( 80 'is-active', 81 active 82 ); 83 84 button.setAttribute( 85 'aria-selected', 86 active ? 'true' : 'false' 87 ); 88 89 }); 90 91 92 panels.forEach(function (panel) { 93 94 panel.hidden = 95 panel.dataset.rvmChartPanel !== target; 96 97 }); 98 99}); 100 101 102document.addEventListener('DOMContentLoaded', function () { 103 104 const tabs = document.querySelectorAll( 105 '.rvm-charts-reboot__tab' 106 ); 107 108 const panels = document.querySelectorAll( 109 '.rvm-charts-reboot__panel' 110 ); 111 112 if (!tabs.length || !panels.length) { 113 return; 114 } 115 116 117 function activateChartTab(target) { 118 119 tabs.forEach(function (tab) { 120 121 tab.classList.toggle( 122 'is-active', 123 tab.dataset.chartTab === target 124 ); 125 126 }); 127 128 129 panels.forEach(function (panel) { 130 131 const active = 132 panel.dataset.chartPanel === target; 133 134 panel.hidden = !active; 135 136 }); 137 138 } 139 140 141 /* 142 * TAB Ã AFFICHER AU CHARGEMENT 143 * 144 * /music-charts/#vintage â vintage 145 * /music-charts/#new â new 146 * pas d'ancre â new 147 */ 148 149 let initialTab = 150 window.location.hash 151 .replace('#', '') 152 .toLowerCase(); 153 154 if ( 155 initialTab !== 'new' && 156 initialTab !== 'vintage' 157 ) { 158 initialTab = 'new'; 159 } 160 161 activateChartTab(initialTab); 162 163 164 /* 165 * CLIC SUR LES TABS 166 */ 167
168 tabs.forEach(function (tab) { 169 170 tab.addEventListener('click', function () { 171 172 const target = 173 tab.dataset.chartTab; 174 175 activateChartTab(target); 176 177 178 /* 179 * Met également l'URL à jour 180 */ 181 182 history.replaceState( 183 null, 184 '', 185 '#' + target 186 ); 187 188 }); 189 190 }); 191 192}); 193 194document.addEventListener('DOMContentLoaded', function () { 195 196 const tabs = document.querySelectorAll( 197 '.rvm-picks-page__tab' 198 ); 199 200 const panels = document.querySelectorAll( 201 '.rvm-picks-page__panel' 202 ); 203 204 if (!tabs.length || !panels.length) { 205 return; 206 } 207 208 tabs.forEach(function (tab) { 209 210 tab.addEventListener('click', function () { 211 212 const target = 213 tab.dataset.picksTab; 214 215 tabs.forEach(function (item) { 216 217 item.classList.toggle( 218 'is-active', 219 item === tab 220 ); 221 222 }); 223 224 225 panels.forEach(function (panel) { 226 227 const active = 228 panel.dataset.picksPanel === target; 229 230 panel.hidden = !active; 231 232 }); 233 234 }); 235 236 }); 237 238});
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.