<?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="FindInventoryItemLabels">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleFindInventoryItemLabels"/>
                <set field="headerItem" value="inventoryItemLabel"/>
                <set field="tabButtonItem" value="FindInventoryItemLabels"/>
                <entity-condition entity-name="InventoryItemLabel" list="inventoryItemLabels"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonInventoryItemLabelsDecorator" location="${parameters.commonFacilityDecoratorLocation}">
                    <decorator-section name="body">
                        <container style="button-bar">
                            <link target="EditInventoryItemLabel" text="${uiLabelMap.CommonNew}" style="buttontext create"/>
                        </container>
                        <screenlet title="${uiLabelMap.PageTitleFindInventoryItemLabels}">
                            <include-form name="ListInventoryItemLabels" location="component://product/widget/facility/InventoryItemLabelForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="EditInventoryItemLabelTypes">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditInventoryItemLabelTypes"/>
                <set field="headerItem" value="inventoryItemLabel"/>
                <set field="tabButtonItem" value="EditInventoryItemLabelTypes"/>
                <entity-condition entity-name="InventoryItemLabelType" list="inventoryItemLabelTypes"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonInventoryItemLabelsDecorator" location="${parameters.commonFacilityDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet id="AddInventoryItemLabelTypePanel" title="${uiLabelMap.PageTitleAddInventoryItemLabelTypes}" collapsible="true">
                            <include-form name="AddInventoryItemLabelType" location="component://product/widget/facility/InventoryItemLabelForms.xml"/>
                        </screenlet>
                        <include-form name="UpdateInventoryItemLabelTypes" location="component://product/widget/facility/InventoryItemLabelForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="EditInventoryItemLabel">
        <section>
            <actions>
                <set field="titleProperty" value="ProductInventoryItemLabel"/>
                <set field="headerItem" value="inventoryItemLabel"/>
                <set field="tabButtonItem" value="FindInventoryItemLabels"/>
                <set field="subTabButtonItem" value="EditInventoryItemLabel"/>
                <entity-one entity-name="InventoryItemLabel" value-field="inventoryItemLabel"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not><if-empty field="inventoryItemLabel"/></not>
                    </condition>
                    <widgets>
                        <decorator-screen name="CommonInventoryItemLabelDecorator" location="${parameters.commonFacilityDecoratorLocation}">
                            <decorator-section name="body">
                                <screenlet title="${uiLabelMap.ProductInventoryItemLabel}">
                                    <include-form name="EditInventoryItemLabel" location="component://product/widget/facility/InventoryItemLabelForms.xml"/>
                                </screenlet>
                            </decorator-section>
                        </decorator-screen>
                    </widgets>
                    <fail-widgets>
                        <decorator-screen name="CommonInventoryItemLabelsDecorator" location="${parameters.commonFacilityDecoratorLocation}">
                            <decorator-section name="body">
                                <container>
                                    <link target="EditInventoryItemLabel" text="${uiLabelMap.CommonNew}" style="buttontext"/>
                                </container>
                                <screenlet title="${uiLabelMap.ProductInventoryItemLabel}">
                                    <include-form name="EditInventoryItemLabel" location="component://product/widget/facility/InventoryItemLabelForms.xml"/>
                                </screenlet>
                            </decorator-section>
                        </decorator-screen>
                    </fail-widgets>
                </section>
            </widgets>
        </section>
    </screen>
    <screen name="EditInventoryItemLabelAppls">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditInventoryItemLabelAppls"/>
                <set field="headerItem" value="inventoryItemLabel"/>
                <set field="tabButtonItem" value="FindInventoryItemLabels"/>
                <set field="subTabButtonItem" value="EditInventoryItemLabelAppls"/>
                <entity-one entity-name="InventoryItemLabel" value-field="inventoryItemLabel"/>
                <get-related value-field="inventoryItemLabel" relation-name="InventoryItemLabelAppl" list="inventoryItemLabelAppls"/>
                <get-related-one value-field="inventoryItemLabel" relation-name="InventoryItemLabelType" to-value-field="inventoryItemLabelType"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonInventoryItemLabelDecorator" location="${parameters.commonFacilityDecoratorLocation}">
                    <decorator-section name="body">
                        <container><label style="h2">${uiLabelMap.CommonType}: ${inventoryItemLabelType.description} [${inventoryItemLabelType.inventoryItemLabelTypeId}]</label></container>
                        <screenlet id="AddInventoryItemLabelApplPanel" title="${uiLabelMap.PageTitleAddInventoryItemLabelAppls}" collapsible="true">
                            <include-form name="AddInventoryItemLabelAppl" location="component://product/widget/facility/InventoryItemLabelForms.xml"/>
                        </screenlet>
                        <include-form name="UpdateInventoryItemLabelAppls" location="component://product/widget/facility/InventoryItemLabelForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>

