Blame view

imports/client/views/org/admin/students/UploadCsv.js 2.83 KB
5d043355e   Deepak   fixed bug and add...
1
  // import {UploadCsv } from '/imports/collections/students/UploadCsv'
15998a6af   Deepak   added datepicker
2
3
4
5
6
7
  import _                                  from 'lodash';
  import { Meteor }                         from 'meteor/meteor';
  
  import React, { Component }               from 'react';
  import { Link,browserHistory }            from 'react-router';
  import { FormGroup,Panel,Table,
b02441289   Deepak   added verify module
8
    ButtonToolbar,Modal,ControlLabel,HelpBlock,
15998a6af   Deepak   added datepicker
9
    FormControl,Glyphicon,Button }          from 'react-bootstrap';
b02441289   Deepak   added verify module
10
  // import { AddStudentForm }                 from './addStudentForm';
f3432726e   Deepak   added csv method
11
12
13
  import { FilesCollection } from 'meteor/ostrio:files';
  const Papa = this.Papa;
  // console.log(this);
15998a6af   Deepak   added datepicker
14
15
16
  const style = {
    margin: 12,
  };
b02441289   Deepak   added verify module
17
18
19
20
21
22
23
24
25
  function FieldGroup({ id, label, help, ...props }) {
    return (
      <FormGroup controlId={id}>
        <ControlLabel>{label}</ControlLabel>
        <FormControl {...props} />
        {help && <HelpBlock>{help}</HelpBlock>}
      </FormGroup>
    );
  }
15998a6af   Deepak   added datepicker
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  export class UploadCsv extends Component {
    constructor(props) {
      super(props);
      this.state = {
        show: false
      };
      this.showModal = this.showModal.bind(this);
      this.hideModal = this.hideModal.bind(this);
      this.onUpdate = this.onUpdate.bind(this);
    };
  
      showModal() {
        this.setState({show: true});
      }
  
      hideModal() {
        this.setState({show: false});
      }
    onUpdate(key, value) {
      this.setState({[key]: value});
    };
d0a93cc6d   Deepak   csv file
47
48
49
    uploadStudentCsv(e){
      e.preventDefault();
      e.persist();
f3432726e   Deepak   added csv method
50
51
      var file = $('input[type="file"]').prop("files")[0];
      Papa.parse(file, {
5d043355e   Deepak   fixed bug and add...
52
53
54
55
56
        header: true,
      	complete: function(csvData) {
          console.log("csvData");
          console.log(csvData);
      		if(csvData){
f3432726e   Deepak   added csv method
57
            Meteor.call('student.uploadCsv', csvData, function (error, result) {
5d043355e   Deepak   fixed bug and add...
58
59
60
61
              console.log("error");
              console.log(error);
              console.log("result");
              console.log(result);
f3432726e   Deepak   added csv method
62
63
64
65
             })
          }
      	}
      });
d0a93cc6d   Deepak   csv file
66
    }
15998a6af   Deepak   added datepicker
67
68
  
    render() {
b02441289   Deepak   added verify module
69
      console.log(this.props);
15998a6af   Deepak   added datepicker
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
      return (
        <ButtonToolbar>
          <Button bsStyle="primary" onClick={this.showModal}>
            Upload CSV
          </Button>
          <Modal
            {...this.props}
            show={this.state.show}
            onHide={this.hideModal}
            dialogClassName="custom-modal"
          >
            <Modal.Header closeButton>
              <Modal.Title id="contained-modal-title-lg">New Student</Modal.Title>
            </Modal.Header>
            <Modal.Body>
d0a93cc6d   Deepak   csv file
85
            <form onSubmit={ (e) => this.uploadStudentCsv(e) } >
15998a6af   Deepak   added datepicker
86
87
88
89
            <FieldGroup
              id="formControlsFile"
              type="file"
              label="File"
d5b679c21   Deepak   fixed style
90
              help="Upload you CSV here."
15998a6af   Deepak   added datepicker
91
            />
d0a93cc6d   Deepak   csv file
92
            <Button type="submit" bsStyle="default">Upload File</Button>
b02441289   Deepak   added verify module
93
            </form>
15998a6af   Deepak   added datepicker
94
95
96
97
98
99
100
101
102
103
            </Modal.Body>
            <Modal.Footer>
              <Button onClick={this.hideModal}>Close</Button>
            </Modal.Footer>
          </Modal>
        </ButtonToolbar>
      );
    };
  
  };