diff --git a/assets/css/components/discussions/manager.css b/assets/css/components/discussions/manager.css index d1b3f3f2..4b397075 100644 --- a/assets/css/components/discussions/manager.css +++ b/assets/css/components/discussions/manager.css @@ -7,10 +7,10 @@ #discussionsElem { position: fixed; bottom: 0px; - width: 100%; text-align: right; padding-right: 5px; z-index: 1000; + right: 0px; } #discussionsElem .open-conversation-button { @@ -18,4 +18,5 @@ border-top-right-radius: 2px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; + vertical-align: bottom; } \ No newline at end of file diff --git a/assets/css/components/discussions/windows.css b/assets/css/components/discussions/windows.css new file mode 100644 index 00000000..b8c117a3 --- /dev/null +++ b/assets/css/components/discussions/windows.css @@ -0,0 +1,15 @@ +/** + * Conversation window + * + * @author Pierre HUBERT + */ + +#discussionsElem .box { + width: 250px; + height: 350px; + max-width: 100%; + display: inline-block; + margin-left: 5px; + text-align: justify; + margin-bottom: 0px; +} \ No newline at end of file diff --git a/assets/js/common/functionsSchema.js b/assets/js/common/functionsSchema.js index b058b157..04e548d8 100644 --- a/assets/js/common/functionsSchema.js +++ b/assets/js/common/functionsSchema.js @@ -482,6 +482,20 @@ var ComunicWeb = { manager:{ //TODO : implement }, + + /** + * Discussions list windo + */ + list:{ + //TODO : implement + }, + + /** + * Discussiosn windows manager + */ + windows:{ + + }, }, }, diff --git a/assets/js/components/discussions/list.js b/assets/js/components/discussions/list.js new file mode 100644 index 00000000..791aaa6f --- /dev/null +++ b/assets/js/components/discussions/list.js @@ -0,0 +1,31 @@ +/** + * Discussions list window + * + * @author Pierre HUBERT + */ + +ComunicWeb.components.discussions.list = { + /** + * Display discussions list window + * + * @param {HTMLElement} nodeBefore The node before the destination + * @return {Boolean} True for a success + */ + display: function(nodeBefore){ + + //Log action + ComunicWeb.debug.logMessage("INFO : initialize conversation list box."); + + //Create a window + var listBox = ComunicWeb.components.discussions.windows.create(nodeBefore); + + //Change box title + listBox.boxTitle.innerHTML = "Discussions"; + + //Remove footer + listBox.boxFooter.remove(); + + //Success + return true; + }, +} \ No newline at end of file diff --git a/assets/js/components/discussions/manager.js b/assets/js/components/discussions/manager.js index 5c6a5db2..e0188d31 100644 --- a/assets/js/components/discussions/manager.js +++ b/assets/js/components/discussions/manager.js @@ -76,7 +76,7 @@ ComunicWeb.components.discussions.manager = { //Temporary behavior addButton.onclick = function(){ - alert("Open a conversation !"); + ComunicWeb.components.discussions.list.display(this); } } } \ No newline at end of file diff --git a/assets/js/components/discussions/windows.js b/assets/js/components/discussions/windows.js new file mode 100644 index 00000000..7a0c11fa --- /dev/null +++ b/assets/js/components/discussions/windows.js @@ -0,0 +1,69 @@ +/** + * Discussions windows manager + * + * @author Pierre HUBERT + */ + +ComunicWeb.components.discussions.windows = { + + /** + * Create a new conversation window + * + * @param {HTMLElement} nodeBefore The node before the destination window + * @return {Object} Differents elements of the window + */ + create: function(nodeBefore){ + //Create listbox element + var discussionBox = createElem("div", nodeBefore.parentNode); + discussionBox.className = "box box-primary"; + + //Create close box function + var closeBox = function(){ + discussionBox.remove(); + } + + //Create box header + var boxHeader = createElem("div", discussionBox); + boxHeader.className = "box-header with-border"; + + //Add box title + var boxTitle = createElem("h3", boxHeader); + boxTitle.className = "box-title"; + + + //Box tools + var boxTools = createElem("div", boxHeader); + boxTools.className = "box-tools pull-right"; + + //Close button + var closeButton = createElem("button", boxTools); + closeButton.className = "btn btn-box-tool"; + closeButton.onclick = closeBox; + + //Close icon + var closeIcon = createElem("i", closeButton); + closeIcon.className = "fa fa-times"; + + //Box body + var boxBody = createElem("div", discussionBox); + boxBody.className = "box-body"; + + //Box footer + var boxFooter = createElem("div", discussionBox); + boxFooter.className = "box-footer"; + + //Prepare return + var boxElements ={ + rootElem: discussionBox, + closeFunction: closeBox, + boxTitle: boxTitle, + boxTools: boxTools, + boxBody: boxBody, + boxFooter: boxFooter, + }; + + //Return elements + return boxElements; + } + +} \ No newline at end of file diff --git a/corePage/config/dev.config.php b/corePage/config/dev.config.php index 66a02bd2..362e395a 100644 --- a/corePage/config/dev.config.php +++ b/corePage/config/dev.config.php @@ -27,6 +27,7 @@ $config['CSSfiles'] = array( "%PATH_ASSETS%css/components/searchForm.css", "%PATH_ASSETS%css/components/friends/friendsBar.css", "%PATH_ASSETS%css/components/discussions/manager.css", + "%PATH_ASSETS%css/components/discussions/windows.css", ); //JS files to include (at the end of the page) @@ -74,6 +75,8 @@ $config['JSfiles'] = array( "%PATH_ASSETS%js/components/friends/friendsList.js", "%PATH_ASSETS%js/components/friends/friendsBar.js", "%PATH_ASSETS%js/components/discussions/manager.js", + "%PATH_ASSETS%js/components/discussions/list.js", + "%PATH_ASSETS%js/components/discussions/windows.js", //User scripts "%PATH_ASSETS%js/user/loginTokens.js",