dynamic/js/script.js
2017-02-14 13:14:17 +03:00

219 lines
8.4 KiB
JavaScript

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("<b>" + data.replace("\n","<br>") + "</b>")}
})
//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 += '<option value="' + msg + '" selected>' + msg + " (<b>" + doc_count + "</b>)</option>";
checks += '<span class="row"><input type="checkbox" class="echoes" name="ec" value="' + msg + '" checked><label>'
+ msg
+ '</label> <span style="color:#838784">('+ doc_count
+ ')</span><br></span>';}
else
{
options += '<option value="' + msg + '" >' + msg + " (<b>" + doc_count + "</b>)</option>";
checks += '<span class="row"><input type="checkbox" class="echoes" name="ec" value="' + msg + '"><label>'
+ msg
+ '</label> <span style="color:#838784">('+ doc_count
+ ')</span><br></span>';}
}
$('#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 <br>
msg = messages['hits']['hits'][hit]['_source']['message'].replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(new RegExp("\n",'g'), "<br>\n");
html += '<div class="msg"><p align="right">' + t_formatted + '</p> <p style="font-size: 1.5em; font-family: "Open Sans", sans-serif;">'
+ messages['hits']['hits'][hit]['_source']['subg']
+ '</p><p>Echo: '
+ messages['hits']['hits'][hit]['_source']['echo']
+ '<br>Author: '
+ messages['hits']['hits'][hit]['_source']['author']
+ '<br>To: '
+ messages['hits']['hits'][hit]['_source']['to']
+ '</p><p>'
+ msg
// + messages['hits']['hits'][hit]['_source']['message']
+ '</p><p align="right">'
+ messages['hits']['hits'][hit]['_source']['msgid'] + '</p></div>' ;
}
}
//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);
}
})
}
*/