Change: move and add poll parser
This commit is contained in:
parent
d19be3f2cb
commit
c5cdabaa3a
@ -533,35 +533,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
|||||||
//Poll
|
//Poll
|
||||||
var poll = "";
|
var poll = "";
|
||||||
if (toot.poll) {
|
if (toot.poll) {
|
||||||
var choices = toot.poll.options;
|
var poll = pollParse(toot.poll, acct_id)
|
||||||
if (toot.poll.voted) {
|
|
||||||
var myvote = lang.lang_parse_voted;
|
|
||||||
var result_hide = "";
|
|
||||||
} else if (toot.poll.expired) {
|
|
||||||
var myvote = lang.lang_parse_endedvote;
|
|
||||||
var result_hide = "";
|
|
||||||
} else {
|
|
||||||
var myvote = '<a onclick="voteMastodon(\'' + acct_id + '\',\'' + toot.poll.id + '\')" class="votebtn">' + lang.lang_parse_vote + '</a><br>';
|
|
||||||
if (choices[0].votes_count === 0 || choices[0].votes_count > 0) {
|
|
||||||
myvote = myvote + '<a onclick="showResult(\'' + acct_id + '\',\'' + toot.poll.id + '\')" class="pointer">' + lang.lang_parse_unvoted + "</a>";
|
|
||||||
}
|
|
||||||
var result_hide = "hide";
|
|
||||||
}
|
|
||||||
var ended = date(toot.poll.expires_at, datetype);
|
|
||||||
Object.keys(choices).forEach(function (keyc) {
|
|
||||||
var choice = choices[keyc];
|
|
||||||
if (!toot.poll.voted && !toot.poll.expired) {
|
|
||||||
var votesel = 'voteSelMastodon(\'' + acct_id + '\',\'' + toot.poll.id + '\',' + keyc + ',' + toot.poll.multiple + ')';
|
|
||||||
var voteclass = "pointer waves-effect waves-light";
|
|
||||||
} else {
|
|
||||||
var votesel = "";
|
|
||||||
var voteclass = "";
|
|
||||||
}
|
|
||||||
poll = poll + '<div class="' + voteclass + ' vote vote_' + acct_id + '_' + toot.poll.id + '_' + keyc + '" onclick="' + votesel + '">' + escapeHTML(choice.title) + '<span class="vote_' + acct_id + '_' + toot.poll.id + '_result ' + result_hide + '">(' + choice.votes_count + ')</span></div>';
|
|
||||||
});
|
|
||||||
poll = '<div class="vote_' + acct_id + '_' + toot.poll.id + '">' + poll + myvote + '<a onclick="voteMastodonrefresh(\'' + acct_id + '\',\'' + toot.poll.id + '\')" class="pointer">' + lang.lang_manager_refresh + '</a><span class="cbadge cbadge-hover" title="' + date(toot.poll.expires_at, 'absolute') +
|
|
||||||
'"><i class="far fa-calendar-times"></i>' +
|
|
||||||
ended + '</span></div>';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var mediack = toot.media_attachments[0];
|
var mediack = toot.media_attachments[0];
|
||||||
@ -1144,3 +1116,52 @@ function client(name) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//Poll Parser
|
||||||
|
function pollParse(poll, acct_id) {
|
||||||
|
var datetype = localStorage.getItem("datetype");
|
||||||
|
var choices = poll.options;
|
||||||
|
if (poll.own_votes) {
|
||||||
|
var minechoice = poll.own_votes
|
||||||
|
} else {
|
||||||
|
var minechoice = []
|
||||||
|
}
|
||||||
|
|
||||||
|
if (poll.voted) {
|
||||||
|
var myvote = lang.lang_parse_voted;
|
||||||
|
var result_hide = "";
|
||||||
|
} else if (poll.expired) {
|
||||||
|
var myvote = lang.lang_parse_endedvote;
|
||||||
|
var result_hide = "";
|
||||||
|
} else {
|
||||||
|
var myvote = '<a onclick="voteMastodon(\'' + acct_id + '\',\'' + poll.id + '\')" class="votebtn">' + lang.lang_parse_vote + '</a><br>';
|
||||||
|
if (choices[0].votes_count === 0 || choices[0].votes_count > 0) {
|
||||||
|
myvote = myvote + '<a onclick="showResult(\'' + acct_id + '\',\'' + poll.id + '\')" class="pointer">' + lang.lang_parse_unvoted + "</a>";
|
||||||
|
}
|
||||||
|
var result_hide = "hide";
|
||||||
|
}
|
||||||
|
var ended = date(poll.expires_at, datetype);
|
||||||
|
var pollHtml = ""
|
||||||
|
Object.keys(choices).forEach(function (keyc) {
|
||||||
|
var choice = choices[keyc];
|
||||||
|
var voteit = "";
|
||||||
|
for (var i = 0; i < minechoice.length; i++) {
|
||||||
|
var me = minechoice[i]
|
||||||
|
if (me == keyc) {
|
||||||
|
var voteit = "✅";
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!poll.voted && !poll.expired) {
|
||||||
|
var votesel = 'voteSelMastodon(\'' + acct_id + '\',\'' + poll.id + '\',' + keyc + ',' + poll.multiple + ')';
|
||||||
|
var voteclass = "pointer waves-effect waves-light";
|
||||||
|
} else {
|
||||||
|
var votesel = "";
|
||||||
|
var voteclass = "";
|
||||||
|
}
|
||||||
|
pollHtml = pollHtml + '<div class="' + voteclass + ' vote vote_' + acct_id + '_' + poll.id + '_' + keyc + '" onclick="' + votesel + '">' + escapeHTML(choice.title) + '<span class="vote_' + acct_id + '_' + poll.id + '_result ' + result_hide + '">(' + choice.votes_count + ')</span>' + voteit + '</div>';
|
||||||
|
});
|
||||||
|
pollHtml = '<div class="vote_' + acct_id + '_' + poll.id + '">' + pollHtml + myvote + '<a onclick="voteMastodonrefresh(\'' + acct_id + '\',\'' + poll.id + '\')" class="pointer">' + lang.lang_manager_refresh + '</a><span class="cbadge cbadge-hover" title="' + date(poll.expires_at, 'absolute') +
|
||||||
|
'"><i class="far fa-calendar-times"></i>' +
|
||||||
|
ended + '</span></div>';
|
||||||
|
return pollHtml
|
||||||
|
}
|
@ -119,22 +119,7 @@ function voteMastodonrefresh(acct_id, id) {
|
|||||||
if (!json) {
|
if (!json) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var poll = "";
|
var poll = pollParse(json, acct_id)
|
||||||
var choices = json.options;
|
|
||||||
var myvote = lang.lang_parse_voted;
|
|
||||||
var result_hide = "";
|
|
||||||
Object.keys(choices).forEach(function (keyc) {
|
|
||||||
var choice = choices[keyc];
|
|
||||||
if (!json.voted) {
|
|
||||||
votesel = 'voteSelMastodon(\'' + acct_id + '\',\'' + json.id + '\',' + keyc + ',' + json.multiple + ')';
|
|
||||||
}else {
|
|
||||||
votesel =""
|
|
||||||
}
|
|
||||||
poll = poll + '<div class="pointer vote vote_' + acct_id + '_' + json.id + '_' + keyc + '" onclick="' + votesel + '">' + escapeHTML(choice.title) + '<span class="vote_' + acct_id + '_' + json.id + '_result ' + result_hide + '">(' + choice.votes_count + ')</span></div>';
|
|
||||||
});
|
|
||||||
poll = poll + myvote + '<a onclick="voteMastodonrefresh(\'' + acct_id + '\',\'' + json.id + '\')" class="pointer">' + lang.lang_manager_refresh + '</a><span class="cbadge cbadge-hover" title="' + date(json.expires_at, 'absolute') +
|
|
||||||
'"><i class="far fa-calendar-times"></i>' +
|
|
||||||
date(json.expires_at, datetype) + '</span>';
|
|
||||||
$('.vote_' + acct_id + '_' + json.id).html(poll)
|
$('.vote_' + acct_id + '_' + json.id).html(poll)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user