Mercurial > kallithea
changeset 7542:42a150500c25
base: when using a custom select2 escapeMarkup function, make it clear that the exception only is for a static safe string
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Wed, 27 Feb 2019 02:29:34 +0100 |
parents | 429c2c8a4354 |
children | c9159e6fda04 |
files | kallithea/templates/base/base.html |
diffstat | 1 files changed, 10 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/templates/base/base.html Wed Feb 27 02:23:26 2019 +0100 +++ b/kallithea/templates/base/base.html Wed Feb 27 02:29:34 2019 +0100 @@ -188,8 +188,9 @@ $(document).ready(function() { var bcache = {}; + var branch_switcher_placeholder = '<i class="icon-exchange"></i>' + ${h.jshtml(_('Switch To'))} + ' <span class="caret"></span>'; $("#branch_switcher").select2({ - placeholder: '<i class="icon-exchange"></i>' + ${h.jshtml(_('Switch To'))} + ' <span class="caret"></span>', + placeholder: branch_switcher_placeholder, dropdownAutoWidth: true, sortResults: prefixFirstSort, formatResult: function(obj) { @@ -202,11 +203,8 @@ return ${h.jshtml(_('No matches found'))}; }, escapeMarkup: function(m) { - // don't escape our custom placeholder - if (m.substr(0, 25) == '<i class="icon-exchange">') { - return m; - } - + if (m == branch_switcher_placeholder) + return branch_switcher_placeholder; return Select2.util.escapeMarkup(m); }, containerCssClass: "branch-switcher", @@ -415,7 +413,7 @@ /*format the look of items in the list*/ var format = function(state){ if (!state.id){ - return state.text; // optgroup + return state.text.html_escape(); // optgroup } var obj_dict = state.obj; var tmpl = ''; @@ -439,12 +437,13 @@ if(obj_dict && state.type == 'group'){ tmpl += '<i class="icon-folder"></i>'; } - tmpl += state.text; + tmpl += state.text.html_escape(); return tmpl; } + var repo_switcher_placeholder = '<i class="icon-database"></i>' + ${h.jshtml(_('Repositories'))} + ' <span class="caret"></span>'; $("#repo_switcher").select2({ - placeholder: '<i class="icon-database"></i>' + ${h.jshtml(_('Repositories'))} + ' <span class="caret"></span>', + placeholder: repo_switcher_placeholder, dropdownAutoWidth: true, sortResults: prefixFirstSort, formatResult: format, @@ -455,11 +454,8 @@ containerCssClass: "repo-switcher", dropdownCssClass: "repo-switcher-dropdown", escapeMarkup: function(m){ - // don't escape our custom placeholder - if(m.substr(0,29) == '<i class="icon-database"></i>'){ - return m; - } - + if (m == repo_switcher_placeholder) + return repo_switcher_placeholder; return Select2.util.escapeMarkup(m); }, query: function(query){