<?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="FindUtilCache">
        <section>
            <actions>
                <set field="headerItem" value="cache"/>
                <set field="titleProperty" value="PageTitleFindUtilCache"/>
                <script location="component://webtools/groovyScripts/cache/FindUtilCache.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for UTIL_CACHE, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="UTIL_CACHE" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <screenlet title="${uiLabelMap.WebtoolsMemory}">
                                    <include-form name="MemoryInfo" location="component://webtools/widget/CacheForms.xml"/>
                                </screenlet>
                                <screenlet>
                                    <include-menu name="FindCache" location="component://webtools/widget/Menus.xml"/>
                                    <include-grid name="ListCache" location="component://webtools/widget/CacheForms.xml"/>
                                    <include-menu name="FindCache" location="component://webtools/widget/Menus.xml"/>
                                </screenlet>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.WebtoolsPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="FindUtilCacheElements">
        <section>
            <actions>
                <set field="headerItem" value="cache"/>
                <set field="titleProperty" value="PageTitleFindUtilCacheElements"/>
                <script location="component://webtools/groovyScripts/cache/FindUtilCacheElements.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for UTIL_CACHE, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="UTIL_CACHE" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <screenlet title="${uiLabelMap.PageTitleFindUtilCacheElements}">
                                    <label>${uiLabelMap.WebtoolsCacheName} ${cacheName} (${now}) ${uiLabelMap.WebtoolsSizeTotal} ${totalSize} ${uiLabelMap.WebtoolsBytes}</label>
                                    <include-menu name="CacheElements" location="component://webtools/widget/Menus.xml"/>
                                    <include-grid name="ListCacheElements" location="component://webtools/widget/CacheForms.xml"/>
                                    <include-menu name="CacheElements" location="component://webtools/widget/Menus.xml"/>
                                </screenlet>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.WebtoolsPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditUtilCache">
        <section>
            <actions>
                <set field="headerItem" value="cache"/>
                <set field="titleProperty" value="PageTitleEditUtilCache"/>
                <script location="component://webtools/groovyScripts/cache/EditUtilCache.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for UTIL_CACHE, _EDIT permission -->
                            <condition>
                                <if-has-permission permission="UTIL_CACHE" action="_EDIT"/>
                            </condition>
                            <widgets>
                                <screenlet title="${uiLabelMap.PageTitleEditUtilCache}">
                                    <include-menu name="EditCache" location="component://webtools/widget/Menus.xml"/>
                                    <include-form name="EditCache" location="component://webtools/widget/CacheForms.xml"/>
                                </screenlet>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.WebtoolsPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
