import React, {Component} from 'react'; import {connect} from 'react-redux'; import {Row, Col, Button} from 'reactstrap'; import WiaasBox from '../../mainComponents/box/WiaasBox.jsx'; import {fetchPackageDetails, addToCart} from '../../actions/coMarket/coMarketPackageDetailsActions'; import PackageInfo from './components/PackageInfo.jsx'; import PackagePrice from './components/PackagePrice.jsx'; import PackageOptions from './components/PackageOptions.jsx'; import AdditionalPackages from './components/AdditionalPackages.jsx'; import AgreementOptions from './components/AgreementOptions.jsx'; import {coMarketTexts} from '../../constants/coMarketConstants'; import './style/CoMarketPackageDetailsContainer.css'; class CoMarketPackageDetailsContainer extends Component { constructor(props) { super(props); this.handleAddToCart = this.handleAddToCart.bind(this); this.state = { selectedOptions: {} }; } handleAddToCart() { const addParams = { selectedPackage: this.props.selectedPackage, selectedAgreement: this.props.selectedAgreement, selectedOptions: this.props.selectedOptions, selectedAdditionals: this.props.selectedAdditionals }; this.props.dispatch(addToCart(addParams)); } componentDidMount() { const {idPackage, idCommercialLead} = this.props; this.props.dispatch(fetchPackageDetails({idPackage, idCommercialLead})); } render() { const {selectedPackage, selectedAgreement, messages, isLoading} = this.props; return(
{ isLoading &&
} { (selectedPackage && !isLoading) &&
{ selectedPackage.groups && Object.keys(selectedPackage.groups).length > 0 && selectedAgreement && } { selectedPackage.additionalPackages && selectedPackage.additionalPackages.length > 0 && selectedAgreement && } {messages && {messages[0].message}}
}
); } } const mapStateToProps = (state) => ({ selectedPackage: state.coMarketPackageDetailsReducer.selectedPackage, selectedAgreement: state.coMarketPackageDetailsReducer.selectedAgreement, selectedOptions: state.coMarketPackageDetailsReducer.selectedOptions, selectedAdditionals: state.coMarketPackageDetailsReducer.selectedAdditionals, messages: state.coMarketPackageDetailsReducer.messages, isLoading: state.coMarketPackageDetailsReducer.isLoading }); export default connect(mapStateToProps)(CoMarketPackageDetailsContainer);