storage.js 1.6 KB

1234567891011
  1. var resourcesSuffix="";/*!
  2. * Copyright 2018 The Rust Project Developers. See the COPYRIGHT
  3. * file at the top-level directory of this distribution and at
  4. * http://rust-lang.org/COPYRIGHT.
  5. *
  6. * Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
  7. * http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
  8. * <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
  9. * option. This file may not be copied, modified, or distributed
  10. * except according to those terms.
  11. */var currentTheme=document.getElementById("themeStyle");var mainTheme=document.getElementById("mainThemeStyle");var savedHref=[];function onEach(arr,func){if(arr&&arr.length>0&&func){for(var i=0;i<arr.length;i++){if(func(arr[i])===true){return true;}}}return false;}function updateLocalStorage(name,value){if(typeof(Storage)!=="undefined"){localStorage[name]=value;}else{}}function getCurrentValue(name){if(typeof(Storage)!=="undefined"&&localStorage[name]!==undefined){return localStorage[name];}return null;}function switchTheme(styleElem,mainStyleElem,newTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(styleElem.href===newHref){return;}var found=false;if(savedHref.length===0){onEach(document.getElementsByTagName("link"),function(el){savedHref.push(el.href);});}onEach(savedHref,function(el){if(el===newHref){found=true;return true;}});if(found===true){styleElem.href=newHref;updateLocalStorage('rustdoc-theme',newTheme);}}switchTheme(currentTheme,mainTheme,getCurrentValue('rustdoc-theme')||'light');