diff options
| author | Freya Murphy <freya@freyacat.org> | 2024-03-30 21:28:46 -0400 |
|---|---|---|
| committer | Freya Murphy <freya@freyacat.org> | 2024-03-30 21:28:46 -0400 |
| commit | ef7b0e26fadb882e026f1b447b6d18259057c040 (patch) | |
| tree | f5831c9c64b3fd95d8fa73b382d1717e10370684 /web/public/js/shared | |
| parent | post comments, refactor post loading, hide load more btn (diff) | |
| download | xssbook2-ef7b0e26fadb882e026f1b447b6d18259057c040.tar.gz xssbook2-ef7b0e26fadb882e026f1b447b6d18259057c040.tar.bz2 xssbook2-ef7b0e26fadb882e026f1b447b6d18259057c040.zip | |
refactor asset dir, refactor oberver in lib
Diffstat (limited to 'web/public/js/shared')
| -rw-r--r-- | web/public/js/shared/modal.js | 64 | ||||
| -rw-r--r-- | web/public/js/shared/post.js | 84 |
2 files changed, 0 insertions, 148 deletions
diff --git a/web/public/js/shared/modal.js b/web/public/js/shared/modal.js deleted file mode 100644 index 792cd85..0000000 --- a/web/public/js/shared/modal.js +++ /dev/null @@ -1,64 +0,0 @@ -$(document).on('click', ".modal-close", (o) => { - $(o.target).closest('.modal-container').remove(); -}); - -const initDrag = (header, modal, container) => { - let drag = false; - - let mouseX, mouseY, modalX, modalY; - - const onStart = (e) => { - e = e || window.event; - e.preventDefault(); - mouseX = e.clientX; - mouseY = e.clientY; - drag = true; - }; - - const onDrag = (e) => { - e = e || window.event; - e.preventDefault(); - if (!drag) { - return; - } - modalX = mouseX - e.clientX; - modalY = mouseY - e.clientY; - mouseX = e.clientX; - mouseY = e.clientY; - - let posX = (modal.offsetLeft - modalX), - posY = (modal.offsetTop - modalY); - - let minX = modal.offsetWidth / 2, - minY = modal.offsetHeight / 2; - - let maxX = container.offsetWidth - minX, - maxY = container.offsetHeight - minY; - - posX = Math.max(minX, Math.min(maxX, posX)); - posY = Math.max(minY, Math.min(maxY, posY)); - - posX = posX / container.offsetWidth * 100; - posY = posY / container.offsetHeight * 100; - - modal.style.left = posX + "%"; - modal.style.top = posY + "%"; - }; - - const onEnd = () => { - drag = false; - }; - - header.onmousedown = onStart; - container.onmousemove = onDrag; - container.onmouseup = onEnd; -}; - -observe('body', '.modal-header', function(el) { - let header = $(el); - let modal = header.closest('.modal'); - let container = header.closest('.modal-container'); - initDrag( - header[0], modal[0], container[0] - ); -}); diff --git a/web/public/js/shared/post.js b/web/public/js/shared/post.js deleted file mode 100644 index f22dd99..0000000 --- a/web/public/js/shared/post.js +++ /dev/null @@ -1,84 +0,0 @@ -observe('#main-content', '.action-load-comments', function(me) { - me.on('click', function() { - let page = me.attr('page'); - if (!page) { - page = '1'; - } - let newPage = Number(page) + 1; - me.attr('page', newPage + ''); - - let postId = me.attr('postId'); - let loaded = Number(me.attr('loaded')); - let pageSize = Number(me.attr('pageSize')); - let commmentCount = Number(me.attr('commentCount')); - let commentMax = Number(me.attr('commentMax')); - - let url = '/_util/post/comments?page=' + page + '&id=' + postId + '&max' + commentMax; - $.get(url, function (data) { - if (data === '') { - me.remove(); - return; - } - - $(data).insertBefore(me); - - loaded += pageSize; - if (loaded >= commmentCount) { - me.remove(); - } else { - me.attr('loaded', loaded + ''); - } - }); - }); -}); - -observe('#main-content', '#action-load-posts', function(me) { - me.on('click', function () { - let page = me.attr('page'); - if (!page) { - page = '1'; - } - let newPage = Number(page) + 1; - me.attr('page', newPage + ''); - - let loaded = Number(me.attr('loaded')); - let pageSize = Number(me.attr('pageSize')); - let postCount = Number(me.attr('postCount')); - let postMax = Number(me.attr('postMax')); - - let url = '/_util/post/posts?page=' + page + '&max=' + postMax; - $.get(url, function (data) { - if (data === '') { - me.remove(); - return; - } - - $(data).insertBefore(me); - - loaded += pageSize; - if (loaded >= postCount) { - me.remove(); - } else { - me.attr('loaded', loaded + ''); - } - }); - }); -}); - -observe('#main-content', '.action-new-comment-form', function(me) { - me.on('submit', function(e) { - e.preventDefault(); - let input = me.find('.action-new-comment'); - let content = input.val(); - let post_id = input.attr('postId'); - $.ajax({ - url: '/api/comment', - method: 'POST', - data: JSON.stringify({ post_id, content }), - success: function(_data) { - window.location.reload(); - }, - error: errorToast - }); - }); -}); |