@@ -68,6 +68,7 @@ $(function () {
6868} )
6969
7070function httpGetAsync ( targetUrl , callback ) {
71+ console . log ( targetUrl ) ;
7172 var xmlHttp = new XMLHttpRequest ( ) ;
7273 xmlHttp . onreadystatechange = function ( ) {
7374 if ( xmlHttp . readyState == 4 && xmlHttp . status == 200 )
@@ -77,25 +78,56 @@ function httpGetAsync(targetUrl, callback) {
7778 xmlHttp . send ( null ) ;
7879}
7980
80- function populateIndexList ( selector , packageName ) {
81- url = "https://azuresdkdocs.blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/" + packageName + "/versioning/versions"
82-
83- httpGetAsync ( url , function ( responseText ) {
84-
85- var publishedversions = document . createElement ( "ul" )
81+ function httpGetLatestAsync ( targetUrl , latestVersions , packageName ) {
82+ httpGetAsync ( targetUrl , function ( responseText ) {
8683 if ( responseText ) {
87- options = responseText . match ( / [ ^ \r \n ] + / g)
84+ version = responseText . match ( / [ ^ \r \n ] + / g)
85+ $ ( latestVersions ) . append ( '<li><a href="' + getPackageUrl ( SELECTED_LANGUAGE , packageName , version ) + '" target="_blank">' + version + '</a></li>' )
86+ }
87+ } )
88+ }
8889
89- for ( var i in options ) {
90- $ ( publishedversions ) . append ( '<li><a href="' + getPackageUrl ( SELECTED_LANGUAGE , packageName , options [ i ] ) + '" target="_blank">' + options [ i ] + '</a></li>' )
91- }
90+ function populateIndexList ( selector , packageName ) {
91+ var url = "https://azuresdkdocs.blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/" + packageName + "/versioning/versions"
92+ var latestGAUrl = "https://azuresdkdocs.blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/" + packageName + "/versioning/latest-ga"
93+ var latestPreviewUrl = "https://azuresdkdocs.blob.core.windows.net/$web/" + SELECTED_LANGUAGE + "/" + packageName + "/versioning/latest-preview"
94+ var latestVersions = document . createElement ( "ul" )
95+ httpGetLatestAsync ( latestGAUrl , latestVersions , packageName )
96+ httpGetLatestAsync ( latestPreviewUrl , latestVersions , packageName )
97+ var publishedVersions = $ ( '<ul style="display: none;"></ul>' )
98+ var collapsible = $ ( '<div class="versionarrow"> Other versions</div>' )
99+
100+ $ ( selector ) . after ( latestVersions )
101+ $ ( latestVersions ) . after ( collapsible )
102+ $ ( collapsible ) . after ( publishedVersions )
103+
104+ $ ( collapsible ) . on ( 'click' , function ( event ) {
105+ event . preventDefault ( ) ;
106+ if ( collapsible . hasClass ( 'disable' ) ) {
107+ return
92108 }
93- else {
94- $ ( publishedversions ) . append ( '<li>No discovered versions present in blob storage.</li>' )
109+ $ ( this ) . toggleClass ( 'down' )
110+ if ( $ ( this ) . hasClass ( 'down' ) ) {
111+ if ( ! $ ( selector ) . hasClass ( 'loaded' ) ) {
112+ httpGetAsync ( url , function ( responseText ) {
113+ if ( responseText ) {
114+ options = responseText . match ( / [ ^ \r \n ] + / g)
115+ for ( var i in options ) {
116+ $ ( publishedVersions ) . append ( '<li><a href="' + getPackageUrl ( SELECTED_LANGUAGE , packageName , options [ i ] ) + '" target="_blank">' + options [ i ] + '</a></li>' )
117+
118+ }
119+ }
120+ else {
121+ $ ( publishedVersions ) . append ( '<li>No discovered versions present in blob storage.</li>' )
122+ }
123+ $ ( selector ) . addClass ( "loaded" )
124+ } )
125+ }
126+ $ ( publishedVersions ) . show ( )
127+ } else {
128+ $ ( publishedVersions ) . hide ( )
95129 }
96-
97- $ ( selector ) . after ( publishedversions )
98- } )
130+ } ) ;
99131}
100132
101133function getPackageUrl ( language , package , version ) {
0 commit comments