var ModuleFollowing = { template: { list: { item: { append: function(list, userName) { $(list).append( $('
', { 'class': 'item' }).append( $('
', { 'class': 'avatar' }).append( $('', { 'href': 'follow/' + userName }).append( $('', { 'src': '/api/image?hash=' + userName, 'alt': '', }) ) ) ).append( $('
', { 'class': 'info' }).append( $('', { 'href': 'follow/' + userName }).append(userName) ) ).append( $('
', { 'class': 'action' }).append( $('', { 'class': 'bi bi-envelope', 'title': 'Direct Message', 'onclick': '', }) ).append( $('', { 'class': 'bi bi-x-circle', 'title': 'Unfollow', 'onclick': 'ModuleFollowing.unFollow(\'' + list + '\', \'' + userName + '\', true)', }) ) ) ); } } } }, load: function(list, reFresh) { $.ajax({ url: 'api/follow/get', type: 'POST', data: {}, success: function (response) { if (response.success) { if (reFresh) { $(list).html(''); } $(response.users).each(function() { ModuleFollowing.template.list.item.append(list, this.userName); }); } else { alert(response.message); } }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); } }); }, unFollow: function(list, userName, reFresh) { $.ajax({ url: 'api/follow/delete', type: 'POST', data: { userName: userName }, success: function (response) { if (response.success) { if (reFresh) { ModuleFollowing.load(list, reFresh); } } else { alert(response.message); } }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); } }); }, }