<?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="advancedsearch">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleAdvancedSearch"/>
                <entity-condition entity-name="ProductCategory" list="productCategories">
                    <condition-expr field-name="showInSelect" operator="not-equals" value="N"/>
                    <order-by field-name="description"/>
                </entity-condition>
                <script location="component://product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy"/>
                <script location="component://googlebase/webapp/googlebase/WEB-INF/actions/GoogleBaseAdvancedSearch.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonFindDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific>
                            <html><html-template location="component://googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl"/></html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="keywordsearch">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleSearchResults"/>
                <script location="component://product/webapp/catalog/WEB-INF/actions/find/keywordsearch.groovy"/>
                <script location="component://googlebase/webapp/googlebase/WEB-INF/actions/FilterProducts.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonFindDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific>
                            <html><html-template location="component://product/webapp/catalog/find/keywordsearch.ftl"/></html>
                        </platform-specific>
                        <platform-specific>
                            <html><html-template location="component://googlebase/webapp/googlebase/find/googleExportLink.ftl"/></html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="ProductsExportToGoogle">
        <section>
            <actions>
                <set field="headerItem" value="googlebase"/>
                <set field="titleProperty" value="PageTitleGoogleBaseProductsExportToGoogle"/>
                <script location="component://googlebase/webapp/googlebase/WEB-INF/actions/productsExportToGoogle.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.PageTitleGoogleBaseProductsExportToGoogle}">
                            <include-form name="ProductsExportToGoogle" location="component://googlebase/widget/GoogleBaseForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="EditProduct">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditProduct"/>
                <set field="tabButtonItem" value="EditProduct"/>
                <set field="labelTitleProperty" value="ProductProduct"/>

                <set field="productId" from-field="parameters.productId"/>
                <entity-one entity-name="Product" value-field="product"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonProductDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.PageTitleEditProduct}">
                            <include-form name="EditProduct" location="component://product/widget/catalog/ProductForms.xml"/>
                        </screenlet>
                        <!-- include the duplicate product form template -->
                        <screenlet title="${uiLabelMap.ProductDuplicateProduct}">
                            <include-form name="EditProductDup" location="component://product/widget/catalog/ProductForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditGoogleBaseConfigs">
        <section>
            <actions>
                <set field="titleProperty" value="GoogleBaseConfiguration"/>
                <set field="headerItem" value="GoogleBaseConfigs"/>
                <set field="productStoreId" from-field="parameters.productStoreId"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <include-form name="ListGoogleBaseConfigs" location="component://googlebase/widget/GoogleBaseForms.xml"/>
                        <screenlet id="add-gbs-configuration" title="${uiLabelMap.GoogleBaseAddGoogleBaseConfiguration}" collapsible="true">
                            <include-form name="AddGoogleBaseConfig" location="component://googlebase/widget/GoogleBaseForms.xml"/>
                        </screenlet>     
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="GooglebaseAutoUpdate">
        <section>
            <actions>
                <set field="titleProperty" value="GooglebaseAutoUpdate"/>
                <set field="headerItem" value="GooglebaseAutoUpdate"/>
                <entity-condition entity-name="GoogleBaseConfig" list="googleBaseConfigList"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <screenlet title="Start/Stop Auto Update to Google Base Scheduled">
                                    <include-form name="StartStopScheduled" location="component://googlebase/widget/GoogleBaseForms.xml"/>
                                </screenlet>
                                <screenlet title="Google Base Auto Update Config - setup at [autoUpdateToGoogleBase.properties]">
                                    <include-form name="GooglebaseAutoUpdateConfig" location="component://googlebase/widget/GoogleBaseForms.xml"/>
                                </screenlet>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
