<?xml version="1.0" encoding="UTF-8"?>
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd" extends="pagebuilder_base_form">
    <argument name="data" xsi:type="array">
        <item name="js_config" xsi:type="array">
            <item name="provider" xsi:type="string">pagebuilder_dotdigitalgroup_form_form.pagebuilder_dotdigitalgroup_form_form_data_source</item>
        </item>
        <item name="label" xsi:type="string" translate="true">Dotdigital form</item>
    </argument>
    <settings>
        <namespace>pagebuilder_dotdigitalgroup_form_form</namespace>
        <deps>
            <dep>pagebuilder_dotdigitalgroup_form_form.pagebuilder_dotdigitalgroup_form_form_data_source</dep>
        </deps>
    </settings>
    <dataSource name="pagebuilder_dotdigitalgroup_form_form_data_source">
        <argument name="data" xsi:type="array">
            <item name="js_config" xsi:type="array">
                <item name="component" xsi:type="string">Magento_PageBuilder/js/form/provider</item>
            </item>
        </argument>
        <dataProvider name="pagebuilder_dotdigitalgroup_form_form_data_source" class="Magento\PageBuilder\Model\ContentType\DataProvider">
            <settings>
                <requestFieldName/>
                <primaryFieldName/>
            </settings>
        </dataProvider>
    </dataSource>
    <container sortOrder="5" name="dotdigital_api_creds_check" component="Magento_Ui/js/form/components/html" class="Dotdigitalgroup\PageBuilder\Component\DotdigitalApiValidationContainer">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="additionalClasses" xsi:type="string">message message-warning</item>
                <item name="visible" xsi:type="boolean">false</item>
                <item name="dotdigital_configuration_url" xsi:type="string">adminhtml/system_config/edit/section/connector_api_credentials</item>
                <item name="content" xsi:type="string" translate="true"><![CDATA[An active Dotdigital account is required to use this feature. Please enable your account <a href="%s" target="_blank">here</a>.]]></item>
            </item>
        </argument>
    </container>
    <fieldset name="advanced">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="componentDisabled" xsi:type="boolean">true</item>
            </item>
        </argument>
    </fieldset>
    <fieldset name="appearance_fieldset" sortOrder="10" component="Magento_PageBuilder/js/form/element/dependent-fieldset">
        <settings>
            <label translate="true">Appearance</label>
            <additionalClasses>
                <class name="admin__fieldset-visual-select-large">true</class>
            </additionalClasses>
            <collapsible>false</collapsible>
            <opened>true</opened>
            <imports>
                <link name="hideFieldset">${$.name}.appearance:options</link>
                <link name="hideLabel">${$.name}.appearance:options</link>
            </imports>
        </settings>
        <field name="appearance" formElement="select" sortOrder="10" component="Magento_PageBuilder/js/form/element/dependent-visual-select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="default" xsi:type="string">default</item>
                </item>
            </argument>
            <settings>
                <additionalClasses>
                    <class name="admin__field-wide">true</class>
                    <class name="admin__field-visual-select-container">true</class>
                </additionalClasses>
                <dataType>text</dataType>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">true</rule>
                </validation>
                <elementTmpl>Magento_PageBuilder/form/element/visual-select</elementTmpl>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="AppearanceSourceForm"/>
                    </settings>
                </select>
            </formElements>
        </field>
    </fieldset>
    <fieldset name="general" sortOrder="20">
        <settings>
            <label/>
        </settings>
        <container name="account_form_chooser">
            <field name="account_select" sortOrder="10" formElement="select">
                <settings>
                    <dataScope>account_select</dataScope>
                    <dataType>text</dataType>
                    <label translate="true">Select Dotdigital Account</label>
                </settings>
                <formElements>
                    <select>
                        <settings>
                            <options class="Dotdigitalgroup\PageBuilder\Model\Config\Source\PageBuilder\Accounts"/>
                        </settings>
                    </select>
                </formElements>
            </field>
            <field name="form_select" sortOrder="30" formElement="select" component="Dotdigitalgroup_PageBuilder/js/form/element/form-select">
                <settings>
                    <dataScope>form_select</dataScope>
                    <dataType>text</dataType>
                    <label translate="true">Select Form</label>
                    <validation>
                        <rule name="required-entry" xsi:type="boolean">true</rule>
                    </validation>
                    <imports>
                        <link name="accountId">${ $.provider }:data.account_select</link>
                        <link name="baseUrl">${ $.provider }:data.base_url</link>
                    </imports>
                </settings>
            </field>
        </container>
        <field name="form_style" sortOrder="40"  formElement="select" component="Magento_PageBuilder/js/form/element/visual-select">
            <argument name="data" xsi:type="array">
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Style</label>
                <elementTmpl>Magento_PageBuilder/form/element/visual-select</elementTmpl>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="FormStyleSource"/>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="show_after" sortOrder="50" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="default" xsi:type="string">0</item>
                    <item name="disabledValues" xsi:type="array">
                        <item name="none" xsi:type="string">embedded</item>
                    </item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Show After</label>
                <additionalClasses>
                    <class name="admin__field-small">true</class>
                </additionalClasses>
                <imports>
                    <link name="setDisabled">ns = ${ $.ns }, index = form_style:value</link>
                </imports>
                <addAfter translate="true">sec</addAfter>
                <validation>
                    <rule name="validate-number" xsi:type="boolean">true</rule>
                    <rule name="greater-than-equals-to" xsi:type="number">0</rule>
                </validation>
            </settings>
        </field>
        <field name="stop_displaying" sortOrder="60" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="disabledValues" xsi:type="array">
                        <item name="none" xsi:type="string">embedded</item>
                    </item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Stop Displaying</label>
                <imports>
                    <link name="setDisabled">ns = ${ $.ns }, index = form_style:value</link>
                </imports>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="0" xsi:type="array">
                                <item name="value" xsi:type="string">completed</item>
                                <item name="label" xsi:type="string" translate="true">Only when form is completed</item>
                            </option>
                            <option name="1" xsi:type="array">
                                <item name="value" xsi:type="string">appearances</item>
                                <item name="label" xsi:type="string" translate="true">After a number of appearances</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="appearances" sortOrder="70" formElement="input">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="default" xsi:type="string">0</item>
                    <item name="disabledValues" xsi:type="array">
                        <item name="none" xsi:type="string">embedded</item>
                        <item name="none_next" xsi:type="string">completed</item>
                    </item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Appearances</label>
                <imports>
                    <link name="setDisabled">ns = ${ $.ns }, index = form_style:value</link>
                    <link name="setDisabled">ns = ${ $.ns }, index = stop_displaying:value</link>
                </imports>
                <additionalClasses>
                    <class name="admin__field-small">true</class>
                </additionalClasses>
                <validation>
                    <rule name="validate-number" xsi:type="boolean">true</rule>
                    <rule name="greater-than-equals-to" xsi:type="number">0</rule>
                </validation>
            </settings>
        </field>
        <field name="show_mobile" sortOrder="80" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="disabledValues" xsi:type="array">
                        <item name="none" xsi:type="string">embedded</item>
                    </item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Show on mobile devices [not recommended]</label>
                <imports>
                    <link name="setDisabled">ns = ${ $.ns }, index = form_style:value</link>
                </imports>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="0" xsi:type="array">
                                <item name="value" xsi:type="string">false</item>
                                <item name="label" xsi:type="string" translate="true">No</item>
                            </option>
                            <option name="1" xsi:type="array">
                                <item name="value" xsi:type="string">true</item>
                                <item name="label" xsi:type="string" translate="true">Yes</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="enable_use_esc" sortOrder="90" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="disabledValues" xsi:type="array">
                        <item name="none" xsi:type="string">embedded</item>
                    </item>
                </item>
            </argument>
            <settings>
                <dataType>text</dataType>
                <label translate="true">Enable use of 'Esc' to dismiss pop-over</label>
                <imports>
                    <link name="setDisabled">ns = ${ $.ns }, index = form_style:value</link>
                </imports>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options>
                            <option name="0" xsi:type="array">
                                <item name="value" xsi:type="string">true</item>
                                <item name="label" xsi:type="string" translate="true">Yes</item>
                            </option>
                            <option name="1" xsi:type="array">
                                <item name="value" xsi:type="string">false</item>
                                <item name="label" xsi:type="string" translate="true">No</item>
                            </option>
                        </options>
                    </settings>
                </select>
            </formElements>
        </field>
        <field name="add_respondent" sortOrder="100" formElement="select">
            <settings>
                <dataType>text</dataType>
                <label translate="true">Add respondent to the Newsletter Subscribers list</label>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="Magento\Config\Model\Config\Source\Yesno"/>
                    </settings>
                </select>
            </formElements>
        </field>
    </fieldset>
    <field name="script_src" formElement="hidden" sortOrder="110">
        <settings>
            <dataType>text</dataType>
        </settings>
    </field>
    <field name="form_page_id" formElement="hidden" sortOrder="120">
        <settings>
            <dataType>text</dataType>
        </settings>
    </field>
    <field name="form_domain" formElement="hidden" sortOrder="130">
        <settings>
            <dataType>text</dataType>
        </settings>
    </field>
    <field name="form_sharing" formElement="hidden" sortOrder="140">
        <settings>
            <dataType>text</dataType>
        </settings>
    </field>
    <field name="form_attachment" formElement="hidden" sortOrder="150">
        <settings>
            <dataType>text</dataType>
        </settings>
    </field>
</form>
