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 5fca2ed Improved: Open Screen file from browser (OFBIZ-12038)
5fca2ed is described below
commit 5fca2ed58deb59d7eb2847810208f42cdc5f7a09
Author: James Yong <[email protected]>
AuthorDate: Sat Oct 10 12:39:43 2020 +0800
Improved: Open Screen file from browser (OFBIZ-12038)
Refactoring
---
.../org/apache/ofbiz/widget/model/HtmlWidget.java | 17 +++----------
.../widget/renderer/html/HtmlWidgetRenderer.java | 29 ++++++++++++++--------
.../renderer/macro/MacroScreenViewHandler.java | 10 ++------
3 files changed, 25 insertions(+), 31 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 65723ad..62d3158 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,18 +168,9 @@ public class HtmlWidget extends ModelScreenWidget {
if (insertWidgetBoundaryComments) {
writer.append(HtmlWidgetRenderer.buildBoundaryComment("Begin", "Template",
location));
}
- boolean insertWidgetNamedBorder = false;
- NamedBorderType namedBorderType = null;
if (!location.endsWith(".fo.ftl")) {
- namedBorderType = ModelWidget.widgetNamedBorderType();
- if (namedBorderType != NamedBorderType.NONE) {
- insertWidgetNamedBorder = true;
- }
- }
- String contextPath = "";
- if (insertWidgetNamedBorder) {
- contextPath = ((HttpServletRequest)
context.get("request")).getContextPath();
- writer.append(HtmlWidgetRenderer.buildNamedBorder("Begin",
"Template", location, namedBorderType, contextPath));
+ String contextPath = ((HttpServletRequest)
context.get("request")).getContextPath();
+
writer.append(HtmlWidgetRenderer.beginNamedBorder("Template", location,
contextPath));
}
Template template = null;
@@ -190,8 +181,8 @@ public class HtmlWidget extends ModelScreenWidget {
}
FreeMarkerWorker.renderTemplate(template, context, writer);
- if (insertWidgetNamedBorder) {
- writer.append(HtmlWidgetRenderer.buildNamedBorder("End",
"Template", location, namedBorderType, contextPath));
+ if (!location.endsWith(".fo.ftl")) {
+
writer.append(HtmlWidgetRenderer.endNamedBorder("Template", location));
}
if (insertWidgetBoundaryComments) {
writer.append(HtmlWidgetRenderer.buildBoundaryComment("End", "Template",
location));
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 74c2b9b..cc9e226 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
@@ -49,6 +49,8 @@ public class HtmlWidgetRenderer {
private boolean widgetCommentsEnabled = false;
+ private static ModelWidget.NamedBorderType namedBorderType =
ModelWidget.widgetNamedBorderType();
+
/**
* Is widget comments enabled boolean.
* @return the boolean
@@ -75,17 +77,15 @@ public class HtmlWidgetRenderer {
return "<!-- " + boundaryType + " " + widgetType + " " + widgetName +
" -->" + WHITE_SPACE;
}
- public static String buildNamedBorder(String boundaryType, String
widgetType, String widgetName,
- ModelWidget.NamedBorderType
namedBorderType, String contextPath) {
- List<String> themeBasePathsToExempt =
UtilHtml.getVisualThemeFolderNamesToExempt();
- if (!themeBasePathsToExempt.stream().anyMatch(widgetName::contains)) {
- // add additional visual label for non-theme ftl
- if ("Begin".equals(boundaryType)) {
- String fileName =
widgetName.substring(widgetName.lastIndexOf("/") + 1);
+ 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='"
- + widgetName + "' data-target='" + contextPath
+ + location + "' data-target='" + contextPath
+ (SeoConfigUtil.isCategoryUrlEnabled(contextPath)
? "" : "/control")
+ "/openSourceFile'>"
+ fileName
@@ -94,9 +94,18 @@ public class HtmlWidgetRenderer {
return "<div class='info-container'><span
class='info-overlay-item'>"
+ fileName
+ "</span>";
- default: return "";
+ default:
+ return "";
}
- } else if ("End".equals(boundaryType)) {
+ }
+ }
+ 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>";
}
}
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 444eec2..77fb023 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,7 +36,6 @@ 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;
@@ -116,15 +115,10 @@ public class MacroScreenViewHandler extends
AbstractViewHandler {
context.put("simpleEncoder",
UtilCodec.getEncoder(visualTheme.getModelTheme().getEncoder(getName())));
screenStringRenderer.renderScreenBegin(writer, context);
// render start of named border for screen
- ModelWidget.NamedBorderType widgetNamedBorderType =
ModelWidget.widgetNamedBorderType();
- if (widgetNamedBorderType != ModelWidget.NamedBorderType.NONE) {
- writer.append(HtmlWidgetRenderer.buildNamedBorder("Begin",
"Screen", page, widgetNamedBorderType, request.getContextPath()));
- }
+ writer.append(HtmlWidgetRenderer.beginNamedBorder("Screen", page,
request.getContextPath()));
screens.render(page);
// render end of named border for screen
- if (widgetNamedBorderType != ModelWidget.NamedBorderType.NONE) {
- writer.append(HtmlWidgetRenderer.buildNamedBorder("End",
"Screen", page, widgetNamedBorderType, request.getContextPath()));
- }
+ writer.append(HtmlWidgetRenderer.endNamedBorder("Screen", page));
screenStringRenderer.renderScreenEnd(writer, context);
writer.flush();
} catch (TemplateException e) {