You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(lint): validateFormLayout resolves a list-bound view's object for its default form
Carries the list-binding fallback rung already used one validator over
(validate-translatable-sections.ts:178-185) into validate-form-layout.ts:
a container whose object lives only on `list.data.object` (HotCRM's own
shape, all 14 of its views) had no object of its own, so `containerObject`
resolved to undefined for every site under it — including its own default
`form` — and form-field-unknown / form-section-group-unknown never fired
there.
absolute-colspan-discouraged is unaffected: measured, that check sits
outside the known-gated block and was never gated on the object binding.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vbw3RPgdtqesx4azk9SbW8
`validateFormLayout` now resolves the bound object for a view container's default `form` (and its `formViews.*` entries that declare no binding of their own) when that container names its object only on the `list` block (`list.data.object`, `list.object` or `list.objectName`) and nowhere on the container itself.
6
+
7
+
Before this fix, `containerObject` had no way to see a list-only binding, so `objName` stayed `undefined` for every site under such a container — and `form-field-unknown` / `form-section-group-unknown` never fired there, however wrong the section content was. This is the same fallback rung `validate-translatable-sections.ts` already carries for its own sites; it is now shared by both. `absolute-colspan-discouraged` is unaffected by this change — it was never gated on the object binding (it needs only a field's `colSpan`), so it already fired on a list-bound container's form sections before this fix.
8
+
9
+
Consequence: a view whose object binding lives only on `list` and whose default `form` (or an unbound `formViews.*` entry) references a nonexistent field or an undeclared `section.group` now gets a `warning` finding it did not get before. A stack with no such dangling reference sees no new output.
0 commit comments