<?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="main-decorator">
        <section>
            <actions>
                <property-map resource="EbayUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="activeApp" value="ebay" global="true"/>
                <set field="layoutSettings.companyName" from-field="uiLabelMap.EbayCompanyName" global="true"/>
                <set field="layoutSettings.companySubtitle" from-field="uiLabelMap.EbayApplication" global="true"/>
                <set field="applicationMenuName" value="EbayAppBar" global="true"/>
                <set field="applicationMenuLocation" value="component://ebay/widget/EbayMenus.xml" global="true"/>
                <set field="applicationTitle" value="${uiLabelMap.EbayApplication}" global="true"/>
            </actions>
            <widgets>
                <include-screen name="ApplicationDecorator" location="component://commonext/widget/CommonScreens.xml"/>
            </widgets>
        </section>
    </screen>
    
    <screen name="CommonProductDecorator">
        <section>
            <actions>
                <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>

                <set field="productId" from-field="parameters.productId"/>
                <entity-one entity-name="Product" value-field="product"/>
                <set field="productName" from-field="product.productName"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for EBAY, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="EBAY" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <section>
                                    <condition><not><if-empty field="product"/></not></condition>
                                    <widgets>
                                        <include-menu name="ProductTabBar" location="component://product/widget/catalog/CatalogMenus.xml"/>
                                        <container>
                                            <label style="h1">${uiLabelMap.${labelTitleProperty}} ${uiLabelMap.CommonFor}: ${product.internalName} [${uiLabelMap.CommonId}:${productId}]  ${${extraFunctionName}}</label>
                                            <image src="${product.smallImageUrl}" url-mode="content" style="cssImgSmall"/>
                                        </container>

                                        <!-- add Create Product and View Product (in ecommerce) links -->
                                        <container style="button-bar">
                                            <link target="EditProduct" text="${uiLabelMap.ProductNewProduct}" style="buttontext"/>
                                            <link target="CreateVirtualWithVariantsForm" text="${uiLabelMap.ProductNewVirtualProduct}" style="buttontext"/>
                                            <link target="/ecommerce/control/product" url-mode="inter-app" text="${uiLabelMap.ProductProductPage}" style="buttontext">
                                                <parameter param-name="product_id" from-field="productId"/>
                                            </link>
                                            <link target="ProductBarCode.pdf" target-window="_blank" text="${uiLabelMap.ProductBarcode}" style="buttontext">
                                                <parameter param-name="productId"/>
                                                <parameter param-name="productName"/>
                                            </link>
                                        </container>
                                    </widgets>
                                </section>

                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.ProductCatalogViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="permission-decorator">
        <section>
            <actions>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission permission="EBAY" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.EbayViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="CommonEbayConfigDecorator">
        <section>
            <actions>
                <set field="headerItem" value="eBayConfigurations"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for Ebay, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="EBAY" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <include-menu name="EbayConfigTabBar"  location="component://ebay/widget/EbayMenus.xml"/>
                                <section>
                                    <condition><not><if-empty field="ebayConfig"/></not>
                                    </condition>
                                    <widgets>
                                        <include-menu name="EbayConfigSubTabBar" location="component://ebay/widget/EbayMenus.xml"/>
                                    </widgets>
                                </section>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3" text="${uiLabelMap.EbayViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
               </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
