ComunicWeb/assets/js/pages/conversations/main.js

90 lines
1.9 KiB
JavaScript

/**
* Conversation page main script file
*
* @author Pierre HUBERT
*/
ComunicWeb.pages.conversations.main = {
/**
* Open settings page
*
* @param {object} args Optionnal arguments
* @param {HTMLElement} target The target for the page
*/
open: function(args, target){
//Conversation page is organized like an array with two columns
//Left column : the list of conversations
//Rigth column : the message of the currently opened conversation
//Create a row
var row = createElem2({
appendTo: target,
type: "div",
class: "row conversations-page-container"
});
//Left area: The list of conversations
var leftArea = createElem2({
appendTo: row,
type: "div",
class: "col-md-3"
});
//Right area : The conversations
var rightArea = createElem2({
appendTo: row,
type: "div",
class: "col-md-9"
});
/**
* Open a conversation
*
* @param {Number} id The ID of the conversation
*/
var conversationOpener = function(id){
//Empty the target
emptyElem(rightArea);
//Open the conversation
ComunicWeb.pages.conversations.conversation.open(id, rightArea);
//Update website URI
ComunicWeb.common.page.update_uri("Conversations", "conversations/" + id);
}
//Check if a conversation has to be opened
if(args.subfolder){
//Open the conversation
conversationOpener(ComunicWeb.pages.conversations.main.getCurrentConversationID());
}
//Display the list of conversation
ComunicWeb.pages.conversations.listPane.display(leftArea, {
opener: conversationOpener,
getCurrentID: this.getCurrentConversationID
});
},
/**
* Determine the current conversation ID
*
* @return {Number} The ID of the current conversation (0 if none found)
*/
getCurrentConversationID: function(){
var id = location.toString().split("/conversations/");
id = id[id.length - 1];
//Check if no ID is specified
if(id.length < 1)
return 0;
else
return Number(id);
}
}