From: Wolfram Schneider Date: Thu, 24 Apr 2014 13:19:21 +0000 (+0000) Subject: set or re-set "lang" URL parameter correctly, MKWS-181 X-Git-Tag: 1.0.0~850 X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=commitdiff_plain;h=a40649a84c22976aacbf267cc519d44c098386ee set or re-set "lang" URL parameter correctly, MKWS-181 --- diff --git a/src/mkws-team.js b/src/mkws-team.js index b02b441..53a65fc 100644 --- a/src/mkws-team.js +++ b/src/mkws-team.js @@ -186,7 +186,7 @@ function team($, teamName) { that.limitCategory = function(id) { log("limitCategory(id=" + id + ")"); // Only one category filter at a time - m_filterSet.removeMatching(function(f) { return f.type === 'category' }); + m_filterSet.removeMatching(function(f) { return f.type === 'category' }); if (id !== '') m_filterSet.add(categoryFilter(id)); if (m_query) triggerSearch(); return false; @@ -439,7 +439,27 @@ function team($, teamName) { return m_config.lang; } + // set or re-set "lang" URL parameter + function lang_url(lang) { + var query = location.search; + // no query parameters? done + if (!query) { + return "?lang=" + lang; + } + + // parameter does not exists + if (!query.match(/[\?&]lang=/)) { + return query + "&lang=" + lang; + } + // replace existing parameter + query = query.replace(/\?lang=([^&#;]*)/, "?lang=" + lang); + query = query.replace(/\&lang=([^&#;]*)/, "&lang=" + lang); + + return query; + } + + // dynamic URL or static page? /path/foo?query=test /* create locale language menu */ function mkwsHtmlLang() { var lang_default = "en"; @@ -475,7 +495,7 @@ function team($, teamName) { if (lang == l) { data += ' ' + l + ' '; } else { - data += ' ' + l + ' ' + data += ' ' + l + ' ' } }