From 500d92007f358db02f00689717bb802c4fd3df89 Mon Sep 17 00:00:00 2001 From: Javier Sánchez Parra Date: Fri, 25 Feb 2022 09:56:54 +0100 Subject: Replace "." with "_" in HTML scopes IDs Otherwise, scopes with dots in their names breaks the javascript code. From https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id: --- Note: Technically, in HTML5, the value for an id attribute may contain any character, except whitespace characters. However, to avoid inadvertent errors, only ASCII letters, digits, '_', and '-' should be used and the value for an id attribute should start with a letter. For example, . has a special meaning in CSS (it acts as a class selector). Unless you are careful to escape it in the CSS, it won't be recognized as part of the value of an id attribute. It is easy to forget to do this, resulting in bugs in your code that could be hard to detect. --- --- ogcp/static/js/ogcp.js | 2 +- ogcp/templates/macros.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ogcp/static/js/ogcp.js b/ogcp/static/js/ogcp.js index dc1c063..3623eb9 100644 --- a/ogcp/static/js/ogcp.js +++ b/ogcp/static/js/ogcp.js @@ -107,7 +107,7 @@ function updateScopeState() { function updateScopes(scopes) { scopes.forEach((scope) => { if (scope.state) { - const scopeId = `${scope.name}_${scope.id}`; + const scopeId = `${scope.name}_${scope.id}`.replaceAll('.', '_'); const iconEl = document.querySelector(`#${scopeId} .nav-icon`); const iconCls = ['fas', 'far', 'text-danger', 'text-success', 'text-warning', 'text-wol']; diff --git a/ogcp/templates/macros.html b/ogcp/templates/macros.html index d6ef2af..6999fd6 100644 --- a/ogcp/templates/macros.html +++ b/ogcp/templates/macros.html @@ -21,7 +21,7 @@ {% macro scopes_tree_collapse_level(scopes, i, parent_id) -%} {% for scope in scopes %} -