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.
Sorting
Section titled “Sorting”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.
Filtering
Section titled “Filtering”Column filters appear below each column header that supports filtering. Active filters are shown as removable filter pills above the table header row.
Text filters
Section titled “Text filters”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”.
Select filters
Section titled “Select filters”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
Clearing filters
Section titled “Clearing filters”- 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.
Pagination
Section titled “Pagination”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.
Bulk operations
Section titled “Bulk operations”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.
Common bulk actions
Section titled “Common bulk actions”| Page | Actions |
|---|---|
| DLP Rules | Enable, Disable, Delete |
| API Keys | Revoke |
| Groups | Delete |
| Providers | Disable (kill switch), Enable |
Bulk action confirmation
Section titled “Bulk action confirmation”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.
Cross-page selection
Section titled “Cross-page 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.
Row actions
Section titled “Row actions”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:
| Page | Row actions |
|---|---|
| DLP Rules | Edit, Enable/Disable, Delete |
| API Keys | Copy key, Revoke |
| Groups | Edit, Delete |
| Providers | Edit, Disable, Test connection |
| Users | Edit, 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.
Empty, loading, and error states
Section titled “Empty, loading, and error states”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.
Loading
Section titled “Loading”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.
Sticky columns
Section titled “Sticky columns”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.
Keyboard navigation
Section titled “Keyboard navigation”| Key | Action |
|---|---|
Tab | Move focus between interactive elements (checkboxes, filter inputs, buttons) |
Space | Toggle checkbox at focus |
Enter | Activate focused button or row action |
Escape | Close open row action menus |
See also
Section titled “See also”- DataTable v2 component guide — developer reference: column configuration, all 10 states, migration from v1
- DLP rules — managing DLP rules using the rules table
- API keys — managing keys using the keys table
- Groups and RBAC — managing groups using the groups table