(function ($) { var sortFriends = function () { $('.friend-list').each(function () { $(this).sortList(); }); }, reload = function (control) { $('.friend-container').each(function () { var $container = $(this); var action = $container.data('action'); var controller = $container.data('controller'); var params = $container.data('params') || {}; $container.parent().tikiModal(tr("Loading...")); $container.parent().load($.service(controller, action, params), function () { $(this).tikiModal(); sortFriends(); }); }); }; $(document).on('click', '.add-friend', $.clickModal({ open: function () { $("input[name=username]").tiki("autocomplete", "userrealname", { select: function (event, data) { let usernamePattern = jqueryTiki.usernamePattern ?? "/^['\-_a-zA-Z0-9\.]*$/"; usernamePattern = usernamePattern.substring(2, usernamePattern.length - 2); // trim /^ and $/ (TODO refactor with $.userMentions) let regex = new RegExp("\\((" + usernamePattern + ")\\)$"), userName = data.item.value.match(regex); if (userName) { userName = userName[1]; } else { userName = data.item.value; } $(this).val(userName); return false; }, }); }, success: function () { $.closeModal(); reload(this); }, })); $(document).on('click', '.request-list .add-friend, .request-list .approve-friend,' + ' .user-info .add-friend, .user-info .approve-friend', function (e) { var control = this; e.preventDefault(); $.post($(control).attr('href'), function () { reload(control); }); return false; }); $(document).on('click', ' .remove-friend', function (e) { var control = this; e.preventDefault(); $(this).doConfirm({ success: function () { reload(control); } }); return false; }); $(sortFriends); })(jQuery); (function ($) { var createReload = function (link) { var activity = $(link).closest('.activity'), container = activity.parent(), id = activity.data('id'); return function () { container.load($.service('object', 'infobox', { type: 'activity', object: id, plain: 1, format: 'default' })); }; }; $(document).on('click', '.activity a.comment', function () { var myReload = createReload(this); var url = $(this).attr('href'); $.openModal({ remote: url, open: function () { var container = this; $(container).addClass('comment-container'); container.reload = function () { myReload(); $('.modal-content', container).load(url, function () { $(container).trigger('tiki.modal.redraw'); }); }; }, close: function () { var container = this; $(container).removeClass('comment-container'); container.reload = null; } }); return false; }); $(document).on('click', '.activity a.like', function () { var myReload = createReload(this); $.post($(this).attr('href'), function () { myReload(); }); return false; }); $(document).on('click', '.stream-container .show-more', function () { var link = this , page = $(link).data('page') , listContainer = $(link).closest('.stream-container').find('ol:first') ; $(link).hide(); $.post($.service('activitystream', 'render'), { stream: $(link).data('stream'), page: page + 1 }, function (data) { $(link).data('page', page + 1); var list = $('