From d0353d9150db2b94ec807467fc5b8c8c882a6199 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 01:09:36 +0200 Subject: [PATCH 01/20] Modify function to remain in the same page if the version is changed --- spec/_static/javascripts/version_dropdown.js | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 spec/_static/javascripts/version_dropdown.js diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js new file mode 100644 index 000000000..df7a496e9 --- /dev/null +++ b/spec/_static/javascripts/version_dropdown.js @@ -0,0 +1,31 @@ +function add_custom_version_dropdown(json_loc, target_loc, text) { + + var dropdown = document.createElement("div"); + dropdown.className = "md-flex__cell md-flex__cell--shrink dropdown"; + var button = document.createElement("button"); + button.className = "dropdownbutton"; + var content = document.createElement("div"); + content.className = "dropdown-content md-hero"; + dropdown.appendChild(button); + dropdown.appendChild(content); + console.log('*********'); + $.getJSON(json_loc, function(versions) { + for (var key in versions) { + if (versions.hasOwnProperty(key)) { + console.log(key, versions[key]); + var a = document.createElement("a"); + a.innerHTML = key; + a.title = key; + a.href = target_loc + versions[key] + "/{{ pagename }}.html"; + console.log('----', a.href); + content.appendChild(a); + } + } + }).done(function() { + button.innerHTML = text; + }).fail(function() { + button.innerHTML = "Other Versions Not Found"; + }).always(function() { + $(".navheader").append(dropdown); + }); +}; From 395f34246cd8392332a01b0c29f439ab5dc614a4 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 01:18:42 +0200 Subject: [PATCH 02/20] Rename function --- spec/_static/javascripts/version_dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index df7a496e9..c9d5248d2 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -1,4 +1,4 @@ -function add_custom_version_dropdown(json_loc, target_loc, text) { +function add_version_dropdown(json_loc, target_loc, text) { var dropdown = document.createElement("div"); dropdown.className = "md-flex__cell md-flex__cell--shrink dropdown"; From 4ab650d10b428b3010c13d8659bab09c95a86ced Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 01:33:01 +0200 Subject: [PATCH 03/20] Fix current url path --- spec/_static/javascripts/version_dropdown.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index c9d5248d2..5fe84e4cb 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -13,10 +13,12 @@ function add_version_dropdown(json_loc, target_loc, text) { for (var key in versions) { if (versions.hasOwnProperty(key)) { console.log(key, versions[key]); + var currentURL = window.location.href; + var path = currentURL.split( versions[key] )[ 1 ]; var a = document.createElement("a"); a.innerHTML = key; a.title = key; - a.href = target_loc + versions[key] + "/{{ pagename }}.html"; + a.href = target_loc + versions[key] + path; console.log('----', a.href); content.appendChild(a); } From 4d941c9d425c59d37a7fd0b3718d6e7d042cb608 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 01:46:18 +0200 Subject: [PATCH 04/20] Fix URL --- spec/_static/javascripts/version_dropdown.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index 5fe84e4cb..3a01a4695 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -10,15 +10,18 @@ function add_version_dropdown(json_loc, target_loc, text) { dropdown.appendChild(content); console.log('*********'); $.getJSON(json_loc, function(versions) { + var currentURL = window.location.href; + var path = currentURL.split( "_site" )[ 1 ]; + path = path.split('/'); + path = path.slice(1, path.length); + path = path.join('/'); for (var key in versions) { if (versions.hasOwnProperty(key)) { console.log(key, versions[key]); - var currentURL = window.location.href; - var path = currentURL.split( versions[key] )[ 1 ]; var a = document.createElement("a"); a.innerHTML = key; a.title = key; - a.href = target_loc + versions[key] + path; + a.href = target_loc + versions[key] + "/" + path; console.log('----', a.href); content.appendChild(a); } From b8c053dd1cff1020fb961e1ba72ab66563c2c17a Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 01:53:19 +0200 Subject: [PATCH 05/20] fix index --- spec/_static/javascripts/version_dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index 3a01a4695..097b27bd4 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -13,7 +13,7 @@ function add_version_dropdown(json_loc, target_loc, text) { var currentURL = window.location.href; var path = currentURL.split( "_site" )[ 1 ]; path = path.split('/'); - path = path.slice(1, path.length); + path = path.slice(2, path.length); path = path.join('/'); for (var key in versions) { if (versions.hasOwnProperty(key)) { From 11dbf7834c3759c6643a13f8814db11273a1598d Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 02:08:44 +0200 Subject: [PATCH 06/20] Check if the page exists before assigning href --- spec/_static/javascripts/version_dropdown.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index 097b27bd4..0093dfd64 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -21,9 +21,22 @@ function add_version_dropdown(json_loc, target_loc, text) { var a = document.createElement("a"); a.innerHTML = key; a.title = key; - a.href = target_loc + versions[key] + "/" + path; - console.log('----', a.href); - content.appendChild(a); + var url = target_loc + versions[key]; + var http = new XMLHttpRequest(); + http.open('HEAD', url + "/" + path ); + http.onreadystatechange = function() { + if (this.readyState == this.DONE) { + callback(this.status != 404); + if(this.status != 404 ){ + a.href = url + "/" + path; + } + else { + a.href = url; + } + content.appendChild(a); + } + }; + http.send(); } } }).done(function() { From 5b1be4c00116cea291ca0efbfd1e79c52106b824 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 02:17:15 +0200 Subject: [PATCH 07/20] remove callback --- spec/_static/javascripts/version_dropdown.js | 1 - 1 file changed, 1 deletion(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index 0093dfd64..db14796b4 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -26,7 +26,6 @@ function add_version_dropdown(json_loc, target_loc, text) { http.open('HEAD', url + "/" + path ); http.onreadystatechange = function() { if (this.readyState == this.DONE) { - callback(this.status != 404); if(this.status != 404 ){ a.href = url + "/" + path; } From 50424b86e49b2cbd31e2f04964ec734664076feb Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 02:24:18 +0200 Subject: [PATCH 08/20] change head to get --- spec/_static/javascripts/version_dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index db14796b4..e0b10ee46 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -23,7 +23,7 @@ function add_version_dropdown(json_loc, target_loc, text) { a.title = key; var url = target_loc + versions[key]; var http = new XMLHttpRequest(); - http.open('HEAD', url + "/" + path ); + http.open('GET', url + "/" + path ); http.onreadystatechange = function() { if (this.readyState == this.DONE) { if(this.status != 404 ){ From 96b426f51ba016a12ae0068a0a0e6281fed67b40 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 14:38:17 +0200 Subject: [PATCH 09/20] Move appendChild --- spec/_static/javascripts/version_dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index e0b10ee46..ac375f426 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -32,10 +32,10 @@ function add_version_dropdown(json_loc, target_loc, text) { else { a.href = url; } - content.appendChild(a); } }; http.send(); + content.appendChild(a); } } }).done(function() { From a6157d04d7ec81aa4dfbc8635583a38eab5a3035 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 14:47:24 +0200 Subject: [PATCH 10/20] Add print --- spec/_static/javascripts/version_dropdown.js | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index ac375f426..db5e0fa26 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -25,6 +25,7 @@ function add_version_dropdown(json_loc, target_loc, text) { var http = new XMLHttpRequest(); http.open('GET', url + "/" + path ); http.onreadystatechange = function() { + console.log('%%%%', this); if (this.readyState == this.DONE) { if(this.status != 404 ){ a.href = url + "/" + path; From 7a4c0a494a2886e6a18fc1df98be6a485036a294 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 15:59:56 +0200 Subject: [PATCH 11/20] split function --- spec/_static/javascripts/version_dropdown.js | 34 +++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index db5e0fa26..a75ede5a2 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -1,5 +1,21 @@ -function add_version_dropdown(json_loc, target_loc, text) { +function assign_href( a ) { + var http = new XMLHttpRequest(); + http.open('GET', url + "/" + path ); + http.onreadystatechange = function() { + console.log('%%%%', this); + if (this.readyState == this.DONE) { + if(this.status != 404 ){ + a.href = url + "/" + path; + } + else { + a.href = url; + } + } + }; + http.send(); +} +function add_version_dropdown(json_loc, target_loc, text) { var dropdown = document.createElement("div"); dropdown.className = "md-flex__cell md-flex__cell--shrink dropdown"; var button = document.createElement("button"); @@ -21,21 +37,7 @@ function add_version_dropdown(json_loc, target_loc, text) { var a = document.createElement("a"); a.innerHTML = key; a.title = key; - var url = target_loc + versions[key]; - var http = new XMLHttpRequest(); - http.open('GET', url + "/" + path ); - http.onreadystatechange = function() { - console.log('%%%%', this); - if (this.readyState == this.DONE) { - if(this.status != 404 ){ - a.href = url + "/" + path; - } - else { - a.href = url; - } - } - }; - http.send(); + assign_href( a ); content.appendChild(a); } } From 24c1479baba16188ad756621d1c6c9ba0b1c312a Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 16:10:21 +0200 Subject: [PATCH 12/20] fix missing variable --- spec/_static/javascripts/version_dropdown.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index a75ede5a2..a2f72f23e 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -1,4 +1,4 @@ -function assign_href( a ) { +function assign_href( a, url, path ) { var http = new XMLHttpRequest(); http.open('GET', url + "/" + path ); http.onreadystatechange = function() { @@ -37,7 +37,7 @@ function add_version_dropdown(json_loc, target_loc, text) { var a = document.createElement("a"); a.innerHTML = key; a.title = key; - assign_href( a ); + assign_href( a, target_loc + versions[key], path ); content.appendChild(a); } } From f649007e2aab3cd7ec203906fbadf478e016c79f Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Wed, 10 May 2023 16:23:30 +0200 Subject: [PATCH 13/20] move print --- spec/_static/javascripts/version_dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index a2f72f23e..ccd33f214 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -2,9 +2,9 @@ function assign_href( a, url, path ) { var http = new XMLHttpRequest(); http.open('GET', url + "/" + path ); http.onreadystatechange = function() { - console.log('%%%%', this); if (this.readyState == this.DONE) { if(this.status != 404 ){ + console.log('%%%%', this); a.href = url + "/" + path; } else { From 13121939aa54fdfa10b47ccedd08995619f9522e Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Mon, 3 Jul 2023 11:18:14 -0500 Subject: [PATCH 14/20] Use fetch API --- spec/_static/javascripts/version_dropdown.js | 22 ++++++++------------ 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index ccd33f214..44cd26db5 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -1,18 +1,14 @@ function assign_href( a, url, path ) { - var http = new XMLHttpRequest(); - http.open('GET', url + "/" + path ); - http.onreadystatechange = function() { - if (this.readyState == this.DONE) { - if(this.status != 404 ){ - console.log('%%%%', this); - a.href = url + "/" + path; - } - else { - a.href = url; - } + const r = fetch( url + "/" + path ); + r.then( response => { + console.log('...', response); + if( response.ok ){ + a.href = url + "/" + path; } - }; - http.send(); + else { + a.href = url; + } + }); } function add_version_dropdown(json_loc, target_loc, text) { From 8ca2b0f39a405deca8b5474b41602377dd278d9e Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Mon, 3 Jul 2023 11:28:59 -0500 Subject: [PATCH 15/20] add catch block --- spec/_static/javascripts/version_dropdown.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index 44cd26db5..99511b2f7 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -5,9 +5,8 @@ function assign_href( a, url, path ) { if( response.ok ){ a.href = url + "/" + path; } - else { - a.href = url; - } + }).catch( error => { + a.href = url; }); } From 5c73a1a0e16a554e7a7e0c11fd9df78e50dae165 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Mon, 3 Jul 2023 11:39:00 -0500 Subject: [PATCH 16/20] add url if status is not ok --- spec/_static/javascripts/version_dropdown.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index 99511b2f7..e92ea9082 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -5,6 +5,9 @@ function assign_href( a, url, path ) { if( response.ok ){ a.href = url + "/" + path; } + else { + a.href = url; + } }).catch( error => { a.href = url; }); From bac4929259e2b0b7965bccdce0f04eff373e6d21 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Mon, 3 Jul 2023 11:48:22 -0500 Subject: [PATCH 17/20] remove prints and point to the index file --- spec/_static/javascripts/version_dropdown.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index e92ea9082..e3608ab88 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -1,15 +1,14 @@ function assign_href( a, url, path ) { const r = fetch( url + "/" + path ); r.then( response => { - console.log('...', response); if( response.ok ){ a.href = url + "/" + path; } else { - a.href = url; + a.href = url + "/index.html"; } }).catch( error => { - a.href = url; + a.href = url + "/index.html"; }); } @@ -22,7 +21,6 @@ function add_version_dropdown(json_loc, target_loc, text) { content.className = "dropdown-content md-hero"; dropdown.appendChild(button); dropdown.appendChild(content); - console.log('*********'); $.getJSON(json_loc, function(versions) { var currentURL = window.location.href; var path = currentURL.split( "_site" )[ 1 ]; From 9c024950369254335e23aee26aa23d4235daa828 Mon Sep 17 00:00:00 2001 From: Stephannie Jimenez Date: Mon, 3 Jul 2023 12:01:45 -0500 Subject: [PATCH 18/20] remove unused variable --- spec/_static/javascripts/version_dropdown.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index e3608ab88..d255f8147 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -1,6 +1,5 @@ function assign_href( a, url, path ) { - const r = fetch( url + "/" + path ); - r.then( response => { + fetch( url + "/" + path ).then( response => { if( response.ok ){ a.href = url + "/" + path; } From 487fc3a0fb41550742a938d68f1e863e3cdbf828 Mon Sep 17 00:00:00 2001 From: Athan Date: Sat, 8 Jul 2023 15:03:04 -0700 Subject: [PATCH 19/20] Use consistent style and remove console.log --- spec/_static/javascripts/version_dropdown.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index d255f8147..9cfe8cc06 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -1,12 +1,11 @@ -function assign_href( a, url, path ) { - fetch( url + "/" + path ).then( response => { - if( response.ok ){ +function assign_href(a, url, path) { + fetch(url + "/" + path).then(response => { + if (response.ok){ a.href = url + "/" + path; - } - else { + } else { a.href = url + "/index.html"; } - }).catch( error => { + }).catch(error => { a.href = url + "/index.html"; }); } @@ -22,17 +21,16 @@ function add_version_dropdown(json_loc, target_loc, text) { dropdown.appendChild(content); $.getJSON(json_loc, function(versions) { var currentURL = window.location.href; - var path = currentURL.split( "_site" )[ 1 ]; - path = path.split('/'); + var path = currentURL.split("_site")[1]; + path = path.split("/"); path = path.slice(2, path.length); - path = path.join('/'); + path = path.join("/"); for (var key in versions) { if (versions.hasOwnProperty(key)) { - console.log(key, versions[key]); var a = document.createElement("a"); a.innerHTML = key; a.title = key; - assign_href( a, target_loc + versions[key], path ); + assign_href(a, target_loc + versions[key], path); content.appendChild(a); } } From 44b35f6d240f68235d4e8dc0b70c8d6116ffd372 Mon Sep 17 00:00:00 2001 From: Athan Date: Sat, 8 Jul 2023 15:03:25 -0700 Subject: [PATCH 20/20] Add space --- spec/_static/javascripts/version_dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/_static/javascripts/version_dropdown.js b/spec/_static/javascripts/version_dropdown.js index 9cfe8cc06..d43ddde52 100644 --- a/spec/_static/javascripts/version_dropdown.js +++ b/spec/_static/javascripts/version_dropdown.js @@ -1,6 +1,6 @@ function assign_href(a, url, path) { fetch(url + "/" + path).then(response => { - if (response.ok){ + if (response.ok) { a.href = url + "/" + path; } else { a.href = url + "/index.html";