Skip to content

ViewHistoryList

Overview

Paginated list view showing the history of one model instance as the actions that produced it. Each action groups the events it wrote, and each event lists its field changes with old and new values, in a table or card layout.

Theme entry: ViewHistoryList

Props

NameTypeRequiredDefaultDescription
iconOverrideObjectnullA partial icon registry ({ [componentName]: { [iconName]: { component, props } } }) merged with inherited and default icon entries; scopes icon overrides to this component and its descendants.
themeOverrideString|Object|ArraynullA partial theme object merged with the component's default theme; accepts a class string, class array, or theme object.
appstringyesDjango app label that owns the model.
modelstringyesDjango model name used to resolve API endpoints and configuration.
pkstringyesPrimary key of the instance whose history is displayed.
tableBreakpointstring"lg"Tailwind breakpoint at which the layout switches from card to table view.
hideMetaStripbooleanfalseWhen true, hides the meta strip + layout toggle row above the grid.
fieldsarray["recorded_at", "actor", "kind", "label", "model", "type", "field", "old", "new"]Ordered list of column names to display. The history response defines the set: recorded_at, actor, kind, label, model, relation, type, field, old, and new. field is a table-only column; the card layout stacks each event's changes inside old and new.
pageSizeOptionsarray[...DEFAULT_PAGE_SIZE_OPTIONS]Rows-per-page options offered by the pagination footer; the final "all" entry loads every history page at once.
defaultPageSizenumber|stringDEFAULT_PAGE_SIZEInitial rows-per-page (a number, or "all").
showTotalRecordNumbooleantrueWhen true, displays the total number of actions in the pagination bar.

Slots

NameScopedDescription
metayes
rows-per-pageyes
before-list
emptyempty Replaces the dedicated history empty-state body. Receives no slot props.
meta-stripyesmeta-strip Replaces the meta filter + layout-toggle strip above the grid. Receives { isTable, layoutOverride, setLayoutOverride } so consumer overrides can drive the layout state.
meta-filtersmeta-filters Renders the filter chip row inside the meta strip. Empty by default; bind from consumer state. Receives no slot props.
field(recorded_at)yes
field(actor)yes
field(kind)yes
field(model)yes
field(type)yes
`field(${side})`yes

Full slot reference

Source

client/lib/views/ViewHistoryList.vue

Documents matching: server v3.0.0a1.post1client v3.0.0-alpha.2