angular/packages/core
Leon Senft d337cfb68f feat(forms): add debounce() rule for signal forms
The `debounce()` rule allows developers to control when changes to a
form control are synchronized to the form model.

This feature necessitated some changes to `FieldState`:

  * `controlValue` is a new signal property that represents the current
    value of a form field as it appears in its corresponding control.

  * `value` conceptually remains unchanged; however, its value may lag
    behind that of `controlValue` if a `debounce()` rule is applied.

The `debounce()` rule essentially manages when changes to `controlValue` are
synchronized to `value`. The intent is that an expensive or slow
validation rule can react to the debounced `value`, rather than a more
frequently changing `controlValue`.

Directly updating `value` immediately updates `controlValue`, and cancels any
pending debounced updates.

When multiple `debounce()` rules are applied to the same field, the last
currently active rule is used to debounce an update. These rules are
applied to child fields as well, unless they override them with their
own rule.
2025-11-11 12:00:09 -08:00
..
global build: rename defaults2.bzl to defaults.bzl (#63383) 2025-08-25 15:45:01 -07:00
primitives fix(core): skip Angular formatting when formatting signals recursively 2025-11-11 10:14:30 -08:00
resources build: format md files 2025-11-06 10:03:05 -08:00
rxjs-interop build: format md files 2025-11-06 10:03:05 -08:00
schematics build: format md files 2025-11-06 10:03:05 -08:00
src feat(forms): add debounce() rule for signal forms 2025-11-11 12:00:09 -08:00
test refactor(compiler): remove unused code 2025-11-11 10:04:29 -08:00
testing build: format md files 2025-11-06 10:03:05 -08:00
BUILD.bazel refactor(core): move profile_types.ts to primtives 2025-11-06 14:22:33 -08:00
index.ts refactor: update packages/core:{core,src} to ts_project (#61275) 2025-05-14 12:01:51 +00:00
package.json build: refactor location of best-practices.md 2025-10-27 09:31:36 +01:00
PACKAGE.md build: format md files 2025-11-06 10:03:05 -08:00
public_api.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
tsconfig-build.json build: migrate more targets of @angular/core to ts_project (#61370) 2025-05-16 11:02:07 +00:00
tsconfig-test.json build: migrate more targets of @angular/core to ts_project (#61370) 2025-05-16 11:02:07 +00:00