Skip to content
Snippets Groups Projects
Unverified Commit 5bb2cb14 authored by Chris Beer's avatar Chris Beer Committed by GitHub
Browse files

Guard against empty canvas groupings. Related to #3543 (#3545)

parent 17f3fce2
Branches
No related tags found
No related merge requests found
......@@ -100,6 +100,12 @@ describe('ThumbnailNavigation', () => {
expect(wrapper.instance().areaHeight()).toEqual(150);
expect(rightWrapper.instance().areaHeight(99)).toEqual(99);
});
describe('without any canvases', () => {
it('returns the default for the calculated size', () => {
wrapper = createWrapper({ canvasGroupings: new CanvasGroupings([]).groupings() });
expect(wrapper.instance().calculateScaledSize(0)).toEqual(108);
});
});
});
describe('keyboard navigation', () => {
const setNextCanvas = jest.fn();
......
......@@ -69,7 +69,9 @@ export class ThumbnailNavigation extends Component {
*/
calculateScaledSize(index) {
const { thumbnailNavigation, canvasGroupings, position } = this.props;
const canvases = canvasGroupings[index] || [];
const canvases = canvasGroupings[index];
if (!canvases) return thumbnailNavigation.width + this.spacing;
const world = new CanvasWorld(canvases);
const bounds = world.worldBounds();
switch (position) {
......
......@@ -203,8 +203,8 @@ export default class CanvasWorld {
* lined up horizontally starting from left to right.
*/
worldBounds() {
const worldWidth = Math.max(...this.canvasDimensions.map(c => c.x + c.width));
const worldHeight = Math.max(...this.canvasDimensions.map(c => c.y + c.height));
const worldWidth = Math.max(0, ...this.canvasDimensions.map(c => c.x + c.width));
const worldHeight = Math.max(0, ...this.canvasDimensions.map(c => c.y + c.height));
return [
0,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment