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
queryKeyfor targeted refreshitemTemplateNamefor card/list rendering
Props
ObjectSearchConfig shape
Examples
Editable list with create and targeted refresh:${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: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: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.ObjectModal
ObjectModal
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
DocumentsModal
DocumentsModal
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
DocumentSearchin table mode with header enabled
DocumentPreview
DocumentPreview
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
ItemTemplateRenderer
ItemTemplateRenderer
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
ObjectHistoryDialog
ObjectHistoryDialog
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
