client/src/components/NotesContainer.js
author Alexandre Segura <mex.zktk@gmail.com>
Tue, 23 May 2017 16:18:34 +0200
changeset 5 5c91bfa8fcde
parent 3 3b5d37d84cfe
permissions -rw-r--r--
Introduce SlateJS.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
import React, { Component } from 'react';
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
import {connect} from 'react-redux';
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
import {bindActionCreators} from 'redux';
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
import PropTypes from 'prop-types';
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
import Immutable from 'immutable';
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
2
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
     8
import { Grid, Row, Col} from 'react-bootstrap';
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
     9
3
3b5d37d84cfe Some code rename and reorg + basic tests
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    10
import * as notesActions from '../actions/notesActions';
1
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
import NotesList from './NotesList';
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
import NoteInput from './NoteInput';
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
class NotesContainer extends Component {
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    render() {
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
        const { notes } = this.props;
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        return (
2
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    18
          <Grid>
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    19
            <Row>
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    20
              <Col xs={12} md={12}>
1
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
                <NotesList notes={notes} />
2
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    22
              </Col>
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    23
            </Row>
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    24
            <Row>
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    25
              <Col xs={12} md={12}>
1
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
                <NoteInput addNote={this.props.actions.addNote} />
2
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    27
              </Col>
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    28
            </Row>
b52921a63e77 add scss + bootstrap
ymh <ymh.work@gmail.com>
parents: 1
diff changeset
    29
          </Grid>
1
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
        );
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    }
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
}
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
NotesContainer.propTypes = {
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
    notes: PropTypes.instanceOf(Immutable.List).isRequired,
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    actions: PropTypes.object.isRequired
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
}
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
function mapStateToProps(state, props) {
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
  return {
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    notes: state.get('notes')
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
  };
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
}
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
function mapDispatchToProps(dispatch) {
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
  return {
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    actions: bindActionCreators(notesActions, dispatch)
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
  }
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
}
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
431977d7c9a6 add first react application skeleton
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
export default connect(mapStateToProps, mapDispatchToProps)(NotesContainer);