<?xml version="1.0" ?>
<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">ctsg_source_address_form.ctsg_source_address_form_data_source</item>
		</item>
		<item name="label" xsi:type="string" translate="true">General Information</item>
	</argument>
	<settings>
		<buttons>
			<button name="back" class="CTSG\Account\Block\Adminhtml\Ctsg\SourceAddress\Account\Edit\BackButton"/>
			<button name="delete" class="CTSG\Account\Block\Adminhtml\Ctsg\SourceAddress\Account\Edit\DeleteButton"/>
			<button name="save" class="CTSG\Account\Block\Adminhtml\Ctsg\SourceAddress\Account\Edit\SaveButton"/>
			<button name="save_and_continue" class="CTSG\Account\Block\Adminhtml\Ctsg\SourceAddress\Account\Edit\SaveAndContinueButton"/>
		</buttons>
        <layout>
            <navContainerName>left</navContainerName>
            <type>tabs</type>
        </layout>
		<namespace>ctsg_source_address_form</namespace>
		<dataScope>data</dataScope>
		<deps>
			<dep>ctsg_source_address_form.ctsg_source_address_form_data_source</dep>
		</deps>
	</settings>
	<dataSource name="ctsg_source_address_form_data_source">
		<argument name="data" xsi:type="array">
			<item name="js_config" xsi:type="array">
				<item name="component" xsi:type="string">Magento_Ui/js/form/provider</item>
			</item>
		</argument>
		<settings>
			<submitUrl path="*/*/save"/>
		</settings>
		<dataProvider name="ctsg_source_address_form_data_source" class="CTSG\Account\Model\SourceAddress\DataProvider">
			<settings>
				<requestFieldName>entity_id</requestFieldName>
				<primaryFieldName>entity_id</primaryFieldName>
			</settings>
		</dataProvider>
	</dataSource>
	<fieldset name="general">
		<settings>
			<label>General</label>
		</settings>
        <field name="parent_id" component="CTSG_Account/js/form/components/parent_account/select-users" sortOrder="40" formElement="select">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="filterOptions" xsi:type="boolean">true</item>
                    <item name="multiple" xsi:type="boolean">false</item>
                    <item name="showCheckbox" xsi:type="boolean">true</item>
                    <item name="disableLabel" xsi:type="boolean">true</item>
                </item>
            </argument>
            <settings>
                <required>true</required>
                <validation>
                    <rule name="required-entry" xsi:type="boolean">false</rule>
                </validation>
                <elementTmpl>ui/grid/filters/elements/ui-select</elementTmpl>
                <label translate="true">Parent Id</label>
                <dataScope>data.parent_id</dataScope>
                <componentType>field</componentType>
                <listens>
                    <link name="${ $.namespace }.${ $.namespace }:responseData">setParsed</link>
                </listens>
            </settings>
            <formElements>
                <select>
                    <settings>
                        <options class="CTSG\ShippingAccount\Ui\Component\Form\Select\User\Options"/>
                    </settings>
                </select>
            </formElements>
        </field>
		<field name="firstname" formElement="input" sortOrder="10">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">First Name</label>
				<dataScope>firstname</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
			</settings>
		</field>
		<field name="middlename" formElement="input" sortOrder="60">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Middle Name</label>
				<dataScope>middlename</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">false</rule>
				</validation>
			</settings>
		</field>
		<field name="lastname" formElement="input" sortOrder="70">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Last Name</label>
				<dataScope>lastname</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
			</settings>
		</field>
		<field name="email" formElement="input" sortOrder="80">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Email</label>
				<dataScope>email</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">false</rule>
				</validation>
			</settings>
		</field>
		<field name="company" formElement="input" sortOrder="90">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Company</label>
				<dataScope>company</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
			</settings>
		</field>
		<field name="postcode" formElement="input" sortOrder="100">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Postal Code</label>
				<dataScope>postcode</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
			</settings>
		</field>
		<field name="street" formElement="input" sortOrder="110">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Street</label>
				<dataScope>street</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
			</settings>
		</field>
		<field name="city" formElement="input" sortOrder="120">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">City</label>
				<dataScope>city</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
			</settings>
		</field>
        <field name="region">
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="label" xsi:type="string" translate="true">State/Region</item>
                    <item name="formElement" xsi:type="string">input</item>
                    <item name="source" xsi:type="string">ctsg_source_address</item>
                    <item name="sortOrder" xsi:type="number">130</item>
                    <item name="visible" xsi:type="boolean">false</item>
                </item>
            </argument>
        </field>
        <field name="region_id">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Directory\Model\ResourceModel\Region\Collection</item>
                <item name="config" xsi:type="array">
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="label" xsi:type="string" translate="true">State/Region</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="source" xsi:type="string">ctsg_source_address</item>
                    <item name="sortOrder" xsi:type="number">130</item>
                    <item name="customEntry" xsi:type="string">region</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                    <item name="filterBy" xsi:type="array">
                        <item name="target" xsi:type="string">${ $.provider }:${ $.parentScope }.country_id</item>
                        <item name="field" xsi:type="string">country_id</item>
                    </item>
                </item>
            </argument>
        </field>
        <field name="country_id">
            <argument name="data" xsi:type="array">
                <item name="options" xsi:type="object">Magento\Directory\Model\Config\Source\Country</item>
                <item name="config" xsi:type="array">
                    <item name="dataType" xsi:type="string">text</item>
                    <item name="label" xsi:type="string" translate="true">Country</item>
                    <item name="formElement" xsi:type="string">select</item>
                    <item name="source" xsi:type="string">ctsg_source_address</item>
                    <item name="sortOrder" xsi:type="number">140</item>
                    <item name="component" xsi:type="string">Magento_Ui/js/form/element/country</item>
                    <item name="validation" xsi:type="array">
                        <item name="required-entry" xsi:type="boolean">true</item>
                    </item>
                </item>
            </argument>
        </field>
		<field name="fax" formElement="input" sortOrder="150">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Fax</label>
				<dataScope>fax</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">false</rule>
				</validation>
			</settings>
		</field>
		<field name="telephone" formElement="input" sortOrder="160">
			<argument name="data" xsi:type="array">
				<item name="config" xsi:type="array">
					<item name="source" xsi:type="string">ctsg_source_address</item>
				</item>
			</argument>
			<settings>
				<dataType>text</dataType>
				<label translate="true">Telephone</label>
				<dataScope>telephone</dataScope>
				<validation>
					<rule name="required-entry" xsi:type="boolean">true</rule>
				</validation>
			</settings>
		</field>
	</fieldset>
</form>
