client/src/components/SessionList.js
author ymh <ymh.work@gmail.com>
Fri, 30 Nov 2018 10:53:15 +0100
changeset 183 f8f3af9e5c83
parent 172 4b780ebbedc6
child 191 3f71ad81a5a9
permissions -rw-r--r--
Change the settings to avoid using Session authentication for rest framework as it raise exceptions in case client and backend are on the same domain On the filter, adapt to take into account new version of django_filters
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
import React, { Component } from 'react';
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
import { connect } from 'react-redux';
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
import { bindActionCreators } from 'redux';
171
03334a31130a Add translation with react-i18next
ymh <ymh.work@gmail.com>
parents: 170
diff changeset
     4
import { Trans } from 'react-i18next';
146
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
     5
import Modal from 'react-modal';
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
import moment from 'moment';
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
import '../App.css';
143
cfcbf4bc66f1 Remove react-bootstrap from components except Modal, Collapse and Dropdown
salimr <riwad.salim@yahoo.fr>
parents: 137
diff changeset
     8
import './SessionList.css';
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
import Navbar from './Navbar';
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
import * as sessionsActions from '../actions/sessionsActions';
137
279e1dffa213 session is now created with current group and protocol
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    11
import { getActiveSessions } from '../selectors/coreSelectors';
279e1dffa213 session is now created with current group and protocol
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    12
import { getCurrentUser, getGroups, getCurrentGroup } from '../selectors/authSelectors';
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
class SessionList extends Component {
148
fcce52a159bc remove react-bootstrap
ymh <ymh.work@gmail.com>
parents: 147
diff changeset
    15
154
a28361bda28c Adapt all css classes with Bootstrap 4 Utilities
salimr <riwad.salim@yahoo.fr>
parents: 151
diff changeset
    16
  state = {
150
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
    17
      show: false,
146
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    18
      modalIsOpen: false,
147
a2e61192db50 Adapt session list display in css
salimr <riwad.salim@yahoo.fr>
parents: 146
diff changeset
    19
      sessionToDelete: null,
150
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
    20
    }
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
    21
151
57d63a248f0d Update to Bootstrap 4
salimr <riwad.salim@yahoo.fr>
parents: 150
diff changeset
    22
  componentWillMount() {
57d63a248f0d Update to Bootstrap 4
salimr <riwad.salim@yahoo.fr>
parents: 150
diff changeset
    23
    Modal.setAppElement('body');
57d63a248f0d Update to Bootstrap 4
salimr <riwad.salim@yahoo.fr>
parents: 150
diff changeset
    24
}
57d63a248f0d Update to Bootstrap 4
salimr <riwad.salim@yahoo.fr>
parents: 150
diff changeset
    25
150
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
    26
  doSomething(e){
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
    27
    e.preventDefault();
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
    28
    console.log(e.target.innerHTML);
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
    29
  }
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
    30
146
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    31
  openModal = () => {
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    32
    this.setState({modalIsOpen: true});
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    33
  }
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    34
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    35
  closeModal = () => {
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    36
    this.setState({modalIsOpen: false});
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    37
  }
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    38
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    39
  handleModalCloseRequest = () => {
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    40
    // opportunity to validate something and keep the modal open even if it
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    41
    // requested to be closed
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    42
    this.setState({modalIsOpen: false});
95
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    43
  }
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    44
93
469da13402e2 Allow to delete session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 62
diff changeset
    45
  onClickDelete(session, e) {
469da13402e2 Allow to delete session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 62
diff changeset
    46
    e.preventDefault();
469da13402e2 Allow to delete session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 62
diff changeset
    47
    e.stopPropagation();
469da13402e2 Allow to delete session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 62
diff changeset
    48
147
a2e61192db50 Adapt session list display in css
salimr <riwad.salim@yahoo.fr>
parents: 146
diff changeset
    49
95
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    50
    this.setState({
146
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    51
      modalIsOpen: true,
95
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    52
      sessionToDelete: session
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    53
    })
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    54
  }
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    55
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    56
  showSessionsNumber = () => {
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    57
    if (this.props.sessions.size === 1)
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    58
    return (
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    59
     <span className="pb-5">{this.props.sessions.size} session</span>
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    60
    );
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    61
    return (
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    62
      <span className="pb-5">{this.props.sessions.size} sessions</span>
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    63
     )
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    64
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    65
  }
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    66
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    67
  emptyListMessage = () => {
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    68
168
ea92f4fe783d - move SlateEditor and dependencies to its own folder
ymh <ymh.work@gmail.com>
parents: 162
diff changeset
    69
      if (this.props.sessions.length === 0) {
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    70
      return (
171
03334a31130a Add translation with react-i18next
ymh <ymh.work@gmail.com>
parents: 170
diff changeset
    71
       <h1 className="text-primary text-center mt-5 pt-5"><Trans i18nKey="session_list.no_session">vous n'avez créé aucune session pour le moment</Trans></h1>
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    72
      );
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    73
    }
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    74
  }
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    75
95
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    76
  deleteSession = () => {
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    77
    const { sessionToDelete } = this.state;
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    78
168
ea92f4fe783d - move SlateEditor and dependencies to its own folder
ymh <ymh.work@gmail.com>
parents: 162
diff changeset
    79
    this.props.sessionsActions.deleteSession(sessionToDelete._id);
95
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    80
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    81
    this.setState({
146
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
    82
      modalIsOpen: false,
95
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    83
      sessionToDelete: null
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
    84
    })
93
469da13402e2 Allow to delete session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 62
diff changeset
    85
  }
469da13402e2 Allow to delete session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 62
diff changeset
    86
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
  render() {
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
    return (
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
      <div>
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    90
        <Navbar history={this.props.history} group={this.props.currentGroup} />
143
cfcbf4bc66f1 Remove react-bootstrap from components except Modal, Collapse and Dropdown
salimr <riwad.salim@yahoo.fr>
parents: 137
diff changeset
    91
        <div className="container-fluid">
170
7da1d5137b0b Upgrade dependencies and correct theme colors
ymh <ymh.work@gmail.com>
parents: 168
diff changeset
    92
          <div className="session-count fixed-top bg-secondary font-weight-bold text-irinotes-form pl-4 pb-3 mb-3 mt-5 pt-3">
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    93
          {this.showSessionsNumber()}
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    94
          {this.emptyListMessage()}
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
    95
          </div>
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    96
          <div className="row mt-5 justify-content-start">
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
                {this.props.sessions.map((session) =>
168
ea92f4fe783d - move SlateEditor and dependencies to its own folder
ymh <ymh.work@gmail.com>
parents: 162
diff changeset
    98
                  <div className="session col-lg-3" key={session._id}>
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
    99
                      <div className="col-md-auto w-100 m-2 p-2">
172
4b780ebbedc6 - Upgrade libraries
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   100
                        <div className="sessions" onClick={() => this.props.history.push('/sessions/' + session._id)}>
151
57d63a248f0d Update to Bootstrap 4
salimr <riwad.salim@yahoo.fr>
parents: 150
diff changeset
   101
                          <span className="session-title text-primary">{session.title || 'Session sans titre'}<br /></span>
168
ea92f4fe783d - move SlateEditor and dependencies to its own folder
ymh <ymh.work@gmail.com>
parents: 162
diff changeset
   102
                          <span className="session-date text-muted">{moment(session.date).format('DD/MM/YYYY')}<br /></span>
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
   103
                          <span className="session-description">{session.description}<br /></span>
172
4b780ebbedc6 - Upgrade libraries
ymh <ymh.work@gmail.com>
parents: 171
diff changeset
   104
                        </div>
154
a28361bda28c Adapt all css classes with Bootstrap 4 Utilities
salimr <riwad.salim@yahoo.fr>
parents: 151
diff changeset
   105
                        <button type="button" id="delete" className="btn btn-link float-left" onClick={ this.onClickDelete.bind(this, session) }>
a28361bda28c Adapt all css classes with Bootstrap 4 Utilities
salimr <riwad.salim@yahoo.fr>
parents: 151
diff changeset
   106
                          <span className="material-icons delete text-dark">delete</span>
150
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
   107
                        </button>
168
ea92f4fe783d - move SlateEditor and dependencies to its own folder
ymh <ymh.work@gmail.com>
parents: 162
diff changeset
   108
                        <button type="button" className="btn btn-link float-left" onClick={() => this.props.history.push('/read-only/' + session._id)}>
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
   109
                          <span className="material-icons delete text-dark">remove_red_eye</span>
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents: 160
diff changeset
   110
                        </button>
150
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
   111
                      </div>
147
a2e61192db50 Adapt session list display in css
salimr <riwad.salim@yahoo.fr>
parents: 146
diff changeset
   112
                  </div>
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
                )}
150
97536386b397 Improve Modals display and sessions list
salimr <riwad.salim@yahoo.fr>
parents: 148
diff changeset
   114
            </div>
143
cfcbf4bc66f1 Remove react-bootstrap from components except Modal, Collapse and Dropdown
salimr <riwad.salim@yahoo.fr>
parents: 137
diff changeset
   115
          </div>
146
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
   116
        <Modal
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
   117
        className="Modal__Bootstrap modal-dialog modal-dialog-centered w-25"
146
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
   118
        // closeTimeoutMS={150}
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
   119
        isOpen={this.state.modalIsOpen}
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
   120
        onRequestClose={this.handleModalCloseRequest}
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
   121
        >
154
a28361bda28c Adapt all css classes with Bootstrap 4 Utilities
salimr <riwad.salim@yahoo.fr>
parents: 151
diff changeset
   122
          <div id="delete-session-modal" className="modal-content">
160
183b128a4189 Change sessions list disposition and add sessions number
salimr <riwad.salim@yahoo.fr>
parents: 156
diff changeset
   123
            <span id="delete-session-close-modal-button" className="material-icons text-right" onClick={ this.handleModalCloseRequest }>close</span>
154
a28361bda28c Adapt all css classes with Bootstrap 4 Utilities
salimr <riwad.salim@yahoo.fr>
parents: 151
diff changeset
   124
            <div className="modal-body text-center">
171
03334a31130a Add translation with react-i18next
ymh <ymh.work@gmail.com>
parents: 170
diff changeset
   125
            <span className="modal-text"><Trans i18nKey="session_list.delete_modal_message">Supprimer cette session ?</Trans></span>
03334a31130a Add translation with react-i18next
ymh <ymh.work@gmail.com>
parents: 170
diff changeset
   126
            <button type="button" className="btn btn-danger text-secondary font-weight-bold py-1 px-2 ml-3 text-capitalize" id="delete-session-modal-button" onClick={ this.deleteSession }><Trans i18nKey="common.delete">Supprimer</Trans></button>
146
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
   127
            </div>
4f4bb2b3ef39 Removing Modal from react-bootstrap and adding react-modal
salimr <riwad.salim@yahoo.fr>
parents: 145
diff changeset
   128
          </div>
95
7bc08467c726 Add confirmation when deleting session.
Alexandre Segura <mex.zktk@gmail.com>
parents: 93
diff changeset
   129
        </Modal>
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
      </div>
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
    );
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
  }
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
}
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
147
a2e61192db50 Adapt session list display in css
salimr <riwad.salim@yahoo.fr>
parents: 146
diff changeset
   135
a2e61192db50 Adapt session list display in css
salimr <riwad.salim@yahoo.fr>
parents: 146
diff changeset
   136
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
function mapStateToProps(state, props) {
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
  return {
137
279e1dffa213 session is now created with current group and protocol
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
   139
    sessions: getActiveSessions(state),
279e1dffa213 session is now created with current group and protocol
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
   140
    currentUser: getCurrentUser(state),
279e1dffa213 session is now created with current group and protocol
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
   141
    groups: getGroups(state),
279e1dffa213 session is now created with current group and protocol
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
   142
    currentGroup: getCurrentGroup(state)
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
  };
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
}
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
function mapDispatchToProps(dispatch) {
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
  return {
133
6f3078f7fd47 Work on correct protocol propagation
ymh <ymh.work@gmail.com>
parents: 129
diff changeset
   148
    sessionsActions: bindActionCreators(sessionsActions, dispatch),
62
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
  }
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
}
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
b2514a9bcd49 migrate to redux-offline + various optimisation
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
export default connect(mapStateToProps, mapDispatchToProps)(SessionList);