Skip to content
Snippets Groups Projects
Unverified Commit 7483bd1e authored by Jack Reed's avatar Jack Reed Committed by GitHub
Browse files

Merge pull request #3010 from ProjectMirador/disable-default-panel

Only create a sidebar panel if a default panel type is configured
parents 0789034f 40d34bb6
Branches
Tags
No related merge requests found
......@@ -150,7 +150,9 @@ describe('window actions', () => {
companionWindows: {},
config: {
thumbnailNavigation: {},
window: {},
window: {
defaultSideBarPanel: 'info',
},
},
windows: {},
};
......@@ -167,6 +169,35 @@ describe('window actions', () => {
expect(action.window.companionWindowIds[2]).toEqual(action.companionWindows[2].id);
expect(action.companionWindows[2]).toMatchObject({ content: 'attribution', position: 'right' });
});
it('creates a new window without a default sidebar', () => {
const options = {
canvasIndex: 1,
companionWindows: [],
id: 'helloworld',
};
const mockState = {
companionWindows: {},
config: {
thumbnailNavigation: {},
window: {
defaultSideBarPanel: null,
},
},
windows: {},
};
const mockDispatch = jest.fn(() => ({}));
const mockGetState = jest.fn(() => mockState);
const thunk = actions.addWindow(options);
thunk(mockDispatch, mockGetState);
const action = mockDispatch.mock.calls[0][0];
expect(action.window.companionWindowIds.length).toEqual(1);
expect(action.companionWindows[0]).toMatchObject({ content: 'thumbnailNavigation' });
});
});
describe('updateWindow', () => {
......
......@@ -42,14 +42,37 @@ export function addWindow({ companionWindows, ...options }) {
const { config, windows } = getState();
const numWindows = Object.keys(windows).length;
const cwDefault = `cw-${uuid()}`;
const cwThumbs = `cw-${uuid()}`;
const additionalCompanionWindowIds = (companionWindows || []).map(e => `cw-${uuid()}`);
const defaultCompanionWindows = [
{
content: 'thumbnailNavigation',
default: true,
id: cwThumbs,
position: options.thumbnailNavigationPosition
|| config.thumbnailNavigation.defaultPosition,
},
...(
(companionWindows || []).map((cw, i) => ({ ...cw, id: `cw-${uuid()}` }))
),
];
if (config.window.defaultSideBarPanel) {
defaultCompanionWindows.unshift(
{
content: config.window.defaultSideBarPanel,
default: true,
id: `cw-${uuid()}`,
position: 'left',
},
);
}
const defaultOptions = {
canvasId: undefined,
collectionIndex: 0,
companionAreaOpen: true,
companionWindowIds: [cwDefault, cwThumbs, ...additionalCompanionWindowIds],
companionWindowIds: defaultCompanionWindows.map(cw => cw.id),
displayAllAnnotations: config.displayAllAnnotations || false,
draggingEnabled: true,
id: `window-${uuid()}`,
......@@ -59,7 +82,7 @@ export function addWindow({ companionWindows, ...options }) {
rangeId: null,
rotation: null,
selectedAnnotations: {},
sideBarOpen: config.window.sideBarOpenByDefault,
sideBarOpen: config.window.defaultSideBarPanel && config.window.sideBarOpenByDefault,
sideBarPanel: config.window.defaultSideBarPanel,
thumbnailNavigationId: cwThumbs,
};
......@@ -72,24 +95,7 @@ export function addWindow({ companionWindows, ...options }) {
};
dispatch({
companionWindows: [
{
content: config.window.defaultSideBarPanel,
default: true,
id: cwDefault,
position: 'left',
},
{
content: 'thumbnailNavigation',
default: true,
id: cwThumbs,
position: options.thumbnailNavigationPosition
|| config.thumbnailNavigation.defaultPosition,
},
...(
(companionWindows || []).map((cw, i) => ({ ...cw, id: additionalCompanionWindowIds[i] }))
),
],
companionWindows: defaultCompanionWindows,
elasticLayout,
type: ActionTypes.ADD_WINDOW,
window: { ...defaultOptions, ...options },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment