Skip to content

Commit 4f28a6e

Browse files
authored
fix(ui5-media-gallery): correct overflow label (#4903)
1 parent b947d1b commit 4f28a6e

File tree

4 files changed

+38
-1
lines changed

4 files changed

+38
-1
lines changed

packages/fiori/src/MediaGallery.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,10 @@ class MediaGallery extends UI5Element {
396396
_getOverflowSize(columnHeight, columnsCount) {
397397
const maxAlowedThumbnailsInColumn = this._getMaxAllowedThumbnailsInColumn(columnHeight),
398398
overflowSize = Math.max(0, this.items.length - maxAlowedThumbnailsInColumn * columnsCount);
399-
return (overflowSize > 0) ? overflowSize + 1 : 0; // make room for overflow btn as well
399+
if (overflowSize === this.items.length || overflowSize === 0) {
400+
return overflowSize;
401+
}
402+
return overflowSize + 1; // overflow 1 extra item to make room for overflow btn as well
400403
}
401404

402405
_getFocusableItems() {

packages/fiori/test/pages/MediaGallery.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,20 @@
200200
</ui5-media-gallery>
201201
</div>
202202

203+
<div class="controls">
204+
<ui5-title level="H2">Narrow container</ui5-title>
205+
</div>
206+
<div class="narrowContainer">
207+
<ui5-media-gallery id="galleryInNarrowContainer">
208+
<ui5-media-gallery-item>
209+
<img src="./img/HT-1000.jpg">
210+
</ui5-media-gallery-item>
211+
<ui5-media-gallery-item>
212+
<img src="./img/HT-1010.jpg">
213+
</ui5-media-gallery-item>
214+
</ui5-media-gallery>
215+
</div>
216+
203217
<script>
204218

205219
let selectionChangeCallCount = 0,

packages/fiori/test/pages/styles/MediaGallery.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,8 @@ body {
3939

4040
ui5-media-gallery-item:not(:defined) {
4141
visibility: hidden;
42+
}
43+
44+
.narrowContainer {
45+
width: 80px;
4246
}

packages/fiori/test/specs/MediaGallery.spec.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,4 +389,20 @@ describe("MediaGallery layout", () => {
389389
assert.strictEqual(await display.getProperty("offsetWidth"), expectedDisplayWidth, "correct display width");
390390
assert.strictEqual(await display.getProperty("offsetHeight"), expectedDisplayHeight, "correct display height");
391391
});
392+
393+
it("narrow container", async () => {
394+
395+
const newWidth = 80, // width allows only the overflow button to be displayed; all items will overflow
396+
gallery = await browser.$("#galleryInNarrowContainer"),
397+
itemsCount = await browser.$$("#galleryInNarrowContainer ui5-media-gallery-item").length;
398+
399+
// Setup
400+
await browser.executeAsync(async (newWidth, done) => {
401+
document.getElementById("galleryInNarrowContainer").style.width = `${newWidth}px`;
402+
done();
403+
}, newWidth);
404+
405+
// Check
406+
assert.strictEqual(await gallery.getProperty("_overflowSize"), itemsCount, "correct overflow size");
407+
});
392408
});

0 commit comments

Comments
 (0)