Skip to content

Commit

Permalink
Use LitRenderer
Browse files Browse the repository at this point in the history
  • Loading branch information
BrunoEberhard committed Mar 14, 2023
1 parent 660fb87 commit ab6ff8e
Showing 1 changed file with 8 additions and 18 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.minimalj.frontend.impl.vaadin.toolkit;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Stream;

Expand All @@ -22,7 +23,7 @@
import com.vaadin.flow.data.provider.Query;
import com.vaadin.flow.data.provider.QuerySortOrder;
import com.vaadin.flow.data.provider.SortDirection;
import com.vaadin.flow.data.renderer.BasicRenderer;
import com.vaadin.flow.data.renderer.LitRenderer;
import com.vaadin.flow.data.selection.SelectionEvent;
import com.vaadin.flow.data.selection.SelectionListener;

Expand All @@ -42,7 +43,12 @@ public VaadinTable(Object[] keys, boolean multiSelect, TableActionListener<T> li
if (clazz == null) {
clazz = p.getDeclaringClass();
}
addColumn(new MinimalRenderer(p)).setHeader(Resources.getPropertyName(p)).setComparator((a, b) -> compareMaybeComparables(p.getValue(a), p.getValue(b))).setSortProperty(p.getPath());
var header = Resources.getPropertyName(p);
Comparator<T> comparator = (a, b) -> compareMaybeComparables(p.getValue(a), p.getValue(b));

var renderer = LitRenderer.<T>of("${item." + p.getPath() + "}").withProperty(p.getPath(), object -> org.minimalj.model.Rendering.toString(p.getValue(object), p));

addColumn(renderer).setHeader(header).setComparator(comparator).setSortProperty(p.getPath());

/*
* add column filters:
Expand Down Expand Up @@ -72,22 +78,6 @@ public VaadinTable(Object[] keys, boolean multiSelect, TableActionListener<T> li
}
}

private class MinimalRenderer extends BasicRenderer<T, Object> {
private static final long serialVersionUID = 1L;

private final Property property;

protected MinimalRenderer(Property property) {
super(T -> property.getValue(T));
this.property = property;
}

@Override
protected String getFormattedValue(Object object) {
return org.minimalj.model.Rendering.toString(object, property);
}
}

private class LazyBackEndDataProvider extends AbstractBackEndDataProvider<T, Object> {
private static final long serialVersionUID = 1L;

Expand Down

0 comments on commit ab6ff8e

Please sign in to comment.