Loading States

Three layers of feedback during a slow action. All three forms call the same slowSave action (sleeps 2s server-side) so you can see the different presentations side by side.

Tier 1 — Automatic

The framework adds aria-busy="true" to the form and disabled to its <fieldset> while the action is in flight. No directives needed.

Tier 2 — lvt-form:disable-with

Custom button text during pending. Restored when the action completes.

Tier 2 — lvt-el:setAttr reactive attribute

Toggle aria-busy via :on:pending / :on:done. Multi-action pages can scope this to a specific action (e.g. :on:slowSave:pending); leaving the action name out matches every action's lifecycle, which is fine here.