Some threads progress
This commit is contained in:
parent
25b4dfc426
commit
5bb140abef
|
@ -28,3 +28,88 @@ function checkViewMode() {
|
|||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// Make message HTML
|
||||
function makeMessageHTML(msgItem, total) {
|
||||
var t = new Date(msgItem['date'] * 1000);
|
||||
var t_formatted = t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds();
|
||||
|
||||
var msg = msgItem['message'].replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(new RegExp("\n",'g'), "<br>\n");
|
||||
|
||||
var html = '<div class="msg">'
|
||||
+ '<p align="left"><i class="fa fa-hourglass-half"></i> ' + t_formatted + '<i class="fa fa-angle-right"></i> <!--/p-->'
|
||||
|
||||
// Author to receiver
|
||||
+ '<a name="' + msgItem["msgid"] + '" style="text-decoration:underline; text-decoration-style:dotted;" title="' + msgItem["address"] + '" "href="javascript:void(0)" onclick="requestAuthorMessages(\'' + msgItem['author'] + '\');">' + msgItem['author'] + '</a>'
|
||||
+ ' <i class="fa fa-mail-forward"></i> ';
|
||||
|
||||
if (msgItem['repto'] != "" ) {
|
||||
html += '<a href="#' + msgItem['repto'] + '">' + msgItem['to'] + '</a></p>';
|
||||
} else {
|
||||
html += msgItem['to'] + '</p>';
|
||||
}
|
||||
|
||||
// Header
|
||||
html += ' <p style="color:#0099cc;font: 1.5em Open Sans, sans-serif;">'
|
||||
+ '<a class="headerLink" href="/?j=' + msgItem['msgid'] + '">'
|
||||
+ msgItem['subg'] + '</a>'
|
||||
+ ' <i class="fa fa-at"></i> <i><a class="headerLink" href="javascript:void(0)" onclick="requestTmpEcho(\'' + msgItem['echo'] + '\')">' + msgItem['echo']
|
||||
+ '</a></i></p></p>'
|
||||
+ '<p>' + msg.autoLink()
|
||||
+ '</p><p align="right">'
|
||||
|
||||
// Msgid
|
||||
+ '<a href="?' + msgItem['msgid'] +'" onclick="requestMessage(\'' + msgItem['msgid'] + '\');"><i class="fa fa-link"></i>' + msgItem['msgid'] + '</a>';
|
||||
|
||||
// End message <div> block
|
||||
html += '</p></div>';
|
||||
|
||||
return html
|
||||
}
|
||||
|
||||
function makeThreadMessage(msgItem, total) {
|
||||
var t = new Date(msgItem['date'] * 1000);
|
||||
var t_formatted = t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds();
|
||||
|
||||
console.log(total);
|
||||
|
||||
if (hash.matched && msgItem['msgid'] == hash.hash) {
|
||||
html += '<div class="hsMessage">';
|
||||
}
|
||||
|
||||
msg = msgItem['message'].replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(new RegExp("\n",'g'), "<br>\n");
|
||||
|
||||
var to =
|
||||
html += '<div class="msg">'
|
||||
+ '<p align="left"><i class="fa fa-hourglass-half"></i> ' + t_formatted + '<i class="fa fa-angle-right"></i> <!--/p-->'
|
||||
|
||||
// Author to receiver
|
||||
+ '<a style="text-decoration:underline; text-decoration-style:dotted;" title="' + msgItem["address"] + '" "href="javascript:void(0)" onclick="requestAuthorMessages(\'' + msgItem['author'] + '\');">' + msgItem['author'] + '</a>'
|
||||
+ ' <i class="fa fa-mail-forward"></i> ';
|
||||
|
||||
if (msgItem['repto'] != "" ) {
|
||||
html += '<a href="/?' + msgItem['repto'] + '">' + msgItem['to'] + '</a></p>';
|
||||
} else {
|
||||
html += msgItem['to'] + '</p>';
|
||||
}
|
||||
|
||||
// Header
|
||||
html += ' <p style="color:#0099cc;font: 1.5em Open Sans, sans-serif;">'
|
||||
+ '<a class="headerLink" href="/?j=' + msgItem['msgid'] + '">'
|
||||
+ msgItem['subg'] + '</a>'
|
||||
+ ' <i class="fa fa-at"></i> <i><a class="headerLink" href="javascript:void(0)" onclick="requestTmpEcho(\'' + msgItem['echo'] + '\')">' + msgItem['echo']
|
||||
+ '</a></i></p></p>'
|
||||
+ '<p>' + msg.autoLink()
|
||||
+ '</p><p>';
|
||||
|
||||
// Answers
|
||||
html += '<a style="align:left !important; left: 13%; position: absolute;" href="?j=' + msgItem['msgid'] +'"">[' + total + ']</a>';
|
||||
|
||||
// Msgid
|
||||
html += '<a style="align:right !important; right: 13%; position: absolute;" href="?' + msgItem['msgid'] +'" onclick="requestMessage(\'' + msgItem['msgid'] + '\');"><i class="fa fa-link"></i>' + msgItem['msgid'] + '</a>';
|
||||
|
||||
// End message <div> block
|
||||
html += '</p></div>';
|
||||
|
||||
return html;
|
||||
}
|
||||
|
|
80
js/script.js
80
js/script.js
|
@ -163,7 +163,7 @@ function ajaxRequest(data) {
|
|||
type:"POST",
|
||||
data: data,
|
||||
contentType: "application/json",
|
||||
success:function(messages){
|
||||
success: function(messages) {
|
||||
callback(messages);
|
||||
$("#mes").html(html);
|
||||
}
|
||||
|
@ -283,11 +283,23 @@ function searchRequest(data) {
|
|||
})
|
||||
}
|
||||
|
||||
function answersRequest(msgid) {
|
||||
$.ajax({
|
||||
url:"https://dynamic.lessmore.pw/search",
|
||||
type:"POST",
|
||||
data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["msgid"], "query" :"' + msgid + '"}}, "size": 0 }',
|
||||
contentType: "application/json",
|
||||
success: function(messages){
|
||||
answers[msgid] = messages["hits"]["total"];
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//show messages
|
||||
function callbackHS(messages) {
|
||||
var msgArray = messages["hits"]["hits"];
|
||||
// console.log(msgArray);
|
||||
|
||||
|
||||
for (hit in msgArray) {
|
||||
hash = parseLocationHash();
|
||||
var msgItem = msgArray[hit]['_source'];
|
||||
|
@ -343,11 +355,65 @@ function callbackHS(messages) {
|
|||
}
|
||||
}
|
||||
|
||||
function threadMessage(msgItem) {
|
||||
$.ajax({
|
||||
url:"https://dynamic.lessmore.pw/search",
|
||||
type:"POST",
|
||||
data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["repto"], "query": "' + msgItem["_source"]["msgid"] + '"}}, "size": 0 }',
|
||||
contentType: "application/json",
|
||||
success: function(answer) {
|
||||
total = 0;
|
||||
total = answer["hits"]["total"];
|
||||
msgItem["total"] = total;
|
||||
threadsCallback(false, msgItem);
|
||||
$("#mes").html(html);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//show messages
|
||||
function callback(messages) {
|
||||
function threadsCallback(messages) {
|
||||
var getAnswers = function(msgItem, callback) {
|
||||
$.when(
|
||||
$.ajax({
|
||||
url:"https://dynamic.lessmore.pw/search",
|
||||
type:"POST",
|
||||
data: '{"sort": [ { "date": { "order": "desc" }}, { "_score": { "order": "desc" }}], "query": {"query_string" : {"fields" : ["repto"], "query": "' + msgItem["_source"]["msgid"] + '"}}, "size": 0 }',
|
||||
contentType: "application/json",
|
||||
success: function(answer) { callback(answer, msgItem); }
|
||||
})).then(function(data) {
|
||||
console.log(data);
|
||||
})
|
||||
};
|
||||
|
||||
var getTotal = function(answer, msgItem) {
|
||||
var total = answer["hits"]["total"];
|
||||
msg = makeThreadMessage(msgItem["_source"], total);
|
||||
console.log(msgItem["_source"]["msgid"])
|
||||
Cookies.set(msgItem["_source"]["msgid"], total);
|
||||
};
|
||||
|
||||
var msgArray = messages["hits"]["hits"];
|
||||
// console.log(msgArray);
|
||||
|
||||
for (hit in msgArray) {
|
||||
getAnswers(msgArray[hit], getTotal);
|
||||
}
|
||||
|
||||
for (hit in msgArray) {
|
||||
count = Cookies.get(msgArray[hit]["_source"]["msgid"]);
|
||||
msg = makeThreadMessage(msgArray[hit]["_source"], count);
|
||||
html += msg;
|
||||
}
|
||||
}
|
||||
|
||||
//show messages
|
||||
function callback(messages) {
|
||||
var msgArray = messages["hits"]["hits"];
|
||||
|
||||
// if (checkViewMode() && !parseLocation().matched) {
|
||||
// threadsCallback(messages);
|
||||
// return;
|
||||
// }
|
||||
|
||||
for (hit in msgArray) {
|
||||
hash = parseLocationHash();
|
||||
var msgItem = msgArray[hit]['_source'];
|
||||
|
@ -383,10 +449,10 @@ function callback(messages) {
|
|||
+ ' <i class="fa fa-at"></i> <i><a class="headerLink" href="javascript:void(0)" onclick="requestTmpEcho(\'' + msgItem['echo'] + '\')">' + msgItem['echo']
|
||||
+ '</a></i></p></p>'
|
||||
+ '<p>' + msg.autoLink()
|
||||
+ '</p><p align="right">'
|
||||
+ '</p><p>';
|
||||
|
||||
// Msgid
|
||||
+ '<a href="?' + msgItem['msgid'] +'" onclick="requestMessage(\'' + msgItem['msgid'] + '\');"><i class="fa fa-link"></i>' + msgItem['msgid'] + '</a>';
|
||||
html += '<a style="align:right !important; right: 13%; display:block; position: absolute;" href="?' + msgItem['msgid'] +'" onclick="requestMessage(\'' + msgItem['msgid'] + '\');"><i class="fa fa-link"></i>' + msgItem['msgid'] + '</a>';
|
||||
|
||||
// End message <div> block
|
||||
html += '</p></div>';
|
||||
|
|
|
@ -68,15 +68,10 @@ 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);
|
||||
|
@ -97,42 +92,4 @@ function parseLocation() {
|
|||
}
|
||||
}
|
||||
|
||||
// Make message HTML
|
||||
function makeMessageHTML(msgItem) {
|
||||
var t = new Date(msgItem['date'] * 1000);
|
||||
// console.log(msgItem['date']);
|
||||
// console.log(t);
|
||||
var t_formatted = t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds();
|
||||
|
||||
var msg = msgItem['message'].replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(new RegExp("\n",'g'), "<br>\n");
|
||||
|
||||
var html = '<div class="msg">'
|
||||
+ '<p align="left"><i class="fa fa-hourglass-half"></i> ' + t_formatted + '<i class="fa fa-angle-right"></i> <!--/p-->'
|
||||
|
||||
// Author to receiver
|
||||
+ '<a name="' + msgItem["msgid"] + '" style="text-decoration:underline; text-decoration-style:dotted;" title="' + msgItem["address"] + '" "href="javascript:void(0)" onclick="requestAuthorMessages(\'' + msgItem['author'] + '\');">' + msgItem['author'] + '</a>'
|
||||
+ ' <i class="fa fa-mail-forward"></i> ';
|
||||
|
||||
if (msgItem['repto'] != "" ) {
|
||||
html += '<a href="#' + msgItem['repto'] + '">' + msgItem['to'] + '</a></p>';
|
||||
} else {
|
||||
html += msgItem['to'] + '</p>';
|
||||
}
|
||||
|
||||
// Header
|
||||
html += ' <p style="color:#0099cc;font: 1.5em Open Sans, sans-serif;">'
|
||||
+ '<a class="headerLink" href="/?j=' + msgItem['msgid'] + '">'
|
||||
+ msgItem['subg'] + '</a>'
|
||||
+ ' <i class="fa fa-at"></i> <i><a class="headerLink" href="javascript:void(0)" onclick="requestTmpEcho(\'' + msgItem['echo'] + '\')">' + msgItem['echo']
|
||||
+ '</a></i></p></p>'
|
||||
+ '<p>' + msg.autoLink()
|
||||
+ '</p><p align="right">'
|
||||
|
||||
// Msgid
|
||||
+ '<a href="?' + msgItem['msgid'] +'" onclick="requestMessage(\'' + msgItem['msgid'] + '\');"><i class="fa fa-link"></i>' + msgItem['msgid'] + '</a>';
|
||||
|
||||
// End message <div> block
|
||||
html += '</p></div>';
|
||||
|
||||
return html
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user