From 814ee75c4f566c9a893886ff8efb7226426d293d Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 19 Nov 2013 15:20:07 +0100 Subject: [PATCH] [ADD] website.parseHash() & parseSearch() helpers bzr revid: fme@openerp.com-20131119142007-sf2u3s6x46okkotm --- addons/website/static/src/js/website.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index e56dc5f6f9e..73f39f94afb 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -13,6 +13,31 @@ }, dict); }; + website.parseQS = function (qs) { + var match, + params = {}, + pl = /\+/g, // Regex for replacing addition symbol with a space + search = /([^&=]+)=?([^&]*)/g; + + while ((match = search.exec(qs))) { + var name = decodeURIComponent(match[1].replace(pl, " ")); + var value = decodeURIComponent(match[2].replace(pl, " ")); + params[name] = value; + } + return params; + }; + + var parsedSearch; + website.parseSearch = function () { + if (!parsedSearch) { + parsedSearch = website.parseQS(window.location.search.substring(1)); + } + return parsedSearch; + }; + website.parseHash = function () { + return website.parseQS(window.location.hash.substring(1)); + }; + /* ----- TEMPLATE LOADING ---- */ var templates_def = $.Deferred().resolve(); website.add_template_file = function(template) {