woocommerce-paypal-payments/modules/ppcp-googlepay/resources/js/Context/ContextHandlerFactory.js

35 lines
1.5 KiB
JavaScript
Raw Normal View History

2023-08-28 17:19:07 +01:00
import SingleProductHandler from "./SingleProductHandler";
import CartHandler from "./CartHandler";
import CheckoutHandler from "./CheckoutHandler";
import CartBlockHandler from "./CartBlockHandler";
import CheckoutBlockHandler from "./CheckoutBlockHandler";
2023-08-29 08:19:11 +01:00
import MiniCartHandler from "./MiniCartHandler";
2023-10-13 17:57:03 +01:00
import PayNowHandler from "./PayNowHandler";
import PreviewHandler from "./PreviewHandler";
2023-08-28 17:19:07 +01:00
class ContextHandlerFactory {
static create(context, buttonConfig, ppcpConfig, externalActionHandler) {
2023-08-28 17:19:07 +01:00
switch (context) {
case 'product':
return new SingleProductHandler(buttonConfig, ppcpConfig, externalActionHandler);
2023-08-28 17:19:07 +01:00
case 'cart':
return new CartHandler(buttonConfig, ppcpConfig, externalActionHandler);
2023-08-28 17:19:07 +01:00
case 'checkout':
return new CheckoutHandler(buttonConfig, ppcpConfig, externalActionHandler);
2023-10-13 17:57:03 +01:00
case 'pay-now':
return new PayNowHandler(buttonConfig, ppcpConfig, externalActionHandler);
2023-08-28 17:19:07 +01:00
case 'mini-cart':
return new MiniCartHandler(buttonConfig, ppcpConfig, externalActionHandler);
2023-08-28 17:19:07 +01:00
case 'cart-block':
return new CartBlockHandler(buttonConfig, ppcpConfig, externalActionHandler);
2023-08-28 17:19:07 +01:00
case 'checkout-block':
return new CheckoutBlockHandler(buttonConfig, ppcpConfig, externalActionHandler);
case 'preview':
return new PreviewHandler(buttonConfig, ppcpConfig, externalActionHandler);
2023-08-28 17:19:07 +01:00
}
}
}
export default ContextHandlerFactory;