import React, { Component } from 'react'; import { connect } from 'react-redux'; import { Loader, Message, Tab, Label, Menu } from 'semantic-ui-react'; class UploadResults extends Component { render(){ const {pending, result, error} = this.props; const parsedEntries = result && result.parsedData ? result.parsedData : []; const errorEntries = result && result.parserErrors ? result.parserErrors : []; const unknownMembers = result && result.unknownMembers ? result.unknownMembers : []; const renderParsedEntriesTab = () => { return (

{parsedEntries.length} entries successfully parsed

); }; const renderErrorTabResults = (results) => { return (

{ results.map((entry, index) => { return (

{entry.error}

{JSON.stringify(entry.details)}

File : {entry.file}

); }) }
); }; const parsedEntriesTabTitle = (Parsed Entries); const errorEntriesTabTitle = (Error Entries); const unknownMembersTabTitle = (Unknown Members); const panes = [ {menuItem: parsedEntriesTabTitle, render: renderParsedEntriesTab}, {menuItem: errorEntriesTabTitle, render: () => renderErrorTabResults(errorEntries)}, {menuItem: unknownMembersTabTitle, render: () => renderErrorTabResults(unknownMembers)} ]; return (
{ pending && }
{ !pending && !error && result && } { !pending && error && Upload Failed

{error.data}

}
) } } const mapStateToProps = (state) => ({ pending: state.doorLockData.pending, result: state.doorLockData.result, error: state.doorLockData.error, }); export default connect(mapStateToProps)(UploadResults);