# List Dashboard Widget

<p class="callout info">The **List Widget** displays backend operational data in a clean, sortable table and list format. Its primary purpose is to provide administrators with a detailed, record-level drill-down—such as active permit inventories, raw violation logs, LPR read records, and dispatch calls—directly on the dashboard workspace. This article is intended for OPSCOM administrators.</p>

## Setup and Configuration

The List widget is built directly into the dashboard framework.

- **Admin Side:** Administrators must have system role permissions enabled to edit dashboards (dashboard\_edit\_any or ownership of the target dashboard).
- **Data Sources:** Supports tabular data rendering from **Violation Stats**, **Permit Stats (Beta)**, **LPR Stats**, **Active Permits (Beta)**, **Dispatch Stats (Beta)**, and **Incident Stats (Beta)**.

## Using this Feature

Administrators can use the following instructions to add and configure a List widget on any customizable dashboard workspace.

### Adding and Configuring the Widget

1. Open your target dashboard, toggle **Edit Mode** to **On**, and click **+ Add Widget**.
2. Select **List Widget** from the gallery.
3. Click the gear icon (**Settings**) in the widget header bar to open **List Settings**.
4. Enter a custom **Widget Name** and select your target **Data Source**.

### Display and Filter Options

#### Display Settings Tab

Display controls adapt based on your chosen **Data Source**:

- **Standard Stats (Violation, Permit, LPR, Dispatch, Incident):** Configure date ranges (**Time Period**), interval grouping (**Time Grouping**), data categorization (**Group By**), visible table fields (**Columns**), sort direction (**Sort Order**), and **Auto Refresh** rates.
- **Active Permits (Beta):** Select specific table fields under **Columns**, set the sort direction (**Sort Order)**, and configure **Auto Refresh**.

#### Filter Settings Tab

Filters adapt dynamically based on your selected **Data Source**:

- **Violation Stats:** Refine by **Payment Status** or toggle options to isolate **Payable Only** (excludes warnings/spoiled tickets), **Geo Coordinates Only**, or **Active Writer** tickets.
- **Permit Stats (Beta):** Toggle **Active** permits only, or filter by specific **Permit Type**, **Lots**, **Lot Group**, or **Lot Zone**.
- **LPR Stats:** Refine list entries by **Permit Type** or **Camera Type**.
- **Active Permits (Beta):** Filter live permit inventories by **Permit Type**, **Lots**, or **Lot Zone**.
- **Dispatch Stats (Beta):** Toggle **Parent Logs Only** to exclude sub-logs, or filter entries by **Log Status**.
- **Incident Stats (Beta):** Filter list entries by **Status** or **Category**.

Click **Save** to apply your configuration and render the list table.

## Available Controls and Interactive Features

### Table Features &amp; Drill-Downs

- **Clickable Record Links:** Category values and locations render as interactive link buttons (e.g., location tags ending with `>`) allowing staff to drill directly down into underlying records.
- **Sortable Column Headers:** Click any column header arrow to dynamically re-sort table rows in ascending or descending order.
- **Page Navigation:** Use the previous and next arrow buttons and page numbers at the bottom of the widget to flip through long lists of data.

### Widget Header Toolbar

- **Refresh:** Updates the table to fetch and display the latest backend data.
- **Download CSV:** Exports the formatted list layout.
- **Download Raw CSV:** Exports the raw underlying tabular data into a downloadable .csv file.
- **Settings:** Opens the configuration modal to modify data sources, visible columns, and filters.
- **Duplicate:** Clones the list widget tile with matching settings onto your active dashboard.
- **Delete:** Removes the list tile from the dashboard.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Combine with Visual Widgets:** Place a List widget adjacent to a **Graph Widget** or **Geo Location Widget** configured with the exact same data source and filter settings. This setup gives staff an instant visual overview alongside raw-record drill-downs on a single dashboard screen.</span>
- <span style="color: rgb(22, 145, 121);">**Column Selection:** Select only essential fields under **Columns** to ensure the table remains clean and readable without requiring excessive horizontal scrolling.</span>