This is an automated email from the ASF dual-hosted git repository.
jamesyong pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new cbbcb14 Improved: Open Screen file from browser (OFBIZ-12038)
cbbcb14 is described below
commit cbbcb1411906294b9aad2afe6c0900a3b6398aaa
Author: James Yong <[email protected]>
AuthorDate: Sat Oct 10 18:06:14 2020 +0800
Improved: Open Screen file from browser (OFBIZ-12038)
Refactoring
---
.../org/apache/ofbiz/widget/model/HtmlWidget.java | 10 ++--
.../widget/renderer/html/HtmlWidgetRenderer.java | 66 +++++++++++++---------
.../renderer/macro/MacroScreenViewHandler.java | 13 +++--
3 files changed, 53 insertions(+), 36 deletions(-)
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java
index 4dd8d43..516b69b 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java
@@ -168,12 +168,10 @@ public class HtmlWidget extends ModelScreenWidget {
if (insertWidgetBoundaryComments) {
writer.append(HtmlWidgetRenderer.buildBoundaryComment("Begin", "Template",
location));
}
- HttpServletRequest request = ((HttpServletRequest)
context.get("request"));
- if (!location.endsWith(".fo.ftl") && request != null) {
- String contextPath = request.getContextPath();
-
writer.append(HtmlWidgetRenderer.beginNamedBorder("Template", location,
contextPath));
+ if (!location.endsWith(".fo.ftl") &&
HtmlWidgetRenderer.NAMED_BORDER_TYPE != ModelWidget.NamedBorderType.NONE) {
+ HttpServletRequest request = ((HttpServletRequest)
context.get("request"));
+
writer.append(HtmlWidgetRenderer.beginNamedBorder("Template", location,
request.getContextPath()));
}
-
Template template = null;
if (location.endsWith(".fo.ftl")) { // FOP can't render
correctly escaped characters
template = FreeMarkerWorker.getTemplate(location);
@@ -182,7 +180,7 @@ public class HtmlWidget extends ModelScreenWidget {
}
FreeMarkerWorker.renderTemplate(template, context, writer);
- if (!location.endsWith(".fo.ftl") && request != null) {
+ if (!location.endsWith(".fo.ftl") &&
HtmlWidgetRenderer.NAMED_BORDER_TYPE != ModelWidget.NamedBorderType.NONE) {
writer.append(HtmlWidgetRenderer.endNamedBorder("Template", location));
}
if (insertWidgetBoundaryComments) {
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/html/HtmlWidgetRenderer.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/html/HtmlWidgetRenderer.java
index cc9e226..fd78801 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/html/HtmlWidgetRenderer.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/html/HtmlWidgetRenderer.java
@@ -40,6 +40,11 @@ public class HtmlWidgetRenderer {
public static final String WHITE_SPACE = "\r\n";
/**
+ * Store property value of widget.dev.namedBorder
+ */
+ public static final ModelWidget.NamedBorderType NAMED_BORDER_TYPE =
ModelWidget.widgetNamedBorderType();
+
+ /**
* Sets widget comments enabled.
* @param widgetCommentsEnabled the widget comments enabled
*/
@@ -49,8 +54,6 @@ public class HtmlWidgetRenderer {
private boolean widgetCommentsEnabled = false;
- private static ModelWidget.NamedBorderType namedBorderType =
ModelWidget.widgetNamedBorderType();
-
/**
* Is widget comments enabled boolean.
* @return the boolean
@@ -77,37 +80,48 @@ public class HtmlWidgetRenderer {
return "<!-- " + boundaryType + " " + widgetType + " " + widgetName +
" -->" + WHITE_SPACE;
}
+ /**
+ * Always check the following condition is true before running the method:
+ * HtmlWidgetRenderer.namedBorderType != ModelWidget.NamedBorderType.NONE
+ * @param widgetType
+ * @param location
+ * @param contextPath
+ * @return
+ */
public static String beginNamedBorder(String widgetType, String location,
String contextPath) {
- if (namedBorderType != ModelWidget.NamedBorderType.NONE) {
- List<String> themeBasePathsToExempt =
UtilHtml.getVisualThemeFolderNamesToExempt();
- if (!themeBasePathsToExempt.stream().anyMatch(location::contains))
{
- String fileName = location.substring(location.lastIndexOf("/")
+ 1);
- switch (namedBorderType) {
- case SOURCE:
- return "<div class='info-container'><span
class='info-overlay-item info-cursor-none' data-source='"
- + location + "' data-target='" + contextPath
- + (SeoConfigUtil.isCategoryUrlEnabled(contextPath)
? "" : "/control")
- + "/openSourceFile'>"
- + fileName
- + "</span>";
- case LABEL:
- return "<div class='info-container'><span
class='info-overlay-item'>"
- + fileName
- + "</span>";
- default:
- return "";
- }
+ List<String> themeBasePathsToExempt =
UtilHtml.getVisualThemeFolderNamesToExempt();
+ if (!themeBasePathsToExempt.stream().anyMatch(location::contains)) {
+ String fileName = location.substring(location.lastIndexOf("/") +
1);
+ switch (NAMED_BORDER_TYPE) {
+ case SOURCE:
+ return "<div class='info-container'><span
class='info-overlay-item info-cursor-none' data-source='"
+ + location + "' data-target='" + contextPath
+ + (SeoConfigUtil.isCategoryUrlEnabled(contextPath) ?
"" : "/control")
+ + "/openSourceFile'>"
+ + fileName
+ + "</span>";
+ case LABEL:
+ return "<div class='info-container'><span
class='info-overlay-item'>"
+ + fileName
+ + "</span>";
+ default:
+ return "";
}
}
return "";
}
+ /**
+ * Always check the following condition is true before running the method:
+ * HtmlWidgetRenderer.namedBorderType != ModelWidget.NamedBorderType.NONE
+ * @param widgetType
+ * @param location
+ * @return
+ */
public static String endNamedBorder(String widgetType, String location) {
- if (namedBorderType != ModelWidget.NamedBorderType.NONE) {
- List<String> themeBasePathsToExempt =
UtilHtml.getVisualThemeFolderNamesToExempt();
- if (!themeBasePathsToExempt.stream().anyMatch(location::contains))
{
- return "</div>";
- }
+ List<String> themeBasePathsToExempt =
UtilHtml.getVisualThemeFolderNamesToExempt();
+ if (!themeBasePathsToExempt.stream().anyMatch(location::contains)) {
+ return "</div>";
}
return "";
}
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenViewHandler.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenViewHandler.java
index 77fb023..fd09b24 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenViewHandler.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroScreenViewHandler.java
@@ -36,6 +36,7 @@ import org.apache.ofbiz.base.util.collections.MapStack;
import org.apache.ofbiz.webapp.view.AbstractViewHandler;
import org.apache.ofbiz.webapp.view.ViewHandlerException;
import org.apache.ofbiz.widget.model.ModelTheme;
+import org.apache.ofbiz.widget.model.ModelWidget;
import org.apache.ofbiz.widget.renderer.FormStringRenderer;
import org.apache.ofbiz.widget.renderer.MenuStringRenderer;
import org.apache.ofbiz.widget.renderer.ScreenRenderer;
@@ -114,11 +115,15 @@ public class MacroScreenViewHandler extends
AbstractViewHandler {
context.put("screens", screens);
context.put("simpleEncoder",
UtilCodec.getEncoder(visualTheme.getModelTheme().getEncoder(getName())));
screenStringRenderer.renderScreenBegin(writer, context);
- // render start of named border for screen
- writer.append(HtmlWidgetRenderer.beginNamedBorder("Screen", page,
request.getContextPath()));
+ if (HtmlWidgetRenderer.NAMED_BORDER_TYPE !=
ModelWidget.NamedBorderType.NONE) {
+ // render start of named border for screen
+ writer.append(HtmlWidgetRenderer.beginNamedBorder("Screen",
page, request.getContextPath()));
+ }
screens.render(page);
- // render end of named border for screen
- writer.append(HtmlWidgetRenderer.endNamedBorder("Screen", page));
+ if (HtmlWidgetRenderer.NAMED_BORDER_TYPE !=
ModelWidget.NamedBorderType.NONE) {
+ // render end of named border for screen
+ writer.append(HtmlWidgetRenderer.endNamedBorder("Screen",
page));
+ }
screenStringRenderer.renderScreenEnd(writer, context);
writer.flush();
} catch (TemplateException e) {