added delete column
This commit is contained in:
parent
977ebc9f0b
commit
e0f1bc6488
src/main/java/se/su/dsv/scipro
datatables/checklist
springdata
repos
serviceimpls
services
@ -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));
|
||||
|
3
src/main/java/se/su/dsv/scipro/datatables/checklist/ClickableDeleteColumn$LinkPanel.html
Normal file
3
src/main/java/se/su/dsv/scipro/datatables/checklist/ClickableDeleteColumn$LinkPanel.html
Normal file
@ -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();
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user