@shopgate/engage
Version:
Shopgate's ENGAGE library.
11 lines • 1.71 kB
JavaScript
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}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{makeGetOrderById}from"../selectors";import{fetchOrderDetails as _fetchOrderDetails,cancelOrder as _cancelOrder}from"../actions";/**
* @return {Function}
*/var makeMapStateToProps=function makeMapStateToProps(){var getOrderById=makeGetOrderById();/**
* @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:getOrderById(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(orderId,params){return dispatch(_fetchOrderDetails(_extends({orderId:orderId},params)));},cancelOrder:function cancelOrder(orderId,token){return dispatch(_cancelOrder({orderId:orderId,token:token}));}};};export default connect(makeMapStateToProps,mapDispatchToProps);