Plugin details modal:

* Scroll all content, rather than the dual-pane scrolling awkwardness.
* Better align the header image and title overlay with the display on WordPress.org, at least at full-width.
* Move the close button outside of the modal itself, rather than overlay on top of colors we can't predict.

props stephdau, tellyworth, helen. fixes #27440.

Built from https://develop.svn.wordpress.org/trunk@29474


git-svn-id: http://core.svn.wordpress.org/trunk@29252 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Helen Hou-Sandí 2014-08-12 23:02:16 +00:00
parent ce14155edf
commit 093772f3c0
7 changed files with 157 additions and 123 deletions

View File

@ -2126,19 +2126,26 @@ div.action-links {
/* Plugin install thickbox */
#plugin-information {
background: #fcfcfc;
background: #fff;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
height: auto;
height: 100%;
padding: 0;
}
#plugin-information-scrollable {
display: block;
overflow: auto;
height: 100%;
padding-bottom: 58px;
}
#plugin-information-title {
margin-left: 56px; /* avoid collisions with the close icon */
padding: 0 20px;
background: #f5f5f5;
font-size: 22px;
font-weight: 600;
line-height: 56px;
@ -2167,15 +2174,13 @@ div.action-links {
}
#plugin-information-title.with-banner h2 {
display: inline-block;
font-size: 30px;
line-height: 50px;
font-weight: bold;
max-width: 760px;
position: absolute;
right: 20px;
top: 145px;
padding: 0 15px;
margin: 0;
margin: 174px 10px 0 0;
color: #fff;
background: rgba( 30, 30, 30, 0.9 );
text-shadow: 0 1px 3px rgba( 0, 0, 0, 0.4 );
@ -2191,8 +2196,9 @@ div.action-links {
#plugin-information-title.with-banner div.vignette {
display: block;
float: left;
top: 0;
height: 215px;
height: 250px;
width: 830px;
margin: 0 -20px;
background: transparent;
@ -2202,17 +2208,13 @@ div.action-links {
#plugin-information-tabs {
padding: 0 16px;
position: absolute;
top: 56px;
position: relative;
left: 0;
right: 0;
height: 36px;
z-index: 1;
}
#plugin-information-tabs.with-banner {
top: 214px;
background: rgba( 255, 255, 255, 0.85 );
border-bottom: 1px solid #ddd;
background: #f3f3f3;
}
#plugin-information-tabs a {
@ -2232,7 +2234,7 @@ div.action-links {
margin: 0 -1px 0;
background: #fff;
border: 1px solid #ddd;
border-bottom: none;
border-bottom-color: #fff;
padding-top: 8px;
color: #333;
}
@ -2248,31 +2250,26 @@ div.action-links {
}
#plugin-information-content {
overflow: hidden; /* equal height column trick */
background: #fff;
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
position: absolute;
top: 91px;
position: relative;
top: 0;
left: 0;
bottom: 58px;
right: 0;
overflow: auto;
}
#plugin-information-content.with-banner {
border-top: none;
top: 250px;
min-height: 100%;
min-height: calc( 100% - 346px );
}
#section-holder {
margin: 0;
padding: 10px 26px;
position: absolute;
position: relative;
top: 0;
left: 250px;
bottom: 0;
right: 0;
overflow: auto;
margin-left: 250px; /* FYI box */
padding: 10px 26px;
margin-bottom: -99930px; /* a bit less than the padding below to accommodate footer */
padding-bottom: 99999px; /* equal height column trick */
}
#section-holder .updated {
@ -2281,16 +2278,17 @@ div.action-links {
#plugin-information .fyi {
display: block;
background: #f3f3f3;
border-right: 1px solid #ddd;
color: #666;
padding: 16px;
position: absolute;
float: left;
position: relative;
top: 0;
left: 0;
bottom: 0;
padding: 16px;
margin-bottom: -99930px; /* slightly less than the padding below to accommodate footer */
padding-bottom: 99999px; /* equal height column trick */
width: 217px;
overflow: auto;
border-right: 1px solid #ddd;
background: #f3f3f3;
color: #666;
}
#plugin-information .fyi strong {
@ -2375,6 +2373,8 @@ div.action-links {
bottom: 0;
right: 0;
height: 28px;
border-top: 1px solid #ddd;
background: #f3f3f3;
}
#plugin-information .section ul,
@ -2389,6 +2389,10 @@ div.action-links {
line-height: 1.7;
}
#plugin-information .section h4:first-of-type {
margin-top: 1em;
}
#plugin-information #section-screenshots ol {
list-style: none;
margin: 0;
@ -2419,47 +2423,50 @@ div.action-links {
font-size: 13px;
}
@media screen and ( max-width: 771px ), screen and ( max-height: 500px ) {
@media screen and ( max-height: 500px ) {
#plugin-information-title.with-banner {
height: 100px;
bottom: 100px;
}
#plugin-information-title.with-banner h2 {
top: 12px;
margin-top: 30px;
font-size: 20px;
line-height: 40px;
}
#plugin-information-title.with-banner div.vignette {
height: 65px;
bottom: 65px;
height: 100px;
bottom: 100px;
width: 800%;
}
#plugin-information-tabs.with-banner {
top: 63px;
}
#plugin-information-content.with-banner {
top: 99px;
}
}
@media screen and ( max-width: 771px ) {
#plugin-information-tabs {
overflow: hidden; /* clearfix */
padding: 0;
height: auto; /* let tabs wrap */
}
#plugin-information-tabs a.current {
margin-bottom: 0;
border-bottom: none;
}
#plugin-information .fyi {
float: none;
border: 1px solid #ddd;
position: static;
width: auto;
margin: 26px 26px 16px;
margin: 26px 26px 0;
padding-bottom: 0; /* reset from the two column height fix */
}
#section-holder {
position: static;
margin: 0;
padding-bottom: 70px; /* reset from the two column height fix, plus accomodate footer */
}
#plugin-information .fyi h3,
@ -2520,11 +2527,8 @@ body.import-php .tb-close-icon,
body.plugins-php .tb-close-icon,
body.update-core-php .tb-close-icon,
body.index-php .tb-close-icon {
background: rgba( 255, 255, 255, .5);
color: #444;
line-height: 48px;
width: 48px;
height: 48px;
left: -30px;
color: #eee;
-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
transition: color .1s ease-in-out, background .1s ease-in-out;
}
@ -2539,8 +2543,7 @@ body.update-core-php .tb-close-icon:focus,
body.update-core-php .tb-close-icon:hover,
body.index-php .tb-close-icon:focus,
body.index-php .tb-close-icon:hover {
background: #0074a2;
color: #fff;
color: #2ea2cc;
outline: none;
-webkit-box-shadow: none;
box-shadow: none;
@ -2551,7 +2554,20 @@ body.import-php .tb-close-icon:before,
body.plugins-php .tb-close-icon:before,
body.update-core-php .tb-close-icon:before,
body.index-php .tb-close-icon:before {
line-height: 48px;
content: "\f335";
font-size: 32px;
}
/* move plugin install close icon to top on narrow screens */
@media screen and ( max-width: 830px ) {
body.plugin-install-php .tb-close-icon,
body.import-php .tb-close-icon,
body.plugins-php .tb-close-icon,
body.update-core-php .tb-close-icon,
body.index-php .tb-close-icon {
left: 0;
top: -30px;
}
}
/* @todo: move this. */

View File

@ -2126,19 +2126,26 @@ div.action-links {
/* Plugin install thickbox */
#plugin-information {
background: #fcfcfc;
background: #fff;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
height: auto;
height: 100%;
padding: 0;
}
#plugin-information-scrollable {
display: block;
overflow: auto;
height: 100%;
padding-bottom: 58px;
}
#plugin-information-title {
margin-right: 56px; /* avoid collisions with the close icon */
padding: 0 20px;
background: #f5f5f5;
font-size: 22px;
font-weight: 600;
line-height: 56px;
@ -2167,15 +2174,13 @@ div.action-links {
}
#plugin-information-title.with-banner h2 {
display: inline-block;
font-size: 30px;
line-height: 50px;
font-weight: bold;
max-width: 760px;
position: absolute;
left: 20px;
top: 145px;
padding: 0 15px;
margin: 0;
margin: 174px 0 0 10px;
color: #fff;
background: rgba( 30, 30, 30, 0.9 );
text-shadow: 0 1px 3px rgba( 0, 0, 0, 0.4 );
@ -2191,8 +2196,9 @@ div.action-links {
#plugin-information-title.with-banner div.vignette {
display: block;
float: right;
top: 0;
height: 215px;
height: 250px;
width: 830px;
margin: 0 -20px;
background: transparent;
@ -2202,17 +2208,13 @@ div.action-links {
#plugin-information-tabs {
padding: 0 16px;
position: absolute;
top: 56px;
position: relative;
right: 0;
left: 0;
height: 36px;
z-index: 1;
}
#plugin-information-tabs.with-banner {
top: 214px;
background: rgba( 255, 255, 255, 0.85 );
border-bottom: 1px solid #ddd;
background: #f3f3f3;
}
#plugin-information-tabs a {
@ -2232,7 +2234,7 @@ div.action-links {
margin: 0 -1px 0;
background: #fff;
border: 1px solid #ddd;
border-bottom: none;
border-bottom-color: #fff;
padding-top: 8px;
color: #333;
}
@ -2248,31 +2250,26 @@ div.action-links {
}
#plugin-information-content {
overflow: hidden; /* equal height column trick */
background: #fff;
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
position: absolute;
top: 91px;
position: relative;
top: 0;
right: 0;
bottom: 58px;
left: 0;
overflow: auto;
}
#plugin-information-content.with-banner {
border-top: none;
top: 250px;
min-height: 100%;
min-height: calc( 100% - 346px );
}
#section-holder {
margin: 0;
padding: 10px 26px;
position: absolute;
position: relative;
top: 0;
right: 250px;
bottom: 0;
left: 0;
overflow: auto;
margin-right: 250px; /* FYI box */
padding: 10px 26px;
margin-bottom: -99930px; /* a bit less than the padding below to accommodate footer */
padding-bottom: 99999px; /* equal height column trick */
}
#section-holder .updated {
@ -2281,16 +2278,17 @@ div.action-links {
#plugin-information .fyi {
display: block;
background: #f3f3f3;
border-left: 1px solid #ddd;
color: #666;
padding: 16px;
position: absolute;
float: right;
position: relative;
top: 0;
right: 0;
bottom: 0;
padding: 16px;
margin-bottom: -99930px; /* slightly less than the padding below to accommodate footer */
padding-bottom: 99999px; /* equal height column trick */
width: 217px;
overflow: auto;
border-left: 1px solid #ddd;
background: #f3f3f3;
color: #666;
}
#plugin-information .fyi strong {
@ -2375,6 +2373,8 @@ div.action-links {
bottom: 0;
left: 0;
height: 28px;
border-top: 1px solid #ddd;
background: #f3f3f3;
}
#plugin-information .section ul,
@ -2389,6 +2389,10 @@ div.action-links {
line-height: 1.7;
}
#plugin-information .section h4:first-of-type {
margin-top: 1em;
}
#plugin-information #section-screenshots ol {
list-style: none;
margin: 0;
@ -2419,47 +2423,50 @@ div.action-links {
font-size: 13px;
}
@media screen and ( max-width: 771px ), screen and ( max-height: 500px ) {
@media screen and ( max-height: 500px ) {
#plugin-information-title.with-banner {
height: 100px;
bottom: 100px;
}
#plugin-information-title.with-banner h2 {
top: 12px;
margin-top: 30px;
font-size: 20px;
line-height: 40px;
}
#plugin-information-title.with-banner div.vignette {
height: 65px;
bottom: 65px;
height: 100px;
bottom: 100px;
width: 800%;
}
#plugin-information-tabs.with-banner {
top: 63px;
}
#plugin-information-content.with-banner {
top: 99px;
}
}
@media screen and ( max-width: 771px ) {
#plugin-information-tabs {
overflow: hidden; /* clearfix */
padding: 0;
height: auto; /* let tabs wrap */
}
#plugin-information-tabs a.current {
margin-bottom: 0;
border-bottom: none;
}
#plugin-information .fyi {
float: none;
border: 1px solid #ddd;
position: static;
width: auto;
margin: 26px 26px 16px;
margin: 26px 26px 0;
padding-bottom: 0; /* reset from the two column height fix */
}
#section-holder {
position: static;
margin: 0;
padding-bottom: 70px; /* reset from the two column height fix, plus accomodate footer */
}
#plugin-information .fyi h3,
@ -2520,11 +2527,8 @@ body.import-php .tb-close-icon,
body.plugins-php .tb-close-icon,
body.update-core-php .tb-close-icon,
body.index-php .tb-close-icon {
background: rgba( 255, 255, 255, .5);
color: #444;
line-height: 48px;
width: 48px;
height: 48px;
right: -30px;
color: #eee;
-webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
transition: color .1s ease-in-out, background .1s ease-in-out;
}
@ -2539,8 +2543,7 @@ body.update-core-php .tb-close-icon:focus,
body.update-core-php .tb-close-icon:hover,
body.index-php .tb-close-icon:focus,
body.index-php .tb-close-icon:hover {
background: #0074a2;
color: #fff;
color: #2ea2cc;
outline: none;
-webkit-box-shadow: none;
box-shadow: none;
@ -2551,7 +2554,20 @@ body.import-php .tb-close-icon:before,
body.plugins-php .tb-close-icon:before,
body.update-core-php .tb-close-icon:before,
body.index-php .tb-close-icon:before {
line-height: 48px;
content: "\f335";
font-size: 32px;
}
/* move plugin install close icon to top on narrow screens */
@media screen and ( max-width: 830px ) {
body.plugin-install-php .tb-close-icon,
body.import-php .tb-close-icon,
body.plugins-php .tb-close-icon,
body.update-core-php .tb-close-icon,
body.index-php .tb-close-icon {
right: 0;
top: -30px;
}
}
/* @todo: move this. */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -372,7 +372,7 @@ function install_plugin_information() {
}
iframe_header( __( 'Plugin Install' ) );
$_with_banner = '';
if ( ! empty( $api->banners ) && ( ! empty( $api->banners['low'] ) || ! empty( $api->banners['high'] ) ) ) {
@ -393,6 +393,7 @@ function install_plugin_information() {
<?php
}
echo '<div id="plugin-information-scrollable">';
echo "<div id='{$_tab}-title' class='{$_with_banner}'><div class='vignette'></div><h2>{$api->name}</h2></div>";
echo "<div id='{$_tab}-tabs' class='{$_with_banner}'>\n";
@ -513,6 +514,7 @@ function install_plugin_information() {
}
echo "</div>\n";
echo "</div>\n";
echo "</div>\n"; // #plugin-information-scrollable
echo "<div id='$tab-footer'>\n";
if ( ! empty( $api->download_link ) && ( current_user_can( 'install_plugins' ) || current_user_can( 'update_plugins' ) ) ) {
$status = install_plugin_install_status( $api );

View File

@ -17,7 +17,7 @@ jQuery( document ).ready( function( $ ) {
});
if ( typeof document.body.style.maxWidth !== 'undefined' ) {
tbWindow.css({
'top': ( ( 792 < width ) ? 30 : 10 ) + 'px',
'top': '30px',
'margin-top': '0'
});
}

View File

@ -1 +1 @@
var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height()-(c>792?60:20),e=c>792?772:c-20;return b.size()&&(b.width(e).height(d),a("#TB_iframeContent").width(e).height(d),b.css({"margin-left":"-"+parseInt(e/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:(c>792?30:10)+"px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+e+"&height="+d))})},a(window).resize(function(){tb_position()}),a(".plugin-card").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#222",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+a(this).data("title")),!1}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),"description"!==c&&a(window).width()<772?a("#plugin-information-content").find(".fyi").hide():a("#plugin-information-content").find(".fyi").show(),a("#section-holder div.section").hide(),a("#section-"+c).show()}),a("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});
var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height()-(c>792?60:20),e=c>792?772:c-20;return b.size()&&(b.width(e).height(d),a("#TB_iframeContent").width(e).height(d),b.css({"margin-left":"-"+parseInt(e/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:"30px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+e+"&height="+d))})},a(window).resize(function(){tb_position()}),a(".plugin-card").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#222",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+a(this).data("title")),!1}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),"description"!==c&&a(window).width()<772?a("#plugin-information-content").find(".fyi").hide():a("#plugin-information-content").find(".fyi").show(),a("#section-holder div.section").hide(),a("#section-"+c).show()}),a("a.install-now").click(function(){return confirm(plugininstallL10n.ays)})});