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

    <!-- 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/template/content/MiniPoll.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

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

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

    <screen name="recentlyviewed">
        <section>
            <actions>
                <script location="component://ecommerce/groovyScripts/content/Mrv.groovy"/>
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://ecommerce/template/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/groovyScripts/Main.groovy"/>
                <script location="component://ecommerce/groovyScripts/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/template/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/groovyScripts/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/template/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/groovyScripts/content/AdvancedSearchPrep.groovy"/>
                <script location="component://ecommerce/groovyScripts/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/template/content/SearchContent.ftl"/></html></platform-specific>
                        <include-form name="SearchList" location="component://ecommerce/widget/ContentForms.xml"/>
                    </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/groovyScripts/forum/NodeTrailPrep.groovy"/>
                <script location="component://ecommerce/groovyScripts/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/template/content/ViewContent.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
