From ae8748cf7c37bfdf795ceccb58fa9a4da4ce181e Mon Sep 17 00:00:00 2001 From: Denis Zheleztsov Date: Tue, 2 Jan 2018 22:22:01 +0300 Subject: [PATCH] Working threads mode --- css/style.css | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++ index.html | 59 +++++++++++++++++++++------------------- js/helpers.js | 48 ++++++++++++++++++--------------- js/script.js | 53 ++++++++++++++++++++++++++++++++---- js/threads.js | 30 --------------------- 5 files changed, 182 insertions(+), 83 deletions(-) diff --git a/css/style.css b/css/style.css index 1d0f4ae..f0f84c3 100644 --- a/css/style.css +++ b/css/style.css @@ -91,6 +91,12 @@ body { padding: 10px } +/* #dropdown-content>input { */ +/* border:1px solid #eeeeec; */ +/* display: block; */ +/* padding: 10px */ +/* } */ + #faq { margin: 80px 0 0; } @@ -164,3 +170,72 @@ body { + /* The switch - the box around the slider */ +.switch { + position: relative; + display: inline-block; + width: 40px; + height: 24px; +} + +/* Hide default HTML checkbox */ +.switch input {display:none;} + +/* The slider */ +.slider { + position: absolute; + cursor: pointer; + top: 2pt; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: .4s; + transition: .4s; +} + +.slider:before { + position: absolute; + content: ""; + height: 19px; + width: 19px; + left: 2px; + bottom: 2px; + background-color: white; + -webkit-transition: .4s; + transition: .4s; +} + +input:checked + .slider { + background-color: #2196F3; +} + +input:focus + .slider { + box-shadow: 0 0 1px #2196F3; +} + +input:checked + .slider:before { + -webkit-transform: translateX(20px); + -ms-transform: translateX(20px); + transform: translateX(20px); +} + +/* Rounded sliders */ +.slider.round { + border-radius: 14px; +} + +.slider.round:before { + border-radius: 50%; +} + +#preloader { + position: fixed; + left: 0; + top: 0; + z-index: 999; + width: 100%; + height: 100%; + overflow: visible; + background: #2E3436 url('/img/preload.gif') no-repeat center center; +} diff --git a/index.html b/index.html index 7b8a825..50d53c8 100644 --- a/index.html +++ b/index.html @@ -17,34 +17,39 @@ - - -
- -
- - - -
-
Mode
+ +
+ +
+ + + +
+
+
+
+ + + +
- - - -
-
-
-
- -
- +
+ +
+ + + diff --git a/js/helpers.js b/js/helpers.js index 55726f1..5078886 100644 --- a/js/helpers.js +++ b/js/helpers.js @@ -1,24 +1,30 @@ -function bake_cookie(name, value) { - var echo = read_cookie("echo"); - var threads = read_cookie("threads"); - if (name != "echo") { - var cookie = ["echo=", echo, ';', "threads", '=', value, '; domain=.', window.location.host.toString(), '; path=/;'].join(''); - document.cookie = cookie; - } else if (threads) { - var cookie = ["echo=", value, ';', "threads", '=', threads, '; domain=.', window.location.host.toString(), '; path=/;'].join(''); - document.cookie = cookie; - } else { - console.log("Setting echoes " + value); - var cookie = ["echo=", value, ';', 'domain=.', window.location.host.toString(), '; path=/;'].join(''); - document.cookie = cookie; - } - console.log("Cookie: " + document.cookie); +// Set cookie with v=threads +function toggleViewModeOn() { + Cookies.set("threads", "on", {expires: 365}); } -function read_cookie(name) { - var result = document.cookie.match(new RegExp(name + '=([^;]+)')); - if (result) { - result = result[1]; - } - return result; +// Remove cookie with v=threads +function toggleViewModeOff() { + Cookies.set("threads", "off", {expires: 365}); +} + +function toggleViewMode() { + if (checkViewMode()) { + toggleViewModeOff(); + location.reload(); + } else { + toggleViewModeOn(); + location.reload(); + } +} + +// Check view mode +function checkViewMode() { + if (Cookies.get("threads") && Cookies.get("threads") == "on") { + console.log('THREADS ON'); + return true + } else { + console.log('NORMAL'); + return false + } } diff --git a/js/script.js b/js/script.js index e360dd7..e46c124 100644 --- a/js/script.js +++ b/js/script.js @@ -23,8 +23,36 @@ if (hash.matched) { requestMessage(hash.hash); } +// Add checker to menu +function makeMenu() { + if (checkViewMode()) { + $("#dropdown-content").html( + `Threads mode + + Настроить фильтр + Сбросить фильтр + FAQ + Статистика`); + } else { + $("#dropdown-content").html( + `Threads mode + + Настроить фильтр + Сбросить фильтр + FAQ + Статистика`); + } +} + $(function() { + makeMenu(); //extentions $.ajax({ url:"https://dynamic.lessmore.pw/idec/x/features", @@ -148,7 +176,12 @@ function requestEmptyEcho() { } function requestEcho() { - var data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"query_string" : {"fields": ["echo"], "query": "' + echo + '"}}, "size":' + 5 + '}'; + 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}'; + } else { + data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"query_string" : {"fields": ["echo"], "query": "' + echo + '"}}, "size":' + 5 + '}'; + } ajaxRequest(data); } @@ -160,13 +193,23 @@ function requestTmpEcho(e) { } function requestEmptyEchoOffset() { - var data = '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":'+ show_rows + ', "from":'+ from + '}'; + var data = ''; + if (checkViewMode()) { + data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": { "query_string" : {"fields": ["repto"], "query": "repto.keyword:\\"\\""}}, "size":' + show_rows + ', "from":' + from + '}'; + } else { + data = '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":'+ show_rows + ', "from":'+ from + '}'; + } ajaxRequest(data); } function requestEchoOffset() { - var data = '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ show_rows + ', "from":'+ from + '}'; + 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 + '}'; + } else { + data = '{"sort": [{"date": {"order": "desc"}}, {"_score": { "order": "desc" }}], "query": {"query_string" : {"fields": ["echo"], "query": "' + echo + '"}}, "size":' + show_rows + ', "from":' + from + '}'; + } ajaxRequest(data); } @@ -314,14 +357,14 @@ function callback(messages) { } // Header - html += '

' + html += '

' + '' + msgItem['subg'] + '' + ' ' + msgItem['echo'] + '

' + '

' + msg.autoLink() + '

' - + // Msgid + '' + msgItem['msgid'] + ''; diff --git a/js/threads.js b/js/threads.js index 31ce621..592bae0 100644 --- a/js/threads.js +++ b/js/threads.js @@ -1,6 +1,5 @@ var thread_html = ""; var top_id = ""; -var view_mode = false; $(function() { var jumpLocation = parseLocation(); @@ -92,35 +91,6 @@ function parseLocation() { } } -// Set cookie with v=threads -function toggleViewModeOn() { - Cookies.set("threads", "on"); -} - -// Remove cookie with v=threads -function toggleViewModeOff() { - Cookies.set("threads", "off"); -} - -function toggleViewMode() { - if (checkViewMode()) { - toggleViewModeOff(); - } else { - toggleViewModeOn(); - } -} - -// Check view mode -function checkViewMode() { - if (Cookies.get("threads") && Cookies.get("threads") == "on") { - console.log('THREADS ON'); - return true - } else { - console.log('NORMAL'); - return false - } -} - // Make message HTML function makeMessageHTML(msgItem) { var t = new Date(msgItem['date'] * 1000);