ComunicWeb/assets/js/components/friends/friendsBar.js

123 lines
3.1 KiB
JavaScript
Raw Normal View History

2017-05-31 14:51:52 +00:00
/**
* Friends bar
*
* @author Pierre HUBERT
*/
ComunicWeb.components.friends.bar = {
/**
* Display friends list
*
* @return {Boolean} True for a success
*/
display: function(){
//Log action
ComunicWeb.debug.logMessage("Initialize friends list.");
//Check if friends list already exists or not
var friendsListContainer = byId("friendsList");
//We check if the friend list already exists or not
if(friendsListContainer){
ComunicWeb.debug.logMessage("Notice: friend list already present on the page. Nothing to be done.");
return true;
}
//Create and apply friends list element
var friendsListContainer = createElem("div");
friendsListContainer.id = "friendsList";
//Check if "pageTarget" already exists or not
var pageTarget = byId("pageTarget");
if(pageTarget){
//Insert friends list just before pageTarget
byId("wrapper").insertBefore(friendsListContainer, pageTarget);
}
else{
byId("wrapper").appendChild(friendsListContainer); //Just happend the menubar
}
//Initializate friends list
this.init(friendsListContainer);
//Success
return true;
},
/**
* Initializate a friend list
*
* @param {HTMLElement} friendsListContainer The container of the friend list
* @return {Boolean} True for a success
*/
init: function(friendsListContainer){
//First, create the table container
2017-05-31 17:05:19 +00:00
var listFriendsElemTable = createElem("table", friendsListContainer);
listFriendsElemTable.className = "table table-condensed";
var listFriendsElem = createElem("tbody", listFriendsElemTable);
2017-05-31 14:51:52 +00:00
//Refresh friends list
this.refresh(listFriendsElem);
//Success
return true;
},
/**
2017-05-31 15:12:51 +00:00
* Refresh the listbar
2017-05-31 14:51:52 +00:00
*
* @param {HTMLElement} listFriendsElem The element that contains the list of friens
* @return {Boolean} True for a success
*/
refresh: function(listFriendsElem){
2017-05-31 15:12:51 +00:00
//Refresh it
2017-05-31 17:05:19 +00:00
ComunicWeb.components.friends.list.refresh(function(friendsList){
2017-05-31 14:51:52 +00:00
//Check for error
2017-05-31 17:05:19 +00:00
if(!friendsList){
2017-05-31 15:12:51 +00:00
//Log information
ComunicWeb.debug.logMessage("ERROR : Can't refresh menubar without the latest list !");
//Error
2017-05-31 14:51:52 +00:00
return false;
}
2017-05-31 15:12:51 +00:00
//Get users list to get information about them
usersID = {};
2017-05-31 17:05:19 +00:00
for(i in friendsList){
2017-05-31 15:12:51 +00:00
//Extract user id
2017-05-31 17:05:19 +00:00
var processID = friendsList[i].ID_friend;
2017-05-31 15:12:51 +00:00
usersID["user_"+processID] = processID;
}
//Get users ID informations
2017-05-31 17:05:19 +00:00
ComunicWeb.user.userInfos.getMultipleUsersInfos(usersID, function(usersInfos){
//Show each friend
for(i in friendsList){
//Extract friend ID
var friendID = friendsList[i].ID_friend;
//Create a row
var friendRow = createElem("tr", listFriendsElem);
//Add user avatar
var imageRow = createElem("td", friendRow);
var imageElem = createElem("img", imageRow);
imageElem.src = usersInfos["user-"+friendID].accountImage;
imageElem.className = "account-image";
//Add user name
var nameRow = createElem("td", friendRow);
nameRow.innerHTML = usersInfos["user-"+friendID].firstName + " " + usersInfos["user-"+friendID].lastName;
console.log(usersInfos["user-"+friendID]);
}
2017-05-31 15:12:51 +00:00
});
2017-05-31 14:51:52 +00:00
});
},
}