You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2014/11/03 21:46:35 UTC
svn commit: r1636437 [3/3] - in
/ofbiz/trunk/framework/widget/src/org/ofbiz/widget: form/ html/ screen/
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java?rev=1636437&r1=1636436&r2=1636437&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java Mon Nov 3 20:46:34 2014
@@ -45,6 +45,7 @@ import org.ofbiz.webapp.control.RequestH
import org.ofbiz.webapp.taglib.ContentUrlTag;
import org.ofbiz.widget.ModelWidget;
import org.ofbiz.widget.WidgetWorker;
+import org.ofbiz.widget.form.FormRenderer;
import org.ofbiz.widget.form.FormStringRenderer;
import org.ofbiz.widget.form.MacroFormRenderer;
import org.ofbiz.widget.form.ModelForm;
@@ -70,6 +71,7 @@ import org.ofbiz.widget.form.ModelFormFi
import org.ofbiz.widget.form.ModelFormField.TextField;
import org.ofbiz.widget.form.ModelFormField.TextFindField;
import org.ofbiz.widget.form.ModelFormField.TextareaField;
+import org.ofbiz.widget.form.Paginator;
import org.ofbiz.widget.form.UtilHelpText;
import freemarker.template.TemplateException;
@@ -904,7 +906,7 @@ public class HtmlFormRenderer extends Ht
}
writer.append(" href=\"javascript:document.");
- writer.append(modelForm.getCurrentFormName(context));
+ writer.append(FormRenderer.getCurrentFormName(modelForm, context));
writer.append(".submit()\">");
writer.append(encode(modelFormField.getTitle(context), modelFormField, context));
@@ -1182,7 +1184,7 @@ public class HtmlFormRenderer extends Ht
writer.append("\"");
}
- String containerId = modelForm.getCurrentContainerId(context);
+ String containerId = FormRenderer.getCurrentContainerId(modelForm, context);
if (UtilValidate.isNotEmpty(containerId)) {
writer.append(" id=\"");
writer.append(containerId);
@@ -1205,7 +1207,7 @@ public class HtmlFormRenderer extends Ht
}
writer.append(" name=\"");
- writer.append(modelForm.getCurrentFormName(context));
+ writer.append(FormRenderer.getCurrentContainerId(modelForm, context));
writer.append("\">");
boolean useRowSubmit = modelForm.getUseRowSubmit();
@@ -1226,7 +1228,7 @@ public class HtmlFormRenderer extends Ht
appendWhitespace(writer);
writer.append("<script language=\"JavaScript\" type=\"text/javascript\">");
appendWhitespace(writer);
- writer.append("document.").append(modelForm.getCurrentFormName(context)).append(".");
+ writer.append("document.").append(FormRenderer.getCurrentFormName(modelForm, context)).append(".");
writer.append(focusFieldName).append(".focus();");
appendWhitespace(writer);
writer.append("</script>");
@@ -1904,7 +1906,7 @@ public class HtmlFormRenderer extends Ht
if (uiLabelMap != null) {
localizedIconTitle = uiLabelMap.get("CommonViewCalendar");
}
-
+ ModelForm modelForm = modelFormField.getModelForm();
// add calendar pop-up button and seed data IF this is not a "time" type date-find
if (!"time".equals(dateFindField.getType())) {
if ("date".equals(dateFindField.getType())) {
@@ -1912,7 +1914,7 @@ public class HtmlFormRenderer extends Ht
} else {
writer.append("<a href=\"javascript:call_cal(document.");
}
- writer.append(modelFormField.getModelForm().getCurrentFormName(context));
+ writer.append(FormRenderer.getCurrentFormName(modelForm, context));
writer.append('.');
writer.append(modelFormField.getParameterName(context));
writer.append("_fld0_value,'");
@@ -1989,7 +1991,7 @@ public class HtmlFormRenderer extends Ht
} else {
writer.append("<a href=\"javascript:call_cal(document.");
}
- writer.append(modelFormField.getModelForm().getCurrentFormName(context));
+ writer.append(FormRenderer.getCurrentFormName(modelForm, context));
writer.append('.');
writer.append(modelFormField.getParameterName(context));
writer.append("_fld1_value,'");
@@ -2076,12 +2078,12 @@ public class HtmlFormRenderer extends Ht
}
writer.append("/>");
-
+ ModelForm modelForm = modelFormField.getModelForm();
// add lookup pop-up button
String descriptionFieldName = lookupField.getDescriptionFieldName();
if (UtilValidate.isNotEmpty(descriptionFieldName)) {
writer.append("<a href=\"javascript:call_fieldlookup3(document.");
- writer.append(modelFormField.getModelForm().getCurrentFormName(context));
+ writer.append(FormRenderer.getCurrentFormName(modelForm, context));
writer.append('.');
writer.append(modelFormField.getParameterName(context));
writer.append(",'");
@@ -2089,7 +2091,7 @@ public class HtmlFormRenderer extends Ht
writer.append(",'");
} else {
writer.append("<a href=\"javascript:call_fieldlookup2(document.");
- writer.append(modelFormField.getModelForm().getCurrentFormName(context));
+ writer.append(FormRenderer.getCurrentFormName(modelForm, context));
writer.append('.');
writer.append(modelFormField.getParameterName(context));
writer.append(",'");
@@ -2100,7 +2102,7 @@ public class HtmlFormRenderer extends Ht
for (String targetParameter: targetParameterList) {
// named like: document.${formName}.${targetParameter}.value
writer.append(", document.");
- writer.append(modelFormField.getModelForm().getCurrentFormName(context));
+ writer.append(FormRenderer.getCurrentFormName(modelForm, context));
writer.append(".");
writer.append(targetParameter);
writer.append(".value");
@@ -2140,6 +2142,26 @@ public class HtmlFormRenderer extends Ht
return result;
}
+ private int getActualPageSize(Map<String, Object> context) {
+ Integer value = (Integer) context.get("actualPageSize");
+ return value != null ? value.intValue() : (getHighIndex(context) - getLowIndex(context));
+ }
+
+ private int getHighIndex(Map<String, Object> context) {
+ Integer value = (Integer) context.get("highIndex");
+ return value != null ? value.intValue() : 0;
+ }
+
+ private int getListSize(Map<String, Object> context) {
+ Integer value = (Integer) context.get("listSize");
+ return value != null ? value.intValue() : 0;
+ }
+
+ private int getLowIndex(Map<String, Object> context) {
+ Integer value = (Integer) context.get("lowIndex");
+ return value != null ? value.intValue() : 0;
+ }
+
public void renderNextPrev(Appendable writer, Map<String, Object> context, ModelForm modelForm) throws IOException {
boolean ajaxEnabled = false;
List<ModelForm.UpdateArea> updateAreas = modelForm.getOnPaginateUpdateAreas();
@@ -2162,13 +2184,13 @@ public class HtmlFormRenderer extends Ht
String viewIndexParam = modelForm.getMultiPaginateIndexField(context);
String viewSizeParam = modelForm.getMultiPaginateSizeField(context);
- int viewIndex = modelForm.getViewIndex(context);
- int viewSize = modelForm.getViewSize(context);
- int listSize = modelForm.getListSize(context);
-
- int lowIndex = modelForm.getLowIndex(context);
- int highIndex = modelForm.getHighIndex(context);
- int actualPageSize = modelForm.getActualPageSize(context);
+ int viewIndex = Paginator.getViewIndex(modelForm, context);
+ int viewSize = Paginator.getViewSize(modelForm, context);
+ int listSize = getListSize(context);
+
+ int lowIndex = getLowIndex(context);
+ int highIndex = getHighIndex(context);
+ int actualPageSize = getActualPageSize(context);
// if this is all there seems to be (if listSize < 0, then size is unknown)
if (actualPageSize >= listSize && listSize >= 0) return;
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormWrapper.java?rev=1636437&r1=1636436&r2=1636437&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormWrapper.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormWrapper.java Mon Nov 3 20:46:34 2014
@@ -36,6 +36,7 @@ import org.ofbiz.service.LocalDispatcher
import org.ofbiz.widget.form.FormFactory;
import org.ofbiz.widget.form.FormStringRenderer;
import org.ofbiz.widget.form.ModelForm;
+import org.ofbiz.widget.form.FormRenderer;
import org.xml.sax.SAXException;
@@ -107,7 +108,7 @@ public class HtmlFormWrapper {
}
@SuppressWarnings("unchecked")
- public StringWriter renderFormString(Object contextStack) throws IOException {
+ public StringWriter renderFormString(Object contextStack) throws Exception {
if (contextStack instanceof MapStack) {
return renderFormString((MapStack) contextStack);
} else {
@@ -115,17 +116,19 @@ public class HtmlFormWrapper {
return renderFormString();
}
}
- public StringWriter renderFormString(MapStack<String> contextStack) throws IOException {
+ public StringWriter renderFormString(MapStack<String> contextStack) throws Exception {
// create a new context with the current context on the bottom
contextStack.push(this.context);
StringWriter buffer = new StringWriter();
- modelForm.renderFormString(buffer, contextStack, renderer);
+ FormRenderer formRenderer = new FormRenderer(modelForm, renderer);
+ formRenderer.render(buffer, contextStack);
contextStack.pop();
return buffer;
}
- public StringWriter renderFormString() throws IOException {
+ public StringWriter renderFormString() throws Exception {
StringWriter buffer = new StringWriter();
- modelForm.renderFormString(buffer, context, renderer);
+ FormRenderer formRenderer = new FormRenderer(modelForm, renderer);
+ formRenderer.render(buffer, context);
return buffer;
}
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java?rev=1636437&r1=1636436&r2=1636437&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java Mon Nov 3 20:46:34 2014
@@ -47,6 +47,7 @@ import org.ofbiz.widget.WidgetDataResour
import org.ofbiz.widget.WidgetWorker;
import org.ofbiz.widget.form.FormStringRenderer;
import org.ofbiz.widget.form.ModelForm;
+import org.ofbiz.widget.form.Paginator;
import org.ofbiz.widget.menu.MenuStringRenderer;
import org.ofbiz.widget.menu.ModelMenu;
import org.ofbiz.widget.screen.ModelScreenWidget;
@@ -254,12 +255,32 @@ public class HtmlScreenRenderer extends
}
}
+ private int getActualPageSize(Map<String, Object> context) {
+ Integer value = (Integer) context.get("actualPageSize");
+ return value != null ? value.intValue() : (getHighIndex(context) - getLowIndex(context));
+ }
+
+ private int getHighIndex(Map<String, Object> context) {
+ Integer value = (Integer) context.get("highIndex");
+ return value != null ? value.intValue() : 0;
+ }
+
+ private int getListSize(Map<String, Object> context) {
+ Integer value = (Integer) context.get("listSize");
+ return value != null ? value.intValue() : 0;
+ }
+
+ private int getLowIndex(Map<String, Object> context) {
+ Integer value = (Integer) context.get("lowIndex");
+ return value != null ? value.intValue() : 0;
+ }
+
protected void renderScreenletPaginateMenu(Appendable writer, Map<String, Object> context, ModelScreenWidget.Form form) throws IOException {
HttpServletResponse response = (HttpServletResponse) context.get("response");
HttpServletRequest request = (HttpServletRequest) context.get("request");
ModelForm modelForm = form.getModelForm(context);
modelForm.runFormActions(context);
- modelForm.preparePager(context);
+ Paginator.preparePager(modelForm, context);
String targetService = modelForm.getPaginateTarget(context);
if (targetService == null) {
targetService = "${targetService}";
@@ -270,13 +291,13 @@ public class HtmlScreenRenderer extends
String viewIndexParam = modelForm.getMultiPaginateIndexField(context);
String viewSizeParam = modelForm.getMultiPaginateSizeField(context);
- int viewIndex = modelForm.getViewIndex(context);
- int viewSize = modelForm.getViewSize(context);
- int listSize = modelForm.getListSize(context);
-
- int lowIndex = modelForm.getLowIndex(context);
- int highIndex = modelForm.getHighIndex(context);
- int actualPageSize = modelForm.getActualPageSize(context);
+ int viewIndex = Paginator.getViewIndex(modelForm, context);
+ int viewSize = Paginator.getViewSize(modelForm, context);
+ int listSize = getListSize(context);
+
+ int lowIndex = getLowIndex(context);
+ int highIndex = getHighIndex(context);
+ int actualPageSize = getActualPageSize(context);
// if this is all there seems to be (if listSize < 0, then size is unknown)
if (actualPageSize >= listSize && listSize >= 0) return;
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java?rev=1636437&r1=1636436&r2=1636437&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java Mon Nov 3 20:46:34 2014
@@ -55,6 +55,7 @@ import org.ofbiz.widget.WidgetWorker;
import org.ofbiz.widget.form.FormStringRenderer;
import org.ofbiz.widget.form.MacroFormRenderer;
import org.ofbiz.widget.form.ModelForm;
+import org.ofbiz.widget.form.Paginator;
import org.ofbiz.widget.html.HtmlScreenRenderer.ScreenletMenuRenderer;
import org.ofbiz.widget.menu.MenuStringRenderer;
import org.ofbiz.widget.screen.ModelScreenWidget.Column;
@@ -682,7 +683,7 @@ public class MacroScreenRenderer impleme
HttpServletRequest request = (HttpServletRequest) context.get("request");
ModelForm modelForm = form.getModelForm(context);
modelForm.runFormActions(context);
- modelForm.preparePager(context);
+ Paginator.preparePager(modelForm, context);
String targetService = modelForm.getPaginateTarget(context);
if (targetService == null) {
targetService = "${targetService}";
@@ -693,12 +694,12 @@ public class MacroScreenRenderer impleme
String viewIndexParam = modelForm.getMultiPaginateIndexField(context);
String viewSizeParam = modelForm.getMultiPaginateSizeField(context);
- int viewIndex = modelForm.getViewIndex(context);
- int viewSize = modelForm.getViewSize(context);
- int listSize = modelForm.getListSize(context);
+ int viewIndex = Paginator.getViewIndex(modelForm, context);
+ int viewSize = Paginator.getViewSize(modelForm, context);
+ int listSize = Paginator.getListSize(context);
- int highIndex = modelForm.getHighIndex(context);
- int actualPageSize = modelForm.getActualPageSize(context);
+ int highIndex = Paginator.getHighIndex(context);
+ int actualPageSize = Paginator.getActualPageSize(context);
// if this is all there seems to be (if listSize < 0, then size is unknown)
if (actualPageSize >= listSize && listSize >= 0) return;
@@ -781,7 +782,7 @@ public class MacroScreenRenderer impleme
}
Map<String, Object> parameters = new HashMap<String, Object>();
- parameters.put("lowIndex", modelForm.getLowIndex(context));
+ parameters.put("lowIndex", Paginator.getLowIndex(context));
parameters.put("actualPageSize", actualPageSize);
parameters.put("ofLabel", ofLabel);
parameters.put("listSize", listSize);
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java?rev=1636437&r1=1636436&r2=1636437&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java Mon Nov 3 20:46:34 2014
@@ -51,6 +51,7 @@ import org.ofbiz.widget.PortalPageWorker
import org.ofbiz.widget.WidgetFactory;
import org.ofbiz.widget.WidgetWorker;
import org.ofbiz.widget.form.FormFactory;
+import org.ofbiz.widget.form.FormRenderer;
import org.ofbiz.widget.form.FormStringRenderer;
import org.ofbiz.widget.form.ModelForm;
import org.ofbiz.widget.menu.MenuFactory;
@@ -928,9 +929,10 @@ public abstract class ModelScreenWidget
UtilGenerics.<MapStack<String>>cast(context).push();
}
ModelForm modelForm = getModelForm(context);
+ FormRenderer renderer = new FormRenderer(modelForm, formStringRenderer);
try {
- modelForm.renderFormString(writer, context, formStringRenderer);
- } catch (IOException e) {
+ renderer.render(writer, context);
+ } catch (Exception e) {
String errMsg = "Error rendering included form named [" + getName() + "] at location [" + this.getLocation(context) + "]: " + e.toString();
Debug.logError(e, errMsg, module);
throw new RuntimeException(errMsg + e);