<?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.
-->

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">
    <screen name="ListPartyContactLists">
        <section>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap"/>
                <set field="titleProperty" value="PageTitleListContactList"/>
                <set field="headerItem" value="find"/>
                <set field="tabButtonItem" value="ContactList"/>
                <set field="partyId" value="${parameters.partyId}"/>
                <set field="entityName" value="ContactListParty"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonPartyDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for PARTYMGR, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="PARTYMGR" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <screenlet id="AddPartyContactListPanel" title="${uiLabelMap.PartyContactListPartyCreate}" collapsible="true">
                                    <include-form name="AddPartyContactList" location="component://party/widget/partymgr/PartyContactListForms.xml"/>
                                </screenlet>
                                <include-form name="ListPartyContactLists" location="component://party/widget/partymgr/PartyContactListForms.xml"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.PartyMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
   <screen name="ListLookupContactList">
        <section>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap"/>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="tabButtonItem" value="ContactList"/>
                <set field="labelTitleProperty" value="${uiLabelMap.PageTitleListContactList}"/>
                <set field="title" value="${uiLabelMap.PageTitleListContactList}"/>
                <set field="donePage" from-field="parameters.DONE_PAGE" default-value="/marketing/control/ListContactList"/>
                <set field="contactListId" from-field="parameters.contactListId"/>
                <set field="entityName" value="ContactList"/>
                <set field="searchFields" value="[contactListId, contactListName, description]"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-results">
                        <include-form name="ListLookupContactList" location="component://party/widget/partymgr/PartyContactListForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
