<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package Customer Group Catalog for Magento 2
 */-->
<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">amasty_groupcat_rule_form.amasty_groupcat_rule_form_data_source</item>
            <item name="deps" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form_data_source</item>
        </item>
        <item name="label" xsi:type="string" translate="true">Customer Group Catalog Rule</item>
        <item name="config" xsi:type="array">
            <item name="dataScope" xsi:type="string">data</item>
            <item name="namespace" xsi:type="string">amasty_groupcat_rule_form</item>
        </item>
        <item name="template" xsi:type="string">templates/form/collapsible</item>
        <item name="buttons" xsi:type="array">
            <item name="back" xsi:type="array">
                <item name="name" xsi:type="string">back</item>
                <item name="label" xsi:type="string" translate="true">Back</item>
                <item name="class" xsi:type="string">back</item>
                <item name="url" xsi:type="string">*/*/</item>
            </item>
            <item name="save" xsi:type="string">Amasty\Groupcat\Block\Adminhtml\Rule\Edit\SaveButton</item>
            <item name="reset" xsi:type="string">Amasty\Groupcat\Block\Adminhtml\Rule\Edit\ResetButton</item>
            <item name="save_and_continue" xsi:type="string">Amasty\Groupcat\Block\Adminhtml\Rule\Edit\SaveAndContinueButton</item>
            <item name="delete" xsi:type="string">Amasty\Groupcat\Block\Adminhtml\Rule\Edit\DeleteButton</item>
        </item>
    </argument>
    <dataSource name="amasty_groupcat_rule_form_data_source">
        <argument name="dataProvider" xsi:type="configurableObject">
            <argument name="class" xsi:type="string">Amasty\Groupcat\Model\Rule\DataProvider</argument>
            <argument name="name" xsi:type="string">amasty_groupcat_rule_form_data_source</argument>
            <argument name="primaryFieldName" xsi:type="string">rule_id</argument>
            <argument name="requestFieldName" xsi:type="string">id</argument>
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="submit_url" xsi:type="url" path="amasty_groupcat/rule/save"/>
                </item>
            </argument>
        </argument>
        <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>
    </dataSource>
    <fieldset name="general">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="label" xsi:type="string" translate="true">Rule Information</item>
                <item name="sortOrder" xsi:type="number">10</item>
                <item name="additionalClasses" xsi:type="string">amgroupcat-fieldset-container -info</item>
            </item>
        </argument>
        <field name="rule_id">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="visible" xsi:type="boolean">false</item>
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">rule_id</item>
                </item>
            </argument>
        </field>
        <field name="is_active">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Status</item>
                    <item name="visible" xsi:type="boolean">true</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                    <item name="source" xsi:type="string">status</item>
                    <item name="dataType" xsi:type="string">boolean</item>
                    <item name="formElement" xsi:type="string">checkbox</item>
                    <item name="prefer" xsi:type="string">toggle</item>
                    <item name="valueMap" xsi:type="array">
                        <item name="true" xsi:type="number">1</item>
                        <item name="false" xsi:type="number">0</item>
                    </item>
                    <item name="toggleLabels" xsi:type="array">
                        <item name="on" xsi:type="string" translate="true">Active</item>
                        <item name="off" xsi:type="string" translate="true">Inactive</item>
                    </item>
                    <item name="default" xsi:type="number">1</item>
                </item>
            </argument>
        </field>
        <field name="name">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Rule Name</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-input</item>
                    <item name="placeholder" xsi:type="string" translate="true">Select...</item>
                    <item name="visible" xsi:type="boolean">true</item>
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">name</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
        </field>
        <field name="store_ids">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Stores</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-multiselect</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">multiselect</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">store_ids</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                </item>
                <item name="options" xsi:type="object">Amasty\Groupcat\Model\Rule\StoresOptionsProvider</item>
            </argument>
        </field>
        <field name="priority">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Priority</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-input</item>
                    <item name="placeholder" xsi:type="string" translate="true">Select...</item>
                    <item name="visible" xsi:type="boolean">true</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">priority</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                        <item name="validate-number" xsi:type="boolean">true</item>
                    </item>
                    <item name="tooltip" xsi:type="array">
                        <item name="description" xsi:type="string" translate="true">If the product matches several rules, the one with the higher priority will be applied</item>
                    </item>
                </item>
            </argument>
        </field>
        <fieldset name="timeline">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="boolean">false</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-fieldset-child amgroupcat-fieldset-container -line</item>
                </item>
            </argument>
            <field name="date_range_enabled">
                <argument name="data" xsi:type="array">
                    <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                    <item name="config" xsi:type="array">
                        <item name="label" xsi:type="string" translate="true">Use Date Range</item>
                        <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                        <item name="formElement" xsi:type="string">checkbox</item>
                        <item name="value" xsi:type="string">0</item>
                        <item name="source" xsi:type="string">groupcat_rule</item>
                        <item name="dataScope" xsi:type="string">date_range_enabled</item>
                        <item name="dataType" xsi:type="string">boolean</item>
                        <item name="prefer" xsi:type="string">toggle</item>
                        <item name="valueMap" xsi:type="array">
                            <item name="true" xsi:type="number">1</item>
                            <item name="false" xsi:type="number">0</item>
                        </item>
                        <item name="switcherConfig" xsi:type="array">
                            <item name="enabled" xsi:type="boolean">true</item>
                            <item name="rules" xsi:type="array">
                                <item name="0" xsi:type="array">
                                    <item name="value" xsi:type="number">0</item>
                                    <item name="actions" xsi:type="array">
                                        <item name="0" xsi:type="array">
                                            <item name="target" xsi:type="string">${ $.parentName }.date.from_date</item>
                                            <item name="__disableTmpl" xsi:type="array">
                                                <item name="target" xsi:type="boolean">false</item>
                                            </item>
                                            <item name="callback" xsi:type="string">hide</item>
                                        </item>
                                        <item name="1" xsi:type="array">
                                            <item name="target" xsi:type="string">${ $.parentName }.date.to_date</item>
                                            <item name="__disableTmpl" xsi:type="array">
                                                <item name="target" xsi:type="boolean">false</item>
                                            </item>
                                            <item name="callback" xsi:type="string">hide</item>
                                        </item>
                                    </item>
                                </item>
                                <item name="1" xsi:type="array">
                                    <item name="value" xsi:type="number">1</item>
                                    <item name="actions" xsi:type="array">
                                        <item name="0" xsi:type="array">
                                            <item name="target" xsi:type="string">${ $.parentName }.date.from_date</item>
                                            <item name="__disableTmpl" xsi:type="array">
                                                <item name="target" xsi:type="boolean">false</item>
                                            </item>
                                            <item name="callback" xsi:type="string">show</item>
                                        </item>
                                        <item name="1" xsi:type="array">
                                            <item name="target" xsi:type="string">${ $.parentName }.date.to_date</item>
                                            <item name="__disableTmpl" xsi:type="array">
                                                <item name="target" xsi:type="boolean">false</item>
                                            </item>
                                            <item name="callback" xsi:type="string">show</item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </argument>
            </field>
            <container name="date">
                <argument name="data" xsi:type="array">
                    <item name="config" xsi:type="array">
                        <item name="label" xsi:type="boolean">false</item>
                        <item name="additionalClasses" xsi:type="string">amgroupcat-container-date</item>
                        <item name="template" xsi:type="string">Amasty_Groupcat/form/container</item>
                    </item>
                </argument>
                <field name="from_date">
                    <argument name="data" xsi:type="array">
                        <item name="config" xsi:type="array">
                            <item name="label" xsi:type="string" translate="true">From</item>
                            <item name="additionalClasses" xsi:type="string">amgroupcat-field-input</item>
                            <item name="visible" xsi:type="boolean">true</item>
                            <item name="dataType" xsi:type="string">text</item>
                            <item name="formElement" xsi:type="string">date</item>
                            <item name="validation" xsi:type="array">
                                <item name="validate-date" xsi:type="boolean">true</item>
                            </item>
                            <item name="source" xsi:type="string">groupcat_rule</item>
                            <item name="dataScope" xsi:type="string">from_date</item>
                        </item>
                    </argument>
                </field>
                <field name="to_date">
                    <argument name="data" xsi:type="array">
                        <item name="config" xsi:type="array">
                            <item name="label" xsi:type="string" translate="true">To</item>
                            <item name="additionalClasses" xsi:type="string">amgroupcat-field-input</item>
                            <item name="visible" xsi:type="boolean">true</item>
                            <item name="dataType" xsi:type="string">text</item>
                            <item name="formElement" xsi:type="string">date</item>
                            <item name="source" xsi:type="string">groupcat_rule</item>
                            <item name="dataScope" xsi:type="string">to_date</item>
                            <item name="validation" xsi:type="array">
                                <item name="validate-date" xsi:type="boolean">true</item>
                            </item>
                        </item>
                    </argument>
                </field>
            </container>
        </fieldset>
        <fieldset name="customer_group">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Customer Groups</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-fieldset-child</item>
                </item>
            </argument>
            <field name="customer_group_ids">
                <argument name="data" xsi:type="array">
                    <item name="config" xsi:type="array">
                        <item name="labelVisible" xsi:type="boolean">false</item>
                        <item name="additionalClasses" xsi:type="string">amgroupcat-field-multiselect</item>
                        <item name="dataType" xsi:type="string">number</item>
                        <item name="formElement" xsi:type="string">multiselect</item>
                        <item name="source" xsi:type="string">groupcat_rule</item>
                        <item name="dataScope" xsi:type="string">customer_group_ids</item>
                    </item>
                    <item name="options" xsi:type="object">Magento\CatalogRule\Model\Rule\CustomerGroupsOptionsProvider</item>
                </argument>
            </field>
        </fieldset>
    </fieldset>
    <fieldset name="customer_conditions">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="label" xsi:type="string" translate="true">Customer Conditions</item>
                <item name="labelNote" xsi:type="string" translate="true">Please mind these conditions are applied only for logged in customers</item>
                <item name="additionalClasses" xsi:type="string">amgroupcat-fieldset-container -custom -line</item>
                <item name="template" xsi:type="string">Amasty_Groupcat/form/fieldset</item>
                <item name="collapsible" xsi:type="boolean">true</item>
                <item name="sortOrder" xsi:type="number">15</item>
            </item>
        </argument>
        <container name="actions_apply_to">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="boolean">false</item>
                    <item name="sortOrder" xsi:type="number">15</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-flex-container amgroupcat-flex</item>
                </item>
            </argument>
            <htmlContent name="html_content">
                <argument name="block" xsi:type="object">Amasty\Groupcat\Block\Adminhtml\Rule\Edit\Tab\CustomerConditions</argument>
            </htmlContent>
        </container>
    </fieldset>
    <fieldset name="category">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="label" xsi:type="string" translate="true">Categories</item>
                <item name="additionalClasses" xsi:type="string">amgroupcat-fieldset-container -line</item>
                <item name="sortOrder" xsi:type="number">20</item>
            </item>
        </argument>
        <field name="hide_category">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Hide Category</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="value" xsi:type="string">0</item>
                    <item name="formElement" xsi:type="string">checkbox</item>
                    <item name="prefer" xsi:type="string">toggle</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">hide_category</item>
                    <item name="valueMap" xsi:type="array">
                        <item name="true" xsi:type="number">1</item>
                        <item name="false" xsi:type="number">0</item>
                    </item>
                    <item name="switcherConfig" xsi:type="array">
                        <item name="enabled" xsi:type="boolean">true</item>
                        <item name="rules" xsi:type="array">
                            <item name="0" xsi:type="array">
                                <item name="value" xsi:type="number">0</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.category_ids</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                </item>
                            </item>
                            <item name="1" xsi:type="array">
                                <item name="value" xsi:type="number">1</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.category_ids</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">show</item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </item>
            </argument>
        </field>
        <field name="category_ids">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Select Categories to Hide</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">category_ids</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="componentType" xsi:type="string">field</item>
                    <item name="component" xsi:type="string">Amasty_Groupcat/js/form/element/category-tree</item>
                    <item name="filterOptions" xsi:type="boolean">true</item>
                    <item name="chipsEnabled" xsi:type="boolean">true</item>
                    <item name="multiple" xsi:type="boolean">true</item>
                    <item name="disableLabel" xsi:type="boolean">true</item>
                    <item name="levelsVisibility" xsi:type="string">1</item>
                    <item name="elementTmpl" xsi:type="string">ui/grid/filters/elements/ui-select</item>
                    <item name="listens" xsi:type="array">
                        <item name="newOption" xsi:type="string">toggleOptionSelected</item>
                    </item>
                    <item name="config" xsi:type="array">
                        <item name="dataScope" xsi:type="string">category_ids</item>
                    </item>
                </item>
                <item name="options" xsi:type="object">Magento\Catalog\Ui\Component\Product\Form\Categories\Options</item>
            </argument>
        </field>
    </fieldset>
    <fieldset name="product_conditions">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="label" xsi:type="string" translate="true">Products</item>
                <item name="additionalClasses" xsi:type="string">amgroupcat-fieldset-container</item>
                <item name="sortOrder" xsi:type="number">25</item>
            </item>
        </argument>
        <container name="actions_apply_to">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string">false</item>
                    <item name="sortOrder" xsi:type="number">25</item>
                </item>
            </argument>
            <field name="note">
                <argument name="data" xsi:type="array">
                    <item name="config" xsi:type="array">
                        <item name="labelVisible" xsi:type="boolean">false</item>
                        <item name="additionalClasses" xsi:type="string">amgroupcat-field-input -text</item>
                        <item name="value" xsi:type="string" translate="true">Select Product</item>
                        <item name="visible" xsi:type="boolean">true</item>
                        <item name="dataType" xsi:type="string">text</item>
                        <item name="formElement" xsi:type="string">input</item>
                        <item name="elementTmpl" xsi:type="string">ui/form/element/text</item>
                    </item>
                </argument>
            </field>
            <field name="apply_to_out_of_stock">
                <argument name="data" xsi:type="array">
                    <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                    <item name="config" xsi:type="array">
                        <item name="label" xsi:type="string" translate="true">Apply To Out Of Stock Products</item>
                        <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                        <item name="default" xsi:type="string">0</item>
                        <item name="dataType" xsi:type="string">number</item>
                        <item name="formElement" xsi:type="string">checkbox</item>
                        <item name="prefer" xsi:type="string">toggle</item>
                        <item name="valueMap" xsi:type="array">
                            <item name="true" xsi:type="number">1</item>
                            <item name="false" xsi:type="number">0</item>
                        </item>
                    </item>
                </argument>
            </field>
            <htmlContent name="html_content">
                <argument name="block" xsi:type="object">Amasty\Groupcat\Block\Adminhtml\Rule\Edit\Tab\ProductConditions</argument>
                <argument name="data" xsi:type="array">
                    <item name="config" xsi:type="array">
                        <item name="additionalClasses" xsi:type="string">amgroupcat-html-content</item>
                    </item>
                </argument>
            </htmlContent>
        </container>
        <field name="hide_product">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Hide Product</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                    <item name="default" xsi:type="string">0</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">checkbox</item>
                    <item name="prefer" xsi:type="string">toggle</item>
                    <item name="valueMap" xsi:type="array">
                        <item name="true" xsi:type="number">1</item>
                        <item name="false" xsi:type="number">0</item>
                    </item>
                    <item name="switcherConfig" xsi:type="array">
                        <item name="enabled" xsi:type="boolean">true</item>
                        <item name="rules" xsi:type="array">
                            <item name="0" xsi:type="array">
                                <item name="value" xsi:type="number">0</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.product_page_options</item>
                                        <item name="callback" xsi:type="string">doHideShow</item>
                                    </item>
                                </item>
                            </item>
                            <item name="1" xsi:type="array">
                                <item name="value" xsi:type="number">1</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.product_page_options</item>
                                        <item name="callback" xsi:type="string">doHideShow</item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </item>
            </argument>
        </field>
    </fieldset>
    <fieldset name="product_page_options">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="label" xsi:type="string" translate="true">Product Page Display Options</item>
                <item name="additionalClasses" xsi:type="string">amgroupcat-fieldset-container -custom -line</item>
                <item name="component" xsi:type="string">Amasty_Groupcat/js/form/element/price-fieldset</item>
                <item name="hideProduct" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.product_conditions.hide_product</item>
                <item name="applyToOutOfStock" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.product_conditions.actions_apply_to.apply_to_out_of_stock</item>
                <item name="allowDirectLinks" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.restriction_action.allow_direct_links</item>
                <item name="template" xsi:type="string">Amasty_Groupcat/form/fieldset</item>
                <item name="collapsible" xsi:type="boolean">true</item>
                <item name="sortOrder" xsi:type="number">30</item>
            </item>
        </argument>
        <field name="price_action">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Amasty\Groupcat\Model\Rule\PriceActionOptionsProvider</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Hide Price</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-radio-container</item>
                    <item name="tooltip" xsi:type="array">
                        <item name="description" xsi:type="string" translate="true">Select the behavior for price hiding applied to a certain group of customers. The 'Replace with text' condition offers you to display custom text instead of price. The option 'Replace to request form' should be used if you want to display a link to the request form.</item>
                    </item>
                    <item name="template" xsi:type="string">Amasty_Groupcat/form/radio</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">radioset</item>
                    <item name="value" xsi:type="string">0</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">price_action</item>
                    <item name="switcherConfig" xsi:type="array">
                        <item name="enabled" xsi:type="boolean">true</item>
                        <item name="rules" xsi:type="array">
                            <item name="0" xsi:type="array">
                                <item name="value" xsi:type="number">0</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.block_id_view</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="1" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.block_id_list</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="2" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.hide_cart</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">show</item>
                                    </item>
                                </item>
                            </item>
                            <item name="1" xsi:type="array">
                                <item name="value" xsi:type="number">1</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.block_id_view</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="1" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.block_id_list</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="2" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.hide_cart</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                </item>
                            </item>
                            <item name="2" xsi:type="array">
                                <item name="value" xsi:type="number">2</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.block_id_view</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">show</item>
                                    </item>
                                    <item name="1" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.block_id_list</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">show</item>
                                    </item>
                                    <item name="2" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.hide_cart</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                </item>
                            </item>
                            <item name="3" xsi:type="array">
                                <item name="value" xsi:type="number">3</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.block_id_view</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="1" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.block_id_list</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="2" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.hide_cart</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </item>
            </argument>
        </field>
        <field name="block_id_view">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Replacement block for product page</item>
                    <item name="fieldGroup" xsi:type="string">bool</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="value" xsi:type="string">0</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">block_id_view</item>
                </item>
                <item name="options" xsi:type="object">Amasty\Groupcat\Model\Rule\CmsBlockOptionsProvider</item>
            </argument>
        </field>
        <field name="block_id_list">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Replacement block for categories page</item>
                    <item name="fieldGroup" xsi:type="string">bool</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="value" xsi:type="string">0</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">block_id_list</item>
                </item>
                <item name="options" xsi:type="object">Amasty\Groupcat\Model\Rule\CmsBlockOptionsProvider</item>
            </argument>
        </field>
        <field name="hide_cart">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Hide "Add to cart" button</item>
                    <item name="visible" xsi:type="boolean">true</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                    <item name="dataType" xsi:type="string">boolean</item>
                    <item name="formElement" xsi:type="string">checkbox</item>
                    <item name="prefer" xsi:type="string">toggle</item>
                    <item name="valueMap" xsi:type="array">
                        <item name="true" xsi:type="number">1</item>
                        <item name="false" xsi:type="number">0</item>
                    </item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">hide_cart</item>
                    <item name="default" xsi:type="number">0</item>
                </item>
            </argument>
        </field>
        <field name="hide_wishlist">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Hide "Add to wishlist" button</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                    <item name="dataType" xsi:type="string">boolean</item>
                    <item name="formElement" xsi:type="string">checkbox</item>
                    <item name="prefer" xsi:type="string">toggle</item>
                    <item name="valueMap" xsi:type="array">
                        <item name="true" xsi:type="number">1</item>
                        <item name="false" xsi:type="number">0</item>
                    </item>
                    <item name="default" xsi:type="number">0</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">hide_wishlist</item>
                </item>
            </argument>
        </field>
        <field name="hide_compare">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Hide "Add to compare" button</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                    <item name="dataType" xsi:type="string">boolean</item>
                    <item name="formElement" xsi:type="string">checkbox</item>
                    <item name="prefer" xsi:type="string">toggle</item>
                    <item name="valueMap" xsi:type="array">
                        <item name="true" xsi:type="number">1</item>
                        <item name="false" xsi:type="number">0</item>
                    </item>
                    <item name="default" xsi:type="number">0</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">hide_compare</item>
                </item>
            </argument>
        </field>
        <container name="product_image">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="template" xsi:type="string">Amasty_Groupcat/product-image</item>
                    <item name="component" xsi:type="string">Amasty_Groupcat/js/product-image</item>
                    <item name="imports" xsi:type="array">
                        <item name="hidePrice" xsi:type="string">${ $.parentName }.price_action:value</item>
                        <item name="hideCart" xsi:type="string">${ $.parentName }.hide_cart:value</item>
                        <item name="hideWishlist" xsi:type="string">${ $.parentName }.hide_wishlist:value</item>
                        <item name="hideCompare" xsi:type="string">${ $.parentName }.hide_compare:value</item>
                    </item>
                </item>
            </argument>
        </container>
    </fieldset>
    <fieldset name="restriction_action">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="label" xsi:type="string" translate="true">Direct Links</item>
                <item name="additionalClasses" xsi:type="string">amgroupcat-fieldset-container</item>
            </item>
        </argument>
        <field name="allow_direct_links">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Config\Model\Config\Source\Yesno</item>
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Allow Direct Links</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-checkbox</item>
                    <item name="fieldGroup" xsi:type="string">bool</item>
                    <item name="dataType" xsi:type="string">boolean</item>
                    <item name="formElement" xsi:type="string">checkbox</item>
                    <item name="default" xsi:type="string">1</item>
                    <item name="prefer" xsi:type="string">toggle</item>
                    <item name="valueMap" xsi:type="array">
                        <item name="true" xsi:type="number">1</item>
                        <item name="false" xsi:type="number">0</item>
                    </item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">allow_direct_links</item>
                    <item name="switcherConfig" xsi:type="array">
                        <item name="enabled" xsi:type="boolean">true</item>
                        <item name="rules" xsi:type="array">
                            <item name="0" xsi:type="array">
                                <item name="value" xsi:type="number">0</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.forbidden_action</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">show</item>
                                    </item>
                                    <item name="1" xsi:type="array">
                                        <item name="target" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.product_page_options</item>
                                        <item name="callback" xsi:type="string">doHideShow</item>
                                    </item>
                                </item>
                            </item>
                            <item name="1" xsi:type="array">
                                <item name="value" xsi:type="number">1</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.forbidden_action</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="1" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.forbidden_page_id</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="2" xsi:type="array">
                                        <item name="target" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.product_page_options</item>
                                        <item name="callback" xsi:type="string">doHideShow</item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                    <item name="component" xsi:type="string">Amasty_Groupcat/js/form/element/forbid-action</item>
                    <item name="checkField" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.restriction_action.forbidden_action</item>
                    <item name="showField" xsi:type="string">amasty_groupcat_rule_form.amasty_groupcat_rule_form.restriction_action.forbidden_page_id</item>
                    <item name="showFieldOnValue" xsi:type="string">1</item>
                </item>
            </argument>
        </field>
        <field name="forbidden_action">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Action On Forbid</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-select</item>
                    <item name="fieldGroup" xsi:type="string">bool</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="value" xsi:type="string">0</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">forbidden_action</item>
                    <item name="notice" xsi:type="string" translate="true">This action will be applied when requested category or product page will be forbidden by this rule</item>
                    <item name="switcherConfig" xsi:type="array">
                        <item name="enabled" xsi:type="boolean">true</item>
                        <item name="rules" xsi:type="array">
                            <item name="0" xsi:type="array">
                                <item name="value" xsi:type="number">0</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.forbidden_page_id</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">hide</item>
                                    </item>
                                    <item name="1" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.forbidden_page_id</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">setValidation</item>
                                        <item name="params" xsi:type="array">
                                            <item name="0" xsi:type="string">required-entry</item>
                                            <item name="1" xsi:type="string">0</item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                            <item name="1" xsi:type="array">
                                <item name="value" xsi:type="number">1</item>
                                <item name="actions" xsi:type="array">
                                    <item name="0" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.forbidden_page_id</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">show</item>
                                    </item>
                                    <item name="1" xsi:type="array">
                                        <item name="target" xsi:type="string">${ $.parentName }.forbidden_page_id</item>
                                        <item name="__disableTmpl" xsi:type="array">
                                            <item name="target" xsi:type="boolean">false</item>
                                        </item>
                                        <item name="callback" xsi:type="string">setValidation</item>
                                        <item name="params" xsi:type="array">
                                            <item name="0" xsi:type="string">required-entry</item>
                                            <item name="1" xsi:type="string">1</item>
                                        </item>
                                    </item>
                                </item>
                            </item>
                        </item>
                    </item>
                </item>
                <item name="options" xsi:type="object">Amasty\Groupcat\Model\Rule\ForbiddenActionOptionsProvider</item>
            </argument>
        </field>
        <field name="forbidden_page_id">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">CMS page redirect to</item>
                    <item name="additionalClasses" xsi:type="string">amgroupcat-field-select</item>
                    <item name="fieldGroup" xsi:type="string">bool</item>
                    <item name="dataType" xsi:type="string">number</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="value" xsi:type="string">0</item>
                    <item name="source" xsi:type="string">groupcat_rule</item>
                    <item name="dataScope" xsi:type="string">forbidden_page_id</item>
                    <item name="notice" xsi:type="string" translate="true">Customers will be redirected to this CMS page when they try to access a forbidden page</item>
                </item>
                <item name="options" xsi:type="object">Amasty\Groupcat\Model\Rule\CmsPageOptionsProvider</item>
            </argument>
        </field>
    </fieldset>
</form>
