The DataTable efficiently presents large sets of organised data in rows and columns. Its structured format allows for intuitive browsing and analysis of complex information. With built-in paging, sorting, and filtering features, the DataTable is a powerful tool.
The top bar section allows users to edit, filter, set up or do actions.
Each element of the top bar is optional, as is the top bar itself.
Allow users to interact with selected items.
|Edit selection||Allow to edit data on selected items||Only available when rows are selected|
|Download||Download table or selected rows|
|Number of selected rows||Display the number of selected rows||Please, read the related documentation for more information|
|Toggle||Quick filter (max. 1)|
|Search input||Filter rows with keywords (Please, be explicit for users)|
|Filter button||Open filters layer|
Active filters are displayed between the top bar and the data content to allow users to remove them easier from Removable tags, along with a reset button to remove them all at once. Please allow for an empty state in case no results match the filters.
An empty state must be defined if there are no results.
Allow users to set up the display of the datatable layout.
|Settings||Access to table edition like edit columns (reorder, show/hide) or change display density (size of the cells)|
Actions relate to the data in the table to validate an item or adding a line.
|Validation action||Primary button (solid variation)|
|Rejected/Negative action||Danger button (bordered variation)|
Action buttons can be customised, ensuring compliance with good UX practices and the usages defined in the design system. Using a bottom is recommended for more global actions related to a process or a business gesture.
The Datatable allows displaying of several types of data. Only one type of data must be displayed per column to ensure the optimal readability of all the data.
|Text||Display the name, short description of an item||Fixed or fluid|
|Multi-line text||Use to be more explicit and display complementary information of an item||Fixed or fluid|
|Number||Display numeric value. The content is always right justified for better reading||Fixed or fluid|
|Badge||Display the item status||Adapted to the content|
|Input||Allow to edit the content of an item||Fixed or fluid|
|Checkbox||Allow to select an item. Only one column per table, always in first position (on the left)||Fixed|
|Options||Display multiple actions. Only one column per table, always in last position (on the right)||Fixed|
|Icon||Display one specific action||Fixed|
|Link||Allow to access to the dedicated page of an item||Fixed or fluid|
|KPI||Display a progression indicator||Adapted to the content|
|Expand||Display sub-items or details about an item (Only one column per table, always in first position or after the checkbox column)||Fixed|
In a table, rows correspond to items, while columns list data types for each object, such as status, description, or numeric values. Selecting a row with a checkbox changes its background colour for improved readability.
Sub-rows provide more details of an item and can't be selected or modified as an object.
The column header includes:
- A global checkbox for selecting all rows of the current page,
- Capitalized column labels to differentiate them from the data,
- A sorting feature for user assistance.
Depending on the context, the column header can be fixed as well.
Once users have selected all the rows on a page, a dedicated banner for mass selection will appear, allowing them to select all rows in the table, including all pages.
An empty state should be defined when no results are found, with a user-friendly message that can be customized to the context, ensuring clarity and avoiding technical language.
As the number of rows is variable, the DataTable footer is a mandatory element that allows users to manage the navigation and pagination of the table.
|Row number selector||Allow users to choose the number of row to display|
|Rows indicator||Indicate the number of rows displayed on the page compared to the total number of rows.|
|Pagination||Allow users to navigate to the other pages of the datatable|
Cells are available in 3 sizes.
|Medium (default)||3mu (48px)|
The data table's height can be defined in two ways to prevent scroll overlap: using the viewport size or specifying the number of displayed rows.