Skip to content

Commit 64af0fe

Browse files
authored
Merge branch 'main' into issues/5358-improve_test_with_selenium_page
2 parents 0477b15 + a631445 commit 64af0fe

File tree

8 files changed

+197
-204
lines changed

8 files changed

+197
-204
lines changed

articles/_vaadin-version.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
:vaadin-version: 25.1.0
1+
:vaadin-version: 25.1.1
22
:vaadin-start-platform-version: v25.1
33
:vaadin-start-java-version: 21
4-
:vaadin-flow-version: 25.1.0
4+
:vaadin-flow-version: 25.1.1
55
:vaadin-seven-version: 7.7.49
66
:vaadin-eight-version: 8.28.4
77
:spring-boot-version: 4.0.4

articles/components/grid/renderers.adoc

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,33 @@ grid.addColumn(
217217
() -> VaadinIcon.ARROW_LEFT.create()));
218218
----
219219

220+
Component renderers allow providing an optional update function that can be used to optimize rendering.
221+
Without an update function, component renderers recreate components for each item whenever the grid needs to be refreshed.
222+
This has several downsides:
223+
224+
* It results in a large number of DOM changes in the browser as old elements are removed and new ones are added
225+
* It results in a larger payload that needs to be sent to the browser
226+
* Components lose their client-side state, for example, input fields lose their focus or entered text that has not been committed
227+
228+
By providing an update function, the grid can reuse existing components and only update their state. This results in fewer DOM changes, smaller payloads, and better user experience.
229+
230+
The following example shows how to provide an update function to a component renderer:
231+
232+
[source,java]
233+
----
234+
grid.addColumn(new ComponentRenderer<>(item -> {
235+
// Create the initial component using item name as text
236+
return new Badge(item.getName());
237+
}, (component, item) -> {
238+
// Update the component text when the item changes.
239+
// Cast is necessary as component renderer is typed
240+
// so that it allows the update function to return
241+
// a different component type if desired.
242+
((Badge) component).setText(item.getName());
243+
return component;
244+
}));
245+
----
246+
220247
You can create complex content for the grid cells by using the component APIs. This example is using [classname]`ComponentRenderer` to create complex content that listens for events and wraps multiple components in layouts:
221248

222249
[source,java]

articles/styling/index.adoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@ The Vaadin 24 way of loading styles through the [annotationname]`@Theme` annotat
4646

4747
== Themes
4848

49-
By default, Vaadin components are rendered with their minimalistic built-in <<themes/base#, base styles>>, which are a good starting point if you want to customize the look and feel extensively. Vaadin also ships with two themes, <<themes/aura#, Aura>> and <<themes/lumo#, Lumo>>, that provide a more polished look and feel for Vaadin components.
49+
Vaadin components come bundled only with minimalistic, built-in base styles, on top of which the application can load one of the two Vaadin themes, <<themes/aura#, Aura>> or <<themes/lumo#, Lumo>>, which provide a more polished look and feel.
50+
51+
If no [interfacename]`AppShellConfigurator` is defined for the application, the Aura theme will be loaded automatically. Otherwise either theme needs to be loaded explicitly using the [annotationname]`@StyleSheet` annotation.
52+
53+
While both themes are highly customizable, you can also choose to implement your own custom styling directly on top of the <<themes/base#, base styles>> in order to avoid having to override the styling provided by the theme.
5054

5155
[cols="^.^1, ^.^1, ^.^1"]
5256
|===

articles/tools/modernization-toolkit/swing-bridge.adoc

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ Add the following parent section, properties, and dependencies to your `pom.xml`
129129
<parent>
130130
<groupId>org.springframework.boot</groupId>
131131
<artifactId>spring-boot-starter-parent</artifactId>
132-
<version>4.0.3</version>
132+
<version>4.0.4</version>
133133
<relativePath/>
134134
</parent>
135135
@@ -142,13 +142,6 @@ Add the following parent section, properties, and dependencies to your `pom.xml`
142142
<type>pom</type>
143143
<scope>import</scope>
144144
</dependency>
145-
<dependency>
146-
<groupId>tools.jackson</groupId>
147-
<artifactId>jackson-bom</artifactId>
148-
<version>3.1.0</version>
149-
<type>pom</type>
150-
<scope>import</scope>
151-
</dependency>
152145
</dependencies>
153146
</dependencyManagement>
154147

dspublisher/dspublisher-scripts.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ const SCRIPTS = {
187187
lastPhase: true,
188188
},
189189
],
190-
ignoredLogSignals: ['New version of Astro available'],
190+
ignoredLogSignals: ['New version of Astro available', 'Observability agent is not running'],
191191
},
192192
].filter((p) => !!p),
193193
},

0 commit comments

Comments
 (0)