wellkilo opened a new pull request, #614:
URL: https://github.com/apache/fineract-backoffice-ui/pull/614

   ## What and why
   
   Continues the per-form work requested by #571 with the next largest form. 
`wc-loan-product-form` had 22 `[(ngModel)]` bindings whose target was 
`product().field`; `NgModel` therefore mutated the object held by the signal 
without changing its reference, so dependent readers were not notified.
   
   All 22 bindings now use `[ngModel]` plus a typed `patchProduct(...)` handler 
that replaces the signal payload. The form has no other direct writes to 
`product()`, so this removes the full template-driven signal-mutation source 
from this component.
   
   This does **not** close #571: the remaining forms can continue to be 
reviewed and landed independently.
   
   ## Verification
   
   - `npm run lint` — passed
   - `npm run format:check` — passed
   - `npm run build` — passed; the pre-existing `header.component.ts` 
stylesheet budget warning remains
   - `npm test -- --watch=false` — 248 test files, 1528 tests passed
   - New regression test triggers the real `ngModelChange` binding and asserts 
both the signal reference and `shortName` value change
   - No two-way `ngModel` binding into `product()` remains in this component
   - Commit `35ecb8a` is signed and GitHub reports it as **Verified**
   
   This is a state-management change with no API contract or backend behaviour 
change, so backend E2E was not required.
   
   ## Screenshots
   
   Not applicable: there is no intended visual change.
   
   ## AI assistance (optional)
   
   - Tool / model: OpenAI Codex
   - Harness / workflow: ECC `source-command-feature-dev`, repository guidance 
in `AGENTS.md`, local lint/build/unit verification
   
   ## Checklist
   
   - [x] I did not hand-edit generated files under `src/app/api/`.
   - [x] New component or service code uses the adapter boundary in 
`src/app/core/adapters/` instead of direct browser globals or imperative 
third-party APIs. No new component or service was added.
   - [x] User-facing strings use translation keys. No user-facing strings were 
added.
   - [x] I added or updated tests appropriate to this change.
   - [x] UI workflow changes include suitable e2e coverage. No browser flow 
changed; the regression is covered by a focused component test and production 
template compilation.
   - [x] Commits are signed — `35ecb8a` is Verified on GitHub.
   - [x] I followed the AI-assisted contributions guidance.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to