From 2ff8081acaf509a1a60338d24ff14ea92058ee59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mathias=20Maa=C3=9F?= <mathias.maass@uni-leipzig.de>
Date: Thu, 23 Jan 2020 17:15:00 +0100
Subject: [PATCH] add mirador state getter

---
 src/containers/App.js               | 12 ++++++------
 src/state/selectors/index.js        |  1 +
 src/state/selectors/miradorState.js | 13 +++++++++++++
 3 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 src/state/selectors/miradorState.js

diff --git a/src/containers/App.js b/src/containers/App.js
index 8c11f4b23..14f447e5d 100644
--- a/src/containers/App.js
+++ b/src/containers/App.js
@@ -2,23 +2,23 @@ import { compose } from 'redux';
 import { connect } from 'react-redux';
 import { withPlugins } from '../extend/withPlugins';
 import * as actions from '../state/actions';
-import { getTheme } from '../state/selectors';
+import { getTheme, getMiradorState } from '../state/selectors';
 import { App } from '../components/App';
 
-
 /**
  * mapStateToProps - to hook up connect
  * @memberof App
  * @private
  */
-const mapStateToProps = state => (
-  {
+function mapStateToProps(globalState) {
+  const state = getMiradorState(globalState);
+  return {
     isFullscreenEnabled: state.workspace.isFullscreenEnabled,
     language: state.config.language,
     theme: getTheme(state),
     translations: state.config.translations,
-  }
-);
+  };
+}
 
 /**
  * mapDispatchToProps - used to hook up connect to action creators
diff --git a/src/state/selectors/index.js b/src/state/selectors/index.js
index 8e1d1ed1d..fd059a2cc 100644
--- a/src/state/selectors/index.js
+++ b/src/state/selectors/index.js
@@ -6,3 +6,4 @@ export * from './manifests';
 export * from './windows';
 export * from './workspace';
 export * from './searches';
+export * from './miradorState';
diff --git a/src/state/selectors/miradorState.js b/src/state/selectors/miradorState.js
new file mode 100644
index 000000000..54950b7a6
--- /dev/null
+++ b/src/state/selectors/miradorState.js
@@ -0,0 +1,13 @@
+
+/** */
+let _getMiradorState = globalState => globalState; // eslint-disable-line no-underscore-dangle
+
+/** */
+export function setMiradorStateGetter(customGetter) {
+  _getMiradorState = customGetter;
+}
+
+/** */
+export function getMiradorState(globalState) {
+  return _getMiradorState(globalState);
+}
-- 
GitLab