> Allow multiple form-widget lists per page with separate pagination for each
> ---------------------------------------------------------------------------
>
> Key: OFBIZ-681
> URL:
http://jira.undersunconsulting.com/browse/OFBIZ-681> Project: [OFBiz] Open For Business
> Type: Improvement
> Components: widget
> Versions: SVN
> Reporter: Leon Torres
> Assignee: Jira Administrator
> Attachments: paginate-sample.patch, paginate-xsd-2.patch, paginate-xsd.patch, proposed-pagination.patch, proposed-prev-next-multiform.patch
>
>
> We'd like to list several entities in the same page with separate pagination for each.
> Currently, it is not possible to have two or more form-widgets of type="list" with separate pagination:
> o The form widget reads "VIEW_SIZE" and "VIEW_INDEX" parameters to position the cursor
> - this occurs in IterateSectionWidget.java:243
> - failing that, it gets the "viewIndex" and "viewSize" from the context
> o The pagination buttons [prev] and [next] and the VIEW_SIZE and VIEW_INDEX are hardcoded into the form
> - see for instance, HtmlFormRenderer.java:1687,1756 and IterateSectionWidget.java:356
> o If we try to put multiple form list iterators in a page, they will all use the same "viewSize" and "viewIndex" or "VIEW_INDEX" and "VIEW_SIZE" parameters
> - subsequent iterators overwrite the value of viewSize and viewIndex
> - since all iterators read viewsize and viewIndex, all lists will be advanced when user presses [prev] or [next] in any list
> Proposed solution:
> o Parametrize the viewSize and viewIndex variables using an XML attribute in the form-widget definition
> - <form paginate-view-size="myViewSize" paginate-view-index="myViewIndex">
> o Parametrize the [prev] and [next] buttons into the form definition as well:
> - paginate-previous-label="${uiLabelMap.MyPrevious}" paginate-next-label="${uiLabelMap.MyNext}"
> o While we're at it,
> - paginate-previous-style="buttontext" and paginate-next-style="buttontext"
> o Parametrize VIEW_INDEX and VIEW_SIZE when they are generated by the form-widget
> - they will be named "myViewSize" and "myViewIndex" if these attributes are specified