mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-22 20:19:21 +00:00
Dynamically resize conversation page boxes
This commit is contained in:
parent
8458c6190d
commit
8777832600
@ -8,6 +8,10 @@
|
|||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.conversations-page-container .conversations-list-box ul {
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.conversations-page-container a.selected {
|
.conversations-page-container a.selected {
|
||||||
background: #f7f7f7;
|
background: #f7f7f7;
|
||||||
}
|
}
|
@ -1156,7 +1156,15 @@ var ComunicWeb = {
|
|||||||
*/
|
*/
|
||||||
conversation: {
|
conversation: {
|
||||||
//TODO : implement
|
//TODO : implement
|
||||||
}
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Conversation page utilities
|
||||||
|
*/
|
||||||
|
utils: {
|
||||||
|
//TODO : implement
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -330,9 +330,7 @@ ComunicWeb.pages.conversations.conversation = {
|
|||||||
//Enable / update slimscroll
|
//Enable / update slimscroll
|
||||||
var target = ComunicWeb.pages.conversations.conversation._conv_info.window.messagesTarget;
|
var target = ComunicWeb.pages.conversations.conversation._conv_info.window.messagesTarget;
|
||||||
var scrollBottom = $(target).prop("scrollHeight")+"px";
|
var scrollBottom = $(target).prop("scrollHeight")+"px";
|
||||||
$(target).slimScroll({
|
ComunicWeb.pages.conversations.utils.enableSlimScroll(target, ComunicWeb.pages.conversations.utils.getAvailableHeight(), scrollBottom);
|
||||||
scrollTo: scrollBottom
|
|
||||||
});
|
|
||||||
|
|
||||||
}, 100);
|
}, 100);
|
||||||
}
|
}
|
||||||
@ -577,11 +575,12 @@ ComunicWeb.pages.conversations.conversation = {
|
|||||||
newScrollPos = oldestMessage.offsetTop - 30;
|
newScrollPos = oldestMessage.offsetTop - 30;
|
||||||
if(newScrollPos < 0)
|
if(newScrollPos < 0)
|
||||||
newScrollPos = 0;
|
newScrollPos = 0;
|
||||||
$(convInfo.window.messagesTarget).slimScroll({
|
ComunicWeb.pages.conversations.utils.enableSlimScroll(
|
||||||
scrollTo: newScrollPos + "px"
|
convInfo.window.messagesTarget,
|
||||||
|
ComunicWeb.pages.conversations.utils.getAvailableHeight(),
|
||||||
|
newScrollPos);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
},
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
@ -145,19 +145,24 @@ ComunicWeb.pages.conversations.listPane = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Enable slimscroll
|
//Enable slimscroll
|
||||||
$(conversationsContainer).slimScroll({
|
ComunicWeb.pages.conversations.utils.enableSlimScroll(
|
||||||
height: '100%'
|
conversationsContainer,
|
||||||
});
|
ComunicWeb.pages.conversations.utils.getAvailableHeight(),
|
||||||
|
0);
|
||||||
|
|
||||||
//Scroll to selected conversation, if possible
|
//Scroll to selected conversation, if possible
|
||||||
if(args.selected_conversation != null){
|
if(args.selected_conversation != null){
|
||||||
var newScrollPos = args.selected_conversation.offsetTop - 30;
|
var newScrollPos = args.selected_conversation.offsetTop - 30;
|
||||||
if(newScrollPos < 0)
|
if(newScrollPos < 0)
|
||||||
newScrollPos = 0;
|
newScrollPos = 0;
|
||||||
$(conversationsContainer).slimScroll({
|
|
||||||
scrollTo: newScrollPos + "px"
|
//Enable slimscroll again
|
||||||
});
|
ComunicWeb.pages.conversations.utils.enableSlimScroll(
|
||||||
|
conversationsContainer,
|
||||||
|
ComunicWeb.pages.conversations.utils.getAvailableHeight() + 55,
|
||||||
|
newScrollPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
33
assets/js/pages/conversations/utils.js
Normal file
33
assets/js/pages/conversations/utils.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/**
|
||||||
|
* Conversation page utilities
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
ComunicWeb.pages.conversations.utils = {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable slimscroll for the conversation element
|
||||||
|
*
|
||||||
|
* @param {HMTLElement} target The target for slimscroll
|
||||||
|
* @param {Number} height The available height for the element
|
||||||
|
* @param {Number} pos Scroll position to go to
|
||||||
|
*/
|
||||||
|
enableSlimScroll: function(target, height, pos){
|
||||||
|
|
||||||
|
$(target).slimScroll({
|
||||||
|
scrollTo: pos + "px",
|
||||||
|
height: height + "px",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the available height for the conversations
|
||||||
|
*
|
||||||
|
* @return {Number} The available height, in pixel
|
||||||
|
*/
|
||||||
|
getAvailableHeight: function(){
|
||||||
|
return Number(byId("pageTarget").style.minHeight.replace("px", "")) - 180;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -387,6 +387,7 @@ class Dev {
|
|||||||
"js/pages/conversations/main.js",
|
"js/pages/conversations/main.js",
|
||||||
"js/pages/conversations/listPane.js",
|
"js/pages/conversations/listPane.js",
|
||||||
"js/pages/conversations/conversation.js",
|
"js/pages/conversations/conversation.js",
|
||||||
|
"js/pages/conversations/utils.js",
|
||||||
|
|
||||||
//User settings page
|
//User settings page
|
||||||
"js/pages/settings/main.js",
|
"js/pages/settings/main.js",
|
||||||
|
Loading…
Reference in New Issue
Block a user