client/src/components/SessionForm.js
changeset 168 ea92f4fe783d
parent 164 30a5baa31314
child 169 f98efa1bddd1
equal deleted inserted replaced
167:1f340f3597a8 168:ea92f4fe783d
    28   }, 750)
    28   }, 750)
    29 
    29 
    30   onGroupChange = (e) => {
    30   onGroupChange = (e) => {
    31     const groupName = e.target.value;
    31     const groupName = e.target.value;
    32 
    32 
    33     const group = this.props.groups.find((g) => g.get('name') === groupName);
    33     const group = this.props.groups.find((g) => g.name === groupName);
    34 
    34 
    35     this.props.sessionsActions.updateSession(this.props.currentSession, { group: groupName, protocol: group?group.get('protocol'):'' });
    35     this.props.sessionsActions.updateSession(this.props.currentSession, { group: groupName, protocol: group?group.protocol:'' });
    36   }
    36   }
    37 
    37 
    38   componentDidMount() {
    38   componentDidMount() {
    39     document.addEventListener('mousedown', this.handleClickOutside);
    39     document.addEventListener('mousedown', this.handleClickOutside);
    40   }
    40   }
    42   componentWillUnmount() {
    42   componentWillUnmount() {
    43     document.removeEventListener('mousedown', this.handleClickOutside);
    43     document.removeEventListener('mousedown', this.handleClickOutside);
    44   }
    44   }
    45 
    45 
    46   componentWillUpdate = (nextProps, nextState) => {
    46   componentWillUpdate = (nextProps, nextState) => {
    47     if (nextState.createGroup && nextProps.createGroup.get('success')) {
    47     if (nextState.createGroup && nextProps.createGroup.success) {
    48       this.setState({ createGroup: false })
    48       this.setState({ createGroup: false })
    49     }
    49     }
    50   }
    50   }
    51 
    51 
    52   toggleProtocol = (e) => {
    52   toggleProtocol = (e) => {
   204 }
   204 }
   205 
   205 
   206 function mapStateToProps(state, props) {
   206 function mapStateToProps(state, props) {
   207 
   207 
   208   let group;
   208   let group;
   209   if (props.session && props.session.get('group')) {
   209   if (props.session && props.session.group) {
   210     group = state.get('groups').find(group => props.session.get('group') === group.get('name'))
   210     group = state.groups.find(group => props.session.group === group.name)
   211   }
   211   }
   212 
   212 
   213   return {
   213   return {
   214     currentSession: props.session,
   214     currentSession: props.session,
   215     createGroup: state.get('createGroup'),
   215     createGroup: state.createGroup,
   216     groups: state.get('groups'),
   216     groups: state.groups,
   217     group
   217     group
   218   };
   218   };
   219 }
   219 }
   220 
   220 
   221 function mapDispatchToProps(dispatch) {
   221 function mapDispatchToProps(dispatch) {