From f2dc99948a7f0a5a19b947fc9f970824887c9b82 Mon Sep 17 00:00:00 2001
From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Date: Sun, 16 Jun 2024 06:51:17 -0600
Subject: [PATCH] [3.12] Docs: remove temporary hardcoded links (GH-120348)
(cherry picked from commit b8484c6ad7fd14ca464e584b79821b4b906dd77a)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
---
Doc/tools/static/rtd_switcher.js | 55 ++++++++++++++++++++
Doc/tools/templates/layout.html | 87 +-------------------------------
2 files changed, 57 insertions(+), 85 deletions(-)
create mode 100644 Doc/tools/static/rtd_switcher.js
diff --git a/Doc/tools/static/rtd_switcher.js b/Doc/tools/static/rtd_switcher.js
new file mode 100644
index 00000000000000..f5dc7045a0dbc4
--- /dev/null
+++ b/Doc/tools/static/rtd_switcher.js
@@ -0,0 +1,55 @@
+ function onSwitch(event) {
+ const option = event.target.selectedIndex;
+ const item = event.target.options[option];
+ window.location.href = item.dataset.url;
+ }
+
+ document.addEventListener("readthedocs-addons-data-ready", function(event) {
+ const config = event.detail.data()
+ const versionSelect = `
+
+ `;
+
+ // Prepend the current language to the options on the selector
+ let languages = config.projects.translations.concat(config.projects.current);
+ languages = languages.sort((a, b) => a.language.name.localeCompare(b.language.name));
+
+ const languageSelect = `
+
+ `;
+
+ // Query all the placeholders because there are different ones for Desktop/Mobile
+ const versionPlaceholders = document.querySelectorAll(".version_switcher_placeholder");
+ for (placeholder of versionPlaceholders) {
+ placeholder.innerHTML = versionSelect;
+ let selectElement = placeholder.querySelector("select");
+ selectElement.addEventListener("change", onSwitch);
+ }
+
+ const languagePlaceholders = document.querySelectorAll(".language_switcher_placeholder");
+ for (placeholder of languagePlaceholders) {
+ placeholder.innerHTML = languageSelect;
+ let selectElement = placeholder.querySelector("select");
+ selectElement.addEventListener("change", onSwitch);
+ }
+ });
diff --git a/Doc/tools/templates/layout.html b/Doc/tools/templates/layout.html
index 394ebee5f9e139..b09fd21a8ddcc9 100644
--- a/Doc/tools/templates/layout.html
+++ b/Doc/tools/templates/layout.html
@@ -46,90 +46,7 @@
{{ super() }}
{%- if not embedded %}
-
-
+
+
{%- endif %}
{% endblock %}