From 7339ef71e5889cc6e77e4f0fb4dc908de53199cf Mon Sep 17 00:00:00 2001 From: Simon Grim Date: Thu, 22 Oct 2015 02:05:18 +0500 Subject: [PATCH] #fix of group profile modal to show scroll-bar if member list doesn't fit on window --- css/profile.css | 4 ++++ js/interface_common.js | 25 ++++++++++++++++++------- theme_calm/css/profile.css | 4 ++++ theme_nin/css/style.css | 4 ++++ theme_nin/sass/_profile.sass | 3 +++ 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/css/profile.css b/css/profile.css index 6ef058d..74c1bff 100644 --- a/css/profile.css +++ b/css/profile.css @@ -281,6 +281,10 @@ } */ +.profile-modal .members { + overflow-y: auto; +} + h1.profile-name { display: inline; } diff --git a/js/interface_common.js b/js/interface_common.js index 70f7482..15b57db 100644 --- a/js/interface_common.js +++ b/js/interface_common.js @@ -171,11 +171,13 @@ function openGroupProfileModalWithNameHandler(groupAlias) { getFullname(ret.members[i], item.find('.twister-user-full')); getBio(ret.members[i], item.find('.bio')); } + + elemFitNextIntoParentHeight(req.modal.content.find('.profile-card')); } }, {modal: modal} ); - + elemFitNextIntoParentHeight(modal.content.find('.profile-card')); } function openUserProfileModalWithNameHandler(username) { @@ -201,13 +203,11 @@ function openUserProfileModalWithNameHandler(username) { button.on('click', userClickFollow); } + elemFitNextIntoParentHeight(modal.content.find('.profile-card')); + var postboard = modal.content.find('.postboard'); - var postboardHeight = modal.content.outerHeight() - modal.content.find('.profile-card').outerHeight(); - if (postboardHeight > 0) { // FIXME actually it's here to exclude nin theme - postboard.outerHeight(postboardHeight) - .find('ol').outerHeight(postboard.outerHeight() - postboard.find('h2').outerHeight() - 20); // FIXME 20px for margin, need to fix CSS for it - } else - postboard.outerHeight(modal.content.outerHeight()); + postboard.find('ol').outerHeight(postboard.actual('height') + - postboard.find('h2').actual('outerHeight', {includeMargin: true})); } function openHashtagModalFromSearchHandler(hashtag) { @@ -1590,6 +1590,17 @@ function killInterfaceModule(module) { $('.module.'+module).empty().hide(); } +function elemFitNextIntoParentHeight(elem) { + var parent = elem.parent(); + var elemNext = elem.nextAll(); + var elemNextHeight = parent.actual('height') - elem.actual('outerHeight', {includeMargin: true}); + + if (elemNextHeight > 0) // FIXME actually it's here because of nin theme's two vertical columns layout of profile modal + elemNext.outerHeight(elemNextHeight); + else + elemNext.outerHeight(parent.actual('outerHeight')); +} + function inputEnterActivator(event) { var elemEvent = $(event.target); elemEvent.parents(event.data.parentSelector).find(event.data.enterSelector) diff --git a/theme_calm/css/profile.css b/theme_calm/css/profile.css index 81e0e0b..8bd3930 100644 --- a/theme_calm/css/profile.css +++ b/theme_calm/css/profile.css @@ -356,6 +356,10 @@ } */ +.profile-modal .members { + overflow-y: auto; +} + h1.profile-name { display: inline; } diff --git a/theme_nin/css/style.css b/theme_nin/css/style.css index 58e10f3..301a0b3 100644 --- a/theme_nin/css/style.css +++ b/theme_nin/css/style.css @@ -461,6 +461,10 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, padding: 0; } +.profile-modal .modal-content .members { + overflow-y: auto; +} + /* line 76, ../sass/_profile.sass */ .profile-modal h2.profile-screen-name { display: block; diff --git a/theme_nin/sass/_profile.sass b/theme_nin/sass/_profile.sass index 411c428..ebcb1e1 100755 --- a/theme_nin/sass/_profile.sass +++ b/theme_nin/sass/_profile.sass @@ -67,6 +67,9 @@ $modal-postboard-post-height: 100% margin: 0 padding: 0 + .members + overflow-y: auto + .profile-modal h2.profile-screen-name display: block