jenkins-bot has submitted this change and it was merged.
Change subject: Make last row of new gallery not be huge.
......................................................................
Make last row of new gallery not be huge.
If we cannot make the last row fit the page width,
make the image zoom factor be the average zoom
factor (sans any shrinking) so that the last
row doesn't have images that are super huge.
Change-Id: I0caf8d1800808f14c9f53073f3b901eedec32bb7
---
M resources/mediawiki.page/mediawiki.page.gallery.js
1 file changed, 24 insertions(+), 2 deletions(-)
Approvals:
MarkTraceur: Looks good to me, approved
jenkins-bot: Verified
diff --git a/resources/mediawiki.page/mediawiki.page.gallery.js
b/resources/mediawiki.page/mediawiki.page.gallery.js
index fd2af40..ddf63a8 100644
--- a/resources/mediawiki.page/mediawiki.page.gallery.js
+++ b/resources/mediawiki.page/mediawiki.page.gallery.js
@@ -94,7 +94,9 @@
$caption,
hookInfo,
i,
- j;
+ j,
+ avgZoom,
+ totalZoom = 0;
for ( i = 0; i < rows.length; i++ ) {
maxWidth = $gallery.width();
@@ -135,7 +137,19 @@
// code, would prevent
accidentally expanding to
// be 10 billion pixels wide.
mw.log( 'mw.page.gallery:
Cannot fit row, aspect is ' + preferredHeight/curRowHeight );
- preferredHeight = 1.5 *
curRowHeight;
+ if ( i === rows.length - 1 ) {
+ // If its the last row,
and we can't fit it,
+ // don't make the
entire row huge.
+ avgZoom = ( totalZoom /
( rows.length - 1 ) ) * curRowHeight;
+ if ( isFinite( avgZoom
) && avgZoom >= 1 && avgZoom <= 1.5 ) {
+ preferredHeight
= avgZoom;
+ } else {
+ // Probably a
single row gallery
+ preferredHeight
= curRowHeight;
+ }
+ } else {
+ preferredHeight = 1.5 *
curRowHeight;
+ }
}
if ( !isFinite( preferredHeight ) ) {
// This *definitely* should not
happen.
@@ -150,6 +164,14 @@
// Skip this row.
continue;
}
+
+ if ( preferredHeight / curRowHeight > 1
) {
+ totalZoom += preferredHeight /
curRowHeight;
+ } else {
+ // If we shrink, still consider
that a zoom of 1
+ totalZoom += 1;
+ }
+
for ( j = 0; j < curRow.length; j++ ) {
newWidth = preferredHeight *
curRow[j].aspect;
padding = curRow[j].width -
curRow[j].imgWidth;
--
To view, visit https://gerrit.wikimedia.org/r/80232
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I0caf8d1800808f14c9f53073f3b901eedec32bb7
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Brian Wolff <[email protected]>
Gerrit-Reviewer: Jack Phoenix <[email protected]>
Gerrit-Reviewer: MarkTraceur <[email protected]>
Gerrit-Reviewer: Matmarex <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits