<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">

    <form name="lookupPartyName" target="LookupPartyExamplePopup" type="single"
        header-row-style="header-row" default-table-style="basic-table">
        <!--<auto-fields-entity entity-name="PartyNameView" default-field-type="find"/>-->
        <field name="partyId" title="${uiLabelMap.PartyPartyId}"><text-find/></field>
        <field name="partyTypeId" title="${uiLabelMap.PartyTypeId}">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="PartyType"/>
            </drop-down>
        </field>
        <field name="firstName" title="${uiLabelMap.PartyFirstName}"><text-find/></field>
        <field name="lastName"  title="${uiLabelMap.PartyLastName}"><text-find/></field>
        <field name="groupName" title="${uiLabelMap.PartyGroupName}"><text-find/></field>
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="submitButton" title="${uiLabelMap.CommonFind}"><submit button-type="button"/></field>
    </form>
    <form name="listLookupPartyName" type="list" list-name="listIt" paginate-target="LookupPartyExamplePopup"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <actions>
            <set field="inputFields" from-field="parameters"/>
            <set field="orderBy" value="partyId"/>
            <set field="entityName" value="PartyNameView"/>
            <script location="component://party/webapp/partymgr/WEB-INF/actions/party/FindLookUp.groovy"/>
        </actions>
        <!--<auto-fields-entity entity-name="PartyNameView" default-field-type="display"/>-->
        <field name="partyId" title="${uiLabelMap.PartyPartyId}"  widget-style="smallSubmit">
            <hyperlink also-hidden="false" target-type="plain" description="${partyId}" target="javascript:set_value('${partyId}')"/>
        </field>
        <field name="partyTypeId" title="${uiLabelMap.PartyTypeId}">
            <display-entity also-hidden="false" entity-name="PartyType" description="${description}"/>
        </field>
        <field name="firstName" title="${uiLabelMap.PartyFirstName}"><display/></field>
        <field name="lastName"  title="${uiLabelMap.PartyLastName}"><display/></field>
        <field name="groupName" title="${uiLabelMap.PartyGroupName}"><display/></field>
    </form>

    <!-- Lookup By Name -->
    <form name="lookupPartyNameByName" target="LookupPartyExamplePopupByName" type="single"
        header-row-style="header-row" default-table-style="basic-table">
        <!--<auto-fields-entity entity-name="PartyNameView" default-field-type="find"/>-->
        <field name="secLayFrom" title="Layer Layer Field">
            <lookup target-form-name="LookupPartyExamplePopup" presentation="layer" position="center" fade-background="false"/>
        </field>
        <field name="partyId" title="${uiLabelMap.PartyPartyId}"><text-find/></field>
        <field name="partyTypeId" title="${uiLabelMap.PartyTypeId}">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="PartyType"/>
            </drop-down>
        </field>
        <field name="firstName" title="${uiLabelMap.PartyFirstName}"><text-find/></field>
        <field name="lastName"  title="${uiLabelMap.PartyLastName}"><text-find/></field>
        <field name="groupName" title="${uiLabelMap.PartyGroupName}"><text-find/></field>
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="submitButton" title="${uiLabelMap.CommonFind}"><submit button-type="button"/></field>
    </form>
    <form name="listLookupPartyNameByName" type="list" list-name="listIt" paginate-target="LookupPartyExamplePopupByName"
        odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
        <actions>
            <set field="inputFields" from-field="parameters"/>
            <set field="orderBy" value="partyId"/>
            <set field="entityName" value="PartyNameView"/>
            <script location="component://party/webapp/partymgr/WEB-INF/actions/party/FindLookUp.groovy"/>
        </actions>
        <!--<auto-fields-entity entity-name="PartyNameView" default-field-type="display"/>-->
        <field name="partyId" title="${uiLabelMap.PartyPartyId}"  widget-style="smallSubmit">
            <hyperlink also-hidden="false" target-type="plain" description="${partyId}" target="javascript:set_values('${firstName} ${lastName}','${partyId}')"/>
        </field>
        <field name="partyTypeId" title="${uiLabelMap.PartyTypeId}">
            <display-entity also-hidden="false" entity-name="PartyType" description="${description}"/>
        </field>
        <field name="firstName" title="${uiLabelMap.PartyFirstName}"><display/></field>
        <field name="lastName"  title="${uiLabelMap.PartyLastName}"><display/></field>
        <field name="groupName" title="${uiLabelMap.PartyGroupName}"><display/></field>
    </form>

    <form name="lookupPersonByName" target="LookupPersonByNameExamplePopup" extends="lookupPerson" extends-resource="component://party/widget/partymgr/LookupForms.xml"/>
    <form name="listLookupPersonByName" extends="listLookupPerson" extends-resource="component://party/widget/partymgr/LookupForms.xml">
        <field name="partyId" widget-style="smallSubmit" title="${uiLabelMap.VinopsPartyId}">
            <hyperlink also-hidden="false" target-type="plain" description="${partyId}"
                target="javascript:set_values('${firstName} ${lastName}','${partyId}')"/>
        </field>
    </form>

</forms>