diff --git a/filter.html b/filter.html index 9b42ff2..f21af4d 100644 --- a/filter.html +++ b/filter.html @@ -6,9 +6,12 @@ + + + @@ -16,9 +19,6 @@
dynamic | less
diff --git a/js/script.js b/js/script.js index e46c124..586e9f4 100644 --- a/js/script.js +++ b/js/script.js @@ -178,7 +178,17 @@ function requestEmptyEcho() { function requestEcho() { var data = ''; if (checkViewMode()) { - data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"bool": { "must": [ { "query_string" : {"fields": ["echo", "repto"], "query": "' + echo +' AND repto.keyword:\\"\\""}}]}}, "size":5}'; + var echoes = '('; + for (e in echo.split(" ")) { + if (echo.split(" ")[e] != "") { + echoes += "echo:" + echo.split(" ")[e]; + } + if (e < echo.split(" ").length - 2) { + echoes += " OR "; + } + } + echoes += ')'; + data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"bool": { "must": [ { "query_string" : {"fields": ["echo", "repto"], "query": "' + echoes +' AND repto.keyword:\\"\\""}}]}}, "size":5}'; } else { data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"query_string" : {"fields": ["echo"], "query": "' + echo + '"}}, "size":' + 5 + '}'; } @@ -206,7 +216,17 @@ function requestEmptyEchoOffset() { function requestEchoOffset() { var data = ''; if (checkViewMode()) { - data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"bool": { "must": [ { "query_string" : {"fields": ["echo", "repto"], "query": "' + echo +' AND repto.keyword:\\"\\""}}]}}, "size":' + show_rows + ', "from":' + from + '}'; + var echoes = '('; + for (e in echo.split(" ")) { + if (echo.split(" ")[e] != "") { + echoes += "echo:" + echo.split(" ")[e]; + } + if (e < echo.split(" ").length - 2) { + echoes += " OR "; + } + } + echoes += ')'; + data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"bool": { "must": [ { "query_string" : {"fields": ["echo", "repto"], "query": "' + echoes +' AND repto.keyword:\\"\\""}}]}}, "size":' + show_rows + ', "from":' + from + '}'; } else { data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"query_string" : {"fields": ["echo"], "query": "' + echo + '"}}, "size":' + show_rows + ', "from":' + from + '}'; } diff --git a/js/threads.js b/js/threads.js index 592bae0..8220fd2 100644 --- a/js/threads.js +++ b/js/threads.js @@ -1,5 +1,6 @@ var thread_html = ""; var top_id = ""; +var answers = {}; $(function() { var jumpLocation = parseLocation(); @@ -67,10 +68,15 @@ function proccessThreadRequest(data, msgid) { }) } +function answersRequest() + function proccessThread(msgid, callback) { data = '{"sort": [ { "date": { "order": "asc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["repto"], "query" :"' + msgid + '"}}, "size": 100 }'; if (callback) { for (hit in callback["hits"]["hits"]) { + if (top_id == callback["hits"]["hits"][hit]["_source"]) { + answersRequest(top_id); + } msg = callback["hits"]["hits"][hit]["_source"]; thread_html += makeMessageHTML(callback["hits"]["hits"][0]["_source"]); proccessThread(msg["msgid"], false);