You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2012/09/13 06:49:21 UTC
svn commit: r1384205 - in
/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin:
PagedEntityListPanel.html PagedEntityListPanel.java
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);