<?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">
    <argument name="data" xsi:type="array">
        <item name="js_config" xsi:type="array">
            <item name="provider" xsi:type="string">productdesigner_designtemplates_form.productdesigner_designtemplates_form_data_source</item>
            <item name="deps" xsi:type="string">productdesigner_designtemplates_form.productdesigner_designtemplates_form_data_source</item>
        </item>
        <item name="config" xsi:type="array">
            <item name="dataScope" xsi:type="string">data</item>
            <item name="namespace" xsi:type="string">productdesigner_designtemplates_form_data_source</item>
        </item>
        <item name="label" xsi:type="string" translate="true">DESIGN TEMPLATE INFORMATION</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="array">
                <item name="name" xsi:type="string">save</item>
                <item name="label" xsi:type="string" translate="true">Save</item>
                <item name="class" xsi:type="string">save primary</item>
            </item>
            <item name="save_and_continue" xsi:type="string">
                Brushyourideas\Productdesigner\Block\Adminhtml\Button\SaveAndContinueButton
            </item>
        </item>
    </argument>
    <settings>
        <layout>
            <navContainerName>left</navContainerName>
            <type>tabs</type>
        </layout>
    </settings>
    <dataSource name="productdesigner_designtemplates_form_data_source">
        <argument name="dataProvider" xsi:type="configurableObject">
            <argument name="class" xsi:type="string">Brushyourideas\Productdesigner\Model\DesignTemplates\DataProvider</argument>
            <argument name="name" xsi:type="string">productdesigner_designtemplates_form_data_source</argument>
            <argument name="primaryFieldName" xsi:type="string">designtemplates_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="*/*/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="product_id">
        <settings>
            <label translate="true">Products in Template</label>
        </settings>
        <container name="assign_products_container" >
            <htmlContent name="html_content">
                <argument name="block" xsi:type="object">Brushyourideas\Productdesigner\Block\Adminhtml\Products\Edit\AssignProducts</argument>
            </htmlContent>
        </container>
    </fieldset>
    <fieldset name="general">
        <settings>
            <label translate="true">Design Template Information</label>
        </settings>
        <hidden name="designtemplates_id">
        </hidden>
        <field name="template_title">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Template Title</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">template_title</item>
                    <item name="placeholder" xsi:type="string" translate="true">Template Title</item>
                   <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                        <item name="validate-no-html-tags" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
        </field>
        <field name="visible" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Visible in front</item>
                    <item name="visible" xsi:type="boolean">true</item>
                    <item name="default" xsi:type="string">1</item>
                    <item name="dataScope" xsi:type="string">visible</item>
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                </item>
                <item name="options" xsi:type="object">Brushyourideas\Productdesigner\Model\Source\CustomYesNo</item>
            </argument>
        </field>
        <field name="url_hidden_id" formElement="hidden">
            <settings>
                <dataType>text</dataType>
            </settings>
        </field>
        <radioset name="method">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="default" xsi:type="string">uploadartwork</item>
                    <item name="component" xsi:type="string">Brushyourideas_Productdesigner/js/templateartwork</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
            <settings>
                <label translate="true">Methods</label>
                <options>
                    <option name="0" xsi:type="array">
                        <item name="value" xsi:type="string">uploadartwork</item>
                        <item name="label" xsi:type="string" translate="true">Upload Art Work</item>
                    </option>
                    <option name="1" xsi:type="array">
                        <item name="value" xsi:type="string">chooseartwork</item>
                        <item name="label" xsi:type="string" translate="true">Select Artwork</item>
                    </option>
                    <option name="2" xsi:type="array">
                        <item name="value" xsi:type="string">gotodesign</item>
                        <item name="label" xsi:type="string" translate="true">Design It</item>
                    </option>
                </options>
            </settings>
        </radioset>
        <field name="artwork_path">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="label" xsi:type="string" translate="true">Artwork File</item>
                    <item name="additionalClasses" xsi:type="array">
                        <item name="template-artwork-file-upload" xsi:type="boolean">true</item>
                    </item>
                    <item name="visible" xsi:type="boolean">true</item>
                    <item name="formElement" xsi:type="string">fileUploader</item>
                    <item name="notice" xsi:type="string" translate="true">Accepted Files : SVG</item>
                    <item name="allowedExtensions" xsi:type="string">svg</item>
                    <item name="previewTmpl" xsi:type="string">Brushyourideas_Productdesigner/image-preview</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                    <item name="uploaderConfig" xsi:type="array">
                        <item name="url" xsi:type="url" path="productdesigner/fonts/upload"/>
                    </item>
                </item>
            </argument>
        </field>
    </fieldset>
</form>