diff options
Diffstat (limited to 'juick-www/src')
-rw-r--r-- | juick-www/src/main/static/scripts.js | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/juick-www/src/main/static/scripts.js b/juick-www/src/main/static/scripts.js index 2d50cc92..a7052cfa 100644 --- a/juick-www/src/main/static/scripts.js +++ b/juick-www/src/main/static/scripts.js @@ -363,13 +363,14 @@ function attachMessagePhoto(div) { } function unfoldReply() { - if ((0 + window.location.hash.substring(1)) > 0) { - var el = window.location.hash; - //https://developer.mozilla.org/en/docs/Web/API/Element/matches#Polyfill - while (el.matches('[type="hidden"]')) { - el = el.previousSibling(); + var anchor = window.location.hash.substring(1); + if ((0 + anchor) > 0) { + var el = document.getElementById(anchor); + if (!el) { return } + while (el.style.display !== 'block') { + el = el.previousElementSibling; } - showMoreReplies(el.getAttribute('id')); + showMoreReplies(el); window.location.replace(window.location.hash); } } @@ -469,7 +470,8 @@ function resultMessage(str) { function likeMessage(e, mid) { if (confirm('Are you sure?')) { fetch('//juick.com/like?mid=' + mid, { - method: 'POST' + method: 'POST', + credentials: 'same-origin' }) .then(function (response) { if (response.ok) { @@ -488,7 +490,9 @@ function likeMessage(e, mid) { function setPopular(e, mid, popular) { fetch('//api.juick.com/messages/set_popular?mid=' + mid + '&popular=' + popular - + '&hash=' + document.getElementById('body').getAttribute('data-hash')) + + '&hash=' + document.getElementById('body').getAttribute('data-hash'), { + credentials: 'same-origin' + }) .then(function () { e.closest('article').append(resultMessage('OK!')); }); @@ -497,7 +501,9 @@ function setPopular(e, mid, popular) { function setPrivacy(e, mid) { fetch('//api.juick.com/messages/set_privacy?mid=' + mid - + '&hash=' + document.getElementById('body').getAttribute('data-hash')) + + '&hash=' + document.getElementById('body').getAttribute('data-hash'), { + credentials: 'same-origin' + }) .then(function () { e.closest('article').append(resultMessage('OK!')); }); @@ -534,7 +540,12 @@ ready(function () { var insertButtons = function (e) { var textarea = e.target; textarea.classList.add('narrow'); - textarea.insertAdjacentHTML('afterend', '<div class="attach-photo" onclick="attachCommentPhoto(this)"/>'); + var att = document.createElement('div'); + att.classList.add('attach-photo'); + att.addEventListener('click', function(e) { + attachCommentPhoto(e.target); + }); + textarea.parentNode.insertBefore(att, textarea.nextSibling); textarea.parentNode.insertAdjacentHTML('afterend', '<input type="submit" value="OK"/>'); textarea.removeEventListener('click', insertButtons); e.preventDefault(); @@ -660,6 +671,11 @@ ready(function () { e.preventDefault(); }); }); + document.querySelectorAll('.attach-photo').forEach(function(el) { + el.addEventListener('click', function(e) { + attachCommentPhoto(e.target); + }); + }); var unfoldall = document.getElementById('unfoldall'); if (unfoldall) { unfoldall.addEventListener('click', function(e) { |