<?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="FindGeo">
        <section>
            <actions>
                <set field="titleProperty" value="WebtoolsGeosFind"/>
                <set field="currentUrl" value="FindGeo"/>
                <set field="headerItem" value="Geos"/>
                <set field="tabButtonItem" value="FindGeo"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonGeoManagementDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <container style="no-clear">
                            <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
                                <decorator-section name="search-options">
                                    <include-form name="FindGeo" location="component://webtools/widget/GeoManagementForms.xml"/>
                                </decorator-section>
                                <decorator-section name="search-results">
                                    <include-form name="ListGeos" location="component://webtools/widget/GeoManagementForms.xml"/>
                                </decorator-section>
                            </decorator-screen>
                        </container>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="GeoPoint">
        <section>
            <actions>
                <set field="titleProperty" value="WebtoolsGeoPoints"/>
                <set field="currentUrl" value="geoPoints"/>
                <set field="headerItem" value="Geos"/>
                <set field="tabButtonItem" value="GeoPoints"/>
                <entity-one entity-name="GeoPoint" value-field="geoPoint"/>
                <script location="component://webtools/groovyScripts/geo/GetGeoLocation.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonGeoManagementDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.CommonSummary}">
                            <include-form name="GeoPoint" location="component://webtools/widget/GeoManagementForms.xml"/>
                        </screenlet>
                        <screenlet title="${uiLabelMap.CommonMap}">
                            <platform-specific>
                                <html><html-template location="component://webtools/template/geo/GeoLocation.ftl"/></html>
                            </platform-specific>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="GeoPoints">
        <section>
            <actions>
                <set field="titleProperty" value="WebtoolsGeoPoints"/>
                <set field="currentUrl" value="geoPoints"/>
                <set field="headerItem" value="Geos"/>
                <set field="tabButtonItem" value="GeoPoints"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonGeoManagementDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <container style="no-clear">
                            <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
                                <decorator-section name="search-options">
                                    <include-form name="FindGeoPoint" location="component://webtools/widget/GeoManagementForms.xml"/>
                                </decorator-section>
                                <decorator-section name="search-results">
                                    <screenlet title="${uiLabelMap.WebtoolsGeoPoints}">
                                        <include-form name="ListGeoPoints" location="component://webtools/widget/GeoManagementForms.xml"/>
                                    </screenlet>
                                </decorator-section>
                            </decorator-screen>
                        </container>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    
    <screen name="EditGeo">
        <section>
            <actions>
                <set field="titleProperty" value="WebtoolsGeoEdit"/>
                <set field="tabButtonItem" value="EditGeo"/>

                <set field="geoId" from-field="parameters.geoId"/>
                <entity-one entity-name="Geo" value-field="geo"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonGeoManagementDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.WebtoolsGeoEdit}">
                            <include-form name="EditGeo" location="component://webtools/widget/GeoManagementForms.xml"/>
                        </screenlet>
                        <screenlet title="${uiLabelMap.WebtoolsGeoAssocList}">
                            <include-grid name="ListGeoAssoc" location="component://webtools/widget/GeoManagementForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="LookupGeo">
        <section>
            <actions>
                <set field="title" value="${uiLabelMap.PageTitleLookupGeo}"/>
                <set field="queryString" from-field="result.queryString"/>
                <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer"/>
                <property-to-field resource="widget" property="widget.form.defaultViewSize" field="viewSizeDefaultValue"/>
                <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="${viewSizeDefaultValue}"/>
                <set field="entityName" value="Geo"/>
                <set field="searchFields" value="[geoId, geoName]"/>
                <set field="currentUrl" value="LookupGeo"/>
            </actions>
            <widgets>
                <decorator-screen name="LookupDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="search-options">
                        <include-form name="FindGeo" location="component://webtools/widget/GeoManagementForms.xml"/>
                    </decorator-section>
                    <decorator-section name="search-results">
                        <include-form name="ListLookupGeo" location="component://webtools/widget/GeoManagementForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    
    <screen name="LinkGeos">
        <section>
            <actions>
                <set field="titleProperty" value="WebtoolsGeosLink"/>
                <set field="currentUrl" value="LinkGeos"/>
                <set field="headerItem" value="Geos"/>
                <set field="tabButtonItem" value="LinkGeos"/>
                
                <set field="noId" value="true"/><!-- see CommonGeoManagementDecorator -->
                
                <!-- asmselect parameters, must be prefixed by asm_ for SetMultipleSelectJs.ftl -->
                <set field="asm_multipleSelectForm"  value="LinkGeos"/>
                <set field="asm_multipleSelect"  value="LinkGeos_geoIds"/>
                <set field="asm_formSize" value="700"/>
                <set field="asm_asmListItemPercentOfForm" value="95"/>
                <set field="asm_sortable" value="false"/>
                <property-map resource="WebtoolsUiLabels" map-name="uiLabelMap" global="true"/>                
                <set field="asm_title" value="${uiLabelMap.WebtoolsGeosSelect}"/>
                <!-- selectMultipleRelatedValues parameters -->
                <set field="asm_relatedField" value="LinkGeos_geoId"/>
                <set field="asm_requestName" value="getRelatedGeos"/>                
                <set field="asm_paramKey" value="geoId"/>
                <set field="asm_type" value="geoAssocTypeId"/>
                <set field="asm_typeField" value="LinkGeos_geoAssocTypeId"/>
                <set field="asm_responseName" value="geoList"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonGeoManagementDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://common/template/includes/SetMultipleSelectJs.ftl"/></html></platform-specific>
                        <screenlet title="${uiLabelMap.WebtoolsGeosLinkExplained}">
                            <include-form name="LinkGeos" location="component://webtools/widget/GeoManagementForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>    
</screens>
