From fa02fa8e424b2c8ed61c3e0d3e38ac47f312c798 Mon Sep 17 00:00:00 2001 From: Anna Date: Tue, 14 Feb 2017 13:14:17 +0300 Subject: [PATCH] filter --- css/style.css | 85 ++++++++++++++++++ css/style.css~ | 50 +++++++++++ filter.html | 53 ++++++++++++ img/30.gif | Bin 0 -> 3154 bytes img/preload.gif | Bin 0 -> 228 bytes index.html | 160 +++++----------------------------- js/script.js | 218 +++++++++++++++++++++++++++++++++++++++++++++++ js/script.js~ | 139 ++++++++++++++++++++++++++++++ js/script2.js | 139 ++++++++++++++++++++++++++++++ js/script2.js~ | 136 +++++++++++++++++++++++++++++ lessmorefaq.html | 80 +++++++++++++++++ 11 files changed, 920 insertions(+), 140 deletions(-) create mode 100644 css/style.css create mode 100644 css/style.css~ create mode 100644 filter.html create mode 100644 img/30.gif create mode 100644 img/preload.gif create mode 100644 js/script.js create mode 100644 js/script.js~ create mode 100644 js/script2.js create mode 100644 js/script2.js~ create mode 100644 lessmorefaq.html diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..dc546a1 --- /dev/null +++ b/css/style.css @@ -0,0 +1,85 @@ + @media screen and (max-width: 600px){ + .lessmore {right: 0px; + font-size: 20pt; + } + + select {height: 50px} + .msg {padding: 0; margin: 0} + } + + #menu {display: block; + position: absolute; + right: 10px; + top: 17px; + font-size:0.7em} + + body { + background-color: #2E3436; + color: #eeeeec; + font-family: "Arial", sans-serif; + font-size: 1em; + } + a, a:visited, a:active { + color: #eeeeec; + //border-bottom: 1px #eeeeec dotted; + text-decoration-style: dotted; + } + + //#faq {display: block; + // position: absolute; left: 10px; top: 17px; font-size:0.7em} + //#menu{display:none} + .msg { + display: block; margin: 1em 0; + background-color:#272C2D; + padding: 1.5em 3em 1.5em; + word-wrap: break-word; + + } + .lessmore { + display: block; + color: #babdb6; + position:fixed; + top: 0px; + height:70px; + width:100%; + text-decoration: none; + margin-bottom: 5pt; + text-align: center; + font-size: 40pt; + background-color: #2E3436; + border-bottom: none; + } + +#faq {margin: 80px 0 0; +} + + select { + padding:9px 0; + margin: 80px 0 0; + width: 100%; + color:#000; + border:1px solid transparent; + border-bottom:1px solid #009688; + font-size: 1em;} + + + #dropdown-content { + display: none; + position:absolute; + right: 0; + top: 70px; + height: auto; + width: 300px; + background-color:#2E3436; + //padding: 20px; + font-size: 0.5em; + z-index:1; + } +#dropdown-content>a { + border:1px solid #eeeeec; + + display: block; +padding: 10px + +} + diff --git a/css/style.css~ b/css/style.css~ new file mode 100644 index 0000000..bcf413d --- /dev/null +++ b/css/style.css~ @@ -0,0 +1,50 @@ + @media screen and (max-width: 600px){ + select { + } + } + + body { + background-color: #2E3436; + color: #eeeeec; + font-family: "Arial", sans-serif; + font-size: 1.5em; + } + +.msg { + display: block; margin: 1em 0; + background-color:#272C2D; padding: 1.5em 3em 1.5em; + word-wrap: break-word; + + } + .lessmore { + display: block; + color: #babdb6; + position:fixed; + top: 0px; + height:70px; + width:100%; + text-align: center; + font-size: 40pt; + background-color: #2E3436; + + } + + #paginator {color: #FFFFFF; + display: inline-block; + padding: 15px 0; + cursor:pointer; background-color:#272C2D; width: 100%; + + +} + + select { + padding:9px 0; + margin: 80px 0 0; + width: 100%; + color:#000; + border:1px solid transparent; + border-bottom:1px solid #009688; + font-size: 1em;} + option {} + + diff --git a/filter.html b/filter.html new file mode 100644 index 0000000..3384b7e --- /dev/null +++ b/filter.html @@ -0,0 +1,53 @@ + + + + dynamic|LESS + + + + + + + + +
+ + + dynamic | less +
+ +
+ +
+ + + + + + diff --git a/img/30.gif b/img/30.gif new file mode 100644 index 0000000000000000000000000000000000000000..a66e4e72def7e9cefc43e980d33844c051293689 GIT binary patch literal 3154 zcmb8xX;f2Z8VB$T!3L7tK(L;w^jN8Qw2DaEaR@>yN?EjsP>`h{i|hy_gs>B`0*PS> zB#;0B61F5jNPx005b;zuXVc@BKgbd2CKw zqfLDUz=uH32Y@=D4gnw6CBmuzIhUryecemifO)Njwj$P)q3Fd4J zLutotecc7dg=`Vq^n!~}H-yvHcwA$U*Zr?ohpxHf%hL(+J5y0gX4+j3+6FvMl|}T>CF{*A8HZx^NDFC{M48CA1SM)vrnHre=#?| zu(&jaoMEu-pq9QXBamQL&~6d&s|)g?MPXyYW@jYXKjynbpFML z^#;DAwqS#WO3{{=_Zkk$eaU-QcAw$f)|Fmm?));;khgL3DlUFi70M@SzoP(3^sh@D zG+Fj15ifOqqj&lr^+A}2Spzt=j5E1z+{WN-Mr~+YUrzz+8oMFCV^8y_?lBFeLv%Fk zCD?WF%{nq7Ig&~ODbQ2|{W2ki#>n>cK%94Uit&ld3=6?s49b8BOBq61iFSF^1u)N= zmjD!&iBOb?=E~NK?G?n1s;JH6E zF$V(A?7nfn`JTtBFfk^bTKC32a$x);d=wEGNk*ka>C&kn^D;Rd5g6&?2yS3N4-*ne zm$EPcY+lk&%s;nTNLl|VW9grKy2O*#LCx0fNk#)k50+e^}Ua}b_P)Qhs4Diowzk{v46P3 zi5G?WJ|>2Y437=Qr+{fxR0b2_9iGM3A#RZ*5((c&;x6TGf(R=`)#)@2lIKk17bm6W z<;t)!2`s8SxU)=ABTaVU!|Vd>;Y2jETi$=QWuR&zy|tn%XRIzhAn-1fUi zn$QAxfyFTNC(HkWtV6Fa>hb)~b=cW#g6RAi$Fs1RlsWIsRw z`lA%hy@GMrRZM?RxC{(*-ajD0bEx<6$b088v*dE|Sl%v|y#|Oq&5etY*X^4gi3UUy z8$H7iGg!zLNg`vzBW%;-a&`nVWlMydLZ#>Ar6D;Lm1STQmyMHF%5uSc=aixnilhn= z-%!_4s(^_ydh6xzkRq5}i2ZO1Ag;Mm&FLSSoM0=b#qAGAZIYh^-_F}H^}y{wD_RII zw79+*kj1TzS%-!$>WK{;%+GEGgyq0W-S~OD>lpLD6OgJeG~`{_GYE)2Xi+;Ix%}mE zR|B!0IsN2gOe<_JMEhf1fv2s=*?X&F*fOr!%o({&4OTdDvd_1^Pr2>NJoF8XgfrPdHF0louhWu-GWpKFlE^ zBdevVcepNJ**A0Z;Z*B4Pi?`j2X>2k6=sg3V5#lxr8Rvklhx1k2 zL;t&e@NBID)0nT9B3CP4toGh_oUHyS5hRciRAMsiBnC9XdBbkWG)8cHPI={52qh<(RAiUN;(%b-I zTwv!gj-5E#==D2;Ew^TygP(?-E(=HWo?Y56G5^ke0@`i0k&QjpXvN%%RV~h_*iEvT z4W-EM-K6E)W}jA9g>myQFv8}$bU#OEggw|LfZUcZL-^Q1&0p~3v}G~;6zrDz{zF9$ zB1c1Kk6cgbJx!cmi9?wY~uS>)ljv#y> z_*#sD0L`JuEq3W1=%01?%zqE{TmKKI($|tuemhDDU$>3DaMhd1WV_>bFSdBKhN9mX z#*ijg`Y#j*ExZUk7GaV^PKYFV#n72i83Z^nD>XSCPNgvdE~jM{v0ynRob0^ZViAk? v&p7+q@5&`I-v+4*)vUEmM$%!LFgP@P?fQ+IBe#sS0JHx9_=2VM literal 0 HcmV?d00001 diff --git a/img/preload.gif b/img/preload.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b2432190d0759e32d94bf1d53024374fcf84b60 GIT binary patch literal 228 zcmZ?wbhEHbRA%5{XkcVmxNzbB|Nj;LbNji51UowhxEkphFf%eRFev_HVU%NFWY7V! z89<5|n50_r7oL9GcVTwP(O}~}4%J6X=Zp2Jq^G5NiDFYO-BZ6{^$UL4uBqGc zR=$McN9U8YdEv|1Sh1;>>glgMaF%Ovk>4$k+jlkW&s8!=R6S9f7cPa>c%br?TyOU- bvUz{@wAK-u7k6Xj1(K3A>t2|MF<1it734*w literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 83617eb..b943342 100644 --- a/index.html +++ b/index.html @@ -3,149 +3,29 @@ dynamic|LESS - - + + + + + -
dynamic | less
+ -
+
+
-
- - +
+
+ + diff --git a/js/script.js b/js/script.js new file mode 100644 index 0000000..0aadf46 --- /dev/null +++ b/js/script.js @@ -0,0 +1,218 @@ +var html = ''; +var options = ''; +var checks = ''; +var echo = ''; +var this_page = 1; +var show_rows = 5; +var from = 0; + + +function clearFilter(){ + document.cookie = ""; + console.log("test"); +} + + +function showMenu() { + console.log($("#dropdown-content").css("display")); + if($("#dropdown-content").css("display") == "none") { + $("#dropdown-content").css("display","block"); + }else { + $("#dropdown-content").css("display","none"); + } + console.log("Menu"); +} + +//var date = new Date(new Date().getTime() + 60 * 1000); +var date = new Date; +date.setDate(date.getDate() + 7); +var echo = document.cookie; + + +console.log("echo: " + echo); +console.log("cookie: " + document.cookie); + +if("lenta.rss".indexOf(echo) > -1 ) { +console.log(echo);} +//console.log("echoes: "+ echo ); + + +$(function() { +//extentions +$.ajax({ + url:"https://dynamic.lessmore.pw/idec/x/features", + success:function(data){console.log(data); $("#extentions").html("" + data.replace("\n","
") + "
")} +}) + + //initial load + if (echo != '') { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ 5 + '}', + //data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":5}', + success:function(messages){callback(messages);$("#mes").html(html); + +} + }) + } else { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + //data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ 5 + '}', + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":5}', + success:function(messages){callback(messages);$("#mes").html(html);} + }) + + } + //create echoes list + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"aggs": {"my_fields": { "terms": { "field": "echo","size": 1000}}}}}', + success:function(messages){for (i in messages['aggregations']['my_fields']['buckets']){ + var msg = messages['aggregations']['my_fields']['buckets'][i]['key']; + var doc_count = messages['aggregations']['my_fields']['buckets'][i]['doc_count']; + + msg_test = msg + " "; + echo_test = echo + " "; + if((echo_test).indexOf(msg_test) > -1 && echo != '') { + + options += '"; + checks += ' ('+ doc_count + + ')
';} + else + { + options += '"; + checks += ' ('+ doc_count + + ')
';} + } + + $('#echoSelected').html("Выбранные эхи: " + document.cookie); + $('#echoSelector').html(options); + $('#echoCheckBox').html(checks);} + + }) + + //show msgs when echo is selected + + $('.echoes:checked').each(function() { + echo = ''; + console.log(echo); + echo += $(this).val()[i] + " "; + }); + + var boxes = $("input[type=checkbox]"); + + $("#echoCheckBox").on('change', function() { + echo = ''; + console.log($("input[type=checkbox]:checked")[0]["defaultValue"]); + console.log($("input[type=checkbox]:checked").length); + for (var i=0; i<$("input[type=checkbox]:checked").length; i++) { + console.log($("input[type=checkbox]:checked")[i]["defaultValue"]); + echo += $("input[type=checkbox]:checked")[i]["defaultValue"] + " ";} + document.cookie = echo +"; path=/; expires=" + date.toUTCString(); + + //echo += $(this).val()[i] + " "}; + //console.log(echo); + $('#echoSelected').html("Выбранные эхи: " + echo); + + }); + + + $('#echoSelector').on('change', function() { + echo = ''; + for (i in $(this).val()) {echo += $(this).val()[i] + " "}; + document.cookie = echo +"; path=/; expires=" + date.toUTCString(); + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data:'{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":5}', + success:function(messages){html = ''; callback(messages);$("#mes").html(html);$('#echoSelected').html("Выбранные эхи: " + echo); } + }); + }); + + //scroll + $(window).scroll(function() { + // console.log($(document).height() - $(window).height()-$(window).scrollTop()); + if ($(document).height() - $(window).height() - $(window).scrollTop() < 1.5) { + showMore(); + //console.log($(document).height() - $(window).height() - $(window).scrollTop()); + } + }); + +}) + +//show more messages +function showMore(){ + this_page += 1; + from += show_rows; + var author = "(author:Difrex)"; + if (echo != '') { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ show_rows + ', "from":'+ from + '}', + success:function(messages){callback(messages); + $("#mes").html(html); + // if(messages.hits.hits.length == 0){$("#preloader")[0].style.display = "none"} else {$("#preloader").css("display", "block")} + } + }) + } else { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":'+ show_rows + ', "from":'+ from + '}', + success:function(messages){callback(messages); $("#mes").html(html); } + + }) + } + } + + +//show messages +function callback(messages) { + + for (hit in messages["hits"]["hits"]) { + var t = new Date(messages['hits']['hits'][hit]['_source']['date'] * 1000); + var t_formatted = t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds(); + // Replace new line with
+ msg = messages['hits']['hits'][hit]['_source']['message'].replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(new RegExp("\n",'g'), "
\n"); + html += '

' + t_formatted + '

' + + messages['hits']['hits'][hit]['_source']['subg'] + + '

Echo: ' + + messages['hits']['hits'][hit]['_source']['echo'] + + '
Author: ' + + messages['hits']['hits'][hit]['_source']['author'] + + '
To: ' + + messages['hits']['hits'][hit]['_source']['to'] + + '

' + + msg + // + messages['hits']['hits'][hit]['_source']['message'] + + '

' + + messages['hits']['hits'][hit]['_source']['msgid'] + '

' ; + } + +} + +//not used +/* +function filterByEcho() { + + console.log('func'); + var author = "(echo:develop.16)"; + var from = 0; + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["author"], "query" : ""}}, "size":5}', + success:function(messages){html=''; callback(messages); $("#mes").html(html); +} +}) + +} +*/ diff --git a/js/script.js~ b/js/script.js~ new file mode 100644 index 0000000..79d438d --- /dev/null +++ b/js/script.js~ @@ -0,0 +1,139 @@ + var html = ''; + var options = ''; + var echo = ''; + var this_page = 1; + var show_rows = 5; + var from = 0; + +var date = new Date(new Date().getTime() + 60 * 1000); +var echo = document.cookie; +console.log("echoes: "+ echo ); + + +$(function() { + //initial load + if (echo != '') { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ 5 + '}', + + //data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":5}', + success:function(messages){callback(messages);$("#mes").html(html);} + }) +} else { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + //data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ 5 + '}', + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":5}', + success:function(messages){callback(messages);$("#mes").html(html);} + }) + +} + //create echoes list + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"aggs": {"my_fields": { "terms": { "field": "echo","size": 1000}}}}}', + success:function(messages){for (i in messages['aggregations']['my_fields']['buckets']){options += ''}$ + $('#echoSelector').html(options);} + }) + + //show msgs when echo is selected +$('#echoSelector').on('change', function() { +echo = ''; +for (i in $(this).val()) {echo += $(this).val()[i] + " "}; + console.log(echo); + document.cookie = echo +"; path=/; expires=" + date.toUTCString(); + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data:'{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":5}', + success:function(messages){html = ''; callback(messages);$("#mes").html(html); } + }); + }); + +//scroll +$(window).scroll(function() { + console.log($(document).height() - $(window).height()-$(window).scrollTop()); + if ($(document).height() - $(window).height() - $(window).scrollTop() < 1.5) { + showMore(); + //console.log($(document).height() - $(window).height() - $(window).scrollTop()); + } + }); + +}) + +//show more messages + function showMore(){ + this_page += 1; + from += show_rows; + var author = "(author:Difrex)"; + if (echo != '') { + console.log("im here"); + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ show_rows + ', "from":'+ from + '}', + success:function(messages){callback(messages); $("#mes").html(html);} + }) + } else { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":'+ show_rows + ', "from":'+ from + '}', + success:function(messages){callback(messages); $("#mes").html(html);} + + }) + } + } + + +//show messages +function callback(messages) { + + var huinya = 'wtf??'; + console.log(messages); + for (hit in messages["hits"]["hits"]) { + var t = new Date(messages['hits']['hits'][hit]['_source']['date'] * 1000); + var t_formatted = t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds(); + // Replace new line with
+ msg = messages['hits']['hits'][hit]['_source']['message'].replace(new RegExp("\n",'g'), "
\n"); + html += '

' + t_formatted + '

' + + messages['hits']['hits'][hit]['_source']['subg'] + + '

Echo: ' + + messages['hits']['hits'][hit]['_source']['echo'] + + '
Author: ' + + messages['hits']['hits'][hit]['_source']['author'] + + '
To: ' + + messages['hits']['hits'][hit]['_source']['to'] + + '

' + + msg + // + messages['hits']['hits'][hit]['_source']['message'] + + '
Msgid: ' + + messages['hits']['hits'][hit]['_source']['msgid'] + '

' ; + } + +} + +//not used +/* +function filterByEcho() { + + console.log('func'); + var author = "(echo:develop.16)"; + var from = 0; + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["author"], "query" : "Andrew Lobanov"}}, "size":5}', + success:function(messages){html=''; callback(messages); $("#mes").html(html); +} +}) + +} +*/ diff --git a/js/script2.js b/js/script2.js new file mode 100644 index 0000000..79d438d --- /dev/null +++ b/js/script2.js @@ -0,0 +1,139 @@ + var html = ''; + var options = ''; + var echo = ''; + var this_page = 1; + var show_rows = 5; + var from = 0; + +var date = new Date(new Date().getTime() + 60 * 1000); +var echo = document.cookie; +console.log("echoes: "+ echo ); + + +$(function() { + //initial load + if (echo != '') { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ 5 + '}', + + //data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":5}', + success:function(messages){callback(messages);$("#mes").html(html);} + }) +} else { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + //data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ 5 + '}', + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":5}', + success:function(messages){callback(messages);$("#mes").html(html);} + }) + +} + //create echoes list + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"aggs": {"my_fields": { "terms": { "field": "echo","size": 1000}}}}}', + success:function(messages){for (i in messages['aggregations']['my_fields']['buckets']){options += ''}$ + $('#echoSelector').html(options);} + }) + + //show msgs when echo is selected +$('#echoSelector').on('change', function() { +echo = ''; +for (i in $(this).val()) {echo += $(this).val()[i] + " "}; + console.log(echo); + document.cookie = echo +"; path=/; expires=" + date.toUTCString(); + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data:'{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":5}', + success:function(messages){html = ''; callback(messages);$("#mes").html(html); } + }); + }); + +//scroll +$(window).scroll(function() { + console.log($(document).height() - $(window).height()-$(window).scrollTop()); + if ($(document).height() - $(window).height() - $(window).scrollTop() < 1.5) { + showMore(); + //console.log($(document).height() - $(window).height() - $(window).scrollTop()); + } + }); + +}) + +//show more messages + function showMore(){ + this_page += 1; + from += show_rows; + var author = "(author:Difrex)"; + if (echo != '') { + console.log("im here"); + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ show_rows + ', "from":'+ from + '}', + success:function(messages){callback(messages); $("#mes").html(html);} + }) + } else { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":'+ show_rows + ', "from":'+ from + '}', + success:function(messages){callback(messages); $("#mes").html(html);} + + }) + } + } + + +//show messages +function callback(messages) { + + var huinya = 'wtf??'; + console.log(messages); + for (hit in messages["hits"]["hits"]) { + var t = new Date(messages['hits']['hits'][hit]['_source']['date'] * 1000); + var t_formatted = t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds(); + // Replace new line with
+ msg = messages['hits']['hits'][hit]['_source']['message'].replace(new RegExp("\n",'g'), "
\n"); + html += '

' + t_formatted + '

' + + messages['hits']['hits'][hit]['_source']['subg'] + + '

Echo: ' + + messages['hits']['hits'][hit]['_source']['echo'] + + '
Author: ' + + messages['hits']['hits'][hit]['_source']['author'] + + '
To: ' + + messages['hits']['hits'][hit]['_source']['to'] + + '

' + + msg + // + messages['hits']['hits'][hit]['_source']['message'] + + '
Msgid: ' + + messages['hits']['hits'][hit]['_source']['msgid'] + '

' ; + } + +} + +//not used +/* +function filterByEcho() { + + console.log('func'); + var author = "(echo:develop.16)"; + var from = 0; + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["author"], "query" : "Andrew Lobanov"}}, "size":5}', + success:function(messages){html=''; callback(messages); $("#mes").html(html); +} +}) + +} +*/ diff --git a/js/script2.js~ b/js/script2.js~ new file mode 100644 index 0000000..c6e7c52 --- /dev/null +++ b/js/script2.js~ @@ -0,0 +1,136 @@ + var html = ''; + var options = ''; + var echo = ''; + var this_page = 1; + var show_rows = 5; + var from = 0; + +var date = new Date(new Date().getTime() + 60 * 1000); +var echo = document.cookie; +console.log("echoes: "+ echo ); + + +$(function() { + //initial load + if (echo != '') { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ 5 + '}', + + //data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":5}', + success:function(messages){callback(messages);$("#mes").html(html);} + }) +} else { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + //data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ 5 + '}', + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":5}', + success:function(messages){callback(messages);$("#mes").html(html);} + }) + +} + //create echoes list + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"aggs": {"my_fields": { "terms": { "field": "echo","size": 1000}}}}}', + success:function(messages){for (i in messages['aggregations']['my_fields']['buckets']){options += ''}$ + $('#echoSelector').html(options);} + }) + + //show msgs when echo is selected +$('#echoSelector').on('change', function() { +echo = ''; +for (i in $(this).val()) {echo += $(this).val()[i] + " "}; + console.log(echo); + document.cookie = echo +"; path=/; expires=" + date.toUTCString(); + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data:'{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":5}', + success:function(messages){html = ''; callback(messages);$("#mes").html(html); } + }); + }); + +//scroll +$(window).scroll(function() { + console.log($(document).height() - $(window).height()-$(window).scrollTop()); + if ($(document).height() - $(window).height() - $(window).scrollTop() < 1.5) { + showMore(); + //console.log($(document).height() - $(window).height() - $(window).scrollTop()); + } + }); + +}) + +//show more messages + function showMore(){ + this_page += 1; + from += show_rows; + var author = "(author:Difrex)"; + if (echo != '') { + console.log("im here"); + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["echo"], "query" :"' + echo + '"}}, "size":'+ show_rows + ', "from":'+ from + '}', + success:function(messages){callback(messages); $("#mes").html(html);} + }) + } else { + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}],"size":'+ show_rows + ', "from":'+ from + '}', + success:function(messages){callback(messages); $("#mes").html(html);} + + }) + } + } + + +//show messages +function callback(messages) { + + var huinya = 'wtf??'; + console.log(messages); + for (hit in messages["hits"]["hits"]) { + var t = new Date(messages['hits']['hits'][hit]['_source']['date'] * 1000); + var t_formatted = t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds(); + // Replace new line with
+ msg = messages['hits']['hits'][hit]['_source']['message'].replace(new RegExp("\n",'g'), "
\n"); + html += '

' + t_formatted + '

' + + messages['hits']['hits'][hit]['_source']['subg'] + + '

Echo: ' + + messages['hits']['hits'][hit]['_source']['echo'] + + '
Author: ' + + messages['hits']['hits'][hit]['_source']['author'] + + '
To: ' + + messages['hits']['hits'][hit]['_source']['to'] + + '

' + + msg + // + messages['hits']['hits'][hit]['_source']['message'] + + '
Msgid: ' + + messages['hits']['hits'][hit]['_source']['msgid'] + '

' ; + } + +} + +//not used +/* +function filterByEcho() { + + console.log('func'); + var author = "(echo:develop.16)"; + var from = 0; + $.ajax({ + url:"https://dynamic.lessmore.pw/search", + type:"POST", + data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["author"], "query" : "Andrew Lobanov"}}, "size":5}', + success:function(messages){html=''; callback(messages); $("#mes").html(html); +} +}) + +} +*/ diff --git a/lessmorefaq.html b/lessmorefaq.html new file mode 100644 index 0000000..0448a85 --- /dev/null +++ b/lessmorefaq.html @@ -0,0 +1,80 @@ + + + + + + + dynamic|LESS + + + + + + + + + + + + + + +
+

FAQ

+ +

Что это?

+ +

Это агрегатор сети IDEC. Тут собраны все сообщения со всех нод до которых он смог дотянуться.

+ +

Ну и что тут делать?

+ +

Можно читать сразу несколько эх, или только одну. Можно читать абсолютно весь(на самом деле нет) стрим сети почти в прямом эфире.

+ +

А можно писать?

+ +

Пока нельзя, но скоро будет можно, как через клиент, так и через веб-сайт.

+ +

Этим чекбоксом невозможно пользоваться!

+

С помощью стрелок на клавиатуре и кнопки CTRL вы можете сформировать свою ленту. А можете воспользоваться страницей настройки.

+ +

А клиентом можно читать?

+ +

Можно. Пока что реализовано простейшее(скоро будет больше) ii API, а точнее схемы /e/ и /m/. Из расширений доступны: /list.txt

+ Строка для подключения: https://dynamic.lessmore.pw/idec/ +

+ +

А API есть?

+ +

Да. И оно открыто для всех желающих тут. Это Elasticsearch, так что читайте документацию по нему.

+ +

Как это работает?

+ +

+ Фетчер собирает сообщения со станций сети. Эхи он берет из /list.txt. + Далее сообщение парсится, приводится к стурктуре в JSON и отправляется в Elasticsearch. В браузере Javascript ходит в API и формирует ленту. + Выбранные эхи сохраняются в куку. Да, этот сайт использует куки. +

+ +

Я требую исходный код!

+

Конечно-конечно! Исходники фетчера доступны тут, IDEC-ноды тут, а исходники веб-интерфейса можно увидеть щелкнув правой кнопкой мышки.

+ +

Куда писать про баги и хотелки?

+ +

Лучше всего если вы будете писать в эху dynamic.lessmore.pw, только убедитесь, что ваша нода индексируется и эха есть в /list.txt.

+

Еще можно написать на почту.

+ +

Известные проблемы

+

В индексе нет тегов и адреса. Это отколнение от стандарта и оно будет скоро исправленно.

+
+ +