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); |
Free forum by Nabble | Edit this page |