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

    <!-- SegmentGroup Find Screen -->
    <screen name="FindSegmentGroup">
        <section>
            <condition>
                <or>
                    <if-has-permission permission="MARKETING" action="_VIEW"/>
                </or>
            </condition>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap" global="true"/>

                <set field="titleProperty" value="PageTitleFindSegmentGroup"/>
                <set field="headerItem" value="Segment"/>

                <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}"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for MARKETING, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="MARKETING" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <screenlet title="${uiLabelMap.PageTitleFindSegmentGroup}">
                                    <container style="button-bar">
                                        <link text="${uiLabelMap.MarketingSegmentGroupCreate}" target="viewSegmentGroup" style="buttontext create"/>
                                    </container>
                                    <include-form name="FindSegmentGroup" location="component://marketing/widget/SegmentForms.xml"/>
                                </screenlet>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.MarketingSegmentGroupMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="CommonSegmentGroupDecorator">
        <section>
            <actions>
                <set field="headerItem" value="Segment"/>
                <set field="tabButtonItem" value="Segment"/>

                <set field="segmentGroupId" from-field="parameters.segmentGroupId"/>
                <entity-one entity-name="SegmentGroup" value-field="segmentGroup"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <!-- do check for MARKETING, _VIEW permission -->
                            <condition>
                                <and>
                                    <if-has-permission permission="MARKETING" action="_VIEW"/>
                                    <not><if-empty field="segmentGroupId"/></not>
                                </and>
                            </condition>
                            <widgets>
                                <include-menu location="component://marketing/widget/SegmentMenus.xml" name="SegmentGroupTabBar"/>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <section>
                            <!-- do check for MARKETING, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="MARKETING" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <section>
                                    <condition><not><if-empty field="segmentGroupId"/></not></condition>
                                    <widgets>
                                        <container style="button-bar">
                                            <link text="${uiLabelMap.MarketingSegmentGroupCreate}" target="viewSegmentGroup" style="buttontext create"/>
                                        </container>
                                    </widgets>
                                </section>
                                <decorator-section-include name="body"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.MarketingViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditSegmentGroup">
        <section>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="titleProperty" value="PageTitleEditSegmentGroup"/>
                <set field="segmentTabButtonItem" value="SegmentGroup"/>
                <set field="labelTitleProperty" value="PageTitleEditSegmentGroup"/>

                <set field="donePage" from-field="parameters.DONE_PAGE" default-value="/marketing/control/LookupSegmentGroup"/>
                <set field="segmentGroupId" from-field="parameters.segmentGroupId"/>
                <set field="productStoreId" from-field="parameters.productStoreId"/>
                <entity-one entity-name="SegmentGroup" value-field="segmentGroup"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonSegmentGroupDecorator">
                    <decorator-section name="body">
                        <screenlet title="${uiLabelMap.PageTitleEditSegmentGroup}">
                            <include-form name="EditSegmentGroup" location="component://marketing/widget/SegmentForms.xml"/>
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <!-- SegmentGroupClass list Screen -->
    <screen name="listSegmentGroupClass">
        <section>
            <condition>
                <or>
                    <if-has-permission permission="MARKETING" action="_VIEW"/>
                </or>
            </condition>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap" global="true"/>

                <set field="titleProperty" value="PageTitleFindSegmentGroup"/>
                <set field="segmentTabButtonItem" value="SegmentGroupClassification"/>

                <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="segmentGroupId" from-field="parameters.segmentGroupId"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonSegmentGroupDecorator">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for MARKETING, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="MARKETING" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <screenlet id="AddSegmentGroupClassPanel" title="${uiLabelMap.MarketingSegmentGroupClassCreate}" collapsible="true">
                                    <include-form name="AddSegmentGroupClass" location="component://marketing/widget/SegmentForms.xml"/>
                                </screenlet>
                                <include-form name="ListSegmentGroupClass" location="component://marketing/widget/SegmentForms.xml"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.MarketingSegmentGroupMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <!-- SegmentGroupGeo list Screen -->
    <screen name="listSegmentGroupGeo">
        <section>
            <condition>
                <or>
                    <if-has-permission permission="MARKETING" action="_VIEW"/>
                </or>
            </condition>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap" global="true"/>

                <set field="titleProperty" value="PageTitleListSegmentGroupGeo"/>
                <set field="segmentTabButtonItem" value="SegmentGroupGeo"/>
                <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="segmentGroupId" from-field="parameters.segmentGroupId"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonSegmentGroupDecorator">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for MARKETING, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="MARKETING" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <screenlet id="AddSegmentGroupGeoPanel" title="${uiLabelMap.PageTitleEditSegmentGroupGeo}" collapsible="true">
                                    <include-form name="AddSegmentGroupGeo" location="component://marketing/widget/SegmentForms.xml"/>
                                </screenlet>
                                <include-form name="ListSegmentGroupGeo" location="component://marketing/widget/SegmentForms.xml"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.MarketingSegmentGroupMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <!-- SegmentGroupRole list Screen -->
    <screen name="listSegmentGroupRole">
        <section>
            <condition>
                <or>
                    <if-has-permission permission="MARKETING" action="_VIEW"/>
                </or>
            </condition>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap" global="true"/>

                <set field="titleProperty" value="PageTitleListSegmentGroupRole"/>
                <set field="segmentTabButtonItem" value="SegmentGroupRole"/>
                <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="segmentGroupId" from-field="parameters.segmentGroupId"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonSegmentGroupDecorator">
                    <decorator-section name="body">
                        <section>
                            <!-- do check for MARKETING, _VIEW permission -->
                            <condition>
                                <if-has-permission permission="MARKETING" action="_VIEW"/>
                            </condition>
                            <widgets>
                                <screenlet id="AddSegmentGroupRolePanel" title="${uiLabelMap.PageTitleEditSegmentGroupRole}" collapsible="true">
                                    <include-form name="AddSegmentGroupRole" location="component://marketing/widget/SegmentForms.xml"/>
                                </screenlet>
                                <include-form name="ListSegmentGroupRole" location="component://marketing/widget/SegmentForms.xml"/>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.MarketingSegmentGroupMgrViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
