8
8
9
9
** [ EXPERIMENTAL] ** A ` Renderer ` for Vaadin Flow that uses a component instance as template, intended for use as an alternative to ` LitRenderer ` .
10
10
11
- ```
11
+ ``` java
12
12
grid. addColumn(LiteRenderer . < Person > of(
13
13
new Button (" Update" , ev- > handleUpdate(LiteRenderer . getItem(ev, Item . class))),
14
14
new Button (" Update" , ev- > handleRemove(LiteRenderer . getItem(ev, Item . class)));
15
15
```
16
16
17
17
Instead of:
18
18
19
- ```
19
+ ```java
20
20
grid. addColumn(LitRenderer . < Person > of(
21
21
" <button @click=\" ${handleUpdate}\" >Update</button>" +
22
22
" <button @click=\" ${handleRemove}\" >Remove</button>" )
@@ -95,7 +95,7 @@ Lite Renderer Add-On is written by Flowing Code S.A.
95
95
96
96
97
97
- Use component instances as template:
98
- ```
98
+ ```java
99
99
Div template = new Div (
100
100
new Image (" ${item.pictureUrl}" , " Portrait of ${item.firstName} ${item.lastName}" ),
101
101
new Div (" ${item.firstName} ${item.lastName}" ),
@@ -109,7 +109,7 @@ Lite Renderer Add-On is written by Flowing Code S.A.
109
109
```
110
110
111
111
- `withAttribute` and `withListener` are fluent methods that allow setting attributes and listeners:
112
- ```
112
+ ```java
113
113
Div div = new Div (" ${item.firstName} ${item.lastName}" );
114
114
grid. addColumn(LiteRenderer . < Person > of(div)
115
115
.withProperty(" firstName" , Person :: firstName)
@@ -124,7 +124,7 @@ Lite Renderer Add-On is written by Flowing Code S.A.
124
124
```
125
125
126
126
- Wrapping a component with `LiteComponent ` allows fluent setters for attributes, properties, and listeners, removing the need for variables.
127
- ```
127
+ ```java
128
128
Div div = new Div (" ${item.firstName} ${item.lastName}" );
129
129
grid. addColumn(LiteRenderer . < Person > of(div)
130
130
.withProperty(" firstName" , Person :: firstName)
@@ -139,7 +139,7 @@ Lite Renderer Add-On is written by Flowing Code S.A.
139
139
```
140
140
141
141
- Listeners can also receive more data in addition to the item:
142
- ```
142
+ ```java
143
143
TextField tf = new TextField ();
144
144
grid. addColumn(LiteRenderer . < Person > of(tf). withListener(tf, " change" , (item, args) - > {
145
145
Notification . show(item. firstName()
@@ -149,19 +149,19 @@ Lite Renderer Add-On is written by Flowing Code S.A.
149
149
```
150
150
151
151
- The click event of a template `Button ` is called when the button is clicked. Within the event listener, `LiteRenderer . getItem(ev, Person . class)` returns the current item:
152
- ```
152
+ ```java
153
153
grid. addColumn(LiteRenderer . < Person > of(new Button (" Click" , ev- > {
154
154
var item = LiteRenderer . getItem(ev, Person . class);
155
155
Notification . show(item. firstName() + " " + item. lastName() + " Clicked!" );
156
156
})));
157
157
```
158
158
159
159
- [Flow Viritin ](https: // vaadin.com/directory/component/flow-viritin) components enable more fluent method chaining:
160
- ```
160
+ ```java
161
161
grid. addColumn(LiteRenderer . < Person > of(
162
162
VSpan . of(" ${item.firstName} ${item.lastName}" )
163
163
.withStyle(" color" , " ${item.color}" ))
164
164
.withProperty(" color" , person- > person. age()< 18 ? " red" : " blue" )
165
165
.withProperty(" firstName" , Person :: firstName)
166
166
.withProperty(" lastName" , Person :: lastName));
167
- ```
167
+ ```
0 commit comments