Repository navigation
fix(pages): describe and write a layout-grid row's Visible: (mendixlabs/mxcli#1461) - #1360
Merged
Merged
Conversation
…bs#1461) A row is built outside buildWidgetV3, pages.LayoutGridRow had no slot, describe never read Forms$LayoutGridRow.ConditionalVisibilitySettings and the writer left the null default: describe -> exec DESTROYED a Studio Pro row's condition (row always visible). Now read, printed, built (shared childVisibility with tab pages) and written. Columns have no such property (0/732 stored): check warns MDL-WIDGET07. Tests fail with each fix stubbed out; describe -> exec Unchanged on pedapp/TestApp. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VKmbj53BC2vuUWYmgWgfQ5
…endixlabs#1461) The conformance gate parses every MDL block in a skill; the bare `row (…) { … }` fragment was one finding over the file's allowlist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VKmbj53BC2vuUWYmgWgfQ5
Resolve the tab-page visibility conflict with #1460 (role-based visibility): childVisibility now also attaches Visible: roles (…), so tab pages keep main's behaviour and layout-grid rows carry roles too (DESCRIBE prints them since #1460, so a row would otherwise lose them on re-exec). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VKmbj53BC2vuUWYmgWgfQ5
The legacy-grid note (mendixlabs#1459) grew the file without regenerating its "Find it fast" ranges, so `make check-skill-index` fails on main and on every branch that merges it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VKmbj53BC2vuUWYmgWgfQ5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes mendixlabs#1461 (rows; columns have no visibility in Mendix — see below).
Problem
buildWidgetV3,pages.LayoutGridRowhad no field, describe never read the setting, and the writer always wrote null. Sorow (Visible: …)passed check and exec and was not written.LayoutGridColumnhas no such property. So column visibility is not a thing to write.Fix
LayoutGridRow.ConditionalVisibility(sdk/pages).pb.childVisibility(expression andAttr in (…)forms), now shared bybuildTabPageV3(Tab pageCaptionParamsandVisible:pass check and exec, then are silently not written mendixlabs/mxcli#1465) and the row builder. A top-levelrowkeeps the condition on its wrapping container only.layoutGridRowToGenwrites the setting instead of null.parseLayoutGridRowsreusesextractConditionalSettings.validate_layoutgrid_column_visible.gowarns MDL-WIDGET07 forVisible:on a column inside a row and points at the row or acontainer. The file is added toTestWidgetRuleIDsAreNotReused's list of MDL-WIDGET07 raisers.create-page/reference/widgets.md(example written as a fullcreate pageso the conformance gate parses it).Tests
TestLayoutGridRow_VisibleIsWritten,TestLayoutGridRow_TopLevelRowVisibleOnContainerOnly,TestDescribe_LayoutGridRowVisible,TestCheck_LayoutGridColumnVisibleDroppedTestLayoutGridRow_WritesConditionalVisibilityProof by revert: each fails with its fix stubbed.
Real tools: the TestApp snippet now describes with its
Visible:and re-executes as "Unchanged"; with the fix the pedapp describe → exec reports "Unchanged" instead of wiping rows.mx checkon a pedapp copy with all three row forms: same error count as the same page without visibility (no new errors).Validation
go testmdl/backend/modelsdk, mdl/executor, sdk/pages, mdl/conformance; roundtripTestTestAppRoundTrip+TestPedAppRoundTrippass, no allowlist change;go vet,gofmt,make check-findingscleanNoticed, not changed
MDL-WIDGET43 ("datagrid column … $currentObject", an error) also fires on a layout-grid
columnwithVisible: $currentObject/…— a misleading label, out of scope here.🤖 Generated with Claude Code
https://claude.ai/code/session_01VKmbj53BC2vuUWYmgWgfQ5
Generated by Claude Code