@@ -5,6 +5,34 @@ const updateMenuPositionForSubMenu = (currentMenuSupplier) => {
55 subMenu ?. style . setProperty ( '--menu-x' , `${ currentMenu . getBoundingClientRect ( ) . x } px` ) ;
66}
77
8+ function generateReleaseList ( data , crateName ) {
9+ }
10+
11+ let loadReleases = function ( ) {
12+ const releaseListElem = document . getElementById ( 'releases-list' ) ;
13+ // To prevent reloading the list unnecessarily.
14+ loadReleases = function ( ) { } ;
15+ if ( ! releaseListElem ) {
16+ // We're not in a documentation page, so no need to do anything.
17+ return ;
18+ }
19+ const crateName = window . location . pathname . split ( '/' ) [ 1 ] ;
20+ const xhttp = new XMLHttpRequest ( ) ;
21+ xhttp . onreadystatechange = function ( ) {
22+ if ( xhttp . readyState !== XMLHttpRequest . DONE ) {
23+ return ;
24+ }
25+ if ( xhttp . status === 200 ) {
26+ releaseListElem . innerHTML = xhttp . responseText ;
27+ } else {
28+ console . error ( `Failed to load release list: [${ xhttp . status } ] ${ xhttp . responseText } ` ) ;
29+ document . getElementById ( 'releases-list' ) . innerHTML = "Failed to load release list" ;
30+ }
31+ } ;
32+ xhttp . open ( "GET" , `/${ crateName } /releases` , true ) ;
33+ xhttp . send ( ) ;
34+ } ;
35+
836// Allow menus to be open and used by keyboard.
937( function ( ) {
1038 var currentMenu ;
@@ -53,6 +81,7 @@ const updateMenuPositionForSubMenu = (currentMenuSupplier) => {
5381 currentMenu = newMenu ;
5482 newMenu . className += " pure-menu-active" ;
5583 backdrop . style . display = "block" ;
84+ loadReleases ( ) ;
5685 }
5786 function menuOnClick ( e ) {
5887 if ( this . getAttribute ( "href" ) != "#" ) {
0 commit comments