<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * @license http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 * @author Benjamin Houillon <bhouillon@kaliop.com>
 * @copyright Copyright (c) 2019 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com/)
 */
-->
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
    <argument name="data" xsi:type="array">
        <item name="js_config" xsi:type="array">
            <item name="provider" xsi:type="string">top_banner_form.top_banner_form_data_source</item>
        </item>
        <item name="label" xsi:type="string" translate="true">General Information</item>
        <item name="template" xsi:type="string">templates/form/collapsible</item>
    </argument>
    <settings>
        <buttons>
            <button name="save" class="Kaliop\TopBanner\Block\Adminhtml\TopBanner\Edit\SaveButton"/>
            <button name="delete" class="Kaliop\TopBanner\Block\Adminhtml\TopBanner\Edit\DeleteButton"/>
            <button name="back" class="Kaliop\TopBanner\Block\Adminhtml\TopBanner\Edit\BackButton"/>
        </buttons>
        <namespace>top_banner_form</namespace>
        <dataScope>data</dataScope>
        <deps>
            <dep>top_banner_form.top_banner_form_data_source</dep>
        </deps>
    </settings>
    <dataSource name="top_banner_form_data_source">
        <argument name="data" xsi:type="array">
            <item name="js_config" xsi:type="array">
                <item name="component" xsi:type="string">Magento_Ui/js/form/provider</item>
            </item>
        </argument>
        <settings>
            <submitUrl path="kp_top_banner/topbanner/save"/>
        </settings>
        <dataProvider class="Kaliop\TopBanner\Model\TopBanner\DataProvider" name="top_banner_form_data_source">
            <settings>
                <requestFieldName>top_banner_id</requestFieldName>
                <primaryFieldName>top_banner_id</primaryFieldName>
            </settings>
        </dataProvider>
    </dataSource>
    <fieldset name="general">
        <settings>
            <label/>
        </settings>
        <field name="top_banner_id" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">top_banner</item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <visible>false</visible>
                <dataScope>top_banner_id</dataScope>
            </settings>
        </field>
        <field name="is_active" sortOrder="10" formElement="checkbox">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">top_banner</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <dataType>boolean</dataType>
                <label translate="true">Enable Top Banner</label>
                <dataScope>is_active</dataScope>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
            </settings>
            <formElements>
                <checkbox>
                    <settings>
                        <valueMap>
                            <map name="false" xsi:type="number">0</map>
                            <map name="true" xsi:type="number">1</map>
                        </valueMap>
                        <prefer>toggle</prefer>
                    </settings>
                </checkbox>
            </formElements>
        </field>
        <field name="title" sortOrder="20" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">top_banner</item>
                </item>
            </argument>
            <settings>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
                <dataType>text</dataType>
                <label translate="true">Top Banner Title</label>
                <dataScope>title</dataScope>
            </settings>
        </field>
        <field name="storeviews" formElement="multiselect" sortOrder="30">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">top_banner</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
            <settings>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
                <dataType>int</dataType>
                <tooltip>
                    <link>https://docs.magento.com/m2/ce/user_guide/configuration/scope.html</link>
                    <description>What is this?</description>
                </tooltip>
                <label translate="true">Store View</label>
                <dataScope>store_id</dataScope>
            </settings>
            <formElements>
                <multiselect>
                    <settings>
                        <options class="Kaliop\TopBanner\Ui\Component\Listing\Column\TopBanner\Options"/>
                    </settings>
                </multiselect>
            </formElements>
        </field>
        <field name="content" formElement="wysiwyg" sortOrder="40">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">top_banner</item>
                </item>
            </argument>
            <settings>
                <label translate="true">Top Banner Content</label>
                <dataScope>content</dataScope>
            </settings>
            <formElements>
                <wysiwyg>
                    <settings>
                        <wysiwyg>true</wysiwyg>
                    </settings>
                </wysiwyg>
            </formElements>
        </field>
        <field name="from_date" formElement="date">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">top_banner</item>
                </item>
            </argument>
            <settings>
                <additionalClasses>
                    <class name="admin__field-date">true</class>
                </additionalClasses>
                <validation>
                    <rule name="validate-date" xsi:type="boolean">true</rule>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
                <dataType>text</dataType>
                <label translate="true">From Date</label>
                <visible>true</visible>
                <dataScope>from_date</dataScope>
            </settings>
        </field>
        <field name="to_date" formElement="date">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">top_banner</item>
                </item>
            </argument>
            <settings>
                <additionalClasses>
                    <class name="admin__field-date">true</class>
                </additionalClasses>
                <validation>
                    <rule name="validate-date" xsi:type="boolean">true</rule>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
                <dataType>text</dataType>
                <label translate="true">To Date</label>
                <visible>true</visible>
                <dataScope>to_date</dataScope>
            </settings>
        </field>
    </fieldset>
</form>
