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

    <screen name="AjaxExample">
        <section>
            <actions>
                <set field="headerItem" value="AjaxExample"/>
                <set field="titleProperty" value="PageTitleFindExample"/>
                <set field="exampleCtx" 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>
                                <container style="h1"><label>${uiLabelMap[titleProperty]}</label></container>
                                <section>
                                    <condition>
                                        <if-compare field="javaScriptEnabled" value="true" operator="equals"/>
                                    </condition>
                                    <widgets/>
                                    <fail-widgets>
                                        <container style="button-bar"><label>${uiLabelMap.ExampleAjaxIntro}</label></container>
                                    </fail-widgets>
                                </section>
                                <container id="ListExamplesAjax">
                                    <include-screen name="ListExampleFormOnly"/>
                                </container>
                                <container style="h2"><label>${uiLabelMap.ExampleNewExample}</label></container>
                                <container id="EditExampleAjax">
                                    <include-screen name="CreateExampleFormOnly"/>
                                </container>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ExampleViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="ListExampleFormOnly">
        <section>
            <condition>
                <if-has-permission permission="EXAMPLE" action="_VIEW"/>
            </condition>
            <actions>
                <!-- NOTE: these are needed because this may be run as a top level screen and would have no decorator -->
                <property-map resource="ExampleUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>
            <widgets>
                <include-form name="ListExamplesAjax" location="component://example/widget/example/ExampleForms.xml"/>
            </widgets>
        </section>
    </screen>

    <screen name="CreateExampleFormOnly">
        <section>
            <condition>
                <if-has-permission permission="EXAMPLE" action="_VIEW"/>
            </condition>
            <actions>
                <!-- these are only needed so that when bsh evaluates use-when attributes these will exist and not cause an error -->
                <property-map resource="ExampleUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="exampleId" from-field="parameters.exampleId"/>
                <entity-one entity-name="Example" value-field="example"/>
            </actions>
            <widgets>
                <include-form name="EditExampleBackgroundSubmit" location="component://example/widget/example/ExampleForms.xml"/>
            </widgets>
        </section>
    </screen>

</screens>
