<?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\Sales\Block\Order\History">
        <plugin name="Magetop_Agency::afterGetReorderUrl" type="Magetop\Agency\Plugin\Sales\Block\Order\History" sortOrder="1" />
    </type>
    <type name="Magento\Sales\Block\Order\Info\Buttons">
        <plugin name="Magetop_Agency::afterGetReorderUrl" type="Magetop\Agency\Plugin\Sales\Block\Order\Info\Buttons" sortOrder="1" />
    </type>
    <type name="Magento\Sales\Block\Order\Recent">
        <plugin name="Magetop_Agency::afterGetReorderUrl" type="Magetop\Agency\Plugin\Sales\Block\Order\Recent" sortOrder="1" />
    </type>
    <type name="Magento\Sales\Block\Reorder\Sidebar">
        <plugin name="Magetop_Agency::afterGetFormActionUrl" type="Magetop\Agency\Plugin\Sales\Block\Reorder\Sidebar" sortOrder="1" />
    </type>
  <!--   <type name="Magento\Quote\Model\Quote\TotalsCollector">
        <plugin name="Magetop_Agency::totalscollector" type="Magetop\Agency\Model\Plugin\TotalsCollector" sortOrder="1" />
    </type>
    <type name="Magento\Checkout\Controller\Cart\Configure">
        <plugin name="Magetop_Agency::configure" type="Magetop\Agency\Plugin\Checkout\Controller\Cart\Configure" sortOrder="1" />
    </type> -->
     <type name="Magento\Checkout\Block\Cart\Item\Renderer\Actions\Generic">
        <plugin name="Magetop_Agency::Generic" type="Magetop\Agency\Plugin\Checkout\Block\Cart\Item\Renderer\Actions\Generic" sortOrder="1" />
    </type>
    <!-- <preference for="Magento\Checkout\Model\Cart" type="Magetop\Agency\Model\Rewrite\Checkout\Cart" />
    <preference for="Magento\Quote\Model\Quote\Item" type="Magetop\Agency\Model\Rewrite\Quote\Item" /> -->
    <preference for="Magento\CatalogInventory\Model\Stock\Item" type="Magetop\Agency\Model\Rewrite\CatalogInventory\Stock\Item" />
    <type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
        <arguments>
            <argument name="collections" xsi:type="array">
                <item name="assign_products_list_data_source" xsi:type="string">Magetop\Agency\Model\ResourceModel\Items\Grid\Collection</item>
            </argument>
        </arguments>
    </type>
    <type name="Magetop\Agency\Model\ResourceModel\Items\Grid\Collection">
        <arguments>
            <argument name="mainTable" xsi:type="string">agency_assignproduct_items</argument>
            <argument name="eventPrefix" xsi:type="string">assignproduct_items_grid_collection</argument>
            <argument name="eventObject" xsi:type="string">items_grid_collection</argument>
            <argument name="resourceModel" xsi:type="string">Magetop\Agency\Model\ResourceModel\Items</argument>
        </arguments>
    </type>
    <virtualType name="AssignProductGirdFilterPool" type="Magento\Framework\View\Element\UiComponent\DataProvider\FilterPool">
        <arguments>
            <argument name="appliers" xsi:type="array">
                <item name="regular" xsi:type="object">Magento\Framework\View\Element\UiComponent\DataProvider\RegularFilter</item>
                <item name="fulltext" xsi:type="object">Magento\Framework\View\Element\UiComponent\DataProvider\FulltextFilter</item>
            </argument>
        </arguments>
    </virtualType>
    <virtualType name="ProductGirdFilterPool" type="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider">
        <arguments>
            <argument name="collection" xsi:type="object" shared="false">Magetop\Agency\Model\ResourceModel\Items\Collection</argument>
            <argument name="filterPool" xsi:type="object" shared="false">AssignProductGirdFilterPool</argument>
        </arguments>
    </virtualType>
</config>