@shopgate/engage
Version:
Shopgate's ENGAGE library.
4 lines • 1.32 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 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);