<?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="ArtifactInfo" transaction-timeout="180">
        <section>
            <condition>
                <if-has-permission permission="ARTIFACT_INFO_VIEW"/>
            </condition>
            <actions>
                <set field="titleProperty" value="WebtoolsArtifactInfo"/>
                <set field="tabButtonItem" value="artifactInfo"/>
                <script location="component://webtools/groovyScripts/artifactinfo/ArtifactInfo.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonArtifactDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://webtools/template/artifactinfo/ArtifactInfo.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
            <fail-widgets>
                <label style="h3">${uiLabelMap.WebtoolsCannotViewArtifactInfoPages}</label>
            </fail-widgets>
        </section>
    </screen>
    <screen name="ViewComponents">
        <section>
            <actions>
                <set field="headerItem" value="main"/>
                <set field="titleProperty" value="WebtoolsViewComponents"/>
                <set field="tabButtonItem" value="viewents"/>
                <script location="component://webtools/groovyScripts/artifactinfo/ComponentList.groovy"/>
                <set field="viewSize" value="30"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonArtifactDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet>
                            <include-form name="ComponentList" location="component://webtools/widget/ArtifactInfoForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="TestSuiteInfo">
        <section>
            <actions>
                <set field="headerItem" value="main"/>
                <set field="titleProperty" value="WebtoolsViewComponents"/>
                <set field="tabButtonItem" value="viewents"/>
                <script location="component://webtools/groovyScripts/artifactinfo/TestSuiteInfo.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonArtifactDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="Component: ${parameters.compName}">
                            <include-form name="TestSuiteInfo" location="component://webtools/widget/ArtifactInfoForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
