Skip to content

feat: SignalInput — read a server-side Signal at trigger fire time#24428

Open
Artur- wants to merge 1 commit into
mainfrom
trigger-signal-input
Open

feat: SignalInput — read a server-side Signal at trigger fire time#24428
Artur- wants to merge 1 commit into
mainfrom
trigger-signal-input

Conversation

@Artur-
Copy link
Copy Markdown
Member

@Artur- Artur- commented May 22, 2026

Adds SignalInput(Component owner, Signal signal) under com.vaadin.flow.component.trigger.internal. A component-scoped Signal.effect mirrors the signal value to a uniquely-named JS property on the owner element via executeJs; the input's rendered expression reads that property at fire time, so actions such as CopyTextToClipboardAction can use a server-side signal as their value source without first projecting it onto a DOM property.

Includes unit tests covering the rendered expression, push-on-change, and per-input property naming, plus an IT that copies a ValueSignal, mutates it from a separate button, and verifies the next copy sees the updated value.

Adds SignalInput<T>(Component owner, Signal<T> signal) under
com.vaadin.flow.component.trigger.internal. A component-scoped
Signal.effect mirrors the signal value to a uniquely-named JS
property on the owner element via executeJs; the input's rendered
expression reads that property at fire time, so actions such as
CopyTextToClipboardAction can use a server-side signal as their
value source without first projecting it onto a DOM property.

Includes unit tests covering the rendered expression, push-on-change,
and per-input property naming, plus an IT that copies a ValueSignal,
mutates it from a separate button, and verifies the next copy sees
the updated value.
@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

Test Results

 1 421 files  +1   1 421 suites  +1   1h 22m 35s ⏱️ - 1m 9s
10 003 tests +4   9 935 ✅ +4  68 💤 ±0  0 ❌ ±0 
10 475 runs  +4  10 406 ✅ +4  69 💤 ±0  0 ❌ ±0 

Results for commit e52acc6. ± Comparison against base commit 7c1186a.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant