diff options
| author | Pepper <pepper@scannerjammer.com> | 2023-04-17 05:44:26 +0000 |
|---|---|---|
| committer | Pepper <pepper@scannerjammer.com> | 2023-04-17 05:44:26 +0000 |
| commit | 543fa1107a16966758d67f95dd080dad24a73e97 (patch) | |
| tree | 17811831111944941dbf113318baccb6ef02c902 /share/frontend/gallery-static/js/main.js | |
| parent | 2c44ff7fa5bdf50b85fcce7357320d9531ef7c90 (diff) | |
python 3
Diffstat (limited to 'share/frontend/gallery-static/js/main.js')
| -rw-r--r-- | share/frontend/gallery-static/js/main.js | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/share/frontend/gallery-static/js/main.js b/share/frontend/gallery-static/js/main.js index aadc7e1..b72ee6c 100644 --- a/share/frontend/gallery-static/js/main.js +++ b/share/frontend/gallery-static/js/main.js @@ -82,22 +82,35 @@ var Dump = { } } -function applyTag(tagname){ - tag_regex = /&tag=[^&]*/; - if (document.URL.match(tag_regex)){ - return document.URL.replace(tag_regex, "&tag="+tagname); - }else if(document.URL.match(/\/$/)){ - return document.URL.replace(/\/$/, "?tag="+tagname); - } - else{ - return document.URL+"&tag="+tagname; - } +function applyTag(tagname) { + var qs = $.QueryString + qs.tag = tagname + return serializeQS(qs) +} +function serializeQS (obj) { + let str = []; + for (let p in obj) + if (obj.hasOwnProperty(p)) { + str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); + } + return str.join("&"); } var Main = { editing: false, kp: function (event) { + if (document.activeElement && document.activeElement.getAttribute('id') === 'search-q') + { + if (event.keyCode === 13) + { + var qs = $.QueryString + qs.text = document.activeElement.value + delete qs.start + window.location.search = serializeQS(qs) + } + return + } switch (event.keyCode) { // BS @@ -163,9 +176,10 @@ var Main = $("#help").click(function(){ $("#keys").slideToggle() }) $("#actions b").click(function(){ $("#sorting-optionsContainer").slideToggle() }) $("#tags b").click(function(){ $("#tag-optionsContainer").slideToggle() }) - $(".tag-options").click(function(){document.location.href= applyTag(this.id)}); - $(".tag-clear").click(function(){ document.location.href = document.URL.replace(/&?tag=[^&]*/ ,"").replace(/\?$/,"")}); + $(".tag-options").click(function(){document.location.search = applyTag(this.id)}); + $(".tag-clear").click(function(){ document.location.search = '' }); $("div img").live("click", Dump.pick) + $("#search-q").val($.QueryString.text || "") Dump.load_rebus() // Dump.clear() } |
