Skip to content
Snippets Groups Projects
Commit 4d29d0e2 authored by Chris Beer's avatar Chris Beer
Browse files

Allow MiradorViewer to accept additional configuration (like a store)

parent 092f7cdc
Branches
Tags
No related merge requests found
......@@ -3,6 +3,14 @@ import MiradorViewer from './lib/MiradorViewer';
/**
* Default Mirador instantiation
*/
export default function (config, plugins) {
return new MiradorViewer(config, plugins);
export default function (config, pluginsOrStruct) {
let struct;
if (Array.isArray(pluginsOrStruct)) {
struct = { plugins: pluginsOrStruct };
} else {
struct = pluginsOrStruct;
}
return new MiradorViewer(config, struct);
}
......@@ -15,10 +15,12 @@ import { getCompanionWindowIdsForPosition, getManifestSearchService } from '../s
class MiradorViewer {
/**
*/
constructor(config, plugins) {
this.store = createStore();
constructor(config, viewerConfig = {}) {
this.config = config;
this.plugins = viewerConfig.plugins || [];
this.store = viewerConfig.store || createStore();
this.processConfig();
const viewer = {
actions,
store: this.store,
......@@ -26,7 +28,7 @@ class MiradorViewer {
ReactDOM.render(
<Provider store={this.store}>
<PluginProvider plugins={plugins} createRootReducer={createRootReducer}>
<PluginProvider plugins={this.plugins} createRootReducer={createRootReducer}>
<App />
</PluginProvider>
</Provider>,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment