<?xml version="1.0"?>
<!--
/**
 * Seizera Software.
 *
 * @category  Seizera
 * @package   Seizera_TourDetails
 * @author    Seizera
 * @copyright Copyright (c) 2019 Seizera Software Private Limited (https://seizera.com)
 * @license   https://seizera.com/license.html
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">

    <preference for="Seizera\TourDetails\Api\Data\HotelInterface" type="Seizera\TourDetails\Model\Hotel" />
    <virtualType name="HotelGridFilterPool" 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="ItineraryHotelsDataProvider" type="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider">
        <arguments>
            <argument name="collection" xsi:type="object" shared="false">Seizera\TourDetails\Model\ResourceModel\Hotel\Grid\Collection</argument>
            <argument name="filterPool" xsi:type="object" shared="false">HotelGridFilterPool</argument>
        </arguments>
    </virtualType>

 <!--    <virtualType name="ItineraryHotelsDataProvider" type="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider">
        <arguments>
            <argument name="collection" xsi:type="object" shared="false">Seizera\TourDetails\Model\ResourceModel\Hotel\Grid\Collection</argument>
            <argument name="filterPool" xsi:type="object" shared="false">ItineraryHotelsDataProvider</argument>
        </arguments>
    </virtualType> -->

<!--     <virtualType name="ItineraryHotelsDataProvider" 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> -->

    <type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
        <arguments>
            <argument name="collections" xsi:type="array">
                <item name="itinerary_hotels_listing_data_source" xsi:type="string">Seizera\TourDetails\Model\ResourceModel\Hotel\Grid\Collection</item>
            </argument>
        </arguments>
    </type>

    <virtualType name="Seizera\TourDetails\Model\ResourceModel\Hotel\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
        <arguments>
            <argument name="mainTable" xsi:type="string">itinerary_hotels</argument>
            <argument name="resourceModel" xsi:type="string">Seizera\TourDetails\Model\ResourceModel\Hotel</argument>
        </arguments>
    </virtualType>

</config>