summaryrefslogtreecommitdiff
path: root/docs/assets/js/custom.js
diff options
context:
space:
mode:
Diffstat (limited to 'docs/assets/js/custom.js')
-rw-r--r--docs/assets/js/custom.js46
1 files changed, 45 insertions, 1 deletions
diff --git a/docs/assets/js/custom.js b/docs/assets/js/custom.js
index b1746116f..a2e00d677 100644
--- a/docs/assets/js/custom.js
+++ b/docs/assets/js/custom.js
@@ -1 +1,45 @@
-// Put your custom JS code here
+// Based on: https://github.com/gohugoio/hugoDocs/blob/master/_vendor/github.com/gohugoio/gohugoioTheme/assets/js/tabs.js
+
+/**
+ * Scripts which manages Code Toggle tabs.
+ */
+var i;
+// store tabs variable
+var allEnvTabs = document.querySelectorAll('[data-toggle-env-tab]');
+var allEnvPanes = document.querySelectorAll('[data-env-pane]');
+
+function toggleEnvTabs(event) {
+
+ if(event.target){
+ event.preventDefault();
+ var clickedTab = event.currentTarget;
+ var targetKey = clickedTab.getAttribute('data-toggle-env-tab')
+ } else {
+ var targetKey = event
+ }
+ // We store the config language selected in users' localStorage
+ if(window.localStorage){
+ window.localStorage.setItem('envPref', targetKey)
+ }
+ var selectedTabs = document.querySelectorAll('[data-toggle-env-tab=' + targetKey + ']');
+ var selectedPanes = document.querySelectorAll('[data-env-pane=' + targetKey + ']');
+
+ for (var i = 0; i < allEnvTabs.length; i++) {
+ allEnvTabs[i].classList.remove('active');
+ allEnvPanes[i].classList.remove('active');
+ }
+
+ for (var i = 0; i < selectedTabs.length; i++) {
+ selectedTabs[i].classList.add('active');
+ selectedPanes[i].classList.add('show', 'active');
+ }
+
+}
+
+for (i = 0; i < allEnvTabs.length; i++) {
+ allEnvTabs[i].addEventListener('click', toggleEnvTabs)
+}
+// Upon page load, if user has a preferred language in its localStorage, tabs are set to it.
+if(window.localStorage.getItem('envPref')) {
+ toggleEnvTabs(window.localStorage.getItem('envPref'))
+}