added delete column

This commit is contained in:
fred-fri 2012-05-11 15:12:11 +09:00
parent 977ebc9f0b
commit e0f1bc6488
6 changed files with 75 additions and 1 deletions

@ -83,7 +83,7 @@ public abstract class CheckListTemplateDataPanel extends Panel {
};
add(numberDropDown);
IColumn[] columns = new IColumn[4];
IColumn[] columns = new IColumn[5];
columns[0] = new ClickableTitleColumn<CheckListTemplate>(Model.of("Name"), "name", "name") {
@Override
@ -108,6 +108,14 @@ public abstract class CheckListTemplateDataPanel extends Panel {
}
};
columns[4] = new ClickableDeleteColumn<CheckListTemplate>(Model.of("Delete"), "name") {
@Override
protected void onClick(IModel<CheckListTemplate> clicked, AjaxRequestTarget target) {
//do something
target.addComponent(table);
}
};
table = new DataTable<CheckListTemplate>("datatable", columns, checklistTemplateProvider = new ChecklistTemplateProvider(), 10);
table.setOutputMarkupId(true);
table.addBottomToolbar(navigationToolbar = new NavigationToolbar(table));

@ -0,0 +1,3 @@
<wicket:panel>
<a wicket:id="link"><img wicket:id="deleteicon"/></a>
</wicket:panel>

@ -0,0 +1,57 @@
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;
import se.su.dsv.scipro.icons.ImageObject;
/**
* Author: fred-fri
* Date: 5/4/12
*/
public abstract class ClickableDeleteColumn<T> extends AbstractColumn<T> {
private final String property;
public ClickableDeleteColumn(IModel<String> displayModel,
String property) {
this(displayModel, property, null);
}
public ClickableDeleteColumn(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);
private class LinkPanel extends Panel {
public LinkPanel(String id, IModel<T> rowModel, IModel<?>
labelModel) {
super(id);
AjaxLink<T> link = new AjaxLink<T>("link", rowModel) {
@Override
public void onClick(AjaxRequestTarget target) {
ClickableDeleteColumn.this.onClick(getModel(), target);
}
};
add(link);
link.add(new ImageObject("deleteicon", ImageObject.SIXTEEN + ImageObject.DELETE));
}
}
}

@ -5,6 +5,8 @@ import org.springframework.data.querydsl.QueryDslPredicateExecutor;
import org.springframework.transaction.annotation.Transactional;
import se.su.dsv.scipro.data.dataobjects.CheckListTemplate;
import java.util.List;
/**
* @author: fred-fri
* date: 2012 03 26
@ -13,5 +15,6 @@ import se.su.dsv.scipro.data.dataobjects.CheckListTemplate;
public interface ChecklistTemplateRepo extends JpaRepository<CheckListTemplate, Long>, QueryDslPredicateExecutor<CheckListTemplate> {
CheckListTemplate findByTemplateNumber(int templateNumber);
List<CheckListTemplate> findAllByTemplateNumberGreaterThan(int templateNumber);
}

@ -17,6 +17,7 @@ import se.su.dsv.scipro.springdata.services.ChecklistTemplateService;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @author: fred-fri
@ -107,6 +108,7 @@ public class ChecklistTemplateServiceImpl extends AbstractQueryService<CheckList
return clt;
}
private BooleanExpression filterStringIsCreatorName(String filterString){
return QCheckListTemplate.checkListTemplate.creator.firstName.contains(filterString).or(QCheckListTemplate.checkListTemplate.creator.lastName.contains(filterString));
}

@ -16,4 +16,5 @@ public interface ChecklistTemplateService extends CrudService<CheckListTemplate,
void upChecklistTemplate(CheckListTemplate checkListTemplate);
void downChecklistTemplate(CheckListTemplate checkListTemplate);
CheckListTemplate prepareNewTemplate();
}