Footer
A role’s form_schema can shape the standard escalation footer at its root: rename the action controls and fold claim and submit into one gesture. Both tokens are opt-in, siblings of x-lt-transition and x-lt-submit-guard.
| Token | Type | Meaning |
|---|---|---|
x-lt-submit-on-claim |
boolean |
Claiming also resolves, submitting whatever the form holds. Defaults off |
x-lt-labels |
object |
Per-control overrides for the footer’s action labels |
x-lt-labels
Section titled “x-lt-labels”An object whose keys are footer controls and whose values are the labels to render in their place:
| Key | Default | Control |
|---|---|---|
claim |
Claim | The claim button (unclaimed) |
cancel |
Cancel / Cancel escalation | The cancel control, in both states. A string renames it; false removes it from both footer states |
submit |
Submit / Acknowledge | The resolve button (claimed) |
release |
Release | The release tab |
{ "type": "object", "x-lt-labels": { "claim": "Claim and Submit", "submit": "Approve" }, "properties": { /* … */ }}Unknown keys and non-string values are ignored, except cancel: false. A control the schema omits keeps its default, so a schema overrides only the controls it cares about. The pending, triage and confirmation states (“Claiming…”, “Send to Triage”, “Yes, Release”) keep their own copy.
A role whose process routes work onward hides the cancel control and renames the actions that remain. An escalate-only surface declares { "cancel": false, "submit": "Send to Service" }, so the footer offers exactly the verbs the process means.
The confirmation speaks whatever the control says. The modal titles with the label, asks “Are you sure you want to Send to Service? This removes the item from the work queue,” and confirms with “Yes, Send to Service”. The default label follows the same shape with “Cancel”.
The label carries beyond the footer. When a list page is scoped to one role (?role=), the admin selection bar’s Cancel button and its bulk confirmation use the same x-lt-labels.cancel, and cancel: false removes the bulk verb there too. One authored word governs every surface that cancels the role’s items.
x-lt-submit-on-claim
Section titled “x-lt-submit-on-claim”When true, clicking Claim also resolves the escalation in the same gesture, submitting the form’s current values: its seeded defaults (metadata, formDefaults, or schema default) or a restored draft. The person advances the item with one click.
{ "type": "object", "x-lt-submit-on-claim": true, "x-lt-labels": { "claim": "Claim and Submit" }, "properties": { "approved": { "type": "boolean", "default": true } }}Claim and resolve are distinct operations (the server accepts a resolve only from the claimant), so they run in sequence: claim, then resolve. If the seeded defaults fail validation, the claim stands and the page drops into the normal claimed state with the field errors in the side panel, and the person completes the form by hand. Pair it with x-lt-labels.claim so the button says what it does.
Use it when the standard outcome needs only a confirmation: the defaults are the answer, and claiming is the decision.
