@shopgate/engage
Version:
Shopgate's ENGAGE library.
11 lines • 1.43 kB
JavaScript
import{connect}from'react-redux';import{getShopSettings,getConfigFetching}from'@shopgate/engage/core/config';import{getPreferredLocationAddress}from'@shopgate/engage/locations/selectors';import{isUserLoggedIn}from'@shopgate/pwa-common/selectors/user';import{makeGetOrderByNumber}from"../selectors";import{fetchOrderDetails as _fetchOrderDetails,cancelOrder as _cancelOrder}from"../actions";/**
* @return {Function}
*/var makeMapStateToProps=function makeMapStateToProps(){var getOrderByNumber=makeGetOrderByNumber();/**
* @param {Object} state The application state.
* @param {Object} props The component props.
* @returns {Object}
*/return function(state,props){return{isDataReady:!getConfigFetching(state),isUserLoggedIn:isUserLoggedIn(state),shopSettings:getShopSettings(state),userLocation:getPreferredLocationAddress(state),order:getOrderByNumber(state,props)};};};/**
* Connects the dispatch function to a callable function in the props.
* @param {Function} dispatch The redux dispatch function.
* @return {Object} The extended component props.
*/var mapDispatchToProps=function mapDispatchToProps(dispatch){return{fetchOrderDetails:function fetchOrderDetails(orderNumber){return dispatch(_fetchOrderDetails({orderNumber:orderNumber}));},cancelOrder:function cancelOrder(orderNumber){return dispatch(_cancelOrder({orderNumber:orderNumber}));}};};export default connect(makeMapStateToProps,mapDispatchToProps);