| Index: static/js/address-masking.js | 
| =================================================================== | 
| new file mode 100644 | 
| --- /dev/null | 
| +++ b/static/js/address-masking.js | 
| @@ -0,0 +1,39 @@ | 
| +/*! | 
| + * This file is part of website-defaults | 
| + * Copyright (C) 2016-present eyeo GmbH | 
| + * | 
| + * website-defaults is free software: you can redistribute it and/or | 
| + * modify it under the terms of the GNU General Public License as published by | 
| + * the Free Software Foundation, either version 3 of the License, or | 
| + * (at your option) any later version. | 
| + * | 
| + * website-defaults is distributed in the hope that it will be useful, | 
| + * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| + * GNU General Public License for more details. | 
| + * | 
| + * You should have received a copy of the GNU General Public License | 
| + * along with website-defaults.  If not, see <http://www.gnu.org/licenses/>. | 
| + */ | 
| +var ADDRESS_MASKING_DELAY = 250; | 
| + | 
| +function unmaskAddress(target) | 
| +{ | 
| +  var attributes = JSON.parse(target.getAttribute("data-mask")); | 
| + | 
| +  for (var attr in attributes) | 
| +    target[attr] = atob(attributes[attr]); | 
| + | 
| +  target.removeAttribute("data-mask"); | 
| +} | 
| + | 
| +document.addEventListener("DOMContentLoaded", function() | 
| +{ | 
| +  var unmaskAfterTimeout = setTimeout.bind( | 
| +    this, | 
| +    unmaskAddress, | 
| +    ADDRESS_MASKING_DELAY | 
| +  ); | 
| + | 
| +  document.querySelectorAll("[data-mask]").forEach(unmaskAddress); | 
| +}); | 
|  |