ofbiz-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From er...@apache.org
Subject svn commit: r1370439 [2/5] - in /ofbiz/branches/20120329_portletWidget/framework: base/src/org/ofbiz/base/util/ common/config/ common/data/ common/entitydef/ common/webcommon/WEB-INF/ common/widget/ images/webapp/images/ minilang/src/org/ofbiz/minilang...
Date Tue, 07 Aug 2012 19:13:05 GMT
Added: ofbiz/branches/20120329_portletWidget/framework/common/config/PortalAdminUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/config/PortalAdminUiLabels.xml?rev=1370439&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/config/PortalAdminUiLabels.xml (added)
+++ ofbiz/branches/20120329_portletWidget/framework/common/config/PortalAdminUiLabels.xml Tue Aug  7 19:13:03 2012
@@ -0,0 +1,43 @@
+<?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.
+-->
+<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    
+    <property key="FormFieldTitle_titleLabel">
+        <value xml:lang="en">Screenlet Title Label</value>
+        <value xml:lang="fr">Label de titre de la screenlet</value>
+    </property>
+    <property key="tooltip_mgmtPageId">
+        <value xml:lang="en">Used for recap link</value>
+        <value xml:lang="fr">Utilisé dans le lien vers la page de management</value>
+    </property>
+    <property key="tooltip_newPageId">
+        <value xml:lang="en">Used for new link</value>
+        <value xml:lang="fr">Utilisé dans le lien vers la page de création</value>
+    </property>
+    <property key="tooltip_recapPageId">
+        <value xml:lang="en">Used for mgmt link</value>
+        <value xml:lang="fr">Utilisé dans le lien voir toutes les portlets</value>
+    </property>
+    <property key="tooltip_showMenu">
+        <value xml:lang="en">Used to display menu</value>
+        <value xml:lang="fr">Utilisé pour afficher le menu</value>
+    </property>
+</resource>

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/config/PortalAdminUiLabels.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/config/PortalAdminUiLabels.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/config/PortalAdminUiLabels.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/framework/common/config/iconsPurpose.properties
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/config/iconsPurpose.properties?rev=1370439&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/config/iconsPurpose.properties (added)
+++ ofbiz/branches/20120329_portletWidget/framework/common/config/iconsPurpose.properties Tue Aug  7 19:13:03 2012
@@ -0,0 +1,107 @@
+###############################################################################
+# 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.
+###############################################################################
+# objects icons
+Accounting=/images/icons/famfamfam/coins.png
+Calendar=/images/icons/famfamfam/date.png
+Contact=/images/icons/famfamfam/vcard.png
+Note=/images/icons/famfamfam/note.png
+Order=/images/icons/famfamfam/application_form.png
+Party=/images/icons/famfamfam/user.png
+Phase=/images/icons/famfamfam/sitemap.png
+Product=/images/icons/famfamfam/brick.png
+Project=/images/icons/famfamfam/chart_organisation.png
+Quote=/images/icons/famfamfam/application_go.png
+Resource=/images/icons/famfamfam/camera.png
+Shipment=/images/icons/famfamfam/lorry.png
+Task=/images/icons/famfamfam/script.png
+# actions icons
+Activate=/images/icons/famfamfam/clock_add.png
+Add=/images/icons/famfamfam/application_add.png
+AddItem=/images/icons/famfamfam/add.png
+Address=/images/icons/famfamfam/building.png
+Adm=/images/icons/famfamfam/cog.png
+Alarm=/images/icons/famfamfam/bell.png
+AppNext=/images/icons/famfamfam/application_side_expand.png
+AppPrev=/images/icons/famfamfam/application_side_contract.png
+Associate=/images/icons/famfamfam/application_link.png
+Attach=/images/icons/famfamfam/attach.png
+Cancel=/images/icons/famfamfam/cancel.png
+Category=/images/icons/famfamfam/application_cascade.png
+ChartBar=/images/icons/famfamfam/chart_bar.png
+ChartPie=/images/icons/famfamfam/chart_pie.png
+ChartLine=/images/icons/famfamfam/chart_line.png
+Child=/images/icons/famfamfam/shape_move_forwards.png
+ContactMech=/images/icons/famfamfam/book_addresses.png
+Date=/images/icons/famfamfam/date.png
+Deactivate=/images/icons/famfamfam/clock_delete.png
+Delete=/images/icons/famfamfam/bin.png
+Details=/images/icons/famfamfam/application_view_list.png
+Disabled=/images/icons/famfamfam/cross.png
+Docfusion=/images/icons/famfamfam/page_white_gear.png
+Done=/images/icons/famfamfam/clock.png
+Download=/images/icons/famfamfam/page_white_get.png
+Duplicate=/images/icons/famfamfam/application_double.png
+Edit=/images/icons/famfamfam/application_edit.png
+Email=/images/icons/famfamfam/email.png
+EmailAttach=/images/icons/famfamfam/email_attach.png
+EmailEdit=/images/icons/famfamfam/email_edit.png
+EmailGo=/images/icons/famfamfam/email_go.png
+EmailOpen=/images/icons/famfamfam/email_open.png
+EventCom=/images/icons/famfamfam/lightning_go.png
+Expire=/images/icons/famfamfam/clock_stop.png
+Filter=/images/icons/famfamfam/find.png
+Gantt=/images/icons/famfamfam/shape_align_left.png
+GeoLoc=/images/icons/famfamfam/map.png
+Grants=/images/icons/famfamfam/key.png
+Group=/images/icons/famfamfam/group.png
+Hierarchy=/images/icons/famfamfam/page_white_stack.png
+HideHistory=/images/icons/famfamfam/time_delete.png
+History=/images/icons/famfamfam/time.png
+Items=/images/icons/famfamfam/text_list_bullets.png
+Overview=/images/icons/famfamfam/application_form_magnify.png
+Pause=/images/icons/famfamfam/control_pause_blue.png
+Payment=/images/icons/famfamfam/creditcards.png
+PDF=/images/icons/famfamfam/page_white_acrobat.png
+Phone=/images/icons/famfamfam/phone.png
+Plan=/images/icons/famfamfam/table_gear.png
+Print=/images/icons/famfamfam/printer.png
+Refresh=/images/icons/famfamfam/arrow_refresh.png
+Revision=/images/icons/famfamfam/report_key.png
+Role=/images/icons/famfamfam/report_user.png
+Run=/images/icons/famfamfam/control_play_blue.png
+Save=/images/icons/famfamfam/page_save.png
+Select=/images/icons/famfamfam/bullet_go.png
+Server=/images/icons/famfamfam/server.png
+Skills=/images/icons/famfamfam/award_star_gold_3.png
+Stop=/images/icons/famfamfam/control_stop_blue.png
+Switch=/images/icons/famfamfam/arrow_switch.png
+Synchronize=/images/icons/famfamfam/arrow_join.png
+Telephone=/images/icons/famfamfam/telephone.png
+Template=/images/icons/famfamfam/page_white_code.png
+TimeEntry=/images/icons/famfamfam/clock_link.png
+Tools=/images/icons/famfamfam/wrench.png
+Upload=/images/icons/famfamfam/page_white_put.png
+UserAvAvai=/images/icons/famfamfam/user_green.png
+UserAvBusy=/images/icons/famfamfam/user_red.png
+UserAvAway=/images/icons/famfamfam/user_orange.png
+UserAvUnkn=/images/icons/famfamfam/user_gray.png
+UserLogin=/images/icons/famfamfam/user_go.png
+Validate=/images/icons/famfamfam/tick.png
+View=/images/icons/famfamfam/page_white_magnify.png
+Www=/images/icons/famfamfam/world.png

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/config/iconsPurpose.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/config/iconsPurpose.properties
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/config/iconsPurpose.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/branches/20120329_portletWidget/framework/common/data/CommonPortletData.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/data/CommonPortletData.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/data/CommonPortletData.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/common/data/CommonPortletData.xml Tue Aug  7 19:13:03 2012
@@ -30,4 +30,13 @@
     <PortalPortlet portalPortletId="GricScltAjaxWithMenu" portletName="Screenlet with one screen, and one menu called by ajax" screenName="GenericScreenletAjaxWithMenu" screenLocation="component://common/widget/PortalPageScreens.xml" editFormName="GenericScreenletAjaxWithMenuParam" editFormLocation="component://common/widget/PortletEditForms.xml" description="Simple portlet using screenlet with a menu, with one screen which was update by ajax process, so with a div. This portlet has 6 mandatory parameters." securityServiceName="" securityMainAction="VIEW"/>
     <PortletPortletCategory portalPortletId="GricScltAjaxWithMenu" portletCategoryId="GENERIC_PORTLET"/>
     <PortalPage portalPageId="_NA_" sequenceNum="000" portalPageName="For using genericPortletScreen" description="To be able to have parameters at the portlet level, not PortletPage level" ownerUserLoginId="_NA_"/>
+  <!--#Bam# portletWidget -->
+  <PortletType portletTypeId="Decorator" screenName="portletUiLabelDecorator" description="use screen and screen location in the portletDecorator" screenLocation="component://common/widget/PortletTypeScreens.xml"/>
+  <PortletType portletTypeId="Screenlet" screenName="Screenlet" description="depending of scriptName, menuName and screenName exist a screen with call (or not) scriptName in action and include a screenlet with include formName (or screenName) and include (or not) menuName" screenLocation="component://common/widget/PortletTypeScreens.xml"/>
+  <PortletType portletTypeId="ScreenletList" screenName="ScreenletList" description="include a list type form (do not use screenName) and an editing area, depending of scriptName and menuName exist a screen with call (or not) scriptName in action and include a screenlet with include formName and include (or not) menuName" screenLocation="component://common/widget/PortletTypeScreens.xml"/>
+  <PortletType portletTypeId="Empty" screenName="Empty" description="a empty screen, used to define a areaId" screenLocation="component://common/widget/PortletTypeScreens.xml"/>
+  <!--#Eam# portletWidget -->
+  <!--#Bam# portletExample can be use for all portal page build like exampleMgmt-->
+  <PortalPortlet portalPortletId="CommonDetail" portletName="Common detail portlet place" description="Use this portlet to say where detail portlet call from a menu will be show" portletTypeId="Empty" component="common" subComponent="Common" securityServiceName="" securityMainAction="VIEW"/>
+  <!--#Eam# portletExample -->
 </entity-engine-xml>

Modified: ofbiz/branches/20120329_portletWidget/framework/common/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/entitydef/entitymodel.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/entitydef/entitymodel.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/common/entitydef/entitymodel.xml Tue Aug  7 19:13:03 2012
@@ -701,18 +701,51 @@ under the License.
     <!-- org.ofbiz.common.portal -->
     <!-- ============================ -->
 
-    <entity entity-name="PortalPortlet" package-name="org.ofbiz.common.portal" title="Defines a Portlet to be used in Portals">
+    <entity entity-name="PortalPortlet" package-name="org.ofbiz.common.portal" title="Defines a Portlet to be used in Portals" default-resource-name="CommonPortalEntityLabels">
+        <!--#Eam# PortletWidget : default-resource-name is used to contain description field, currentlty all FieldDescription are done.
+               If you want have information to each field go to portlet editPortlet and read hint about each field label -->
         <field name="portalPortletId" type="id-ne"></field>
+        <field name="portletLongId" type="id-long"></field>
         <field name="portletName" type="name"></field>
+        <field name="portletTypeId" type="id"></field>
+        <field name="component" type="id"></field>
+        <field name="subComponent" type="id"></field>
+        <field name="webapp" type="id"></field>
+        <field name="useScreen" type="indicator"></field>
         <field name="screenName" type="long-varchar"></field>
         <field name="screenLocation" type="long-varchar"></field>
+        <field name="useScript" type="indicator"></field>
+        <field name="scriptName" type="long-varchar"></field>
+        <field name="uiLabelLocation" type="long-varchar"></field>
+        <field name="formName" type="long-varchar"></field>
+        <field name="formLocation" type="long-varchar"></field>
+        <field name="pkIdName" type="short-varchar"></field>
+<!--        <field name="areaDivId" type="short-varchar"></field>  with id build with portalPageId portalPortletId portletSeqId, it seem, it's no more necessary because alway unique -->
+        <field name="editAreaDivId" type="short-varchar"></field>
+        <field name="subAreaDivId" type="short-varchar"></field>
+        <field name="titleLabel" type="short-varchar"></field>
+        <field name="useMenu" type="indicator"></field>
+        <field name="menuName" type="short-varchar"></field>
+        <field name="menuLocation" type="long-varchar"></field>
+        <field name="helpName" type="short-varchar"></field>
         <field name="editFormName" type="long-varchar"></field>
         <field name="editFormLocation" type="long-varchar"></field>
         <field name="description" type="description"></field>
         <field name="screenshot" type="url"></field>
         <field name="securityServiceName" type="long-varchar"><description>The service named here is used to see if current user can see the portlet on the list of available portlets; the screen that the portlet calls should also call this service to check permission and not render; the service named here must implement the "permissionInterface" service just like services used for service permissions</description></field>
+        <field name="securityPermission" type="short-varchar"></field>
         <field name="securityMainAction" type="short-varchar"><description>The main action which can be done with this portlet, possible values: CREATE UPDATE VIEW DELETE</description></field>
         <prim-key field="portalPortletId"/>
+        <relation rel-entity-name="PortletType" type="one" fk-name="PPORTLET_TYPE">
+          <key-map field-name="portletTypeId"/>
+        </relation>
+    </entity>
+    <entity entity-name="PortletType" package-name="org.ofbiz.common.portal" title="Portlet Type Entity">
+      <field name="portletTypeId" type="id-ne"/>
+      <field name="description" type="description"/>
+      <field name="screenName" type="long-varchar"></field>
+      <field name="screenLocation" type="long-varchar"></field>
+      <prim-key field="portletTypeId"/>
     </entity>
     <entity entity-name="PortletCategory" package-name="org.ofbiz.common.portal" title="Portlet Category Entity">
       <field name="portletCategoryId" type="id-ne"/>
@@ -776,6 +809,7 @@ under the License.
         <field name="columnSeqId" type="id-ne"></field>
         <field name="columnWidthPixels" type="numeric"></field>
         <field name="columnWidthPercentage" type="numeric"></field>
+        <field name="newLine" type="indicator"/>
         <prim-key field="portalPageId"/>
         <prim-key field="columnSeqId"/>
         <relation type="one" fk-name="PRTL_PGCOL_PAGE" rel-entity-name="PortalPage">
@@ -811,7 +845,8 @@ under the License.
             <key-map field-name="portalPortletId"/>
         </view-link>
     </view-entity>
-    <entity entity-name="PortletAttribute" package-name="org.ofbiz.common.portal" title="Allows to set different attribute values for each instance of the same portlet">
+    <entity entity-name="PortletAttribute" package-name="org.ofbiz.common.portal" title="Allows to set different attribute values for each instance of the same portlet"
+                                           default-resource-name="CommonPortalEntityLabels">
         <field name="portalPageId" type="id-ne"></field>
         <field name="portalPortletId" type="id-ne"></field>
         <field name="portletSeqId" type="id-ne"></field>

Modified: ofbiz/branches/20120329_portletWidget/framework/common/webcommon/WEB-INF/portal-controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/webcommon/WEB-INF/portal-controller.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/webcommon/WEB-INF/portal-controller.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/common/webcommon/WEB-INF/portal-controller.xml Tue Aug  7 19:13:03 2012
@@ -27,6 +27,10 @@ under the License.
         <security https="true" auth="true"/>
         <response name="success" type="view" value="showPortlet"/>
     </request-map>
+    <request-map uri="refreshPortlet">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="showPortlet"/>
+    </request-map>
     <request-map uri="showPortletMainDecorator">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="showPortletMainDecorator"/>
@@ -35,6 +39,8 @@ under the License.
         <security https="true" auth="true"/>
         <response name="success" type="view" value="showPortletSimpleDecorator"/>
     </request-map>
+    <request-map uri="showCommonDetailPortlet"><security https="true" auth="true"/><response name="success" type="view" value="showCommonDetailPortlet"/></request-map><!--#Eam# portletExample can be use for all portalPage build like exampleMgmt -->
+
     <!-- Portlet editing requests -->
     <request-map uri="editPortalPortletAttributes">
         <security https="true" auth="true"/>
@@ -78,6 +84,12 @@ under the License.
         <response name="success" type="view-last" value="main" save-last-view="true"/>
         <response name="error" type="request" value="main"/>
     </request-map>
+    <request-map uri="updatePortalPagePortletSeq">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="updatePortalPagePortletSeq"/>
+        <response name="success" type="view-last" value="main" save-last-view="true"/>
+        <response name="error" type="request" value="main"/>
+    </request-map>
     <request-map uri="updatePortletSeqDragDrop">
         <security https="true" auth="true"/>
         <event type="service" invoke="updatePortletSeqDragDrop"/>
@@ -160,8 +172,11 @@ under the License.
     <!-- View Mappings -->
     <view-map name="showPortalPage" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortalPage"/>
     <view-map name="showPortlet" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortlet"/>
+    <view-map name="showPortletUiLabelDecorator" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortletUiLabelDecorator"/>
     <view-map name="showPortletMainDecorator" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortletMainDecorator"/>
     <view-map name="showPortletSimpleDecorator" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortletSimpleDecorator"/>
+    <view-map name="showCommonDetailPortlet" type="screen" page="component://common/widget/CommonScreens.xml#ShowCommonDetailPortlet"/> <!--#Eam# portletExample can be use for all portalPage build like exampleMgmt -->
+
     <view-map name="ManagePortalPages" type="screen" page="component://common/widget/PortalPageScreens.xml#ManagePortalPages"/>
     <view-map name="NewPortalPage" type="screen" page="component://common/widget/PortalPageScreens.xml#NewPortalPage"/>
     <view-map name="addPortlet" type="screen" page="component://common/widget/PortalPageScreens.xml#AddPortlet"/>

Modified: ofbiz/branches/20120329_portletWidget/framework/common/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/widget/CommonScreens.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/widget/CommonScreens.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/common/widget/CommonScreens.xml Tue Aug  7 19:13:03 2012
@@ -150,6 +150,7 @@ under the License.
                 <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/validate/jquery.validate.min.js" global="true" />
                 <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/fjTimer/jquerytimer-min.js" global="true" />
                 <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/ui/development-bundle/ui/jquery.ui.datepicker.js" global="true" />
+                <set field="layoutSettings.javaScripts[+0]" value="/images/portlet.js" global="true"/><!--#Eam# portletWidget -->
                 <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/jquery-1.7.2.min.js" global="true" />
                 <!-- jQuery CSSs -->
                 <set field="layoutSettings.styleSheets[+0]" value="/images/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.css" global="true" />
@@ -184,6 +185,10 @@ under the License.
                         <set field="appbarOpenTemplateLocation" from-field="layoutSettings.VT_NAV_OPEN_TMPLT[0]" />
                         <set field="appbarCloseTemplateLocation" from-field="layoutSettings.VT_NAV_CLOSE_TMPLT[0]" />
                         <set field="messagesTemplateLocation" from-field="layoutSettings.VT_MSG_TMPLT_LOC[0]" />
+                        <!--#Bam# icons-purpose-->
+                        <set field="iconsPurposeProp" from-field="layoutSettings.VT_ICONS_PURP[0]" default-value="iconsPurpose"/>
+                        <property-map resource="${iconsPurposeProp}" map-name="iconsPurpose" global="true" />
+                        <!--#Eam# icons-purpose-->
                         <set field="layoutSettings.suppressTab" value="ofbizsetup"/><!-- diseable ofbiz setup by default -->
                     </actions>
                     <widgets />
@@ -387,6 +392,10 @@ under the License.
                         <set field="layoutSettings.javaScripts[]" value="/images/fieldlookup.js" global="true"/>
 
                         <set field="messagesTemplateLocation" from-field="layoutSettings.VT_MSG_TMPLT_LOC[0]" default-value="component://common/webcommon/includes/messages.ftl"/>
+                        <!--#Bam# icons-purpose-->
+                        <set field="iconsPurposeProp" from-field="layoutSettings.VT_ICONS_PURP[0]" default-value="iconsPurpose"/>
+                        <property-map resource="${iconsPurposeProp}" map-name="iconsPurpose" global="true" />
+                        <!--#Eam# icons-purpose-->
                     </actions>
                     <widgets>
                         <section>
@@ -477,6 +486,7 @@ under the License.
                 <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/fjTimer/jquerytimer-min.js" global="true"/>
                 <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/plugins/validate/jquery.validate.min.js" global="true"/>
                 <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/ui/development-bundle/ui/jquery.ui.datepicker.js" global="true"/>
+                <set field="layoutSettings.javaScripts[+0]" value="/images/portlet.js" global="true"/><!--#Eam# portletWidget -->
                 <set field="layoutSettings.javaScripts[+0]" value="/images/jquery/jquery-1.7.2.min.js" global="true"/>
                     <!-- jQuery CSSs -->
                 <set field="layoutSettings.styleSheets[+0]" value="/images/jquery/plugins/asmselect/jquery.asmselect-1.0.4a-beta.css" global="true"/>
@@ -491,6 +501,10 @@ under the License.
                 <!-- The settings below are used for xsl-fo screens -->
                 <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                 <set field="logoImageUrl" value="/images/ofbiz_logo.gif"/>
+                <!--#Bam# icons-purpose-->
+                <set field="iconsPurposeProp" from-field="layoutSettings.VT_ICONS_PURP[0]" default-value="iconsPurpose"/>
+                <property-map resource="${iconsPurposeProp}" map-name="iconsPurpose" global="true" />
+                <!--#Eam# icons-purpose-->
                 <!--<set field="defaultFontFamily" value="Arial"/>-->
             </actions>
             <widgets>
@@ -697,4 +711,71 @@ under the License.
             </widgets>
         </section>
     </screen>
+
+    <!--#Bam# portletUiLabelDecorator : manage standard portlet decorator -->
+    <screen name="uiLabelDecorator">
+        <section>
+            <actions>
+                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true" />
+                <property-map resource="general" map-name="generalProperties" global="true"/>
+                <set field="defaultVisualThemeId" from-field="generalProperties.defaultVisualThemeId" default-value="SMOOTH_FEATHER"/>
+                <set field="visualThemeId" from-field="userPreferences.VISUAL_THEME" default-value="${defaultVisualThemeId}" global="true"/>
+                <service service-name="getVisualThemeResources">
+                    <field-map field-name="visualThemeId"/>
+                    <field-map field-name="themeResources" from-field="layoutSettings"/>
+                </service>
+                <set field="layoutSettings" from-field="themeResources" default-value="${layoutSettings}" global="true"/>
+                <set field="iconsLocation" from-field="layoutSettings.VT_ICONS_LOC[0]" default-value="/images/icons/famfamfam" global="true"/>
+                <set field="iconsPurposeProp" from-field="layoutSettings.VT_ICONS_PURP[0]" default-value="iconsPurpose"/>
+                <property-map resource="${iconsPurposeProp}" map-name="iconsPurpose" global="true" />
+            </actions>
+            <widgets>
+              <section>
+                <condition>
+                  <if-empty field="includedInPage"/>
+                </condition>
+                <widgets>
+                  <platform-specific>
+                    <html>
+                        <html-template location="component://common/webcommon/includes/messages.ftl" />
+                    </html>
+                  </platform-specific>
+                </widgets>
+              </section>
+            </widgets>
+        </section>
+    </screen>
+
+    <screen name="portletUiLabelDecorator">
+      <section>
+        <widgets>
+          <decorator-screen name="uiLabelDecorator" location="${parameters.mainDecoratorLocation}">
+              <decorator-section name="body">
+                <decorator-section-include name="body" />
+              </decorator-section>
+          </decorator-screen>
+        </widgets>
+      </section>
+    </screen>
+    <!--  can be use for all portalPage build like exampleMgmt  -->
+    <screen name="ShowCommonDetailPortlet">
+        <section>
+            <actions>
+                <set field="defaultdetailPortletId" from-field="detailCommonPortletId" from-scope="user" default-value="CommonInfo"/>
+                <set field="portalPortletId" from-field="parameters.portalPortletId" default-value="${defaultdetailPortletId}"/>
+                <set field="detailCommonPortletId" from-field="portalPortletId" to-scope="user"/>
+                <set field="portalPageId" from-field="parameters.portalPageId"/>
+                <set field="parameters.areaId" value="PP_${portalPageId}CommonDetail00001"/>
+                <set field="portletSeqId" from-field="parameters.portletSeqId" default-value="00001"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="portletUiLabelDecorator">
+                    <decorator-section name="body">
+                      <include-portal-page id="${portalPageId}" portalPortletId="${portalPortletId}" portletSeqId="${portletSeqId}"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <!--#Eam# portletUiLabelDecorator -->
 </screens>

Modified: ofbiz/branches/20120329_portletWidget/framework/common/widget/PortalPageForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/widget/PortalPageForms.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/widget/PortalPageForms.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/common/widget/PortalPageForms.xml Tue Aug  7 19:13:03 2012
@@ -123,10 +123,18 @@ under the License.
                 <field-map field-name="portalPageId" from-field="parameters.portalPageId"/>
             </entity-and>
         </actions>
-        <field name="portletName">
-            <hyperlink also-hidden="false" target="showHelp?helpTopic=HELP_${portalPortletId}" description="${portletName}" ></hyperlink>
+        <!--#Bam# exampleHelp -->
+        <row-actions>
+           <entity-one entity-name="PortalPortlet" value-field="portlet"></entity-one>
+           <set field="helpTopicName" from-field="helpName" default-value="HELP_${portalPortletId}"/>
+        </row-actions>
+        <field name="portletName" >
+            <hyperlink also-hidden="false" target="showHelp?helpTopic=${helpTopicName}" description="${portlet.portletName}"></hyperlink>
         </field>
-        <field name="description"><display/></field>
+        <field name="description" title="${uiLabelMap.CommonDescription}"><display description="${portlet.description}"/></field>
+        <!--#Eam# exampleHelp -->
+        
+        
     </form>
 
     <form name="FindGenericEntity" type="single" target="list${entity}" title="" focus-field-name="idName">
@@ -146,6 +154,7 @@ under the License.
         <field name="columnSeqId"><hidden/></field>
         <field name="columnWidthPixels"><text/></field>
         <field name="columnWidthPercentage"><text/></field>
+        <field name="newLine"><check/></field>
         <field name="submitButton" title="${uiLabelMap.CommonUpdate}"><submit button-type="button"/></field>
     </form>
 </forms>

Modified: ofbiz/branches/20120329_portletWidget/framework/common/widget/PortalPageScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/widget/PortalPageScreens.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/widget/PortalPageScreens.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/common/widget/PortalPageScreens.xml Tue Aug  7 19:13:03 2012
@@ -21,28 +21,24 @@ under the License.
 <screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
 
+    
+    
+    <!--#Bam# portletWidget  replace call showPortlet.ftl -->
     <screen name="showPortlet">
         <section>
             <widgets>
                 <section>
                     <actions>
-                        <entity-one entity-name="PortalPortlet" value-field="portlet" />
+                        <set field="portalPortletId" from-field="portalPortletId" default-value="${parameters.portalPortletId}"/>
                     </actions>
                     <widgets>
-                        <!--
-                            label text=" id: ${parameters.portalPortletId} location:
-                            ${portlet.screenLocation} screen: ${portlet.screenName}"></label
-                        -->
-                        <platform-specific>
-                            <html>
-                                <html-template location="component://common/webcommon/portal/showPortlet.ftl" />
-                            </html>
-                        </platform-specific>
+                        <include-portal-page id="${parameters.portalPageId}" portalPortletId="${portalPortletId}" portletSeqId="${parameters.portletSeqId}"/>
                     </widgets>
                 </section>
             </widgets>
         </section>
     </screen>
+    <!--#Eam# portletWidget  -->
     <screen name="showPortletMainDecorator">
         <section>
             <widgets>
@@ -196,6 +192,7 @@ under the License.
         <section>
             <actions>
                 <entity-one entity-name="PortalPortlet" value-field="portalPortlet"/>
+                <property-map map-name="uiLabelMap" resource="PortalAdminUiLabels"/><!--#Bam# portletExample -->
             </actions>
             <widgets>
                 <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">

Modified: ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletEditForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletEditForms.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletEditForms.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletEditForms.xml Tue Aug  7 19:13:03 2012
@@ -37,6 +37,53 @@ under the License.
         <field name="pageId" required-field="true"><text/></field>
         <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
+    <!--#Bam# portletEditForm  -->
+    <!-- use by portlet throws an extend form-->
+    <!-- mgmtPageId : portal page with research and quick vision -->
+    <!-- recapPageId : portal page to see associate data -->
+    <!-- newPageId : portal page to create new entity value -->
+    <!-- targetPageId : portal page to retrieve information present on calling portlet -->
+    <form name="CommonListPageParam" extends="CommonPortletEdit">
+        <field name="mgmtPageId"><lookup target-form-name="LookupPortalPage"/></field>
+        <field name="newPageId"><lookup target-form-name="LookupPortalPage"/></field>
+        <field name="recapPageId"><lookup target-form-name="LookupPortalPage"/></field>
+    </form>
+    <form name="CommonMgmtPageParam" extends="CommonPortletEdit">
+        <field name="mgmtPageId"><lookup target-form-name="LookupPortalPage"/></field>
+    </form>
+    <form name="CommonRecapPageParam" extends="CommonPortletEdit">
+        <field name="recapPageId"><lookup target-form-name="LookupPortalPage"/></field>
+    </form>
+    <form name="CommonTargetPageParam" extends="CommonPortletEdit">
+        <field name="targetPageId"><lookup target-form-name="LookupPortalPage"/></field>
+    </form>
+    <!--#Bam# use directly by portlet without extends form-->
+    <form name="GenericMgmtPageParam" extends="CommonMgmtPageParam">
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericRecapPageParam" extends="CommonRecapPageParam">
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericSelectPageParam" extends="CommonPortletEdit">
+        <field name="lookupName"><text/></field>
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericFindPageParam" extends="CommonTargetPageParam">
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericListPageParam" extends="CommonListPageParam">
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericShowMenu" extends="CommonPortletEdit">
+        <field name="showMenu"><radio><option key="Y"/><option key="N"/></radio></field>
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericEditEditOrShowParam" extends="CommonPortletEdit">
+        <field name="showEditButton"><radio><option key="Y"/><option key="N"/></radio></field>
+        <field name="showScreenletMenu"><radio><option key="Y"/><option key="N"/></radio></field>
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <!--#Eam# portletEditForm  -->
     <form name="FindGenericEntityParam" extends="CommonPortletEdit">
         <field name="titleLabel" required-field="true"><text/></field>
         <field name="entity" required-field="true"><text/></field>

Added: ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletTypeScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletTypeScreens.xml?rev=1370439&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletTypeScreens.xml (added)
+++ ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletTypeScreens.xml Tue Aug  7 19:13:03 2012
@@ -0,0 +1,213 @@
+<?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">
+
+<!-- In this file there are one screen per PortletType, and screen Name is same as portletTypeId (enumCode) -->
+
+
+  <screen name="portletUiLabelDecorator">
+    <section>
+      <widgets>
+        <decorator-screen name="portletUiLabelDecorator" location="${uiLabelLocation}">
+            <decorator-section name="body">
+              <platform-specific><html><html-template location="component://common/webcommon/includes/messages.ftl"/></html></platform-specific>
+              <include-screen name="${screenName}" location="${screenLocation}"/>
+            </decorator-section>
+        </decorator-screen>
+      </widgets>
+    </section>
+  </screen>
+  <screen name="Screenlet">
+    <section>
+      <actions>
+          <set field="initiallyCollapsed" from-field="initiallyCollapsed" default-value="false"/>
+          <set field="screenletType" value="ScreenletWithMenu"/>
+      </actions>
+      <widgets>
+<!--        <label text="A=${uiLabelMap.${titleLabel}} B=${menuName} C=${menuLocation} D=${divIdArea} E=${screenName} F=${screenLocation}" />-->
+<!--        <label text="portalPageId=${portalPageId} portalPortletId=${portalPortletId} portletSeqId=${portletSeqId}" />-->
+        <include-screen name="testScriptName"/>
+      </widgets>
+    </section>
+  </screen>
+  <screen name="ScreenletList">
+    <section>
+      <actions>
+          <set field="initiallyCollapsed" from-field="initiallyCollapsed" default-value="false"/>
+          <set field="screenletType" value="ScreenletListWithMenu"/>
+      </actions>
+      <widgets>
+<!--        <label text="A=${uiLabelMap.${titleLabel}} B=${menuName} C=${menuLocation} D=${divIdArea} E=${screenName} F=${screenLocation}" />-->
+<!--        <label text="portalPageId=${portalPageId} portalPortletId=${portalPortletId} portletSeqId=${portletSeqId}" />-->
+        <include-screen name="testScriptName"/>
+      </widgets>
+    </section>
+  </screen>
+  <screen name="testScriptName">
+    <section>
+      <condition>
+        <if-empty field="scriptName"/>
+      </condition>
+      <widgets>
+        <include-screen name="testPk"/>
+      </widgets>
+      <fail-widgets>
+        <!-- scriptName is defined so call it -->
+        <section>
+          <actions>
+            <script location="${scriptName}"/>
+          </actions>
+          <widgets>
+            <include-screen name="testPk"/>
+          </widgets>
+        </section>
+      </fail-widgets>
+    </section>
+  </screen>
+  <screen name="testPk">
+    <section>
+      <condition>
+        <or>
+          <if-empty field="pkIdName"/>
+          <not><if-empty field="parameters.${pkIdName}"/></not>
+        </or>
+      </condition>
+      <widgets>
+        <include-screen name="${screenletType}"/>
+      </widgets>
+    </section>
+  </screen>
+  <screen name="ScreenletWithMenu">
+    <section>
+      <condition>
+        <or>
+          <if-empty field="menuLocation"/>
+          <if-compare field="showScreenletMenu" operator="equals" value="N"/>
+        </or>
+      </condition>
+      <widgets>
+        <decorator-screen name="portletUiLabelDecorator" location="${uiLabelLocation}">
+            <decorator-section name="body">
+              <platform-specific><html><html-template location="component://common/webcommon/includes/messages.ftl"/></html></platform-specific>
+              <screenlet title="${uiLabelMap.${titleLabel}} ${parameters.idDescription}" collapsible="true" id="scrlt_${formName}" initially-collapsed="${initiallyCollapsed}" navigation-form-name="${formName}">
+                <include-screen name="FormOrScreen"/>
+              </screenlet>
+            </decorator-section>
+        </decorator-screen>
+      </widgets>
+      <fail-widgets>
+        <!-- menuLocation is defined so call it -->
+        <section>
+          <widgets>
+            <decorator-screen name="portletUiLabelDecorator" location="${uiLabelLocation}">
+                <decorator-section name="body">
+                  <platform-specific><html><html-template location="component://common/webcommon/includes/messages.ftl"/></html></platform-specific>
+                  <screenlet title="${uiLabelMap.${titleLabel}} ${parameters.idDescription}" collapsible="true" id="scrlt_${formName}" initially-collapsed="${initiallyCollapsed}" navigation-menu-name="${menuName}" navigation-form-name="${formName}">
+                    <include-menu name="${menuName}" location="${menuLocation}"/>
+                    <container id="${editAreaDivId}"/>
+                    <container id="${subAreaDivId}">
+                      <include-screen name="FormOrScreen"/>
+                    </container>
+                  </screenlet>
+                </decorator-section>
+            </decorator-screen>
+          </widgets>
+        </section>
+      </fail-widgets>
+    </section>
+  </screen>
+  <screen name="ScreenletListWithMenu">
+    <section>
+      <condition>
+        <or>
+          <if-empty field="menuLocation"/>
+          <if-compare field="showScreenletMenu" operator="equals" value="N"/>
+        </or>
+      </condition>
+      <widgets>
+        <decorator-screen name="portletUiLabelDecorator" location="${uiLabelLocation}">
+            <decorator-section name="body">
+              <platform-specific><html><html-template location="component://common/webcommon/includes/messages.ftl"/></html></platform-specific>
+              <screenlet title="${uiLabelMap.${titleLabel}} ${parameters.idDescription}" collapsible="true" id="scrlt_${formName}" initially-collapsed="${initiallyCollapsed}" save-collapsed="false"
+                  navigation-form-name="${formName}">
+                <container id="${editAreaDivId}"/>
+                <include-form name="${formName}" location="${formLocation}"/>
+                <section>
+                  <condition>
+                    <not><if-empty field="screenLocation"/></not>
+                  </condition>
+                  <widgets>
+                    <include-screen name="${screenName}" location="${screenLocation}"/>
+                  </widgets>
+                </section>
+              </screenlet>
+            </decorator-section>
+        </decorator-screen>
+      </widgets>
+      <fail-widgets>
+        <!-- menuLocation is defined so call it -->
+        <section>
+          <widgets>
+            <decorator-screen name="portletUiLabelDecorator" location="${uiLabelLocation}">
+                <decorator-section name="body">
+                  <platform-specific><html><html-template location="component://common/webcommon/includes/messages.ftl"/></html></platform-specific>
+                  <screenlet title="${uiLabelMap.${titleLabel}} ${parameters.idDescription}" collapsible="true" id="scrlt_${formName}" initially-collapsed="${initiallyCollapsed}" save-collapsed="false"
+                        navigation-menu-name="${menuName}" navigation-form-name="${formName}">
+                    <include-menu name="${menuName}" location="${menuLocation}"/>
+                    <container id="${editAreaDivId}"/>
+                    <include-form name="${formName}" location="${formLocation}"/>
+                    <section>
+                      <condition>
+                        <not><if-empty field="screenLocation"/></not>
+                      </condition>
+                      <widgets>
+                        <include-screen name="${screenName}" location="${screenLocation}"/>
+                      </widgets>
+                    </section>
+                  </screenlet>
+                </decorator-section>
+            </decorator-screen>
+          </widgets>
+        </section>
+      </fail-widgets>
+    </section>
+  </screen>
+  <screen name="FormOrScreen">
+    <section>
+      <condition>
+        <if-empty field="screenLocation"/>
+      </condition>
+      <widgets>
+        <include-form name="${formName}" location="${formLocation}"/>
+      </widgets>
+      <fail-widgets>
+        <include-screen name="${screenName}" location="${screenLocation}"/>
+      </fail-widgets>
+    </section>
+  </screen>
+  <screen name="Empty">
+      <section>
+          <widgets>
+          </widgets>
+      </section>
+  </screen>
+</screens>

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletTypeScreens.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletTypeScreens.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/framework/common/widget/PortletTypeScreens.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/portlet.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/portlet.js?rev=1370439&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/portlet.js (added)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/portlet.js Tue Aug  7 19:13:03 2012
@@ -0,0 +1,196 @@
+/*
+ * 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.
+ */
+function toggleParentScreenlet(id){
+    var element = jQuery("#"+id);
+    element.parents("div.screenlet").filter(':first').children("div").filter(':first')
+            .children("ul").filter(':first').children("li.expanded").filter(':first').children('a')
+            .filter(':first').click();
+}
+
+/*Begin addon modification : event-messages*/
+/** Submit form, update multiple areas (HTML container elements).
+ * @param form The form element
+ * @param areaCsvString The area CSV string. The CSV string is a flat array in the
+ * form of: areaId, target, target parameters, boolean addParam [, areaId, target, target parameters...].
+ * @param returnParamMap The parameters to return. It is a map in the  form of:
+ *  returnName1: parameterName1 , returnName2: parameterName2,... and will be added to the update area parameters with boolean addParam
+ */
+
+function ajaxSubmitFormUpdateAreasWithReturn(form, areaCsvString, returnParamMap) {
+  submitFormDisableSubmits($(form));
+  waitSpinnerShow();
+  updateFunction = function(data) {
+      hideErrorContainer = function() {
+          jQuery('#content-messages').remove();
+      }
+      if ((data._ERROR_MESSAGE_LIST_ != undefined || data._ERROR_MESSAGE_ != undefined) 
+           && (data.responseMessage == undefined || data.responseMessage != "fail") ) {
+          showMessages('errorMessage',data._ERROR_MESSAGE_,data._ERROR_MESSAGE_LIST_);
+          waitSpinnerHide();
+      }else {
+          //update areas
+          var areaArray = areaCsvString.split(",");
+          var numAreas = parseInt(areaArray.length / 4);
+          for (var i = 0; i < numAreas * 4; i = i + 4) {
+              //add return param to last update area request if necessary
+              var addParams = areaArray[i + 3];
+              params = areaArray[i + 2];
+              //alert('addParams='+addParams+' params='+params+' areaArray[i]='+areaArray[i]+' areaArray[i+1]='+areaArray[i+1]);
+              if (addParams && addParams != "false") {
+                  for (var key in returnParamMap) {
+                        if(data[returnParamMap[key]] != undefined){
+                            params = params + "&" + key + "=" + data[returnParamMap[key]];
+                       }
+                  }
+              }
+              ajaxUpdateArea(areaArray[i], areaArray[i + 1], params);
+          }
+          // now show message if needed
+          if (data.responseMessage != undefined && data.responseMessage == "fail") {
+              showMessages('failMessage',data._ERROR_MESSAGE_,data._ERROR_MESSAGE_LIST_);
+          }
+          else if (data._EVENT_MESSAGE_LIST_ != undefined || data._EVENT_MESSAGE_ != undefined){
+              showMessages('eventMessage',data._EVENT_MESSAGE_,data._EVENT_MESSAGE_LIST_);
+          }
+          else {
+              if(jQuery('#content-messages').text()) {
+                jQuery('#content-messages').remove();
+              }
+          }
+          waitSpinnerHide();
+      }
+  }
+  jQuery.ajax({
+      type: "POST",
+      url: jQuery("#" + form).attr("action"),
+      data: jQuery("#" + form).serialize(),
+      success: function(data) {
+              updateFunction(data);
+      }
+  });
+}
+
+/**
+ * Add message div after content-main-section, and Print message to user with class=classMessage
+ * @param classMessage
+ * @param message
+ * @param messageList
+ * @return
+ */
+function showMessages(classMessage, message, messageList){
+    if(!jQuery('#content-messages').text()) {
+        //add this div just after app-navigation
+         if(jQuery('#content-main-section')){
+             jQuery('#content-main-section').before('<div id="content-messages" onclick="hideErrorContainer()"></div>');
+         }
+    }
+    jQuery('#content-messages').removeClass();
+    jQuery('#content-messages').addClass(classMessage);
+    if (message != undefined && messageList != undefined) {
+        jQuery('#content-messages' ).html(message + " " + messageList);
+    } else if (messageList != undefined) {
+        jQuery('#content-messages' ).html("" + messageList);
+    } else {
+        jQuery('#content-messages' ).html("" + message);
+    }
+    jQuery('#content-messages').fadeIn('fast');
+}
+
+function clickLink(linkDivId) {
+    var div = document.getElementById(linkDivId); 
+    if(!div ) return; 
+    var aNodeList = div.getElementsByTagName("A");
+    link = aNodeList.item(0);
+    target =link.href;
+    if(target.match(new RegExp("javascript:.*"))){
+        eval(target);
+    } else {
+        window.location.href = target;
+    }
+}
+function refrshPortlet(areaTargets, areaIds, areaParams, formName, areaForms, collapse, toggle, markSelected){
+    waitSpinnerShow();
+    var arealist = areaIds.split(";");
+    var targetlist = areaTargets.split(";");
+    var paramsList = areaParams.split(";");
+    var formList = areaForms.split(";");
+    var areasCsv = "";
+    for( var index =0; index<arealist.length; index= index+1){
+        areasCsv = areasCsv + arealist[index] + ",";
+        areasCsv = areasCsv + targetlist[index] + ",";
+        appendFormParams = formList[index];
+        var targetParams = paramsList[index];
+        if (targetParams== undefined) {
+            targetParams = "";
+        }
+        if (appendFormParams) {
+            var forms = appendFormParams.split(",")
+            for (var i=0; i<forms.length; i++) {
+                var toSerializeName = forms[i];
+                var formToSerialize =jQuery("#"+toSerializeName); 
+                if(formToSerialize.length == 1) {
+                    var formFields = formToSerialize.serialize().split("&");
+                    for (var j=0; j < formFields.length; j++) {
+                        var formField = formFields[j].split("=");
+                        var name = formField[0];
+                        if(formField.length > 1 &&(( targetParams.indexOf(name + "=") == -1) || 
+                                ( targetParams.indexOf(name + "=") > 0 && targetParams.indexOf("&" + name + "=") > 0))) 
+                        {
+                            targetParams = targetParams  + "&" + name + "=" + formField[1];
+                        }
+                    }
+                }
+            }
+            //targetParams = targetParams  + "&" +$("#"+appendFormParams).serialize();
+        }
+        areasCsv = areasCsv + targetParams + ",";
+    }
+    areasCsv = areasCsv.substring(0,areasCsv.length-1)
+    ajaxUpdateAreas(areasCsv);
+    if ("true" == collapse) {
+        toggleParentScreenlet(toggle);
+    }
+    if ("true" == markSelected) {
+        markRowAsSelected(toggle);
+    }
+}
+function markRowAsSelected(id){
+    var element = jQuery("#"+id);
+    // to ensure that all precedent selection are removed.
+    // a row is marked as selected by changing the css class of its tr.
+    // the tr is the first ancestor of the element defined by id.
+    var parentTR = element.parents("tr");
+    element.parents("tbody").children("tr").removeClass("selected");
+    parentTR.addClass('selected');
+
+}
+function evalScripts(element) {
+var scripts = element.find("script");
+    for (i=0; i < scripts.length; i++) {
+        // if src, eval it, otherwise eval the body
+        if (scripts[i].hasAttribute("src")) {
+            var src = scripts[i].getAttribute("src");
+            var script = document.createElement('script');
+            script.setAttribute("src", src);
+            document.getElementsByTagName('body')[0].appendChild(script);
+        } else {
+            eval(scripts[i].innerHTML);
+        }
+    }
+}

Propchange: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/portlet.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/portlet.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/portlet.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js (original)
+++ ofbiz/branches/20120329_portletWidget/framework/images/webapp/images/selectall.js Tue Aug  7 19:13:03 2012
@@ -269,6 +269,27 @@ function ajaxUpdateAreas(areaCsvString) 
         // not nice but works
         targetParams = targetParams.replace('#','');
         targetParams = targetParams.replace('?','');
+        /*#Bam# portletWidget wait-spinner working*/
+        var UPDATE_OP = {};
+        UPDATE_OP.areaId = areaId;
+        UPDATE_OP.target = target;
+        UPDATE_OP.targetParams = targetParams;
+        UPDATE_OP.update = function(){
+            var _op = this;
+            jQuery.ajax({
+                url: _op.target,
+                type: "POST",
+                data: _op.targetParams,
+                success: function(data) {
+                    jQuery("#" + _op.areaId).html(data);
+                    evalScripts(jQuery("#" + _op.areaId));
+                    waitSpinnerHide();
+                },
+                error: function(data) {waitSpinnerHide()}
+            });
+        }
+        UPDATE_OP.update();
+        /*
         jQuery.ajax({
             url: target,
             async: false,
@@ -280,6 +301,8 @@ function ajaxUpdateAreas(areaCsvString) 
             },
             error: function(data) {waitSpinnerHide()}
         });
+        */
+        /*#Eam# portletWidget wait-spinner working*/
     }
 }
 
@@ -355,7 +378,11 @@ function ajaxSubmitFormUpdateAreas(form,
        jQuery('#content-messages').removeClass('errorMessage').fadeIn('fast');
    }
    updateFunction = function(data) {
-       if (data._ERROR_MESSAGE_LIST_ != undefined || data._ERROR_MESSAGE_ != undefined) {
+       /*#Bam# portletWidget*/
+       if ((data._ERROR_MESSAGE_LIST_ != undefined || data._ERROR_MESSAGE_ != undefined) 
+               && (data.responseMessage == undefined || data.responseMessage != "fail")) {
+          showMessages('errorMessage',data._ERROR_MESSAGE_,data._ERROR_MESSAGE_LIST_);
+          /*
            if(!jQuery('#content-messages')) {
               //add this div just after app-navigation
               if(jQuery('#content-main-section')){
@@ -371,9 +398,18 @@ function ajaxSubmitFormUpdateAreas(form,
               jQuery('#content-messages' ).html(data._ERROR_MESSAGE_);
           }
           jQuery('#content-messages').fadeIn('fast');
+          */
        }else {
-           if(jQuery('#content-messages')) {
+           // now show message if needed
+           if (data.responseMessage != undefined && data.responseMessage == "fail") {
+               showMessages('failMessage',data._ERROR_MESSAGE_,data._ERROR_MESSAGE_LIST_);
+           }
+           else if (data._EVENT_MESSAGE_LIST_ != undefined || data._EVENT_MESSAGE_ != undefined){
+               showMessages('eventMessage',data._EVENT_MESSAGE_,data._EVENT_MESSAGE_LIST_);
+           }
+           else if(jQuery('#content-messages').text()) {
                jQuery('#content-messages').removeClass('errorMessage').fadeIn("fast");
+           /*#Eam# portletWidget*/
            }
            ajaxUpdateAreas(areaCsvString);
        }
@@ -809,6 +845,21 @@ function waitSpinnerHide() {
     jQuery("#wait-spinner").hide()
 }
 
+// #Bam# validate-form
+function clickLink(linkDivId) {
+    var div = document.getElementById(linkDivId); 
+    if(!div ) return; 
+    var aNodeList = div.getElementsByTagName("A");
+    link = aNodeList.item(0);
+    target =link.href;
+    if(target.match(new RegExp("javascript:.*"))){
+        eval(target);
+    } else {
+        window.location.href = target;
+    }
+}
+// #Eam# validate-form
+
 /**
  * Reads the requiered uiLabels from the uiLabelXml Files
  * @param requiredLabels JSON Object {resource : [label1, label2 ...], resource2 : [label1, label2, ...]}

Modified: ofbiz/branches/20120329_portletWidget/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java (original)
+++ ofbiz/branches/20120329_portletWidget/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java Tue Aug  7 19:13:03 2012
@@ -28,6 +28,7 @@ import javax.servlet.http.HttpServletRes
 import javolution.util.FastMap;
 
 import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilGenerics;
 import org.ofbiz.base.util.UtilHttp;
 import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.base.util.collections.FlexibleMapAccessor;
@@ -62,9 +63,25 @@ public final class MethodContext {
     private int traceLogLevel = Debug.INFO;
     private GenericValue userLogin;
 
-    public MethodContext(DispatchContext ctx, Map<String, ? extends Object> context, ClassLoader loader) {
+    // constructor to use minilang as script call in screen action 
+    public MethodContext(DispatchContext ctx, Map<String, ? extends Object> context) {
         this.methodType = MethodContext.SERVICE;
+        Map<String, Object> parametersCtx = UtilGenerics.checkMap(context.get("parameters"));
+        this.parameters = UtilMisc.makeMapWritable(parametersCtx);
+        for (Map.Entry<String, ? extends Object> entry : context.entrySet()) {
+            if (! "parameters".equals(entry.getKey())) {
+                this.putEnv(entry.getKey(), entry.getValue());
+            }
+        }
+        loadThis(ctx, context, null);
+    }
+
+    public MethodContext(DispatchContext ctx, Map<String, ? extends Object> context, ClassLoader loader) {
         this.parameters = UtilMisc.makeMapWritable(context);
+        loadThis(ctx, context, loader);
+    }
+    private void loadThis(DispatchContext ctx, Map<String, ? extends Object> context, ClassLoader loader) {
+        this.methodType = MethodContext.SERVICE;
         this.loader = loader;
         this.locale = (Locale) context.get("locale");
         this.timeZone = (TimeZone) context.get("timeZone");

Modified: ofbiz/branches/20120329_portletWidget/framework/webtools/config/WebtoolsUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/webtools/config/WebtoolsUiLabels.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/webtools/config/WebtoolsUiLabels.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/webtools/config/WebtoolsUiLabels.xml Tue Aug  7 19:13:03 2012
@@ -4304,6 +4304,12 @@
         <value xml:lang="pt">Definir</value>
         <value xml:lang="vi">Thiết lập</value>
     </property>
+    <!--#Bam# portletWidget -->
+    <property key="WebtoolsShowPortalPortlet">
+        <value xml:lang="en">Show Portlet field</value>
+        <value xml:lang="fr">Montrer les champs d'une portlet</value>
+    </property>
+    <!--#Eam# portletWidget -->
     <property key="WebtoolsShowShowWSDL">
         <value xml:lang="de">WSDL zeigen</value>
         <value xml:lang="en">Show wsdl</value>

Added: ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy?rev=1370439&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy (added)
+++ ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy Tue Aug  7 19:13:03 2012
@@ -0,0 +1,32 @@
+/*
+* 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.
+*/
+
+import org.ofbiz.widget.screen.ModelScreenWidget;
+import org.ofbiz.base.util.UtilValidate;
+
+if (UtilValidate.isNotEmpty(parameters.portalPortletId)) {
+    context.portalPortletId = parameters.portalPortletId;
+    if (UtilValidate.isNotEmpty(parameters.portalPageId)) {
+        context.portalPageId = parameters.portalPageId;
+    }
+    if (UtilValidate.isNotEmpty(parameters.portletSeqId)) {
+        context.portletSeqId = parameters.portletSeqId;
+    }
+    ModelScreenWidget.PortalPage.retrievePortletAttributes(context);
+}

Propchange: ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/main.ftl
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/main.ftl?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/main.ftl (original)
+++ ofbiz/branches/20120329_portletWidget/framework/webtools/webapp/webtools/main.ftl Tue Aug  7 19:13:03 2012
@@ -96,6 +96,7 @@ under the License.
         </#if>
         <li><h3>${uiLabelMap.WebtoolsMiscSetupTools}</h3></li>
         <#if security.hasPermission("PORTALPAGE_ADMIN", session)>
+          <li><a href="<@ofbizUrl>ShowPortalPortlet</@ofbizUrl>">${uiLabelMap.WebtoolsShowPortalPortlet}</a></li>
           <li><a href="<@ofbizUrl>FindPortalPage</@ofbizUrl>">${uiLabelMap.WebtoolsAdminPortalPage}</a></li>
           <li><a href="<@ofbizUrl>FindGeo</@ofbizUrl>">${uiLabelMap.WebtoolsGeoManagement}</a></li>
           <li><a href="<@ofbizUrl>WebtoolsLayoutDemo</@ofbizUrl>">${uiLabelMap.WebtoolsLayoutDemo}</a></li>

Modified: ofbiz/branches/20120329_portletWidget/framework/webtools/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/webtools/widget/CommonScreens.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/webtools/widget/CommonScreens.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/webtools/widget/CommonScreens.xml Tue Aug  7 19:13:03 2012
@@ -308,5 +308,37 @@ under the License.
             </widgets>
         </section>
     </screen>
+    <!--#Bam# uiLabelDecorator : decorator for portlet, it's uiLabelDecorator of portlet Components which is call by portlet -->
+    <screen name="portletUiLabelDecorator">
+        <section><!-- Decorator use by portlet define in their preference label -->
+            <actions>
+                <property-map resource="TemporalExpressionUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="WebtoolsUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="SecurityUiLabels" 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>
+    <screen name="uiLabelDecorator"><!-- Main decorator -->
+        <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="TemporalExpressionUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="WebtoolsUiLabels" map-name="uiLabelMap" global="true"/>
+                <property-map resource="SecurityUiLabels" 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# uiLabelDecorator  -->
     
 </screens>

Modified: ofbiz/branches/20120329_portletWidget/framework/webtools/widget/PortalAdmForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/webtools/widget/PortalAdmForms.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/webtools/widget/PortalAdmForms.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/webtools/widget/PortalAdmForms.xml Tue Aug  7 19:13:03 2012
@@ -21,6 +21,136 @@ under the License.
 <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
 
+    
+    <!--#Bam# portletWidget -->
+    <form name="ShowPortalPortlet" type="single" default-map-name="portalPortlet" default-entity-name="PortalPortlet">
+        <actions>
+          <entity-one entity-name="PortletType" value-field="portletType">
+            <field-map field-name="portletTypeId" from-field="portalPortlet.portletTypeId"/>
+          </entity-one>
+        </actions>
+<!--      <auto-fields-entity entity-name="PortalPortlet" default-field-type="display"/>-->
+        <field name="portalPortletId"><display/></field>
+        <field name="portletLongId" tooltip="${context.portletLongId}"><display/></field>
+        <field name="portletName"><display/></field>
+        <field name="portletTypeId" tooltip="${portletType.screenLocation}#${portletType.screenName}">
+          <drop-down allow-empty="true">
+            <entity-options description="[${portletTypeId}] ${description}" entity-name="PortletType">
+              <entity-order-by field-name="portletTypeId"/>
+            </entity-options>
+          </drop-down>
+        </field>
+        <field name="component"><display/></field>
+        <field name="subComponent"><display/></field>
+        <field name="webapp"><display/></field>
+        <field name="useScreen"><display description="${uiLabelMap.Common${useScreen}}"/></field>
+        <field name="screenName" tooltip="${context.screenName}"><display/></field>
+        <field name="screenLocation" tooltip="${context.screenLocation}"><display/></field>
+        <field name="useScript"><display description="${uiLabelMap.Common${useScript}}"/></field>
+        <field name="scriptName" tooltip="${context.scriptName}"><display/></field>
+        <field name="uiLabelLocation" tooltip="${context.uiLabelLocation}"><display/></field>
+        <field name="formName" tooltip="${context.formName}"><display/></field>
+        <field name="formLocation" tooltip="${context.formLocation}"><display/></field>
+        <field name="pkIdName" tooltip="${context.pkIdName}"><display/></field>
+<!--        <field name="areaDivId" tooltip="${context.areaDivId}"><display/></field> with id build with portalPageId portalPortletId portletSeqId, it seem, it's no more necessary because always unique -->
+        <field name="editAreaDivId" tooltip="${context.editAreaDivId}"><display/></field>
+        <field name="subAreaDivId" tooltip="${context.subAreaDivId}"><display/></field>
+        <field name="titleLabel" tooltip="${context.titleLabel}"><display/></field>
+        <field name="useMenu"><display description="${uiLabelMap.Common${useMenu}}"/></field>
+        <field name="menuName" tooltip="${context.menuName}"><display/></field>
+        <field name="menuLocation" tooltip="${context.menuLocation}"><display/></field>
+        <field name="helpName" tooltip="${context.helpName}"><display/></field>
+        <field name="editFormName" tooltip="${context.editFormName}"><display/></field>
+        <field name="editFormLocation" tooltip="${context.editFormLocation}"><display/></field>
+        <field name="description" tooltip="${context.description}"><display/></field>
+        <field name="screenshot" tooltip="${context.screenshot}"><display/></field>
+        <field name="description" tooltip="${context.description}"><display/></field>
+        <field name="securityServiceName" tooltip="${context.securityServiceName}"><display/></field>
+        <field name="securityPermission" tooltip="${context.securityPermission}"><display/></field>
+        <field name="securityMainAction" tooltip="${context.securityMainAction}"><display/></field>
+<!--        <field name="back" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">-->
+<!--            <hyperlink target="ShowPortalPortlet" description="${uiLabelMap.CommonBack}"/>-->
+<!--        </field>-->
+        <sort-order>
+            <field-group title="${uiLabelMap.PortalPortletFieldFunctions}" collapsible="true">
+                <sort-field name="portalPortletId"/>
+                <sort-field name="portletLongId"/>
+                <sort-field name="portletTypeId"/>
+                <sort-field name="portletName"/>
+                <sort-field name="description"/>
+                <sort-field name="component"/>
+                <sort-field name="subComponent"/>
+                <sort-field name="webapp"/>
+                <sort-field name="uiLabelLocation"/>
+                <sort-field name="screenshot"/>
+            </field-group>
+            <field-group title="${uiLabelMap.PortalPortletFieldActionsBefore}" collapsible="true">
+                <sort-field name="useScript"/>
+                <sort-field name="scriptName"/>
+                <sort-field name="pkIdName"/>
+            </field-group>
+            <field-group title="${uiLabelMap.PortalPortletFieldContent}" collapsible="true">
+                <sort-field name="titleLabel"/>
+                <sort-field name="useScreen"/>
+                <sort-field name="screenName"/>
+                <sort-field name="screenLocation"/>
+                <sort-field name="formName"/>
+                <sort-field name="formLocation"/>
+                <sort-field name="useMenu"/>
+                <sort-field name="menuName"/>
+                <sort-field name="menuLocation"/>
+            </field-group>
+            <field-group title="${uiLabelMap.PortalPortletFieldAjaxEditArea}" collapsible="true">
+                <sort-field name="editAreaDivId"/>
+                <sort-field name="subAreaDivId"/>
+            </field-group>
+            <field-group title="${uiLabelMap.PortalPortletFieldAttributeMgmt}" collapsible="true">
+                <sort-field name="editFormName"/>
+                <sort-field name="editFormLocation"/>
+            </field-group>
+            <field-group title="${uiLabelMap.PortalPortletFieldHelp}" collapsible="true">
+                <sort-field name="helpName"/>
+            </field-group>
+            <field-group title="${uiLabelMap.PortalPortletFieldSecurity}" collapsible="true">
+                <sort-field name="securityServiceName"/>
+                <sort-field name="securityPermission"/>
+                <sort-field name="securityMainAction"/>
+            </field-group>
+        </sort-order>
+    </form>
+    <form name="SelectPortalPortlet" type="single" target="ShowPortalPortlet">
+        <field name="portalPageId"><text/></field>
+        <field name="portalPortletId" tooltip="${uiLabelMap.CommonRequired}" widget-style="required"><text/></field>
+        <field name="portletSeqId"><text/></field>
+        <field name="submit" title="${uiLabelMap.CommonValidate}"><submit/></field>
+    </form>
+    <form name="listPortletAttribute" type="list" list-name="portletAttributeList">
+      <actions>
+        <entity-and entity-name="PortletAttribute" list="portletAttributeList">
+          <field-map field-name="portalPageId" from-field="parameters.portalPageId"/>
+          <field-map field-name="portalPortletId" from-field="parameters.portalPortletId"/>
+          <field-map field-name="portletSeqId" from-field="parameters.portletSeqId"/>
+          <order-by field-name="attrName"/>
+        </entity-and>
+      </actions>
+      <field name="attrName"><display/></field>
+      <field name="attrValue"><display/></field>
+      <field name="attrType"><display/></field>
+    </form>
+    <form name="listPortletAttributeNA" type="list" list-name="portletAttributeList">
+      <actions>
+        <entity-and entity-name="PortletAttribute" list="portletAttributeList">
+          <field-map field-name="portalPageId" value="_NA_"/>
+          <field-map field-name="portalPortletId" from-field="parameters.portalPortletId"/>
+          <field-map field-name="portletSeqId" value="00000"/>
+          <order-by field-name="attrName"/>
+        </entity-and>
+      </actions>
+      <field name="attrName"><display/></field>
+      <field name="attrValue"><display/></field>
+      <field name="attrType"><display/></field>
+    </form>
+    <!--#Eam# portletWidget -->
     <form name="FindPortalPages" type="single" target="FindPortalPage" default-entity-name="PortalPage">
         <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
         <field name="portalPageId" position="1" title="${uiLabelMap.CommonId}"><text-find/></field>

Modified: ofbiz/branches/20120329_portletWidget/framework/webtools/widget/PortalAdmScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/webtools/widget/PortalAdmScreens.xml?rev=1370439&r1=1370438&r2=1370439&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/webtools/widget/PortalAdmScreens.xml (original)
+++ ofbiz/branches/20120329_portletWidget/framework/webtools/widget/PortalAdmScreens.xml Tue Aug  7 19:13:03 2012
@@ -22,6 +22,56 @@ under the License.
     xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
 
 
+    
+
+    <!--#Bam# portletWidget currently only To be able to have help for each portalPortlet field -->
+    <screen name="ShowPortalPortlet">
+        <section>
+            <actions>
+                <set field="headerItem" value="portalAdmin"/>
+                <set field="titleProperty" value="WebtoolsShowPortalPortlet"/>
+                <entity-one value-field="portalPortlet" entity-name="PortalPortlet"/>
+                <script location="component://webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy" />
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <include-form name="SelectPortalPortlet" location="component://webtools/widget/PortalAdmForms.xml"/>
+                                <include-form name="ShowPortalPortlet" location="component://webtools/widget/PortalAdmForms.xml"/>
+                                <include-form name="listPortletAttribute" location="component://webtools/widget/PortalAdmForms.xml"/>
+                                <label text="Generic Portlet attribute for _NA_ and 00000"/>
+                                <include-form name="listPortletAttributeNA" location="component://webtools/widget/PortalAdmForms.xml"/>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="ShowPortalPortletHelp">
+        <section>
+            <actions>
+                <set field="headerItem" value="portalAdmin"/>
+                <set field="titleProperty" value="WebtoolsShowPortalPortlet"/>
+                <entity-one value-field="portalPortlet" entity-name="PortalPortlet"/>
+                <script location="component://webtools/webapp/webtools/WEB-INF/actions/portlet/RetrievePortletAttributes.groovy" />
+            </actions>
+            <widgets>
+                <decorator-screen name="uiLabelDecorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <section>
+                            <widgets>
+                                <include-form name="ShowPortalPortlet" location="component://webtools/widget/PortalAdmForms.xml"/>
+                            </widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <!--#Eam# portletWidget -->
     <!-- list all PortalPage in a tabular format -->
     <screen name="FindPortalPage">
         <section>



Mime
View raw message