<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* @author Amasty Team
* @copyright Copyright (c) 2022 Amasty (https://www.amasty.com)
* @package Special Promotions Base for Magento 2
*/-->

<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
    <fieldset name="actions">
        <field name="simple_action">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="notice" xsi:type="string" translate="true">Please, change the priority of this rule to 0. If more than one rule has priority 0, the discount can be calculated incorrectly</item>
                </item>
            </argument>
        </field>
        <field name="amrulesrule[max_discount]">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Max Amount of Discount</item>
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">sales_rule</item>
                    <item name="dataScope" xsi:type="string">extension_attributes.amrules.max_discount</item>
                    <item name="sortOrder" xsi:type="number">11</item>
                </item>
            </argument>
        </field>
        <field name="amrulesrule[eachm]">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">After N</item>
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">sales_rule</item>
                    <item name="dataScope" xsi:type="string">extension_attributes.amrules.eachm</item>
                    <item name="sortOrder" xsi:type="number">13</item>
                    <item name="validation" xsi:type="array">
                        <item name="validate-greater-than-zero" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
        </field>
        <field name="discount_step">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="notice" xsi:type="string" translate="true">For the rule `Buy 2X, get 5Y` it is 2</item>
                    <item name="sortOrder" xsi:type="number">16</item>
                    <item name="validation" xsi:type="array">
                        <item name="validate-greater-than-zero" xsi:type="boolean">true</item>
                        <item name="validate-no-empty" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
        </field>
        <field name="amrulesrule[nqty]">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Number of Y Products</item>
                    <item name="notice" xsi:type="string" translate="true">For the rule `Buy 2X, get 5Y` it is 5</item>
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">sales_rule</item>
                    <item name="dataScope" xsi:type="string">extension_attributes.amrules.nqty</item>
                    <item name="sortOrder" xsi:type="number">19</item>
                    <item name="validation" xsi:type="array">
                        <item name="validate-greater-than-zero" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
        </field>
        <field name="amrulesrule[apply_discount_to]">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">At first apply discount to</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="source" xsi:type="string">sales_rule</item>
                    <item name="dataScope" xsi:type="string">extension_attributes.amrules.apply_discount_to</item>
                    <item name="options" xsi:type="array">
                        <item name="0" xsi:type="array">
                            <item name="value" xsi:type="string">asc</item>
                            <item name="label" xsi:type="string" translate="true">Cheapest products</item>
                        </item>
                        <item name="1" xsi:type="array">
                            <item name="value" xsi:type="string">desc</item>
                            <item name="label" xsi:type="string" translate="true">Most expensive products</item>
                        </item>
                    </item>
                    <item name="sortOrder" xsi:type="number">21</item>
                </item>
            </argument>
        </field>
        <field name="amrulesrule[use_for]">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Use For</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="source" xsi:type="string">sales_rule</item>
                    <item name="dataScope" xsi:type="string">extension_attributes.amrules.use_for</item>
                    <item name="options" xsi:type="array">
                        <item name="0" xsi:type="array">
                            <item name="value" xsi:type="string">0</item>
                            <item name="label" xsi:type="string" translate="true">All Products in Shopping Cart</item>
                        </item>
                        <item name="1" xsi:type="array">
                            <item name="value" xsi:type="string">1</item>
                            <item name="label" xsi:type="string" translate="true">The Same Product in Shopping Cart</item>
                        </item>
                    </item>
                    <item name="sortOrder" xsi:type="number">31</item>
                </item>
            </argument>
        </field>
        <field name="amrulesrule[priceselector]" formElement="select" sortOrder="23">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="source" xsi:type="string">sales_rule</item>
                </item>
            </argument>
            <settings>
                <label translate="true">Calculate Discount Based On</label>
                <dataType>number</dataType>
                <dataScope>extension_attributes.amrules.priceselector</dataScope>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Amasty\Rules\Ui\Form\Rule\CalculateDiscountBasedOnOptions"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="amrulesrule[skip_rule]">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Skip Items with Special Price</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="source" xsi:type="string">sales_rule</item>
                    <item name="dataScope" xsi:type="string">extension_attributes.amrules.skip_rule</item>
                    <item name="options" xsi:type="array">
                        <item name="0" xsi:type="array">
                            <item name="value" xsi:type="string">0</item>
                            <item name="label" xsi:type="string" translate="true">As Default</item>
                        </item>
                        <item name="1" xsi:type="array">
                            <item name="value" xsi:type="string">1</item>
                            <item name="label" xsi:type="string" translate="true">Yes</item>
                        </item>
                        <item name="2" xsi:type="array">
                            <item name="value" xsi:type="string">2</item>
                            <item name="label" xsi:type="string" translate="true">No</item>
                        </item>
                        <item name="3" xsi:type="array">
                            <item name="value" xsi:type="string">3</item>
                            <item name="label" xsi:type="string" translate="true">Skip If Discounted</item>
                        </item>
                    </item>
                    <item name="sortOrder" xsi:type="number">27</item>
                </item>
            </argument>
        </field>
        <field name="apply_to_shipping">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="sortOrder" xsi:type="number">29</item>
                </item>
            </argument>
        </field>
        <field name="stop_rules_processing">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="sortOrder" xsi:type="number">31</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
        </field>
        <field name="simple_free_shipping">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="sortOrder" xsi:type="number">85</item>
                </item>
            </argument>
        </field>
        <fieldset name="promo_items">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Define Y product (X and Y are different products not in the same category)</item>
                    <item name="collapsible" xsi:type="boolean">false</item>
                    <item name="sortOrder" xsi:type="number">90</item>
                </item>
            </argument>
            <field name="amrulesrule[promo_skus]">
                <argument name="data" xsi:type="array">
                    <item name="config" xsi:type="array">
                        <item name="label" xsi:type="string" translate="true">Promo SKU</item>
                        <item name="notice" xsi:type="string" translate="true">Comma separated list of the SKUs</item>
                        <item name="dataType" xsi:type="string">text</item>
                        <item name="formElement" xsi:type="string">textarea</item>
                        <item name="source" xsi:type="string">sales_rule</item>
                        <item name="dataScope" xsi:type="string">extension_attributes.amrules.promo_skus</item>
                        <item name="sortOrder" xsi:type="number">25</item>
                        <item name="tooltip" xsi:type="array">
                            <item name="description" xsi:type="string" translate="true">To make up a product set, items with these SKUs must be added to the cart</item>
                        </item>
                    </item>
                </argument>
            </field>
            <field name="amrulesrule[promo_cats]">
                <argument name="data" xsi:type="array">
                    <item name="config" xsi:type="array">
                        <item name="label" xsi:type="string" translate="true">Promo Categories</item>
                        <item name="notice" xsi:type="string" translate="true">Comma separated list of the category ids</item>
                        <item name="dataType" xsi:type="string">text</item>
                        <item name="formElement" xsi:type="string">input</item>
                        <item name="source" xsi:type="string">sales_rule</item>
                        <item name="dataScope" xsi:type="string">extension_attributes.amrules.promo_cats</item>
                        <item name="sortOrder" xsi:type="number">26</item>
                        <item name="tooltip" xsi:type="array">
                            <item name="description" xsi:type="string" translate="true">To make up a product set, items from these categories must be added to the cart. If you have two or more products from the same category, the cheapest is considered as item of the product set.</item>
                        </item>
                    </item>
                </argument>
            </field>
        </fieldset>
    </fieldset>
</form>
