UNPKG

@shopgate/engage

Version:
4 lines 1.32 kB
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 React,{useMemo}from'react';import PropTypes from'prop-types';import connect from"./OrderHistoryProvider.connector";import Context from"./OrderHistoryProvider.context";import{getOrderDetailsRoute}from"../helpers/orderDetails";/** * @param {Object} props The component props. * @returns {JSX} */var OrderHistoryProvider=function OrderHistoryProvider(_ref){var orders=_ref.orders,fetchOrderHistory=_ref.fetchOrderHistory,children=_ref.children,historyPush=_ref.historyPush,totalOrderCount=_ref.totalOrderCount;var value=useMemo(function(){return{orders:orders.map(function(order){return _extends({},order,{openDetails:function openDetails(){return historyPush({pathname:getOrderDetailsRoute(order.orderNumber)});}});}),totalOrderCount:totalOrderCount,fetchOrderHistory:fetchOrderHistory};},[fetchOrderHistory,historyPush,orders,totalOrderCount]);return React.createElement(Context.Provider,{value:value},children);};OrderHistoryProvider.defaultProps={children:null,totalOrderCount:null};export default connect(OrderHistoryProvider);