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

    <!-- Column Included Screens -->
    <screen name="minipoll">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
            </actions>

            <widgets>
                <platform-specific><html><html-template location="component://ecommerce/webapp/ecommerce/content/minipoll.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <screen name="content_categories">
        <section>
            <widgets>
                <platform-specific><html><html-template location="component://ecommerce/webapp/ecommerce/content/content_categories.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <screen name="factoids">
        <section>
            <widgets>
                <platform-specific><html><html-template location="component://ecommerce/webapp/ecommerce/content/factoids.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <screen name="recentlyviewed">
        <section>
            <actions>
                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/content/Mrv.groovy"/>
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://ecommerce/webapp/ecommerce/content/recentlyviewed.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <!-- =========== Top-Level and Stand-Alone Screens =========== -->

    <screen name="defaultcontent">
        <section>
            <actions>
                <set field="leftbarScreenName" value="leftbar"/>
                <set field="MainColumnStyle" value="leftonly"/>

                <set field="titleProperty" value="PageTitleContentPage"/>
                <set field="headerItem" value="main"/>
                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/Main.groovy"/>
                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/content/ContentPrep.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://ecommerce/webapp/ecommerce/content/defaultcontent.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="showcontenttree">
        <section>
            <actions>
                <set field="leftbarScreenName" value="leftbar"/>
                <set field="rightbarScreenName" value="rightbar"/>
                <set field="MainColumnStyle" value="center"/>

                <set field="titleProperty" value="PageTitleViewBlog"/>
                <set field="headerItem" value="Blog"/>
                <set field="formDefFile" value="/BlogForms.xml"/>
                <set field="entityName" value="Content"/>
                <set field="permissionType" value="none"/>
                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/forum/NodeTrailPrep.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://ecommerce/webapp/ecommerce/content/showcontenttree.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="searchContent">
        <section>
            <actions>
                <set field="leftbarScreenName" value="leftbar"/>
                <set field="rightbarScreenName" value="rightbar"/>
                <set field="MainColumnStyle" value="center"/>

                <set field="titleProperty" value="PageTitleShoppingCart"/>
                <set field="headerItem" value="ContentMenu"/>
                <set field="formDefFile" value="component://ecommerce/widget/ContentForms.xml"/>
                <set field="entityName" value=""/>
                <set field="permission" value="CONTENTMGR"/>
                <set field="permissionType" value="simple"/>
                <set field="queryFormName" value="searchQuery"/>
                <set field="listFormName" value="searchList"/>
                <set field="defaultSiteId" value="WebStoreCONTENT"/>
                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/content/AdvancedSearchPrep.groovy"/>
                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/content/Search.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://ecommerce/webapp/ecommerce/content/searchContent.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="viewcontent">
        <section>
            <actions>
                <set field="leftbarScreenName" value="leftbar"/>
                <set field="rightbarScreenName" value="rightbar"/>
                <set field="MainColumnStyle" value="center"/>

                <set field="titleProperty" value="PageTitleViewContent"/>
                <set field="headerItem" value="Content"/>
                <set field="entityName" value="ContentAssocDataResourceViewFrom"/>
                <set field="permissionType" value="none"/>
                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/forum/NodeTrailPrep.groovy"/>
                <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/includes/MruAdd.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://ecommerce/webapp/ecommerce/content/viewcontent.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
