diff --git a/zephyr/static/js/hashchange.js b/zephyr/static/js/hashchange.js index d2efc39b35..982e96d3d9 100644 --- a/zephyr/static/js/hashchange.js +++ b/zephyr/static/js/hashchange.js @@ -9,11 +9,11 @@ var changing_hash = false; // window.location.hash. So we hide our URI-encoding // by replacing % with . (like MediaWiki). -function encodeHashComponent(str) { +exports.encodeHashComponent = function(str) { return encodeURIComponent(str) .replace(/\./g, '%2E') .replace(/%/g, '.'); -} +}; function decodeHashComponent(str) { return decodeURIComponent(str.replace(/\./g, '%')); @@ -45,8 +45,8 @@ exports.save_narrow = function (operators) { } else { var new_hash = '#narrow'; $.each(operators, function (idx, elem) { - new_hash += '/' + encodeHashComponent(elem[0]) - + '/' + encodeHashComponent(elem[1]); + new_hash += '/' + hashchange.encodeHashComponent(elem[0]) + + '/' + hashchange.encodeHashComponent(elem[1]); }); exports.changehash(new_hash); } diff --git a/zephyr/static/js/subs.js b/zephyr/static/js/subs.js index 0da405e669..207a180707 100644 --- a/zephyr/static/js/subs.js +++ b/zephyr/static/js/subs.js @@ -237,7 +237,7 @@ function create_sub(stream_name, attrs) { add_sub(stream_name, sub); if (sub.subscribed) { - ui.add_narrow_filter(stream_name, "stream", "#narrow/stream/" + encodeURIComponent(stream_name)); + ui.add_narrow_filter(stream_name, "stream", "#narrow/stream/" + hashchange.encodeHashComponent(stream_name)); } return sub; } @@ -285,7 +285,7 @@ function mark_subscribed(stream_name, attrs) { set_color(stream_name, pick_color()); mark_color_used(sub.color); // This will do nothing on MIT - ui.add_narrow_filter(stream_name, "stream", "#narrow/stream/" + encodeURIComponent(stream_name)); + ui.add_narrow_filter(stream_name, "stream", "#narrow/stream/" + hashchange.encodeHashComponent(stream_name)); var settings = settings_for_sub(sub); var button = button_for_sub(sub); if (button.length !== 0) {