Skip to main content

apply_interactive_commit

Function apply_interactive_commit 

Source
pub fn apply_interactive_commit(
    form: &mut FormTree,
    root_id: FormNodeId,
    changed: FormNodeId,
    triggers: &[InteractiveTrigger],
    runtime: &mut dyn XfaJsRuntime,
) -> Result<InteractiveOutcome>
Expand description

Run an interactive commit: dispatch the edited field’s change/click scripts, then a bounded global calculate pass so calculated dependents and their presence toggles update. Presence/value writes land directly in form via the host; the caller re-layouts to realise them.

changed is the field node the user edited; its value must already be set in form (the session writes it before calling this) so the change script reads the new value through this.rawValue.