<?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"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">

    <!-- list all examplefeatures in a tabular format -->
    <screen name="FindExampleFeature">
        <section>
            <actions>
                <set field="headerItem" value="ExampleFeature"/>
                <set field="titleProperty" value="PageTitleFindExampleFeature"/>
                <set field="exampleFeatureCtx" from-field="parameters"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission permission="EXAMPLE" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
                                    <decorator-section name="menu-bar">
                                        <container style="button-bar"><link target="EditExampleFeature" text="${uiLabelMap.ExampleNewExampleFeature}" style="buttontext"/></container>
                                    </decorator-section>
                                    <decorator-section name="search-options">
                                        <include-form name="FindExampleFeatures" location="component://example/widget/example/ExampleFeatureForms.xml"/>
                                    </decorator-section>
                                    <decorator-section name="search-results">
                                        <include-form name="ListExampleFeatures" location="component://example/widget/example/ExampleFeatureForms.xml"/>
                                    </decorator-section>
                                </decorator-screen>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ExampleViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditExampleFeature">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditExampleFeature"/>
                <set field="tabButtonItem" value="EditExampleFeature"/>
                <set field="exampleFeatureId" from-field="parameters.exampleFeatureId"/>
                <entity-one entity-name="ExampleFeature" value-field="exampleFeature"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonExampleFeatureDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <include-form name="EditExampleFeature" location="component://example/widget/example/ExampleFeatureForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditExampleFeatureExampleAppls">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditExampleFeatureExampleAppls"/>
                <set field="tabButtonItem" value="EditExampleFeatureExampleAppls"/>
                <set field="exampleFeatureId" from-field="parameters.exampleFeatureId"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonExampleFeatureDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <include-form name="ListExampleFeatureAppls" location="component://example/widget/example/ExampleFeatureForms.xml"/>
                        <include-form name="AddExampleFeatureAppl" location="component://example/widget/example/ExampleFeatureForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="LookupExampleFeature">
        <section>
            <condition>
                <if-has-permission permission="EXAMPLE" action="_VIEW"/>
            </condition>
            <actions>
                <property-map resource="ExampleUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="title" value="${uiLabelMap.PageTitleLookupExampleFeature}"/>
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="10"/>
            </actions>

            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="LookupFindExampleFeature" location="component://example/widget/example/ExampleFeatureForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="LookupListExampleFeature" location="component://example/widget/example/ExampleFeatureForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
