X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=view%2Fjs%2Fmain.js;h=0da6c1df1065dc29ce71010bdc082cc552a94148;hb=80103bef385f5c205173449dbc1f4538b458d144;hp=089f780103610bea58b2fd318a6b195a5995380f;hpb=b3b2bc96bab2ed578ae1d1264cd0927a907c68bf;p=friendica.git diff --git a/view/js/main.js b/view/js/main.js index 089f780103..0da6c1df10 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -166,7 +166,7 @@ $(function() { /* event from comment textarea button popups */ /* insert returned bbcode at cursor position or replace selected text */ - $("body").on("fbrowser.image.comment", function(e, filename, bbcode, id) { + $('body').on('fbrowser.photo.comment', function(e, filename, bbcode, id) { $.colorbox.close(); var textarea = document.getElementById("comment-edit-text-" +id); var start = textarea.selectionStart; @@ -239,7 +239,6 @@ $(function() { }); /* notifications template */ - var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html()); var notifications_all = unescape($('
').append($("#nav-notifications-see-all").clone()).html()); //outerHtml hack var notifications_mark = unescape($('
').append($("#nav-notifications-mark-all").clone()).html()); //outerHtml hack var notifications_empty = unescape($("#nav-notifications-menu").html()); @@ -290,18 +289,18 @@ $(function() { $('#mail-update-li').html(mail); - $(".sidebar-group-li .notify").removeClass("show"); - $(data.groups).each(function(key, group) { - var gid = group.id; - var gcount = group.count; - $(".group-"+gid+" .notify").addClass("show").text(gcount); + $(".sidebar-circle-li .notify").removeClass("show"); + $(data.circles).each(function(key, circle) { + var gid = circle.id; + var gcount = circle.count; + $(".circle-"+gid+" .notify").addClass("show").text(gcount); }); - $(".forum-widget-entry .notify").removeClass("show"); - $(data.forums).each(function(key, forum) { - var fid = forum.id; - var fcount = forum.count; - $(".forum-"+fid+" .notify").addClass("show").text(fcount); + $(".group-widget-entry .notify").removeClass("show"); + $(data.groups).each(function(key, group) { + var fid = group.id; + var fcount = group.count; + $(".group-"+fid+" .notify").addClass("show").text(fcount); }); if (data.notifications.length == 0) { @@ -315,34 +314,20 @@ $(function() { var notification_id = 0; // Insert notifs into the notifications-menu - $(data.notifications).each(function(key, notification) { - var text = notification.message.format('' + notification.name + ''); - var contact = ('' + notification.name + ''); - var seenclass = (notification.seen == 1) ? "notification-seen" : "notification-unseen"; - var html = notifications_tpl.format( - notification.href, // {0} // link to the source - notification.photo, // {1} // photo of the contact - text, // {2} // preformatted text (autor + text) - notification.date, // {3} // date of notification (time ago) - seenclass, // {4} // visited status of the notification - new Date(notification.timestamp*1000), // {5} // date of notification - notification.url, // {6} // profile url of the contact - notification.message.format(contact), // {7} // preformatted html (text including author profile url) - '' // {8} // Deprecated - ); - nnm.append(html); + $(data.notifications).each(function(key, navNotif) { + nnm.append(navNotif.html); }); // Desktop Notifications - $(data.notifications.reverse()).each(function(key, e) { - notification_id = parseInt(e.timestamp); - if (notification_lastitem !== null && notification_id > notification_lastitem && Number(e.seen) === 0) { + $(data.notifications.reverse()).each(function(key, navNotif) { + notification_id = parseInt(navNotif.timestamp); + if (notification_lastitem !== null && notification_id > notification_lastitem && Number(navNotif.seen) === 0) { if (getNotificationPermission() === "granted") { var notification = new Notification(document.title, { - body: decodeHtml(e.message.replace('→ ', '').format(e.name)), - icon: e.photo, - }); - notification['url'] = e.href; + body: decodeHtml(navNotif.plaintext), + icon: navNotif.contact.photo, + }); + notification['url'] = navNotif.href; notification.addEventListener("click", function(ev) { window.location = ev.target.url; }); @@ -393,16 +378,10 @@ $(function() { // Allow folks to stop the ajax page updates with the pause/break key $(document).keydown(function(event) { - if (event.keyCode == '8') { - var target = event.target || event.srcElement; - if (!/input|textarea/i.test(target.nodeName)) { - return false; - } - } - - if (event.keyCode == '19' || (event.ctrlKey && event.which == '32')) { + // Pause/Break or Ctrl + Space + if (event.which === 19 || (!event.shiftKey && !event.altKey && event.ctrlKey && event.which === 32)) { event.preventDefault(); - if (stopped == false) { + if (stopped === false) { stopped = true; if (event.ctrlKey) { totStopped = true; @@ -514,14 +493,14 @@ function insertBBCodeInTextarea(BBCode, textarea) { function NavUpdate() { if (!stopped) { - var pingCmd = 'ping?format=json' + ((localUser != 0) ? '&uid=' + localUser : ''); + var pingCmd = 'ping'; $.get(pingCmd, function(data) { if (data.result) { // send nav-update event $('nav').trigger('nav-update', data.result); // start live update - ['network', 'profile', 'community', 'notes', 'display', 'contact'].forEach(function (src) { + ['network', 'profile', 'channel', 'community', 'notes', 'display', 'contact'].forEach(function (src) { if ($('#live-' + src).length) { liveUpdate(src); } @@ -623,6 +602,26 @@ function liveUpdate(src) { update_url += '&max_id=' + getUrlParameter('max_id'); } + match = $("span.received").first(); + if (match.length > 0) { + update_url += '&first_received=' + match[0].innerHTML; + } + + match = $("span.created").first(); + if (match.length > 0) { + update_url += '&first_created=' + match[0].innerHTML; + } + + match = $("span.commented").first(); + if (match.length > 0) { + update_url += '&first_commented=' + match[0].innerHTML; + } + + match = $("span.uriid").first(); + if (match.length > 0) { + update_url += '&first_uriid=' + match[0].innerHTML; + } + $.get(update_url, function(data) { in_progress = false; update_item = 0; @@ -642,6 +641,11 @@ function liveUpdate(src) { }); } +function updateItem(itemNo) { + force_update = true; + update_item = itemNo; +} + function imgbright(node) { $(node).removeClass("drophide").addClass("drop"); } @@ -665,38 +669,45 @@ function imgdull(node) { * @param {string} verb The verb of the action * @param {boolean} un Whether to perform an activity removal instead of creation */ -function dolike(ident, verb, un) { +function doActivityItem(ident, verb, un) { unpause(); $('#like-rotator-' + ident.toString()).show(); verb = un ? 'un' + verb : verb; - $.get('like/' + ident.toString() + '?verb=' + verb, NavUpdate); + $.post('item/' + ident.toString() + '/activity/' + verb, NavUpdate); liking = 1; force_update = true; update_item = ident.toString(); } -function dosubthread(ident) { +function doFollowThread(ident) { unpause(); $('#like-rotator-' + ident.toString()).show(); - $.get('subthread/' + ident.toString(), NavUpdate); + $.post('item/' + ident.toString() + '/follow', NavUpdate); liking = 1; + force_update = true; + update_item = ident.toString(); } -function dostar(ident) { +function doStar(ident) { ident = ident.toString(); $('#like-rotator-' + ident).show(); - $.get('starred/' + ident, function(data) { - if (data.match(/1/)) { - $('#starred-' + ident).addClass('starred'); - $('#starred-' + ident).removeClass('unstarred'); + $.post('item/' + ident + '/star') + .then(function(data) { + if (data.state === 1) { + $('#starred-' + ident) + .addClass('starred') + .removeClass('unstarred'); $('#star-' + ident).addClass('hidden'); $('#unstar-' + ident).removeClass('hidden'); } else { - $('#starred-' + ident).addClass('unstarred'); - $('#starred-' + ident).removeClass('starred'); + $('#starred-' + ident) + .addClass('unstarred') + .removeClass('starred'); $('#star-' + ident).removeClass('hidden'); $('#unstar-' + ident).addClass('hidden'); } + }) + .always(function () { $('#like-rotator-' + ident).hide(); }); } @@ -704,9 +715,9 @@ function dostar(ident) { function doPin(ident) { ident = ident.toString(); $('#like-rotator-' + ident).show(); - $.get('pinned/' + ident) + $.post('item/' + ident + '/pin') .then(function(data) { - if (data.match(/1/)) { + if (data.state === 1) { $('#pinned-' + ident) .addClass('pinned') .removeClass('unpinned'); @@ -725,11 +736,11 @@ function doPin(ident) { }); } -function doignore(ident) { +function doIgnoreThread(ident) { ident = ident.toString(); $('#like-rotator-' + ident).show(); - $.get('item/ignore/' + ident, function(data) { - if (data === 1) { + $.post('item/' + ident + '/ignore', function(data) { + if (data.state === 1) { $('#ignored-' + ident) .addClass('ignored') .removeClass('unignored'); @@ -954,21 +965,21 @@ function bin2hex(s) { return a.join(''); } -function groupChangeMember(gid, cid, sec_token) { +function circleChangeMember(gid, cid, sec_token) { $('body .fakelink').css('cursor', 'wait'); - $.get('group/' + gid + '/' + cid + "?t=" + sec_token, function(data) { - $('#group-update-wrapper').html(data); + $.get('circle/' + gid + '/' + cid + "?t=" + sec_token, function(data) { + $('#circle-update-wrapper').html(data); $('body .fakelink').css('cursor', 'auto'); }); } -function contactgroupChangeMember(checkbox, gid, cid) { +function contactCircleChangeMember(checkbox, gid, cid) { let url; // checkbox.checked is the checkbox state after the click if (checkbox.checked) { - url = 'group/' + gid + '/add/' + cid; + url = 'circle/' + gid + '/add/' + cid; } else { - url = 'group/' + gid + '/remove/' + cid; + url = 'circle/' + gid + '/remove/' + cid; } $('body').css('cursor', 'wait'); $.post(url) @@ -1077,7 +1088,7 @@ var Dialog = { * to the event handler */ doImageBrowser : function (name, id) { - var url = Dialog._get_url("image",name,id); + var url = Dialog._get_url('photo', name, id); return Dialog.show(url); }, @@ -1094,7 +1105,7 @@ var Dialog = { * to the event handler */ doFileBrowser : function (name, id) { - var url = Dialog._get_url("file",name,id); + var url = Dialog._get_url('attachment', name, id); return Dialog.show(url); }, @@ -1103,7 +1114,7 @@ var Dialog = { if (id !== undefined) { hash = hash + "-" + id; } - return baseurl + "/fbrowser/"+type+"/?mode=minimal#"+hash; + return 'media/' + type + '/browser?mode=minimal#' + hash; }, _get_size: function() {