adding up down order functionality
This commit is contained in:
parent
918eeb5c51
commit
60660ea844
src/main/java/se/su/dsv/scipro
@ -2,7 +2,7 @@ package se.su.dsv.scipro.admin.pages;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
|
||||
import se.su.dsv.scipro.datatables.CheckListTemplateDataPanel;
|
||||
import se.su.dsv.scipro.datatables.checklist.CheckListTemplateDataPanel;
|
||||
import se.su.dsv.scipro.security.auth.Authorization;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<div>Filter by title or creator:</div>
|
||||
<div wicket:id="filterStringPanel"></div>
|
||||
<div>Rows per page: <span wicket:id="numberDropDown"></span></div>
|
||||
<table wicket:id="datatable"></table>
|
@ -1,4 +1,4 @@
|
||||
package se.su.dsv.scipro.datatables;
|
||||
package se.su.dsv.scipro.datatables.checklist;
|
||||
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.table.*;
|
||||
@ -60,21 +60,28 @@ public class CheckListTemplateDataPanel extends Panel {
|
||||
};
|
||||
add(numberDropDown);
|
||||
|
||||
IColumn[] columns = new IColumn[4];
|
||||
// columns[0] = new PropertyColumn<CheckListTemplate>(Model.of("Name"), "name", "name");
|
||||
|
||||
columns[0] = new ClickablePropertyColumn<CheckListTemplate>(Model.of("Name"), "name", "name") {
|
||||
IColumn[] columns = new IColumn[5];
|
||||
|
||||
columns[0] = new ClickableTitleColumn<CheckListTemplate>(Model.of("Name"), "name", "name") {
|
||||
@Override
|
||||
protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target) {
|
||||
System.out.println(clicked.getObject().getName());
|
||||
}
|
||||
};
|
||||
|
||||
columns[1] = new PropertyColumn<CheckListTemplate>(Model.of("Creator"), "creator", "creator");
|
||||
columns[2] = new PropertyColumn<CheckListTemplate>(Model.of("Categories"), "categories");
|
||||
// columns[3] = new PropertyColumn<CheckListTemplate>(Model.of("Created"), "dateCreated", "dateCreated");
|
||||
columns[3] = new PropertyColumn<CheckListTemplate>(Model.of("Updated"), "lastModified", "lastModified");
|
||||
columns[3] = new ClickableOrderColumn<CheckListTemplate>(Model.of("Order"), "templateNumber", "templateNumber") {
|
||||
@Override
|
||||
protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target, boolean up) {
|
||||
System.out.println(up);
|
||||
if (up){
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
columns[4] = new PropertyColumn<CheckListTemplate>(Model.of("Updated"), "lastModified", "lastModified");
|
||||
|
||||
|
||||
table = new DataTable<CheckListTemplate>("datatable", columns, checklistTemplateProvider = new ChecklistTemplateProvider(), 10);
|
3
src/main/java/se/su/dsv/scipro/datatables/checklist/ClickableOrderColumn$LinkPanel.html
Normal file
3
src/main/java/se/su/dsv/scipro/datatables/checklist/ClickableOrderColumn$LinkPanel.html
Normal file
@ -0,0 +1,3 @@
|
||||
<wicket:panel>
|
||||
<span wicket:id="label"></span> <a wicket:id="uplink">Up</a> <a wicket:id="downlink">Down</a>
|
||||
</wicket:panel>
|
@ -0,0 +1,68 @@
|
||||
package se.su.dsv.scipro.datatables.checklist;
|
||||
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.markup.html.AjaxLink;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.markup.repeater.Item;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.PropertyModel;
|
||||
|
||||
/**
|
||||
* Author: fred-fri
|
||||
* Date: 5/4/12
|
||||
*/
|
||||
public abstract class ClickableOrderColumn<T> extends AbstractColumn<T> {
|
||||
|
||||
private final String property;
|
||||
|
||||
public ClickableOrderColumn(IModel<String> displayModel,
|
||||
String property) {
|
||||
this(displayModel, property, null);
|
||||
}
|
||||
|
||||
public ClickableOrderColumn(IModel<String> displayModel,
|
||||
String property, String sort) {
|
||||
super(displayModel, sort);
|
||||
this.property = property;
|
||||
}
|
||||
|
||||
public void populateItem(Item<ICellPopulator<T>> cellItem,
|
||||
String componentId, IModel<T> rowModel) {
|
||||
cellItem.add(new LinkPanel(componentId, rowModel,
|
||||
new PropertyModel<Object>(rowModel, property)));
|
||||
}
|
||||
|
||||
protected abstract void onClick(IModel<T> clicked, AjaxRequestTarget target, boolean up);
|
||||
|
||||
private class LinkPanel extends Panel {
|
||||
public LinkPanel(String id, IModel<T> rowModel, IModel<?>
|
||||
labelModel) {
|
||||
super(id);
|
||||
|
||||
add(new Label("label", labelModel));
|
||||
|
||||
AjaxLink<T> uplink = new AjaxLink<T>("uplink", rowModel) {
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
ClickableOrderColumn.this.onClick(getModel(), target, true);
|
||||
}
|
||||
};
|
||||
add(uplink);
|
||||
// uplink.add(new Label("label", "Up"));
|
||||
|
||||
AjaxLink<T> downlink = new AjaxLink<T>("downlink", rowModel) {
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
ClickableOrderColumn.this.onClick(getModel(), target, false);
|
||||
}
|
||||
};
|
||||
add(downlink);
|
||||
// downlink.add(new Label("label", "Down"));
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -1,11 +1,10 @@
|
||||
package se.su.dsv.scipro.datatables;
|
||||
package se.su.dsv.scipro.datatables.checklist;
|
||||
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.markup.html.AjaxLink;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
|
||||
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.link.Link;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.markup.repeater.Item;
|
||||
import org.apache.wicket.model.IModel;
|
||||
@ -15,17 +14,17 @@ import org.apache.wicket.model.PropertyModel;
|
||||
* Author: fred-fri
|
||||
* Date: 5/4/12
|
||||
*/
|
||||
public abstract class ClickablePropertyColumn<T> extends AbstractColumn<T> {
|
||||
public abstract class ClickableTitleColumn<T> extends AbstractColumn<T> {
|
||||
|
||||
private final String property;
|
||||
|
||||
public ClickablePropertyColumn(IModel<String> displayModel,
|
||||
String property) {
|
||||
public ClickableTitleColumn(IModel<String> displayModel,
|
||||
String property) {
|
||||
this(displayModel, property, null);
|
||||
}
|
||||
|
||||
public ClickablePropertyColumn(IModel<String> displayModel,
|
||||
String property, String sort) {
|
||||
public ClickableTitleColumn(IModel<String> displayModel,
|
||||
String property, String sort) {
|
||||
super(displayModel, sort);
|
||||
this.property = property;
|
||||
}
|
||||
@ -46,7 +45,7 @@ public abstract class ClickablePropertyColumn<T> extends AbstractColumn<T> {
|
||||
// Link<T> link = new Link<T>("link", rowModel) {
|
||||
// @Override
|
||||
// public void onClick() {
|
||||
// ClickablePropertyColumn.this.onClick(getModel());
|
||||
// ClickableTitleColumn.this.onClick(getModel());
|
||||
// }
|
||||
// };
|
||||
// add(link);
|
||||
@ -55,7 +54,7 @@ public abstract class ClickablePropertyColumn<T> extends AbstractColumn<T> {
|
||||
AjaxLink<T> link = new AjaxLink<T>("link", rowModel) {
|
||||
@Override
|
||||
public void onClick(AjaxRequestTarget target) {
|
||||
ClickablePropertyColumn.this.onClick(getModel(), target);
|
||||
ClickableTitleColumn.this.onClick(getModel(), target);
|
||||
}
|
||||
};
|
||||
add(link);
|
@ -13,4 +13,5 @@ public interface ChecklistTemplateService extends CrudService<CheckListTemplate,
|
||||
Page<CheckListTemplate> findAll(Pageable pageable);
|
||||
Page<CheckListTemplate> find(String filterString, Pageable pageable);
|
||||
Long count(String filterString);
|
||||
void upChecklistTemplate(CheckListTemplate checkListTemplate);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user