<?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="log-decorator">
        <section>
            <actions>
                <set field="headerItem" value="logging"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <condition>
                                <if-has-permission permission="WEBTOOLS" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <include-menu location="component://webtools/widget/Menus.xml" name="LoggingTabBar"/>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-has-permission permission="WEBTOOLS" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.WebtoolsPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    
    <screen name="ServiceLog">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleServiceList"/>
                <set field="tabButtonItem" value="serviceLog"/>
                <script location="component://webtools/groovyScripts/service/Services.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="log-decorator">
                    <decorator-section name="body">
                        <screenlet>
                            <include-form name="ListServices" location="component://webtools/widget/ServiceForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>  

    <screen name="LogConfiguration">
         <section>
             <actions>
                 <set field="titleProperty" value="PageTitleLogConfiguration"/>
                 <set field="tabButtonItem" value="logConfiguration"/>
                 <script location="component://webtools/groovyScripts/log/LogConfiguration.groovy"/>
             </actions>
             <widgets>
                 <decorator-screen name="log-decorator">
                     <decorator-section name="body">
                         <screenlet title="${uiLabelMap.WebtoolsDebuggingLevelFormDescription}">
                             <include-form name="LevelSwitch" location="component://webtools/widget/LogForms.xml"/>
                         </screenlet>
                     </decorator-section>
                 </decorator-screen>
               </widgets>
         </section>
     </screen>

     <screen name="LogView">
         <section>
             <actions>
                 <set field="titleProperty" value="PageTitleLogView"/>
                 <set field="tabButtonItem" value="logView"/>
                 <property-to-field field="parameters.logFileName" resource="debug" property="log4j.appender.css.defaultFile" default="ofbiz.log" no-locale="true"/>
                 <script location="component://webtools/groovyScripts/log/FetchLogs.groovy"/>
             </actions>
             <widgets>
                 <decorator-screen name="log-decorator">
                     <decorator-section name="body">
                         <screenlet>
                             <container style="button-bar">
                                 <link target="LogView" text="${uiLabelMap.CommonRefresh}" style="buttontext refresh"/>
                             </container>
                             <container style="button-bar">
                                 <label style="label">${uiLabelMap.WebtoolsLogFileName}:</label>
                                 <label>${logFileName}</label>
                             </container>
                             <platform-specific>
                                 <html><html-template location="component://webtools/template/log/LogContent.ftl"/></html>
                             </platform-specific>
                             <container style="button-bar">
                                 <link target="javascript: window.location.reload();" text="${uiLabelMap.CommonRefresh}" style="buttontext refresh" url-mode="plain"/>
                             </container>
                         </screenlet>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
         </section>
     </screen>

     <screen name="FetchLogs">
         <section>
             <actions>
                 <set field="titleProperty" value="PageTitleFetchLogs"/>
                 <set field="tabButtonItem" value="fetchLogs"/>
                 <script location="component://webtools/groovyScripts/log/FetchLogs.groovy"/>
             </actions>
             <widgets>
                 <decorator-screen name="log-decorator">
                     <decorator-section name="body">
                         <screenlet>
                             <platform-specific>
                                 <html><html-template location="component://webtools/template/log/FetchLogs.ftl"/></html>
                             </platform-specific>
                             <container style="button-bar">
                                 <link target="javascript: window.location.reload();" text="${uiLabelMap.CommonRefresh}" style="buttontext refresh" url-mode="plain"/>
                             </container>
                         </screenlet>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
         </section>
     </screen>

 </screens>
