UNPKG

mirador

Version:

An open-source, web-based 'multi-up' viewer that supports zoom-pan-rotate functionality, ability to display/compare simple images, and images with annotations.

56 lines (52 loc) 1.75 kB
import { compose } from 'redux'; import { connect } from 'react-redux'; import { withStyles } from '@material-ui/core/styles'; import { withPlugins } from '../extend/withPlugins'; import * as actions from '../state/actions'; import WorkspaceElastic from '../components/WorkspaceElastic'; import { getElasticLayout, getWorkspace } from '../state/selectors'; /** * mapStateToProps - to hook up connect * @memberof Workspace * @private */ var mapStateToProps = function mapStateToProps(state) { return { elasticLayout: getElasticLayout(state), workspace: getWorkspace(state) }; }; /** * mapDispatchToProps - used to hook up connect to action creators * @memberof Workspace * @private */ var mapDispatchToProps = function mapDispatchToProps(dispatch, props) { return { setWorkspaceViewportDimensions: function setWorkspaceViewportDimensions(position) { dispatch(actions.setWorkspaceViewportDimensions(position)); }, setWorkspaceViewportPosition: function setWorkspaceViewportPosition(position) { dispatch(actions.setWorkspaceViewportPosition(position)); }, updateElasticWindowLayout: function updateElasticWindowLayout(windowId, position) { dispatch(actions.updateElasticWindowLayout(windowId, position)); } }; }; var styles = { workspace: { boxSizing: 'border-box', margin: 0, position: 'absolute', transitionDuration: '.7s', // order matters // eslint-disable-next-line sort-keys '& .react-draggable-dragging': { transitionDuration: 'unset' } } }; var enhance = compose(withStyles(styles), connect(mapStateToProps, mapDispatchToProps), withPlugins('WorkspaceElastic') // further HOC go here ); export default enhance(WorkspaceElastic);