|
|
|
@ -248,6 +248,7 @@
|
|
|
|
|
* disqusjs.page.lenfth - How many comment in this thread
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
(function () {
|
|
|
|
|
disqusjs.page = [];
|
|
|
|
|
|
|
|
|
|
window.disqus_config = function () {
|
|
|
|
@ -257,13 +258,13 @@ window.disqus_config = function () {
|
|
|
|
|
|
|
|
|
|
var xhr = new XMLHttpRequest();
|
|
|
|
|
|
|
|
|
|
setLS = (key, value) => {
|
|
|
|
|
let setLS = (key, value) => {
|
|
|
|
|
try {
|
|
|
|
|
localStorage.setItem(key, value)
|
|
|
|
|
} catch (o) {
|
|
|
|
|
console.log(o), console.log("Failed to set localStorage item")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getLS = (key) => {
|
|
|
|
|
return localStorage.getItem(key);
|
|
|
|
@ -306,7 +307,7 @@ Date.prototype.Format = function (fmt) {
|
|
|
|
|
* Descriptin: load disqus as it should be.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
loadDisqus = () => {
|
|
|
|
|
let loadDisqus = () => {
|
|
|
|
|
var d = document;
|
|
|
|
|
d.getElementById('dsqjs-load-disqus').classList.remove('dsqjs-hide');
|
|
|
|
|
d.getElementById('dsqjs-force-dsqjs').addEventListener('click', forceDsqjs);
|
|
|
|
@ -322,7 +323,7 @@ loadDisqus = () => {
|
|
|
|
|
* How it works: check favicons under 2 domains can be loaded or not.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
checkDisqus = () => {
|
|
|
|
|
let checkDisqus = () => {
|
|
|
|
|
var img = new Image;
|
|
|
|
|
let check1 = setTimeout(() => {
|
|
|
|
|
img.onerror = img.onload = null;
|
|
|
|
@ -363,12 +364,12 @@ checkDisqus = () => {
|
|
|
|
|
* Name: forceDsqjs() forceDisqus()
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
forceDsqjs = () => {
|
|
|
|
|
let forceDsqjs = () => {
|
|
|
|
|
setLS('disqusjs_mode', 'dsqjs');
|
|
|
|
|
main();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
forceDisqus = () => {
|
|
|
|
|
let forceDisqus = () => {
|
|
|
|
|
setLS('disqusjs_mode', 'disqus');
|
|
|
|
|
main();
|
|
|
|
|
}
|
|
|
|
@ -378,7 +379,7 @@ forceDisqus = () => {
|
|
|
|
|
* Description: When dsqjs mode load error
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
loadError = () => {
|
|
|
|
|
let loadError = () => {
|
|
|
|
|
document.getElementById('dsqjs-load-error').classList.remove('dsqjs-hide');
|
|
|
|
|
document.getElementById('dsqjs-loading-dsqjs').classList.add('dsqjs-hide');
|
|
|
|
|
document.getElementById('dsqjs-reload').addEventListener('click', getThreadInfo);
|
|
|
|
@ -391,7 +392,7 @@ loadError = () => {
|
|
|
|
|
* API URI: /3.0/threads/list.json?forum=[disqus_shortname]&thread=ident:[identifier]&api_key=[apikey]
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
getThreadInfo = () => {
|
|
|
|
|
let getThreadInfo = () => {
|
|
|
|
|
document.getElementById('dsqjs-loading-dsqjs').classList.remove('dsqjs-hide');
|
|
|
|
|
document.getElementById('dsqjs-force-disqus').addEventListener('click', forceDisqus);
|
|
|
|
|
document.getElementById('dsqjs-reload-disqus').addEventListener('click', checkDisqus);
|
|
|
|
@ -425,7 +426,7 @@ getThreadInfo = () => {
|
|
|
|
|
* API URI: /3.0/posts/list.json?forum=[shortname]&thread=[thread id]&api_key=[apikey]
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
getComment = () => {
|
|
|
|
|
let getComment = () => {
|
|
|
|
|
let url = disqusjs.config.api + '3.0/posts/list.json?forum=' + disqusjs.config.shortname + '&thread=' + disqusjs.page.id + '&api_key=' + disqusjs.config.apikey;
|
|
|
|
|
xhr.open('GET', url, true);
|
|
|
|
|
xhr.timeout = 4000;
|
|
|
|
@ -457,7 +458,7 @@ getComment = () => {
|
|
|
|
|
* Description: Render JSON to comment list components
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
getCommentList = (data) => {
|
|
|
|
|
let getCommentList = (data) => {
|
|
|
|
|
var topLevelComments = [];
|
|
|
|
|
var childComments = [];
|
|
|
|
|
|
|
|
|
@ -499,7 +500,7 @@ getCommentList = (data) => {
|
|
|
|
|
renderComment(commentLists)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
renderComment = (data) => {
|
|
|
|
|
let renderComment = (data) => {
|
|
|
|
|
/*
|
|
|
|
|
<div class="dsqjs-item-container">
|
|
|
|
|
<div class="dsqjs-avater">
|
|
|
|
@ -518,7 +519,7 @@ renderComment = (data) => {
|
|
|
|
|
var commentBodyTpl = `<div class="dsqjs-item-container"><div class="dsqjs-avater"><%- avatarEl %></div><div class="dsqjs-body"><header class="dsqjs-header"><span class="dsqjs-author"><%- authorEl %></span><span class="dsqjs-bullet"></span><span class="dsqjs-meta"><time><%- (new Date(createdAt)).Format("yyyy-MM-dd hh:mm:ss") %></time></span></header><div class="dsqjs-content"><%- message %></div></div></div>`
|
|
|
|
|
|
|
|
|
|
data.map(s => {
|
|
|
|
|
childrenComments = (s) => {
|
|
|
|
|
let childrenComments = (s) => {
|
|
|
|
|
var nesting = s.nesting
|
|
|
|
|
|
|
|
|
|
var children = (s.children || []);
|
|
|
|
@ -600,7 +601,7 @@ renderComment = (data) => {
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
main = () => {
|
|
|
|
|
let main = () => {
|
|
|
|
|
// Add dsqjs container element to #disqus_thread
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@ -633,3 +634,5 @@ main = () => {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
main();
|
|
|
|
|
|
|
|
|
|
})();
|