import React from 'react'; import './DependencyList.css'; import {connect} from 'react-redux'; import * as Constants from '../../constants'; import Dependency from './Dependency/Dependency'; import Box from '../UI/Box/Box'; import {downloadItem} from '../../redux/actions/download_actions'; import {extractFileNameFromURL} from '../../utils'; import {setDismissDependencies} from '../../redux/actions/install_actions'; const mapStateToProps = state => { return { AllowDismissDependencies: state.relver.AllowDismissDependencies, MissingDependencies: state.install.MissingDependencies, }; }; const mapDispatchToProps = (dispatch) => { return { downloadItem: (name, type, url, isWinFSP) => dispatch(downloadItem(name, type, url, isWinFSP)), setDismissDependencies: dismiss => dispatch(setDismissDependencies(dismiss)), }; }; export default connect(mapStateToProps, mapDispatchToProps)(props => { const items = props.MissingDependencies.map((k, i)=> { return ( props.downloadItem(extractFileNameFromURL(k.download), Constants.INSTALL_TYPES.Dependency, k.download, k.is_winfsp)}/> ); }); const dismissDisplay = (
props.setDismissDependencies(true) : e => e.preventDefault()} style={{cursor: props.AllowDismissDependencies ? 'pointer' : 'no-drop'}}>X
); return ( {dismissDisplay}

Missing Dependencies

{items}
); });