import SingleProductHandler from './SingleProductHandler'; import CartHandler from './CartHandler'; import CheckoutHandler from './CheckoutHandler'; import CartBlockHandler from './CartBlockHandler'; import CheckoutBlockHandler from './CheckoutBlockHandler'; import MiniCartHandler from './MiniCartHandler'; import PayNowHandler from './PayNowHandler'; import PreviewHandler from './PreviewHandler'; class ContextHandlerFactory { static create( context, buttonConfig, ppcpConfig, externalActionHandler ) { switch ( context ) { case 'product': return new SingleProductHandler( buttonConfig, ppcpConfig, externalActionHandler ); case 'cart': return new CartHandler( buttonConfig, ppcpConfig, externalActionHandler ); case 'checkout': return new CheckoutHandler( buttonConfig, ppcpConfig, externalActionHandler ); case 'pay-now': return new PayNowHandler( buttonConfig, ppcpConfig, externalActionHandler ); case 'mini-cart': return new MiniCartHandler( buttonConfig, ppcpConfig, externalActionHandler ); case 'cart-block': return new CartBlockHandler( buttonConfig, ppcpConfig, externalActionHandler ); case 'checkout-block': return new CheckoutBlockHandler( buttonConfig, ppcpConfig, externalActionHandler ); case 'preview': return new PreviewHandler( buttonConfig, ppcpConfig, externalActionHandler ); } } } export default ContextHandlerFactory;