You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by er...@apache.org on 2012/06/05 12:17:18 UTC

svn commit: r1346330 [6/7] - in /ofbiz/branches/20120329_portletWidget: framework/common/widget/ framework/images/webapp/images/ framework/minilang/src/org/ofbiz/minilang/method/ framework/webtools/webapp/webtools/WEB-INF/actions/portlet/ framework/wid...

Added: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/CommonScreens.xml?rev=1346330&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/CommonScreens.xml (added)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/CommonScreens.xml Tue Jun  5 10:17:15 2012
@@ -0,0 +1,42 @@
+<?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"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
+
+    <!--#Bam# portlet-example : manage standard portlet decorator -->
+    <screen name="portletUiLabelDecorator">
+        <section><!-- Decorator use by portlet define in their preference label -->
+            <actions>
+                <property-map resource="ExampleUiLabels" map-name="uiLabelMap" global="true"/>   
+                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="uiLabelDecorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <decorator-section-include name="body"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <!--#Eam# portlet-example : manage standard portlet decorator -->
+
+</screens>

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/CommonScreens.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/CommonScreens.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/CommonScreens.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureForms.xml?rev=1346330&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureForms.xml (added)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureForms.xml Tue Jun  5 10:17:15 2012
@@ -0,0 +1,194 @@
+<?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.
+-->
+
+<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
+
+    <!-- ExampleFeature : Form used directly by a portlet, with portlet type "Screenlet" (no screen including it) -->
+    <form name="FindExampleFeature" type="single" target="FindExampleFeature" default-entity-name="ExampleFeature" ><!-- validate-link-on-enter="true" -->
+        <actions>
+            <set field="parameters.portalPageId" value="ExampleFeatureNew"/>
+        </actions>
+        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
+        <field name="exampleFeatureId" title="${uiLabelMap.ExampleExampleFeatureId}"><text-find/></field>
+        <field name="featureSourceEnumId" title="${uiLabelMap.ExampleFeatureSource}">
+          <drop-down allow-empty="true">
+            <entity-options entity-name="Enumeration" key-field-name="enumId" description="${description}">
+                <entity-constraint name="enumTypeId" operator="equals" value="EXMPL_FEAT_SOURCE"/>
+                <entity-order-by field-name="enumCode"/>
+                <entity-order-by field-name="sequenceId"/>
+            </entity-options>
+          </drop-down>
+        </field>
+        <field name="description"><text-find/></field>
+        <field name="portalPageId"><hidden value="ExampleFeatureNew"/></field>
+        <field name="searchButton" title=" " widget-style="smallSubmit" id-name="submit">
+          <!-- target-area is not mandatory but present because bug-->
+          <show-portlet portlet-id="ListExampleFeature" area-id="PP_${portalPageId}ListExampleFeature${portletSeqId}" description="${uiLabelMap.CommonSearch}">
+            <parameters-form/>
+          </show-portlet>
+        </field>
+    </form>
+
+    <!-- ExampleFeature : form used directly by a portlet (no screen including it) -->
+    <form name="ListExampleFeature" type="list"  list-name="listIt" 
+          odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+        <actions>
+            <service service-name="performFind" result-map="result" result-map-list="listIt">
+                <field-map field-name="inputFields" from-field="parameters"/>
+                <field-map field-name="entityName" value="ExampleFeature"/>
+                <field-map field-name="orderBy" from-field="exampleFeatureId"/>
+                <field-map field-name="noConditionFind" value="Y"/>
+            </service>
+        </actions>
+        <field name="exampleFeatureId" title="${uiLabelMap.ExampleExampleFeatureId}">
+            <show-portlet portlet-id="${portalPortletId}" target="editExampleFeaturePortlet" area-id="${editAreaDivId}" mark-selected="true" 
+                          description="${exampleFeatureId}"  also-hidden="false">
+                <parameter param-name="exampleFeatureId"/>
+                <parameter param-name="areaId" from-field="currentAreaId"/>
+            </show-portlet>
+        </field>
+        <field name="featureSourceEnumId" title="${uiLabelMap.ExampleFeatureSource}">
+            <display-entity entity-name="Enumeration" key-field-name="enumId" description="${description}"/>
+        </field>
+        <field name="description"><display/></field>
+        <field name="deleteLink" title=" ">
+            <show-portlet portlet-id="${portalPortletId}" target="deleteExampleFeaturePortlet" area-id="${areaId}"
+                          image-location="${iconsPurpose.Delete}" image-title="${uiLabelMap.IconsTooltips_Delete}"
+                          request-confirmation="true" confirmation-message="${uiLabelMap.CommonConfirmDelete}">
+                <parameter param-name="exampleFeatureId"/>
+            </show-portlet>
+        </field>
+    </form>
+
+    <!-- ExampleFeature : Form used by a screen by controller entry (not used directly by a portlet) : use for entity edition in edit area -->
+    <form name="EditExampleFeature" type="single" target="createExampleFeatureJs" title="" default-map-name="exampleFeature">
+        <alt-target use-when="exampleFeature!=null" target="updateExampleFeatureJs"/>
+<!--        <auto-fields-service service-name="createExampleFeature"/>-->
+<!--        <field name="exampleFeatureId" use-when="exampleFeature==null" title="${uiLabelMap.ExampleExampleFeatureId}" required-field="true"><text/></field>-->
+        <field name="exampleFeatureId" use-when="exampleFeature!=null" title="${uiLabelMap.ExampleExampleFeatureId}"><display/></field>
+        <field name="description" use-when="exampleFeature==null" required-field="true"><text/></field>
+        <field name="description" use-when="exampleFeature!=null"><text/></field>
+        <field name="featureSourceEnumId" title="${uiLabelMap.ExampleFeatureSource}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="Enumeration" key-field-name="enumId" description="${description}">
+                    <entity-constraint name="enumTypeId" operator="equals" value="EXMPL_FEAT_SOURCE"/>
+                    <entity-order-by field-name="enumCode"/>
+                    <entity-order-by field-name="sequenceId"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="submitButton" title="${groovy: exampleFeature == null ? uiLabelMap.CommonAdd : uiLabelMap.CommonSave}">
+           <submit button-type="button"/>
+        </field>
+        <field name="back" title=" " position="2" widget-style="buttontext">  <!-- Back button that refresh portlet with edit area-->
+           <show-portlet portlet-id="${parameters.portalPortletId}" area-id="${parameters.areaId}" description="${uiLabelMap.CommonBack}" />
+        </field>
+        <on-event-update-area area-target="showPortlet" event-type="submit" area-id="${parameters.areaId}"> <!-- is it necessary to give area-id, maybe remove mandatory from xsd-->
+          <parameter param-name="portalPortletId" from-field="parameters.portalPortletId"/>
+        </on-event-update-area>
+    </form>
+
+    <!-- ExampleFeatureAppl : Form used directly by a portlet (no screen including it) -->
+    <form name="ExampleFeatureAppls" type="list"  list-name="exampleFeatureAppls" 
+          odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+        <actions>
+            <set field="exampleId" from-field="parameters.exampleId"/>
+            <entity-condition entity-name="ExampleFeatureAppl">
+                <condition-expr field-name="exampleId" from-field="exampleId"/>
+                <order-by field-name="sequenceNum"/>
+                <order-by field-name="exampleFeatureId"/>
+            </entity-condition>
+        </actions>
+        <row-actions>
+          <entity-one entity-name="ExampleFeature" value-field="exampleFeature" use-cache="true"/>
+        </row-actions>
+        <field name="exampleId"><hidden/></field>
+        <field name="sequenceNum"><display/></field>
+        <field name="exampleFeatureId" title="${uiLabelMap.ExampleExampleFeatureId}">
+            <show-portlet portlet-id="${portalPortletId}" target="editExampleFeatureApplPortlet" area-id="${editAreaDivId}" mark-selected="true" 
+                          description="${exampleFeature.description}" also-hidden="false">
+                <parameter param-name="exampleId"/>
+                <parameter param-name="exampleFeatureId"/>
+                <parameter param-name="fromDate"/>
+            </show-portlet>
+        </field>
+        <field name="exampleFeatureApplTypeId" title="${uiLabelMap.CommonType}">
+            <display-entity entity-name="ExampleFeatureApplType" key-field-name="exampleFeatureApplTypeId" description="${description}"/>
+        </field>
+        <field name="fromDate"><display type="date"/></field>
+        <field name="thruDate"><display type="date"/></field>
+        <field name="deleteLink" title=" ">
+            <show-portlet portlet-id="${portalPortletId}" target="deleteExampleFeatApplPortlet" area-id="${areaId}"
+                          image-location="${iconsPurpose.Delete}" image-title="${uiLabelMap.IconsTooltips_Delete}"
+                          request-confirmation="true" confirmation-message="${uiLabelMap.CommonConfirmDelete}">
+                <parameter param-name="exampleId"/>
+                <parameter param-name="exampleFeatureId"/>
+                <parameter param-name="fromDate"/>
+            </show-portlet>
+        </field>
+    </form>
+
+    <!-- ExampleFeatureAppl : Form used by a screen by controller entry (not used directly by a portlet) : use for entity edition in edit area -->
+    <form name="EditExampleFeatureAppl" type="single" target="createExampleFeatureApplJs" title="" default-map-name="exampleFeatureAppl">
+        <alt-target use-when="exampleFeatureAppl!=null" target="updateExampleFeatureApplJs"/>
+        <auto-fields-service service-name="createExampleFeatureAppl"/>
+        <field name="exampleId"><hidden/></field>
+        <field name="exampleFeatureId" title="${uiLabelMap.ExampleFeature}" use-when="exampleFeatureAppl==null" required-field="true">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="ExampleFeature" key-field-name="exampleFeatureId" description="${description}">
+                    <entity-order-by field-name="exampleFeatureId"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="exampleFeatureId" title="${uiLabelMap.ExampleFeature}" use-when="exampleFeatureAppl!=null">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="ExampleFeature" key-field-name="exampleFeatureId" description="${description}">
+                    <entity-order-by field-name="exampleFeatureId"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="exampleFeatureApplTypeId" title="${uiLabelMap.CommonType}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="ExampleFeatureApplType" key-field-name="exampleFeatureApplTypeId" description="${description}">
+                    <entity-order-by field-name="exampleFeatureApplTypeId"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="fromDate" use-when="exampleFeatureAppl==null" required-field="true"><date-time/></field>
+        <field name="fromDate" use-when="exampleFeatureAppl!=null"><date-time/></field>
+        <field name="thruDate"><date-time/></field>
+        <field name="submitButton" title="${groovy: exampleFeatureAppl == null ? uiLabelMap.CommonAdd : uiLabelMap.CommonSave}">
+           <submit button-type="button"/>
+        </field>
+        <field name="back" title=" " position="2" widget-style="buttontext">  <!-- Back button that refresh portlet with edit area-->
+           <show-portlet portlet-id="${parameters.portalPortletId}" area-id="${parameters.areaId}" description="${uiLabelMap.CommonBack}" >
+               <parameter param-name="exampleId" from-field="parameters.previousExampleId"/><!-- parameters idDescription, areaId, portalPageId, portletSeqId will be add automatically -->
+           </show-portlet>
+        </field>
+        <on-event-update-area area-target="showPortlet" event-type="submit" area-id="${parameters.areaId}"> <!-- is it necessary to give area-id, maybe remove mandatory from xsd-->
+          <parameter param-name="exampleId"/>
+        </on-event-update-area>
+    </form>
+
+</forms>

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureForms.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureForms.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureForms.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureMenus.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureMenus.xml?rev=1346330&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureMenus.xml (added)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureMenus.xml Tue Jun  5 10:17:15 2012
@@ -0,0 +1,66 @@
+<?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.
+-->
+
+<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd">
+
+    <!-- Screenlets menus : used on portal portlets and shown in screenlet header, used purpose icons (refresh, edit, add,...), used TabBar Menu style -->
+    <menu name="ListExampleFeature" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
+        <actions>
+          <set field="areaId" from-field="parameters.areaId" default-value="PP_${portalPageId}${portalPortletId}00001"/>
+        </actions>
+        <menu-item name="refreshExampleFeature">
+            <show-portlet portlet-id="${portalPortletId}" area-id="${areaId}" image-location="${iconsPurpose.Refresh}" image-title="${uiLabelMap.IconsTooltips_Refresh}">
+            </show-portlet>
+        </menu-item>
+        <menu-item name="addExampleFeature">
+            <show-portlet portlet-id="${portalPortletId}" target="editExampleFeaturePortlet" area-id="ListExampleFeature_EditArea" image-location="${iconsPurpose.Add}" image-title="${uiLabelMap.IconsTooltips_Add}">
+            </show-portlet>
+        </menu-item>
+    </menu>
+
+    <menu name="ExampleFeatureAppls" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
+        <actions>
+          <set field="areaId" from-field="parameters.areaId" default-value="PP_${portalPageId}${portalPortletId}00001"/>
+        </actions>
+        <menu-item name="refreshExampleFeatureAppl">
+            <show-portlet portlet-id="${portalPortletId}" area-id="${areaId}" image-location="${iconsPurpose.Refresh}" image-title="${uiLabelMap.IconsTooltips_Refresh}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+            </show-portlet>
+        </menu-item>
+        <menu-item name="addExampleFeatureAppl">
+            <show-portlet portlet-id="${portalPortletId}" target="editExampleFeatureApplPortlet" area-id="ExampleFeatureAppls_EditArea" image-location="${iconsPurpose.Add}" image-title="${uiLabelMap.IconsTooltips_Add}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+            </show-portlet>
+        </menu-item>
+    </menu>
+
+    <!-- External menus : use for actions witch drive you on another portal page, not in screenlet header, used in a screen, used purpose icons, used ButtonBar Menu style-->
+    <menu name="ExampleFeatureExternalMenu" extends="CommonButtonBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
+        <!-- Add title in order to have both icon and text -->
+        <menu-item name="newExampleFeature" title="${uiLabelMap.ExampleNewExampleFeature}">
+            <link target="showPortalPage">
+                <parameter param-name="portalPageId" from-field="newPageId" value="ExampleFeatureNew"/>
+                <image src="${iconsPurpose.Add}" title="${uiLabelMap.ExampleNewExampleFeature}"/>
+            </link>
+        </menu-item>
+    </menu>
+
+</menus>

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureMenus.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureMenus.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureMenus.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureScreens.xml?rev=1346330&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureScreens.xml (added)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureScreens.xml Tue Jun  5 10:17:15 2012
@@ -0,0 +1,75 @@
+<?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"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
+
+    <!-- Screen used by controller for entity edition (not used directly by a portlet) -->
+    <screen name="EditExampleFeature">
+        <section>
+            <actions>
+                <set field="exampleFeatureId" from-field="parameters.exampleFeatureId"/>
+                <entity-one value-field="exampleFeature" entity-name="ExampleFeature"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="portletUiLabelDecorator" location="component://example/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <include-form name="EditExampleFeature" location="component://example/widget/ExampleFeatureForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <!-- Screen used by EditExampleFeatureAppl portlet (used directly by a portlet) ; use screen (instead of form) because of external menu addition -->
+    <screen name="ExampleFeatureAppls">
+        <section>
+            <widgets>
+                <decorator-screen name="portletUiLabelDecorator" location="component://example/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <include-menu name="ExampleFeatureExternalMenu" location="component://example/widget/ExampleFeatureMenus.xml"/>
+                        <include-form name="ExampleFeatureAppls" location="component://example/widget/ExampleFeatureForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <!-- Screen used by controller for entity edition (not used directly by a portlet) -->
+    <screen name="EditExampleFeatureAppl">
+        <section>
+            <actions>
+                <set field="exampleId" from-field="parameters.exampleId"/>
+                <set field="exampleFeatureId" from-field="parameters.exampleFeatureId"/>
+                <set field="fromDate" from-field="parameters.fromDate"/>
+                <entity-one value-field="exampleFeatureAppl" entity-name="ExampleFeatureAppl"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="portletUiLabelDecorator" location="component://example/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <include-form name="EditExampleFeatureAppl" location="component://example/widget/ExampleFeatureForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+
+</screens>

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureScreens.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureScreens.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleFeatureScreens.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleForms.xml?rev=1346330&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleForms.xml (added)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleForms.xml Tue Jun  5 10:17:15 2012
@@ -0,0 +1,303 @@
+<?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.
+-->
+
+<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
+
+    <!-- Form used directly by a portlet, with portlet type "Screenlet" (no screen including it) -->
+    <form name="FindExample" type="single" target="FindExample" default-entity-name="Example" > <!-- validate-link-on-enter="true" -->
+        <actions>
+            <set field="parameters.portalPageId" value="ExampleMgmt"/>
+        </actions>
+        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
+        <field name="exampleId" title="${uiLabelMap.ExampleExampleId}"><lookup target-form-name="LookupExample"/></field>
+        <field name="exampleName" title="${uiLabelMap.CommonName}"><text-find/></field>
+        <field name="exampleTypeId" title="${uiLabelMap.CommonType}">
+            <drop-down allow-empty="true" current-description="">
+                <entity-options description="${description}" key-field-name="exampleTypeId" entity-name="ExampleType">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}">
+            <drop-down allow-empty="true" current-description="">
+                <entity-options description="${description}" key-field-name="statusId" entity-name="ExampleStatusItem"/>
+            </drop-down>
+        </field>
+        <field name="exampleDate" ><date-find/></field>
+        <field name="portalPageId"><hidden value="ExampleMgmt"/></field>
+        <field name="searchButton" title=" " widget-style="smallSubmit" id-name="submit">
+          <!-- area-id is not mandatory default value is PP_${portalPageId}${portlet-id}${portletSeqId}-->
+          <show-portlet portlet-id="ListExample" description="${uiLabelMap.CommonSearch}" >
+            <parameters-form/>
+          </show-portlet>
+        </field>
+    </form>
+    <form name="SelectExample" type="single" target="showPortalPage">
+        <field name="portalPageId"><hidden/></field>
+        <field name="exampleId" title="${uiLabelMap.ExampleExampleId}" position="1"><lookup size="15" target-form-name="LookupExample"/></field>
+        <field name="searchButton" position="2"><submit button-type="button"/></field>
+    </form>
+    <!-- Form used directly by a portlet, with portlet type "ScreenletList" (no screen including it) -->
+    <form name="ListExample" type="list" list-name="listIt" default-entity-name="Example" separate-columns="true"
+        odd-row-style="alternate-row" header-row-style="header-row" default-table-style="basic-table hover-bar">
+        <actions>
+            <set field="recapPageId" from-field="recapPageId" default-value="ExampleRecap"/><!-- coming from portlet attribute -->
+            <service service-name="performFind" result-map="result" result-map-list="listIt">
+                <field-map field-name="inputFields" from-field="parameters"/>
+                <field-map field-name="entityName" value="Example"/>
+                <field-map field-name="orderBy" from-field="parameters.sortField"/>
+                <field-map field-name="noConditionFind" value="Y"/>
+            </service>
+        </actions>
+        <alt-row-style use-when="&quot;EXST_APPROVED&quot;.equals(statusId)" style="Validate"/>
+        <alt-row-style use-when="&quot;EXST_CANCELLED&quot;.equals(statusId)" style="Warn"/>
+        <field name="exampleId" title="${uiLabelMap.ExampleExampleId}1">
+            <show-portlet portlet-id="ExampleDetailsMenu" collapse-screenlet="true" description="${exampleId}" mark-selected="true">
+                <parameter param-name="exampleId"/>
+            </show-portlet>
+            <show-portlet portlet-id="" target="showExampleDetail" area-id="PP_${portalPageId}ExampleDetail00001">
+              <parameter param-name="exampleId" />
+              <parameter param-name="idDescription" value="${exampleId}: ${exampleName}"/>
+            </show-portlet>
+        </field>
+        <field name="recapPage" title=" ">
+            <hyperlink target="showPortalPage" image-location="${iconsPurpose.Overview}" image-title="${uiLabelMap.IconsTooltips_Overview}">
+              <parameter param-name="portalPageId" from-field="recapPageId"/>
+              <parameter param-name="exampleId"/>
+            </hyperlink>
+        </field>
+        <field name="exampleName" title="${uiLabelMap.CommonName}" sort-field="true"><display/></field>
+        <field name="exampleTypeId" title="${uiLabelMap.CommonType}"><display-entity entity-name="ExampleType"/></field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem"/></field>
+        <field name="description" title="${uiLabelMap.CommonDescription}" sort-field="true"><display/></field>
+        <field name="exampleDate" ><display type="date"/></field>
+        <field name="deleteLink" title=" ">
+            <show-portlet portlet-id="ListExample" target="deleteExampleAjax" parameters-map="queryStringMap"
+                          request-confirmation="true" image-location="${iconsPurpose.Delete}" image-title="${uiLabelMap.IconsTooltips_Delete}">
+              <parameter param-name="exampleId"/>
+              <parameter param-name="comingFromDelete" value="Y"/>
+            </show-portlet>
+                <!-- parameters-map="queryStringMap" is here to solve a problem : refresh will list all records not only selected by the previous request parameters -->
+        </field>
+        <on-event-update-area event-type="paginate" area-id="${currentAreaId}" area-target="showPortlet"/>
+    </form>
+    <!-- Form used by a screen (portlet type "Screenlet") : need to include a secondary menu for external page links -->
+    <form name="ExampleDetailsMenu" type="single" default-map-name="example" default-entity-name="Example">
+        <field name="exampleId" title="${uiLabelMap.ExampleExampleId}"><display/></field>
+        <field name="exampleName" title="${uiLabelMap.CommonName}" position="2"><display/></field>
+        <field name="exampleTypeId" title="${uiLabelMap.CommonType}"><display-entity entity-name="ExampleType"/></field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"><display-entity entity-name="StatusItem"/></field>
+        <field name="description" title="${uiLabelMap.CommonDescription}"><display/></field>
+        <field name="exampleDate" ><display type="date"/></field>
+    </form>
+    <!-- Form used by a screen (portlet type "Screenlet") : need to add a variable check for displaying form -->
+    <form name="ShowExample" type="single" default-map-name="example" default-entity-name="Example">
+      <actions>
+        <entity-one entity-name="Example" use-cache="true"/>
+      </actions>
+        <auto-fields-service service-name="updateExample" default-field-type="display"/>
+        <field name="exampleId" title="${uiLabelMap.ExampleExampleId}"><display/></field>
+        <field name="exampleName" title="${uiLabelMap.CommonName}" position="2"><display/></field>
+        <field name="exampleTypeId" title="${uiLabelMap.CommonType}"><display-entity entity-name="ExampleType"/></field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"><display-entity entity-name="StatusItem"/></field>
+        <field name="description" title="${uiLabelMap.CommonDescription}"><display/></field>
+        <field name="exampleDate" ><display type="date"/></field>
+        <field name="longDescription" title="${uiLabelMap.ExampleLongDescription}"><display/></field>
+    </form>
+    <form name="ExampleSummary" type="single" default-map-name="example" default-entity-name="Example">
+      <actions>
+        <entity-one entity-name="Example" use-cache="true"/>
+      </actions>
+        <field name="exampleId" title="${uiLabelMap.ExampleExampleId}"><display/></field>
+        <field name="exampleName" title="${uiLabelMap.CommonName}" position="2"><display/></field>
+        <field name="exampleTypeId" title="${uiLabelMap.CommonType}"><display-entity entity-name="ExampleType"/></field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2"><display-entity entity-name="StatusItem"/></field>
+        <field name="description" title="${uiLabelMap.CommonDescription}"><display/></field>
+        <field name="exampleDate" ><display type="date"/></field>
+    </form>
+    <!-- Form used directly by a portlet (no screen including it) -->
+    <form name="CreateExample" type="single" default-entity-name="Example" target="createExampleAjax">
+        <actions>
+            <entity-one entity-name="StatusItem" value-field="currentStatus" auto-field-map="false">
+                <field-map field-name="statusId" from-field="example.statusId"/>
+            </entity-one>
+        </actions>
+        <auto-fields-service service-name="createExample"/>
+        <field name="exampleTypeId" title="${uiLabelMap.CommonType}" id-name="exampleTypeId">
+            <drop-down allow-empty="false">
+                <!-- this is a neat feature, but not good for the type because the user would have to know the possible types in order to enter at least the first letter, so leaving it out by default; just uncomment to enable: <auto-complete/> -->
+                <entity-options entity-name="ExampleType" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}">
+            <drop-down allow-empty="false">
+                <entity-options entity-name="ExampleStatusItem" description="${description}"/>
+            </drop-down>
+        </field>
+        <field name="description" title="${uiLabelMap.CommonDescription}"/>
+        <field name="longDescription" title="${uiLabelMap.ExampleLongDescription}"/>
+        <field name="anotherText">
+            <drop-down allow-empty="true">
+                <option key="Explicit Option" description="${uiLabelMap.ExampleExplicitOption}"/>
+                <entity-options entity-name="ExampleType" description="${description}" key-field-name="exampleTypeId">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="submitButton" title="${uiLabelMap.CommonCreate}"><submit button-type="button"/></field>
+        <on-event-update-area area-target="showPortlet" event-type="submit" area-id="${currentAreaId}">
+            <parameter param-name="portalPortletId" value="ShowExample"/>
+            <redirect-parameter param-name="exampleId"/>
+        </on-event-update-area>
+        <on-event-update-area area-target="showPortlet" event-type="submit" area-id="PP_${portalPageId}ExampleItems00001">
+            <parameter param-name="portalPortletId" value="ExampleItems"/>
+            <parameter param-name="areaId" value="PP_${portalPageId}ExampleItems00001"/>
+            <redirect-parameter param-name="exampleId"/>
+        </on-event-update-area>
+    </form>
+    <!-- Form used by a screen by controller entry (not used directly by a portlet) : use for entity edition in edit area -->
+    <form name="EditExample" type="single" default-map-name="example" default-entity-name="Example" target="updateExampleJson">
+        <actions>
+            <entity-one entity-name="StatusItem" value-field="currentStatus" auto-field-map="false">
+                <field-map field-name="statusId" from-field="example.statusId"/>
+            </entity-one>
+        </actions>
+        <auto-fields-service service-name="updateExample"/>
+        <field name="exampleId" title="${uiLabelMap.ExampleExampleId}" tooltip="${uiLabelMap.CommonNotModifRecreat}"><display/></field>
+        <field name="exampleTypeId" title="${uiLabelMap.CommonType}" id-name="exampleTypeId">
+            <drop-down allow-empty="false">
+                <!-- this is a neat feature, but not good for the type because the user would have to know the possible types in order to enter at least the first letter, so leaving it out by default; just uncomment to enable: <auto-complete/> -->
+                <entity-options entity-name="ExampleType" description="${description}">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}">
+            <drop-down allow-empty="false" current-description="${currentStatus.description}">
+                <entity-options entity-name="StatusValidChangeToDetail" key-field-name="statusIdTo" description="${transitionName} (${description})">
+                    <entity-constraint name="statusId" env-name="example.statusId"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="description" title="${uiLabelMap.CommonDescription}"/>
+        <field name="longDescription" title="${uiLabelMap.ExampleLongDescription}"/>
+        <field name="anotherText">
+            <drop-down allow-empty="true">
+                <option key="Explicit Option" description="${uiLabelMap.ExampleExplicitOption}"/>
+                <entity-options entity-name="ExampleType" description="${description}" key-field-name="exampleTypeId">
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="displayAnotherText" use-when="example.get(&quot;anotherText&quot;)!=null">
+            <display description="${example.anotherText}"/>
+        </field>
+        <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
+        <field name="back" title=" " position="2" widget-style="buttontext">
+           <show-portlet portlet-id="${parameters.portalPortletId}" area-id="${parameters.areaId}" description="${uiLabelMap.CommonBack}" >
+               <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+           </show-portlet>
+        </field>
+        <on-event-update-area area-target="showPortlet" event-type="submit" area-id="${parameters.areaId}">
+          <parameter param-name="exampleId"/>
+        </on-event-update-area>
+    </form>
+    <!-- Form used directly by a portlet (no screen including it) -->
+    <form name="ExampleItems" type="list"  list-name="exampleItems" 
+          odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+        <actions>
+            <set field="exampleId" from-field="parameters.exampleId"/>
+            <entity-condition entity-name="ExampleItem">
+                <condition-expr field-name="exampleId" from-field="exampleId"/>
+                <order-by field-name="exampleItemSeqId"/>
+            </entity-condition>
+        </actions>
+        <field name="exampleId"><hidden/></field>
+        <field name="exampleItemSeqId" title="${uiLabelMap.CommonItem}">
+            <show-portlet portlet-id="${portalPortletId}" target="editExampleItemPortlet" area-id="${editAreaDivId}" mark-selected="true" 
+                          description="${exampleItemSeqId}"  also-hidden="false">
+                <parameter param-name="exampleId"/>
+                <parameter param-name="exampleItemSeqId"/>
+            </show-portlet>
+        </field>
+        <field name="description"><display size="30"/></field>
+        <field name="amount"><display/></field>
+        <field name="amountUomId" title="${uiLabelMap.CommonUom}" >
+          <display-entity entity-name="Uom" key-field-name="uomId" description="${description} (${abbreviation})" size="20"/>
+        </field>
+        <field name="deleteLink" title=" ">
+            <show-portlet portlet-id="${portalPortletId}" target="deleteExampleItemPortlet" area-id="${areaId}"
+                          image-location="${iconsPurpose.Delete}" image-title="${uiLabelMap.IconsTooltips_Delete}"
+                          request-confirmation="true" confirmation-message="${uiLabelMap.CommonConfirmDelete}">
+                <parameter param-name="exampleId"/>
+                <parameter param-name="exampleItemSeqId"/>
+            </show-portlet>
+        </field>
+    </form>
+    <!-- Form used by a screen by controller entry (not used directly by a portlet) : use for entity edition in edit area -->
+    <form name="EditExampleItem" type="single" target="createExampleItemJs" title="" default-map-name="exampleItem">
+        <alt-target use-when="exampleItem!=null" target="updateExampleItemJs"/>
+        <auto-fields-service service-name="createExampleItem"/>
+        <field name="exampleId"><hidden/></field>
+        <field name="exampleItemSeqId" use-when="exampleItem==null"><ignored/><!-- this will be auto-sequenced --></field>
+        <field name="exampleItemSeqId" use-when="exampleItem!=null"><display/></field><!-- appears after all fields from auto service (doesn't appear without it) -->
+        <field name="amountUomId" title="${uiLabelMap.CommonUom}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="UomAndType" key-field-name="uomId" description="${typeDescription}: ${description} (${abbreviation})">
+                    <entity-order-by field-name="typeDescription"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="submitButton" title="${groovy: exampleItem == null ? uiLabelMap.CommonAdd : uiLabelMap.CommonSave}">
+           <submit button-type="button"/>
+        </field>
+        <field name="back" title=" " position="2" widget-style="buttontext">  <!-- Back button that refresh portlet with edit area-->
+           <show-portlet portlet-id="${parameters.portalPortletId}" area-id="${parameters.areaId}" description="${uiLabelMap.CommonBack}" >
+               <parameter param-name="exampleId" from-field="parameters.exampleId"/><!-- parameters idDescription, areaId, portalPageId, portletSeqId will be add automatically -->
+           </show-portlet>
+        </field>
+        <on-event-update-area area-target="showPortlet" event-type="submit" area-id="${parameters.areaId}">
+          <parameter param-name="exampleId"/>
+        </on-event-update-area>
+    </form>
+
+    <!-- ExampleStatus : Form used directly by a portlet (no screen including it) -->
+    <form name="ExampleStatus" type="list"  list-name="exampleStatus" 
+          odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+        <actions>
+            <set field="exampleId" from-field="parameters.exampleId"/>
+            <entity-condition entity-name="ExampleStatus">
+                <condition-expr field-name="exampleId" from-field="exampleId"/>
+                <order-by field-name="statusDate"/>
+                <order-by field-name="statusId"/>
+            </entity-condition>
+        </actions>
+        <field name="exampleId"><hidden/></field>
+        <field name="statusId" title="${uiLabelMap.CommonStatus}">
+          <display-entity entity-name="StatusItem"/>
+        </field>
+        <field name="statusDate" title="${uiLabelMap.CommonDate}"><display type="date"/></field>
+        <field name="statusEndDate" title="${uiLabelMap.CommonEndDate}"><display type="date"/></field>
+    </form>
+</forms>

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleForms.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleForms.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleForms.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleMenus.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleMenus.xml?rev=1346330&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleMenus.xml (added)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleMenus.xml Tue Jun  5 10:17:15 2012
@@ -0,0 +1,153 @@
+<?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.
+-->
+
+<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-menu.xsd">
+
+    <!-- Screenlets menus : used on portal portlets and shown in screenlet header, used purpose icons (refresh, edit, add,...), used TabBar Menu style -->
+    <menu name="ExampleDetailsMenu"  extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"
+          default-selected-style="selected">
+        <actions>
+            <set field="areaId" value="PP_${portalPageId}ExampleDetail00001"/>
+        </actions>
+        <menu-item name="showExample" >
+            <condition>
+                <and>
+                    <not><if-empty field="exampleId"/></not>
+                    <or>
+                        <if-empty field="showExampleMenu"/>
+                        <if-compare field="showExampleMenu" operator="equals" value="Y"/>
+                    </or>
+                </and>
+            </condition>
+            <show-portlet portlet-id="ShowExample" target="showExampleDetail" area-id="${areaId}" image-location="${iconsPurpose.Details}" 
+                                                                                                    image-title="${uiLabelMap.IconsTooltips_Details}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+            </show-portlet>
+        </menu-item>
+        <menu-item name="exampleItems">
+            <condition>
+                <and>
+                    <not><if-empty field="parameters.exampleId"/></not>
+                    <or>
+                        <if-empty field="exampleItemsMenu"/>
+                        <if-compare field="exampleItemsMenu" operator="equals" value="Y"/>
+                    </or>
+                </and>
+            </condition>
+            <show-portlet portlet-id="ExampleItems" target="showExampleDetail" area-id="${areaId}" image-location="${iconsPurpose.Items}" 
+                                                                                                    image-title="${uiLabelMap.IconsTooltips_Items}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+            </show-portlet>
+        </menu-item>
+        <menu-item name="exampleFeatureAppls" title="${uiLabelMap.ExampleFeatures}">
+            <condition>
+                <and>
+                    <not><if-empty field="parameters.exampleId"/></not>
+                    <or>
+                        <if-empty field="exampleFeatureApplsMenu"/>
+                        <if-compare field="exampleFeatureApplsMenu" operator="equals" value="Y"/>
+                    </or>
+                </and>
+            </condition>
+            <show-portlet portlet-id="ExampleFeatureAppls" target="showExampleDetail" area-id="${areaId}" >
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+              <parameter param-name="idDescription"/>
+            </show-portlet>
+        </menu-item>
+        <menu-item name="exampleStatus" title="${uiLabelMap.ExampleStatusHistory}">
+            <condition>
+                <and>
+                    <not><if-empty field="parameters.exampleId"/></not>
+                    <or>
+                        <if-empty field="exampleStatusMenu"/>
+                        <if-compare field="exampleStatusMenu" operator="equals" value="Y"/>
+                    </or>
+                </and>
+            </condition>
+            <show-portlet portlet-id="ExampleStatus" target="showExampleDetail" area-id="${areaId}"  >
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+              <parameter param-name="idDescription"/>
+            </show-portlet>
+        </menu-item>
+        <menu-item name="IconsList" title="${uiLabelMap.PageTitleIconsList}">
+            <condition>
+                <and>
+                    <not><if-empty field="parameters.exampleId"/></not>
+                </and>
+            </condition>
+            <show-portlet portlet-id="IconsList" target="showExampleDetail" area-id="${areaId}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+              <parameter param-name="idDescription" value=" "/>
+            </show-portlet>
+        </menu-item>
+    </menu>
+    <menu name="ShowExample" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
+        <actions>
+          <set field="areaId" from-field="parameters.areaId" default-value="${currentAreaId}"/>
+        </actions>
+        <menu-item name="refreshExampleItem">
+            <show-portlet portlet-id="${portalPortletId}" area-id="${areaId}" image-location="${iconsPurpose.Refresh}" image-title="${uiLabelMap.IconsTooltips_Refresh}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+            </show-portlet>
+        </menu-item>
+        <menu-item name="updateExample">
+            <show-portlet portlet-id="${portalPortletId}" target="editExamplePortlet" area-id="${subAreaDivId}" image-location="${iconsPurpose.Edit}" image-title="${uiLabelMap.IconsTooltips_Edit}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+            </show-portlet>
+        </menu-item>
+    </menu>
+    <menu name="ExampleItems" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
+        <actions>
+          <set field="areaId" from-field="parameters.areaId" default-value="PP_${portalPageId}${portalPortletId}00001"/>
+        </actions>
+        <menu-item name="refreshExampleItem">
+            <show-portlet portlet-id="${portalPortletId}" area-id="${areaId}" image-location="${iconsPurpose.Refresh}" image-title="${uiLabelMap.IconsTooltips_Refresh}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+            </show-portlet>
+        </menu-item>
+        <menu-item name="addExampleItem">
+            <show-portlet portlet-id="${portalPortletId}" target="editExampleItemPortlet" area-id="ExampleItems_EditArea" image-location="${iconsPurpose.Add}" image-title="${uiLabelMap.IconsTooltips_Add}">
+              <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+            </show-portlet>
+        </menu-item>
+    </menu>
+
+    <!-- External menus : use for actions witch drive you on another portal page, not in screenlet header, used in a screen, used purpose icons, used ButtonBar Menu style-->
+    <menu name="ExampleExternalMenu" extends="CommonButtonBarMenu" extends-resource="component://common/widget/CommonMenus.xml">
+        <menu-item name="newExample">
+            <link target="showPortalPage">
+                <parameter param-name="portalPageId" from-field="newPageId" value="ExampleNew"/>
+                <image src="${iconsPurpose.Add}" title="${uiLabelMap.ExampleNewExample}"/>
+            </link>
+        </menu-item>
+        <menu-item name="recapExample">
+            <condition>
+                <not><if-empty field="parameters.exampleId"/></not>
+            </condition>
+            <link target="showPortalPage">
+                <parameter param-name="portalPageId" from-field="recapPageId" value="ExampleFullRecap"/>
+                <parameter param-name="exampleId" from-field="parameters.exampleId"/>
+                <image src="${iconsPurpose.Overview}" title="${uiLabelMap.IconsTooltips_Overview}"/>
+            </link>
+        </menu-item>
+    </menu>
+
+</menus>

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleMenus.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleMenus.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleMenus.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleScreens.xml?rev=1346330&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleScreens.xml (added)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleScreens.xml Tue Jun  5 10:17:15 2012
@@ -0,0 +1,108 @@
+<?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"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
+
+    <!-- Screen used by portlet ExampleDetailsMenu (portlet use a screen instead of using directly a form because it need to add a menu for external actions before displaying form)  -->
+    <screen name="ExampleDetailsMenu">
+        <section>
+            <widgets>
+                  <include-menu name="ExampleExternalMenu" location="component://example/widget/ExampleMenus.xml"/>
+                  <section>
+                      <condition>
+                          <not><if-empty field="exampleId"/></not>
+                      </condition>
+                      <widgets>
+                          <include-form name="ExampleSummary" location="component://example/widget/ExampleForms.xml"/>
+                      </widgets>
+                  </section>
+            </widgets>
+        </section>
+    </screen>
+
+    <!-- Screen used by controller for entity edition (not used directly by a portlet) -->
+    <screen name="ShowExample">
+        <section>
+            <condition>
+                <not><if-empty field="parameters.exampleId"/></not>
+            </condition>
+            <widgets>
+                <include-form name="ShowExample" location="component://example/widget/ExampleForms.xml"/>
+            </widgets>
+        </section>
+    </screen>
+
+    <!-- Screen used by controller for displaying portlets in details area (not used directly by a portlet) -->
+    <screen name="ShowExampleDetail">
+        <section>
+            <condition>
+                  <not><if-empty field="parameters.exampleId"/></not>
+            </condition>
+            <actions>
+                <set field="defaultdetailPortletId" from-field="dtExampleId" from-scope="user" default-value="ShowExample"/>
+                <set field="portalPortletId" from-field="parameters.portalPortletId" default-value="${defaultdetailPortletId}"/>
+                <set field="dtExampleId" from-field="portalPortletId" to-scope="user"/>
+                <set field="portalPageId" from-field="parameters.portalPageId"/>
+                <set field="parameters.areaId" value="PP_${portalPageId}ExampleDetail00001"/>
+                <set field="portletSeqId" from-field="parameters.portletSeqId" default-value="00001"/>
+            </actions>
+            <widgets>
+<!--                      <label text="portalPageId=${portalPageId} portalPortletId=${portalPortletId} portletSeqId=${portletSeqId} parameters.areaId=${parameters.areaId}"/>-->
+                <include-portal-page id="${portalPageId}" portalPortletId="${portalPortletId}" portletSeqId="${portletSeqId}"/>
+            </widgets>
+        </section>
+    </screen>
+
+    <!-- Screen used by controller for entity edition (not used directly by a portlet) -->
+    <screen name="EditExample">
+        <section>
+            <actions>
+                <script location="component://example/script/org/ofbiz/example/ExampleWactions.xml#EditExample"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="portletUiLabelDecorator" location="component://example/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <include-form name="EditExample" location="component://example/widget/ExampleForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+    <!-- Screen used by controller for entity edition (not used directly by a portlet) -->
+    <screen name="EditExampleItem">
+        <section>
+            <actions>
+                <set field="exampleId" from-field="parameters.exampleId"/>
+                <set field="exampleItemSeqId" from-field="parameters.exampleItemSeqId"/>
+                <entity-one value-field="exampleItem" entity-name="ExampleItem"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="portletUiLabelDecorator" location="component://example/widget/CommonScreens.xml">
+                    <decorator-section name="body">
+                        <include-form name="EditExampleItem" location="component://example/widget/ExampleForms.xml"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+
+</screens>

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleScreens.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleScreens.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/ExampleScreens.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/example/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/example/CommonScreens.xml?rev=1346330&r1=1346329&r2=1346330&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/example/CommonScreens.xml (original)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/widget/example/CommonScreens.xml Tue Jun  5 10:17:15 2012
@@ -44,12 +44,33 @@ under the License.
                 <set field="applicationMenuLocation" value="component://example/widget/example/ExampleMenus.xml" global="true"/>
                 <!--set field="appheaderTemplate" value="component://example/webapp/appheader.ftl"/-->
                 <set field="applicationTitle" value="${uiLabelMap.ExampleApplication}" global="true"/>
+                <!--#Bam# exampleHelp  -->
+                <!-- Help link actions -->
+                <set field="helpTopic" value="${groovy: webSiteId + '_' + requestAttributes._CURRENT_VIEW_}"/>
+                <entity-and list="pageAvail" entity-name="ContentAssoc">
+                    <field-map field-name="mapKey" from-field="helpTopic"/>
+                </entity-and>
+                <!--#Eam# exampleHelp  -->
             </actions>
             <widgets>
                 <include-screen name="GlobalDecorator" location="component://common/widget/CommonScreens.xml"/>
             </widgets>
         </section>
     </screen>
+    <!--#Bam# portletExample :  -->
+    <screen name="uiLabelDecorator">
+        <section> <!-- labels define here are loading before portlet label (use for surcharge label definition)-->
+            <actions>
+                <!-- base/top/specific map first, then more common map added for shared labels -->
+                <property-map resource="ExampleUiLabels" map-name="uiLabelMap" global="true"/> 
+            </actions>
+            <widgets>
+                <include-screen name="uiLabelDecorator" location="component://common/widget/CommonScreens.xml"/>
+                <decorator-section-include name="body"/>
+            </widgets>
+        </section>
+    </screen>
+    <!--#Eam# portletExample  -->
 
     <screen name="CommonExampleDecorator">
         <!-- The CommonExampleDecorator screen decorates a small group of screens that all have