<?php 
 
namespace Plugin\YamatoB2Csv42; 
 
use Eccube\Event\TemplateEvent; 
use Symfony\Component\EventDispatcher\EventSubscriberInterface; 
 
class Event implements EventSubscriberInterface 
{ 
    /** 
     * @var \Twig_Environment 
     */ 
    protected $twig; 
 
    public function __construct(\Twig_Environment $twig) 
    { 
        $this->twig = $twig; 
    } 
 
    /** 
     * @return array 
     */ 
    public static function getSubscribedEvents() 
    { 
        return [ 
            '@admin/Order/index.twig'                => 'yamatoB2indexJsTwig', 
            '@admin/Order/edit.twig'                 => 'yamatoB2EditJsTwig', 
            '@admin/Order/shipping.twig'             => 'yamatoB2ShippingJsTwig', 
            '@admin/Setting/Shop/delivery_edit.twig' => 'yamatoB2DeliveryEditJsTwig', 
            '@admin/alert.twig'                      => 'replacementAlertTwig', 
        ]; 
    } 
 
    public function yamatoB2indexJsTwig(TemplateEvent $event) 
    { 
        $event->addSnippet('@YamatoB2Csv42/admin/Order/index_js.twig'); 
    } 
 
    public function yamatoB2EditJsTwig(TemplateEvent $event) 
    { 
        $event->addSnippet('@YamatoB2Csv42/admin/Order/edit_js.twig'); 
    } 
 
    public function yamatoB2ShippingJsTwig(TemplateEvent $event) 
    { 
        $event->addSnippet('@YamatoB2Csv42/admin/Order/shipping_js.twig'); 
    } 
 
    public function yamatoB2DeliveryEditJsTwig(TemplateEvent $event) 
    { 
        $event->addSnippet('@YamatoB2Csv42/admin/Setting/Shop/delivery_edit_js.twig'); 
    } 
 
    public function replacementAlertTwig(TemplateEvent $event) 
    { 
        $source = $this->twig->getLoader() 
            ->getSourceContext('@YamatoB2Csv42/admin/alert.twig') 
            ->getCode(); 
 
        $event->setSource($source); 
    } 
}