DataView
DataView is a pattern used for rendering and controlling a set of data. It is deeply related to the Page pattern, acting as the view of the PageContent.
Import
import { DataView, DataViewControls, useDataViewState } from '@vtex/admin-ui'
Anatomy
DataView
|__ DataViewControls
| |__ Search
| |__ Toolbar
| | |__ Button
| |__ Pagination
| |__ (Other controls)
|
|__ (Data rendering section)
State
The useDataViewState handles the DataView behavior.
Controls
The DataViewControls arranges all the components that control or changes the displayed data. These components can be buttons, search forms, pagination, menus, and so on.
Rendering Data
The useDataViewState keeps track of ready, loading, empty, error, and not-found states. It also has default illustrations for empty, error, and not-found so that you only need to handle the ready and loading states.
With Skeleton
Example of a skeleton collection.
Types
DataView props
All props of JSX div element.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| state | DataViewState | DataView state | ✅ | - |
DataViewControls props
All props of JSX div element.
useDataViewState params
The params configure the initial state. The default values represent the ready state.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| loading | boolean | Whether is loading | 🚫 | false |
| error | Object | Whether is error | 🚫 | null |
| empty | Object | Whether is empty | 🚫 | null |
| notFound | Object | Whether is not-found | 🚫 | null |
useDataViewState return
| Name | Type | Description |
|---|---|---|
| status | ready, loading, error, not-found, or empty | Current view status |
| statusObject | { loading: boolean, empty: Object, notFound: Object, error: Object } | Detailed view status |
| setStatus | React.Dispatch<{type: status }> | Sets the view status |