Skip to content

DataTable v2 — admin portal usage

Every list page in the Arbitex admin portal — DLP rules, API keys, groups, providers, audit log, users — uses the DataTable v2 component. This guide covers how to navigate and operate those tables efficiently.

For the developer component reference (building admin pages with DataTableV2), see DataTable v2 component guide.


Click any column header to sort the table by that column. Click again to reverse the sort direction. A third click clears the sort.

Sort indicators:

  • — ascending (A → Z, oldest → newest, lowest → highest)
  • — descending (Z → A, newest → oldest, highest → lowest)
  • No indicator — unsorted

Only one column can be sorted at a time. Sorting is server-side for large datasets (audit log, API keys, users) — the sorted results are fetched from the server, not reordered client-side.


Column filters appear below each column header that supports filtering. Active filters are shown as removable filter pills above the table header row.

Type in the filter input below the column header. The table updates as you type (with a short debounce). The filter matches anywhere in the column value — it is not anchored.

Example: typing finance in the Name filter on the Groups page shows all groups whose name contains “finance”.

Some columns have select dropdowns instead of text inputs. Click the dropdown and choose one or more values. The filter pills above the table reflect your selections.

Examples of select-filter columns:

  • Action on DLP Rules (block / redact / log_only / prompt)
  • Status on API Keys (active / revoked)
  • Provider on the Model Catalog
  • Click the × on any filter pill to remove that filter.
  • Click Clear all filters (appears when any filter is active) to remove all filters at once.

Active filters persist while you navigate within the page. They are cleared when you navigate away.


The page size selector appears at the bottom-right of the table. Available sizes: 10, 25, 50, 100.

Navigation controls:

  • ‹ Prev / Next › — move one page at a time
  • Page indicator — shows current page and total count (e.g., “Page 2 of 14 — 340 total”)

Large datasets (audit log, usage records) are always paginated server-side. The table fetches each page on demand — the full dataset is never loaded into the browser.


Tables that support bulk operations show a checkbox column on the left. Select rows by clicking the checkbox. Select all rows on the current page by clicking the header checkbox.

When one or more rows are selected, a bulk action bar appears above the table with available actions. The bar shows the count of selected rows.

PageActions
DLP RulesEnable, Disable, Delete
API KeysRevoke
GroupsDelete
ProvidersDisable (kill switch), Enable

Destructive bulk actions (Delete, Revoke) show a confirmation dialog before executing. The dialog lists the number of items affected. Confirm to proceed or cancel to return to the selection.

Bulk selection applies to the current page only. Selecting all via the header checkbox selects only the rows visible on the current page, not all rows matching your filters. To apply an action to all matching rows, either increase the page size or apply the operation in multiple passes.


Every row has a per-row action menu accessible via the icon in the last column. Click the icon to open the menu for that row.

Row actions vary by page:

PageRow actions
DLP RulesEdit, Enable/Disable, Delete
API KeysCopy key, Revoke
GroupsEdit, Delete
ProvidersEdit, Disable, Test connection
UsersEdit, Reset MFA, Deactivate

Pending actions (e.g., “Revoking…”) show a spinner in place of the action icon. The row is non-interactive until the action completes.


When a table has no rows (no data or all rows filtered out), an empty state message appears with an icon. If filters are active, a Clear filters link appears in the empty state.

When data is being fetched, the table shows shimmer skeleton rows in place of real data. Column headers remain visible during loading.

If a data fetch fails, an error banner appears above the table and the last successfully loaded data remains visible (dimmed). A Retry button retries the fetch. If the problem persists, check your network connection and browser console for details.


Some tables pin one or more columns on the left during horizontal scroll. The pinned column (usually the identifier — Name, ID, Key prefix) stays visible as you scroll right through wider tables.


KeyAction
TabMove focus between interactive elements (checkboxes, filter inputs, buttons)
SpaceToggle checkbox at focus
EnterActivate focused button or row action
EscapeClose open row action menus