Repository navigation
[Data Onboarding] Let a host lock the resolver step's Element Loading fields - #718
markus-moser wants to merge 4 commits into
Conversation
A bundle that hosts the resolver step and derives how elements are loaded from its own data can now pass isElementLoadingLocked: the loading strategy and every field of its settings are shown disabled, the rest of the step stays editable. The importer's own editor does not set it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Changed-line coverage at
Istanbul counts only lines that carry a statement, so the added The diff changes no PHP file ( |
Passing an explicit false overrode the form's disabled state, so a user without write permission could edit the loading fields. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Red run for the read-only form case: The fields got |
|
|
Coverage of the changed lines at The changed lines in |



A host that reuses the resolver step and works out Element Loading from its own data (the loading strategy and its key column) needs to show those fields read-only. Today it can only refuse the change when the admin saves.
ResolverStepgets an optionalisElementLoadingLockedprop.LoadingPanelpasses it on to the loading-strategy select and, throughDynamicTypeResolverRenderProps.disabled, to each strategy's settings (id, path, attribute). Without the prop nothing changes, so the importer's own editor works as before, read-only form included: the step passestrueor nothing, neverfalse, which would override the form'sdisabled.Engine changes
DataImporter/Components/ResolverStepand must not let admins edit fields it derives itself. Custom loading strategies from other bundles getdisabledin their render props and can ignore it.Tests
resolver-step.test.tsx: the fields are disabled with the prop and editable without it, for each strategy; the locked fields keep their stored values, and the class stays editable under the lock. Without the prop, a read-only form keeps the loading fields read-only.MessageChannelthat runs on the environment's own timers. antd's Form notifies its watchers through one, and Node's own channel keeps Jest from exiting.🤖 Generated with Claude Code