Skip to main content
These components handle data display, search results, object creation, saving, and script execution in Caseflow templates.

ObjectSearch

Query and render objects in table, cards, or list format with row actions, editing, and create support.

Key capabilities

  • Declarative query config with class, display columns, constraints, and sorting
  • Row context menu — edit, delete, documents, history
  • Editable mode with modal editing
  • Inline cell editing on the result table — see Inline cell editing
  • Create mode with defaults
  • Optional per-row document lookup via documentSearchConfig
  • “Open related” navigation that resolves a dotted attribute path to a related object — configured per saved search in the Search configurator
  • queryKey for targeted refresh
  • itemTemplateName for card/list rendering

Props

ObjectSearchConfig shape

Examples

Editable list with create and targeted refresh:
Row-specific document lookup using ${row.*} variables:

DocumentSearch

Query and render documents from a document search configuration with optional upload support.

Props

Common enum values for configs

Examples

Baseline document search:
Upload flow with defaults:

CreateObjectButton

Open a create modal for a class and optionally run post-create actions.

Props

Example

Create with refresh and local update:

SaveButton

Save dirty objects within a controlled scope with before/after hooks for validation and automation.

Props

Save hook runtime variables

  • ${changedFields} — array with utilities like .includes("Field"), .length, .join(", ")
  • ${oldValues.AttributeName}
  • ${newValues.AttributeName}

Examples

Save-time validation gate:
Normalize values before save and refresh after save:

ScriptButton

Run a script directly from the UI with input mapping and result-driven follow-up actions.

Props

Example

Script output projected to field:

Internal support components

These components are used internally by the Caseflow runtime. They are not available as template tags but are important for understanding the system.
Modal shell for template-driven create/edit operations. Used by ObjectSearch and CreateObjectButton.
  • Create mode initializes a new in-memory object state and can apply defaults
  • Edit mode binds to an existing object key
  • Resolves and renders the chosen template (Create or Update)
  • Handles save mutation and callback orchestration (onCreated, onSaved)
  • Can open created object in a new tab
  • Invalidates related query keys after save so dependent UI refreshes
  • If closed before first save, unsaved temporary state is cleaned up
  • If no template exists, a clear fallback message is shown
Modal wrapper around DocumentSearch with resolved config. Used by ObjectSearch row actions for “view related documents”.
  • Receives already-resolved configuration from parent (including row-variable substitutions)
  • Shows loading state while configuration is being prepared
  • Renders DocumentSearch in table mode with header enabled
File preview renderer with revision/rendition selection and live refresh. Used by RelatedDocument preview modes.
  • Fetches revisions and renditions for a document
  • Picks latest revision and default rendition for preview
  • Subscribes to document revision events and refreshes automatically
  • Returns structured loading, empty, and error states
Renders one search result item using a named Caseflow template for cards/list displays. Used by ObjectSearch when display="cards" or display="list".
  • Creates an isolated object provider per item (no row-to-row state bleed)
  • Fetches the named template for the row’s class in update context
  • Builds item scope with regular attributes, stock attributes, user context, and alias scopes
Shows object audit details in a dialog with two data views. Used by ObjectSearch row action “View history”.
  • Attribute Changes tab — flattened transaction/attribute change rows
  • Event Log tab — event timeline with translated event types
  • Loads history only when dialog is open
  • Formats UTC timestamps for readable presentation

Complete component inventory