mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-14 13:16:16 -08:00
fix(settings): re-render OnPush sections when the form changes outside them
Review follow-ups (Greptile, Codex): - The settings sections read form values in their templates (selected theme and cover size, epgField.value, form().value.player), and the parent changes the form outside their events: Discard and backup import patch it, the store hydrates it, the EPG file picker sets a control after an await. Under OnPush the section kept the old selection or EPG status. Each section now marks itself on its form's events (markSectionForCheckOnFormEvents). - The value-only patch test no longer forces detectChanges(); with the fixture rendering on its own it fails without the marking, and so does a new test for a control set outside the EPG section. - The zoneless guard counts only changeDetection metadata outside comments, so a comment naming the strategy is not an Eager component. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6d63285373
commit
a44d473cef
11 files changed
+144
-7
No files matched your search
@@ -63,7 +63,12 @@ must be ticked here.
|
||||
two). Tick an entry by deleting `changeDetection: ChangeDetectionStrategy.Eager`
|
||||
(or setting OnPush) once its template state is signals, signal inputs or
|
||||
explicitly marked. The guard spec compares the unticked entries with the
|
||||
files that still contain `ChangeDetectionStrategy.Eager`.
|
||||
files whose component metadata still sets
|
||||
`changeDetection: ChangeDetectionStrategy.Eager` (comments do not count).
|
||||
The settings sections read form values in their templates and the parent
|
||||
patches the form outside their events (Discard, backup import, the EPG file
|
||||
picker), so each marks itself on the form's `events` through
|
||||
`markSectionForCheckOnFormEvents` (`apps/web/src/app/settings`).
|
||||
|
||||
### apps/web (15)
|
||||
|
||||
|
||||
Reference in new issue
Block a user