<?xml version="1.0"?>
<!--
/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package Mass Order Actions for Magento 2
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Ui\Model\Manager">
        <plugin name="Amasty_Oaction::Manager" type="Amasty\Oaction\Plugin\Ui\Model\Manager"/>
    </type>
    <type name="Magento\Ui\Config\Reader">
        <plugin name="Amasty_Oaction::checkStatuses" type="Amasty\Oaction\Plugin\Ui\Model\Reader"/>
    </type>
    <type name="\Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider">
        <plugin name="Amasty_Oaction::DataProvider" type="Amasty\Oaction\Plugin\Ui\DataProvider"/>
    </type>
    <virtualType name="amastyImportSampleFiles" type="Magento\Framework\DataObject">
        <arguments>
            <argument name="data" xsi:type="array">
                    <item name="amasty_oaction" xsi:type="string">Amasty_Oaction</item>
            </argument>
        </arguments>
    </virtualType>
    <type name="Amasty\Oaction\Component\ComponentRegistrar">
        <arguments>
            <argument name="samples" xsi:type="object">amastyImportSampleFiles</argument>
        </arguments>
    </type>
    <virtualType name="sampleFile" type="Magento\ImportExport\Model\Import\SampleFileProvider">
        <arguments>
            <argument name="samples" xsi:type="array">
                <item name="amasty_oaction" xsi:type="string">Amasty_Oaction</item>
            </argument>
        </arguments>
    </virtualType>
    <type name="Magento\ImportExport\Model\Import\SampleFileProvider">
        <arguments>
            <argument name="samples" xsi:type="array">
                <item name="amasty_oaction" xsi:type="string">Amasty_Oaction</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\ImportExport\Controller\Adminhtml\Import\Download">
        <arguments>
            <argument name="componentRegistrar" xsi:type="object">Amasty\Oaction\Component\ComponentRegistrar</argument>
        </arguments>
    </type>
    <type name="Magento\Sales\Model\ResourceModel\Order\Handler\State">
        <plugin name="Amasty_Oaction::checkOrderStatus" type="Amasty\Oaction\Plugin\Sales\Model\ResourceModel\Order\Handler\State" />
    </type>

    <type name="Amasty\Oaction\Model\Action\ActionModifierProvider">
        <arguments>
            <argument name="modifiers" xsi:type="array">
                <item name="amasty_oaction_orderattr" xsi:type="object">Amasty\Oaction\Model\Action\Modifier\OrderAttributesModifier\Proxy</item>
                <item name="pdfshipments_order" xsi:type="object">Amasty\Oaction\Model\Action\Modifier\PrintPackingSlipsModifier\Proxy</item>
            </argument>
        </arguments>
    </type>
    <type name="Amasty\Oaction\Model\Command\Pdf\PdfCollectorResolver">
        <arguments>
            <argument name="collector" xsi:type="object">Amasty\Oaction\Model\Command\Pdf\PdfCollector\ZipCollector\Proxy</argument>
        </arguments>
    </type>
</config>
