From db3c2262c1dd236575872969c459601d90bfb5b1 Mon Sep 17 00:00:00 2001 From: Antoine <antoine.roy@tetras-libre.fr> Date: Mon, 29 Jan 2024 09:16:57 +0100 Subject: [PATCH] =?UTF-8?q?cr=C3=A9ation=20d'un=20container=20au=20plugin?= =?UTF-8?q?=20avec=20redux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/containers/miradorAnnotationPlugin.js | 28 +++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/containers/miradorAnnotationPlugin.js diff --git a/src/containers/miradorAnnotationPlugin.js b/src/containers/miradorAnnotationPlugin.js new file mode 100644 index 0000000..cdd8a6f --- /dev/null +++ b/src/containers/miradorAnnotationPlugin.js @@ -0,0 +1,28 @@ +import { compose } from 'redux'; +import { connect } from 'react-redux'; +import { getWindowViewType } from 'mirador/dist/es/src/state/selectors'; +import { getVisibleCanvases } from 'mirador/dist/es/src/state/selectors/canvases'; +import MiradorAnnotation from '../plugins/miradorAnnotationPlugin'; +import { getCompanionWindowsForContent } from 'mirador/dist/es/src/state/selectors/companionWindows'; + + +function mapStateToProps(state, { targetProps: { windowId } }) { + const annotationCreationCompanionWindows = getCompanionWindowsForContent(state, { content: 'annotationCreation', windowId }); + let annotationEdit = true; + if (Object.keys(annotationCreationCompanionWindows).length !== 0) { + annotationEdit = false; + } + + return { + canvases: getVisibleCanvases(state, { windowId }), + config: state.config, + createAnnotation: annotationEdit, + windowViewType: getWindowViewType(state, { windowId }), + } +}; + +const enhance = compose( + connect(mapStateToProps), +); + +export default enhance(MiradorAnnotation); -- GitLab