diff --git a/src/containers/miradorAnnotationPlugin.js b/src/containers/miradorAnnotationPlugin.js new file mode 100644 index 0000000000000000000000000000000000000000..cdd8a6fd7b8cb0eb468d8a167a0a78f9175e75db --- /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);