---
alias: "fc.list.wrapper.bppmetrics"
aliases:
  - fc.list.wrapper.bppmetrics
category: wrapper
module: Core
---
# fc.list.wrapper.bppmetrics

List wrapper that transforms Metrics API batch-processing data into a format readable by the `fc.list` component, used for BPP (Batch Processing Pipeline) metrics dashboards.

## When to Use
- Displaying batch-processing pipeline metrics in a tabular list
- BPP Metrics Dashboard pages
- Any page that needs to render Metrics API batch data in an `fc.list` table

## Key Props
| Prop | Type | Required | What it controls |
|------|------|----------|------------------|
| `rowLimit` | number | No | Maximum number of rows displayed in the table (default: `100`) |
| `hideEmptyRecords` | boolean | No | When `true`, hides rows where all cells except the date column are empty |

## Data Binding
Transforms Metrics API batch-processing response data into the row/column format expected by `fc.list`. The page-level `data.query` should point to a Metrics API BPP endpoint.

## Descendants
Yes -- accepts `fc.list` (or other list-compatible components) as children. The wrapper feeds transformed data into its descendants.

## Composition Patterns
- `fc.page` > `fc.list.wrapper.bppmetrics` > `fc.list` for a BPP metrics table
- Combine with gauge or bar chart wrappers for a full BPP dashboard
- Use `hideEmptyRecords: true` with `rowLimit` to focus on active processing periods

## Gotchas
- Only transforms Metrics API BPP data -- will not work with standard GraphQL entity queries
- Must wrap an `fc.list` descendant to be useful -- the wrapper itself renders nothing visible
- `rowLimit` defaults to 100 -- set explicitly for pages with large datasets
- `hideEmptyRecords` only affects rows where non-date columns are all empty

## Manifest Example
```json
{
  "component": "fc.list.wrapper.bppmetrics",
  "props": {
    "rowLimit": 50,
    "hideEmptyRecords": true
  },
  "descendants": [
    {
      "component": "fc.list",
      "props": {
        "dataSource": "bppMetrics",
        "attributes": [
          { "label": "Date", "value": "{{node.date}}" },
          { "label": "Processed", "value": "{{node.processed}}" },
          { "label": "Failed", "value": "{{node.failed}}" },
          { "label": "Pending", "value": "{{node.pending}}" }
        ]
      }
    }
  ]
}
```

## AI Parse Notes
- **Primary intent:** Declarative Mystique component definition for manifests.
- **Selection signals:** Match by `alias`, category, and required `Key Props`.
- **Assembly hints:** Combine with compatible parent/child components listed in `Composition Patterns`.
- **Safety checks:** Validate required props and data bindings before manifest generation.
