34 lines
716 B
JavaScript
34 lines
716 B
JavaScript
/**
|
|
* External dependencies
|
|
*/
|
|
import ErrorPlaceholder from '@woocommerce/editor-components/error-placeholder';
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
import { BLOCK_NAMES } from './constants';
|
|
import { getClassPrefixFromName } from './utils';
|
|
|
|
export const withApiError = ( Component ) => ( props ) => {
|
|
const { error, isLoading, name } = props;
|
|
|
|
const className = getClassPrefixFromName( name );
|
|
const onRetry =
|
|
name === BLOCK_NAMES.featuredCategory
|
|
? props.getCategory
|
|
: props.getProduct;
|
|
|
|
if ( error ) {
|
|
return (
|
|
<ErrorPlaceholder
|
|
className={ `${ className }-error` }
|
|
error={ error }
|
|
isLoading={ isLoading }
|
|
onRetry={ onRetry }
|
|
/>
|
|
);
|
|
}
|
|
|
|
return <Component { ...props } />;
|
|
};
|