[
https://issues.apache.org/jira/browse/OFBIZ-4021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12933087#action_12933087
]
Bruno Busco commented on OFBIZ-4021:
------------------------------------
When I include the FIXME code MacroFormRenderer.java like this:
public void renderFormFilterRowOpen(Appendable writer, Map<String, Object>
context, ModelForm modelForm) throws IOException {
String formName = modelForm.getCurrentFormName(context);
String targetType = modelForm.getFilterForm().getTargetType();
String targ = modelForm.getFilterForm().getTarget(context, targetType);
StringBuilder linkUrl = new StringBuilder();
if (UtilValidate.isNotEmpty(targ)) {
WidgetWorker.buildHyperlinkUrl(linkUrl, targ, targetType, null,
null, false, false, true, request, response, context);
}
StringWriter sr = new StringWriter();
sr.append("<@renderFormFilterRowOpen ");
sr.append(" formName=\"");
sr.append(formName);
sr.append("\" linkUrl=\"");
sr.append(linkUrl);
sr.append("\" />");
executeMacro(writer, sr.toString());
}
I get this error in the log.
---- exception report ----------------------------------------------------------
Error in request handler:
Exception: org.ofbiz.widget.screen.ScreenRenderException
Message: Error rendering screen
[component://common/widget/CommonScreens.xml#FindScreenDecorator]:
java.lang.IllegalArgumentException: Error evaluating BeanShell style conditions
on form ListExamples (Error evaluating BeanShell style conditions on form
ListExamples)
---- cause ---------------------------------------------------------------------
Exception: java.lang.IllegalArgumentException
Message: Error evaluating BeanShell style conditions on form ListExamples
---- stack trace ---------------------------------------------------------------
java.lang.IllegalArgumentException: Error evaluating BeanShell style conditions
on form ListExamples
org.ofbiz.widget.form.ModelForm.getStyleAltRowStyle(ModelForm.java:2775)
org.ofbiz.widget.form.MacroFormRenderer.renderFormatItemRowOpen(MacroFormRenderer.java:1616)
org.ofbiz.widget.form.ModelForm.renderItemRow(ModelForm.java:1696)
org.ofbiz.widget.form.ModelForm.renderItemRows(ModelForm.java:1660)
org.ofbiz.widget.form.ModelForm.renderListFormString(ModelForm.java:1139)
org.ofbiz.widget.form.ModelForm.renderFormString(ModelForm.java:873)
org.ofbiz.widget.screen.ModelScreenWidget$Form.renderWidgetString(ModelScreenWidget.java:753)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:613)
org.ofbiz.widget.screen.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:129)
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:646)
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:104)
org.ofbiz.widget.screen.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:260)
org.ofbiz.widget.screen.MacroScreenRenderer.renderScreenletSubWidget(MacroScreenRenderer.java:652)
org.ofbiz.widget.screen.ModelScreenWidget$Screenlet.renderWidgetString(ModelScreenWidget.java:373)
> Adding columns filtering fields in form widget
> ----------------------------------------------
>
> Key: OFBIZ-4021
> URL: https://issues.apache.org/jira/browse/OFBIZ-4021
> Project: OFBiz
> Issue Type: New Feature
> Components: framework
> Reporter: Bruno Busco
> Priority: Minor
> Attachments: column_filter_disabled.JPG, column_filter_enabled.JPG,
> FilterForm.patch, img_for_tomahawk.zip
>
>
> This patch includes an initial implementation of a list-form column filtering
> feature.
> The aim is to add the possibility to configure a list form to show, in its
> header, some fields that could be used to filter the rows displayed in the
> form.
> This is a feature quite standard in many systems and could be seen into OFBiz
> as a "quick search"; the standard way of searching using a complete
> single-type form could be seen as an "advanced search".
> Please find attached to this JIRA two screenshots that show you how the
> filtering option appears on the screen.
> *How the user uses this feature*
> The part of the screen that is normally used for the pagination controls
> (only the upper one) has been extended so that two icons are shown on the
> left.
> The first one (a funnel) is used to show or hide the filtering fields. The
> second one (a magnifing glass) is used to run the search with the filter
> content.
> *How the developer uses this feature*
> The filtering feature can be enabled on any list-type form specifying the
> "filter-form-name" attribute.
> This must be the name of a form that contains the details about how the
> filtering fields should be rendered.
> When a list form with the filter-form-name option set is rendered, any column
> field is searched for in the filter-form.
> If a field with the same name is found, its field rendering options are used
> to render the filter field.
> A new field attribute "filter-field" has also been added.
> This defaults to true but if it is set to false the filter field is not
> rendered for this column, even if a field with the same name is present in
> the filter-form.
> This feature allows to use as filter-form an already existent form such as a
> regular FindXXX form.
> In the patch the ListExample form has been changed to use this feature. You
> can check it there.
> Unfortunately the patch does not work yet 100% but I hope that if someone
> finds it interesting could help me.
> *What is there still to do*
> 1) There is a FIXME in MacroFormRenderer.java file. I cannot make it work. If
> I enable the code that is commented there I get an error when a search is run.
> 2) I cannot make the filtering fields show the actual content after a search
> is run. They are always rendered as empty.
> 3) The filter row hide/show status should be saved so that it is maintained
> after a pagination.
> I submit this patch as it is becouse I cannot easily improve it further but I
> hope someone could help.
> The img_for_tamahawk.zip file includes imgs that should be added in the
> tomahawk images folder to make the patch work.
> Thank you for any help!
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.