From c6929cff1cf4e40880fa4b3fe1de546e983fc652 Mon Sep 17 00:00:00 2001 From: Jessie Keck <jessie.keck@gmail.com> Date: Mon, 4 Feb 2019 15:24:36 -0800 Subject: [PATCH] Allow canvasIndex to be passed in with the window config on viewer initialization. --- __tests__/integration/mirador/index.html | 1 + __tests__/integration/mirador/thumbnail-navigation.test.js | 4 +++- __tests__/src/lib/MiradorViewer.test.js | 3 +++ src/lib/MiradorViewer.js | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/__tests__/integration/mirador/index.html b/__tests__/integration/mirador/index.html index e947ffa01..46a2a53a1 100644 --- a/__tests__/integration/mirador/index.html +++ b/__tests__/integration/mirador/index.html @@ -14,6 +14,7 @@ id: 'mirador', windows: [{ loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843', + canvasIndex: 2, }, { loadedManifest: 'https://media.nga.gov/public/manifests/nga_highlights.json', diff --git a/__tests__/integration/mirador/thumbnail-navigation.test.js b/__tests__/integration/mirador/thumbnail-navigation.test.js index de83c2d2d..1baaa01d0 100644 --- a/__tests__/integration/mirador/thumbnail-navigation.test.js +++ b/__tests__/integration/mirador/thumbnail-navigation.test.js @@ -10,8 +10,10 @@ describe('Thumbnail navigation', () => { let windows = await page.evaluate(() => ( miradorInstance.store.getState().windows )); - expect(Object.values(windows)[0].canvasIndex).toBe(0); + expect(Object.values(windows)[0].canvasIndex).toBe(2); // test harness in index.html starts at 2 + await page.waitFor(1000); await expect(page).toClick('.mirador-thumbnail-nav-canvas-1'); + await expect(page).toMatchElement('.mirador-thumbnail-nav-canvas-1.mirador-current-canvas', { timeout: 1500 }); windows = await page.evaluate(() => ( miradorInstance.store.getState().windows )); diff --git a/__tests__/src/lib/MiradorViewer.test.js b/__tests__/src/lib/MiradorViewer.test.js index d33c6af42..496701c8b 100644 --- a/__tests__/src/lib/MiradorViewer.test.js +++ b/__tests__/src/lib/MiradorViewer.test.js @@ -46,6 +46,7 @@ describe('MiradorViewer', () => { id: 'mirador', windows: [{ loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843', + canvasIndex: 2, }, { loadedManifest: 'https://iiif.harvardartmuseums.org/manifests/object/299843', @@ -57,6 +58,8 @@ describe('MiradorViewer', () => { const { windows } = instance.store.getState(); const windowIds = Object.keys(windows); expect(Object.keys(windowIds).length).toBe(2); + expect(windows[windowIds[0]].canvasIndex).toBe(2); + expect(windows[windowIds[1]].canvasIndex).toBe(0); expect(windows[windowIds[0]].thumbnailNavigationPosition).toBe('bottom'); expect(windows[windowIds[1]].thumbnailNavigationPosition).toBe('off'); }); diff --git a/src/lib/MiradorViewer.js b/src/lib/MiradorViewer.js index 325b7b5cb..b68f8b64e 100644 --- a/src/lib/MiradorViewer.js +++ b/src/lib/MiradorViewer.js @@ -51,6 +51,7 @@ class MiradorViewer { } store.dispatch(actions.fetchManifest(miradorWindow.loadedManifest)); store.dispatch(actions.addWindow({ + canvasIndex: (miradorWindow.canvasIndex || 0), manifestId: miradorWindow.loadedManifest, thumbnailNavigationPosition, })); -- GitLab