Author: solomax
Date: Thu Sep 13 04:49:20 2012
New Revision: 1384205
URL: http://svn.apache.org/viewvc?rev=1384205&view=rev
Log:
Wicket: entities per page are changed as expected
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html?rev=1384205&r1=1384204&r2=1384205&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
Thu Sep 13 04:49:20 2012
@@ -21,7 +21,9 @@
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd"
lang="en">
<wicket:panel>
- <select wicket:id="entityesPerPage"></select>
- <span wicket:id="navigator">[dataview navigator]</span>
+ <form wicket:id="pagingForm">
+ <select wicket:id="entitiesPerPage"></select>
+ <span wicket:id="navigator">[dataview navigator]</span>
+ </form>
</wicket:panel>
</html>
\ No newline at end of file
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java?rev=1384205&r1=1384204&r2=1384205&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
Thu Sep 13 04:49:20 2012
@@ -22,36 +22,41 @@ import java.util.Arrays;
import java.util.List;
import org.apache.openmeetings.persistence.beans.OmEntity;
-import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import
org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator;
import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.model.PropertyModel;
public abstract class PagedEntityListPanel extends AdminPanel {
private static final long serialVersionUID = -4280843184916302671L;
- private int entityesPerPage = 50;
+ private int entitiesPerPage = 50;
private List<Integer> numbers = Arrays.asList(10, 25, 50, 75, 100, 200);
public PagedEntityListPanel(String id, final DataView<? extends
OmEntity> dataView) {
super(id);
- dataView.setItemsPerPage(entityesPerPage);
- final AjaxPagingNavigator navigator = new
AjaxPagingNavigator("navigator", dataView);
- add(navigator.setOutputMarkupId(true));
-
- add(new DropDownChoice<Integer>("entityesPerPage", new
PropertyModel<Integer>(this, "entityesPerPage"), numbers)
- .add(new AjaxEventBehavior("change") {
- private static final long serialVersionUID =
7721662282201431562L;
+ dataView.setItemsPerPage(entitiesPerPage);
+ final Form<Void> f = new Form<Void>("pagingForm");
+ f.setOutputMarkupId(true);
+ f.add(new AjaxPagingNavigator("navigator",
dataView).setOutputMarkupId(true))
+ .add(new DropDownChoice<Integer>("entitiesPerPage", new
PropertyModel<Integer>(this, "entitiesPerPage"), numbers)
+ .add(new
AjaxFormComponentUpdatingBehavior("onchange") {
+ private static final long
serialVersionUID = -7754441983330112248L;
- @Override
- protected void onEvent(AjaxRequestTarget
target) {
-
dataView.setItemsPerPage(entityesPerPage);
- target.add(navigator);
-
PagedEntityListPanel.this.onEvent(target);
- }
- }));
+ @Override
+ protected void
onUpdate(AjaxRequestTarget target) {
+ long newPage =
dataView.getCurrentPage() * dataView.getItemsPerPage() / entitiesPerPage;
+
dataView.setItemsPerPage(entitiesPerPage);
+
dataView.setCurrentPage(newPage);
+ target.add(f);
+
PagedEntityListPanel.this.onEvent(target);
+ }
+ }));
+
+ add(f);
}
protected abstract void onEvent(AjaxRequestTarget target);