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);