<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Shipping\Controller\Adminhtml\Order\ShipmentLoader">
        <plugin name="registerShipment" type="Temando\Shipping\Plugin\Shipping\Order\ShipmentLoaderPlugin" />
    </type>
    <type name="Magento\Sales\Block\Adminhtml\Order\Invoice\Create\Form">
        <plugin name="disableCreateShipment" type="Temando\Shipping\Plugin\Sales\Order\Invoice\Create\FormPlugin" />
    </type>
    <type name="Magento\Rma\Block\Adminhtml\Rma\Edit">
        <plugin name="temando-shipping-addRmaToolbarButton" type="Temando\Shipping\Plugin\Rma\AddRmaToolbarButtonPlugin" />
    </type>
    <type name="Magento\Shipping\Block\Adminhtml\View">
        <plugin name="temando-shipping-addViewShipmentToolbarButton" type="Temando\Shipping\Plugin\Shipping\AddShipmentViewToolbarButtonPlugin" />
    </type>

    <type name="Temando\Shipping\Rest\EntityMapper\ShippingExperienceMapper">
        <arguments>
            <argument name="session" xsi:type="object">Magento\Backend\Model\Session\Quote</argument>
        </arguments>
    </type>

    <type name="Magento\Framework\View\Element\UiComponent\Argument\Interpreter\ConfigurableObject">
        <arguments>
            <argument name="classWhitelist" xsi:type="array">
                <item name="0" xsi:type="string">Magento\Framework\Data\OptionSourceInterface</item>
                <item name="1" xsi:type="string">Magento\Framework\View\Element\UiComponent\DataProvider\DataProviderInterface</item>
                <item name="2" xsi:type="string">Magento\Framework\View\Element\UiComponent\ContextInterface</item>
            </argument>
        </arguments>
    </type>

    <virtualType name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Pool">
        <arguments>
            <argument name="modifiers" xsi:type="array">
                <item name="shippingPanel" xsi:type="array">
                    <item name="class" xsi:type="string">Temando\Shipping\Ui\DataProvider\Product\Form\Modifier\ShippingPanel</item>
                    <item name="sortOrder" xsi:type="number">1000</item>
                </item>
            </argument>
        </arguments>
    </virtualType>
</config>
