Author: deepak
Date: Fri Aug 10 18:23:11 2018
New Revision: 1837827

URL: http://svn.apache.org/viewvc?rev=1837827&view=rev
Log:
Improved: Rendering different HTML container types with ScreenRenderer
(OFBIZ-10495)
Applied slightly modified patch 
Thanks Dennis Balkir for your contribution

Modified:
    ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-screen.xsd
    
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreenWidget.java
    
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenRenderer.java
    
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvScreenMacroLibrary.ftl
    
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoScreenMacroLibrary.ftl
    
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlScreenMacroLibrary.ftl
    
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextScreenMacroLibrary.ftl
    
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsScreenMacroLibrary.ftl

Modified: ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-screen.xsd
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-screen.xsd?rev=1837827&r1=1837826&r2=1837827&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-screen.xsd 
(original)
+++ ofbiz/ofbiz-framework/trunk/framework/widget/dtd/widget-screen.xsd Fri Aug 
10 18:23:11 2018
@@ -263,6 +263,13 @@ under the License.
                     </xs:documentation>
                 </xs:annotation>
             </xs:attribute>
+            <xs:attribute type="xs:string" name="type">
+                <xs:annotation>
+                    <xs:documentation>With the type it is possible to render 
different containers
+                        than div like section.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
             <xs:attribute type="xs:string" name="auto-update-interval">
                 <xs:annotation>
                     <xs:documentation>The auto-update interval, in 
seconds.</xs:documentation>

Modified: 
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreenWidget.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreenWidget.java?rev=1837827&r1=1837826&r2=1837827&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreenWidget.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreenWidget.java
 Fri Aug 10 18:23:11 2018
@@ -433,6 +433,7 @@ public abstract class ModelScreenWidget
     public static final class Container extends ModelScreenWidget {
         public static final String TAG_NAME = "container";
         private final FlexibleStringExpander idExdr;
+        private final FlexibleStringExpander typeExdr;
         private final FlexibleStringExpander styleExdr;
         private final FlexibleStringExpander autoUpdateTargetExdr;
         private final FlexibleStringExpander autoUpdateInterval;
@@ -441,6 +442,7 @@ public abstract class ModelScreenWidget
         public Container(ModelScreen modelScreen, Element containerElement) {
             super(modelScreen, containerElement);
             this.idExdr = 
FlexibleStringExpander.getInstance(containerElement.getAttribute("id"));
+            this.typeExdr = 
FlexibleStringExpander.getInstance(containerElement.getAttribute("type"));
             this.styleExdr = 
FlexibleStringExpander.getInstance(containerElement.getAttribute("style"));
             this.autoUpdateTargetExdr = 
FlexibleStringExpander.getInstance(containerElement.getAttribute("auto-update-target"));
             String autoUpdateInterval = 
containerElement.getAttribute("auto-update-interval");
@@ -473,6 +475,10 @@ public abstract class ModelScreenWidget
             return this.idExdr.expandString(context);
         }
 
+        public String getType(Map<String, Object> context) {
+            return this.typeExdr.expandString(context);
+        }
+
         public String getStyle(Map<String, Object> context) {
             return this.styleExdr.expandString(context);
         }
@@ -498,6 +504,10 @@ public abstract class ModelScreenWidget
             return idExdr;
         }
 
+        public FlexibleStringExpander getTypeExdr() {
+            return typeExdr;
+        }
+
         public FlexibleStringExpander getStyleExdr() {
             return styleExdr;
         }

Modified: 
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenRenderer.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenRenderer.java?rev=1837827&r1=1837826&r2=1837827&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenRenderer.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenRenderer.java
 Fri Aug 10 18:23:11 2018
@@ -183,6 +183,7 @@ public class MacroScreenRenderer impleme
 
     public void renderContainerBegin(Appendable writer, Map<String, Object> 
context, ModelScreenWidget.Container container) throws IOException {
         String containerId = container.getId(context);
+        String containerType = container.getType(context);
         String autoUpdateTarget = container.getAutoUpdateTargetExdr(context);
         HttpServletRequest request = (HttpServletRequest) 
context.get("request");
         String autoUpdateLink = "";
@@ -197,6 +198,7 @@ public class MacroScreenRenderer impleme
         }
         Map<String, Object> parameters = new HashMap<>();
         parameters.put("id", containerId);
+        parameters.put("type", containerType);
         parameters.put("style", container.getStyle(context));
         parameters.put("autoUpdateLink", autoUpdateLink);
         parameters.put("autoUpdateInterval", 
container.getAutoUpdateInterval(context));
@@ -204,7 +206,8 @@ public class MacroScreenRenderer impleme
     }
 
     public void renderContainerEnd(Appendable writer, Map<String, Object> 
context, ModelScreenWidget.Container container) throws IOException {
-        executeMacro(writer, "renderContainerEnd", null);
+        String containerType = container.getType(context);
+        executeMacro(writer, "renderContainerEnd", UtilMisc.toMap("type", 
containerType));
     }
 
     public void renderLabel(Appendable writer, Map<String, Object> context, 
ModelScreenWidget.Label label) throws IOException {

Modified: 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvScreenMacroLibrary.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvScreenMacroLibrary.ftl?rev=1837827&r1=1837826&r2=1837827&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvScreenMacroLibrary.ftl
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/CsvScreenMacroLibrary.ftl
 Fri Aug 10 18:23:11 2018
@@ -29,8 +29,8 @@ under the License.
 <#macro renderSectionEnd boundaryComment>
 </#macro>
 
-<#macro renderContainerBegin id style autoUpdateLink 
autoUpdateInterval></#macro>
-<#macro renderContainerEnd></#macro>
+<#macro renderContainerBegin id style autoUpdateLink type 
autoUpdateInterval></#macro>
+<#macro renderContainerEnd type></#macro>
 <#macro renderContentBegin editRequest enableEditValue 
editContainerStyle></#macro>
 <#macro renderContentBody></#macro>
 <#macro renderContentEnd urlString editMode editContainerStyle editRequest 
enableEditValue></#macro>

Modified: 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoScreenMacroLibrary.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoScreenMacroLibrary.ftl?rev=1837827&r1=1837826&r2=1837827&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoScreenMacroLibrary.ftl
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/FoScreenMacroLibrary.ftl
 Fri Aug 10 18:23:11 2018
@@ -51,8 +51,8 @@ under the License.
 
 <#macro renderSectionEnd boundaryComment>
 </#macro>
-<#macro renderContainerBegin id autoUpdateLink autoUpdateInterval 
style=""><fo:block <#if style?has_content><@getFoStyle style/></#if>></#macro>
-<#macro renderContainerEnd></fo:block></#macro>
+<#macro renderContainerBegin id autoUpdateLink type autoUpdateInterval 
style=""><fo:block <#if style?has_content><@getFoStyle style/></#if>></#macro>
+<#macro renderContainerEnd type></fo:block></#macro>
 <#macro renderContentBegin editRequest enableEditValue 
editContainerStyle></#macro>
 <#macro renderContentBody></#macro>
 <#macro renderContentEnd></#macro>

Modified: 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlScreenMacroLibrary.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlScreenMacroLibrary.ftl?rev=1837827&r1=1837826&r2=1837827&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlScreenMacroLibrary.ftl
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/HtmlScreenMacroLibrary.ftl
 Fri Aug 10 18:23:11 2018
@@ -35,13 +35,14 @@ under the License.
 </#if>
 </#macro>
 
-<#macro renderContainerBegin id autoUpdateInterval style="" autoUpdateLink="">
+<#macro renderContainerBegin id autoUpdateInterval type="" style="" 
autoUpdateLink="">
 <#if autoUpdateLink?has_content>
 <script type="application/javascript">ajaxUpdateAreaPeriodic('${id}', 
'${autoUpdateLink}', '', '${autoUpdateInterval}');</script>
 </#if>
-<div<#if id?has_content> id="${id}"</#if><#if style?has_content> 
class="${style}"</#if>>
+<#if !type?has_content><#local type="div"/> </#if>
+<${type}<#if id?has_content> id="${id}"</#if><#if style?has_content> 
class="${style}"</#if>>
 </#macro>
-<#macro renderContainerEnd></div></#macro>
+<#macro renderContainerEnd type=""><#if !type?has_content><#local type="div"/> 
</#if></${type}></#macro>
 <#macro renderContentBegin enableEditValue editContainerStyle  
editRequest=""><#if editRequest?has_content && "true" == enableEditValue><div 
class=${editContainerStyle}></#if></#macro>
 <#macro renderContentBody></#macro>
 <#macro renderContentEnd editMode editContainerStyle  enableEditValue 
editRequest="" urlString="" >

Modified: 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextScreenMacroLibrary.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextScreenMacroLibrary.ftl?rev=1837827&r1=1837826&r2=1837827&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextScreenMacroLibrary.ftl
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/TextScreenMacroLibrary.ftl
 Fri Aug 10 18:23:11 2018
@@ -29,8 +29,8 @@ under the License.
 <#macro renderSectionEnd boundaryComment>
 </#macro>
 
-<#macro renderContainerBegin id style autoUpdateLink 
autoUpdateInterval></#macro>
-<#macro renderContainerEnd></#macro>
+<#macro renderContainerBegin id style autoUpdateLink type 
autoUpdateInterval></#macro>
+<#macro renderContainerEnd type></#macro>
 <#macro renderContentBegin editRequest enableEditValue 
editContainerStyle></#macro>
 <#macro renderContentBody></#macro>
 <#macro renderContentEnd urlString editMode editContainerStyle editRequest 
enableEditValue></#macro>

Modified: 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsScreenMacroLibrary.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsScreenMacroLibrary.ftl?rev=1837827&r1=1837826&r2=1837827&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsScreenMacroLibrary.ftl
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/themes/common-theme/template/macro/XlsScreenMacroLibrary.ftl
 Fri Aug 10 18:23:11 2018
@@ -25,8 +25,8 @@ under the License.
 
 <#macro renderSectionEnd boundaryComment></#macro>
 
-<#macro renderContainerBegin id style autoUpdateLink 
autoUpdateInterval></#macro>
-<#macro renderContainerEnd></#macro>
+<#macro renderContainerBegin id style autoUpdateLink type 
autoUpdateInterval></#macro>
+<#macro renderContainerEnd type></#macro>
 <#macro renderContentBegin editRequest enableEditValue 
editContainerStyle></#macro>
 <#macro renderContentBody></#macro>
 <#macro renderContentEnd urlString editMode editContainerStyle editRequest 
enableEditValue></#macro>


Reply via email to