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 }); }); });