<?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="CommonPortletEdit" type="single" target="setPortalPortletAttributes" title="" default-map-name="attributeMap">
        <actions>
            <service service-name="getPortletAttributes">
                <field-map field-name="portalPageId" from-field="parameters.portalPageId"/>
                <field-map field-name="portalPortletId" from-field="parameters.portalPortletId"/>
                <field-map field-name="portletSeqId" from-field="parameters.portletSeqId"/>
            </service>
        </actions>
        <field name="portalPageId"><hidden value="${parameters.portalPageId}"/></field>
        <field name="portalPortletId"><hidden value="${parameters.portalPortletId}"/></field>
        <field name="portletSeqId"><hidden value="${parameters.portletSeqId}"/></field>
    </form>
    <!--#Bam# portletEditForm  -->
    <!-- use by portlet throws an extend form-->
    <!-- mgmtPageId : portal page with research and quick vision -->
    <!-- recapPageId : portal page to see associate data -->
    <!-- newPageId : portal page to create new entity value -->
    <!-- targetPageId : portal page to retrieve information present on calling portlet -->
    <form name="CommonListPageParam" extends="CommonPortletEdit">
        <field name="mgmtPageId"><lookup target-form-name="LookupPortalPage"/></field>
        <field name="newPageId"><lookup target-form-name="LookupPortalPage"/></field>
        <field name="recapPageId"><lookup target-form-name="LookupPortalPage"/></field>
    </form>
    <form name="CommonMgmtPageParam" extends="CommonPortletEdit">
        <field name="mgmtPageId"><lookup target-form-name="LookupPortalPage"/></field>
    </form>
    <form name="CommonRecapPageParam" extends="CommonPortletEdit">
        <field name="recapPageId"><lookup target-form-name="LookupPortalPage"/></field>
    </form>
    <form name="CommonTargetPageParam" extends="CommonPortletEdit">
        <field name="targetPageId"><lookup target-form-name="LookupPortalPage"/></field>
    </form>
    <!--#Bam# use directly by portlet without extends form-->
    <form name="GenericMgmtPageParam" extends="CommonMgmtPageParam">
        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="GenericRecapPageParam" extends="CommonRecapPageParam">
        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="GenericSelectPageParam" extends="CommonPortletEdit">
        <field name="lookupName"><text/></field>
        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="GenericFindPageParam" extends="CommonTargetPageParam">
        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="GenericListPageParam" extends="CommonListPageParam">
        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="GenericShowMenu" extends="CommonPortletEdit">
        <field name="showMenu"><radio><option key="Y"/><option key="N"/></radio></field>
        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <form name="GenericEditEditOrShowParam" extends="CommonPortletEdit">
        <field name="showEditButton"><radio><option key="Y"/><option key="N"/></radio></field>
        <field name="showScreenletMenu"><radio><option key="Y"/><option key="N"/></radio></field>
        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>
    <!--#Eam# portletEditForm  -->

</forms>
