UI for Live Data

Last modified by Thiago Krieck on 2025/06/16 13:19

 Cristal
 Feature
 Idea
 
 
No

Description

Cristal LiveData Proposal

This Proposal is being actively worked on

Example LiveData table on XS with its option menu opened.

Screenshot 2025-06-03 at 10.06.26.png

LiveData features

These are features supported by LiveData on XS and should be the minimum supported by on Cristal.

Standard Toolbar

The toolbar is a grouping mechanism to gather most actions that are done globally in LiveData, meaning things that are not done "per line".

Some of the actions described here are:

  • New, for tables that allow adding new items to itself
  • Table/Grid views, and possibly other types of views in the future
  • Search
  • Advanced Filtering
  • Advanced Sorting
  • Properties

Example toolbar featuring a "New" button.

Toolbar 1.png

Example toolbar without a "New" button.

Toolbar 2.png

Standard Actions

Frequently livedata items will have certain actions that can be performed on them (delete, Rights, rename, etc).

For this purpose, this proposal adds a standard "More" button at the beginning of each line. This button should be only visible on mouse over, or focus when the line is highlighted by keyboard command.

actions 1.png

The buttons should show all actions that can be performed on the item.

actions 2.png

Reordering Columns

By Drag and Drop

  • Initial state of the table

reordering 1.png

  • The user drag the mouse over the column that will be moved and hold click.

reordering 2.png

  • The user starts moving the column to its desired location,
  • The movement of the column should be limited to the X axis.
  • When reaching a drop point, the blue indicator should appear, telling the user that this is the position that the dragged column will take.

reordering 3.png

  • The user let go of the column and reorder is complete.

reordering 4.png

By menu

AS an accessibility option, and for users on mobile the reordering can be initiated by the column menu. Inside the "Move" option

menu move 1.png

When opening the move menu there are two choices to where to move the column. 

For subsequent moves, the user will need to go through the process again.
menu move 2.png

By using the LiveData properties.

Each column can also be moved using the LiveData properties, by drag and drop.

properties panel.png

Basic Filtering/Sorting columns

The proposal is to have the filters on each column hidden by default. This is for making the table take as little space as possible and not to overwhelm the users with options and inputs right away. 

Enabling the filter

To enable the filter, the user should go to the column menu, and chose the "Filter" option.

Initial State.

quick filter 1.png

User opens the column menu.
quick filter 2.png

After choosing "Filter" the menu closes and the filter input is shown.
quick filter 3.png

Using the quick filter

Usage of the quick filter is very straight forward, as the user types something in the filter box (3 characters minimum), the column contents should be updated to match the input term.

Initial state

filtering 1.png

Input focus
filtering 2.png

Input search term and filtered table
filtering 3.png

Pagination

Depending on each LiveData configuration we can provide UIs for traditional pagination OR infinite scrolling (via a load more button). When to use each is something that's case by case and decided by the developer.

Traditional Pagination

Traditional pagination.png

Example of the middle button showing a list of pages that would be too large to show in the horizontal.
Traditional pagination (page menu open).png

Infinite Scrolling

Example of infinite scrolling initiated by clicking the "load more" button

Infinite Scrolling.png

Layouts

Table (default)

Table View.png

Card (grid) View

 Grid View.png

Panels

Properties

The properties panel allows enabling and disabling columns, and also reordering them.

Because this panel can have many different items, a quick search is provided.

properties panel opened.png

Advanced sorting and filtering

Sorting and filtering enable the user to create advanced views on each table. They are closed by default but can be shown using the corresponding buttons on the toolbar.

Filter and sorting panels opened
Advanced panels opened.png
Filter and sorting panels closed
advanced panels closed.png

Batch editing

Some tables might have the possibility of bath editing different lines on the table. If live data is configured as such, a new column will be present at the start of the table, enabling multi selection.

Batch Editing - initial state.png

When selecting any item, the toolbar will be changed to a "batch" only toolbar showing common actions that can be done on the selected items

At the top of the selection column, a partial checkbox will appear. This checkbox should enable the selection of all items on the first click, deselecting everything on the second click, and return to the partial state on the third click.

Batch Editing - selected.png

Batch Editing - confirm.png

Batch Editing - end.png

Inline editing/adding

Inline Editing allows users to quickly edit data directly within a table cell, without needing to open a separate form, modal, or page.

  • User hovers over a cell and clicks to activate editing.
  • To include a new item the button "New" on the bottommost line should be used
  • The cell switches to an editable state.
  • User updates the content and exit the cell.
  • The cell updates in place and reflects the new value.

Add inline.png
Add inline 2.png

Grouping

Grouping allows users to visually and functionally organize rows by shared attributes or values in one or more columns.

Grouping is initiated by opening the column menu and choosing "Group" on the presented options.

Group option.png

The table re-renders with the grouped sections.

Grouping.png


 


Get Connected