17db96d56Sopenharmony_ci$(document).ready(function() { 27db96d56Sopenharmony_ci // add the search form and bind the events 37db96d56Sopenharmony_ci $('h1').after([ 47db96d56Sopenharmony_ci '<p>Filter entries by content:', 57db96d56Sopenharmony_ci '<input type="text" value="" id="searchbox" style="width: 50%">', 67db96d56Sopenharmony_ci '<input type="submit" id="searchbox-submit" value="Filter"></p>' 77db96d56Sopenharmony_ci ].join('\n')); 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci function dofilter() { 107db96d56Sopenharmony_ci try { 117db96d56Sopenharmony_ci var query = new RegExp($('#searchbox').val(), 'i'); 127db96d56Sopenharmony_ci } 137db96d56Sopenharmony_ci catch (e) { 147db96d56Sopenharmony_ci return; // not a valid regex (yet) 157db96d56Sopenharmony_ci } 167db96d56Sopenharmony_ci // find headers for the versions (What's new in Python X.Y.Z?) 177db96d56Sopenharmony_ci $('#changelog h2').each(function(index1, h2) { 187db96d56Sopenharmony_ci var h2_parent = $(h2).parent(); 197db96d56Sopenharmony_ci var sections_found = 0; 207db96d56Sopenharmony_ci // find headers for the sections (Core, Library, etc.) 217db96d56Sopenharmony_ci h2_parent.find('h3').each(function(index2, h3) { 227db96d56Sopenharmony_ci var h3_parent = $(h3).parent(); 237db96d56Sopenharmony_ci var entries_found = 0; 247db96d56Sopenharmony_ci // find all the entries 257db96d56Sopenharmony_ci h3_parent.find('li').each(function(index3, li) { 267db96d56Sopenharmony_ci var li = $(li); 277db96d56Sopenharmony_ci // check if the query matches the entry 287db96d56Sopenharmony_ci if (query.test(li.text())) { 297db96d56Sopenharmony_ci li.show(); 307db96d56Sopenharmony_ci entries_found++; 317db96d56Sopenharmony_ci } 327db96d56Sopenharmony_ci else { 337db96d56Sopenharmony_ci li.hide(); 347db96d56Sopenharmony_ci } 357db96d56Sopenharmony_ci }); 367db96d56Sopenharmony_ci // if there are entries, show the section, otherwise hide it 377db96d56Sopenharmony_ci if (entries_found > 0) { 387db96d56Sopenharmony_ci h3_parent.show(); 397db96d56Sopenharmony_ci sections_found++; 407db96d56Sopenharmony_ci } 417db96d56Sopenharmony_ci else { 427db96d56Sopenharmony_ci h3_parent.hide(); 437db96d56Sopenharmony_ci } 447db96d56Sopenharmony_ci }); 457db96d56Sopenharmony_ci if (sections_found > 0) 467db96d56Sopenharmony_ci h2_parent.show(); 477db96d56Sopenharmony_ci else 487db96d56Sopenharmony_ci h2_parent.hide(); 497db96d56Sopenharmony_ci }); 507db96d56Sopenharmony_ci } 517db96d56Sopenharmony_ci $('#searchbox').keyup(dofilter); 527db96d56Sopenharmony_ci $('#searchbox-submit').click(dofilter); 537db96d56Sopenharmony_ci}); 54