Skip to content
Snippets Groups Projects
Select Git revision
  • 9f36a451d213fffb794e41198bc312e2b9cfa80e
  • mui5-annotation-on-video-stable default
  • get_setter_canvasSizeInformations
  • fix-error-div-into-p
  • annotation-on-video-v2
  • detached
  • annotation-on-video-r17
  • mui5
  • mui5-react-18
  • jacob-test
  • annotation-on-video protected
  • master
  • test-antoinev1
  • 20-fetch-thumbnail-on-annotation
  • add-research-field
  • Save
  • add-plugin
  • 14-wip-no-seek-to
  • 14-bug-on-video-time-control
  • 9_wip_videotests
  • _upgrade_material_ui
  • latest-tetras-16
  • v3.3.0
  • v3.2.0
  • v3.1.1
  • v3.1.0
  • v3.0.0
  • v3.0.0-rc.7
  • v3.0.0-rc.6
  • v3.0.0-rc.5
  • v3.0.0-rc.4
  • v3.0.0-rc.3
  • v3.0.0-rc.2
  • v3.0.0-rc.1
  • v3.0.0-beta.10
  • v3.0.0-beta.9
  • v3.0.0-beta.8
  • v3.0.0-beta.7
  • v3.0.0-beta.6
  • v3.0.0-beta.5
  • v3.0.0-beta.3
41 results

CompanionWindow.js

Blame
  • CompanionWindow.js 1.63 KiB
    import { compose } from 'redux';
    import { connect } from 'react-redux';
    import { withTranslation } from 'react-i18next';
    import { withSize } from 'react-sizeme';
    import { withPlugins } from '../extend/withPlugins';
    import { withRef } from '../extend/withRef';
    import * as actions from '../state/actions';
    import { getCompanionWindow, getThemeDirection, getWindowConfig } from '../state/selectors';
    import { CompanionWindow } from '../components/CompanionWindow';
    
    /**
     * mapStateToProps - to hook up connect
     * @memberof CompanionWindow
     * @private
     */
    const mapStateToProps = (state, { id, windowId }) => {
      const companionWindow = getCompanionWindow(state, { companionWindowId: id });
      const {
        defaultSidebarPanelHeight, defaultSidebarPanelWidth,
      } = getWindowConfig(state, { windowId });
    
      return {
        ...companionWindow,
        defaultSidebarPanelHeight,
        defaultSidebarPanelWidth,
        direction: getThemeDirection(state),
        isDisplayed: (companionWindow
                      && companionWindow.content
                      && companionWindow.content.length > 0),
      };
    };
    
    /**
     * mapDispatchToProps - to hook up connect
     * @memberof CompanionWindow
     * @private
     */
    const mapDispatchToProps = (dispatch, { windowId, id }) => ({
      onCloseClick: () => dispatch(
        actions.removeCompanionWindow(windowId, id),
      ),
      updateCompanionWindow: (...args) => dispatch(
        actions.updateCompanionWindow(windowId, id, ...args),
      ),
    });
    
    const enhance = compose(
      withRef(),
      withTranslation(),
      withSize(),
      connect(mapStateToProps, mapDispatchToProps, null, { forwardRef: true }),
      withPlugins('CompanionWindow'),
    );
    
    export default enhance(CompanionWindow);