client/src/components/ReadOnlySession.js
author salimr <riwad.salim@yahoo.fr>
Tue, 09 Oct 2018 10:52:23 +0200
changeset 162 1fd73fdaf4c6
child 170 7da1d5137b0b
permissions -rw-r--r--
Add ReadOnlySession component and message when session list is empty
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
162
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     1
import React, { Component } from 'react';
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     2
import { connect } from 'react-redux';
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     3
import Note from './Note';
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     4
import Navbar from './Navbar';
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     5
import SessionForm from './SessionForm';
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     6
import { getSession, getSessionNotes } from '../selectors/coreSelectors';
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     7
import './ReadOnlySession.css';
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     8
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
     9
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    10
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    11
class ReadOnlySession extends Component {
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    12
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    13
  onClickSession = (e) => {
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    14
    e.preventDefault();
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    15
    this.props.history.push('/sessions/' +  this.props.match.params.id)
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    16
  }
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    17
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    18
  render() {
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    19
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    20
    return (
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    21
          <div>
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    22
            <Navbar history={this.props.history} />
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    23
            <div className="ml-4">
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    24
              <SessionForm session={this.props.currentSession} />
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    25
              <a className="text-primary font-weight-bold float-left" onClick={this.onClickSession} href="/sessions">Atteindre la session</a>
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    26
              <div>
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    27
                {this.props.notes.map((note) =>
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    28
                  <Note
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    29
                    note={ note }
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    30
                    key={ note._id}
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    31
                    annotationCategories={this.props.annotationCategories} />
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    32
                )}
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    33
              </div>
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    34
            </div>
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    35
          </div>
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    36
    );
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    37
  }
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    38
};
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    39
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    40
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    41
function mapStateToProps(state, props) {
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    42
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    43
  const sessionId = props.match.params.id;
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    44
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    45
  const currentSession = getSession(sessionId, state);
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    46
  const currentNotes = getSessionNotes(sessionId, state);
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    47
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    48
  return {
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    49
    currentSession,
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    50
    notes: currentNotes,
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    51
  };
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    52
}
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    53
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    54
export default connect(mapStateToProps)(ReadOnlySession);
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    55
1fd73fdaf4c6 Add ReadOnlySession component and message when session list is empty
salimr <riwad.salim@yahoo.fr>
parents:
diff changeset
    56